techlify-inventory-common 18.0.1 → 18.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2022/lib/inventory-common/product/product-list/product-list.component.mjs +30 -40
- package/esm2022/lib/inventory-common/product/product.module.mjs +7 -4
- package/esm2022/lib/inventory-common/supplier/supplier-form/supplier-form.component.mjs +9 -10
- package/esm2022/lib/inventory-common/supplier/supplier.module.mjs +7 -3
- package/esm2022/lib/inventory-common/supplier/suppliers-list/suppliers-list.component.mjs +77 -118
- package/fesm2022/{techlify-inventory-common-category.module-Stn6e73V.mjs → techlify-inventory-common-category.module-CNm2bEsx.mjs} +2 -2
- package/fesm2022/{techlify-inventory-common-category.module-Stn6e73V.mjs.map → techlify-inventory-common-category.module-CNm2bEsx.mjs.map} +1 -1
- package/fesm2022/{techlify-inventory-common-measure.module-CirswKXn.mjs → techlify-inventory-common-measure.module-BEaRHh5Z.mjs} +2 -2
- package/fesm2022/{techlify-inventory-common-measure.module-CirswKXn.mjs.map → techlify-inventory-common-measure.module-BEaRHh5Z.mjs.map} +1 -1
- package/fesm2022/{techlify-inventory-common-product.module-qdeafFV5.mjs → techlify-inventory-common-product.module-BV9Cy88x.mjs} +34 -38
- package/fesm2022/techlify-inventory-common-product.module-BV9Cy88x.mjs.map +1 -0
- package/fesm2022/{techlify-inventory-common-stock-issuances-list.module-CyFDxARk.mjs → techlify-inventory-common-stock-issuances-list.module-Dt6gx-ji.mjs} +2 -2
- package/fesm2022/{techlify-inventory-common-stock-issuances-list.module-CyFDxARk.mjs.map → techlify-inventory-common-stock-issuances-list.module-Dt6gx-ji.mjs.map} +1 -1
- package/fesm2022/{techlify-inventory-common-stock-issuances.module-Dm9i2kcf.mjs → techlify-inventory-common-stock-issuances.module-BQRRP-hW.mjs} +4 -4
- package/fesm2022/{techlify-inventory-common-stock-issuances.module-Dm9i2kcf.mjs.map → techlify-inventory-common-stock-issuances.module-BQRRP-hW.mjs.map} +1 -1
- package/fesm2022/{techlify-inventory-common-stock-receipt-form.module-BZDrN7la.mjs → techlify-inventory-common-stock-receipt-form.module-DND0GNlf.mjs} +2 -2
- package/fesm2022/{techlify-inventory-common-stock-receipt-form.module-BZDrN7la.mjs.map → techlify-inventory-common-stock-receipt-form.module-DND0GNlf.mjs.map} +1 -1
- package/fesm2022/{techlify-inventory-common-stock-receipts.module-CUPdWteR.mjs → techlify-inventory-common-stock-receipts.module-BvYaKITT.mjs} +3 -3
- package/fesm2022/{techlify-inventory-common-stock-receipts.module-CUPdWteR.mjs.map → techlify-inventory-common-stock-receipts.module-BvYaKITT.mjs.map} +1 -1
- package/fesm2022/techlify-inventory-common-supplier-form.component-DVBnhiyH.mjs +177 -0
- package/fesm2022/techlify-inventory-common-supplier-form.component-DVBnhiyH.mjs.map +1 -0
- package/fesm2022/{techlify-inventory-common-supplier.module-gzHesNtQ.mjs → techlify-inventory-common-supplier.module-Bwa7gx14.mjs} +73 -130
- package/fesm2022/techlify-inventory-common-supplier.module-Bwa7gx14.mjs.map +1 -0
- package/fesm2022/{techlify-inventory-common-techlify-inventory-common-Czyc0jLI.mjs → techlify-inventory-common-techlify-inventory-common-GFYF7JCA.mjs} +7 -7
- package/fesm2022/{techlify-inventory-common-techlify-inventory-common-Czyc0jLI.mjs.map → techlify-inventory-common-techlify-inventory-common-GFYF7JCA.mjs.map} +1 -1
- package/fesm2022/techlify-inventory-common.mjs +1 -1
- package/lib/inventory-common/product/product-list/product-list.component.d.ts +5 -7
- package/lib/inventory-common/product/product.module.d.ts +1 -1
- package/lib/inventory-common/supplier/supplier.module.d.ts +2 -1
- package/lib/inventory-common/supplier/suppliers-list/suppliers-list.component.d.ts +14 -24
- package/package.json +1 -1
- package/esm2022/lib/inventory-common/supplier/supplier-type.service.mjs +0 -25
- package/fesm2022/techlify-inventory-common-product.module-qdeafFV5.mjs.map +0 -1
- package/fesm2022/techlify-inventory-common-supplier-form.component-CHmMG7O8.mjs +0 -178
- package/fesm2022/techlify-inventory-common-supplier-form.component-CHmMG7O8.mjs.map +0 -1
- package/fesm2022/techlify-inventory-common-supplier.module-gzHesNtQ.mjs.map +0 -1
- package/lib/inventory-common/supplier/supplier-type.service.d.ts +0 -13
|
@@ -13,7 +13,6 @@ import * as i6 from "@angular/common";
|
|
|
13
13
|
import * as i7 from "@angular/material/button";
|
|
14
14
|
import * as i8 from "@angular/material/form-field";
|
|
15
15
|
import * as i9 from "@angular/material/input";
|
|
16
|
-
import * as i10 from "@angular/flex-layout";
|
|
17
16
|
export class SupplierFormComponent extends TechlifyFormComponentInterface {
|
|
18
17
|
fb;
|
|
19
18
|
alertService;
|
|
@@ -59,13 +58,13 @@ export class SupplierFormComponent extends TechlifyFormComponentInterface {
|
|
|
59
58
|
this.supplierService = supplierService;
|
|
60
59
|
this.supplierForm = this.fb.group({
|
|
61
60
|
id: [""],
|
|
62
|
-
contact_name: [""
|
|
61
|
+
contact_name: [""],
|
|
63
62
|
company_name: ["", Validators.compose([Validators.required])],
|
|
64
|
-
details: [""
|
|
65
|
-
address: [""
|
|
66
|
-
phone: [""
|
|
67
|
-
email: [""
|
|
68
|
-
supplier_type_id: ["",
|
|
63
|
+
details: [""],
|
|
64
|
+
address: [""],
|
|
65
|
+
phone: [""],
|
|
66
|
+
email: [""],
|
|
67
|
+
supplier_type_id: ["",],
|
|
69
68
|
});
|
|
70
69
|
}
|
|
71
70
|
ngOnInit() {
|
|
@@ -106,13 +105,13 @@ export class SupplierFormComponent extends TechlifyFormComponentInterface {
|
|
|
106
105
|
return this.formValidatorService.getErrorMessage(field, this.supplierForm, this.errorMessages);
|
|
107
106
|
}
|
|
108
107
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SupplierFormComponent, deps: [{ token: i1.FormBuilder }, { token: i2.FormValidatorService }, { token: i2.AlertService }, { token: i3.NgxSpinnerService }, { token: i4.MatDialogRef }, { token: i2.ErrorHandlerService }, { token: MAT_DIALOG_DATA }, { token: i5.SupplierService }], target: i0.ɵɵFactoryTarget.Component });
|
|
109
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: SupplierFormComponent, selector: "app-supplier-form", usesInheritance: true, ngImport: i0, template: "<form\n
|
|
108
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: SupplierFormComponent, selector: "app-supplier-form", usesInheritance: true, ngImport: i0, template: "<form\n (ngSubmit)=\"submit()\"\n [formGroup]=\"supplierForm\"\n class=\"mat-typography\"\n>\n <div class=\"d-flex flex-column justify-content-start gap-2\" mat-dialog-content>\n <h2 class=\"mb-2\">{{ isUpdateMode ? 'Edit' : 'Create' }} Supplier</h2>\n <mat-form-field>\n <mat-label>Company Name</mat-label>\n <input\n autocomplete=\"off\"\n formControlName=\"company_name\"\n matInput\n placeholder=\"Company Name\"\n required\n />\n <mat-error *ngIf=\"isFieldValid('company_name')\">\n {{ getErrorMessage(\"company_name\") }}\n </mat-error>\n </mat-form-field>\n <mat-form-field>\n <mat-label>Contact Name</mat-label>\n <input\n autocomplete=\"off\"\n formControlName=\"contact_name\"\n matInput\n placeholder=\"Contact Name\"\n />\n </mat-form-field>\n\n <mat-form-field>\n <mat-label>Types</mat-label>\n <app-searchable-selector\n apiUrl=\"api/supplier-types\"\n formControlName=\"supplier_type_id\"\n titleField=\"title\"\n >\n </app-searchable-selector>\n </mat-form-field>\n <mat-form-field>\n <mat-label>Phone</mat-label>\n <input\n autocomplete=\"off\"\n formControlName=\"phone\"\n matInput\n placeholder=\"Phone\"\n />\n </mat-form-field>\n\n <mat-form-field>\n <mat-label>Email</mat-label>\n <input\n autocomplete=\"off\"\n formControlName=\"email\"\n matInput\n placeholder=\"Email\"\n type=\"email\"\n />\n </mat-form-field>\n\n <mat-form-field>\n <mat-label>Address</mat-label>\n <input\n autocomplete=\"off\"\n formControlName=\"address\"\n matInput\n placeholder=\"Address\"\n />\n </mat-form-field>\n\n <mat-form-field>\n <mat-label>Details</mat-label>\n <input\n autocomplete=\"off\"\n formControlName=\"details\"\n matInput\n placeholder=\"Details\"\n />\n </mat-form-field>\n\n <div class=\"d-flex justify-content-end align-items-center gap-3\">\n <button\n (click)=\"dialogRef.close()\"\n [disabled]=\"isWorking\"\n mat-flat-button\n type=\"button\"\n >\n Cancel\n </button>\n <button\n [disabled]=\"isWorking\"\n color=\"primary\"\n mat-raised-button\n type=\"submit\"\n >\n Save\n </button>\n </div>\n </div>\n</form>\n", dependencies: [{ kind: "directive", type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i7.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "directive", type: i4.MatDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]" }, { kind: "component", type: i8.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i8.MatLabel, selector: "mat-label" }, { kind: "directive", type: i8.MatError, selector: "mat-error, [matError]", inputs: ["id"] }, { kind: "directive", type: i9.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "component", type: i2.SearchableSelectorComponent, selector: "app-searchable-selector", inputs: ["valueField", "titleField", "subtitleField", "apiUrl", "multiple", "selectedValue", "enableSearch", "add", "addConfig", "edit", "editConfig", "sort", "sortBy", "searchField", "itemComponent", "items", "apiDataProperty", "cache", "perPage", "inDataSearch", "panelWidth", "focusSearchOnOpen", "required", "disabled", "value"], outputs: ["selectedValueChange", "selectionChange", "itemsChange"] }, { kind: "directive", type: i1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }], preserveWhitespaces: true });
|
|
110
109
|
}
|
|
111
110
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SupplierFormComponent, decorators: [{
|
|
112
111
|
type: Component,
|
|
113
|
-
args: [{ selector: "app-supplier-form", template: "<form\n
|
|
112
|
+
args: [{ selector: "app-supplier-form", template: "<form\n (ngSubmit)=\"submit()\"\n [formGroup]=\"supplierForm\"\n class=\"mat-typography\"\n>\n <div class=\"d-flex flex-column justify-content-start gap-2\" mat-dialog-content>\n <h2 class=\"mb-2\">{{ isUpdateMode ? 'Edit' : 'Create' }} Supplier</h2>\n <mat-form-field>\n <mat-label>Company Name</mat-label>\n <input\n autocomplete=\"off\"\n formControlName=\"company_name\"\n matInput\n placeholder=\"Company Name\"\n required\n />\n <mat-error *ngIf=\"isFieldValid('company_name')\">\n {{ getErrorMessage(\"company_name\") }}\n </mat-error>\n </mat-form-field>\n <mat-form-field>\n <mat-label>Contact Name</mat-label>\n <input\n autocomplete=\"off\"\n formControlName=\"contact_name\"\n matInput\n placeholder=\"Contact Name\"\n />\n </mat-form-field>\n\n <mat-form-field>\n <mat-label>Types</mat-label>\n <app-searchable-selector\n apiUrl=\"api/supplier-types\"\n formControlName=\"supplier_type_id\"\n titleField=\"title\"\n >\n </app-searchable-selector>\n </mat-form-field>\n <mat-form-field>\n <mat-label>Phone</mat-label>\n <input\n autocomplete=\"off\"\n formControlName=\"phone\"\n matInput\n placeholder=\"Phone\"\n />\n </mat-form-field>\n\n <mat-form-field>\n <mat-label>Email</mat-label>\n <input\n autocomplete=\"off\"\n formControlName=\"email\"\n matInput\n placeholder=\"Email\"\n type=\"email\"\n />\n </mat-form-field>\n\n <mat-form-field>\n <mat-label>Address</mat-label>\n <input\n autocomplete=\"off\"\n formControlName=\"address\"\n matInput\n placeholder=\"Address\"\n />\n </mat-form-field>\n\n <mat-form-field>\n <mat-label>Details</mat-label>\n <input\n autocomplete=\"off\"\n formControlName=\"details\"\n matInput\n placeholder=\"Details\"\n />\n </mat-form-field>\n\n <div class=\"d-flex justify-content-end align-items-center gap-3\">\n <button\n (click)=\"dialogRef.close()\"\n [disabled]=\"isWorking\"\n mat-flat-button\n type=\"button\"\n >\n Cancel\n </button>\n <button\n [disabled]=\"isWorking\"\n color=\"primary\"\n mat-raised-button\n type=\"submit\"\n >\n Save\n </button>\n </div>\n </div>\n</form>\n" }]
|
|
114
113
|
}], ctorParameters: () => [{ type: i1.FormBuilder }, { type: i2.FormValidatorService }, { type: i2.AlertService }, { type: i3.NgxSpinnerService }, { type: i4.MatDialogRef }, { type: i2.ErrorHandlerService }, { type: undefined, decorators: [{
|
|
115
114
|
type: Inject,
|
|
116
115
|
args: [MAT_DIALOG_DATA]
|
|
117
116
|
}] }, { type: i5.SupplierService }] });
|
|
118
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3VwcGxpZXItZm9ybS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9pbnZlbnRvcnktY29tbW9uL3NyYy9saWIvaW52ZW50b3J5LWNvbW1vbi9zdXBwbGllci9zdXBwbGllci1mb3JtL3N1cHBsaWVyLWZvcm0uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvaW52ZW50b3J5LWNvbW1vbi9zcmMvbGliL2ludmVudG9yeS1jb21tb24vc3VwcGxpZXIvc3VwcGxpZXItZm9ybS9zdXBwbGllci1mb3JtLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBQzFELE9BQU8sRUFBMEIsVUFBVSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDcEUsT0FBTyxFQUFnQixlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUV6RSxPQUFPLEVBSUwsOEJBQThCLEdBQy9CLE1BQU0sbUJBQW1CLENBQUM7QUFDM0IsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLE1BQU0sQ0FBQzs7Ozs7Ozs7Ozs7O0FBTXJDLE1BQU0sT0FBTyxxQkFDWCxTQUFRLDhCQUE4QjtJQWdDNUI7SUFFQTtJQUNBO0lBQ0Q7SUFDQztJQUN3QjtJQUN4QjtJQXBDRCxhQUFhLEdBQVE7UUFDNUIsWUFBWSxFQUFFO1lBQ1osUUFBUSxFQUFFLDBCQUEwQjtTQUNyQztRQUNELFlBQVksRUFBRTtZQUNaLFFBQVEsRUFBRSwwQkFBMEI7U0FDckM7UUFDRCxPQUFPLEVBQUU7WUFDUCxRQUFRLEVBQUUscUJBQXFCO1NBQ2hDO1FBQ0QsS0FBSyxFQUFFO1lBQ0wsUUFBUSxFQUFFLG1CQUFtQjtTQUM5QjtRQUNELE9BQU8sRUFBRTtZQUNQLFFBQVEsRUFBRSxxQkFBcUI7U0FDaEM7UUFDRCxLQUFL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QUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDO2dCQUM1RCxDQUFDLENBQUMsTUFBTSxhQUFhLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQztZQUM5RCxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUMvQixDQUFDO1FBQUMsT0FBTyxLQUFLLEVBQUUsQ0FBQztZQUNmLElBQUksQ0FBQyxZQUFZLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3ZDLENBQUM7Z0JBQVMsQ0FBQztZQUNULElBQUksQ0FBQyxTQUFTLEdBQUcsS0FBSyxDQUFDO1lBQ3ZCLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDN0IsQ0FBQztJQUNILENBQUM7SUFFRCxtQ0FBbUM7SUFDMUIsWUFBWSxDQUFDLEtBQWE7UUFDakMsT0FBTyxJQUFJLENBQUMsb0JBQW9CLENBQUMsWUFBWSxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUM7SUFDMUUsQ0FBQztJQUVELHdDQUF3QztJQUMvQixlQUFlLENBQUMsS0FBYTtRQUNwQyxPQUFPLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxlQUFlLENBQzlDLEtBQUssRUFDTCxJQUFJLENBQUMsWUFBWSxFQUNqQixJQUFJLENBQUMsYUFBYSxDQUNuQixDQUFDO0lBQ0osQ0FBQzt3R0FqR1UscUJBQXFCLDZNQXVDdEIsZUFBZTs0RkF2Q2QscUJBQXFCLGdGQ2pCbEMsNm1IQXFJQTs7NEZEcEhhLHFCQUFxQjtrQkFKakMsU0FBUzsrQkFDRSxtQkFBbUI7OzBCQTBDMUIsTUFBTTsyQkFBQyxlQUFlIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU3VwcGxpZXJTZXJ2aWNlIH0gZnJvbSBcIi4vLi4vc3VwcGxpZXIuc2VydmljZVwiO1xuaW1wb3J0IHsgQ29tcG9uZW50LCBJbmplY3QsIE9uSW5pdCB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyBGb3JtQnVpbGRlciwgRm9ybUdyb3VwLCBWYWxpZGF0b3JzIH0gZnJvbSBcIkBhbmd1bGFyL2Zvcm1zXCI7XG5pbXBvcnQgeyBNYXREaWFsb2dSZWYsIE1BVF9ESUFMT0dfREFUQSB9IGZyb20gXCJAYW5ndWxhci9tYXRlcmlhbC9kaWFsb2dcIjtcbmltcG9ydCB7IE5neFNwaW5uZXJTZXJ2aWNlIH0gZnJvbSBcIm5neC1zcGlubmVyXCI7XG5pbXBvcnQge1xuICBBbGVydFNlcnZpY2UsXG4gIEVycm9ySGFuZGxlclNlcnZpY2UsXG4gIEZvcm1WYWxpZGF0b3JTZXJ2aWNlLFxuICBUZWNobGlmeUZvcm1Db21wb25lbnRJbnRlcmZhY2UsXG59IGZyb20gXCJuZ3gtdGVjaGxpZnktY29yZVwiO1xuaW1wb3J0IHsgbGFzdFZhbHVlRnJvbSB9IGZyb20gXCJyeGpzXCI7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogXCJhcHAtc3VwcGxpZXItZm9ybVwiLFxuICB0ZW1wbGF0ZVVybDogXCIuL3N1cHBsaWVyLWZvcm0uY29tcG9uZW50Lmh0bWxcIixcbn0pXG5leHBvcnQgY2xhc3MgU3VwcGxpZXJGb3JtQ29tcG9uZW50XG4gIGV4dGVuZHMgVGVjaGxpZnlGb3JtQ29tcG9uZW50SW50ZXJmYWNlXG4gIGltcGxlbWVudHMgT25Jbml0XG57XG4gIG92ZXJyaWRlIGVycm9yTWVzc2FnZXM6IGFueSA9IHtcbiAgICBjb250YWN0X25hbWU6IHtcbiAgICAgIHJlcXVpcmVkOiBcIkNvbnRhY3QgTmFtZSBpcyByZXF1aXJlZFwiLFxuICAgIH0sXG4gICAgY29tcGFueV9uYW1lOiB7XG4gICAgICByZXF1aXJlZDogXCJDb21wYW55IE5hbWUgaXMgcmVxdWlyZWRcIixcbiAgICB9LFxuICAgIGFkZHJlc3M6IHtcbiAgICAgIHJlcXVpcmVkOiBcIkFkZHJlc3MgaXMgcmVxdWlyZWRcIixcbiAgICB9LFxuICAgIHBob25lOiB7XG4gICAgICByZXF1aXJlZDogXCJQaG9uZSBpcyByZXF1aXJlZFwiLFxuICAgIH0sXG4gICAgZGV0YWlsczoge1xuICAgICAgcmVxdWlyZWQ6IFwiRGV0YWlscyBpcyByZXF1aXJlZFwiLFxuICAgIH0sXG4gICAgZW1haWw6IHtcbiAgICAgIHJlcXVpcmVkOiBcIkVtYWlsIGlzIHJlcXVpcmVkXCIsXG4gICAgfSxcbiAgICBzdXBwbGllcl90eXBlX2lkOiB7XG4gICAgICByZXF1aXJlZDogXCJTdXBwbGllciBUeXBlIGlzIHJlcXVpcmVkXCIsXG4gICAgfSxcbiAgfTtcblxuICBpc1dvcmtpbmc6IGJvb2xlYW4gPSBmYWxzZTtcbiAgaXNVcGRhdGVNb2RlOiBib29sZWFuID0gZmFsc2U7XG4gIHN1cHBsaWVyRm9ybTogRm9ybUdyb3VwO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgZmI6IEZvcm1CdWlsZGVyLFxuICAgIGZvcm1WYWxpZGF0b3JTZXJ2aWNlOiBGb3JtVmFsaWRhdG9yU2VydmljZSxcbiAgICBwcml2YXRlIGFsZXJ0U2VydmljZTogQWxlcnRTZXJ2aWNlLFxuICAgIHByaXZhdGUgc3Bpbm5lclNlcnZpY2U6IE5neFNwaW5uZXJTZXJ2aWNlLFxuICAgIHB1YmxpYyBkaWFsb2dSZWY6IE1hdERpYWxvZ1JlZjxTdXBwbGllckZvcm1Db21wb25lbnQ+LFxuICAgIHByaXZhdGUgZXJyb3JTZXJ2aWNlOiBFcnJvckhhbmRsZXJTZXJ2aWNlLFxuICAgIEBJbmplY3QoTUFUX0RJQUxPR19EQVRBKSBwdWJsaWMgZGF0YTogYW55LFxuICAgIHByaXZhdGUgc3VwcGxpZXJTZXJ2aWNlOiBTdXBwbGllclNlcnZpY2VcbiAgKSB7XG4gICAgc3VwZXIoZm9ybVZhbGlkYXRvclNlcnZpY2UpO1xuICAgIHRoaXMuc3VwcGxpZXJGb3JtID0gdGhpcy5mYi5ncm91cCh7XG4gICAgICBpZDogW1wiXCJdLFxuICAgICAgY29udGFjdF9uYW1lOiBbXCJcIiwgVmFsaWRhdG9ycy5jb21wb3NlKFtWYWxpZGF0b3JzLnJlcXVpcmVkXSldLFxuICAgICAgY29tcGFueV9uYW1lOiBbXCJcIiwgVmFsaWRhdG9ycy5jb21wb3NlKFtWYWxpZGF0b3JzLnJlcXVpcmVkXSldLFxuICAgICAgZGV0YWlsczogW1wiXCIsIFZhbGlkYXRvcnMuY29tcG9zZShbVmFsaWRhdG9ycy5yZXF1aXJlZF0pXSxcbiAgICAgIGFkZHJlc3M6IFtcIlwiLCBWYWxpZGF0b3JzLmNvbXBvc2UoW1ZhbGlkYXRvcnMucmVxdWlyZWRdKV0sXG4gICAgICBwaG9uZTogW1wiXCIsIFZhbGlkYXRvcnMuY29tcG9zZShbVmFsaWRhdG9ycy5yZXF1aXJlZF0pXSxcbiAgICAgIGVtYWlsOiBbXCJcIiwgVmFsaWRhdG9ycy5jb21wb3NlKFtWYWxpZGF0b3JzLnJlcXVpcmVkXSldLFxuICAgICAgc3VwcGxpZXJfdHlwZV9pZDogW1wiXCIsIFZhbGlkYXRvcnMuY29tcG9zZShbVmFsaWRhdG9ycy5yZXF1aXJlZF0pXSxcbiAgICB9KTtcbiAgfVxuXG4gIG5nT25Jbml0KCkge1xuICAgIGlmICh0aGlzLmRhdGEuZGV0YWlscykge1xuICAgICAgdGhpcy5pc1VwZGF0ZU1vZGUgPSB0cnVlO1xuICAgICAgdGhpcy5zdXBwbGllckZvcm0ucGF0Y2hWYWx1ZSh0aGlzLmRhdGEuZGV0YWlscyk7XG4gICAgfVxuICB9XG5cbiAgYXN5bmMgc3VibWl0KCkge1xuICAgIGlmICghdGhpcy5zdXBwbGllckZvcm0udmFsaWQpIHtcbiAgICAgIHRoaXMuYWxlcnRTZXJ2aWNlLmFkZEFsZXJ0KFwiUGxlYXNlIEZpbGwgQWxsIFJlcXVpcmVkIEZpZWxkc1wiLCBcIndhcm5cIik7XG4gICAgICB0aGlzLnN1cHBsaWVyRm9ybS5tYXJrQWxsQXNUb3VjaGVkKCk7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdmFyIHN1cHBsaWVyID0gdGhpcy5zdXBwbGllckZvcm0udmFsdWU7XG4gICAgdHJ5IHtcbiAgICAgIHRoaXMuc3Bpbm5lclNlcnZpY2Uuc2hvdygpO1xuICAgICAgdGhpcy5pc1dvcmtpbmcgPSB0cnVlO1xuICAgICAgbGV0IHJlc3VsdCA9IHRoaXMuaXNVcGRhdGVNb2RlXG4gICAgICAgID8gYXdhaXQgbGFzdFZhbHVlRnJvbSh0aGlzLnN1cHBsaWVyU2VydmljZS51cGRhdGUoc3VwcGxpZXIpKVxuICAgICAgICA6IGF3YWl0IGxhc3RWYWx1ZUZyb20odGhpcy5zdXBwbGllclNlcnZpY2Uuc3RvcmUoc3VwcGxpZXIpKTtcbiAgICAgIHRoaXMuZGlhbG9nUmVmLmNsb3NlKHJlc3VsdCk7XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgIHRoaXMuZXJyb3JTZXJ2aWNlLmhhbmRsZUVycm9yKGVycm9yKTtcbiAgICB9IGZpbmFsbHkge1xuICAgICAgdGhpcy5pc1dvcmtpbmcgPSBmYWxzZTtcbiAgICAgIHRoaXMuc3Bpbm5lclNlcnZpY2UuaGlkZSgpO1xuICAgIH1cbiAgfVxuXG4gIC8qKk1ldGhvZCB0byBldmFsdWF0ZSBmb3JtIGZpZWxkcyovXG4gIG92ZXJyaWRlIGlzRmllbGRWYWxpZChmaWVsZDogc3RyaW5nKSB7XG4gICAgcmV0dXJuIHRoaXMuZm9ybVZhbGlkYXRvclNlcnZpY2UuaXNGaWVsZFZhbGlkKGZpZWxkLCB0aGlzLnN1cHBsaWVyRm9ybSk7XG4gIH1cblxuICAvKipNZXRob2QgdG8gZmluZCBlcnJvciBpbiBmb3JtIGZpZWxkcyovXG4gIG92ZXJyaWRlIGdldEVycm9yTWVzc2FnZShmaWVsZDogc3RyaW5nKSB7XG4gICAgcmV0dXJuIHRoaXMuZm9ybVZhbGlkYXRvclNlcnZpY2UuZ2V0RXJyb3JNZXNzYWdlKFxuICAgICAgZmllbGQsXG4gICAgICB0aGlzLnN1cHBsaWVyRm9ybSxcbiAgICAgIHRoaXMuZXJyb3JNZXNzYWdlc1xuICAgICk7XG4gIH1cbn1cbiIsIjxmb3JtXG4gIFtmb3JtR3JvdXBdPVwic3VwcGxpZXJGb3JtXCJcbiAgKG5nU3VibWl0KT1cInN1Ym1pdCgpXCJcbiAgY2xhc3M9XCJtYXQtdHlwb2dyYXBoeSBwLTNcIlxuPlxuICA8ZGl2IGZ4TGF5b3V0PVwiY29sdW1uXCI+XG4gICAgPGRpdiBtYXQtZGlhbG9nLXRpdGxlIGNsYXNzPVwidGV4dC1jZW50ZXJcIj5cbiAgICAgIDxkaXY+U3VwcGxpZXI8L2Rpdj5cbiAgICA8L2Rpdj5cblxuICAgIDxkaXYgZnhMYXlvdXQ9XCJyb3dcIiBmeExheW91dEdhcD1cIjEwcHhcIj5cbiAgICAgIDxtYXQtZm9ybS1maWVsZCBmeEZsZXg9XCI1MCVcIj5cbiAgICAgICAgPGlucHV0XG4gICAgICAgICAgbWF0SW5wdXRcbiAgICAgICAgICBmb3JtQ29udHJvbE5hbWU9XCJjb21wYW55X25hbWVcIlxuICAgICAgICAgIHBsYWNlaG9sZGVyPVwiQ29tcGFueSBOYW1lXCJcbiAgICAgICAgICBhdXRvY29tcGxldGU9XCJvZmZcIlxuICAgICAgICAgIHJlcXVpcmVkXG4gICAgICAgIC8+XG4gICAgICAgIDxtYXQtZXJyb3IgKm5nSWY9XCJpc0ZpZWxkVmFsaWQoJ2NvbXBhbnlfbmFtZScpXCI+XG4gICAgICAgICAge3sgZ2V0RXJyb3JNZXNzYWdlKFwiY29tcGFueV9uYW1lXCIpIH19XG4gICAgICAgIDwvbWF0LWVycm9yPlxuICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgIDxtYXQtZm9ybS1maWVsZCBmeEZsZXg9XCI1MCVcIj5cbiAgICAgICAgPGlucHV0XG4gICAgICAgICAgbWF0SW5wdXRcbiAgICAgICAgICBmb3JtQ29udHJvbE5hbWU9XCJjb250YWN0X25hbWVcIlxuICAgICAgICAgIHBsYWNlaG9sZGVyPVwiQ29udGFjdCBOYW1lXCJcbiAgICAgICAgICBhdXRvY29tcGxldGU9XCJvZmZcIlxuICAgICAgICAgIHJlcXVpcmVkXG4gICAgICAgIC8+XG4gICAgICAgIDxtYXQtZXJyb3IgKm5nSWY9XCJpc0ZpZWxkVmFsaWQoJ2NvbnRhY3RfbmFtZScpXCI+XG4gICAgICAgICAge3sgZ2V0RXJyb3JNZXNzYWdlKFwiY29udGFjdF9uYW1lXCIpIH19XG4gICAgICAgIDwvbWF0LWVycm9yPlxuICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICA8L2Rpdj5cblxuICAgIDxkaXYgZnhMYXlvdXQ9XCJyb3dcIiBmeExheW91dEdhcD1cIjEwcHhcIj5cbiAgICAgIDxtYXQtZm9ybS1maWVsZCBmeEZsZXg9XCI1MCVcIj5cbiAgICAgICAgPG1hdC1sYWJlbD5UeXBlczwvbWF0LWxhYmVsPlxuICAgICAgICA8YXBwLXNlYXJjaGFibGUtc2VsZWN0b3JcbiAgICAgICAgICB0aXRsZUZpZWxkPVwidGl0bGVcIlxuICAgICAgICAgIGFwaVVybD1cImFwaS9zdXBwbGllci10eXBlc1wiXG4gICAgICAgICAgZm9ybUNvbnRyb2xOYW1lPVwic3VwcGxpZXJfdHlwZV9pZFwiXG4gICAgICAgID5cbiAgICAgICAgPC9hcHAtc2VhcmNoYWJsZS1zZWxlY3Rvcj5cbiAgICAgICAgPG1hdC1lcnJvciAqbmdJZj1cImlzRmllbGRWYWxpZCgnc3VwcGxpZXJfdHlwZV9pZCcpXCI+XG4gICAgICAgICAge3sgZ2V0RXJyb3JNZXNzYWdlKFwic3VwcGxpZXJfdHlwZV9pZFwiKSB9fVxuICAgICAgICA8L21hdC1lcnJvcj5cbiAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICA8bWF0LWZvcm0tZmllbGQgZnhGbGV4PVwiNTAlXCI+XG4gICAgICAgIDxpbnB1dFxuICAgICAgICAgIG1hdElucHV0XG4gICAgICAgICAgZm9ybUNvbnRyb2xOYW1lPVwicGhvbmVcIlxuICAgICAgICAgIHBsYWNlaG9sZGVyPVwiUGhvbmVcIlxuICAgICAgICAgIGF1dG9jb21wbGV0ZT1cIm9mZlwiXG4gICAgICAgICAgcmVxdWlyZWRcbiAgICAgICAgLz5cbiAgICAgICAgPG1hdC1lcnJvciAqbmdJZj1cImlzRmllbGRWYWxpZCgncGhvbmUnKVwiPlxuICAgICAgICAgIHt7IGdldEVycm9yTWVzc2FnZShcInBob25lXCIpIH19XG4gICAgICAgIDwvbWF0LWVycm9yPlxuICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICA8L2Rpdj5cblxuICAgIDxkaXYgZnhMYXlvdXQ9XCJyb3cgd3JhcFwiPlxuICAgICAgPG1hdC1mb3JtLWZpZWxkIGZ4RmxleD1cIjEwMCVcIiBjbGFzcz1cIm10LTFcIj5cbiAgICAgICAgPGlucHV0XG4gICAgICAgICAgbWF0SW5wdXRcbiAgICAgICAgICBmb3JtQ29udHJvbE5hbWU9XCJlbWFpbFwiXG4gICAgICAgICAgcGxhY2Vob2xkZXI9XCJFbWFpbFwiXG4gICAgICAgICAgYXV0b2NvbXBsZXRlPVwib2ZmXCJcbiAgICAgICAgICByZXF1aXJlZFxuICAgICAgICAvPlxuICAgICAgICA8bWF0LWVycm9yICpuZ0lmPVwiaXNGaWVsZFZhbGlkKCdlbWFpbCcpXCI+XG4gICAgICAgICAge3sgZ2V0RXJyb3JNZXNzYWdlKFwiZW1haWxcIikgfX1cbiAgICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICA8L21hdC1mb3JtLWZpZWxkPlxuXG4gICAgICA8bWF0LWZvcm0tZmllbGQgZnhGbGV4PVwiMTAwJVwiIGNsYXNzPVwibXQtMVwiPlxuICAgICAgICA8aW5wdXRcbiAgICAgICAgICBtYXRJbnB1dFxuICAgICAgICAgIGZvcm1Db250cm9sTmFtZT1cImFkZHJlc3NcIlxuICAgICAgICAgIHBsYWNlaG9sZGVyPVwiQWRkcmVzc1wiXG4gICAgICAgICAgYXV0b2NvbXBsZXRlPVwib2ZmXCJcbiAgICAgICAgICByZXF1aXJlZFxuICAgICAgICAvPlxuICAgICAgICA8bWF0LWVycm9yICpuZ0lmPVwiaXNGaWVsZFZhbGlkKCdhZGRyZXNzJylcIj5cbiAgICAgICAgICB7eyBnZXRFcnJvck1lc3NhZ2UoXCJhZGRyZXNzXCIpIH19XG4gICAgICAgIDwvbWF0LWVycm9yPlxuICAgICAgPC9tYXQtZm9ybS1maWVsZD5cblxuICAgICAgPG1hdC1mb3JtLWZpZWxkIGZ4RmxleD1cIjEwMCVcIiBjbGFzcz1cIm10LTFcIj5cbiAgICAgICAgPGlucHV0XG4gICAgICAgICAgbWF0SW5wdXRcbiAgICAgICAgICBmb3JtQ29udHJvbE5hbWU9XCJkZXRhaWxzXCJcbiAgICAgICAgICBwbGFjZWhvbGRlcj1cIkRldGFpbHNcIlxuICAgICAgICAgIGF1dG9jb21wbGV0ZT1cIm9mZlwiXG4gICAgICAgICAgcmVxdWlyZWRcbiAgICAgICAgLz5cbiAgICAgICAgPG1hdC1lcnJvciAqbmdJZj1cImlzRmllbGRWYWxpZCgnZGV0YWlscycpXCI+XG4gICAgICAgICAge3sgZ2V0RXJyb3JNZXNzYWdlKFwiZGV0YWlsc1wiKSB9fVxuICAgICAgICA8L21hdC1lcnJvcj5cbiAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgPC9kaXY+XG5cbiAgICA8ZGl2IGZ4TGF5b3V0PVwicm93XCI+XG4gICAgICA8ZGl2XG4gICAgICAgIGNsYXNzPVwibXktMlwiXG4gICAgICAgIGZ4TGF5b3V0PVwicm93XCJcbiAgICAgICAgZnhMYXlvdXRHYXA9XCIzMHB4XCJcbiAgICAgICAgZnhMYXlvdXRBbGlnbj1cImVuZFwiXG4gICAgICAgIGZ4RmxleD1cIjEwMCVcIlxuICAgICAgPlxuICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgW2Rpc2FibGVkXT1cImlzV29ya2luZ1wiXG4gICAgICAgICAgbWF0LWZsYXQtYnV0dG9uXG4gICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgKGNsaWNrKT1cImRpYWxvZ1JlZi5jbG9zZSgpXCJcbiAgICAgICAgPlxuICAgICAgICAgIENhbmNlbFxuICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgPGJ1dHRvblxuICAgICAgICAgIFtkaXNhYmxlZF09XCJpc1dvcmtpbmdcIlxuICAgICAgICAgIG1hdC1yYWlzZWQtYnV0dG9uXG4gICAgICAgICAgdHlwZT1cInN1Ym1pdFwiXG4gICAgICAgICAgY29sb3I9XCJwcmltYXJ5XCJcbiAgICAgICAgPlxuICAgICAgICAgIFNhdmVcbiAgICAgICAgPC9idXR0b24+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG48L2Zvcm0+XG4iXX0=
|
|
117
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3VwcGxpZXItZm9ybS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9pbnZlbnRvcnktY29tbW9uL3NyYy9saWIvaW52ZW50b3J5LWNvbW1vbi9zdXBwbGllci9zdXBwbGllci1mb3JtL3N1cHBsaWVyLWZvcm0uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvaW52ZW50b3J5LWNvbW1vbi9zcmMvbGliL2ludmVudG9yeS1jb21tb24vc3VwcGxpZXIvc3VwcGxpZXItZm9ybS9zdXBwbGllci1mb3JtLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBQzFELE9BQU8sRUFBMEIsVUFBVSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDcEUsT0FBTyxFQUFnQixlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUV6RSxPQUFPLEVBSUwsOEJBQThCLEdBQy9CLE1BQU0sbUJBQW1CLENBQUM7QUFDM0IsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLE1BQU0sQ0FBQzs7Ozs7Ozs7Ozs7QUFNckMsTUFBTSxPQUFPLHFCQUNYLFNBQVEsOEJBQThCO0lBZ0M1QjtJQUVBO0lBQ0E7SUFDRDtJQUNDO0lBQ3dCO0lBQ3hCO0lBcENELGFBQWEsR0FBUTtRQUM1QixZQUFZLEVBQUU7WUFDWixRQUFRLEVBQUUsMEJBQTBCO1NBQ3JDO1FBQ0QsWUFBWSxFQUFFO1lBQ1osUUFBUSxFQUFFLDBCQUEwQjtTQUNyQztRQUNELE9BQU8sRUFBRTtZQUNQLFFBQVEsRUFBRSxxQkFBcUI7U0FDaEM7UUFDRCxLQUFLLEVBQUU7WUFDTCxRQUFRLEVBQUUsbUJBQW1CO1NBQzlCO1FBQ0QsT0FBTyxFQUFFO1lBQ1AsUUFBUSxFQUFFLHFCQUFxQjtTQUNoQztRQUNELEtBQUss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RUFBRSxDQUFDO1FBQzdCLENBQUM7SUFDSCxDQUFDO0lBRUQsbUNBQW1DO0lBQzFCLFlBQVksQ0FBQyxLQUFhO1FBQ2pDLE9BQU8sSUFBSSxDQUFDLG9CQUFvQixDQUFDLFlBQVksQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDO0lBQzFFLENBQUM7SUFFRCx3Q0FBd0M7SUFDL0IsZUFBZSxDQUFDLEtBQWE7UUFDcEMsT0FBTyxJQUFJLENBQUMsb0JBQW9CLENBQUMsZUFBZSxDQUM5QyxLQUFLLEVBQ0wsSUFBSSxDQUFDLFlBQVksRUFDakIsSUFBSSxDQUFDLGFBQWEsQ0FDbkIsQ0FBQztJQUNKLENBQUM7d0dBakdVLHFCQUFxQiw2TUF1Q3RCLGVBQWU7NEZBdkNkLHFCQUFxQixnRkNqQmxDLG0rRUFvR0E7OzRGRG5GYSxxQkFBcUI7a0JBSmpDLFNBQVM7K0JBQ0UsbUJBQW1COzswQkEwQzFCLE1BQU07MkJBQUMsZUFBZSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFN1cHBsaWVyU2VydmljZSB9IGZyb20gXCIuLy4uL3N1cHBsaWVyLnNlcnZpY2VcIjtcbmltcG9ydCB7IENvbXBvbmVudCwgSW5qZWN0LCBPbkluaXQgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHsgRm9ybUJ1aWxkZXIsIEZvcm1Hcm91cCwgVmFsaWRhdG9ycyB9IGZyb20gXCJAYW5ndWxhci9mb3Jtc1wiO1xuaW1wb3J0IHsgTWF0RGlhbG9nUmVmLCBNQVRfRElBTE9HX0RBVEEgfSBmcm9tIFwiQGFuZ3VsYXIvbWF0ZXJpYWwvZGlhbG9nXCI7XG5pbXBvcnQgeyBOZ3hTcGlubmVyU2VydmljZSB9IGZyb20gXCJuZ3gtc3Bpbm5lclwiO1xuaW1wb3J0IHtcbiAgQWxlcnRTZXJ2aWNlLFxuICBFcnJvckhhbmRsZXJTZXJ2aWNlLFxuICBGb3JtVmFsaWRhdG9yU2VydmljZSxcbiAgVGVjaGxpZnlGb3JtQ29tcG9uZW50SW50ZXJmYWNlLFxufSBmcm9tIFwibmd4LXRlY2hsaWZ5LWNvcmVcIjtcbmltcG9ydCB7IGxhc3RWYWx1ZUZyb20gfSBmcm9tIFwicnhqc1wiO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6IFwiYXBwLXN1cHBsaWVyLWZvcm1cIixcbiAgdGVtcGxhdGVVcmw6IFwiLi9zdXBwbGllci1mb3JtLmNvbXBvbmVudC5odG1sXCIsXG59KVxuZXhwb3J0IGNsYXNzIFN1cHBsaWVyRm9ybUNvbXBvbmVudFxuICBleHRlbmRzIFRlY2hsaWZ5Rm9ybUNvbXBvbmVudEludGVyZmFjZVxuICBpbXBsZW1lbnRzIE9uSW5pdFxue1xuICBvdmVycmlkZSBlcnJvck1lc3NhZ2VzOiBhbnkgPSB7XG4gICAgY29udGFjdF9uYW1lOiB7XG4gICAgICByZXF1aXJlZDogXCJDb250YWN0IE5hbWUgaXMgcmVxdWlyZWRcIixcbiAgICB9LFxuICAgIGNvbXBhbnlfbmFtZToge1xuICAgICAgcmVxdWlyZWQ6IFwiQ29tcGFueSBOYW1lIGlzIHJlcXVpcmVkXCIsXG4gICAgfSxcbiAgICBhZGRyZXNzOiB7XG4gICAgICByZXF1aXJlZDogXCJBZGRyZXNzIGlzIHJlcXVpcmVkXCIsXG4gICAgfSxcbiAgICBwaG9uZToge1xuICAgICAgcmVxdWlyZWQ6IFwiUGhvbmUgaXMgcmVxdWlyZWRcIixcbiAgICB9LFxuICAgIGRldGFpbHM6IHtcbiAgICAgIHJlcXVpcmVkOiBcIkRldGFpbHMgaXMgcmVxdWlyZWRcIixcbiAgICB9LFxuICAgIGVtYWlsOiB7XG4gICAgICByZXF1aXJlZDogXCJFbWFpbCBpcyByZXF1aXJlZFwiLFxuICAgIH0sXG4gICAgc3VwcGxpZXJfdHlwZV9pZDoge1xuICAgICAgcmVxdWlyZWQ6IFwiU3VwcGxpZXIgVHlwZSBpcyByZXF1aXJlZFwiLFxuICAgIH0sXG4gIH07XG5cbiAgaXNXb3JraW5nOiBib29sZWFuID0gZmFsc2U7XG4gIGlzVXBkYXRlTW9kZTogYm9vbGVhbiA9IGZhbHNlO1xuICBzdXBwbGllckZvcm06IEZvcm1Hcm91cDtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGZiOiBGb3JtQnVpbGRlcixcbiAgICBmb3JtVmFsaWRhdG9yU2VydmljZTogRm9ybVZhbGlkYXRvclNlcnZpY2UsXG4gICAgcHJpdmF0ZSBhbGVydFNlcnZpY2U6IEFsZXJ0U2VydmljZSxcbiAgICBwcml2YXRlIHNwaW5uZXJTZXJ2aWNlOiBOZ3hTcGlubmVyU2VydmljZSxcbiAgICBwdWJsaWMgZGlhbG9nUmVmOiBNYXREaWFsb2dSZWY8U3VwcGxpZXJGb3JtQ29tcG9uZW50PixcbiAgICBwcml2YXRlIGVycm9yU2VydmljZTogRXJyb3JIYW5kbGVyU2VydmljZSxcbiAgICBASW5qZWN0KE1BVF9ESUFMT0dfREFUQSkgcHVibGljIGRhdGE6IGFueSxcbiAgICBwcml2YXRlIHN1cHBsaWVyU2VydmljZTogU3VwcGxpZXJTZXJ2aWNlXG4gICkge1xuICAgIHN1cGVyKGZvcm1WYWxpZGF0b3JTZXJ2aWNlKTtcbiAgICB0aGlzLnN1cHBsaWVyRm9ybSA9IHRoaXMuZmIuZ3JvdXAoe1xuICAgICAgaWQ6IFtcIlwiXSxcbiAgICAgIGNvbnRhY3RfbmFtZTogW1wiXCJdLFxuICAgICAgY29tcGFueV9uYW1lOiBbXCJcIiwgVmFsaWRhdG9ycy5jb21wb3NlKFtWYWxpZGF0b3JzLnJlcXVpcmVkXSldLFxuICAgICAgZGV0YWlsczogW1wiXCJdLFxuICAgICAgYWRkcmVzczogW1wiXCJdLFxuICAgICAgcGhvbmU6IFtcIlwiXSxcbiAgICAgIGVtYWlsOiBbXCJcIl0sXG4gICAgICBzdXBwbGllcl90eXBlX2lkOiBbXCJcIixdLFxuICAgIH0pO1xuICB9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgaWYgKHRoaXMuZGF0YS5kZXRhaWxzKSB7XG4gICAgICB0aGlzLmlzVXBkYXRlTW9kZSA9IHRydWU7XG4gICAgICB0aGlzLnN1cHBsaWVyRm9ybS5wYXRjaFZhbHVlKHRoaXMuZGF0YS5kZXRhaWxzKTtcbiAgICB9XG4gIH1cblxuICBhc3luYyBzdWJtaXQoKSB7XG4gICAgaWYgKCF0aGlzLnN1cHBsaWVyRm9ybS52YWxpZCkge1xuICAgICAgdGhpcy5hbGVydFNlcnZpY2UuYWRkQWxlcnQoXCJQbGVhc2UgRmlsbCBBbGwgUmVxdWlyZWQgRmllbGRzXCIsIFwid2FyblwiKTtcbiAgICAgIHRoaXMuc3VwcGxpZXJGb3JtLm1hcmtBbGxBc1RvdWNoZWQoKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB2YXIgc3VwcGxpZXIgPSB0aGlzLnN1cHBsaWVyRm9ybS52YWx1ZTtcbiAgICB0cnkge1xuICAgICAgdGhpcy5zcGlubmVyU2VydmljZS5zaG93KCk7XG4gICAgICB0aGlzLmlzV29ya2luZyA9IHRydWU7XG4gICAgICBsZXQgcmVzdWx0ID0gdGhpcy5pc1VwZGF0ZU1vZGVcbiAgICAgICAgPyBhd2FpdCBsYXN0VmFsdWVGcm9tKHRoaXMuc3VwcGxpZXJTZXJ2aWNlLnVwZGF0ZShzdXBwbGllcikpXG4gICAgICAgIDogYXdhaXQgbGFzdFZhbHVlRnJvbSh0aGlzLnN1cHBsaWVyU2VydmljZS5zdG9yZShzdXBwbGllcikpO1xuICAgICAgdGhpcy5kaWFsb2dSZWYuY2xvc2UocmVzdWx0KTtcbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgdGhpcy5lcnJvclNlcnZpY2UuaGFuZGxlRXJyb3IoZXJyb3IpO1xuICAgIH0gZmluYWxseSB7XG4gICAgICB0aGlzLmlzV29ya2luZyA9IGZhbHNlO1xuICAgICAgdGhpcy5zcGlubmVyU2VydmljZS5oaWRlKCk7XG4gICAgfVxuICB9XG5cbiAgLyoqTWV0aG9kIHRvIGV2YWx1YXRlIGZvcm0gZmllbGRzKi9cbiAgb3ZlcnJpZGUgaXNGaWVsZFZhbGlkKGZpZWxkOiBzdHJpbmcpIHtcbiAgICByZXR1cm4gdGhpcy5mb3JtVmFsaWRhdG9yU2VydmljZS5pc0ZpZWxkVmFsaWQoZmllbGQsIHRoaXMuc3VwcGxpZXJGb3JtKTtcbiAgfVxuXG4gIC8qKk1ldGhvZCB0byBmaW5kIGVycm9yIGluIGZvcm0gZmllbGRzKi9cbiAgb3ZlcnJpZGUgZ2V0RXJyb3JNZXNzYWdlKGZpZWxkOiBzdHJpbmcpIHtcbiAgICByZXR1cm4gdGhpcy5mb3JtVmFsaWRhdG9yU2VydmljZS5nZXRFcnJvck1lc3NhZ2UoXG4gICAgICBmaWVsZCxcbiAgICAgIHRoaXMuc3VwcGxpZXJGb3JtLFxuICAgICAgdGhpcy5lcnJvck1lc3NhZ2VzXG4gICAgKTtcbiAgfVxufVxuIiwiPGZvcm1cbiAgKG5nU3VibWl0KT1cInN1Ym1pdCgpXCJcbiAgW2Zvcm1Hcm91cF09XCJzdXBwbGllckZvcm1cIlxuICBjbGFzcz1cIm1hdC10eXBvZ3JhcGh5XCJcbj5cbiAgPGRpdiBjbGFzcz1cImQtZmxleCBmbGV4LWNvbHVtbiBqdXN0aWZ5LWNvbnRlbnQtc3RhcnQgZ2FwLTJcIiBtYXQtZGlhbG9nLWNvbnRlbnQ+XG4gICAgPGgyIGNsYXNzPVwibWItMlwiPnt7IGlzVXBkYXRlTW9kZSA/ICdFZGl0JyA6ICdDcmVhdGUnIH19IFN1cHBsaWVyPC9oMj5cbiAgICA8bWF0LWZvcm0tZmllbGQ+XG4gICAgICA8bWF0LWxhYmVsPkNvbXBhbnkgTmFtZTwvbWF0LWxhYmVsPlxuICAgICAgPGlucHV0XG4gICAgICAgIGF1dG9jb21wbGV0ZT1cIm9mZlwiXG4gICAgICAgIGZvcm1Db250cm9sTmFtZT1cImNvbXBhbnlfbmFtZVwiXG4gICAgICAgIG1hdElucHV0XG4gICAgICAgIHBsYWNlaG9sZGVyPVwiQ29tcGFueSBOYW1lXCJcbiAgICAgICAgcmVxdWlyZWRcbiAgICAgIC8+XG4gICAgICA8bWF0LWVycm9yICpuZ0lmPVwiaXNGaWVsZFZhbGlkKCdjb21wYW55X25hbWUnKVwiPlxuICAgICAgICB7eyBnZXRFcnJvck1lc3NhZ2UoXCJjb21wYW55X25hbWVcIikgfX1cbiAgICAgIDwvbWF0LWVycm9yPlxuICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgPG1hdC1mb3JtLWZpZWxkPlxuICAgICAgPG1hdC1sYWJlbD5Db250YWN0IE5hbWU8L21hdC1sYWJlbD5cbiAgICAgIDxpbnB1dFxuICAgICAgICBhdXRvY29tcGxldGU9XCJvZmZcIlxuICAgICAgICBmb3JtQ29udHJvbE5hbWU9XCJjb250YWN0X25hbWVcIlxuICAgICAgICBtYXRJbnB1dFxuICAgICAgICBwbGFjZWhvbGRlcj1cIkNvbnRhY3QgTmFtZVwiXG4gICAgICAvPlxuICAgIDwvbWF0LWZvcm0tZmllbGQ+XG5cbiAgICA8bWF0LWZvcm0tZmllbGQ+XG4gICAgICA8bWF0LWxhYmVsPlR5cGVzPC9tYXQtbGFiZWw+XG4gICAgICA8YXBwLXNlYXJjaGFibGUtc2VsZWN0b3JcbiAgICAgICAgYXBpVXJsPVwiYXBpL3N1cHBsaWVyLXR5cGVzXCJcbiAgICAgICAgZm9ybUNvbnRyb2xOYW1lPVwic3VwcGxpZXJfdHlwZV9pZFwiXG4gICAgICAgIHRpdGxlRmllbGQ9XCJ0aXRsZVwiXG4gICAgICA+XG4gICAgICA8L2FwcC1zZWFyY2hhYmxlLXNlbGVjdG9yPlxuICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgPG1hdC1mb3JtLWZpZWxkPlxuICAgICAgPG1hdC1sYWJlbD5QaG9uZTwvbWF0LWxhYmVsPlxuICAgICAgPGlucHV0XG4gICAgICAgIGF1dG9jb21wbGV0ZT1cIm9mZlwiXG4gICAgICAgIGZvcm1Db250cm9sTmFtZT1cInBob25lXCJcbiAgICAgICAgbWF0SW5wdXRcbiAgICAgICAgcGxhY2Vob2xkZXI9XCJQaG9uZVwiXG4gICAgICAvPlxuICAgIDwvbWF0LWZvcm0tZmllbGQ+XG5cbiAgICA8bWF0LWZvcm0tZmllbGQ+XG4gICAgICA8bWF0LWxhYmVsPkVtYWlsPC9tYXQtbGFiZWw+XG4gICAgICA8aW5wdXRcbiAgICAgICAgYXV0b2NvbXBsZXRlPVwib2ZmXCJcbiAgICAgICAgZm9ybUNvbnRyb2xOYW1lPVwiZW1haWxcIlxuICAgICAgICBtYXRJbnB1dFxuICAgICAgICBwbGFjZWhvbGRlcj1cIkVtYWlsXCJcbiAgICAgICAgdHlwZT1cImVtYWlsXCJcbiAgICAgIC8+XG4gICAgPC9tYXQtZm9ybS1maWVsZD5cblxuICAgIDxtYXQtZm9ybS1maWVsZD5cbiAgICAgIDxtYXQtbGFiZWw+QWRkcmVzczwvbWF0LWxhYmVsPlxuICAgICAgPGlucHV0XG4gICAgICAgIGF1dG9jb21wbGV0ZT1cIm9mZlwiXG4gICAgICAgIGZvcm1Db250cm9sTmFtZT1cImFkZHJlc3NcIlxuICAgICAgICBtYXRJbnB1dFxuICAgICAgICBwbGFjZWhvbGRlcj1cIkFkZHJlc3NcIlxuICAgICAgLz5cbiAgICA8L21hdC1mb3JtLWZpZWxkPlxuXG4gICAgPG1hdC1mb3JtLWZpZWxkPlxuICAgICAgPG1hdC1sYWJlbD5EZXRhaWxzPC9tYXQtbGFiZWw+XG4gICAgICA8aW5wdXRcbiAgICAgICAgYXV0b2NvbXBsZXRlPVwib2ZmXCJcbiAgICAgICAgZm9ybUNvbnRyb2xOYW1lPVwiZGV0YWlsc1wiXG4gICAgICAgIG1hdElucHV0XG4gICAgICAgIHBsYWNlaG9sZGVyPVwiRGV0YWlsc1wiXG4gICAgICAvPlxuICAgIDwvbWF0LWZvcm0tZmllbGQ+XG5cbiAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGp1c3RpZnktY29udGVudC1lbmQgYWxpZ24taXRlbXMtY2VudGVyIGdhcC0zXCI+XG4gICAgICA8YnV0dG9uXG4gICAgICAgIChjbGljayk9XCJkaWFsb2dSZWYuY2xvc2UoKVwiXG4gICAgICAgIFtkaXNhYmxlZF09XCJpc1dvcmtpbmdcIlxuICAgICAgICBtYXQtZmxhdC1idXR0b25cbiAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICA+XG4gICAgICAgIENhbmNlbFxuICAgICAgPC9idXR0b24+XG4gICAgICA8YnV0dG9uXG4gICAgICAgIFtkaXNhYmxlZF09XCJpc1dvcmtpbmdcIlxuICAgICAgICBjb2xvcj1cInByaW1hcnlcIlxuICAgICAgICBtYXQtcmFpc2VkLWJ1dHRvblxuICAgICAgICB0eXBlPVwic3VibWl0XCJcbiAgICAgID5cbiAgICAgICAgU2F2ZVxuICAgICAgPC9idXR0b24+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuPC9mb3JtPlxuIl19
|
|
@@ -11,6 +11,7 @@ import { FlexModule } from "@angular/flex-layout";
|
|
|
11
11
|
import { ReactiveFormsModule } from "@angular/forms";
|
|
12
12
|
import { InfiniteScrollModule } from "ngx-infinite-scroll";
|
|
13
13
|
import { MaterialModule } from '../material.module';
|
|
14
|
+
import { NgxPermissionsModule } from 'ngx-permissions';
|
|
14
15
|
import * as i0 from "@angular/core";
|
|
15
16
|
export class SupplierModule {
|
|
16
17
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SupplierModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
@@ -26,7 +27,8 @@ export class SupplierModule {
|
|
|
26
27
|
NoteModule,
|
|
27
28
|
FlexModule,
|
|
28
29
|
ReactiveFormsModule,
|
|
29
|
-
InfiniteScrollModule
|
|
30
|
+
InfiniteScrollModule,
|
|
31
|
+
NgxPermissionsModule] });
|
|
30
32
|
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SupplierModule, imports: [CommonModule,
|
|
31
33
|
SupplierRoutingModule,
|
|
32
34
|
MaterialModule,
|
|
@@ -35,7 +37,8 @@ export class SupplierModule {
|
|
|
35
37
|
NoteModule,
|
|
36
38
|
FlexModule,
|
|
37
39
|
ReactiveFormsModule,
|
|
38
|
-
InfiniteScrollModule
|
|
40
|
+
InfiniteScrollModule,
|
|
41
|
+
NgxPermissionsModule] });
|
|
39
42
|
}
|
|
40
43
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SupplierModule, decorators: [{
|
|
41
44
|
type: NgModule,
|
|
@@ -57,7 +60,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
57
60
|
FlexModule,
|
|
58
61
|
ReactiveFormsModule,
|
|
59
62
|
InfiniteScrollModule,
|
|
63
|
+
NgxPermissionsModule,
|
|
60
64
|
],
|
|
61
65
|
}]
|
|
62
66
|
}] });
|
|
63
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
67
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3VwcGxpZXIubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvaW52ZW50b3J5LWNvbW1vbi9zcmMvbGliL2ludmVudG9yeS1jb21tb24vc3VwcGxpZXIvc3VwcGxpZXIubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxzQkFBc0IsRUFDdEIsVUFBVSxFQUNWLHdCQUF3QixHQUN6QixNQUFNLG1CQUFtQixDQUFDO0FBQzNCLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRS9DLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3pELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHlDQUF5QyxDQUFDO0FBQ2hGLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDJDQUEyQyxDQUFDO0FBQ25GLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHlDQUF5QyxDQUFDO0FBQ2hGLE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxNQUFNLHVEQUF1RCxDQUFDO0FBQ3JHLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNsRCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNyRCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDcEQsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0saUJBQWlCLENBQUM7O0FBdUJ2RCxNQUFNLE9BQU8sY0FBYzt3R0FBZCxjQUFjO3lHQUFkLGNBQWMsaUJBbkJ2QixpQkFBaUI7WUFDakIscUJBQXFCO1lBQ3JCLHNCQUFzQjtZQUN0QixxQkFBcUI7WUFDckIsNEJBQTRCLGFBRzVCLFlBQVk7WUFDWixxQkFBcUI7WUFDckIsY0FBYztZQUNkLHdCQUF3QjtZQUN4QixzQkFBc0I7WUFDdEIsVUFBVTtZQUNWLFVBQVU7WUFDVixtQkFBbUI7WUFDbkIsb0JBQW9CO1lBQ3BCLG9CQUFvQjt5R0FHWCxjQUFjLFlBWnZCLFlBQVk7WUFDWixxQkFBcUI7WUFDckIsY0FBYztZQUNkLHdCQUF3QjtZQUN4QixzQkFBc0I7WUFDdEIsVUFBVTtZQUNWLFVBQVU7WUFDVixtQkFBbUI7WUFDbkIsb0JBQW9CO1lBQ3BCLG9CQUFvQjs7NEZBR1gsY0FBYztrQkFyQjFCLFFBQVE7bUJBQUM7b0JBQ1IsWUFBWSxFQUFFO3dCQUNaLGlCQUFpQjt3QkFDakIscUJBQXFCO3dCQUNyQixzQkFBc0I7d0JBQ3RCLHFCQUFxQjt3QkFDckIsNEJBQTRCO3FCQUM3QjtvQkFDRCxPQUFPLEVBQUU7d0JBQ1AsWUFBWTt3QkFDWixxQkFBcUI7d0JBQ3JCLGNBQWM7d0JBQ2Qsd0JBQXdCO3dCQUN4QixzQkFBc0I7d0JBQ3RCLFVBQVU7d0JBQ1YsVUFBVTt3QkFDVixtQkFBbUI7d0JBQ25CLG9CQUFvQjt3QkFDcEIsb0JBQW9CO3FCQUNyQjtpQkFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEF1ZGl0TG9nRm9yTW9kZWxNb2R1bGUsXG4gIE5vdGVNb2R1bGUsXG4gIFNlYXJjaGFibGVTZWxlY3Rvck1vZHVsZSxcbn0gZnJvbSBcIm5neC10ZWNobGlmeS1jb3JlXCI7XG5pbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tIFwiQGFuZ3VsYXIvY29tbW9uXCI7XG5cbmltcG9ydCB7IFN1cHBsaWVyUm91dGluZ01vZHVsZSB9IGZyb20gXCIuL3N1cHBsaWVyLXJvdXRpbmcubW9kdWxlXCI7XG5pbXBvcnQgeyBTdXBwbGllckNvbXBvbmVudCB9IGZyb20gXCIuL3N1cHBsaWVyLmNvbXBvbmVudFwiO1xuaW1wb3J0IHsgU3VwcGxpZXJWaWV3Q29tcG9uZW50IH0gZnJvbSBcIi4vc3VwcGxpZXItdmlldy9zdXBwbGllci12aWV3LmNvbXBvbmVudFwiO1xuaW1wb3J0IHsgU3VwcGxpZXJzTGlzdENvbXBvbmVudCB9IGZyb20gXCIuL3N1cHBsaWVycy1saXN0L3N1cHBsaWVycy1saXN0LmNvbXBvbmVudFwiO1xuaW1wb3J0IHsgU3VwcGxpZXJGb3JtQ29tcG9uZW50IH0gZnJvbSBcIi4vc3VwcGxpZXItZm9ybS9zdXBwbGllci1mb3JtLmNvbXBvbmVudFwiO1xuaW1wb3J0IHsgU3VwcGxpZXJJbmZvcm1hdGlvbkNvbXBvbmVudCB9IGZyb20gXCIuL3N1cHBsaWVyLWluZm9ybWF0aW9uL3N1cHBsaWVyLWluZm9ybWF0aW9uLmNvbXBvbmVudFwiO1xuaW1wb3J0IHsgRmxleE1vZHVsZSB9IGZyb20gXCJAYW5ndWxhci9mbGV4LWxheW91dFwiO1xuaW1wb3J0IHsgUmVhY3RpdmVGb3Jtc01vZHVsZSB9IGZyb20gXCJAYW5ndWxhci9mb3Jtc1wiO1xuaW1wb3J0IHsgSW5maW5pdGVTY3JvbGxNb2R1bGUgfSBmcm9tIFwibmd4LWluZmluaXRlLXNjcm9sbFwiO1xuaW1wb3J0IHsgTWF0ZXJpYWxNb2R1bGUgfSBmcm9tICcuLi9tYXRlcmlhbC5tb2R1bGUnO1xuaW1wb3J0IHsgTmd4UGVybWlzc2lvbnNNb2R1bGUgfSBmcm9tICduZ3gtcGVybWlzc2lvbnMnO1xuXG5ATmdNb2R1bGUoe1xuICBkZWNsYXJhdGlvbnM6IFtcbiAgICBTdXBwbGllckNvbXBvbmVudCxcbiAgICBTdXBwbGllclZpZXdDb21wb25lbnQsXG4gICAgU3VwcGxpZXJzTGlzdENvbXBvbmVudCxcbiAgICBTdXBwbGllckZvcm1Db21wb25lbnQsXG4gICAgU3VwcGxpZXJJbmZvcm1hdGlvbkNvbXBvbmVudCxcbiAgXSxcbiAgaW1wb3J0czogW1xuICAgIENvbW1vbk1vZHVsZSxcbiAgICBTdXBwbGllclJvdXRpbmdNb2R1bGUsXG4gICAgTWF0ZXJpYWxNb2R1bGUsXG4gICAgU2VhcmNoYWJsZVNlbGVjdG9yTW9kdWxlLFxuICAgIEF1ZGl0TG9nRm9yTW9kZWxNb2R1bGUsXG4gICAgTm90ZU1vZHVsZSxcbiAgICBGbGV4TW9kdWxlLFxuICAgIFJlYWN0aXZlRm9ybXNNb2R1bGUsXG4gICAgSW5maW5pdGVTY3JvbGxNb2R1bGUsXG4gICAgTmd4UGVybWlzc2lvbnNNb2R1bGUsXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIFN1cHBsaWVyTW9kdWxlIHt9XG4iXX0=
|