@annalib/anna-core 31.4.35 → 31.4.36
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2022/lib/anna-core-shared-lib/components/anna-licensing-table/anna-licensing-table.component.mjs +42 -0
- package/esm2022/lib/anna-core-shared-lib/models/anna-licensing-table.model.mjs +26 -0
- package/esm2022/lib/anna-core-shared-lib/services/anna-sort.service.mjs +2 -2
- package/esm2022/lib/anna-core-shared-lib/services/update-station-id.service.mjs +16 -0
- package/esm2022/lib/anna-core.module.mjs +10 -4
- package/esm2022/lib/anna-dropdown-lib/components/anna-single-select/anna-single-select.component.mjs +2 -2
- package/esm2022/lib/anna-generic-table-lib/components/anna-column-filters/anna-column-time-filter/anna-column-time-filter.component.mjs +1 -1
- package/esm2022/lib/anna-generic-table-lib/components/anna-non-editable-generic-table/anna-non-editable-generic-table.component.mjs +3 -3
- package/esm2022/public-api.mjs +4 -1
- package/fesm2022/annalib-anna-core.mjs +162 -84
- package/fesm2022/annalib-anna-core.mjs.map +1 -1
- package/lib/anna-core-shared-lib/components/anna-licensing-table/anna-licensing-table.component.d.ts +14 -0
- package/lib/anna-core-shared-lib/models/anna-licensing-table.model.d.ts +18 -0
- package/lib/anna-core-shared-lib/services/update-station-id.service.d.ts +6 -0
- package/lib/anna-core.module.d.ts +2 -1
- package/package.json +1 -1
- package/public-api.d.ts +3 -0
- package/src/lib/anna-common-scss/_gt-table.scss +0 -1
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import { CommonModule } from "@angular/common";
|
|
2
|
+
import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output } from "@angular/core";
|
|
3
|
+
import { FormsModule } from "@angular/forms";
|
|
4
|
+
import { MatTooltipModule } from "@angular/material/tooltip";
|
|
5
|
+
import { NgxSkeletonLoaderModule } from "ngx-skeleton-loader";
|
|
6
|
+
import { DigitOnlyDirective } from "../../directives/digits-only/digits-only.directive";
|
|
7
|
+
import * as i0 from "@angular/core";
|
|
8
|
+
import * as i1 from "@angular/common";
|
|
9
|
+
import * as i2 from "@angular/forms";
|
|
10
|
+
import * as i3 from "ngx-skeleton-loader";
|
|
11
|
+
import * as i4 from "@angular/material/tooltip";
|
|
12
|
+
export class AnnaLicensingTableComponent {
|
|
13
|
+
constructor() {
|
|
14
|
+
this.isEditMode = false;
|
|
15
|
+
this.loading = true;
|
|
16
|
+
this.defaultListing = false;
|
|
17
|
+
this.editingCurrentPlan = false;
|
|
18
|
+
this.specificationChanged = new EventEmitter();
|
|
19
|
+
}
|
|
20
|
+
onValueChange(updatedValue, featureDetails) {
|
|
21
|
+
this.specificationChanged.emit({ updatedValue, featureDetails });
|
|
22
|
+
}
|
|
23
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: AnnaLicensingTableComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
24
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: AnnaLicensingTableComponent, isStandalone: true, selector: "anna-core-licensing-table", inputs: { plans: "plans", isEditMode: "isEditMode", loading: "loading", defaultListing: "defaultListing", editingCurrentPlan: "editingCurrentPlan" }, outputs: { specificationChanged: "specificationChanged" }, ngImport: i0, template: "<table class=\"header-section\">\r\n <thead>\r\n <tr>\r\n <th>FEATURE</th>\r\n <ng-container *ngIf=\"loading\">\r\n <ng-container *ngIf=\"defaultListing\">\r\n <div class=\"skeleton-loader\">\r\n <ngx-skeleton-loader\r\n count=\"1\"\r\n [theme]=\"{ height: '100%', borderRadius: '8px', marginBottom: '0px' }\"\r\n >\r\n </ngx-skeleton-loader>\r\n <ngx-skeleton-loader\r\n count=\"1\"\r\n [theme]=\"{ height: '100%', borderRadius: '8px', marginBottom: '0px' }\"\r\n >\r\n </ngx-skeleton-loader>\r\n <ngx-skeleton-loader\r\n count=\"1\"\r\n [theme]=\"{ height: '100%', borderRadius: '8px', marginBottom: '0px' }\"\r\n >\r\n </ngx-skeleton-loader>\r\n </div>\r\n </ng-container>\r\n <ng-container *ngIf=\"!defaultListing\">\r\n <div class=\"skeleton-loader\">\r\n <ngx-skeleton-loader\r\n count=\"1\"\r\n [theme]=\"{ height: '100%', borderRadius: '8px', marginBottom: '0px' }\"\r\n >\r\n </ngx-skeleton-loader>\r\n </div>\r\n </ng-container>\r\n </ng-container>\r\n\r\n <ng-container *ngIf=\"!loading\">\r\n <th *ngFor=\"let plan of plans\">\r\n {{ plan?.PlanName }}\r\n <p *ngIf=\"plans.length === 1 && (!isEditMode || (isEditMode && editingCurrentPlan))\">\r\n {{ !plan?.PlanExpiryDays || plan?.PlanExpiryDays >= 0 ? \"Current plan\" : \"Expired Plan\" }}\r\n </p>\r\n </th>\r\n </ng-container>\r\n </tr>\r\n </thead>\r\n</table>\r\n<div class=\"scrollable-tbody\">\r\n <ng-container *ngIf=\"loading\">\r\n <ngx-skeleton-loader\r\n count=\"1\"\r\n [theme]=\"{ marginTop: '10px', marginBottom: '0', height: defaultListing ? '490px' : '430px' }\"\r\n >\r\n </ngx-skeleton-loader>\r\n </ng-container>\r\n <ng-container *ngIf=\"!loading\">\r\n <table>\r\n <tbody>\r\n <tr *ngFor=\"let feature of plans[0]?.FeatureDetails; let featureIndex = index\">\r\n <td>\r\n <strong>{{ feature.FeatureName }}</strong> {{ feature.FeatureDescription }}\r\n </td>\r\n <td *ngFor=\"let plan of plans; let planIndex = index\">\r\n <ng-container *ngIf=\"plan.FeatureDetails[featureIndex] as featureDetails\">\r\n <ng-container *ngIf=\"!featureDetails.Specification.length\">\r\n <i\r\n *ngIf=\"featureDetails.IsEnabled\"\r\n class=\"mdi mdi-checkbox-marked-circle\"\r\n ></i>\r\n <i\r\n *ngIf=\"!featureDetails.IsEnabled\"\r\n class=\"mdi mdi-close\"\r\n ></i>\r\n </ng-container>\r\n <ng-container *ngIf=\"featureDetails.Specification.length\">\r\n <ng-container *ngFor=\"let spec of featureDetails.Specification\">\r\n <ng-container *ngIf=\"spec.JsonType === 'PAY_PER_USE'\">\r\n <div *ngIf=\"isEditMode\">\r\n <input\r\n annaCoreDigitOnly\r\n type=\"number\"\r\n [ngModel]=\"spec.Json.TotalCount\"\r\n (ngModelChange)=\"onValueChange($event, featureDetails)\"\r\n [attr.min]=\"spec.JsonCloned.TotalCount\"\r\n [attr.max]=\"spec.Json.MaxValue || null\"\r\n [ngClass]=\"{\r\n 'red-border':\r\n spec.Json.TotalCount < spec.JsonCloned.TotalCount ||\r\n (spec.Json.MaxValue &&\r\n spec.Json.TotalCount > spec.Json.MaxValue)\r\n }\"\r\n />\r\n Orders\r\n <i\r\n class=\"mdi mdi-alert-octagon\"\r\n *ngIf=\"\r\n spec.Json.TotalCount < spec.JsonCloned.TotalCount ||\r\n (spec.Json.MaxValue && spec.Json.TotalCount > spec.Json.MaxValue)\r\n \"\r\n matTooltipPosition=\"above\"\r\n matTooltip=\"The value must be at least the current plan's limit and no more than the next plan's limit.\"\r\n ></i>\r\n </div>\r\n <div *ngIf=\"!isEditMode\">\r\n <p>\r\n {{ spec.Json.TotalCount }} Orders\r\n <span *ngIf=\"spec.Json.ConsumedCount\"\r\n >|\r\n {{ spec.Json.TotalCount - spec.Json.ConsumedCount }}\r\n Remaining</span\r\n >\r\n </p>\r\n <span *ngIf=\"spec.IsCustomized\">(Customized)</span>\r\n </div>\r\n </ng-container>\r\n </ng-container>\r\n </ng-container>\r\n </ng-container>\r\n </td>\r\n </tr>\r\n </tbody>\r\n </table>\r\n </ng-container>\r\n</div>\r\n", styles: ["table.header-section{border-collapse:separate;border-spacing:0 8px;width:100%;border-top:1px solid #9b1cd5;border-bottom:1px solid #9b1cd5}.scrollable-tbody table{border-collapse:collapse;width:100%}tr{height:40px}tr .skeleton-loader{display:flex;justify-content:flex-end}tr ::ng-deep ngx-skeleton-loader{border:1px solid #304598;border-radius:8px;width:153px;height:52px;display:inline-block;margin-right:8px}tr ::ng-deep ngx-skeleton-loader:nth-of-type(1) div{background-color:#f5f7ff}tr ::ng-deep ngx-skeleton-loader:nth-of-type(2) div{background-color:#dfe6ff}tr ::ng-deep ngx-skeleton-loader:nth-of-type(3) div{background-color:#c6d2ff}tr ::ng-deep ngx-skeleton-loader:last-of-type{margin-right:0}th{padding:8px 8px 8px 0;text-align:left;font-family:Roboto;font-size:16px;font-weight:700;font-stretch:normal;font-style:normal;line-height:normal;letter-spacing:normal;position:sticky;top:0;background-color:#fff;z-index:1}th:not(:first-child){border:1px solid #304598;border-radius:8px;padding-left:8px;width:137px;height:35px}th:not(:first-child) p{font-family:Roboto;font-size:12px;font-weight:400;font-stretch:normal;font-style:normal;line-height:normal;letter-spacing:normal;margin-bottom:0}th:nth-of-type(2){background-color:#f5f7ff}th:nth-of-type(3){background-color:#dfe6ff}th:nth-of-type(4){background-color:#c6d2ff}td{border-bottom:1px solid #d3d3d3;padding:8px 8px 8px 0;font-family:Roboto;font-size:12px;font-weight:400;font-stretch:normal;font-style:normal;line-height:normal;letter-spacing:normal}td p{margin-bottom:0}td input{width:30px}td .mdi-checkbox-marked-circle{font-size:14px;color:#304598;position:relative}td .mdi-close{color:#bdbdbd}td .mdi-alert-octagon{color:#f44336!important;cursor:pointer}td .red-border{border:1px solid #f44336;outline:#f44336}td:not(:first-child){width:142px}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;appearance:none;margin:0}input[type=number]{-moz-appearance:textfield}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.NumberValueAccessor, selector: "input[type=number][formControlName],input[type=number][formControl],input[type=number][ngModel]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: NgxSkeletonLoaderModule }, { kind: "component", type: i3.NgxSkeletonLoaderComponent, selector: "ngx-skeleton-loader", inputs: ["count", "loadingText", "appearance", "animation", "ariaLabel", "theme"] }, { kind: "directive", type: DigitOnlyDirective, selector: "[annaCoreDigitOnly]", inputs: ["decimal", "decimalSeparator", "allowNegatives", "allowPaste", "negativeSign", "min", "max", "pattern"] }, { kind: "ngmodule", type: MatTooltipModule }, { kind: "directive", type: i4.MatTooltip, selector: "[matTooltip]", exportAs: ["matTooltip"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
25
|
+
}
|
|
26
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: AnnaLicensingTableComponent, decorators: [{
|
|
27
|
+
type: Component,
|
|
28
|
+
args: [{ selector: "anna-core-licensing-table", standalone: true, imports: [CommonModule, FormsModule, NgxSkeletonLoaderModule, DigitOnlyDirective, MatTooltipModule], changeDetection: ChangeDetectionStrategy.OnPush, template: "<table class=\"header-section\">\r\n <thead>\r\n <tr>\r\n <th>FEATURE</th>\r\n <ng-container *ngIf=\"loading\">\r\n <ng-container *ngIf=\"defaultListing\">\r\n <div class=\"skeleton-loader\">\r\n <ngx-skeleton-loader\r\n count=\"1\"\r\n [theme]=\"{ height: '100%', borderRadius: '8px', marginBottom: '0px' }\"\r\n >\r\n </ngx-skeleton-loader>\r\n <ngx-skeleton-loader\r\n count=\"1\"\r\n [theme]=\"{ height: '100%', borderRadius: '8px', marginBottom: '0px' }\"\r\n >\r\n </ngx-skeleton-loader>\r\n <ngx-skeleton-loader\r\n count=\"1\"\r\n [theme]=\"{ height: '100%', borderRadius: '8px', marginBottom: '0px' }\"\r\n >\r\n </ngx-skeleton-loader>\r\n </div>\r\n </ng-container>\r\n <ng-container *ngIf=\"!defaultListing\">\r\n <div class=\"skeleton-loader\">\r\n <ngx-skeleton-loader\r\n count=\"1\"\r\n [theme]=\"{ height: '100%', borderRadius: '8px', marginBottom: '0px' }\"\r\n >\r\n </ngx-skeleton-loader>\r\n </div>\r\n </ng-container>\r\n </ng-container>\r\n\r\n <ng-container *ngIf=\"!loading\">\r\n <th *ngFor=\"let plan of plans\">\r\n {{ plan?.PlanName }}\r\n <p *ngIf=\"plans.length === 1 && (!isEditMode || (isEditMode && editingCurrentPlan))\">\r\n {{ !plan?.PlanExpiryDays || plan?.PlanExpiryDays >= 0 ? \"Current plan\" : \"Expired Plan\" }}\r\n </p>\r\n </th>\r\n </ng-container>\r\n </tr>\r\n </thead>\r\n</table>\r\n<div class=\"scrollable-tbody\">\r\n <ng-container *ngIf=\"loading\">\r\n <ngx-skeleton-loader\r\n count=\"1\"\r\n [theme]=\"{ marginTop: '10px', marginBottom: '0', height: defaultListing ? '490px' : '430px' }\"\r\n >\r\n </ngx-skeleton-loader>\r\n </ng-container>\r\n <ng-container *ngIf=\"!loading\">\r\n <table>\r\n <tbody>\r\n <tr *ngFor=\"let feature of plans[0]?.FeatureDetails; let featureIndex = index\">\r\n <td>\r\n <strong>{{ feature.FeatureName }}</strong> {{ feature.FeatureDescription }}\r\n </td>\r\n <td *ngFor=\"let plan of plans; let planIndex = index\">\r\n <ng-container *ngIf=\"plan.FeatureDetails[featureIndex] as featureDetails\">\r\n <ng-container *ngIf=\"!featureDetails.Specification.length\">\r\n <i\r\n *ngIf=\"featureDetails.IsEnabled\"\r\n class=\"mdi mdi-checkbox-marked-circle\"\r\n ></i>\r\n <i\r\n *ngIf=\"!featureDetails.IsEnabled\"\r\n class=\"mdi mdi-close\"\r\n ></i>\r\n </ng-container>\r\n <ng-container *ngIf=\"featureDetails.Specification.length\">\r\n <ng-container *ngFor=\"let spec of featureDetails.Specification\">\r\n <ng-container *ngIf=\"spec.JsonType === 'PAY_PER_USE'\">\r\n <div *ngIf=\"isEditMode\">\r\n <input\r\n annaCoreDigitOnly\r\n type=\"number\"\r\n [ngModel]=\"spec.Json.TotalCount\"\r\n (ngModelChange)=\"onValueChange($event, featureDetails)\"\r\n [attr.min]=\"spec.JsonCloned.TotalCount\"\r\n [attr.max]=\"spec.Json.MaxValue || null\"\r\n [ngClass]=\"{\r\n 'red-border':\r\n spec.Json.TotalCount < spec.JsonCloned.TotalCount ||\r\n (spec.Json.MaxValue &&\r\n spec.Json.TotalCount > spec.Json.MaxValue)\r\n }\"\r\n />\r\n Orders\r\n <i\r\n class=\"mdi mdi-alert-octagon\"\r\n *ngIf=\"\r\n spec.Json.TotalCount < spec.JsonCloned.TotalCount ||\r\n (spec.Json.MaxValue && spec.Json.TotalCount > spec.Json.MaxValue)\r\n \"\r\n matTooltipPosition=\"above\"\r\n matTooltip=\"The value must be at least the current plan's limit and no more than the next plan's limit.\"\r\n ></i>\r\n </div>\r\n <div *ngIf=\"!isEditMode\">\r\n <p>\r\n {{ spec.Json.TotalCount }} Orders\r\n <span *ngIf=\"spec.Json.ConsumedCount\"\r\n >|\r\n {{ spec.Json.TotalCount - spec.Json.ConsumedCount }}\r\n Remaining</span\r\n >\r\n </p>\r\n <span *ngIf=\"spec.IsCustomized\">(Customized)</span>\r\n </div>\r\n </ng-container>\r\n </ng-container>\r\n </ng-container>\r\n </ng-container>\r\n </td>\r\n </tr>\r\n </tbody>\r\n </table>\r\n </ng-container>\r\n</div>\r\n", styles: ["table.header-section{border-collapse:separate;border-spacing:0 8px;width:100%;border-top:1px solid #9b1cd5;border-bottom:1px solid #9b1cd5}.scrollable-tbody table{border-collapse:collapse;width:100%}tr{height:40px}tr .skeleton-loader{display:flex;justify-content:flex-end}tr ::ng-deep ngx-skeleton-loader{border:1px solid #304598;border-radius:8px;width:153px;height:52px;display:inline-block;margin-right:8px}tr ::ng-deep ngx-skeleton-loader:nth-of-type(1) div{background-color:#f5f7ff}tr ::ng-deep ngx-skeleton-loader:nth-of-type(2) div{background-color:#dfe6ff}tr ::ng-deep ngx-skeleton-loader:nth-of-type(3) div{background-color:#c6d2ff}tr ::ng-deep ngx-skeleton-loader:last-of-type{margin-right:0}th{padding:8px 8px 8px 0;text-align:left;font-family:Roboto;font-size:16px;font-weight:700;font-stretch:normal;font-style:normal;line-height:normal;letter-spacing:normal;position:sticky;top:0;background-color:#fff;z-index:1}th:not(:first-child){border:1px solid #304598;border-radius:8px;padding-left:8px;width:137px;height:35px}th:not(:first-child) p{font-family:Roboto;font-size:12px;font-weight:400;font-stretch:normal;font-style:normal;line-height:normal;letter-spacing:normal;margin-bottom:0}th:nth-of-type(2){background-color:#f5f7ff}th:nth-of-type(3){background-color:#dfe6ff}th:nth-of-type(4){background-color:#c6d2ff}td{border-bottom:1px solid #d3d3d3;padding:8px 8px 8px 0;font-family:Roboto;font-size:12px;font-weight:400;font-stretch:normal;font-style:normal;line-height:normal;letter-spacing:normal}td p{margin-bottom:0}td input{width:30px}td .mdi-checkbox-marked-circle{font-size:14px;color:#304598;position:relative}td .mdi-close{color:#bdbdbd}td .mdi-alert-octagon{color:#f44336!important;cursor:pointer}td .red-border{border:1px solid #f44336;outline:#f44336}td:not(:first-child){width:142px}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;appearance:none;margin:0}input[type=number]{-moz-appearance:textfield}\n"] }]
|
|
29
|
+
}], propDecorators: { plans: [{
|
|
30
|
+
type: Input
|
|
31
|
+
}], isEditMode: [{
|
|
32
|
+
type: Input
|
|
33
|
+
}], loading: [{
|
|
34
|
+
type: Input
|
|
35
|
+
}], defaultListing: [{
|
|
36
|
+
type: Input
|
|
37
|
+
}], editingCurrentPlan: [{
|
|
38
|
+
type: Input
|
|
39
|
+
}], specificationChanged: [{
|
|
40
|
+
type: Output
|
|
41
|
+
}] } });
|
|
42
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5uYS1saWNlbnNpbmctdGFibGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5uYS1jb3JlL3NyYy9saWIvYW5uYS1jb3JlLXNoYXJlZC1saWIvY29tcG9uZW50cy9hbm5hLWxpY2Vuc2luZy10YWJsZS9hbm5hLWxpY2Vuc2luZy10YWJsZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbm5hLWNvcmUvc3JjL2xpYi9hbm5hLWNvcmUtc2hhcmVkLWxpYi9jb21wb25lbnRzL2FubmEtbGljZW5zaW5nLXRhYmxlL2FubmEtbGljZW5zaW5nLXRhYmxlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2hHLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM3QyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUM3RCxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUU5RCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxvREFBb0QsQ0FBQzs7Ozs7O0FBV3hGLE1BQU0sT0FBTywyQkFBMkI7SUFSeEM7UUFVYSxlQUFVLEdBQVksS0FBSyxDQUFDO1FBQzVCLFlBQU8sR0FBWSxJQUFJLENBQUM7UUFDeEIsbUJBQWMsR0FBWSxLQUFLLENBQUM7UUFDaEMsdUJBQWtCLEdBQVksS0FBSyxDQUFDO1FBQ25DLHlCQUFvQixHQUFHLElBQUksWUFBWSxFQUFPLENBQUM7S0FLNUQ7SUFIRyxhQUFhLENBQUMsWUFBaUIsRUFBRSxjQUE4QjtRQUMzRCxJQUFJLENBQUMsb0JBQW9CLENBQUMsSUFBSSxDQUFDLEVBQUUsWUFBWSxFQUFFLGNBQWMsRUFBRSxDQUFDLENBQUM7SUFDckUsQ0FBQzsrR0FWUSwyQkFBMkI7bUdBQTNCLDJCQUEyQixzU0NqQnhDLGk0TkEySEEsd2dFRC9HYyxZQUFZLDZWQUFFLFdBQVcsZ3hCQUFFLHVCQUF1QiwrTUFBRSxrQkFBa0IsaUxBQUUsZ0JBQWdCOzs0RkFLekYsMkJBQTJCO2tCQVJ2QyxTQUFTOytCQUNJLDJCQUEyQixjQUN6QixJQUFJLFdBQ1AsQ0FBQyxZQUFZLEVBQUUsV0FBVyxFQUFFLHVCQUF1QixFQUFFLGtCQUFrQixFQUFFLGdCQUFnQixDQUFDLG1CQUdsRix1QkFBdUIsQ0FBQyxNQUFNOzhCQUd0QyxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSztnQkFDRyxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csY0FBYztzQkFBdEIsS0FBSztnQkFDRyxrQkFBa0I7c0JBQTFCLEtBQUs7Z0JBQ0ksb0JBQW9CO3NCQUE3QixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSBcIkBhbmd1bGFyL2NvbW1vblwiO1xyXG5pbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPdXRwdXQgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQgeyBGb3Jtc01vZHVsZSB9IGZyb20gXCJAYW5ndWxhci9mb3Jtc1wiO1xyXG5pbXBvcnQgeyBNYXRUb29sdGlwTW9kdWxlIH0gZnJvbSBcIkBhbmd1bGFyL21hdGVyaWFsL3Rvb2x0aXBcIjtcclxuaW1wb3J0IHsgTmd4U2tlbGV0b25Mb2FkZXJNb2R1bGUgfSBmcm9tIFwibmd4LXNrZWxldG9uLWxvYWRlclwiO1xyXG5cclxuaW1wb3J0IHsgRGlnaXRPbmx5RGlyZWN0aXZlIH0gZnJvbSBcIi4uLy4uL2RpcmVjdGl2ZXMvZGlnaXRzLW9ubHkvZGlnaXRzLW9ubHkuZGlyZWN0aXZlXCI7XHJcbmltcG9ydCB7IEZlYXR1cmVEZXRhaWxzLCBMaWNlbnNpbmdQbGFuIH0gZnJvbSBcIi4uLy4uL21vZGVscy9hbm5hLWxpY2Vuc2luZy10YWJsZS5tb2RlbFwiO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgICBzZWxlY3RvcjogXCJhbm5hLWNvcmUtbGljZW5zaW5nLXRhYmxlXCIsXHJcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxyXG4gICAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgRm9ybXNNb2R1bGUsIE5neFNrZWxldG9uTG9hZGVyTW9kdWxlLCBEaWdpdE9ubHlEaXJlY3RpdmUsIE1hdFRvb2x0aXBNb2R1bGVdLFxyXG4gICAgdGVtcGxhdGVVcmw6IFwiLi9hbm5hLWxpY2Vuc2luZy10YWJsZS5jb21wb25lbnQuaHRtbFwiLFxyXG4gICAgc3R5bGVVcmxzOiBbXCIuL2FubmEtbGljZW5zaW5nLXRhYmxlLmNvbXBvbmVudC5zY3NzXCJdLFxyXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBBbm5hTGljZW5zaW5nVGFibGVDb21wb25lbnQge1xyXG4gICAgQElucHV0KCkgcGxhbnM6IExpY2Vuc2luZ1BsYW5bXTtcclxuICAgIEBJbnB1dCgpIGlzRWRpdE1vZGU6IGJvb2xlYW4gPSBmYWxzZTtcclxuICAgIEBJbnB1dCgpIGxvYWRpbmc6IGJvb2xlYW4gPSB0cnVlO1xyXG4gICAgQElucHV0KCkgZGVmYXVsdExpc3Rpbmc6IGJvb2xlYW4gPSBmYWxzZTtcclxuICAgIEBJbnB1dCgpIGVkaXRpbmdDdXJyZW50UGxhbjogYm9vbGVhbiA9IGZhbHNlO1xyXG4gICAgQE91dHB1dCgpIHNwZWNpZmljYXRpb25DaGFuZ2VkID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XHJcblxyXG4gICAgb25WYWx1ZUNoYW5nZSh1cGRhdGVkVmFsdWU6IGFueSwgZmVhdHVyZURldGFpbHM6IEZlYXR1cmVEZXRhaWxzKSB7XHJcbiAgICAgICAgdGhpcy5zcGVjaWZpY2F0aW9uQ2hhbmdlZC5lbWl0KHsgdXBkYXRlZFZhbHVlLCBmZWF0dXJlRGV0YWlscyB9KTtcclxuICAgIH1cclxufVxyXG4iLCI8dGFibGUgY2xhc3M9XCJoZWFkZXItc2VjdGlvblwiPlxyXG4gICAgPHRoZWFkPlxyXG4gICAgICAgIDx0cj5cclxuICAgICAgICAgICAgPHRoPkZFQVRVUkU8L3RoPlxyXG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwibG9hZGluZ1wiPlxyXG4gICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImRlZmF1bHRMaXN0aW5nXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInNrZWxldG9uLWxvYWRlclwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8bmd4LXNrZWxldG9uLWxvYWRlclxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY291bnQ9XCIxXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt0aGVtZV09XCJ7IGhlaWdodDogJzEwMCUnLCBib3JkZXJSYWRpdXM6ICc4cHgnLCBtYXJnaW5Cb3R0b206ICcwcHgnIH1cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvbmd4LXNrZWxldG9uLWxvYWRlcj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPG5neC1za2VsZXRvbi1sb2FkZXJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvdW50PVwiMVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbdGhlbWVdPVwieyBoZWlnaHQ6ICcxMDAlJywgYm9yZGVyUmFkaXVzOiAnOHB4JywgbWFyZ2luQm90dG9tOiAnMHB4JyB9XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L25neC1za2VsZXRvbi1sb2FkZXI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxuZ3gtc2tlbGV0b24tbG9hZGVyXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb3VudD1cIjFcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW3RoZW1lXT1cInsgaGVpZ2h0OiAnMTAwJScsIGJvcmRlclJhZGl1czogJzhweCcsIG1hcmdpbkJvdHRvbTogJzBweCcgfVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9uZ3gtc2tlbGV0b24tbG9hZGVyPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiIWRlZmF1bHRMaXN0aW5nXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInNrZWxldG9uLWxvYWRlclwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8bmd4LXNrZWxldG9uLWxvYWRlclxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY291bnQ9XCIxXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt0aGVtZV09XCJ7IGhlaWdodDogJzEwMCUnLCBib3JkZXJSYWRpdXM6ICc4cHgnLCBtYXJnaW5Cb3R0b206ICcwcHgnIH1cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvbmd4LXNrZWxldG9uLWxvYWRlcj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuXHJcbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIhbG9hZGluZ1wiPlxyXG4gICAgICAgICAgICAgICAgPHRoICpuZ0Zvcj1cImxldCBwbGFuIG9mIHBsYW5zXCI+XHJcbiAgICAgICAgICAgICAgICAgICAge3sgcGxhbj8uUGxhbk5hbWUgfX1cclxuICAgICAgICAgICAgICAgICAgICA8cCAqbmdJZj1cInBsYW5zLmxlbmd0aCA9PT0gMSAmJiAoIWlzRWRpdE1vZGUgfHwgKGlzRWRpdE1vZGUgJiYgZWRpdGluZ0N1cnJlbnRQbGFuKSlcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAge3sgIXBsYW4/LlBsYW5FeHBpcnlEYXlzIHx8IHBsYW4/LlBsYW5FeHBpcnlEYXlzID49IDAgPyBcIkN1cnJlbnQgcGxhblwiIDogXCJFeHBpcmVkIFBsYW5cIiB9fVxyXG4gICAgICAgICAgICAgICAgICAgIDwvcD5cclxuICAgICAgICAgICAgICAgIDwvdGg+XHJcbiAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgIDwvdHI+XHJcbiAgICA8L3RoZWFkPlxyXG48L3RhYmxlPlxyXG48ZGl2IGNsYXNzPVwic2Nyb2xsYWJsZS10Ym9keVwiPlxyXG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImxvYWRpbmdcIj5cclxuICAgICAgICA8bmd4LXNrZWxldG9uLWxvYWRlclxyXG4gICAgICAgICAgICBjb3VudD1cIjFcIlxyXG4gICAgICAgICAgICBbdGhlbWVdPVwieyBtYXJnaW5Ub3A6ICcxMHB4JywgbWFyZ2luQm90dG9tOiAnMCcsIGhlaWdodDogZGVmYXVsdExpc3RpbmcgPyAnNDkwcHgnIDogJzQzMHB4JyB9XCJcclxuICAgICAgICA+XHJcbiAgICAgICAgPC9uZ3gtc2tlbGV0b24tbG9hZGVyPlxyXG4gICAgPC9uZy1jb250YWluZXI+XHJcbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiIWxvYWRpbmdcIj5cclxuICAgICAgICA8dGFibGU+XHJcbiAgICAgICAgICAgIDx0Ym9keT5cclxuICAgICAgICAgICAgICAgIDx0ciAqbmdGb3I9XCJsZXQgZmVhdHVyZSBvZiBwbGFuc1swXT8uRmVhdHVyZURldGFpbHM7IGxldCBmZWF0dXJlSW5kZXggPSBpbmRleFwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDx0ZD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHN0cm9uZz57eyBmZWF0dXJlLkZlYXR1cmVOYW1lIH19PC9zdHJvbmc+IHt7IGZlYXR1cmUuRmVhdHVyZURlc2NyaXB0aW9uIH19XHJcbiAgICAgICAgICAgICAgICAgICAgPC90ZD5cclxuICAgICAgICAgICAgICAgICAgICA8dGQgKm5nRm9yPVwibGV0IHBsYW4gb2YgcGxhbnM7IGxldCBwbGFuSW5kZXggPSBpbmRleFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwicGxhbi5GZWF0dXJlRGV0YWlsc1tmZWF0dXJlSW5kZXhdIGFzIGZlYXR1cmVEZXRhaWxzXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiIWZlYXR1cmVEZXRhaWxzLlNwZWNpZmljYXRpb24ubGVuZ3RoXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGlcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCJmZWF0dXJlRGV0YWlscy5Jc0VuYWJsZWRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cIm1kaSBtZGktY2hlY2tib3gtbWFya2VkLWNpcmNsZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPjwvaT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqbmdJZj1cIiFmZWF0dXJlRGV0YWlscy5Jc0VuYWJsZWRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cIm1kaSBtZGktY2xvc2VcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID48L2k+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJmZWF0dXJlRGV0YWlscy5TcGVjaWZpY2F0aW9uLmxlbmd0aFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IHNwZWMgb2YgZmVhdHVyZURldGFpbHMuU3BlY2lmaWNhdGlvblwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwic3BlYy5Kc29uVHlwZSA9PT0gJ1BBWV9QRVJfVVNFJ1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiAqbmdJZj1cImlzRWRpdE1vZGVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXRcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYW5uYUNvcmVEaWdpdE9ubHlcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT1cIm51bWJlclwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtuZ01vZGVsXT1cInNwZWMuSnNvbi5Ub3RhbENvdW50XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKG5nTW9kZWxDaGFuZ2UpPVwib25WYWx1ZUNoYW5nZSgkZXZlbnQsIGZlYXR1cmVEZXRhaWxzKVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFthdHRyLm1pbl09XCJzcGVjLkpzb25DbG9uZWQuVG90YWxDb3VudFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFthdHRyLm1heF09XCJzcGVjLkpzb24uTWF4VmFsdWUgfHwgbnVsbFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cIntcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdyZWQtYm9yZGVyJzpcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzcGVjLkpzb24uVG90YWxDb3VudCA8IHNwZWMuSnNvbkNsb25lZC5Ub3RhbENvdW50IHx8XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKHNwZWMuSnNvbi5NYXhWYWx1ZSAmJlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzcGVjLkpzb24uVG90YWxDb3VudCA+IHNwZWMuSnNvbi5NYXhWYWx1ZSlcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBPcmRlcnNcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cIm1kaSBtZGktYWxlcnQtb2N0YWdvblwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzcGVjLkpzb24uVG90YWxDb3VudCA8IHNwZWMuSnNvbkNsb25lZC5Ub3RhbENvdW50IHx8XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoc3BlYy5Kc29uLk1heFZhbHVlICYmIHNwZWMuSnNvbi5Ub3RhbENvdW50ID4gc3BlYy5Kc29uLk1heFZhbHVlKVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwUG9zaXRpb249XCJhYm92ZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXA9XCJUaGUgdmFsdWUgbXVzdCBiZSBhdCBsZWFzdCB0aGUgY3VycmVudCBwbGFuJ3MgbGltaXQgYW5kIG5vIG1vcmUgdGhhbiB0aGUgbmV4dCBwbGFuJ3MgbGltaXQuXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+PC9pPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2ICpuZ0lmPVwiIWlzRWRpdE1vZGVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3sgc3BlYy5Kc29uLlRvdGFsQ291bnQgfX0gT3JkZXJzXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwic3BlYy5Kc29uLkNvbnN1bWVkQ291bnRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPnxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7IHNwZWMuSnNvbi5Ub3RhbENvdW50IC0gc3BlYy5Kc29uLkNvbnN1bWVkQ291bnQgfX1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJlbWFpbmluZzwvc3BhblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9wPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwic3BlYy5Jc0N1c3RvbWl6ZWRcIj4oQ3VzdG9taXplZCk8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICAgICAgICAgICAgPC90ZD5cclxuICAgICAgICAgICAgICAgIDwvdHI+XHJcbiAgICAgICAgICAgIDwvdGJvZHk+XHJcbiAgICAgICAgPC90YWJsZT5cclxuICAgIDwvbmctY29udGFpbmVyPlxyXG48L2Rpdj5cclxuIl19
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
export class LicensingPlan {
|
|
2
|
+
constructor(data) {
|
|
3
|
+
this.Id = data.Id;
|
|
4
|
+
this.PlanId = data.PlanId;
|
|
5
|
+
this.PlanName = data.PlanName;
|
|
6
|
+
this.PlanStartDate = data.PlanStartDate;
|
|
7
|
+
this.PlanEndDate = data.PlanEndDate;
|
|
8
|
+
this.PlanExpiryDays = data.DaysRemaining;
|
|
9
|
+
this.FeatureDetails = data.FeatureDetails.map((feature) => new FeatureDetails(feature));
|
|
10
|
+
}
|
|
11
|
+
}
|
|
12
|
+
export class FeatureDetails {
|
|
13
|
+
constructor(data) {
|
|
14
|
+
this.FeatureId = data.FeatureId;
|
|
15
|
+
this.FeatureName = data.FeatureName;
|
|
16
|
+
this.FeatureDescription = data.FeatureDescription;
|
|
17
|
+
this.IsEnabled = data.IsEnabled;
|
|
18
|
+
this.Specification = data.Specification.map((spec) => ({
|
|
19
|
+
Json: JSON.parse(spec.Json),
|
|
20
|
+
JsonCloned: JSON.parse(spec.Json),
|
|
21
|
+
JsonType: spec.JsonType,
|
|
22
|
+
IsCustomized: spec.IsCustomized,
|
|
23
|
+
}));
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5uYS1saWNlbnNpbmctdGFibGUubW9kZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbm5hLWNvcmUvc3JjL2xpYi9hbm5hLWNvcmUtc2hhcmVkLWxpYi9tb2RlbHMvYW5uYS1saWNlbnNpbmctdGFibGUubW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxPQUFPLGFBQWE7SUFRdEIsWUFBWSxJQUFTO1FBQ2pCLElBQUksQ0FBQyxFQUFFLEdBQUcsSUFBSSxDQUFDLEVBQUUsQ0FBQztRQUNsQixJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUM7UUFDMUIsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDO1FBQzlCLElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQztRQUN4QyxJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUM7UUFDcEMsSUFBSSxDQUFDLGNBQWMsR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDO1FBQ3pDLElBQUksQ0FBQyxjQUFjLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxPQUFZLEVBQUUsRUFBRSxDQUFDLElBQUksY0FBYyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUM7SUFDakcsQ0FBQztDQUNKO0FBRUQsTUFBTSxPQUFPLGNBQWM7SUFNdkIsWUFBWSxJQUFTO1FBQ2pCLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQztRQUNoQyxJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUM7UUFDcEMsSUFBSSxDQUFDLGtCQUFrQixHQUFHLElBQUksQ0FBQyxrQkFBa0IsQ0FBQztRQUNsRCxJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUM7UUFDaEMsSUFBSSxDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQVMsRUFBRSxFQUFFLENBQUMsQ0FBQztZQUN4RCxJQUFJLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDO1lBQzNCLFVBQVUsRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUM7WUFDakMsUUFBUSxFQUFFLElBQUksQ0FBQyxRQUFRO1lBQ3ZCLFlBQVksRUFBRSxJQUFJLENBQUMsWUFBWTtTQUNsQyxDQUFDLENBQUMsQ0FBQztJQUNSLENBQUM7Q0FDSiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBjbGFzcyBMaWNlbnNpbmdQbGFuIHtcclxuICAgIElkOiBudW1iZXI7XHJcbiAgICBQbGFuSWQ6IG51bWJlcjtcclxuICAgIFBsYW5OYW1lOiBzdHJpbmc7XHJcbiAgICBQbGFuU3RhcnREYXRlPzogc3RyaW5nO1xyXG4gICAgUGxhbkVuZERhdGU/OiBzdHJpbmc7XHJcbiAgICBQbGFuRXhwaXJ5RGF5cz86IG51bWJlcjtcclxuICAgIEZlYXR1cmVEZXRhaWxzOiBGZWF0dXJlRGV0YWlsc1tdO1xyXG4gICAgY29uc3RydWN0b3IoZGF0YTogYW55KSB7XHJcbiAgICAgICAgdGhpcy5JZCA9IGRhdGEuSWQ7XHJcbiAgICAgICAgdGhpcy5QbGFuSWQgPSBkYXRhLlBsYW5JZDtcclxuICAgICAgICB0aGlzLlBsYW5OYW1lID0gZGF0YS5QbGFuTmFtZTtcclxuICAgICAgICB0aGlzLlBsYW5TdGFydERhdGUgPSBkYXRhLlBsYW5TdGFydERhdGU7XHJcbiAgICAgICAgdGhpcy5QbGFuRW5kRGF0ZSA9IGRhdGEuUGxhbkVuZERhdGU7XHJcbiAgICAgICAgdGhpcy5QbGFuRXhwaXJ5RGF5cyA9IGRhdGEuRGF5c1JlbWFpbmluZztcclxuICAgICAgICB0aGlzLkZlYXR1cmVEZXRhaWxzID0gZGF0YS5GZWF0dXJlRGV0YWlscy5tYXAoKGZlYXR1cmU6IGFueSkgPT4gbmV3IEZlYXR1cmVEZXRhaWxzKGZlYXR1cmUpKTtcclxuICAgIH1cclxufVxyXG5cclxuZXhwb3J0IGNsYXNzIEZlYXR1cmVEZXRhaWxzIHtcclxuICAgIEZlYXR1cmVJZDogbnVtYmVyO1xyXG4gICAgRmVhdHVyZU5hbWU6IHN0cmluZztcclxuICAgIEZlYXR1cmVEZXNjcmlwdGlvbjogc3RyaW5nO1xyXG4gICAgSXNFbmFibGVkOiBib29sZWFuO1xyXG4gICAgU3BlY2lmaWNhdGlvbjogYW55W107XHJcbiAgICBjb25zdHJ1Y3RvcihkYXRhOiBhbnkpIHtcclxuICAgICAgICB0aGlzLkZlYXR1cmVJZCA9IGRhdGEuRmVhdHVyZUlkO1xyXG4gICAgICAgIHRoaXMuRmVhdHVyZU5hbWUgPSBkYXRhLkZlYXR1cmVOYW1lO1xyXG4gICAgICAgIHRoaXMuRmVhdHVyZURlc2NyaXB0aW9uID0gZGF0YS5GZWF0dXJlRGVzY3JpcHRpb247XHJcbiAgICAgICAgdGhpcy5Jc0VuYWJsZWQgPSBkYXRhLklzRW5hYmxlZDtcclxuICAgICAgICB0aGlzLlNwZWNpZmljYXRpb24gPSBkYXRhLlNwZWNpZmljYXRpb24ubWFwKChzcGVjOiBhbnkpID0+ICh7XHJcbiAgICAgICAgICAgIEpzb246IEpTT04ucGFyc2Uoc3BlYy5Kc29uKSxcclxuICAgICAgICAgICAgSnNvbkNsb25lZDogSlNPTi5wYXJzZShzcGVjLkpzb24pLFxyXG4gICAgICAgICAgICBKc29uVHlwZTogc3BlYy5Kc29uVHlwZSxcclxuICAgICAgICAgICAgSXNDdXN0b21pemVkOiBzcGVjLklzQ3VzdG9taXplZCxcclxuICAgICAgICB9KSk7XHJcbiAgICB9XHJcbn1cclxuIl19
|
|
@@ -26,7 +26,7 @@ export class AnnaSortService {
|
|
|
26
26
|
sortDataForComponentOtherThanLurAndCsrPage(isAsc, data, key) {
|
|
27
27
|
let param1;
|
|
28
28
|
let param2;
|
|
29
|
-
let dataToBeSorted =
|
|
29
|
+
let dataToBeSorted = data;
|
|
30
30
|
if (this.dateSet.has(key)) {
|
|
31
31
|
dataToBeSorted.sort((a, b) => this.annaDateTimeFormatService.compareDate(a[key], b[key], isAsc));
|
|
32
32
|
}
|
|
@@ -174,4 +174,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
|
|
|
174
174
|
providedIn: "root",
|
|
175
175
|
}]
|
|
176
176
|
}], ctorParameters: () => [{ type: i1.AnnaDateTimeFormatService }] });
|
|
177
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5uYS1zb3J0LnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbm5hLWNvcmUvc3JjL2xpYi9hbm5hLWNvcmUtc2hhcmVkLWxpYi9zZXJ2aWNlcy9hbm5hLXNvcnQuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSw0QkFBNEI7QUFDNUIsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBQ3RDLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFHL0IsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0saUNBQWlDLENBQUM7OztBQUU1RSxnQ0FBZ0M7QUFFaEMsaUNBQWlDO0FBS2pDLE1BQU0sT0FBTyxlQUFlO0lBaUJ4QixZQUFvQix5QkFBb0Q7UUFBcEQsOEJBQXlCLEdBQXpCLHlCQUF5QixDQUEyQjtRQWR4RSwwQkFBcUIsR0FBb0IsSUFBSSxPQUFPLEVBQUUsQ0FBQztRQUV2RCxZQUFPLEdBQUcsSUFBSSxHQUFHLENBQUM7WUFDZCxTQUFTO1lBQ1QsV0FBVztZQUNYLFVBQVU7WUFDVixZQUFZO1lBQ1osaUJBQWlCO1lBQ2pCLGVBQWU7WUFDZixNQUFNO1lBQ04sYUFBYTtZQUNiLFNBQVM7U0FDWixDQUFDLENBQUM7SUFFd0UsQ0FBQztJQUU1RSwwQ0FBMEMsQ0FBQyxLQUFjLEVBQUUsSUFBVyxFQUFFLEdBQVc7UUFDL0UsSUFBSSxNQUF1QixDQUFDO1FBQzVCLElBQUksTUFBdUIsQ0FBQztRQUU1QixJQUFJLGNBQWMsR0FBRyxTQUFTLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDckMsSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDO1lBQ3hCLGNBQWMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FB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QUFFLENBQUM7WUFDbEMsZUFBZSxHQUFHLFNBQVMsQ0FDdkIsb0JBQW9CO2dCQUNoQixDQUFDLENBQUMsSUFBSSxDQUFDLDBCQUEwQixDQUFDLEtBQUssRUFBRSxTQUFTLEVBQUUsR0FBRyxDQUFDO2dCQUN4RCxDQUFDLENBQUMsSUFBSSxDQUFDLDBDQUEwQyxDQUFDLEtBQUssRUFBRSxTQUFTLEVBQUUsR0FBRyxDQUFDLENBQy9FLENBQUM7UUFDTixDQUFDO2FBQU0sSUFBSSxhQUFhLEtBQUssU0FBUyxFQUFFLENBQUM7WUFDckMsZUFBZSxHQUFHLFNBQVMsQ0FBQyxJQUFJLENBQUMsb0JBQW9CLENBQUMsQ0FBQztRQUMzRCxDQUFDO1FBRUQsT0FBTyxlQUFlLENBQUM7SUFDM0IsQ0FBQzsrR0F4TFEsZUFBZTttSEFBZixlQUFlLGNBRlosTUFBTTs7NEZBRVQsZUFBZTtrQkFIM0IsVUFBVTttQkFBQztvQkFDUixVQUFVLEVBQUUsTUFBTTtpQkFDckIiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBBbmd1bGFyIGltcG9ydCBzdGF0ZW1lbnRzXHJcbmltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQgeyBjbG9uZURlZXAgfSBmcm9tIFwibG9kYXNoLWVzXCI7XHJcbmltcG9ydCB7IFN1YmplY3QgfSBmcm9tIFwicnhqc1wiO1xyXG5cclxuaW1wb3J0IHsgU29ydFR5cGUgfSBmcm9tIFwiLi4vbW9kZWxzL2FubmEtc29ydC5tb2RlbFwiO1xyXG5pbXBvcnQgeyBBbm5hRGF0ZVRpbWVGb3JtYXRTZXJ2aWNlIH0gZnJvbSBcIi4vYW5uYS1kYXRlLXRpbWUtZm9ybWF0LnNlcnZpY2VcIjtcclxuXHJcbi8vIFRoaXJkIHBhcnR5IGltcG9ydCBzdGF0ZW1lbnRzXHJcblxyXG4vLyBVc2VyIGRlZmluZWQgaW1wb3J0IHN0YXRlbWVudHNcclxuXHJcbkBJbmplY3RhYmxlKHtcclxuICAgIHByb3ZpZGVkSW46IFwicm9vdFwiLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgQW5uYVNvcnRTZXJ2aWNlIHtcclxuICAgIGNvbHVtblNvcnRTdGF0ZTogTWFwPHN0cmluZywgU29ydFR5cGU+O1xyXG4gICAgbm9Tb3J0aW5nQXBwbGllZERhdGE6IGFueVtdO1xyXG4gICAgdXBkYXRlU29ydFR5cGVTdWJqZWN0OiBTdWJqZWN0PHN0cmluZz4gPSBuZXcgU3ViamVjdCgpO1xyXG5cclxuICAgIGRhdGVTZXQgPSBuZXcgU2V0KFtcclxuICAgICAgICBcImVuZERhdGVcIixcclxuICAgICAgICBcInN0YXJ0RGF0ZVwiLFxyXG4gICAgICAgIFwiZW5kX2RhdGVcIixcclxuICAgICAgICBcInN0YXJ0X2RhdGVcIixcclxuICAgICAgICBcImZsaWdodFN0YXJ0RGF0ZVwiLFxyXG4gICAgICAgIFwiZmxpZ2h0RW5kRGF0ZVwiLFxyXG4gICAgICAgIFwiZGF0ZVwiLFxyXG4gICAgICAgIFwiR2VuZXJhdGVkT25cIixcclxuICAgICAgICBcIkFpckRhdGVcIlxyXG4gICAgXSk7XHJcblxyXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBhbm5hRGF0ZVRpbWVGb3JtYXRTZXJ2aWNlOiBBbm5hRGF0ZVRpbWVGb3JtYXRTZXJ2aWNlKSB7fVxyXG5cclxuICAgIHNvcnREYXRhRm9yQ29tcG9uZW50T3RoZXJUaGFuTHVyQW5kQ3NyUGFnZShpc0FzYzogYm9vbGVhbiwgZGF0YTogYW55W10sIGtleTogc3RyaW5nKSB7XHJcbiAgICAgICAgbGV0IHBhcmFtMTogc3RyaW5nIHwgbnVtYmVyO1xyXG4gICAgICAgIGxldCBwYXJhbTI6IHN0cmluZyB8IG51bWJlcjtcclxuXHJcbiAgICAgICAgbGV0IGRhdGFUb0JlU29ydGVkID0gY2xvbmVEZWVwKGRhdGEpO1xyXG4gICAgICAgIGlmICh0aGlzLmRhdGVTZXQuaGFzKGtleSkpIHtcclxuICAgICAgICAgICAgZGF0YVRvQmVTb3J0ZWQuc29ydCgoYSwgYikgPT4gdGhpcy5hbm5hRGF0ZVRpbWVGb3JtYXRTZXJ2aWNlLmNvbXBhcmVEYXRlKGFba2V5XSwgYltrZXldLCBpc0FzYykpO1xyXG4gICAgICAgIH0gZWxzZSBpZiAoa2V5ID09PSBcIkFpckRhdGVBbmRUaW1lXCIgfHwga2V5ID09PSBcIkRhdGVcIikge1xyXG4gICAgICAgICAgICBkYXRhVG9CZVNvcnRlZC5zb3J0KChhLCBiKSA9PiB7XHJcbiAgICAgICAgICAgICAgICBpZiAoYVtrZXldID09PSBcIi1cIikge1xyXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiAxO1xyXG4gICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgIGlmIChiW2tleV0gPT09IFwiLVwiKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIC0xO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgY29uc3QgZmlyc3QgPSB0aGlzLmFubmFEYXRlVGltZUZvcm1hdFNlcnZpY2UuZm9ybWF0RGF0ZUFuZEhITU1BVGltZVRvU3RhbmRhcmRGb3JtYXQoYVtrZXldKTtcclxuICAgICAgICAgICAgICAgIGNvbnN0IHNlY29uZCA9IHRoaXMuYW5uYURhdGVUaW1lRm9ybWF0U2VydmljZS5mb3JtYXREYXRlQW5kSEhNTUFUaW1lVG9TdGFuZGFyZEZvcm1hdChiW2tleV0pO1xyXG4gICAgICAgICAgICAgICAgY29uc3QgY29tcGFyZURhdGUgPSB0aGlzLmFubmFEYXRlVGltZUZvcm1hdFNlcnZpY2UuY29tcGFyZURhdGUoZmlyc3QsIHNlY29uZCwgaXNBc2MpO1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIGNvbXBhcmVEYXRlO1xyXG4gICAgICAgICAgICB9KTtcclxuICAgICAgICB9IGVsc2UgaWYgKGtleSA9PT0gXCJzdGFydEVuZFRpbWVcIiB8fCBrZXkgPT09IFwiVGltZUJhbmRcIikge1xyXG4gICAgICAgICAgICBkYXRhVG9CZVNvcnRlZC5zb3J0KChhLCBiKSA9PiB7XHJcbiAgICAgICAgICAgICAgICBpZiAoaXNBc2MpIHtcclxuICAgICAgICAgICAgICAgICAgICBwYXJhbTEgPSBhW2tleV1bMV07XHJcbiAgICAgICAgICAgICAgICAgICAgcGFyYW0yID0gYltrZXldWzFdO1xyXG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgICAgICBwYXJhbTEgPSBhW2tleV1bMl07XHJcbiAgICAgICAgICAgICAgICAgICAgcGFyYW0yID0gYltrZXldWzJdO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgY29uc3QgdmFsID0gaXNBc2NcclxuICAgICAgICAgICAgICAgICAgICA/IHRoaXMuYW5uYURhdGVUaW1lRm9ybWF0U2VydmljZS5zb3J0QnlUaW1lQXNjZW5kaW5nKHBhcmFtMSwgcGFyYW0yKVxyXG4gICAgICAgICAgICAgICAgICAgIDogdGhpcy5hbm5hRGF0ZVRpbWVGb3JtYXRTZXJ2aWNlLnNvcnRCeVRpbWVEZXNjZW5kaW5nKHBhcmFtMSwgcGFyYW0yKTtcclxuICAgICAgICAgICAgICAgIHJldHVybiB2YWw7XHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIGNvbnN0IGRhdGFXaXRob3V0RW1wdHlPckh5cGhlblZhbHVlcyA9IGRhdGFUb0JlU29ydGVkLmZpbHRlcigobikgPT4gbltrZXldICE9PSBcIi1cIik7XHJcbiAgICAgICAgICAgIGNvbnN0IHJvd3NXaXRoSHlwaGVuT3JaZXJvVmFsdWVzID0gZGF0YVRvQmVTb3J0ZWQuZmlsdGVyKChuKSA9PiBuW2tleV0gPT09IFwiLVwiKTtcclxuXHJcbiAgICAgICAgICAgIGRhdGFXaXRob3V0RW1wdHlPckh5cGhlblZhbHVlcy5zb3J0KChhLCBiKSA9PiB7XHJcbiAgICAgICAgICAgICAgICBwYXJhbTEgPSBhW2tleV07XHJcbiAgICAgICAgICAgICAgICBwYXJhbTIgPSBiW2tleV07XHJcblxyXG4gICAgICAgICAgICAgICAgaWYgKHBhcmFtMSAhPT0gcGFyYW0yKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuYW5uYURhdGVUaW1lRm9ybWF0U2VydmljZS5jb21wYXJlKHBhcmFtMSwgcGFyYW0yLCBpc0FzYyk7XHJcbiAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgcmV0dXJuIDA7XHJcbiAgICAgICAgICAgIH0pO1xyXG5cclxuICAgICAgICAgICAgZGF0YVRvQmVTb3J0ZWQgPSBpc0FzY1xyXG4gICAgICAgICAgICAgICAgPyBbLi4ucm93c1dpdGhIeXBoZW5Pclplcm9WYWx1ZXMsIC4uLmRhdGFXaXRob3V0RW1wdHlPckh5cGhlblZhbHVlc11cclxuICAgICAgICAgICAgICAgIDogWy4uLmRhdGFXaXRob3V0RW1wdHlPckh5cGhlblZhbHVlcywgLi4ucm93c1dpdGhIeXBoZW5Pclplcm9WYWx1ZXNdO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgcmV0dXJuIGRhdGFUb0JlU29ydGVkO1xyXG4gICAgfVxyXG5cclxuICAgIHNvcnRFbnRlckVkaXRMdXJBbmRDc3JQYWdlKGlzQXNjOiBib29sZWFuLCBkYXRhOiBhbnlbXSwga2V5OiBhbnkpIHtcclxuICAgICAgICBsZXQgcGFyYW0xOiBzdHJpbmcgfCBudW1iZXI7XHJcbiAgICAgICAgbGV0IHBhcmFtMjogc3RyaW5nIHwgbnVtYmVyO1xyXG5cclxuICAgICAgICBpZiAoa2V5LmluY2x1ZGVzKFwiX1wiKSkge1xyXG4gICAgICAgICAgICBjb25zdCBrZXlzID0ga2V5LnNwbGl0KFwiX1wiKTtcclxuICAgICAgICAgICAgY29uc3Qgd2Vla051bWJlciA9IGtleXNbMF07XHJcbiAgICAgICAgICAgIGxldCBzb3J0S2V5ID0ga2V5c1sxXTtcclxuXHJcbiAgICAgICAgICAgIGlmIChrZXlzLmxlbmd0aCA+IDIpIHtcclxuICAgICAgICAgICAgICAgIHNvcnRLZXkgPSBrZXlzWzJdID09PSBcInRydWVcIiA/IFwiQm9va2VkQXVySW5jbHVkaW5nTm9DaGFyZ2VTcG90c1wiIDogXCJCb29rZWRBdXJFeGNsdWRpbmdOb0NoYXJnZVNwb3RzXCI7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIGRhdGEuc29ydCgoYSwgYikgPT4ge1xyXG4gICAgICAgICAgICAgICAgY29uc3QgYUludmVudG9yeUNvZGVXZWVrV2lzZUtleSA9IE9iamVjdC5rZXlzKGEuV2Vla1dpc2VJbnZlbnRvcnlDb2RlRGF0YSkuZmlsdGVyKFxyXG4gICAgICAgICAgICAgICAgICAgIChpbnZLZXkpID0+IGludktleS5zcGxpdChcIl9cIilbMV0gPT09IHdlZWtOdW1iZXIsXHJcbiAgICAgICAgICAgICAgICApO1xyXG4gICAgICAgICAgICAgICAgY29uc3QgYkludmVudG9yeUNvZGVXZWVrV2lzZUtleSA9IE9iamVjdC5rZXlzKGIuV2Vla1dpc2VJbnZlbnRvcnlDb2RlRGF0YSkuZmlsdGVyKFxyXG4gICAgICAgICAgICAgICAgICAgIChpbnZLZXkpID0+IGludktleS5zcGxpdChcIl9cIilbMV0gPT09IHdlZWtOdW1iZXIsXHJcbiAgICAgICAgICAgICAgICApO1xyXG5cclxuICAgICAgICAgICAgICAgIHBhcmFtMSA9IG51bGw7XHJcbiAgICAgICAgICAgICAgICBwYXJhbTIgPSBudWxsO1xyXG4gICAgICAgICAgICAgICAgaWYgKGFJbnZlbnRvcnlDb2RlV2Vla1dpc2VLZXkubGVuZ3RoID4gMCkge1xyXG4gICAgICAgICAgICAgICAgICAgIHBhcmFtMSA9IGEuV2Vla1dpc2VJbnZlbnRvcnlDb2RlRGF0YVthSW52ZW50b3J5Q29kZVdlZWtXaXNlS2V5WzBdXVtzb3J0S2V5XVsxXTtcclxuICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICBpZiAoYkludmVudG9yeUNvZGVXZWVrV2lzZUtleS5sZW5ndGggPiAwKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgcGFyYW0yID0gYi5XZWVrV2lzZUludmVudG9yeUNvZGVEYXRhW2JJbnZlbnRvcnlDb2RlV2Vla1dpc2VLZXlbMF1dW3NvcnRLZXldWzFdO1xyXG4gICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgIGlmIChwYXJhbTEgIT09IHBhcmFtMikge1xyXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLmFubmFEYXRlVGltZUZvcm1hdFNlcnZpY2UuY29tcGFyZShwYXJhbTEsIHBhcmFtMiwgaXNBc2MpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgIHJldHVybiAwO1xyXG4gICAgICAgICAgICB9KTtcclxuICAgICAgICB9IGVsc2UgaWYgKGtleSA9PT0gXCJUaW1lQmFuZFwiKSB7XHJcbiAgICAgICAgICAgIGRhdGEuc29ydCgoYSwgYikgPT4ge1xyXG4gICAgICAgICAgICAgICAgaWYgKGlzQXNjKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgcGFyYW0xID0gYVtrZXldWzFdO1xyXG4gICAgICAgICAgICAgICAgICAgIHBhcmFtMiA9IGJba2V5XVsxXTtcclxuICAgICAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgcGFyYW0xID0gYVtrZXldWzJdO1xyXG4gICAgICAgICAgICAgICAgICAgIHBhcmFtMiA9IGJba2V5XVsyXTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIGNvbnN0IHZhbCA9IGlzQXNjXHJcbiAgICAgICAgICAgICAgICAgICAgPyB0aGlzLmFubmFEYXRlVGltZUZvcm1hdFNlcnZpY2Uuc29ydEJ5VGltZUFzY2VuZGluZyhwYXJhbTEsIHBhcmFtMilcclxuICAgICAgICAgICAgICAgICAgICA6IHRoaXMuYW5uYURhdGVUaW1lRm9ybWF0U2VydmljZS5zb3J0QnlUaW1lRGVzY2VuZGluZyhwYXJhbTEsIHBhcmFtMik7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gdmFsO1xyXG4gICAgICAgICAgICB9KTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICBkYXRhLnNvcnQoKGEsIGIpID0+IHtcclxuICAgICAgICAgICAgICAgIHBhcmFtMSA9IGFba2V5XTtcclxuICAgICAgICAgICAgICAgIHBhcmFtMiA9IGJba2V5XTtcclxuXHJcbiAgICAgICAgICAgICAgICBpZiAocGFyYW0xICE9PSBwYXJhbTIpIHtcclxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5hbm5hRGF0ZVRpbWVGb3JtYXRTZXJ2aWNlLmNvbXBhcmUocGFyYW0xLCBwYXJhbTIsIGlzQXNjKTtcclxuICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICByZXR1cm4gMDtcclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICByZXR1cm4gZGF0YTtcclxuICAgIH1cclxuXHJcbiAgICBjaGVja0lmU29ydGluZ0lzQXBwbGllZCh0YWJsZURhdGE6IGFueVtdLCBpc0x1ckFuZENzckNvbXBvbmVudDogYm9vbGVhbikge1xyXG4gICAgICAgIGxldCBzb3J0ZWRUYWJsZURhdGEgPSB0YWJsZURhdGE7XHJcbiAgICAgICAgdGhpcy5jb2x1bW5Tb3J0U3RhdGUuZm9yRWFjaCgodmFsdWUsIGtleSkgPT4ge1xyXG4gICAgICAgICAgICBpZiAodmFsdWUgPT09IFwiQVNDXCIpIHtcclxuICAgICAgICAgICAgICAgIHNvcnRlZFRhYmxlRGF0YSA9IGNsb25lRGVlcChcclxuICAgICAgICAgICAgICAgICAgICBpc0x1ckFuZENzckNvbXBvbmVudFxyXG4gICAgICAgICAgICAgICAgICAgICAgICA/IHRoaXMuc29ydEVudGVyRWRpdEx1ckFuZENzclBhZ2UodHJ1ZSwgdGFibGVEYXRhLCBrZXkpXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDogdGhpcy5zb3J0RGF0YUZvckNvbXBvbmVudE90aGVyVGhhbkx1ckFuZENzclBhZ2UodHJ1ZSwgdGFibGVEYXRhLCBrZXkpLFxyXG4gICAgICAgICAgICAgICAgKTtcclxuICAgICAgICAgICAgfSBlbHNlIGlmICh2YWx1ZSA9PT0gXCJERVNDXCIpIHtcclxuICAgICAgICAgICAgICAgIHNvcnRlZFRhYmxlRGF0YSA9IGNsb25lRGVlcChcclxuICAgICAgICAgICAgICAgICAgICBpc0x1ckFuZENzckNvbXBvbmVudFxyXG4gICAgICAgICAgICAgICAgICAgICAgICA/IHRoaXMuc29ydEVudGVyRWRpdEx1ckFuZENzclBhZ2UoZmFsc2UsIHRhYmxlRGF0YSwga2V5KVxyXG4gICAgICAgICAgICAgICAgICAgICAgICA6IHRoaXMuc29ydERhdGFGb3JDb21wb25lbnRPdGhlclRoYW5MdXJBbmRDc3JQYWdlKGZhbHNlLCB0YWJsZURhdGEsIGtleSksXHJcbiAgICAgICAgICAgICAgICApO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSk7XHJcblxyXG4gICAgICAgIHJldHVybiBzb3J0ZWRUYWJsZURhdGE7XHJcbiAgICB9XHJcblxyXG4gICAgYXBwbHlTb3J0aW5nKGtleTogc3RyaW5nLCB0ZW1wU29ydE9yZGVyOiBTb3J0VHlwZSwgdGFibGVEYXRhOiBhbnlbXSwgaXNMdXJBbmRDc3JDb21wb25lbnQ6IGJvb2xlYW4pIHtcclxuICAgICAgICBsZXQgc29ydGVkVGFibGVEYXRhID0gdGFibGVEYXRhO1xyXG4gICAgICAgIGlmICh0ZW1wU29ydE9yZGVyID09PSBcIkFTQ1wiKSB7XHJcbiAgICAgICAgICAgIHNvcnRlZFRhYmxlRGF0YSA9IGNsb25lRGVlcChcclxuICAgICAgICAgICAgICAgIGlzTHVyQW5kQ3NyQ29tcG9uZW50XHJcbiAgICAgICAgICAgICAgICAgICAgPyB0aGlzLnNvcnRFbnRlckVkaXRMdXJBbmRDc3JQYWdlKHRydWUsIHRhYmxlRGF0YSwga2V5KVxyXG4gICAgICAgICAgICAgICAgICAgIDogdGhpcy5zb3J0RGF0YUZvckNvbXBvbmVudE90aGVyVGhhbkx1ckFuZENzclBhZ2UodHJ1ZSwgdGFibGVEYXRhLCBrZXkpLFxyXG4gICAgICAgICAgICApO1xyXG4gICAgICAgIH0gZWxzZSBpZiAodGVtcFNvcnRPcmRlciA9PT0gXCJERVNDXCIpIHtcclxuICAgICAgICAgICAgc29ydGVkVGFibGVEYXRhID0gY2xvbmVEZWVwKFxyXG4gICAgICAgICAgICAgICAgaXNMdXJBbmRDc3JDb21wb25lbnRcclxuICAgICAgICAgICAgICAgICAgICA/IHRoaXMuc29ydEVudGVyRWRpdEx1ckFuZENzclBhZ2UoZmFsc2UsIHRhYmxlRGF0YSwga2V5KVxyXG4gICAgICAgICAgICAgICAgICAgIDogdGhpcy5zb3J0RGF0YUZvckNvbXBvbmVudE90aGVyVGhhbkx1ckFuZENzclBhZ2UoZmFsc2UsIHRhYmxlRGF0YSwga2V5KSxcclxuICAgICAgICAgICAgKTtcclxuICAgICAgICB9IGVsc2UgaWYgKHRlbXBTb3J0T3JkZXIgPT09IFwiREVGQVVMVFwiKSB7XHJcbiAgICAgICAgICAgIHNvcnRlZFRhYmxlRGF0YSA9IGNsb25lRGVlcCh0aGlzLm5vU29ydGluZ0FwcGxpZWREYXRhKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHJldHVybiBzb3J0ZWRUYWJsZURhdGE7XHJcbiAgICB9XHJcbn1cclxuIl19
|
|
177
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5uYS1zb3J0LnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbm5hLWNvcmUvc3JjL2xpYi9hbm5hLWNvcmUtc2hhcmVkLWxpYi9zZXJ2aWNlcy9hbm5hLXNvcnQuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSw0QkFBNEI7QUFDNUIsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBQ3RDLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFHL0IsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0saUNBQWlDLENBQUM7OztBQUU1RSxnQ0FBZ0M7QUFFaEMsaUNBQWlDO0FBS2pDLE1BQU0sT0FBTyxlQUFlO0lBaUJ4QixZQUFvQix5QkFBb0Q7UUFBcEQsOEJBQXlCLEdBQXpCLHlCQUF5QixDQUEyQjtRQWR4RSwwQkFBcUIsR0FBb0IsSUFBSSxPQUFPLEVBQUUsQ0FBQztRQUV2RCxZQUFPLEdBQUcsSUFBSSxHQUFHLENBQUM7WUFDZCxTQUFTO1lBQ1QsV0FBVztZQUNYLFVBQVU7WUFDVixZQUFZO1lBQ1osaUJBQWlCO1lBQ2pCLGVBQWU7WUFDZixNQUFNO1lBQ04sYUFBYTtZQUNiLFNBQVM7U0FDWixDQUFDLENBQUM7SUFFd0UsQ0FBQztJQUU1RSwwQ0FBMEMsQ0FBQyxLQUFjLEVBQUUsSUFBVyxFQUFFLEdBQVc7UUFDL0UsSUFBSSxNQUF1QixDQUFDO1FBQzVCLElBQUksTUFBdUIsQ0FBQztRQUU1QixJQUFJLGNBQWMsR0FBRyxJQUFJLENBQUM7UUFDMUIsSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDO1lBQ3hCLGNBQWMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FB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ZUFBZSxHQUFHLFNBQVMsQ0FDdkIsb0JBQW9CO2dCQUNoQixDQUFDLENBQUMsSUFBSSxDQUFDLDBCQUEwQixDQUFDLEtBQUssRUFBRSxTQUFTLEVBQUUsR0FBRyxDQUFDO2dCQUN4RCxDQUFDLENBQUMsSUFBSSxDQUFDLDBDQUEwQyxDQUFDLEtBQUssRUFBRSxTQUFTLEVBQUUsR0FBRyxDQUFDLENBQy9FLENBQUM7UUFDTixDQUFDO2FBQU0sSUFBSSxhQUFhLEtBQUssU0FBUyxFQUFFLENBQUM7WUFDckMsZUFBZSxHQUFHLFNBQVMsQ0FBQyxJQUFJLENBQUMsb0JBQW9CLENBQUMsQ0FBQztRQUMzRCxDQUFDO1FBRUQsT0FBTyxlQUFlLENBQUM7SUFDM0IsQ0FBQzsrR0F4TFEsZUFBZTttSEFBZixlQUFlLGNBRlosTUFBTTs7NEZBRVQsZUFBZTtrQkFIM0IsVUFBVTttQkFBQztvQkFDUixVQUFVLEVBQUUsTUFBTTtpQkFDckIiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBBbmd1bGFyIGltcG9ydCBzdGF0ZW1lbnRzXHJcbmltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQgeyBjbG9uZURlZXAgfSBmcm9tIFwibG9kYXNoLWVzXCI7XHJcbmltcG9ydCB7IFN1YmplY3QgfSBmcm9tIFwicnhqc1wiO1xyXG5cclxuaW1wb3J0IHsgU29ydFR5cGUgfSBmcm9tIFwiLi4vbW9kZWxzL2FubmEtc29ydC5tb2RlbFwiO1xyXG5pbXBvcnQgeyBBbm5hRGF0ZVRpbWVGb3JtYXRTZXJ2aWNlIH0gZnJvbSBcIi4vYW5uYS1kYXRlLXRpbWUtZm9ybWF0LnNlcnZpY2VcIjtcclxuXHJcbi8vIFRoaXJkIHBhcnR5IGltcG9ydCBzdGF0ZW1lbnRzXHJcblxyXG4vLyBVc2VyIGRlZmluZWQgaW1wb3J0IHN0YXRlbWVudHNcclxuXHJcbkBJbmplY3RhYmxlKHtcclxuICAgIHByb3ZpZGVkSW46IFwicm9vdFwiLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgQW5uYVNvcnRTZXJ2aWNlIHtcclxuICAgIGNvbHVtblNvcnRTdGF0ZTogTWFwPHN0cmluZywgU29ydFR5cGU+O1xyXG4gICAgbm9Tb3J0aW5nQXBwbGllZERhdGE6IGFueVtdO1xyXG4gICAgdXBkYXRlU29ydFR5cGVTdWJqZWN0OiBTdWJqZWN0PHN0cmluZz4gPSBuZXcgU3ViamVjdCgpO1xyXG5cclxuICAgIGRhdGVTZXQgPSBuZXcgU2V0KFtcclxuICAgICAgICBcImVuZERhdGVcIixcclxuICAgICAgICBcInN0YXJ0RGF0ZVwiLFxyXG4gICAgICAgIFwiZW5kX2RhdGVcIixcclxuICAgICAgICBcInN0YXJ0X2RhdGVcIixcclxuICAgICAgICBcImZsaWdodFN0YXJ0RGF0ZVwiLFxyXG4gICAgICAgIFwiZmxpZ2h0RW5kRGF0ZVwiLFxyXG4gICAgICAgIFwiZGF0ZVwiLFxyXG4gICAgICAgIFwiR2VuZXJhdGVkT25cIixcclxuICAgICAgICBcIkFpckRhdGVcIlxyXG4gICAgXSk7XHJcblxyXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBhbm5hRGF0ZVRpbWVGb3JtYXRTZXJ2aWNlOiBBbm5hRGF0ZVRpbWVGb3JtYXRTZXJ2aWNlKSB7fVxyXG5cclxuICAgIHNvcnREYXRhRm9yQ29tcG9uZW50T3RoZXJUaGFuTHVyQW5kQ3NyUGFnZShpc0FzYzogYm9vbGVhbiwgZGF0YTogYW55W10sIGtleTogc3RyaW5nKSB7XHJcbiAgICAgICAgbGV0IHBhcmFtMTogc3RyaW5nIHwgbnVtYmVyO1xyXG4gICAgICAgIGxldCBwYXJhbTI6IHN0cmluZyB8IG51bWJlcjtcclxuXHJcbiAgICAgICAgbGV0IGRhdGFUb0JlU29ydGVkID0gZGF0YTtcclxuICAgICAgICBpZiAodGhpcy5kYXRlU2V0LmhhcyhrZXkpKSB7XHJcbiAgICAgICAgICAgIGRhdGFUb0JlU29ydGVkLnNvcnQoKGEsIGIpID0+IHRoaXMuYW5uYURhdGVUaW1lRm9ybWF0U2VydmljZS5jb21wYXJlRGF0ZShhW2tleV0sIGJba2V5XSwgaXNBc2MpKTtcclxuICAgICAgICB9IGVsc2UgaWYgKGtleSA9PT0gXCJBaXJEYXRlQW5kVGltZVwiIHx8IGtleSA9PT0gXCJEYXRlXCIpIHtcclxuICAgICAgICAgICAgZGF0YVRvQmVTb3J0ZWQuc29ydCgoYSwgYikgPT4ge1xyXG4gICAgICAgICAgICAgICAgaWYgKGFba2V5XSA9PT0gXCItXCIpIHtcclxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gMTtcclxuICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICBpZiAoYltrZXldID09PSBcIi1cIikge1xyXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiAtMTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIGNvbnN0IGZpcnN0ID0gdGhpcy5hbm5hRGF0ZVRpbWVGb3JtYXRTZXJ2aWNlLmZvcm1hdERhdGVBbmRISE1NQVRpbWVUb1N0YW5kYXJkRm9ybWF0KGFba2V5XSk7XHJcbiAgICAgICAgICAgICAgICBjb25zdCBzZWNvbmQgPSB0aGlzLmFubmFEYXRlVGltZUZvcm1hdFNlcnZpY2UuZm9ybWF0RGF0ZUFuZEhITU1BVGltZVRvU3RhbmRhcmRGb3JtYXQoYltrZXldKTtcclxuICAgICAgICAgICAgICAgIGNvbnN0IGNvbXBhcmVEYXRlID0gdGhpcy5hbm5hRGF0ZVRpbWVGb3JtYXRTZXJ2aWNlLmNvbXBhcmVEYXRlKGZpcnN0LCBzZWNvbmQsIGlzQXNjKTtcclxuICAgICAgICAgICAgICAgIHJldHVybiBjb21wYXJlRGF0ZTtcclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgfSBlbHNlIGlmIChrZXkgPT09IFwic3RhcnRFbmRUaW1lXCIgfHwga2V5ID09PSBcIlRpbWVCYW5kXCIpIHtcclxuICAgICAgICAgICAgZGF0YVRvQmVTb3J0ZWQuc29ydCgoYSwgYikgPT4ge1xyXG4gICAgICAgICAgICAgICAgaWYgKGlzQXNjKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgcGFyYW0xID0gYVtrZXldWzFdO1xyXG4gICAgICAgICAgICAgICAgICAgIHBhcmFtMiA9IGJba2V5XVsxXTtcclxuICAgICAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgcGFyYW0xID0gYVtrZXldWzJdO1xyXG4gICAgICAgICAgICAgICAgICAgIHBhcmFtMiA9IGJba2V5XVsyXTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIGNvbnN0IHZhbCA9IGlzQXNjXHJcbiAgICAgICAgICAgICAgICAgICAgPyB0aGlzLmFubmFEYXRlVGltZUZvcm1hdFNlcnZpY2Uuc29ydEJ5VGltZUFzY2VuZGluZyhwYXJhbTEsIHBhcmFtMilcclxuICAgICAgICAgICAgICAgICAgICA6IHRoaXMuYW5uYURhdGVUaW1lRm9ybWF0U2VydmljZS5zb3J0QnlUaW1lRGVzY2VuZGluZyhwYXJhbTEsIHBhcmFtMik7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gdmFsO1xyXG4gICAgICAgICAgICB9KTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICBjb25zdCBkYXRhV2l0aG91dEVtcHR5T3JIeXBoZW5WYWx1ZXMgPSBkYXRhVG9CZVNvcnRlZC5maWx0ZXIoKG4pID0+IG5ba2V5XSAhPT0gXCItXCIpO1xyXG4gICAgICAgICAgICBjb25zdCByb3dzV2l0aEh5cGhlbk9yWmVyb1ZhbHVlcyA9IGRhdGFUb0JlU29ydGVkLmZpbHRlcigobikgPT4gbltrZXldID09PSBcIi1cIik7XHJcblxyXG4gICAgICAgICAgICBkYXRhV2l0aG91dEVtcHR5T3JIeXBoZW5WYWx1ZXMuc29ydCgoYSwgYikgPT4ge1xyXG4gICAgICAgICAgICAgICAgcGFyYW0xID0gYVtrZXldO1xyXG4gICAgICAgICAgICAgICAgcGFyYW0yID0gYltrZXldO1xyXG5cclxuICAgICAgICAgICAgICAgIGlmIChwYXJhbTEgIT09IHBhcmFtMikge1xyXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLmFubmFEYXRlVGltZUZvcm1hdFNlcnZpY2UuY29tcGFyZShwYXJhbTEsIHBhcmFtMiwgaXNBc2MpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgIHJldHVybiAwO1xyXG4gICAgICAgICAgICB9KTtcclxuXHJcbiAgICAgICAgICAgIGRhdGFUb0JlU29ydGVkID0gaXNBc2NcclxuICAgICAgICAgICAgICAgID8gWy4uLnJvd3NXaXRoSHlwaGVuT3JaZXJvVmFsdWVzLCAuLi5kYXRhV2l0aG91dEVtcHR5T3JIeXBoZW5WYWx1ZXNdXHJcbiAgICAgICAgICAgICAgICA6IFsuLi5kYXRhV2l0aG91dEVtcHR5T3JIeXBoZW5WYWx1ZXMsIC4uLnJvd3NXaXRoSHlwaGVuT3JaZXJvVmFsdWVzXTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHJldHVybiBkYXRhVG9CZVNvcnRlZDtcclxuICAgIH1cclxuXHJcbiAgICBzb3J0RW50ZXJFZGl0THVyQW5kQ3NyUGFnZShpc0FzYzogYm9vbGVhbiwgZGF0YTogYW55W10sIGtleTogYW55KSB7XHJcbiAgICAgICAgbGV0IHBhcmFtMTogc3RyaW5nIHwgbnVtYmVyO1xyXG4gICAgICAgIGxldCBwYXJhbTI6IHN0cmluZyB8IG51bWJlcjtcclxuXHJcbiAgICAgICAgaWYgKGtleS5pbmNsdWRlcyhcIl9cIikpIHtcclxuICAgICAgICAgICAgY29uc3Qga2V5cyA9IGtleS5zcGxpdChcIl9cIik7XHJcbiAgICAgICAgICAgIGNvbnN0IHdlZWtOdW1iZXIgPSBrZXlzWzBdO1xyXG4gICAgICAgICAgICBsZXQgc29ydEtleSA9IGtleXNbMV07XHJcblxyXG4gICAgICAgICAgICBpZiAoa2V5cy5sZW5ndGggPiAyKSB7XHJcbiAgICAgICAgICAgICAgICBzb3J0S2V5ID0ga2V5c1syXSA9PT0gXCJ0cnVlXCIgPyBcIkJvb2tlZEF1ckluY2x1ZGluZ05vQ2hhcmdlU3BvdHNcIiA6IFwiQm9va2VkQXVyRXhjbHVkaW5nTm9DaGFyZ2VTcG90c1wiO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICBkYXRhLnNvcnQoKGEsIGIpID0+IHtcclxuICAgICAgICAgICAgICAgIGNvbnN0IGFJbnZlbnRvcnlDb2RlV2Vla1dpc2VLZXkgPSBPYmplY3Qua2V5cyhhLldlZWtXaXNlSW52ZW50b3J5Q29kZURhdGEpLmZpbHRlcihcclxuICAgICAgICAgICAgICAgICAgICAoaW52S2V5KSA9PiBpbnZLZXkuc3BsaXQoXCJfXCIpWzFdID09PSB3ZWVrTnVtYmVyLFxyXG4gICAgICAgICAgICAgICAgKTtcclxuICAgICAgICAgICAgICAgIGNvbnN0IGJJbnZlbnRvcnlDb2RlV2Vla1dpc2VLZXkgPSBPYmplY3Qua2V5cyhiLldlZWtXaXNlSW52ZW50b3J5Q29kZURhdGEpLmZpbHRlcihcclxuICAgICAgICAgICAgICAgICAgICAoaW52S2V5KSA9PiBpbnZLZXkuc3BsaXQoXCJfXCIpWzFdID09PSB3ZWVrTnVtYmVyLFxyXG4gICAgICAgICAgICAgICAgKTtcclxuXHJcbiAgICAgICAgICAgICAgICBwYXJhbTEgPSBudWxsO1xyXG4gICAgICAgICAgICAgICAgcGFyYW0yID0gbnVsbDtcclxuICAgICAgICAgICAgICAgIGlmIChhSW52ZW50b3J5Q29kZVdlZWtXaXNlS2V5Lmxlbmd0aCA+IDApIHtcclxuICAgICAgICAgICAgICAgICAgICBwYXJhbTEgPSBhLldlZWtXaXNlSW52ZW50b3J5Q29kZURhdGFbYUludmVudG9yeUNvZGVXZWVrV2lzZUtleVswXV1bc29ydEtleV1bMV07XHJcbiAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgaWYgKGJJbnZlbnRvcnlDb2RlV2Vla1dpc2VLZXkubGVuZ3RoID4gMCkge1xyXG4gICAgICAgICAgICAgICAgICAgIHBhcmFtMiA9IGIuV2Vla1dpc2VJbnZlbnRvcnlDb2RlRGF0YVtiSW52ZW50b3J5Q29kZVdlZWtXaXNlS2V5WzBdXVtzb3J0S2V5XVsxXTtcclxuICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICBpZiAocGFyYW0xICE9PSBwYXJhbTIpIHtcclxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5hbm5hRGF0ZVRpbWVGb3JtYXRTZXJ2aWNlLmNvbXBhcmUocGFyYW0xLCBwYXJhbTIsIGlzQXNjKTtcclxuICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICByZXR1cm4gMDtcclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgfSBlbHNlIGlmIChrZXkgPT09IFwiVGltZUJhbmRcIikge1xyXG4gICAgICAgICAgICBkYXRhLnNvcnQoKGEsIGIpID0+IHtcclxuICAgICAgICAgICAgICAgIGlmIChpc0FzYykge1xyXG4gICAgICAgICAgICAgICAgICAgIHBhcmFtMSA9IGFba2V5XVsxXTtcclxuICAgICAgICAgICAgICAgICAgICBwYXJhbTIgPSBiW2tleV1bMV07XHJcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgICAgIHBhcmFtMSA9IGFba2V5XVsyXTtcclxuICAgICAgICAgICAgICAgICAgICBwYXJhbTIgPSBiW2tleV1bMl07XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBjb25zdCB2YWwgPSBpc0FzY1xyXG4gICAgICAgICAgICAgICAgICAgID8gdGhpcy5hbm5hRGF0ZVRpbWVGb3JtYXRTZXJ2aWNlLnNvcnRCeVRpbWVBc2NlbmRpbmcocGFyYW0xLCBwYXJhbTIpXHJcbiAgICAgICAgICAgICAgICAgICAgOiB0aGlzLmFubmFEYXRlVGltZUZvcm1hdFNlcnZpY2Uuc29ydEJ5VGltZURlc2NlbmRpbmcocGFyYW0xLCBwYXJhbTIpO1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIHZhbDtcclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgZGF0YS5zb3J0KChhLCBiKSA9PiB7XHJcbiAgICAgICAgICAgICAgICBwYXJhbTEgPSBhW2tleV07XHJcbiAgICAgICAgICAgICAgICBwYXJhbTIgPSBiW2tleV07XHJcblxyXG4gICAgICAgICAgICAgICAgaWYgKHBhcmFtMSAhPT0gcGFyYW0yKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuYW5uYURhdGVUaW1lRm9ybWF0U2VydmljZS5jb21wYXJlKHBhcmFtMSwgcGFyYW0yLCBpc0FzYyk7XHJcbiAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgcmV0dXJuIDA7XHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgcmV0dXJuIGRhdGE7XHJcbiAgICB9XHJcblxyXG4gICAgY2hlY2tJZlNvcnRpbmdJc0FwcGxpZWQodGFibGVEYXRhOiBhbnlbXSwgaXNMdXJBbmRDc3JDb21wb25lbnQ6IGJvb2xlYW4pIHtcclxuICAgICAgICBsZXQgc29ydGVkVGFibGVEYXRhID0gdGFibGVEYXRhO1xyXG4gICAgICAgIHRoaXMuY29sdW1uU29ydFN0YXRlLmZvckVhY2goKHZhbHVlLCBrZXkpID0+IHtcclxuICAgICAgICAgICAgaWYgKHZhbHVlID09PSBcIkFTQ1wiKSB7XHJcbiAgICAgICAgICAgICAgICBzb3J0ZWRUYWJsZURhdGEgPSBjbG9uZURlZXAoXHJcbiAgICAgICAgICAgICAgICAgICAgaXNMdXJBbmRDc3JDb21wb25lbnRcclxuICAgICAgICAgICAgICAgICAgICAgICAgPyB0aGlzLnNvcnRFbnRlckVkaXRMdXJBbmRDc3JQYWdlKHRydWUsIHRhYmxlRGF0YSwga2V5KVxyXG4gICAgICAgICAgICAgICAgICAgICAgICA6IHRoaXMuc29ydERhdGFGb3JDb21wb25lbnRPdGhlclRoYW5MdXJBbmRDc3JQYWdlKHRydWUsIHRhYmxlRGF0YSwga2V5KSxcclxuICAgICAgICAgICAgICAgICk7XHJcbiAgICAgICAgICAgIH0gZWxzZSBpZiAodmFsdWUgPT09IFwiREVTQ1wiKSB7XHJcbiAgICAgICAgICAgICAgICBzb3J0ZWRUYWJsZURhdGEgPSBjbG9uZURlZXAoXHJcbiAgICAgICAgICAgICAgICAgICAgaXNMdXJBbmRDc3JDb21wb25lbnRcclxuICAgICAgICAgICAgICAgICAgICAgICAgPyB0aGlzLnNvcnRFbnRlckVkaXRMdXJBbmRDc3JQYWdlKGZhbHNlLCB0YWJsZURhdGEsIGtleSlcclxuICAgICAgICAgICAgICAgICAgICAgICAgOiB0aGlzLnNvcnREYXRhRm9yQ29tcG9uZW50T3RoZXJUaGFuTHVyQW5kQ3NyUGFnZShmYWxzZSwgdGFibGVEYXRhLCBrZXkpLFxyXG4gICAgICAgICAgICAgICAgKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH0pO1xyXG5cclxuICAgICAgICByZXR1cm4gc29ydGVkVGFibGVEYXRhO1xyXG4gICAgfVxyXG5cclxuICAgIGFwcGx5U29ydGluZyhrZXk6IHN0cmluZywgdGVtcFNvcnRPcmRlcjogU29ydFR5cGUsIHRhYmxlRGF0YTogYW55W10sIGlzTHVyQW5kQ3NyQ29tcG9uZW50OiBib29sZWFuKSB7XHJcbiAgICAgICAgbGV0IHNvcnRlZFRhYmxlRGF0YSA9IHRhYmxlRGF0YTtcclxuICAgICAgICBpZiAodGVtcFNvcnRPcmRlciA9PT0gXCJBU0NcIikge1xyXG4gICAgICAgICAgICBzb3J0ZWRUYWJsZURhdGEgPSBjbG9uZURlZXAoXHJcbiAgICAgICAgICAgICAgICBpc0x1ckFuZENzckNvbXBvbmVudFxyXG4gICAgICAgICAgICAgICAgICAgID8gdGhpcy5zb3J0RW50ZXJFZGl0THVyQW5kQ3NyUGFnZSh0cnVlLCB0YWJsZURhdGEsIGtleSlcclxuICAgICAgICAgICAgICAgICAgICA6IHRoaXMuc29ydERhdGFGb3JDb21wb25lbnRPdGhlclRoYW5MdXJBbmRDc3JQYWdlKHRydWUsIHRhYmxlRGF0YSwga2V5KSxcclxuICAgICAgICAgICAgKTtcclxuICAgICAgICB9IGVsc2UgaWYgKHRlbXBTb3J0T3JkZXIgPT09IFwiREVTQ1wiKSB7XHJcbiAgICAgICAgICAgIHNvcnRlZFRhYmxlRGF0YSA9IGNsb25lRGVlcChcclxuICAgICAgICAgICAgICAgIGlzTHVyQW5kQ3NyQ29tcG9uZW50XHJcbiAgICAgICAgICAgICAgICAgICAgPyB0aGlzLnNvcnRFbnRlckVkaXRMdXJBbmRDc3JQYWdlKGZhbHNlLCB0YWJsZURhdGEsIGtleSlcclxuICAgICAgICAgICAgICAgICAgICA6IHRoaXMuc29ydERhdGFGb3JDb21wb25lbnRPdGhlclRoYW5MdXJBbmRDc3JQYWdlKGZhbHNlLCB0YWJsZURhdGEsIGtleSksXHJcbiAgICAgICAgICAgICk7XHJcbiAgICAgICAgfSBlbHNlIGlmICh0ZW1wU29ydE9yZGVyID09PSBcIkRFRkFVTFRcIikge1xyXG4gICAgICAgICAgICBzb3J0ZWRUYWJsZURhdGEgPSBjbG9uZURlZXAodGhpcy5ub1NvcnRpbmdBcHBsaWVkRGF0YSk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICByZXR1cm4gc29ydGVkVGFibGVEYXRhO1xyXG4gICAgfVxyXG59XHJcbiJdfQ==
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { Injectable } from "@angular/core";
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
export class UpdateStationIdService {
|
|
4
|
+
updateStationIdInLocalStorage(stationIds) {
|
|
5
|
+
localStorage.setItem("stationIds", JSON.stringify(stationIds.join(",")));
|
|
6
|
+
}
|
|
7
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: UpdateStationIdService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
8
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: UpdateStationIdService, providedIn: "root" }); }
|
|
9
|
+
}
|
|
10
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: UpdateStationIdService, decorators: [{
|
|
11
|
+
type: Injectable,
|
|
12
|
+
args: [{
|
|
13
|
+
providedIn: "root",
|
|
14
|
+
}]
|
|
15
|
+
}] });
|
|
16
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXBkYXRlLXN0YXRpb24taWQuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FubmEtY29yZS9zcmMvbGliL2FubmEtY29yZS1zaGFyZWQtbGliL3NlcnZpY2VzL3VwZGF0ZS1zdGF0aW9uLWlkLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFLM0MsTUFBTSxPQUFPLHNCQUFzQjtJQUMvQiw2QkFBNkIsQ0FBQyxVQUErQjtRQUN6RCxZQUFZLENBQUMsT0FBTyxDQUFDLFlBQVksRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQzdFLENBQUM7K0dBSFEsc0JBQXNCO21IQUF0QixzQkFBc0IsY0FGbkIsTUFBTTs7NEZBRVQsc0JBQXNCO2tCQUhsQyxVQUFVO21CQUFDO29CQUNSLFVBQVUsRUFBRSxNQUFNO2lCQUNyQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5cclxuQEluamVjdGFibGUoe1xyXG4gICAgcHJvdmlkZWRJbjogXCJyb290XCIsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBVcGRhdGVTdGF0aW9uSWRTZXJ2aWNlIHtcclxuICAgIHVwZGF0ZVN0YXRpb25JZEluTG9jYWxTdG9yYWdlKHN0YXRpb25JZHM6IHN0cmluZ1tdIHwgbnVtYmVyW10pIHtcclxuICAgICAgICBsb2NhbFN0b3JhZ2Uuc2V0SXRlbShcInN0YXRpb25JZHNcIiwgSlNPTi5zdHJpbmdpZnkoc3RhdGlvbklkcy5qb2luKFwiLFwiKSkpO1xyXG4gICAgfVxyXG59XHJcbiJdfQ==
|
|
@@ -14,6 +14,7 @@ import { AnnaBuyerApprovalIconTemplateComponent } from "./anna-core-shared-lib/c
|
|
|
14
14
|
import { AnnaDeletedOrderIconTemplateComponent } from "./anna-core-shared-lib/components/anna-deleted-order-icon-template/anna-deleted-order-icon-template.component";
|
|
15
15
|
import { AnnaEstIconTemplateComponent } from "./anna-core-shared-lib/components/anna-est-icon-template/anna-est-icon-template.component";
|
|
16
16
|
import { AnnaIconColumnComponent } from "./anna-core-shared-lib/components/anna-icon-column/anna-icon-column.component";
|
|
17
|
+
import { AnnaLicensingTableComponent } from "./anna-core-shared-lib/components/anna-licensing-table/anna-licensing-table.component";
|
|
17
18
|
import { AnnaLiveIconTemplateComponent } from "./anna-core-shared-lib/components/anna-live-icon-template/anna-live-icon-template.component";
|
|
18
19
|
import { AnnaNoDataComponent } from "./anna-core-shared-lib/components/anna-no-data/anna-no-data.component";
|
|
19
20
|
import { AnnaNotifyIconTemplateComponent } from "./anna-core-shared-lib/components/anna-notify-icon-template/anna-notify-icon-template.component";
|
|
@@ -76,7 +77,8 @@ export class AnnaCoreModule {
|
|
|
76
77
|
AnnaConvertArrayToCommaSeperatedValue,
|
|
77
78
|
FixedRowsPopupTableDirective,
|
|
78
79
|
AnnaEstIconTemplateComponent,
|
|
79
|
-
AnnaSpinnerLoaderComponent
|
|
80
|
+
AnnaSpinnerLoaderComponent,
|
|
81
|
+
AnnaLicensingTableComponent], exports: [AnnaNoDataComponent,
|
|
80
82
|
AnnaFilterSearchedTextPipe,
|
|
81
83
|
AnnaConvertZeroOrNullOrUndefinedPipe,
|
|
82
84
|
AnnaTypeofDataPipe,
|
|
@@ -103,7 +105,8 @@ export class AnnaCoreModule {
|
|
|
103
105
|
AnnaDateFormatterPipe,
|
|
104
106
|
AnnaConvertArrayToCommaSeperatedValue,
|
|
105
107
|
FixedRowsPopupTableDirective,
|
|
106
|
-
AnnaSpinnerLoaderComponent
|
|
108
|
+
AnnaSpinnerLoaderComponent,
|
|
109
|
+
AnnaLicensingTableComponent] }); }
|
|
107
110
|
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: AnnaCoreModule, imports: [CommonModule,
|
|
108
111
|
NgbModule,
|
|
109
112
|
FormsModule,
|
|
@@ -128,7 +131,8 @@ export class AnnaCoreModule {
|
|
|
128
131
|
AnnaColumnTimeFilterComponent,
|
|
129
132
|
AnnaColumnCheckboxFilterComponent,
|
|
130
133
|
AnnaColumnSliderFilterComponent,
|
|
131
|
-
AnnaSpinnerLoaderComponent
|
|
134
|
+
AnnaSpinnerLoaderComponent,
|
|
135
|
+
AnnaLicensingTableComponent] }); }
|
|
132
136
|
}
|
|
133
137
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: AnnaCoreModule, decorators: [{
|
|
134
138
|
type: NgModule,
|
|
@@ -179,6 +183,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
|
|
|
179
183
|
FixedRowsPopupTableDirective,
|
|
180
184
|
AnnaEstIconTemplateComponent,
|
|
181
185
|
AnnaSpinnerLoaderComponent,
|
|
186
|
+
AnnaLicensingTableComponent,
|
|
182
187
|
],
|
|
183
188
|
exports: [
|
|
184
189
|
AnnaNoDataComponent,
|
|
@@ -209,7 +214,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
|
|
|
209
214
|
AnnaConvertArrayToCommaSeperatedValue,
|
|
210
215
|
FixedRowsPopupTableDirective,
|
|
211
216
|
AnnaSpinnerLoaderComponent,
|
|
217
|
+
AnnaLicensingTableComponent
|
|
212
218
|
],
|
|
213
219
|
}]
|
|
214
220
|
}] });
|
|
215
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5uYS1jb3JlLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2FubmEtY29yZS9zcmMvbGliL2FubmEtY29yZS5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsNEJBQTRCO0FBQzVCLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN6RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0MsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDeEUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3pELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDN0QsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQzVELE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBRTlELE9BQU8sRUFBRSxzQ0FBc0MsRUFBRSxNQUFNLGlIQUFpSCxDQUFDO0FBQ3pLLE9BQU8sRUFBRSxxQ0FBcUMsRUFBRSxNQUFNLCtHQUErRyxDQUFDO0FBQ3RLLE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxNQUFNLDJGQUEyRixDQUFDO0FBQ3pJLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLCtFQUErRSxDQUFDO0FBQ3hILE9BQU8sRUFBRSw2QkFBNkIsRUFBRSxNQUFNLDZGQUE2RixDQUFDO0FBQzVJLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFN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MUMsaUNBQWlDO3dCQUNqQyxnQ0FBZ0M7d0JBQ2hDLHVCQUF1Qjt3QkFDdkIseUJBQXlCO3dCQUN6QiwyQkFBMkI7d0JBQzNCLGlCQUFpQjt3QkFDakIsb0NBQW9DO3dCQUNwQyxrQkFBa0I7d0JBQ2xCLGtDQUFrQzt3QkFDbEMsNkJBQTZCO3dCQUM3QixpQ0FBaUM7d0JBQ2pDLHFDQUFxQzt3QkFDckMsK0JBQStCO3dCQUMvQixxQkFBcUI7d0JBQ3JCLHFDQUFxQzt3QkFDckMsNEJBQTRCO3dCQUM1Qiw0QkFBNEI7d0JBQzVCLDBCQUEwQjtxQkFDN0I7b0JBQ0QsT0FBTyxFQUFFO3dCQUNMLG1CQUFtQjt3QkFDbkIsMEJBQTBCO3dCQUMxQixvQ0FBb0M7d0JBQ3BDLGtCQUFrQjt3QkFDbEIsbUJBQW1CO3dCQUNuQiwwQkFBMEI7d0JBQzFCLHNDQUFzQzt3QkFDdEMsNkJBQTZCO3dCQUM3QiwrQkFBK0I7d0JBQy9CLDBDQUEwQzt3QkFDMUMsMENBQTBDO3dCQUMxQyxpQ0FBaUM7d0JBQ2pDLGdDQUFnQzt3QkFDaEMsdUJBQXVCO3dCQUN2Qix5QkFBeUI7d0JBQ3pCLDJCQUEyQjt3QkFDM0IsaUJBQWlCO3dCQUNqQixvQ0FBb0M7d0JBQ3BDLGtDQUFrQzt3QkFDbEMsNkJBQTZCO3dCQUM3QixpQ0FBaUM7d0JBQ2pDLGtCQUFrQjt3QkFDbEIscUNBQXFDO3dCQUNyQywrQkFBK0I7d0JBQy9CLHFCQUFxQjt3QkFDckIscUNBQXFDO3dCQUNyQyw0QkFBNEI7d0JBQzVCLDBCQUEwQjtxQkFDN0I7aUJBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQtZGlzYWJsZSBtYXgtbGVuICovXHJcbmltcG9ydCB7IFNjcm9sbGluZ01vZHVsZSB9IGZyb20gXCJAYW5ndWxhci9jZGsvc2Nyb2xsaW5nXCI7XHJcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gXCJAYW5ndWxhci9jb21tb25cIjtcclxuaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQgeyBGb3Jtc01vZHVsZSB9IGZyb20gXCJAYW5ndWxhci9mb3Jtc1wiO1xyXG5pbXBvcnQgeyBNYXRCdXR0b25Ub2dnbGVNb2R1bGUgfSBmcm9tIFwiQGFuZ3VsYXIvbWF0ZXJpYWwvYnV0dG9uLXRvZ2dsZVwiO1xyXG5pbXBvcnQgeyBNYXRSYWRpb01vZHVsZSB9IGZyb20gXCJAYW5ndWxhci9tYXRlcmlhbC9yYWRpb1wiO1xyXG5pbXBvcnQgeyBNYXRUYWJsZU1vZHVsZSB9IGZyb20gXCJAYW5ndWxhci9tYXRlcmlhbC90YWJsZVwiO1xyXG5pbXBvcnQgeyBOZ3hTbGlkZXJNb2R1bGUgfSBmcm9tIFwiQGFuZ3VsYXItc2xpZGVyL25neC1zbGlkZXJcIjtcclxuaW1wb3J0IHsgTmdiTW9kdWxlIH0gZnJvbSBcIkBuZy1ib290c3RyYXAvbmctYm9vdHN0cmFwXCI7XHJcbmltcG9ydCB7IE5nQ2lyY2xlUHJvZ3Jlc3NNb2R1bGUgfSBmcm9tIFwibmctY2lyY2xlLXByb2dyZXNzXCI7XHJcbmltcG9ydCB7IE5neFNrZWxldG9uTG9hZGVyTW9kdWxlIH0gZnJvbSBcIm5neC1za2VsZXRvbi1sb2FkZXJcIjtcclxuXHJcbmltcG9ydCB7IEFubmFCdXllckFwcHJvdmFsSWNvblRlbXBsYXRlQ29tcG9uZW50IH0gZnJvbSBcIi4vYW5uYS1jb3JlLXNoYXJlZC1saWIvY29tcG9uZW50cy9hbm5hLWJ1eWVyLWFwcHJvdmFsLWljb24tdGVtcGxhdGUvYW5uYS1idXllci1hcHByb3ZhbC1pY29uLXRlbXBsYXRlLmNvbXBvbmVudFwiO1xyXG5pbXBvcnQgeyBBbm5hRGVsZXRlZE9yZGVySWNvblRlbXBsYXRlQ29tcG9uZW50IH0gZnJvbSBcIi4vYW5uYS1jb3JlLXNoYXJlZC1saWIvY29tcG9uZW50cy9hbm5hLWRlbGV0ZWQtb3JkZXItaWNvbi10ZW1wbGF0ZS9hbm5hLWRlbGV0ZWQtb3JkZXItaWNvbi10ZW1wbGF0ZS5jb21wb25lbnRcIjtcclxuaW1wb3J0IHsgQW5uYUVzdEljb25UZW1wbGF0ZUNvbXBvbmVudCB9IGZyb20gXCIuL2FubmEtY29yZS1zaGFyZWQtbGliL2NvbXBvbmVudHMvYW5uYS1lc3QtaWNvbi10ZW1wbGF0ZS9hbm5hLWVzdC1pY29uLXRlbXBsYXRlLmNvbXBvbmVudFwiO1xyXG5pbXBvcnQgeyBBbm5hSWNvbkNvbHVtbkNvbXBvbmVudCB9IGZyb20gXCIuL2FubmEtY29yZS1zaGFyZWQtbGliL2NvbXBvbmVudHMvYW5uYS1pY29uLWNvbHVtbi9hbm5hLWljb24tY29sdW1uLmNvbXBvbmVudFwiO1xyXG5pbXBvcnQgeyBBbm5hTGl2ZUljb25UZW1wbGF0ZUNvbXBvbmVudCB9IGZyb20gXCIuL2FubmEtY29yZS1zaGFyZWQtbGliL2NvbXBvbmVudHMvYW5uYS1saXZlLWljb24tdGVtcGxhdGUvYW5uYS1saXZlLWljb24tdGVtcGxhdGUuY29tcG9uZW50XCI7XHJcbmltcG9ydCB7IEFubmFOb0RhdGFDb21wb25lbnQgfSBmcm9tIFwiLi9hbm5hLWNvcmUtc2hhcmVkLWxpYi9jb21wb25lbnRzL2FubmEtbm8tZGF0YS9hbm5hLW5vLWRhdGEuY29tcG9uZW50XCI7XHJcbmltcG9ydCB7IEFubmFOb3RpZnlJY29uVGVtcGxhdGVDb21wb25lbnQgfSBmcm9tIFwiLi9hbm5hLWNvcmUtc2hhcmVkLWxpYi9jb21wb25lbnRzL2FubmEtbm90aWZ5LWljb24tdGVtcGxhdGUvYW5uYS1ub3RpZnktaWNvbi10ZW1wbGF0ZS5jb21wb25lbnRcIjtcclxuaW1wb3J0IHsgQW5uYVBheUZvclBlcmZvcm1hbmNlSWNvblRlbXBsYXRlQ29tcG9uZW50IH0gZnJvbSBcIi4vYW5uYS1jb3JlLXNoYXJlZC1saWIvY29tcG9uZW50cy9hbm5hLXBheS1mb3ItcGVyZm9ybWFuY2UtaWNvbi10ZW1wbGF0ZS9hbm5hLXBheS1mb3ItcGVyZm9ybWFuY2UtaWNvbi10ZW1wbGF0ZS5jb21wb25lbnRcIjtcclxuaW1wb3J0IHsgQW5uYVJlamVjdGVkSWNvblRlbXBsYXRlQ29tcG9uZW50IH0gZnJvbSBcIi4vYW5uYS1jb3JlLXNoYXJlZC1saWIvY29tcG9uZW50cy9hbm5hLXJlamVjdGVkLWljb24tdGVtcGxhdGUvYW5uYS1yZWplY3RlZC1pY29uLXRlbXBsYXRlLmNvbXBvbmVudFwiO1xyXG5pbXBvcnQgeyBBbm5hU3Bpbm5lckxvYWRlckNvbXBvbmVudCB9IGZyb20gXCIuL2FubmEtY29yZS1zaGFyZWQtbGliL2NvbXBvbmVudHMvYW5uYS1zcGlubmVyLWxvYWRlci9hbm5hLXNwaW5uZXItbG9hZGVyLmNvbXBvbmVudFwiO1xyXG5pbXBvcnQgeyBEaWdpdE9ubHlEaXJlY3RpdmUgfSBmcm9tIFwiLi9hbm5hLWNvcmUtc2hhcmVkLWxpYi9kaXJlY3RpdmVzL2RpZ2l0cy1vbmx5L2RpZ2l0cy1vbmx5LmRpcmVjdGl2ZVwiO1xyXG5pbXBvcnQgeyBGaXhlZFJvd3NQb3B1cFRhYmxlRGlyZWN0aXZlIH0gZnJvbSBcIi4vYW5uYS1jb3JlLXNoYXJlZC1saWIvZGlyZWN0aXZlcy9maXhlZC1yb3dzLXBvcHVwLXRhYmxlL2ZpeGVkLXJvd3MtcG9wdXAtdGFibGUuZGlyZWN0aXZlXCI7XHJcbmltcG9ydCB7IFNob3dFbGxpcHNpc1RleHRPbkhvdmVyRGlyZWN0aXZlIH0gZnJvbSBcIi4vYW5uYS1jb3JlLXNoYXJlZC1saWIvZGlyZWN0aXZlcy9zaG93LWVsbGlwc2lzLXRleHQvc2hvdy1lbGxpcHNpcy10ZXh0LmRpcmVjdGl2ZVwiO1xyXG5pbXBvcnQgeyBBbm5hQ29udmVydEFycmF5VG9Db21tYVNlcGVyYXRlZFZhbHVlIH0gZnJvbSBcIi4vYW5uYS1jb3JlLXNoYXJlZC1saWIvcGlwZXMvYW5uYUNvbnZlcnRBcnJheVRvQ29tbWFTZXBlcmF0ZWRWYWx1ZS5waXBlXCI7XHJcbmltcG9ydCB7IEFubmFDb252ZXJ0WmVyb09yTnVsbE9yVW5kZWZpbmVkUGlwZSB9IGZyb20gXCIuL2FubmEtY29yZS1zaGFyZWQtbGliL3BpcGVzL2FubmFDb252ZXJ0WmVyb09yTnVsbE9yVW5kZWZpbmVkLnBpcGVcIjtcclxuaW1wb3J0IHsgQW5uYURhdGVGb3JtYXR0ZXJQaXBlIH0gZnJvbSBcIi4vYW5uYS1jb3JlLXNoYXJlZC1saWIvcGlwZXMvYW5uYURhdGVGb3JtYXR0ZXIucGlwZVwiO1xyXG5pbXBvcnQgeyBBbm5hRmlsdGVyU2VhcmNoZWRUZXh0UGlwZSB9IGZyb20gXCIuL2FubmEtY29yZS1zaGFyZWQtbGliL3BpcGVzL2FubmFGaWx0ZXJTZWFyY2hlZFRleHQucGlwZVwiO1xyXG5pbXBvcnQgeyBBbm5hUmVwbGFjZUNoYXJQaXBlIH0gZnJvbSBcIi4vYW5uYS1jb3JlLXNoYXJlZC1saWIvcGlwZXMvYW5uYVJlcGxhY2VDaGFyLnBpcGVcIjtcclxuaW1wb3J0IHsgQW5uYVR5cGVvZkRhdGFQaXBlIH0gZnJvbSBcIi4vYW5uYS1jb3JlLXNoYXJlZC1saWIvcGlwZXMvYW5uYVR5cGVPZkRhdGEucGlwZVwiO1xyXG5pbXBvcnQgeyBBbm5hQ2FsZW5kYXJGaWx0ZXJDb21wb25lbnQgfSBmcm9tIFwiLi9hbm5hLWRyb3Bkb3duLWxpYi9jb21wb25lbnRzL2FubmEtY2FsZW5kYXItZmlsdGVyL2FubmEtY2FsZW5kYXItZmlsdGVyLmNvbXBvbmVudFwiO1xyXG5pbXBvcnQgeyBBbm5hV2Vla0NhbGVuZGFyQ29tcG9uZW50IH0gZnJvbSBcIi4vYW5uYS1kcm9wZG93bi1saWIvY29tcG9uZW50cy9hbm5hLXdlZWstY2FsZW5kYXItZmlsdGVyL2FubmEtd2Vlay1jYWxlbmRhci1maWx0ZXIuY29tcG9uZW50XCI7XHJcbmltcG9ydCB7IEFubmFDb2x1bW5DaGVja2JveEZpbHRlckNvbXBvbmVudCB9IGZyb20gXCIuL2FubmEtZ2VuZXJpYy10YWJsZS1saWIvY29tcG9uZW50cy9hbm5hLWNvbHVtbi1maWx0ZXJzL2FubmEtY29sdW1uLWNoZWNrYm94LWZpbHRlci9hbm5hLWNvbHVtbi1jaGVja2JveC1maWx0ZXIuY29tcG9uZW50XCI7XHJcbmltcG9ydCB7IEFubmFDb2x1bW5EYXRlUmFuZ2VGaWx0ZXJDb21wb25lbnQgfSBmcm9tIFwiLi9hbm5hLWdlbmVyaWMtdGFibGUtbGliL2NvbXBvbmVudHMvYW5uYS1jb2x1bW4tZmlsdGVycy9hbm5hLWNvbHVtbi1kYXRlLXJhbmdlLWZpbHRlci9hbm5hLWNvbHVtbi1kYXRlLXJhbmdlLWZpbHRlci5jb21wb25lbnRcIjtcclxuaW1wb3J0IHsgQW5uYUNvbHVtblNsaWRlckZpbHRlckNvbXBvbmVudCB9IGZyb20gXCIuL2FubmEtZ2VuZXJpYy10YWJsZS1saWIvY29tcG9uZW50cy9hbm5hLWNvbHVtbi1maWx0ZXJzL2FubmEtY29sdW1uLXNsaWRlci1maWx0ZXIvYW5uYS1jb2x1bW4tc2xpZGVyLWZpbHRlci5jb21wb25lbnRcIjtcclxuaW1wb3J0IHsgQW5uYUNvbHVtblRpbWVGaWx0ZXJDb21wb25lbnQgfSBmcm9tIFwiLi9hbm5hLWdlbmVyaWMtdGFibGUtbGliL2NvbXBvbmVudHMvYW5uYS1jb2x1bW4tZmlsdGVycy9hbm5hLWNvbHVtbi10aW1lLWZpbHRlci9hbm5hLWNvbHVtbi10aW1lLWZpbHRlci5jb21wb25lbnRcIjtcclxuaW1wb3J0IHsgQW5uYU5vbkVkaXRhYmxlR2VuZXJpY1RhYmxlQ29tcG9uZW50IH0gZnJvbSBcIi4vYW5uYS1nZW5lcmljLXRhYmxlLWxpYi9jb21wb25lbnRzL2FubmEtbm9uLWVkaXRhYmxlLWdlbmVyaWMtdGFibGUvYW5uYS1ub24tZWRpdGFibGUtZ2VuZXJpYy10YWJsZS5jb21wb25lbnRcIjtcclxuaW1wb3J0IHsgQW5uYVNvcnRDb21wb25lbnQgfSBmcm9tIFwiLi9hbm5hLWdlbmVyaWMtdGFibGUtbGliL2NvbXBvbmVudHMvYW5uYS1zb3J0L2FubmEtc29ydC5jb21wb25lbnRcIjtcclxuXHJcbkBOZ01vZHVsZSh7XHJcbiAgICBpbXBvcnRzOiBbXHJcbiAgICAgICAgQ29tbW9uTW9kdWxlLFxyXG4gICAgICAgIE5nYk1vZHVsZSxcclxuICAgICAgICBGb3Jtc01vZHVsZSxcclxuICAgICAgICBNYXRSYWRpb01vZHVsZSxcclxuICAgICAgICBNYXRCdXR0b25Ub2dnbGVNb2R1bGUsXHJcbiAgICAgICAgTWF0VGFibGVNb2R1bGUsXHJcbiAgICAgICAgTmd4U2xpZGVyTW9kdWxlLFxyXG4gICAgICAgIE5neFNrZWxldG9uTG9hZGVyTW9kdWxlLFxyXG4gICAgICAgIFNjcm9sbGluZ01vZHVsZSxcclxuICAgICAgICBOZ0NpcmNsZVByb2dyZXNzTW9kdWxlLmZvclJvb3Qoe1xyXG4gICAgICAgICAgICByYWRpdXM6IDEwMCxcclxuICAgICAgICAgICAgb3V0ZXJTdHJva2VXaWR0aDogMTYsXHJcbiAgICAgICAgICAgIGlubmVyU3Ryb2tlV2lkdGg6IDgsXHJcbiAgICAgICAgICAgIG91dGVyU3Ryb2tlQ29sb3I6IFwiIzc4QzAwMFwiLFxyXG4gICAgICAgICAgICBpbm5lclN0cm9rZUNvbG9yOiBcIiNDN0U1OTZcIixcclxuICAgICAgICAgICAgYW5pbWF0aW9uRHVyYXRpb246IDMwMCxcclxuICAgICAgICB9KSxcclxuICAgICAgICBBbm5hTm9EYXRhQ29tcG9uZW50LFxyXG4gICAgICAgIEFubmFGaWx0ZXJTZWFyY2hlZFRleHRQaXBlLFxyXG4gICAgICAgIEFubmFDb252ZXJ0WmVyb09yTnVsbE9yVW5kZWZpbmVkUGlwZSxcclxuICAgICAgICBBbm5hVHlwZW9mRGF0YVBpcGUsXHJcbiAgICAgICAgQW5uYUZpbHRlclNlYXJjaGVkVGV4dFBpcGUsXHJcbiAgICAgICAgQW5uYVJlcGxhY2VDaGFyUGlwZSxcclxuICAgICAgICBBbm5hQnV5ZXJBcHByb3ZhbEljb25UZW1wbGF0ZUNvbXBvbmVudCxcclxuICAgICAgICBBbm5hTGl2ZUljb25UZW1wbGF0ZUNvbXBvbmVudCxcclxuICAgICAgICBBbm5hTm90aWZ5SWNvblRlbXBsYXRlQ29tcG9uZW50LFxyXG4gICAgICAgIEFubmFQYXlGb3JQZXJmb3JtYW5jZUljb25UZW1wbGF0ZUNvbXBvbmVudCxcclxuICAgICAgICBBbm5hUmVqZWN0ZWRJY29uVGVtcGxhdGVDb21wb25lbnQsXHJcbiAgICAgICAgU2hvd0VsbGlwc2lzVGV4dE9uSG92ZXJEaXJlY3RpdmUsXHJcbiAgICAgICAgQW5uYUljb25Db2x1bW5Db21wb25lbnQsXHJcbiAgICAgICAgQW5uYVdlZWtDYWxlbmRhckNvbXBvbmVudCxcclxuICAgICAgICBBbm5hQ2FsZW5kYXJGaWx0ZXJDb21wb25lbnQsXHJcbiAgICAgICAgQW5uYVNvcnRDb21wb25lbnQsXHJcbiAgICAgICAgQW5uYU5vbkVkaXRhYmxlR2VuZXJpY1RhYmxlQ29tcG9uZW50LFxyXG4gICAgICAgIERpZ2l0T25seURpcmVjdGl2ZSxcclxuICAgICAgICBBbm5hQ29sdW1uRGF0ZVJhbmdlRmlsdGVyQ29tcG9uZW50LFxyXG4gICAgICAgIEFubmFDb2x1bW5UaW1lRmlsdGVyQ29tcG9uZW50LFxyXG4gICAgICAgIEFubmFDb2x1bW5DaGVja2JveEZpbHRlckNvbXBvbmVudCxcclxuICAgICAgICBBbm5hRGVsZXRlZE9yZGVySWNvblRlbXBsYXRlQ29tcG9uZW50LFxyXG4gICAgICAgIEFubmFDb2x1bW5TbGlkZXJGaWx0ZXJDb21wb25lbnQsXHJcbiAgICAgICAgQW5uYURhdGVGb3JtYXR0ZXJQaXBlLFxyXG4gICAgICAgIEFubmFDb252ZXJ0QXJyYXlUb0NvbW1hU2VwZXJhdGVkVmFsdWUsXHJcbiAgICAgICAgRml4ZWRSb3dzUG9wdXBUYWJsZURpcmVjdGl2ZSxcclxuICAgICAgICBBbm5hRXN0SWNvblRlbXBsYXRlQ29tcG9uZW50LFxyXG4gICAgICAgIEFubmFTcGlubmVyTG9hZGVyQ29tcG9uZW50LFxyXG4gICAgXSxcclxuICAgIGV4cG9ydHM6IFtcclxuICAgICAgICBBbm5hTm9EYXRhQ29tcG9uZW50LFxyXG4gICAgICAgIEFubmFGaWx0ZXJTZWFyY2hlZFRleHRQaXBlLFxyXG4gICAgICAgIEFubmFDb252ZXJ0WmVyb09yTnVsbE9yVW5kZWZpbmVkUGlwZSxcclxuICAgICAgICBBbm5hVHlwZW9mRGF0YVBpcGUsXHJcbiAgICAgICAgQW5uYVJlcGxhY2VDaGFyUGlwZSxcclxuICAgICAgICBBbm5hRmlsdGVyU2VhcmNoZWRUZXh0UGlwZSxcclxuICAgICAgICBBbm5hQnV5ZXJBcHByb3ZhbEljb25UZW1wbGF0ZUNvbXBvbmVudCxcclxuICAgICAgICBBbm5hTGl2ZUljb25UZW1wbGF0ZUNvbXBvbmVudCxcclxuICAgICAgICBBbm5hTm90aWZ5SWNvblRlbXBsYXRlQ29tcG9uZW50LFxyXG4gICAgICAgIEFubmFQYXlGb3JQZXJmb3JtYW5jZUljb25UZW1wbGF0ZUNvbXBvbmVudCxcclxuICAgICAgICBBbm5hUGF5Rm9yUGVyZm9ybWFuY2VJY29uVGVtcGxhdGVDb21wb25lbnQsXHJcbiAgICAgICAgQW5uYVJlamVjdGVkSWNvblRlbXBsYXRlQ29tcG9uZW50LFxyXG4gICAgICAgIFNob3dFbGxpcHNpc1RleHRPbkhvdmVyRGlyZWN0aXZlLFxyXG4gICAgICAgIEFubmFJY29uQ29sdW1uQ29tcG9uZW50LFxyXG4gICAgICAgIEFubmFXZWVrQ2FsZW5kYXJDb21wb25lbnQsXHJcbiAgICAgICAgQW5uYUNhbGVuZGFyRmlsdGVyQ29tcG9uZW50LFxyXG4gICAgICAgIEFubmFTb3J0Q29tcG9uZW50LFxyXG4gICAgICAgIEFubmFOb25FZGl0YWJsZUdlbmVyaWNUYWJsZUNvbXBvbmVudCxcclxuICAgICAgICBBbm5hQ29sdW1uRGF0ZVJhbmdlRmlsdGVyQ29tcG9uZW50LFxyXG4gICAgICAgIEFubmFDb2x1bW5UaW1lRmlsdGVyQ29tcG9uZW50LFxyXG4gICAgICAgIEFubmFDb2x1bW5DaGVja2JveEZpbHRlckNvbXBvbmVudCxcclxuICAgICAgICBEaWdpdE9ubHlEaXJlY3RpdmUsXHJcbiAgICAgICAgQW5uYURlbGV0ZWRPcmRlckljb25UZW1wbGF0ZUNvbXBvbmVudCxcclxuICAgICAgICBBbm5hQ29sdW1uU2xpZGVyRmlsdGVyQ29tcG9uZW50LFxyXG4gICAgICAgIEFubmFEYXRlRm9ybWF0dGVyUGlwZSxcclxuICAgICAgICBBbm5hQ29udmVydEFycmF5VG9Db21tYVNlcGVyYXRlZFZhbHVlLFxyXG4gICAgICAgIEZpeGVkUm93c1BvcHVwVGFibGVEaXJlY3RpdmUsXHJcbiAgICAgICAgQW5uYVNwaW5uZXJMb2FkZXJDb21wb25lbnQsXHJcbiAgICBdLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgQW5uYUNvcmVNb2R1bGUge31cclxuIl19
|
|
221
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5uYS1jb3JlLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2FubmEtY29yZS9zcmMvbGliL2FubmEtY29yZS5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsNEJBQTRCO0FBQzVCLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN6RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0MsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDeEUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3pELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDN0QsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQzVELE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBRTlELE9BQU8sRUFBRSxzQ0FBc0MsRUFBRSxNQUFNLGlIQUFpSCxDQUFDO0FBQ3pLLE9BQU8sRUFBRSxxQ0FBcUMsRUFBRSxNQUFNLCtHQUErRyxDQUFDO0FBQ3RLLE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxNQUFNLDJGQUEyRixDQUFDO0FBQ3pJLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLCtFQUErRSxDQUFDO0FBQ3hILE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLHVGQUF1RixDQUFDO0FBQ3BJLE9BQU8sRUFBRSw2QkFBNkIsRUFBRSxNQUFN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bEIsMEJBQTBCO3dCQUMxQixtQkFBbUI7d0JBQ25CLHNDQUFzQzt3QkFDdEMsNkJBQTZCO3dCQUM3QiwrQkFBK0I7d0JBQy9CLDBDQUEwQzt3QkFDMUMsaUNBQWlDO3dCQUNqQyxnQ0FBZ0M7d0JBQ2hDLHVCQUF1Qjt3QkFDdkIseUJBQXlCO3dCQUN6QiwyQkFBMkI7d0JBQzNCLGlCQUFpQjt3QkFDakIsb0NBQW9DO3dCQUNwQyxrQkFBa0I7d0JBQ2xCLGtDQUFrQzt3QkFDbEMsNkJBQTZCO3dCQUM3QixpQ0FBaUM7d0JBQ2pDLHFDQUFxQzt3QkFDckMsK0JBQStCO3dCQUMvQixxQkFBcUI7d0JBQ3JCLHFDQUFxQzt3QkFDckMsNEJBQTRCO3dCQUM1Qiw0QkFBNEI7d0JBQzVCLDBCQUEwQjt3QkFDMUIsMkJBQTJCO3FCQUM5QjtvQkFDRCxPQUFPLEVBQUU7d0JBQ0wsbUJBQW1CO3dCQUNuQiwwQkFBMEI7d0JBQzFCLG9DQUFvQzt3QkFDcEMsa0JBQWtCO3dCQUNsQixtQkFBbUI7d0JBQ25CLDBCQUEwQjt3QkFDMUIsc0NBQXNDO3dCQUN0Qyw2QkFBNkI7d0JBQzdCLCtCQUErQjt3QkFDL0IsMENBQTBDO3dCQUMxQywwQ0FBMEM7d0JBQzFDLGlDQUFpQzt3QkFDakMsZ0NBQWdDO3dCQUNoQyx1QkFBdUI7d0JBQ3ZCLHlCQUF5Qjt3QkFDekIsMkJBQTJCO3dCQUMzQixpQkFBaUI7d0JBQ2pCLG9DQUFvQzt3QkFDcEMsa0NBQWtDO3dCQUNsQyw2QkFBNkI7d0JBQzdCLGlDQUFpQzt3QkFDakMsa0JBQWtCO3dCQUNsQixxQ0FBcUM7d0JBQ3JDLCtCQUErQjt3QkFDL0IscUJBQXFCO3dCQUNyQixxQ0FBcUM7d0JBQ3JDLDRCQUE0Qjt3QkFDNUIsMEJBQTBCO3dCQUMxQiwyQkFBMkI7cUJBQzlCO2lCQUNKIiwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgbWF4LWxlbiAqL1xyXG5pbXBvcnQgeyBTY3JvbGxpbmdNb2R1bGUgfSBmcm9tIFwiQGFuZ3VsYXIvY2RrL3Njcm9sbGluZ1wiO1xyXG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tIFwiQGFuZ3VsYXIvY29tbW9uXCI7XHJcbmltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHsgRm9ybXNNb2R1bGUgfSBmcm9tIFwiQGFuZ3VsYXIvZm9ybXNcIjtcclxuaW1wb3J0IHsgTWF0QnV0dG9uVG9nZ2xlTW9kdWxlIH0gZnJvbSBcIkBhbmd1bGFyL21hdGVyaWFsL2J1dHRvbi10b2dnbGVcIjtcclxuaW1wb3J0IHsgTWF0UmFkaW9Nb2R1bGUgfSBmcm9tIFwiQGFuZ3VsYXIvbWF0ZXJpYWwvcmFkaW9cIjtcclxuaW1wb3J0IHsgTWF0VGFibGVNb2R1bGUgfSBmcm9tIFwiQGFuZ3VsYXIvbWF0ZXJpYWwvdGFibGVcIjtcclxuaW1wb3J0IHsgTmd4U2xpZGVyTW9kdWxlIH0gZnJvbSBcIkBhbmd1bGFyLXNsaWRlci9uZ3gtc2xpZGVyXCI7XHJcbmltcG9ydCB7IE5nYk1vZHVsZSB9IGZyb20gXCJAbmctYm9vdHN0cmFwL25nLWJvb3RzdHJhcFwiO1xyXG5pbXBvcnQgeyBOZ0NpcmNsZVByb2dyZXNzTW9kdWxlIH0gZnJvbSBcIm5nLWNpcmNsZS1wcm9ncmVzc1wiO1xyXG5pbXBvcnQgeyBOZ3hTa2VsZXRvbkxvYWRlck1vZHVsZSB9IGZyb20gXCJuZ3gtc2tlbGV0b24tbG9hZGVyXCI7XHJcblxyXG5pbXBvcnQgeyBBbm5hQnV5ZXJBcHByb3ZhbEljb25UZW1wbGF0ZUNvbXBvbmVudCB9IGZyb20gXCIuL2FubmEtY29yZS1zaGFyZWQtbGliL2NvbXBvbmVudHMvYW5uYS1idXllci1hcHByb3ZhbC1pY29uLXRlbXBsYXRlL2FubmEtYnV5ZXItYXBwcm92YWwtaWNvbi10ZW1wbGF0ZS5jb21wb25lbnRcIjtcclxuaW1wb3J0IHsgQW5uYURlbGV0ZWRPcmRlckljb25UZW1wbGF0ZUNvbXBvbmVudCB9IGZyb20gXCIuL2FubmEtY29yZS1zaGFyZWQtbGliL2NvbXBvbmVudHMvYW5uYS1kZWxldGVkLW9yZGVyLWljb24tdGVtcGxhdGUvYW5uYS1kZWxldGVkLW9yZGVyLWljb24tdGVtcGxhdGUuY29tcG9uZW50XCI7XHJcbmltcG9ydCB7IEFubmFFc3RJY29uVGVtcGxhdGVDb21wb25lbnQgfSBmcm9tIFwiLi9hbm5hLWNvcmUtc2hhcmVkLWxpYi9jb21wb25lbnRzL2FubmEtZXN0LWljb24tdGVtcGxhdGUvYW5uYS1lc3QtaWNvbi10ZW1wbGF0ZS5jb21wb25lbnRcIjtcclxuaW1wb3J0IHsgQW5uYUljb25Db2x1bW5Db21wb25lbnQgfSBmcm9tIFwiLi9hbm5hLWNvcmUtc2hhcmVkLWxpYi9jb21wb25lbnRzL2FubmEtaWNvbi1jb2x1bW4vYW5uYS1pY29uLWNvbHVtbi5jb21wb25lbnRcIjtcclxuaW1wb3J0IHsgQW5uYUxpY2Vuc2luZ1RhYmxlQ29tcG9uZW50IH0gZnJvbSBcIi4vYW5uYS1jb3JlLXNoYXJlZC1saWIvY29tcG9uZW50cy9hbm5hLWxpY2Vuc2luZy10YWJsZS9hbm5hLWxpY2Vuc2luZy10YWJsZS5jb21wb25lbnRcIjtcclxuaW1wb3J0IHsgQW5uYUxpdmVJY29uVGVtcGxhdGVDb21wb25lbnQgfSBmcm9tIFwiLi9hbm5hLWNvcmUtc2hhcmVkLWxpYi9jb21wb25lbnRzL2FubmEtbGl2ZS1pY29uLXRlbXBsYXRlL2FubmEtbGl2ZS1pY29uLXRlbXBsYXRlLmNvbXBvbmVudFwiO1xyXG5pbXBvcnQgeyBBbm5hTm9EYXRhQ29tcG9uZW50IH0gZnJvbSBcIi4vYW5uYS1jb3JlLXNoYXJlZC1saWIvY29tcG9uZW50cy9hbm5hLW5vLWRhdGEvYW5uYS1uby1kYXRhLmNvbXBvbmVudFwiO1xyXG5pbXBvcnQgeyBBbm5hTm90aWZ5SWNvblRlbXBsYXRlQ29tcG9uZW50IH0gZnJvbSBcIi4vYW5uYS1jb3JlLXNoYXJlZC1saWIvY29tcG9uZW50cy9hbm5hLW5vdGlmeS1pY29uLXRlbXBsYXRlL2FubmEtbm90aWZ5LWljb24tdGVtcGxhdGUuY29tcG9uZW50XCI7XHJcbmltcG9ydCB7IEFubmFQYXlGb3JQZXJmb3JtYW5jZUljb25UZW1wbGF0ZUNvbXBvbmVudCB9IGZyb20gXCIuL2FubmEtY29yZS1zaGFyZWQtbGliL2NvbXBvbmVudHMvYW5uYS1wYXktZm9yLXBlcmZvcm1hbmNlLWljb24tdGVtcGxhdGUvYW5uYS1wYXktZm9yLXBlcmZvcm1hbmNlLWljb24tdGVtcGxhdGUuY29tcG9uZW50XCI7XHJcbmltcG9ydCB7IEFubmFSZWplY3RlZEljb25UZW1wbGF0ZUNvbXBvbmVudCB9IGZyb20gXCIuL2FubmEtY29yZS1zaGFyZWQtbGliL2NvbXBvbmVudHMvYW5uYS1yZWplY3RlZC1pY29uLXRlbXBsYXRlL2FubmEtcmVqZWN0ZWQtaWNvbi10ZW1wbGF0ZS5jb21wb25lbnRcIjtcclxuaW1wb3J0IHsgQW5uYVNwaW5uZXJMb2FkZXJDb21wb25lbnQgfSBmcm9tIFwiLi9hbm5hLWNvcmUtc2hhcmVkLWxpYi9jb21wb25lbnRzL2FubmEtc3Bpbm5lci1sb2FkZXIvYW5uYS1zcGlubmVyLWxvYWRlci5jb21wb25lbnRcIjtcclxuaW1wb3J0IHsgRGlnaXRPbmx5RGlyZWN0aXZlIH0gZnJvbSBcIi4vYW5uYS1jb3JlLXNoYXJlZC1saWIvZGlyZWN0aXZlcy9kaWdpdHMtb25seS9kaWdpdHMtb25seS5kaXJlY3RpdmVcIjtcclxuaW1wb3J0IHsgRml4ZWRSb3dzUG9wdXBUYWJsZURpcmVjdGl2ZSB9IGZyb20gXCIuL2FubmEtY29yZS1zaGFyZWQtbGliL2RpcmVjdGl2ZXMvZml4ZWQtcm93cy1wb3B1cC10YWJsZS9maXhlZC1yb3dzLXBvcHVwLXRhYmxlLmRpcmVjdGl2ZVwiO1xyXG5pbXBvcnQgeyBTaG93RWxsaXBzaXNUZXh0T25Ib3ZlckRpcmVjdGl2ZSB9IGZyb20gXCIuL2FubmEtY29yZS1zaGFyZWQtbGliL2RpcmVjdGl2ZXMvc2hvdy1lbGxpcHNpcy10ZXh0L3Nob3ctZWxsaXBzaXMtdGV4dC5kaXJlY3RpdmVcIjtcclxuaW1wb3J0IHsgQW5uYUNvbnZlcnRBcnJheVRvQ29tbWFTZXBlcmF0ZWRWYWx1ZSB9IGZyb20gXCIuL2FubmEtY29yZS1zaGFyZWQtbGliL3BpcGVzL2FubmFDb252ZXJ0QXJyYXlUb0NvbW1hU2VwZXJhdGVkVmFsdWUucGlwZVwiO1xyXG5pbXBvcnQgeyBBbm5hQ29udmVydFplcm9Pck51bGxPclVuZGVmaW5lZFBpcGUgfSBmcm9tIFwiLi9hbm5hLWNvcmUtc2hhcmVkLWxpYi9waXBlcy9hbm5hQ29udmVydFplcm9Pck51bGxPclVuZGVmaW5lZC5waXBlXCI7XHJcbmltcG9ydCB7IEFubmFEYXRlRm9ybWF0dGVyUGlwZSB9IGZyb20gXCIuL2FubmEtY29yZS1zaGFyZWQtbGliL3BpcGVzL2FubmFEYXRlRm9ybWF0dGVyLnBpcGVcIjtcclxuaW1wb3J0IHsgQW5uYUZpbHRlclNlYXJjaGVkVGV4dFBpcGUgfSBmcm9tIFwiLi9hbm5hLWNvcmUtc2hhcmVkLWxpYi9waXBlcy9hbm5hRmlsdGVyU2VhcmNoZWRUZXh0LnBpcGVcIjtcclxuaW1wb3J0IHsgQW5uYVJlcGxhY2VDaGFyUGlwZSB9IGZyb20gXCIuL2FubmEtY29yZS1zaGFyZWQtbGliL3BpcGVzL2FubmFSZXBsYWNlQ2hhci5waXBlXCI7XHJcbmltcG9ydCB7IEFubmFUeXBlb2ZEYXRhUGlwZSB9IGZyb20gXCIuL2FubmEtY29yZS1zaGFyZWQtbGliL3BpcGVzL2FubmFUeXBlT2ZEYXRhLnBpcGVcIjtcclxuaW1wb3J0IHsgQW5uYUNhbGVuZGFyRmlsdGVyQ29tcG9uZW50IH0gZnJvbSBcIi4vYW5uYS1kcm9wZG93bi1saWIvY29tcG9uZW50cy9hbm5hLWNhbGVuZGFyLWZpbHRlci9hbm5hLWNhbGVuZGFyLWZpbHRlci5jb21wb25lbnRcIjtcclxuaW1wb3J0IHsgQW5uYVdlZWtDYWxlbmRhckNvbXBvbmVudCB9IGZyb20gXCIuL2FubmEtZHJvcGRvd24tbGliL2NvbXBvbmVudHMvYW5uYS13ZWVrLWNhbGVuZGFyLWZpbHRlci9hbm5hLXdlZWstY2FsZW5kYXItZmlsdGVyLmNvbXBvbmVudFwiO1xyXG5pbXBvcnQgeyBBbm5hQ29sdW1uQ2hlY2tib3hGaWx0ZXJDb21wb25lbnQgfSBmcm9tIFwiLi9hbm5hLWdlbmVyaWMtdGFibGUtbGliL2NvbXBvbmVudHMvYW5uYS1jb2x1bW4tZmlsdGVycy9hbm5hLWNvbHVtbi1jaGVja2JveC1maWx0ZXIvYW5uYS1jb2x1bW4tY2hlY2tib3gtZmlsdGVyLmNvbXBvbmVudFwiO1xyXG5pbXBvcnQgeyBBbm5hQ29sdW1uRGF0ZVJhbmdlRmlsdGVyQ29tcG9uZW50IH0gZnJvbSBcIi4vYW5uYS1nZW5lcmljLXRhYmxlLWxpYi9jb21wb25lbnRzL2FubmEtY29sdW1uLWZpbHRlcnMvYW5uYS1jb2x1bW4tZGF0ZS1yYW5nZS1maWx0ZXIvYW5uYS1jb2x1bW4tZGF0ZS1yYW5nZS1maWx0ZXIuY29tcG9uZW50XCI7XHJcbmltcG9ydCB7IEFubmFDb2x1bW5TbGlkZXJGaWx0ZXJDb21wb25lbnQgfSBmcm9tIFwiLi9hbm5hLWdlbmVyaWMtdGFibGUtbGliL2NvbXBvbmVudHMvYW5uYS1jb2x1bW4tZmlsdGVycy9hbm5hLWNvbHVtbi1zbGlkZXItZmlsdGVyL2FubmEtY29sdW1uLXNsaWRlci1maWx0ZXIuY29tcG9uZW50XCI7XHJcbmltcG9ydCB7IEFubmFDb2x1bW5UaW1lRmlsdGVyQ29tcG9uZW50IH0gZnJvbSBcIi4vYW5uYS1nZW5lcmljLXRhYmxlLWxpYi9jb21wb25lbnRzL2FubmEtY29sdW1uLWZpbHRlcnMvYW5uYS1jb2x1bW4tdGltZS1maWx0ZXIvYW5uYS1jb2x1bW4tdGltZS1maWx0ZXIuY29tcG9uZW50XCI7XHJcbmltcG9ydCB7IEFubmFOb25FZGl0YWJsZUdlbmVyaWNUYWJsZUNvbXBvbmVudCB9IGZyb20gXCIuL2FubmEtZ2VuZXJpYy10YWJsZS1saWIvY29tcG9uZW50cy9hbm5hLW5vbi1lZGl0YWJsZS1nZW5lcmljLXRhYmxlL2FubmEtbm9uLWVkaXRhYmxlLWdlbmVyaWMtdGFibGUuY29tcG9uZW50XCI7XHJcbmltcG9ydCB7IEFubmFTb3J0Q29tcG9uZW50IH0gZnJvbSBcIi4vYW5uYS1nZW5lcmljLXRhYmxlLWxpYi9jb21wb25lbnRzL2FubmEtc29ydC9hbm5hLXNvcnQuY29tcG9uZW50XCI7XHJcblxyXG5ATmdNb2R1bGUoe1xyXG4gICAgaW1wb3J0czogW1xyXG4gICAgICAgIENvbW1vbk1vZHVsZSxcclxuICAgICAgICBOZ2JNb2R1bGUsXHJcbiAgICAgICAgRm9ybXNNb2R1bGUsXHJcbiAgICAgICAgTWF0UmFkaW9Nb2R1bGUsXHJcbiAgICAgICAgTWF0QnV0dG9uVG9nZ2xlTW9kdWxlLFxyXG4gICAgICAgIE1hdFRhYmxlTW9kdWxlLFxyXG4gICAgICAgIE5neFNsaWRlck1vZHVsZSxcclxuICAgICAgICBOZ3hTa2VsZXRvbkxvYWRlck1vZHVsZSxcclxuICAgICAgICBTY3JvbGxpbmdNb2R1bGUsXHJcbiAgICAgICAgTmdDaXJjbGVQcm9ncmVzc01vZHVsZS5mb3JSb290KHtcclxuICAgICAgICAgICAgcmFkaXVzOiAxMDAsXHJcbiAgICAgICAgICAgIG91dGVyU3Ryb2tlV2lkdGg6IDE2LFxyXG4gICAgICAgICAgICBpbm5lclN0cm9rZVdpZHRoOiA4LFxyXG4gICAgICAgICAgICBvdXRlclN0cm9rZUNvbG9yOiBcIiM3OEMwMDBcIixcclxuICAgICAgICAgICAgaW5uZXJTdHJva2VDb2xvcjogXCIjQzdFNTk2XCIsXHJcbiAgICAgICAgICAgIGFuaW1hdGlvbkR1cmF0aW9uOiAzMDAsXHJcbiAgICAgICAgfSksXHJcbiAgICAgICAgQW5uYU5vRGF0YUNvbXBvbmVudCxcclxuICAgICAgICBBbm5hRmlsdGVyU2VhcmNoZWRUZXh0UGlwZSxcclxuICAgICAgICBBbm5hQ29udmVydFplcm9Pck51bGxPclVuZGVmaW5lZFBpcGUsXHJcbiAgICAgICAgQW5uYVR5cGVvZkRhdGFQaXBlLFxyXG4gICAgICAgIEFubmFGaWx0ZXJTZWFyY2hlZFRleHRQaXBlLFxyXG4gICAgICAgIEFubmFSZXBsYWNlQ2hhclBpcGUsXHJcbiAgICAgICAgQW5uYUJ1eWVyQXBwcm92YWxJY29uVGVtcGxhdGVDb21wb25lbnQsXHJcbiAgICAgICAgQW5uYUxpdmVJY29uVGVtcGxhdGVDb21wb25lbnQsXHJcbiAgICAgICAgQW5uYU5vdGlmeUljb25UZW1wbGF0ZUNvbXBvbmVudCxcclxuICAgICAgICBBbm5hUGF5Rm9yUGVyZm9ybWFuY2VJY29uVGVtcGxhdGVDb21wb25lbnQsXHJcbiAgICAgICAgQW5uYVJlamVjdGVkSWNvblRlbXBsYXRlQ29tcG9uZW50LFxyXG4gICAgICAgIFNob3dFbGxpcHNpc1RleHRPbkhvdmVyRGlyZWN0aXZlLFxyXG4gICAgICAgIEFubmFJY29uQ29sdW1uQ29tcG9uZW50LFxyXG4gICAgICAgIEFubmFXZWVrQ2FsZW5kYXJDb21wb25lbnQsXHJcbiAgICAgICAgQW5uYUNhbGVuZGFyRmlsdGVyQ29tcG9uZW50LFxyXG4gICAgICAgIEFubmFTb3J0Q29tcG9uZW50LFxyXG4gICAgICAgIEFubmFOb25FZGl0YWJsZUdlbmVyaWNUYWJsZUNvbXBvbmVudCxcclxuICAgICAgICBEaWdpdE9ubHlEaXJlY3RpdmUsXHJcbiAgICAgICAgQW5uYUNvbHVtbkRhdGVSYW5nZUZpbHRlckNvbXBvbmVudCxcclxuICAgICAgICBBbm5hQ29sdW1uVGltZUZpbHRlckNvbXBvbmVudCxcclxuICAgICAgICBBbm5hQ29sdW1uQ2hlY2tib3hGaWx0ZXJDb21wb25lbnQsXHJcbiAgICAgICAgQW5uYURlbGV0ZWRPcmRlckljb25UZW1wbGF0ZUNvbXBvbmVudCxcclxuICAgICAgICBBbm5hQ29sdW1uU2xpZGVyRmlsdGVyQ29tcG9uZW50LFxyXG4gICAgICAgIEFubmFEYXRlRm9ybWF0dGVyUGlwZSxcclxuICAgICAgICBBbm5hQ29udmVydEFycmF5VG9Db21tYVNlcGVyYXRlZFZhbHVlLFxyXG4gICAgICAgIEZpeGVkUm93c1BvcHVwVGFibGVEaXJlY3RpdmUsXHJcbiAgICAgICAgQW5uYUVzdEljb25UZW1wbGF0ZUNvbXBvbmVudCxcclxuICAgICAgICBBbm5hU3Bpbm5lckxvYWRlckNvbXBvbmVudCxcclxuICAgICAgICBBbm5hTGljZW5zaW5nVGFibGVDb21wb25lbnQsXHJcbiAgICBdLFxyXG4gICAgZXhwb3J0czogW1xyXG4gICAgICAgIEFubmFOb0RhdGFDb21wb25lbnQsXHJcbiAgICAgICAgQW5uYUZpbHRlclNlYXJjaGVkVGV4dFBpcGUsXHJcbiAgICAgICAgQW5uYUNvbnZlcnRaZXJvT3JOdWxsT3JVbmRlZmluZWRQaXBlLFxyXG4gICAgICAgIEFubmFUeXBlb2ZEYXRhUGlwZSxcclxuICAgICAgICBBbm5hUmVwbGFjZUNoYXJQaXBlLFxyXG4gICAgICAgIEFubmFGaWx0ZXJTZWFyY2hlZFRleHRQaXBlLFxyXG4gICAgICAgIEFubmFCdXllckFwcHJvdmFsSWNvblRlbXBsYXRlQ29tcG9uZW50LFxyXG4gICAgICAgIEFubmFMaXZlSWNvblRlbXBsYXRlQ29tcG9uZW50LFxyXG4gICAgICAgIEFubmFOb3RpZnlJY29uVGVtcGxhdGVDb21wb25lbnQsXHJcbiAgICAgICAgQW5uYVBheUZvclBlcmZvcm1hbmNlSWNvblRlbXBsYXRlQ29tcG9uZW50LFxyXG4gICAgICAgIEFubmFQYXlGb3JQZXJmb3JtYW5jZUljb25UZW1wbGF0ZUNvbXBvbmVudCxcclxuICAgICAgICBBbm5hUmVqZWN0ZWRJY29uVGVtcGxhdGVDb21wb25lbnQsXHJcbiAgICAgICAgU2hvd0VsbGlwc2lzVGV4dE9uSG92ZXJEaXJlY3RpdmUsXHJcbiAgICAgICAgQW5uYUljb25Db2x1bW5Db21wb25lbnQsXHJcbiAgICAgICAgQW5uYVdlZWtDYWxlbmRhckNvbXBvbmVudCxcclxuICAgICAgICBBbm5hQ2FsZW5kYXJGaWx0ZXJDb21wb25lbnQsXHJcbiAgICAgICAgQW5uYVNvcnRDb21wb25lbnQsXHJcbiAgICAgICAgQW5uYU5vbkVkaXRhYmxlR2VuZXJpY1RhYmxlQ29tcG9uZW50LFxyXG4gICAgICAgIEFubmFDb2x1bW5EYXRlUmFuZ2VGaWx0ZXJDb21wb25lbnQsXHJcbiAgICAgICAgQW5uYUNvbHVtblRpbWVGaWx0ZXJDb21wb25lbnQsXHJcbiAgICAgICAgQW5uYUNvbHVtbkNoZWNrYm94RmlsdGVyQ29tcG9uZW50LFxyXG4gICAgICAgIERpZ2l0T25seURpcmVjdGl2ZSxcclxuICAgICAgICBBbm5hRGVsZXRlZE9yZGVySWNvblRlbXBsYXRlQ29tcG9uZW50LFxyXG4gICAgICAgIEFubmFDb2x1bW5TbGlkZXJGaWx0ZXJDb21wb25lbnQsXHJcbiAgICAgICAgQW5uYURhdGVGb3JtYXR0ZXJQaXBlLFxyXG4gICAgICAgIEFubmFDb252ZXJ0QXJyYXlUb0NvbW1hU2VwZXJhdGVkVmFsdWUsXHJcbiAgICAgICAgRml4ZWRSb3dzUG9wdXBUYWJsZURpcmVjdGl2ZSxcclxuICAgICAgICBBbm5hU3Bpbm5lckxvYWRlckNvbXBvbmVudCxcclxuICAgICAgICBBbm5hTGljZW5zaW5nVGFibGVDb21wb25lbnRcclxuICAgIF0sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBBbm5hQ29yZU1vZHVsZSB7fVxyXG4iXX0=
|