@rosoftlab/ionic 1.0.0-alpha-10 → 1.0.0-alpha-12
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/components/rsl-ionic-crud.component/rsl-ionic-crud.component.mjs +6 -6
- package/esm2022/lib/components/rsl-ionic-data-table/rsl-ionic-data-table.component.mjs +6 -6
- package/esm2022/lib/components/rsl-ionic-grid/rsl-ionic-grid.component.mjs +6 -6
- package/esm2022/lib/components/rsl-ionic-sm-buttons/ionic-sm-buttons.component.mjs +6 -6
- package/esm2022/lib/decorators/ionic-datatable-layout.mjs +1 -1
- package/esm2022/lib/decorators/ionic-list.decorator.mjs +1 -1
- package/esm2022/lib/interfaces/ionic-list-layout-config.mjs +1 -1
- package/esm2022/lib/ionic-dialog.service.mjs +5 -5
- package/esm2022/lib/rsl-ionic-module.module.mjs +5 -5
- package/esm2022/lib/translate.extension.mjs +1 -1
- package/esm2022/lib/types/repeat/repeat-section.type.mjs +5 -5
- package/esm2022/lib/types/repeat-datatable/repeat-datatable.component.mjs +6 -6
- package/esm2022/lib/validators/must-match.mjs +1 -1
- package/esm2022/lib/wrappers/accordion-wrapper.component.mjs +4 -4
- package/esm2022/lib/wrappers/panel-wrapper.component.mjs +21 -21
- package/esm2022/lib/wrappers/wrappers.module.mjs +5 -5
- package/esm2022/public-api.mjs +1 -1
- package/fesm2022/rosoftlab-ionic.mjs +64 -64
- package/fesm2022/rosoftlab-ionic.mjs.map +1 -1
- package/package.json +6 -6
@@ -120,16 +120,16 @@ export class RepeatTypeComponent extends FieldArrayType {
|
|
120
120
|
const blob = new Blob([excelBuffer], { type: 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet' });
|
121
121
|
this.fileSaverService.save(blob, this.exportDataProp.fileName);
|
122
122
|
}
|
123
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
124
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "
|
123
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: RepeatTypeComponent, deps: [{ token: i1.IonicDialogService }, { token: i2.TranslateService }, { token: i3.FileSaverService }], target: i0.ɵɵFactoryTarget.Component }); }
|
124
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.1.2", type: RepeatTypeComponent, isStandalone: true, selector: "formly-repeat-section", viewQueries: [{ propertyName: "fileInput", first: true, predicate: ["fileInput"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<ion-header [translucent]=\"true\">\r\n <ion-toolbar>\r\n <ng-container [ngTemplateOutlet]=\"header\"></ng-container>\r\n </ion-toolbar>\r\n <ng-container [ngTemplateOutlet]=\"search\"></ng-container>\r\n</ion-header>\r\n\r\n<ng-template #header>\r\n <ion-title class=\"ion-text-left\">{{props.label}}</ion-title>\r\n\r\n <ion-button slot=\"end\" (click)=\"exportData()\" fill=\"clear\" [disabled]=\"props.disabled\" *ngIf=\"exportDataProp\">\r\n <ion-icon name=\"cloud-download-outline\"></ion-icon>\r\n </ion-button>\r\n\r\n <ion-button slot=\"end\" (click)=\"importData()\" fill=\"clear\" [disabled]=\"props.disabled\" *ngIf=\"importDataProp\">\r\n <ion-icon name=\"cloud-upload-outline\"></ion-icon>\r\n </ion-button>\r\n <input #fileInput type=\"file\" style=\"display: none\" accept=\".xlsx,.xls,.csv\" (change)=\"handleImportFile($event)\">\r\n\r\n <ion-button slot=\"end\" (click)=\"add()\" fill=\"clear\" [disabled]=\"props.disabled\">\r\n <ion-icon size=\"large\" name=\"add\"></ion-icon>\r\n </ion-button>\r\n</ng-template>\r\n\r\n\r\n<ion-list lines=\"full\">\r\n <ion-item *ngFor=\"let field of field.fieldGroup; let i = index\" class=\"row align-items-baseline\">\r\n <formly-field class=\"formly-ion-list-item\" [field]=\"field\"></formly-field>\r\n <ion-button [disabled]=\"props.disabled\" color=\"danger\" slot=\"end\" (click)='remove(i)'>\r\n <ion-icon slot=\"icon-only\" name=\"trash\"></ion-icon>\r\n </ion-button>\r\n </ion-item>\r\n</ion-list>\r\n\r\n\r\n<ng-template #search>\r\n <ion-toolbar *ngIf=\"showSerach\">\r\n <ion-searchbar [debounce]=\"1000\" (ionChange)=\"handleChange($event)\"></ion-searchbar>\r\n </ion-toolbar>\r\n</ng-template>", styles: [".formly-ion-list-item{display:inline;width:100%}\n"], dependencies: [{ kind: "ngmodule", type: WrappersModule }, { kind: "directive", type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i5.IonButton, selector: "ion-button", inputs: ["buttonType", "color", "disabled", "download", "expand", "fill", "form", "href", "mode", "rel", "routerAnimation", "routerDirection", "shape", "size", "strong", "target", "type"] }, { kind: "component", type: i5.IonHeader, selector: "ion-header", inputs: ["collapse", "mode", "translucent"] }, { kind: "component", type: i5.IonIcon, selector: "ion-icon", inputs: ["color", "flipRtl", "icon", "ios", "lazy", "md", "mode", "name", "sanitize", "size", "src"] }, { kind: "component", type: i5.IonItem, selector: "ion-item", inputs: ["button", "color", "counter", "counterFormatter", "detail", "detailIcon", "disabled", "download", "fill", "href", "lines", "mode", "rel", "routerAnimation", "routerDirection", "shape", "target", "type"] }, { kind: "component", type: i5.IonList, selector: "ion-list", inputs: ["inset", "lines", "mode"] }, { kind: "component", type: i5.IonSearchbar, selector: "ion-searchbar", inputs: ["animated", "autocomplete", "autocorrect", "cancelButtonIcon", "cancelButtonText", "clearIcon", "color", "debounce", "disabled", "enterkeyhint", "inputmode", "mode", "name", "placeholder", "searchIcon", "showCancelButton", "showClearButton", "spellcheck", "type", "value"] }, { kind: "component", type: i5.IonTitle, selector: "ion-title", inputs: ["color", "size"] }, { kind: "component", type: i5.IonToolbar, selector: "ion-toolbar", inputs: ["color", "mode"] }, { kind: "directive", type: i5.TextValueAccessor, selector: "ion-input:not([type=number]),ion-textarea,ion-searchbar,ion-range" }, { kind: "component", type: i6.FormlyField, selector: "formly-field", inputs: ["field"] }] }); }
|
125
125
|
}
|
126
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
126
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: RepeatTypeComponent, decorators: [{
|
127
127
|
type: Component,
|
128
128
|
args: [{ standalone: true, selector: 'formly-repeat-section', imports: [
|
129
129
|
WrappersModule
|
130
130
|
], template: "<ion-header [translucent]=\"true\">\r\n <ion-toolbar>\r\n <ng-container [ngTemplateOutlet]=\"header\"></ng-container>\r\n </ion-toolbar>\r\n <ng-container [ngTemplateOutlet]=\"search\"></ng-container>\r\n</ion-header>\r\n\r\n<ng-template #header>\r\n <ion-title class=\"ion-text-left\">{{props.label}}</ion-title>\r\n\r\n <ion-button slot=\"end\" (click)=\"exportData()\" fill=\"clear\" [disabled]=\"props.disabled\" *ngIf=\"exportDataProp\">\r\n <ion-icon name=\"cloud-download-outline\"></ion-icon>\r\n </ion-button>\r\n\r\n <ion-button slot=\"end\" (click)=\"importData()\" fill=\"clear\" [disabled]=\"props.disabled\" *ngIf=\"importDataProp\">\r\n <ion-icon name=\"cloud-upload-outline\"></ion-icon>\r\n </ion-button>\r\n <input #fileInput type=\"file\" style=\"display: none\" accept=\".xlsx,.xls,.csv\" (change)=\"handleImportFile($event)\">\r\n\r\n <ion-button slot=\"end\" (click)=\"add()\" fill=\"clear\" [disabled]=\"props.disabled\">\r\n <ion-icon size=\"large\" name=\"add\"></ion-icon>\r\n </ion-button>\r\n</ng-template>\r\n\r\n\r\n<ion-list lines=\"full\">\r\n <ion-item *ngFor=\"let field of field.fieldGroup; let i = index\" class=\"row align-items-baseline\">\r\n <formly-field class=\"formly-ion-list-item\" [field]=\"field\"></formly-field>\r\n <ion-button [disabled]=\"props.disabled\" color=\"danger\" slot=\"end\" (click)='remove(i)'>\r\n <ion-icon slot=\"icon-only\" name=\"trash\"></ion-icon>\r\n </ion-button>\r\n </ion-item>\r\n</ion-list>\r\n\r\n\r\n<ng-template #search>\r\n <ion-toolbar *ngIf=\"showSerach\">\r\n <ion-searchbar [debounce]=\"1000\" (ionChange)=\"handleChange($event)\"></ion-searchbar>\r\n </ion-toolbar>\r\n</ng-template>", styles: [".formly-ion-list-item{display:inline;width:100%}\n"] }]
|
131
|
-
}], ctorParameters:
|
131
|
+
}], ctorParameters: () => [{ type: i1.IonicDialogService }, { type: i2.TranslateService }, { type: i3.FileSaverService }], propDecorators: { fileInput: [{
|
132
132
|
type: ViewChild,
|
133
133
|
args: ['fileInput']
|
134
134
|
}] } });
|
135
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVwZWF0LXNlY3Rpb24udHlwZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Jvc29mdGxhYi9pb25pYy9zcmMvbGliL3R5cGVzL3JlcGVhdC9yZXBlYXQtc2VjdGlvbi50eXBlLnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcm9zb2Z0bGFiL2lvbmljL3NyYy9saWIvdHlwZXMvcmVwZWF0L3JlcGVhdC1zZWN0aW9uLmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRWpFLE9BQU8sRUFBRSxjQUFjLEVBQXFCLE1BQU0sa0JBQWtCLENBQUM7QUFDckUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdkQsT0FBTyxFQUFFLG9CQUFvQixFQUFFLGFBQWEsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3RFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNqRCxPQUFPLEtBQUssSUFBSSxNQUFNLE1BQU0sQ0FBQztBQUM3QixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUNoRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7Ozs7Ozs7O0FBeUJoRSxNQUFNLE9BQU8sbUJBQW9CLFNBQVEsY0FBYztJQWVyRCxZQUNTLGFBQWlDLEVBQ2pDLFNBQTJCLEVBQzFCLGdCQUFrQztRQUMxQyxLQUFLLEVBQUUsQ0FBQztRQUhELGtCQUFhLEdBQWIsYUFBYSxDQUFvQjtRQUNqQyxjQUFTLEdBQVQsU0FBUyxDQUFrQjtRQUMxQixxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWtCO1FBYjVDLFNBQUksR0FBd0IsSUFBSSxDQUFDO1FBQ2pDLFdBQU0sR0FBZSxJQUFJLENBQUM7UUFDMUIsZUFB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U0FBUztpQ0FFSSxJQUFJLFlBQ04sdUJBQXVCLFdBR3hCO3dCQUNQLGNBQWM7cUJBQ2Y7dUtBTXVCLFNBQVM7c0JBQWhDLFNBQVM7dUJBQUMsV0FBVyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRWxlbWVudFJlZiwgVmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEZvcm1Hcm91cCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgRmllbGRBcnJheVR5cGUsIEZvcm1seUZpZWxkQ29uZmlnIH0gZnJvbSAnQG5neC1mb3JtbHkvY29yZSc7XHJcbmltcG9ydCB7IFRyYW5zbGF0ZVNlcnZpY2UgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcclxuaW1wb3J0IHsgZ2V0VmFsdWVGcm9tSnNvbkRhdGEsIHJlYWRGaWxlQXN5bmMgfSBmcm9tICdAcm9zb2Z0bGFiL2NvcmUnO1xyXG5pbXBvcnQgeyBGaWxlU2F2ZXJTZXJ2aWNlIH0gZnJvbSAnbmd4LWZpbGVzYXZlcic7XHJcbmltcG9ydCAqIGFzIFhMU1ggZnJvbSAneGxzeCc7XHJcbmltcG9ydCB7IElvbmljRGlhbG9nU2VydmljZSB9IGZyb20gJy4uLy4uL2lvbmljLWRpYWxvZy5zZXJ2aWNlJztcclxuaW1wb3J0IHsgV3JhcHBlcnNNb2R1bGUgfSBmcm9tICcuLi8uLi93cmFwcGVycy93cmFwcGVycy5tb2R1bGUnO1xyXG5cclxuaW50ZXJmYWNlIFNlYXJjaFByb3Age1xyXG4gIHNob3dTZXJhY2g6IGJvb2xlYW5cclxuICBzZWFyY2hQcm9wOiBzdHJpbmdcclxufVxyXG5pbnRlcmZhY2UgRXhwb3J0RGF0YVByb3Age1xyXG4gIHByb3BlcnRpZXNUb0V4cG9ydDogc3RyaW5nW11cclxuICBzaGVldE5hbWU6IHN0cmluZztcclxuICBmaWxlTmFtZTogc3RyaW5nO1xyXG59XHJcbmludGVyZmFjZSBJbXBvcnREYXRhUHJvcCB7XHJcbiAga2V5UHJvcDogc3RyaW5nXHJcbiAgcHJvcGVydGllc1RvSW1wb3J0OiBzdHJpbmdbXVxyXG59XHJcbkBDb21wb25lbnQoe1xyXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvY29tcG9uZW50LXNlbGVjdG9yXHJcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcclxuICBzZWxlY3RvcjogJ2Zvcm1seS1yZXBlYXQtc2VjdGlvbicsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3JlcGVhdC1zZWN0aW9uLmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL3JlcGVhdC1zZWN0aW9uLnNjc3MnXSxcclxuICBpbXBvcnRzOiBbXHJcbiAgICBXcmFwcGVyc01vZHVsZVxyXG4gIF1cclxufSlcclxuZXhwb3J0IGNsYXNzIFJlcGVhdFR5cGVDb21wb25lbnQgZXh0ZW5kcyBGaWVsZEFycmF5VHlwZSB7XHJcbiAgLyoqXHJcbiAgICpcclxuICAgKi9cclxuICBAVmlld0NoaWxkKCdmaWxlSW5wdXQnKSBmaWxlSW5wdXQ6IEVsZW1lbnRSZWY7XHJcbiAgZGF0YTogRm9ybWx5RmllbGRDb25maWdbXSA9IG51bGw7XHJcbiAgc2VyYWNoOiBTZWFyY2hQcm9wID0gbnVsbDtcclxuICBzaG93U2VyYWNoOiBib29sZWFuID0gZmFsc2U7XHJcbiAgZGVsZXRlTWVzc2FnZTogc3RyaW5nXHJcbiAgZGVsZXRlQnV0dG9uOiBzdHJpbmdcclxuICBjYW5jZWxCdXR0b246IHN0cmluZ1xyXG4gIGZpbHRlclZhbHVlOiBzdHJpbmcgPSBudWxsO1xyXG4gIHR5cGVLZXk6IHN0cmluZztcclxuICBpbXBvcnREYXRhUHJvcDogSW1wb3J0RGF0YVByb3AgPSBudWxsO1xyXG4gIGV4cG9ydERhdGFQcm9wOiBFeHBvcnREYXRhUHJvcCA9IG51bGw7XHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwdWJsaWMgZGlhbG9nU2VydmljZTogSW9uaWNEaWFsb2dTZXJ2aWNlLFxyXG4gICAgcHVibGljIHRyYW5zbGF0ZTogVHJhbnNsYXRlU2VydmljZSxcclxuICAgIHByaXZhdGUgZmlsZVNhdmVyU2VydmljZTogRmlsZVNhdmVyU2VydmljZSkge1xyXG4gICAgc3VwZXIoKTtcclxuICAgIHRoaXMuZGVsZXRlTWVzc2FnZSA9IHRoaXMudHJhbnNsYXRlLmluc3RhbnQoXCJHZW5lcmFsLkRlbGV0ZS5RdWVzdGlvblwiKVxyXG4gICAgdGhpcy5kZWxldGVCdXR0b24gPSB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KFwiR2VuZXJhbC5EZWxldGUuQnV0dG9uXCIpXHJcbiAgICB0aGlzLmNhbmNlbEJ1dHRvbiA9IHRoaXMudHJhbnNsYXRlLmluc3RhbnQoXCJHZW5lcmFsLkNhbmNlbC5CdXR0b25cIilcclxuXHJcbiAgfVxyXG4gIG92ZXJyaWRlIHJlbW92ZShpOiBudW1iZXIsIHsgbWFya0FzRGlydHkgfSA9IHsgbWFya0FzRGlydHk6IHRydWUgfSkge1xyXG4gICAgdGhpcy5kaWFsb2dTZXJ2aWNlLmNvbmZpcm0odGhpcy5kZWxldGVNZXNzYWdlLCBudWxsLCB0aGlzLmRlbGV0ZUJ1dHRvbiwgdGhpcy5jYW5jZWxCdXR0b24pLnRoZW4oXHJcbiAgICAgICh2YWx1ZTogYW55KSA9PiB7XHJcbiAgICAgICAgaWYgKHZhbHVlLmRhdGEpIHtcclxuICAgICAgICAgIHZhciBvbkRlbGV0ZSA9IHRoaXMuZmllbGQucHJvcHNbJ29uRGVsZXRlJ107XHJcbiAgICAgICAgICBpZiAob25EZWxldGUpIHtcclxuICAgICAgICAgICAgb25EZWxldGUodGhpcy5maWVsZC5maWVsZEdyb3VwW2ldLm1vZGVsKS5zdWJzY3JpYmUoXHJcbiAgICAgICAgICAgICAgKCkgPT4ge1xyXG4gICAgICAgICAgICAgICAgc3VwZXIucmVtb3ZlKGkpO1xyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgKVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgc3VwZXIucmVtb3ZlKGkpO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgKVxyXG4gIH1cclxuICBuZ09uSW5pdCgpIHtcclxuICAgIHRoaXMudHlwZUtleSA9IHRoaXMuZmllbGQua2V5IGFzIHN0cmluZ1xyXG4gICAgdGhpcy5zZXJhY2ggPSB0aGlzLnByb3BzWydzZWFyY2gnXVxyXG4gICAgdGhpcy5leHBvcnREYXRhUHJvcCA9IHRoaXMucHJvcHNbJ2V4cG9ydCddIHx8IG51bGxcclxuICAgIHRoaXMuaW1wb3J0RGF0YVByb3AgPSB0aGlzLnByb3BzWydpbXBvcnQnXSB8fCBudWxsXHJcbiAgICBpZiAodGhpcy5zZXJhY2gpIHtcclxuICAgICAgdGhpcy5zaG93U2VyYWNoID0gdGhpcy5zZXJhY2guc2hvd1NlcmFjaFxyXG4gICAgfVxyXG5cclxuICB9XHJcbiAgcG9zdFBvcHVsYXRlKGZpZWxkOiBhbnkpIHtcclxuICAgIGlmICh0aGlzLnNob3dTZXJhY2gpIHtcclxuICAgICAgdGhpcy5kYXRhID0gZmllbGQuZmllbGRHcm91cFxyXG4gICAgICBpZiAodGhpcy5maWx0ZXJWYWx1ZSkge1xyXG4gICAgICAgIHRoaXMuZmllbGQuZmllbGRHcm91cCA9IHRoaXMuZGF0YS5maWx0ZXIoZiA9PiBmLmZvcm1Db250cm9sLnZhbHVlW3RoaXMuc2VyYWNoLnNlYXJjaFByb3BdLnRvTG93ZXJDYXNlKCkuaW5jbHVkZXModGhpcy5maWx0ZXJWYWx1ZSkpXHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbiAgaGFuZGxlQ2hhbmdlKGV2ZW50KSB7XHJcbiAgICBpZiAodGhpcy5zaG93U2VyYWNoKSB7XHJcbiAgICAgIGlmICh0aGlzLmRhdGEgPT0gbnVsbCAmJiB0aGlzLmZpZWxkLmZpZWxkR3JvdXAgIT09IG51bGwpIHtcclxuICAgICAgICB0aGlzLmRhdGEgPSB0aGlzLmZpZWxkLmZpZWxkR3JvdXBcclxuICAgICAgfVxyXG4gICAgICB0aGlzLmZpbHRlclZhbHVlID0gZXZlbnQudGFyZ2V0LnZhbHVlLnRvTG93ZXJDYXNlKCk7XHJcbiAgICAgIHRoaXMuZmllbGQuZmllbGRHcm91cCA9IHRoaXMuZGF0YS5maWx0ZXIoZiA9PiBmLmZvcm1Db250cm9sLnZhbHVlW3RoaXMuc2VyYWNoLnNlYXJjaFByb3BdLnRvTG93ZXJDYXNlKCkuaW5jbHVkZXModGhpcy5maWx0ZXJWYWx1ZSkpXHJcbiAgICB9XHJcbiAgfVxyXG4gIGltcG9ydERhdGEoKSB7XHJcbiAgICB0aGlzLmZpbGVJbnB1dC5uYXRpdmVFbGVtZW50LmNsaWNrKCk7XHJcbiAgfVxyXG4gIGFzeW5jIGhhbmRsZUltcG9ydEZpbGUoZXZlbnQ6IGFueSkge1xyXG4gICAgY29uc3QgZmlsZSA9IGV2ZW50LnRhcmdldC5maWxlc1swXTtcclxuXHJcbiAgICBpZiAoZmlsZSkge1xyXG4gICAgICB0cnkge1xyXG5cclxuXHJcbiAgICAgICAgY29uc3QgZmlsZUNvbnRlbnRzID0gYXdhaXQgcmVhZEZpbGVBc3luYyhmaWxlKTtcclxuICAgICAgICAvLyBIYW5kbGUgdGhlIGZpbGUgY29udGVudHMgaGVyZSAoZS5nLiwgZGlzcGxheSBvciBwcm9jZXNzIHRoZSBkYXRhKVxyXG4gICAgICAgIGNvbnN0IHdiOiBYTFNYLldvcmtCb29rID0gWExTWC5yZWFkKGZpbGVDb250ZW50cykvLywgeyB0eXBlOiAnYmluYXJ5JyB9KTtcclxuICAgICAgICBjb25zdCB3c25hbWU6IHN0cmluZyA9IHdiLlNoZWV0TmFtZXNbMF07XHJcbiAgICAgICAgY29uc3Qgd3M6IFhMU1guV29ya1NoZWV0ID0gd2IuU2hlZXRzW3dzbmFtZV07XHJcbiAgICAgICAgY29uc3QgZXhjZWxEYXRhID0gWExTWC51dGlscy5zaGVldF90b19qc29uKHdzKS8vLCB7IGhlYWRlcjogMSB9KTtcclxuICAgICAgICBleGNlbERhdGEuZm9yRWFjaChlbGVtZW50ID0+IHtcclxuICAgICAgICAgIGNvbnN0IGpzb25YID0gZ2V0VmFsdWVGcm9tSnNvbkRhdGEoZWxlbWVudCwgdGhpcy5pbXBvcnREYXRhUHJvcC5rZXlQcm9wKVxyXG4gICAgICAgICAgY29uc3QgaWR4ID0gdGhpcy5maWVsZC5wYXJlbnQubW9kZWxbdGhpcy50eXBlS2V5XS5maW5kSW5kZXgoZiA9PiBmW3RoaXMuaW1wb3J0RGF0YVByb3Aua2V5UHJvcF0gPT09IGpzb25YKVxyXG4gICAgICAgICAgaWYgKGlkeCA+PSAwKSB7XHJcbiAgICAgICAgICAgIGNvbnN0IGV4aXN0aW5nZGF0YSA9IHRoaXMuZmllbGQucGFyZW50Lm1vZGVsW3RoaXMudHlwZUtleV1baWR4XVxyXG4gICAgICAgICAgICBmb3IgKGNvbnN0IHByb3Agb2YgdGhpcy5pbXBvcnREYXRhUHJvcC5wcm9wZXJ0aWVzVG9JbXBvcnQpIHtcclxuICAgICAgICAgICAgICBjb25zdCBqc29uVmFsID0gZ2V0VmFsdWVGcm9tSnNvbkRhdGEoZWxlbWVudCwgcHJvcClcclxuICAgICAgICAgICAgICBpZiAoZXhpc3RpbmdkYXRhW3Byb3BdICE9PSBqc29uVmFsKSB7XHJcbiAgICAgICAgICAgICAgICB2YXIgZmllbGRDb250cm9sID0gdGhpcy5maWVsZC5maWVsZEdyb3VwW2lkeF0uZm9ybUNvbnRyb2wgYXMgRm9ybUdyb3VwXHJcbiAgICAgICAgICAgICAgICBmaWVsZENvbnRyb2wuY29udHJvbHNbcHJvcF0uc2V0VmFsdWUoanNvblZhbClcclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIHN1cGVyLmFkZChudWxsLCBlbGVtZW50KVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH0pO1xyXG5cclxuICAgICAgfSBjYXRjaCAoZXJyb3IpIHtcclxuICAgICAgICBjb25zb2xlLmVycm9yKCdFcnJvciByZWFkaW5nIHRoZSBmaWxlOicsIGVycm9yKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgZXhwb3J0RGF0YSgpIHtcclxuXHJcbiAgICAvLyBGaWx0ZXIgdGhlIGRhdGEgdG8gaW5jbHVkZSBvbmx5IHRoZSBzcGVjaWZpZWQgcHJvcGVydGllc1xyXG4gICAgY29uc3QgZmlsdGVyZWREYXRhID0gdGhpcy5maWVsZC5wYXJlbnQubW9kZWxbdGhpcy50eXBlS2V5XS5tYXAoaXRlbSA9PiB7XHJcbiAgICAgIGNvbnN0IGZpbHRlcmVkSXRlbTogYW55ID0ge307XHJcbiAgICAgIGZvciAoY29uc3QgcHJvcCBvZiB0aGlzLmV4cG9ydERhdGFQcm9wLnByb3BlcnRpZXNUb0V4cG9ydCkge1xyXG4gICAgICAgIGZpbHRlcmVkSXRlbVtwcm9wXSA9IGl0ZW1bcHJvcF07XHJcbiAgICAgIH1cclxuICAgICAgcmV0dXJuIGZpbHRlcmVkSXRlbTtcclxuICAgIH0pO1xyXG5cclxuICAgIGNvbnN0IHdzOiBYTFNYLldvcmtTaGVldCA9IFhMU1gudXRpbHMuanNvbl90b19zaGVldChmaWx0ZXJlZERhdGEpO1xyXG4gICAgY29uc3Qgd2I6IFhMU1guV29ya0Jvb2sgPSBYTFNYLnV0aWxzLmJvb2tfbmV3KCk7XHJcbiAgICBYTFNYLnV0aWxzLmJvb2tfYXBwZW5kX3NoZWV0KHdiLCB3cywgdGhpcy5leHBvcnREYXRhUHJvcC5zaGVldE5hbWUpO1xyXG5cclxuICAgIGNvbnN0IGV4Y2VsQnVmZmVyOiBhbnkgPSBYTFNYLndyaXRlKHdiLCB7IGJvb2tUeXBlOiAneGxzeCcsIHR5cGU6ICdhcnJheScgfSk7XHJcblxyXG4gICAgY29uc3QgYmxvYiA9IG5ldyBCbG9iKFtleGNlbEJ1ZmZlcl0sIHsgdHlwZTogJ2FwcGxpY2F0aW9uL3ZuZC5vcGVueG1sZm9ybWF0cy1vZmZpY2Vkb2N1bWVudC5zcHJlYWRzaGVldG1sLnNoZWV0JyB9KTtcclxuICAgIHRoaXMuZmlsZVNhdmVyU2VydmljZS5zYXZlKGJsb2IsIHRoaXMuZXhwb3J0RGF0YVByb3AuZmlsZU5hbWUpO1xyXG4gIH1cclxuXHJcbiAgLy8gZ2V0VmFsdWVGcm9tSnNvbkRhdGEoanNvbkRhdGE6IGFueSwga2V5OiBzdHJpbmcpOiBhbnkge1xyXG4gIC8vICAgLy8gQ29udmVydCB0aGUga2V5IGFuZCBhbGwgSlNPTiBrZXlzIHRvIGxvd2VyY2FzZVxyXG4gIC8vICAgY29uc3QgbG93ZXJjYXNlS2V5ID0ga2V5LnRvTG93ZXJDYXNlKCk7XHJcbiAgLy8gICBjb25zdCBsb3dlcmNhc2VLZXlzID0gT2JqZWN0LmtleXMoanNvbkRhdGEpLm1hcChrID0+IGsudG9Mb3dlckNhc2UoKSk7XHJcblxyXG4gIC8vICAgLy8gRmluZCB0aGUgbG93ZXJjYXNlIGtleSBpbiB0aGUgbG93ZXJjYXNlIGtleXMgYXJyYXlcclxuICAvLyAgIGNvbnN0IGluZGV4ID0gbG93ZXJjYXNlS2V5cy5pbmRleE9mKGxvd2VyY2FzZUtleSk7XHJcblxyXG4gIC8vICAgLy8gSWYgZm91bmQsIHVzZSB0aGUgb3JpZ2luYWwgKHByb3BlciBjYXNlKSBrZXkgdG8gYWNjZXNzIHRoZSB2YWx1ZVxyXG4gIC8vICAgaWYgKGluZGV4ICE9PSAtMSkge1xyXG4gIC8vICAgICBjb25zdCBvcmlnaW5hbEtleSA9IE9iamVjdC5rZXlzKGpzb25EYXRhKVtpbmRleF07XHJcbiAgLy8gICAgIHJldHVybiBqc29uRGF0YVtvcmlnaW5hbEtleV07XHJcbiAgLy8gICB9XHJcblxyXG4gIC8vICAgLy8gS2V5IG5vdCBmb3VuZFxyXG4gIC8vICAgcmV0dXJuIHVuZGVmaW5lZDtcclxuICAvLyB9XHJcbiAgLy8gcHJpdmF0ZSByZWFkRmlsZUFzeW5jKGZpbGU6IEZpbGUpOiBQcm9taXNlPGFueT4ge1xyXG4gIC8vICAgcmV0dXJuIG5ldyBQcm9taXNlPGFueT4oKHJlc29sdmUsIHJlamVjdCkgPT4ge1xyXG4gIC8vICAgICBjb25zdCByZWFkZXIgPSBuZXcgRmlsZVJlYWRlcigpO1xyXG5cclxuICAvLyAgICAgcmVhZGVyLm9ubG9hZCA9IChldmVudDogYW55KSA9PiB7XHJcbiAgLy8gICAgICAgcmVzb2x2ZShldmVudC50YXJnZXQucmVzdWx0KTtcclxuICAvLyAgICAgfTtcclxuXHJcbiAgLy8gICAgIHJlYWRlci5vbmVycm9yID0gKGV2ZW50OiBhbnkpID0+IHtcclxuICAvLyAgICAgICByZWplY3QoZXZlbnQudGFyZ2V0LmVycm9yKTtcclxuICAvLyAgICAgfTtcclxuXHJcbiAgLy8gICAgIHJlYWRlci5yZWFkQXNBcnJheUJ1ZmZlcihmaWxlKTtcclxuICAvLyAgIH0pO1xyXG4gIC8vIH1cclxufSIsIjxpb24taGVhZGVyIFt0cmFuc2x1Y2VudF09XCJ0cnVlXCI+XHJcbiAgPGlvbi10b29sYmFyPlxyXG4gICAgPG5nLWNvbnRhaW5lciBbbmdUZW1wbGF0ZU91dGxldF09XCJoZWFkZXJcIj48L25nLWNvbnRhaW5lcj5cclxuICA8L2lvbi10b29sYmFyPlxyXG4gIDxuZy1jb250YWluZXIgW25nVGVtcGxhdGVPdXRsZXRdPVwic2VhcmNoXCI+PC9uZy1jb250YWluZXI+XHJcbjwvaW9uLWhlYWRlcj5cclxuXHJcbjxuZy10ZW1wbGF0ZSAjaGVhZGVyPlxyXG4gIDxpb24tdGl0bGUgY2xhc3M9XCJpb24tdGV4dC1sZWZ0XCI+e3twcm9wcy5sYWJlbH19PC9pb24tdGl0bGU+XHJcblxyXG4gIDxpb24tYnV0dG9uIHNsb3Q9XCJlbmRcIiAoY2xpY2spPVwiZXhwb3J0RGF0YSgpXCIgZmlsbD1cImNsZWFyXCIgW2Rpc2FibGVkXT1cInByb3BzLmRpc2FibGVkXCIgKm5nSWY9XCJleHBvcnREYXRhUHJvcFwiPlxyXG4gICAgPGlvbi1pY29uIG5hbWU9XCJjbG91ZC1kb3dubG9hZC1vdXRsaW5lXCI+PC9pb24taWNvbj5cclxuICA8L2lvbi1idXR0b24+XHJcblxyXG4gIDxpb24tYnV0dG9uIHNsb3Q9XCJlbmRcIiAoY2xpY2spPVwiaW1wb3J0RGF0YSgpXCIgZmlsbD1cImNsZWFyXCIgW2Rpc2FibGVkXT1cInByb3BzLmRpc2FibGVkXCIgKm5nSWY9XCJpbXBvcnREYXRhUHJvcFwiPlxyXG4gICAgPGlvbi1pY29uIG5hbWU9XCJjbG91ZC11cGxvYWQtb3V0bGluZVwiPjwvaW9uLWljb24+XHJcbiAgPC9pb24tYnV0dG9uPlxyXG4gIDxpbnB1dCAjZmlsZUlucHV0IHR5cGU9XCJmaWxlXCIgc3R5bGU9XCJkaXNwbGF5OiBub25lXCIgYWNjZXB0PVwiLnhsc3gsLnhscywuY3N2XCIgKGNoYW5nZSk9XCJoYW5kbGVJbXBvcnRGaWxlKCRldmVudClcIj5cclxuXHJcbiAgPGlvbi1idXR0b24gc2xvdD1cImVuZFwiIChjbGljayk9XCJhZGQoKVwiIGZpbGw9XCJjbGVhclwiIFtkaXNhYmxlZF09XCJwcm9wcy5kaXNhYmxlZFwiPlxyXG4gICAgPGlvbi1pY29uIHNpemU9XCJsYXJnZVwiIG5hbWU9XCJhZGRcIj48L2lvbi1pY29uPlxyXG4gIDwvaW9uLWJ1dHRvbj5cclxuPC9uZy10ZW1wbGF0ZT5cclxuXHJcblxyXG48aW9uLWxpc3QgbGluZXM9XCJmdWxsXCI+XHJcbiAgPGlvbi1pdGVtICpuZ0Zvcj1cImxldCBmaWVsZCBvZiBmaWVsZC5maWVsZEdyb3VwOyBsZXQgaSA9IGluZGV4XCIgY2xhc3M9XCJyb3cgYWxpZ24taXRlbXMtYmFzZWxpbmVcIj5cclxuICAgIDxmb3JtbHktZmllbGQgY2xhc3M9XCJmb3JtbHktaW9uLWxpc3QtaXRlbVwiIFtmaWVsZF09XCJmaWVsZFwiPjwvZm9ybWx5LWZpZWxkPlxyXG4gICAgPGlvbi1idXR0b24gW2Rpc2FibGVkXT1cInByb3BzLmRpc2FibGVkXCIgY29sb3I9XCJkYW5nZXJcIiBzbG90PVwiZW5kXCIgKGNsaWNrKT0ncmVtb3ZlKGkpJz5cclxuICAgICAgPGlvbi1pY29uIHNsb3Q9XCJpY29uLW9ubHlcIiBuYW1lPVwidHJhc2hcIj48L2lvbi1pY29uPlxyXG4gICAgPC9pb24tYnV0dG9uPlxyXG4gIDwvaW9uLWl0ZW0+XHJcbjwvaW9uLWxpc3Q+XHJcblxyXG5cclxuPG5nLXRlbXBsYXRlICNzZWFyY2g+XHJcbiAgPGlvbi10b29sYmFyICpuZ0lmPVwic2hvd1NlcmFjaFwiPlxyXG4gICAgPGlvbi1zZWFyY2hiYXIgW2RlYm91bmNlXT1cIjEwMDBcIiAoaW9uQ2hhbmdlKT1cImhhbmRsZUNoYW5nZSgkZXZlbnQpXCI+PC9pb24tc2VhcmNoYmFyPlxyXG4gIDwvaW9uLXRvb2xiYXI+XHJcbjwvbmctdGVtcGxhdGU+Il19
|
135
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVwZWF0LXNlY3Rpb24udHlwZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Jvc29mdGxhYi9pb25pYy9zcmMvbGliL3R5cGVzL3JlcGVhdC9yZXBlYXQtc2VjdGlvbi50eXBlLnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcm9zb2Z0bGFiL2lvbmljL3NyYy9saWIvdHlwZXMvcmVwZWF0L3JlcGVhdC1zZWN0aW9uLmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRWpFLE9BQU8sRUFBRSxjQUFjLEVBQXFCLE1BQU0sa0JBQWtCLENBQUM7QUFDckUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdkQsT0FBTyxFQUFFLG9CQUFvQixFQUFFLGFBQWEsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3RFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNqRCxPQUFPLEtBQUssSUFBSSxNQUFNLE1BQU0sQ0FBQztBQUM3QixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUNoRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7Ozs7Ozs7O0FBeUJoRSxNQUFNLE9BQU8sbUJBQW9CLFNBQVEsY0FBYztJQWVyRCxZQUNTLGFBQWlDLEVBQ2pDLFNBQTJCLEVBQzFCLGdCQUFrQztRQUMxQyxLQUFLLEVBQUUsQ0FBQztRQUhELGtCQUFhLEdBQWIsYUFBYSxDQUFvQjtRQUNqQyxjQUFTLEdBQVQsU0FBUyxDQUFrQjtRQUMxQixxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWtCO1FBYjVDLFNBQUksR0FBd0IsSUFBSSxDQUFDO1FBQ2pDLFdBQU0sR0FBZSxJQUFJLENBQUM7UUFDMUIsZUFB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QWdCLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsY0FBYyxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQ2pFLENBQUM7OEdBL0hVLG1CQUFtQjtrR0FBbkIsbUJBQW1CLGdOQ2pDaEMsa3JEQXVDYywyR0RUVixjQUFjOzsyRkFHTCxtQkFBbUI7a0JBVi9CLFNBQVM7aUNBRUksSUFBSSxZQUNOLHVCQUF1QixXQUd4Qjt3QkFDUCxjQUFjO3FCQUNmO3FKQU11QixTQUFTO3NCQUFoQyxTQUFTO3VCQUFDLFdBQVciLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEVsZW1lbnRSZWYsIFZpZXdDaGlsZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBGb3JtR3JvdXAgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IEZpZWxkQXJyYXlUeXBlLCBGb3JtbHlGaWVsZENvbmZpZyB9IGZyb20gJ0BuZ3gtZm9ybWx5L2NvcmUnO1xyXG5pbXBvcnQgeyBUcmFuc2xhdGVTZXJ2aWNlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XHJcbmltcG9ydCB7IGdldFZhbHVlRnJvbUpzb25EYXRhLCByZWFkRmlsZUFzeW5jIH0gZnJvbSAnQHJvc29mdGxhYi9jb3JlJztcclxuaW1wb3J0IHsgRmlsZVNhdmVyU2VydmljZSB9IGZyb20gJ25neC1maWxlc2F2ZXInO1xyXG5pbXBvcnQgKiBhcyBYTFNYIGZyb20gJ3hsc3gnO1xyXG5pbXBvcnQgeyBJb25pY0RpYWxvZ1NlcnZpY2UgfSBmcm9tICcuLi8uLi9pb25pYy1kaWFsb2cuc2VydmljZSc7XHJcbmltcG9ydCB7IFdyYXBwZXJzTW9kdWxlIH0gZnJvbSAnLi4vLi4vd3JhcHBlcnMvd3JhcHBlcnMubW9kdWxlJztcclxuXHJcbmludGVyZmFjZSBTZWFyY2hQcm9wIHtcclxuICBzaG93U2VyYWNoOiBib29sZWFuXHJcbiAgc2VhcmNoUHJvcDogc3RyaW5nXHJcbn1cclxuaW50ZXJmYWNlIEV4cG9ydERhdGFQcm9wIHtcclxuICBwcm9wZXJ0aWVzVG9FeHBvcnQ6IHN0cmluZ1tdXHJcbiAgc2hlZXROYW1lOiBzdHJpbmc7XHJcbiAgZmlsZU5hbWU6IHN0cmluZztcclxufVxyXG5pbnRlcmZhY2UgSW1wb3J0RGF0YVByb3Age1xyXG4gIGtleVByb3A6IHN0cmluZ1xyXG4gIHByb3BlcnRpZXNUb0ltcG9ydDogc3RyaW5nW11cclxufVxyXG5AQ29tcG9uZW50KHtcclxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L2NvbXBvbmVudC1zZWxlY3RvclxyXG4gIHN0YW5kYWxvbmU6IHRydWUsXHJcbiAgc2VsZWN0b3I6ICdmb3JtbHktcmVwZWF0LXNlY3Rpb24nLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9yZXBlYXQtc2VjdGlvbi5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9yZXBlYXQtc2VjdGlvbi5zY3NzJ10sXHJcbiAgaW1wb3J0czogW1xyXG4gICAgV3JhcHBlcnNNb2R1bGVcclxuICBdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBSZXBlYXRUeXBlQ29tcG9uZW50IGV4dGVuZHMgRmllbGRBcnJheVR5cGUge1xyXG4gIC8qKlxyXG4gICAqXHJcbiAgICovXHJcbiAgQFZpZXdDaGlsZCgnZmlsZUlucHV0JykgZmlsZUlucHV0OiBFbGVtZW50UmVmO1xyXG4gIGRhdGE6IEZvcm1seUZpZWxkQ29uZmlnW10gPSBudWxsO1xyXG4gIHNlcmFjaDogU2VhcmNoUHJvcCA9IG51bGw7XHJcbiAgc2hvd1NlcmFjaDogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIGRlbGV0ZU1lc3NhZ2U6IHN0cmluZ1xyXG4gIGRlbGV0ZUJ1dHRvbjogc3RyaW5nXHJcbiAgY2FuY2VsQnV0dG9uOiBzdHJpbmdcclxuICBmaWx0ZXJWYWx1ZTogc3RyaW5nID0gbnVsbDtcclxuICB0eXBlS2V5OiBzdHJpbmc7XHJcbiAgaW1wb3J0RGF0YVByb3A6IEltcG9ydERhdGFQcm9wID0gbnVsbDtcclxuICBleHBvcnREYXRhUHJvcDogRXhwb3J0RGF0YVByb3AgPSBudWxsO1xyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHVibGljIGRpYWxvZ1NlcnZpY2U6IElvbmljRGlhbG9nU2VydmljZSxcclxuICAgIHB1YmxpYyB0cmFuc2xhdGU6IFRyYW5zbGF0ZVNlcnZpY2UsXHJcbiAgICBwcml2YXRlIGZpbGVTYXZlclNlcnZpY2U6IEZpbGVTYXZlclNlcnZpY2UpIHtcclxuICAgIHN1cGVyKCk7XHJcbiAgICB0aGlzLmRlbGV0ZU1lc3NhZ2UgPSB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KFwiR2VuZXJhbC5EZWxldGUuUXVlc3Rpb25cIilcclxuICAgIHRoaXMuZGVsZXRlQnV0dG9uID0gdGhpcy50cmFuc2xhdGUuaW5zdGFudChcIkdlbmVyYWwuRGVsZXRlLkJ1dHRvblwiKVxyXG4gICAgdGhpcy5jYW5jZWxCdXR0b24gPSB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KFwiR2VuZXJhbC5DYW5jZWwuQnV0dG9uXCIpXHJcblxyXG4gIH1cclxuICBvdmVycmlkZSByZW1vdmUoaTogbnVtYmVyLCB7IG1hcmtBc0RpcnR5IH0gPSB7IG1hcmtBc0RpcnR5OiB0cnVlIH0pIHtcclxuICAgIHRoaXMuZGlhbG9nU2VydmljZS5jb25maXJtKHRoaXMuZGVsZXRlTWVzc2FnZSwgbnVsbCwgdGhpcy5kZWxldGVCdXR0b24sIHRoaXMuY2FuY2VsQnV0dG9uKS50aGVuKFxyXG4gICAgICAodmFsdWU6IGFueSkgPT4ge1xyXG4gICAgICAgIGlmICh2YWx1ZS5kYXRhKSB7XHJcbiAgICAgICAgICB2YXIgb25EZWxldGUgPSB0aGlzLmZpZWxkLnByb3BzWydvbkRlbGV0ZSddO1xyXG4gICAgICAgICAgaWYgKG9uRGVsZXRlKSB7XHJcbiAgICAgICAgICAgIG9uRGVsZXRlKHRoaXMuZmllbGQuZmllbGRHcm91cFtpXS5tb2RlbCkuc3Vic2NyaWJlKFxyXG4gICAgICAgICAgICAgICgpID0+IHtcclxuICAgICAgICAgICAgICAgIHN1cGVyLnJlbW92ZShpKTtcclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIClcclxuICAgICAgICAgIH1cclxuICAgICAgICAgIHN1cGVyLnJlbW92ZShpKTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIClcclxuICB9XHJcbiAgbmdPbkluaXQoKSB7XHJcbiAgICB0aGlzLnR5cGVLZXkgPSB0aGlzLmZpZWxkLmtleSBhcyBzdHJpbmdcclxuICAgIHRoaXMuc2VyYWNoID0gdGhpcy5wcm9wc1snc2VhcmNoJ11cclxuICAgIHRoaXMuZXhwb3J0RGF0YVByb3AgPSB0aGlzLnByb3BzWydleHBvcnQnXSB8fCBudWxsXHJcbiAgICB0aGlzLmltcG9ydERhdGFQcm9wID0gdGhpcy5wcm9wc1snaW1wb3J0J10gfHwgbnVsbFxyXG4gICAgaWYgKHRoaXMuc2VyYWNoKSB7XHJcbiAgICAgIHRoaXMuc2hvd1NlcmFjaCA9IHRoaXMuc2VyYWNoLnNob3dTZXJhY2hcclxuICAgIH1cclxuXHJcbiAgfVxyXG4gIHBvc3RQb3B1bGF0ZShmaWVsZDogYW55KSB7XHJcbiAgICBpZiAodGhpcy5zaG93U2VyYWNoKSB7XHJcbiAgICAgIHRoaXMuZGF0YSA9IGZpZWxkLmZpZWxkR3JvdXBcclxuICAgICAgaWYgKHRoaXMuZmlsdGVyVmFsdWUpIHtcclxuICAgICAgICB0aGlzLmZpZWxkLmZpZWxkR3JvdXAgPSB0aGlzLmRhdGEuZmlsdGVyKGYgPT4gZi5mb3JtQ29udHJvbC52YWx1ZVt0aGlzLnNlcmFjaC5zZWFyY2hQcm9wXS50b0xvd2VyQ2FzZSgpLmluY2x1ZGVzKHRoaXMuZmlsdGVyVmFsdWUpKVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG4gIGhhbmRsZUNoYW5nZShldmVudCkge1xyXG4gICAgaWYgKHRoaXMuc2hvd1NlcmFjaCkge1xyXG4gICAgICBpZiAodGhpcy5kYXRhID09IG51bGwgJiYgdGhpcy5maWVsZC5maWVsZEdyb3VwICE9PSBudWxsKSB7XHJcbiAgICAgICAgdGhpcy5kYXRhID0gdGhpcy5maWVsZC5maWVsZEdyb3VwXHJcbiAgICAgIH1cclxuICAgICAgdGhpcy5maWx0ZXJWYWx1ZSA9IGV2ZW50LnRhcmdldC52YWx1ZS50b0xvd2VyQ2FzZSgpO1xyXG4gICAgICB0aGlzLmZpZWxkLmZpZWxkR3JvdXAgPSB0aGlzLmRhdGEuZmlsdGVyKGYgPT4gZi5mb3JtQ29udHJvbC52YWx1ZVt0aGlzLnNlcmFjaC5zZWFyY2hQcm9wXS50b0xvd2VyQ2FzZSgpLmluY2x1ZGVzKHRoaXMuZmlsdGVyVmFsdWUpKVxyXG4gICAgfVxyXG4gIH1cclxuICBpbXBvcnREYXRhKCkge1xyXG4gICAgdGhpcy5maWxlSW5wdXQubmF0aXZlRWxlbWVudC5jbGljaygpO1xyXG4gIH1cclxuICBhc3luYyBoYW5kbGVJbXBvcnRGaWxlKGV2ZW50OiBhbnkpIHtcclxuICAgIGNvbnN0IGZpbGUgPSBldmVudC50YXJnZXQuZmlsZXNbMF07XHJcblxyXG4gICAgaWYgKGZpbGUpIHtcclxuICAgICAgdHJ5IHtcclxuXHJcblxyXG4gICAgICAgIGNvbnN0IGZpbGVDb250ZW50cyA9IGF3YWl0IHJlYWRGaWxlQXN5bmMoZmlsZSk7XHJcbiAgICAgICAgLy8gSGFuZGxlIHRoZSBmaWxlIGNvbnRlbnRzIGhlcmUgKGUuZy4sIGRpc3BsYXkgb3IgcHJvY2VzcyB0aGUgZGF0YSlcclxuICAgICAgICBjb25zdCB3YjogWExTWC5Xb3JrQm9vayA9IFhMU1gucmVhZChmaWxlQ29udGVudHMpLy8sIHsgdHlwZTogJ2JpbmFyeScgfSk7XHJcbiAgICAgICAgY29uc3Qgd3NuYW1lOiBzdHJpbmcgPSB3Yi5TaGVldE5hbWVzWzBdO1xyXG4gICAgICAgIGNvbnN0IHdzOiBYTFNYLldvcmtTaGVldCA9IHdiLlNoZWV0c1t3c25hbWVdO1xyXG4gICAgICAgIGNvbnN0IGV4Y2VsRGF0YSA9IFhMU1gudXRpbHMuc2hlZXRfdG9fanNvbih3cykvLywgeyBoZWFkZXI6IDEgfSk7XHJcbiAgICAgICAgZXhjZWxEYXRhLmZvckVhY2goZWxlbWVudCA9PiB7XHJcbiAgICAgICAgICBjb25zdCBqc29uWCA9IGdldFZhbHVlRnJvbUpzb25EYXRhKGVsZW1lbnQsIHRoaXMuaW1wb3J0RGF0YVByb3Aua2V5UHJvcClcclxuICAgICAgICAgIGNvbnN0IGlkeCA9IHRoaXMuZmllbGQucGFyZW50Lm1vZGVsW3RoaXMudHlwZUtleV0uZmluZEluZGV4KGYgPT4gZlt0aGlzLmltcG9ydERhdGFQcm9wLmtleVByb3BdID09PSBqc29uWClcclxuICAgICAgICAgIGlmIChpZHggPj0gMCkge1xyXG4gICAgICAgICAgICBjb25zdCBleGlzdGluZ2RhdGEgPSB0aGlzLmZpZWxkLnBhcmVudC5tb2RlbFt0aGlzLnR5cGVLZXldW2lkeF1cclxuICAgICAgICAgICAgZm9yIChjb25zdCBwcm9wIG9mIHRoaXMuaW1wb3J0RGF0YVByb3AucHJvcGVydGllc1RvSW1wb3J0KSB7XHJcbiAgICAgICAgICAgICAgY29uc3QganNvblZhbCA9IGdldFZhbHVlRnJvbUpzb25EYXRhKGVsZW1lbnQsIHByb3ApXHJcbiAgICAgICAgICAgICAgaWYgKGV4aXN0aW5nZGF0YVtwcm9wXSAhPT0ganNvblZhbCkge1xyXG4gICAgICAgICAgICAgICAgdmFyIGZpZWxkQ29udHJvbCA9IHRoaXMuZmllbGQuZmllbGRHcm91cFtpZHhdLmZvcm1Db250cm9sIGFzIEZvcm1Hcm91cFxyXG4gICAgICAgICAgICAgICAgZmllbGRDb250cm9sLmNvbnRyb2xzW3Byb3BdLnNldFZhbHVlKGpzb25WYWwpXHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICBzdXBlci5hZGQobnVsbCwgZWxlbWVudClcclxuICAgICAgICAgIH1cclxuICAgICAgICB9KTtcclxuXHJcbiAgICAgIH0gY2F0Y2ggKGVycm9yKSB7XHJcbiAgICAgICAgY29uc29sZS5lcnJvcignRXJyb3IgcmVhZGluZyB0aGUgZmlsZTonLCBlcnJvcik7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIGV4cG9ydERhdGEoKSB7XHJcblxyXG4gICAgLy8gRmlsdGVyIHRoZSBkYXRhIHRvIGluY2x1ZGUgb25seSB0aGUgc3BlY2lmaWVkIHByb3BlcnRpZXNcclxuICAgIGNvbnN0IGZpbHRlcmVkRGF0YSA9IHRoaXMuZmllbGQucGFyZW50Lm1vZGVsW3RoaXMudHlwZUtleV0ubWFwKGl0ZW0gPT4ge1xyXG4gICAgICBjb25zdCBmaWx0ZXJlZEl0ZW06IGFueSA9IHt9O1xyXG4gICAgICBmb3IgKGNvbnN0IHByb3Agb2YgdGhpcy5leHBvcnREYXRhUHJvcC5wcm9wZXJ0aWVzVG9FeHBvcnQpIHtcclxuICAgICAgICBmaWx0ZXJlZEl0ZW1bcHJvcF0gPSBpdGVtW3Byb3BdO1xyXG4gICAgICB9XHJcbiAgICAgIHJldHVybiBmaWx0ZXJlZEl0ZW07XHJcbiAgICB9KTtcclxuXHJcbiAgICBjb25zdCB3czogWExTWC5Xb3JrU2hlZXQgPSBYTFNYLnV0aWxzLmpzb25fdG9fc2hlZXQoZmlsdGVyZWREYXRhKTtcclxuICAgIGNvbnN0IHdiOiBYTFNYLldvcmtCb29rID0gWExTWC51dGlscy5ib29rX25ldygpO1xyXG4gICAgWExTWC51dGlscy5ib29rX2FwcGVuZF9zaGVldCh3Yiwgd3MsIHRoaXMuZXhwb3J0RGF0YVByb3Auc2hlZXROYW1lKTtcclxuXHJcbiAgICBjb25zdCBleGNlbEJ1ZmZlcjogYW55ID0gWExTWC53cml0ZSh3YiwgeyBib29rVHlwZTogJ3hsc3gnLCB0eXBlOiAnYXJyYXknIH0pO1xyXG5cclxuICAgIGNvbnN0IGJsb2IgPSBuZXcgQmxvYihbZXhjZWxCdWZmZXJdLCB7IHR5cGU6ICdhcHBsaWNhdGlvbi92bmQub3BlbnhtbGZvcm1hdHMtb2ZmaWNlZG9jdW1lbnQuc3ByZWFkc2hlZXRtbC5zaGVldCcgfSk7XHJcbiAgICB0aGlzLmZpbGVTYXZlclNlcnZpY2Uuc2F2ZShibG9iLCB0aGlzLmV4cG9ydERhdGFQcm9wLmZpbGVOYW1lKTtcclxuICB9XHJcblxyXG4gIC8vIGdldFZhbHVlRnJvbUpzb25EYXRhKGpzb25EYXRhOiBhbnksIGtleTogc3RyaW5nKTogYW55IHtcclxuICAvLyAgIC8vIENvbnZlcnQgdGhlIGtleSBhbmQgYWxsIEpTT04ga2V5cyB0byBsb3dlcmNhc2VcclxuICAvLyAgIGNvbnN0IGxvd2VyY2FzZUtleSA9IGtleS50b0xvd2VyQ2FzZSgpO1xyXG4gIC8vICAgY29uc3QgbG93ZXJjYXNlS2V5cyA9IE9iamVjdC5rZXlzKGpzb25EYXRhKS5tYXAoayA9PiBrLnRvTG93ZXJDYXNlKCkpO1xyXG5cclxuICAvLyAgIC8vIEZpbmQgdGhlIGxvd2VyY2FzZSBrZXkgaW4gdGhlIGxvd2VyY2FzZSBrZXlzIGFycmF5XHJcbiAgLy8gICBjb25zdCBpbmRleCA9IGxvd2VyY2FzZUtleXMuaW5kZXhPZihsb3dlcmNhc2VLZXkpO1xyXG5cclxuICAvLyAgIC8vIElmIGZvdW5kLCB1c2UgdGhlIG9yaWdpbmFsIChwcm9wZXIgY2FzZSkga2V5IHRvIGFjY2VzcyB0aGUgdmFsdWVcclxuICAvLyAgIGlmIChpbmRleCAhPT0gLTEpIHtcclxuICAvLyAgICAgY29uc3Qgb3JpZ2luYWxLZXkgPSBPYmplY3Qua2V5cyhqc29uRGF0YSlbaW5kZXhdO1xyXG4gIC8vICAgICByZXR1cm4ganNvbkRhdGFbb3JpZ2luYWxLZXldO1xyXG4gIC8vICAgfVxyXG5cclxuICAvLyAgIC8vIEtleSBub3QgZm91bmRcclxuICAvLyAgIHJldHVybiB1bmRlZmluZWQ7XHJcbiAgLy8gfVxyXG4gIC8vIHByaXZhdGUgcmVhZEZpbGVBc3luYyhmaWxlOiBGaWxlKTogUHJvbWlzZTxhbnk+IHtcclxuICAvLyAgIHJldHVybiBuZXcgUHJvbWlzZTxhbnk+KChyZXNvbHZlLCByZWplY3QpID0+IHtcclxuICAvLyAgICAgY29uc3QgcmVhZGVyID0gbmV3IEZpbGVSZWFkZXIoKTtcclxuXHJcbiAgLy8gICAgIHJlYWRlci5vbmxvYWQgPSAoZXZlbnQ6IGFueSkgPT4ge1xyXG4gIC8vICAgICAgIHJlc29sdmUoZXZlbnQudGFyZ2V0LnJlc3VsdCk7XHJcbiAgLy8gICAgIH07XHJcblxyXG4gIC8vICAgICByZWFkZXIub25lcnJvciA9IChldmVudDogYW55KSA9PiB7XHJcbiAgLy8gICAgICAgcmVqZWN0KGV2ZW50LnRhcmdldC5lcnJvcik7XHJcbiAgLy8gICAgIH07XHJcblxyXG4gIC8vICAgICByZWFkZXIucmVhZEFzQXJyYXlCdWZmZXIoZmlsZSk7XHJcbiAgLy8gICB9KTtcclxuICAvLyB9XHJcbn0iLCI8aW9uLWhlYWRlciBbdHJhbnNsdWNlbnRdPVwidHJ1ZVwiPlxyXG4gIDxpb24tdG9vbGJhcj5cclxuICAgIDxuZy1jb250YWluZXIgW25nVGVtcGxhdGVPdXRsZXRdPVwiaGVhZGVyXCI+PC9uZy1jb250YWluZXI+XHJcbiAgPC9pb24tdG9vbGJhcj5cclxuICA8bmctY29udGFpbmVyIFtuZ1RlbXBsYXRlT3V0bGV0XT1cInNlYXJjaFwiPjwvbmctY29udGFpbmVyPlxyXG48L2lvbi1oZWFkZXI+XHJcblxyXG48bmctdGVtcGxhdGUgI2hlYWRlcj5cclxuICA8aW9uLXRpdGxlIGNsYXNzPVwiaW9uLXRleHQtbGVmdFwiPnt7cHJvcHMubGFiZWx9fTwvaW9uLXRpdGxlPlxyXG5cclxuICA8aW9uLWJ1dHRvbiBzbG90PVwiZW5kXCIgKGNsaWNrKT1cImV4cG9ydERhdGEoKVwiIGZpbGw9XCJjbGVhclwiIFtkaXNhYmxlZF09XCJwcm9wcy5kaXNhYmxlZFwiICpuZ0lmPVwiZXhwb3J0RGF0YVByb3BcIj5cclxuICAgIDxpb24taWNvbiBuYW1lPVwiY2xvdWQtZG93bmxvYWQtb3V0bGluZVwiPjwvaW9uLWljb24+XHJcbiAgPC9pb24tYnV0dG9uPlxyXG5cclxuICA8aW9uLWJ1dHRvbiBzbG90PVwiZW5kXCIgKGNsaWNrKT1cImltcG9ydERhdGEoKVwiIGZpbGw9XCJjbGVhclwiIFtkaXNhYmxlZF09XCJwcm9wcy5kaXNhYmxlZFwiICpuZ0lmPVwiaW1wb3J0RGF0YVByb3BcIj5cclxuICAgIDxpb24taWNvbiBuYW1lPVwiY2xvdWQtdXBsb2FkLW91dGxpbmVcIj48L2lvbi1pY29uPlxyXG4gIDwvaW9uLWJ1dHRvbj5cclxuICA8aW5wdXQgI2ZpbGVJbnB1dCB0eXBlPVwiZmlsZVwiIHN0eWxlPVwiZGlzcGxheTogbm9uZVwiIGFjY2VwdD1cIi54bHN4LC54bHMsLmNzdlwiIChjaGFuZ2UpPVwiaGFuZGxlSW1wb3J0RmlsZSgkZXZlbnQpXCI+XHJcblxyXG4gIDxpb24tYnV0dG9uIHNsb3Q9XCJlbmRcIiAoY2xpY2spPVwiYWRkKClcIiBmaWxsPVwiY2xlYXJcIiBbZGlzYWJsZWRdPVwicHJvcHMuZGlzYWJsZWRcIj5cclxuICAgIDxpb24taWNvbiBzaXplPVwibGFyZ2VcIiBuYW1lPVwiYWRkXCI+PC9pb24taWNvbj5cclxuICA8L2lvbi1idXR0b24+XHJcbjwvbmctdGVtcGxhdGU+XHJcblxyXG5cclxuPGlvbi1saXN0IGxpbmVzPVwiZnVsbFwiPlxyXG4gIDxpb24taXRlbSAqbmdGb3I9XCJsZXQgZmllbGQgb2YgZmllbGQuZmllbGRHcm91cDsgbGV0IGkgPSBpbmRleFwiIGNsYXNzPVwicm93IGFsaWduLWl0ZW1zLWJhc2VsaW5lXCI+XHJcbiAgICA8Zm9ybWx5LWZpZWxkIGNsYXNzPVwiZm9ybWx5LWlvbi1saXN0LWl0ZW1cIiBbZmllbGRdPVwiZmllbGRcIj48L2Zvcm1seS1maWVsZD5cclxuICAgIDxpb24tYnV0dG9uIFtkaXNhYmxlZF09XCJwcm9wcy5kaXNhYmxlZFwiIGNvbG9yPVwiZGFuZ2VyXCIgc2xvdD1cImVuZFwiIChjbGljayk9J3JlbW92ZShpKSc+XHJcbiAgICAgIDxpb24taWNvbiBzbG90PVwiaWNvbi1vbmx5XCIgbmFtZT1cInRyYXNoXCI+PC9pb24taWNvbj5cclxuICAgIDwvaW9uLWJ1dHRvbj5cclxuICA8L2lvbi1pdGVtPlxyXG48L2lvbi1saXN0PlxyXG5cclxuXHJcbjxuZy10ZW1wbGF0ZSAjc2VhcmNoPlxyXG4gIDxpb24tdG9vbGJhciAqbmdJZj1cInNob3dTZXJhY2hcIj5cclxuICAgIDxpb24tc2VhcmNoYmFyIFtkZWJvdW5jZV09XCIxMDAwXCIgKGlvbkNoYW5nZSk9XCJoYW5kbGVDaGFuZ2UoJGV2ZW50KVwiPjwvaW9uLXNlYXJjaGJhcj5cclxuICA8L2lvbi10b29sYmFyPlxyXG48L25nLXRlbXBsYXRlPiJdfQ==
|
@@ -169,15 +169,15 @@ export class RepeatDatatableComponent extends FieldArrayType {
|
|
169
169
|
reader.readAsArrayBuffer(file);
|
170
170
|
});
|
171
171
|
}
|
172
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
173
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "
|
172
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: RepeatDatatableComponent, deps: [{ token: i1.IonicDialogService }, { token: i2.TranslateService }, { token: i3.FileSaverService }], target: i0.ɵɵFactoryTarget.Component }); }
|
173
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.1.2", type: RepeatDatatableComponent, isStandalone: true, selector: "app-repeat-datatable", viewQueries: [{ propertyName: "fileInput", first: true, predicate: ["fileInput"], descendants: true }, { propertyName: "defaultColumn", first: true, predicate: ["defaultColumn"], descendants: true, static: true }, { propertyName: "actionsTmpl", first: true, predicate: ["actionsTmpl"], descendants: true, static: true }], usesInheritance: true, ngImport: i0, template: "<ion-header [translucent]=\"true\">\r\n <ion-toolbar>\r\n <ng-container [ngTemplateOutlet]=\"header\"></ng-container>\r\n </ion-toolbar>\r\n <ng-container [ngTemplateOutlet]=\"search\"></ng-container>\r\n</ion-header>\r\n\r\n<ng-template #header>\r\n <ion-title class=\"ion-text-left\">{{props.label}}</ion-title>\r\n\r\n <ion-button slot=\"end\" (click)=\"exportData()\" fill=\"clear\" [disabled]=\"props.disabled\" *ngIf=\"exportDataProp\">\r\n <ion-icon name=\"cloud-download-outline\"></ion-icon>\r\n </ion-button>\r\n\r\n <ion-button slot=\"end\" (click)=\"importData()\" fill=\"clear\" [disabled]=\"props.disabled\" *ngIf=\"importDataProp\">\r\n <ion-icon name=\"cloud-upload-outline\"></ion-icon>\r\n </ion-button>\r\n <input #fileInput type=\"file\" style=\"display: none\" accept=\".xlsx,.xls,.csv\" (change)=\"handleImportFile($event)\">\r\n\r\n <ion-button slot=\"end\" (click)=\"add()\" fill=\"clear\" [disabled]=\"props.disabled\">\r\n <ion-icon size=\"large\" name=\"add\"></ion-icon>\r\n </ion-button>\r\n</ng-template>\r\n\r\n<ngx-datatable #table class=\"material fullscreen rls-server-scrolling\" [rows]=\"model\" [columns]=\"props['columns']\" [columnMode]=\"props['columnMode']\"\r\n [rowHeight]=\"props['rowHeight']\" [headerHeight]=\"props['headerHeight']\" [footerHeight]=\"props['footerHeight']\" [limit]=\"props['limit']\"\r\n [scrollbarH]=\"props['scrollbarH']\" [reorderable]=\"props['reorderable']\" [externalSorting]=\"true\">\r\n <ng-template #defaultColumn ngx-datatable-cell-template let-rowIndex=\"rowIndex\" let-value=\"value\" let-row=\"row\"\r\n let-column=\"column\">\r\n <formly-field class=\"formly-ion-list-item\" [field]=\"getField(field, column, rowIndex)\"></formly-field>\r\n </ng-template>\r\n</ngx-datatable>\r\n\r\n<ng-template #actionsTmpl let-row=\"row\" let-value=\"value\" let-rowIndex=\"rowIndex\">\r\n <ion-button style=\"height: 100%;\" fill=\"clear\"[disabled]=\"props.disabled\" (click)='remove(rowIndex)'>\r\n <ion-icon color=\"danger\" slot=\"icon-only\" name=\"trash\" (click)='remove(rowIndex)'></ion-icon>\r\n </ion-button>\r\n</ng-template>\r\n\r\n<ng-template #search>\r\n <ion-toolbar *ngIf=\"showSerach\">\r\n <ion-searchbar [debounce]=\"1000\" (ionChange)=\"handleChange($event)\"></ion-searchbar>\r\n </ion-toolbar>\r\n</ng-template>", styles: [".rls-server-scrolling{height:calc(100vh - 110px);position:relative!important}::ng-deep .datatable-body-cell{padding:0!important}::ng-deep .datatable-body-cell-label{height:100%!important}::ng-deep .progress-linear{position:fixed!important;bottom:0}::ng-deep .actions-cell{padding:5px 0 0 .9rem!important}::ng-deep .align-right{text-align:right!important}\n"], dependencies: [{ kind: "ngmodule", type: WrappersModule }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i5.IonButton, selector: "ion-button", inputs: ["buttonType", "color", "disabled", "download", "expand", "fill", "form", "href", "mode", "rel", "routerAnimation", "routerDirection", "shape", "size", "strong", "target", "type"] }, { kind: "component", type: i5.IonHeader, selector: "ion-header", inputs: ["collapse", "mode", "translucent"] }, { kind: "component", type: i5.IonIcon, selector: "ion-icon", inputs: ["color", "flipRtl", "icon", "ios", "lazy", "md", "mode", "name", "sanitize", "size", "src"] }, { kind: "component", type: i5.IonSearchbar, selector: "ion-searchbar", inputs: ["animated", "autocomplete", "autocorrect", "cancelButtonIcon", "cancelButtonText", "clearIcon", "color", "debounce", "disabled", "enterkeyhint", "inputmode", "mode", "name", "placeholder", "searchIcon", "showCancelButton", "showClearButton", "spellcheck", "type", "value"] }, { kind: "component", type: i5.IonTitle, selector: "ion-title", inputs: ["color", "size"] }, { kind: "component", type: i5.IonToolbar, selector: "ion-toolbar", inputs: ["color", "mode"] }, { kind: "directive", type: i5.TextValueAccessor, selector: "ion-input:not([type=number]),ion-textarea,ion-searchbar,ion-range" }, { kind: "component", type: i6.DatatableComponent, selector: "ngx-datatable", inputs: ["targetMarkerTemplate", "rows", "groupRowsBy", "groupedRows", "columns", "selected", "scrollbarV", "scrollbarH", "rowHeight", "columnMode", "headerHeight", "footerHeight", "externalPaging", "externalSorting", "limit", "count", "offset", "loadingIndicator", "selectionType", "reorderable", "swapColumns", "sortType", "sorts", "cssClasses", "messages", "rowClass", "selectCheck", "displayCheck", "groupExpansionDefault", "trackByProp", "selectAllRowsOnPage", "virtualization", "treeFromRelation", "treeToRelation", "summaryRow", "summaryHeight", "summaryPosition", "rowIdentity"], outputs: ["scroll", "activate", "select", "sort", "page", "reorder", "resize", "tableContextmenu", "treeAction"] }, { kind: "directive", type: i6.DataTableColumnCellDirective, selector: "[ngx-datatable-cell-template]" }, { kind: "component", type: i7.FormlyField, selector: "formly-field", inputs: ["field"] }] }); }
|
174
174
|
}
|
175
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
175
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: RepeatDatatableComponent, decorators: [{
|
176
176
|
type: Component,
|
177
177
|
args: [{ standalone: true, selector: 'app-repeat-datatable', imports: [
|
178
178
|
WrappersModule
|
179
|
-
], template: "<ion-header [translucent]=\"true\">\n <ion-toolbar>\n <ng-container [ngTemplateOutlet]=\"header\"></ng-container>\n </ion-toolbar>\n <ng-container [ngTemplateOutlet]=\"search\"></ng-container>\n</ion-header>\n\n<ng-template #header>\n <ion-title class=\"ion-text-left\">{{props.label}}</ion-title>\n\n <ion-button slot=\"end\" (click)=\"exportData()\" fill=\"clear\" [disabled]=\"props.disabled\" *ngIf=\"exportDataProp\">\n <ion-icon name=\"cloud-download-outline\"></ion-icon>\n </ion-button>\n\n <ion-button slot=\"end\" (click)=\"importData()\" fill=\"clear\" [disabled]=\"props.disabled\" *ngIf=\"importDataProp\">\n <ion-icon name=\"cloud-upload-outline\"></ion-icon>\n </ion-button>\n <input #fileInput type=\"file\" style=\"display: none\" accept=\".xlsx,.xls,.csv\" (change)=\"handleImportFile($event)\">\n\n <ion-button slot=\"end\" (click)=\"add()\" fill=\"clear\" [disabled]=\"props.disabled\">\n <ion-icon size=\"large\" name=\"add\"></ion-icon>\n </ion-button>\n</ng-template>\n\n<ngx-datatable #table class=\"material fullscreen rls-server-scrolling\" [rows]=\"model\" [columns]=\"props['columns']\" [columnMode]=\"props['columnMode']\"\n [rowHeight]=\"props['rowHeight']\" [headerHeight]=\"props['headerHeight']\" [footerHeight]=\"props['footerHeight']\" [limit]=\"props['limit']\"\n [scrollbarH]=\"props['scrollbarH']\" [reorderable]=\"props['reorderable']\" [externalSorting]=\"true\">\n <ng-template #defaultColumn ngx-datatable-cell-template let-rowIndex=\"rowIndex\" let-value=\"value\" let-row=\"row\"\n let-column=\"column\">\n <formly-field class=\"formly-ion-list-item\" [field]=\"getField(field, column, rowIndex)\"></formly-field>\n </ng-template>\n</ngx-datatable>\n\n<ng-template #actionsTmpl let-row=\"row\" let-value=\"value\" let-rowIndex=\"rowIndex\">\n <ion-button style=\"height: 100%;\" fill=\"clear\"[disabled]=\"props.disabled\" (click)='remove(rowIndex)'>\n <ion-icon color=\"danger\" slot=\"icon-only\" name=\"trash\" (click)='remove(rowIndex)'></ion-icon>\n </ion-button>\n</ng-template>\n\n<ng-template #search>\n <ion-toolbar *ngIf=\"showSerach\">\n <ion-searchbar [debounce]=\"1000\" (ionChange)=\"handleChange($event)\"></ion-searchbar>\n </ion-toolbar>\n</ng-template>", styles: [".rls-server-scrolling{height:calc(100vh - 110px);position:relative!important}::ng-deep .datatable-body-cell{padding:0!important}::ng-deep .datatable-body-cell-label{height:100%!important}::ng-deep .progress-linear{position:fixed!important;bottom:0}::ng-deep .actions-cell{padding:5px 0 0 .9rem!important}::ng-deep .align-right{text-align:right!important}\n"] }]
|
180
|
-
}], ctorParameters:
|
179
|
+
], template: "<ion-header [translucent]=\"true\">\r\n <ion-toolbar>\r\n <ng-container [ngTemplateOutlet]=\"header\"></ng-container>\r\n </ion-toolbar>\r\n <ng-container [ngTemplateOutlet]=\"search\"></ng-container>\r\n</ion-header>\r\n\r\n<ng-template #header>\r\n <ion-title class=\"ion-text-left\">{{props.label}}</ion-title>\r\n\r\n <ion-button slot=\"end\" (click)=\"exportData()\" fill=\"clear\" [disabled]=\"props.disabled\" *ngIf=\"exportDataProp\">\r\n <ion-icon name=\"cloud-download-outline\"></ion-icon>\r\n </ion-button>\r\n\r\n <ion-button slot=\"end\" (click)=\"importData()\" fill=\"clear\" [disabled]=\"props.disabled\" *ngIf=\"importDataProp\">\r\n <ion-icon name=\"cloud-upload-outline\"></ion-icon>\r\n </ion-button>\r\n <input #fileInput type=\"file\" style=\"display: none\" accept=\".xlsx,.xls,.csv\" (change)=\"handleImportFile($event)\">\r\n\r\n <ion-button slot=\"end\" (click)=\"add()\" fill=\"clear\" [disabled]=\"props.disabled\">\r\n <ion-icon size=\"large\" name=\"add\"></ion-icon>\r\n </ion-button>\r\n</ng-template>\r\n\r\n<ngx-datatable #table class=\"material fullscreen rls-server-scrolling\" [rows]=\"model\" [columns]=\"props['columns']\" [columnMode]=\"props['columnMode']\"\r\n [rowHeight]=\"props['rowHeight']\" [headerHeight]=\"props['headerHeight']\" [footerHeight]=\"props['footerHeight']\" [limit]=\"props['limit']\"\r\n [scrollbarH]=\"props['scrollbarH']\" [reorderable]=\"props['reorderable']\" [externalSorting]=\"true\">\r\n <ng-template #defaultColumn ngx-datatable-cell-template let-rowIndex=\"rowIndex\" let-value=\"value\" let-row=\"row\"\r\n let-column=\"column\">\r\n <formly-field class=\"formly-ion-list-item\" [field]=\"getField(field, column, rowIndex)\"></formly-field>\r\n </ng-template>\r\n</ngx-datatable>\r\n\r\n<ng-template #actionsTmpl let-row=\"row\" let-value=\"value\" let-rowIndex=\"rowIndex\">\r\n <ion-button style=\"height: 100%;\" fill=\"clear\"[disabled]=\"props.disabled\" (click)='remove(rowIndex)'>\r\n <ion-icon color=\"danger\" slot=\"icon-only\" name=\"trash\" (click)='remove(rowIndex)'></ion-icon>\r\n </ion-button>\r\n</ng-template>\r\n\r\n<ng-template #search>\r\n <ion-toolbar *ngIf=\"showSerach\">\r\n <ion-searchbar [debounce]=\"1000\" (ionChange)=\"handleChange($event)\"></ion-searchbar>\r\n </ion-toolbar>\r\n</ng-template>", styles: [".rls-server-scrolling{height:calc(100vh - 110px);position:relative!important}::ng-deep .datatable-body-cell{padding:0!important}::ng-deep .datatable-body-cell-label{height:100%!important}::ng-deep .progress-linear{position:fixed!important;bottom:0}::ng-deep .actions-cell{padding:5px 0 0 .9rem!important}::ng-deep .align-right{text-align:right!important}\n"] }]
|
180
|
+
}], ctorParameters: () => [{ type: i1.IonicDialogService }, { type: i2.TranslateService }, { type: i3.FileSaverService }], propDecorators: { fileInput: [{
|
181
181
|
type: ViewChild,
|
182
182
|
args: ['fileInput']
|
183
183
|
}], defaultColumn: [{
|
@@ -187,4 +187,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.10", ngImpo
|
|
187
187
|
type: ViewChild,
|
188
188
|
args: ['actionsTmpl', { static: true }]
|
189
189
|
}] } });
|
190
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVwZWF0LWRhdGF0YWJsZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9yb3NvZnRsYWIvaW9uaWMvc3JjL2xpYi90eXBlcy9yZXBlYXQtZGF0YXRhYmxlL3JlcGVhdC1kYXRhdGFibGUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcm9zb2Z0bGFiL2lvbmljL3NyYy9saWIvdHlwZXMvcmVwZWF0LWRhdGF0YWJsZS9yZXBlYXQtZGF0YXRhYmxlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFVLFdBQVcsRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFdEYsT0FBTyxFQUFFLGNBQWMsRUFBcUIsTUFBTSxrQkFBa0IsQ0FBQztBQUNyRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN2RCxPQUFPLEVBQUUsVUFBVSxFQUFFLGFBQWEsRUFBZSxNQUFNLHlCQUF5QixDQUFDO0FBQ2pGLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNqRCxPQUFPLEtBQUssSUFBSSxNQUFNLE1BQU0sQ0FBQztBQUM3QixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUNoRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7Ozs7Ozs7OztBQXVCaEUsTUFBTSxPQUFPLHdCQUF5QixTQUFRLGNBQWM7SUFxQjFELFlBQ1MsYUFBaUMsRUFDakMsU0FBMkIsRUFDMUIsZ0JBQWtDO1FBQzFDLEtBQUssRUFBRSxDQUFDO1FBSEQsa0JBQWEsR0FBYixhQUFhLENBQW9CO1FBQ2pDLGNBQVMsR0FBVCxTQUFTLENBQWtCO1FBQzFCLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBa0I7UUFoQjVD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dEVBMkNjLDZaRGZWLGNBQWM7OzRGQUdMLHdCQUF3QjtrQkFUcEMsU0FBUztpQ0FDSSxJQUFJLFlBQ04sc0JBQXNCLFdBR3ZCO3dCQUNQLGNBQWM7cUJBQ2Y7dUtBTXVCLFNBQVM7c0JBQWhDLFNBQVM7dUJBQUMsV0FBVztnQkFDK0IsYUFBYTtzQkFBakUsU0FBUzt1QkFBQyxlQUFlLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFO2dCQUNBLFdBQVc7c0JBQXRELFNBQVM7dUJBQUMsYUFBYSxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRWxlbWVudFJlZiwgT25Jbml0LCBUZW1wbGF0ZVJlZiwgVmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3JtR3JvdXAgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBGaWVsZEFycmF5VHlwZSwgRm9ybWx5RmllbGRDb25maWcgfSBmcm9tICdAbmd4LWZvcm1seS9jb3JlJztcbmltcG9ydCB7IFRyYW5zbGF0ZVNlcnZpY2UgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcbmltcG9ydCB7IENvbHVtbk1vZGUsIFNlbGVjdGlvblR5cGUsIFRhYmxlQ29sdW1uIH0gZnJvbSAnQHN3aW1sYW5lL25neC1kYXRhdGFibGUnO1xuaW1wb3J0IHsgRmlsZVNhdmVyU2VydmljZSB9IGZyb20gJ25neC1maWxlc2F2ZXInO1xuaW1wb3J0ICogYXMgWExTWCBmcm9tICd4bHN4JztcbmltcG9ydCB7IElvbmljRGlhbG9nU2VydmljZSB9IGZyb20gJy4uLy4uL2lvbmljLWRpYWxvZy5zZXJ2aWNlJztcbmltcG9ydCB7IFdyYXBwZXJzTW9kdWxlIH0gZnJvbSAnLi4vLi4vd3JhcHBlcnMvd3JhcHBlcnMubW9kdWxlJztcbmludGVyZmFjZSBTZWFyY2hQcm9wIHtcbiAgc2hvd1NlcmFjaDogYm9vbGVhblxuICBzZWFyY2hQcm9wOiBzdHJpbmdcbn1cbmludGVyZmFjZSBFeHBvcnREYXRhUHJvcCB7XG4gIHByb3BlcnRpZXNUb0V4cG9ydDogc3RyaW5nW11cbiAgc2hlZXROYW1lOiBzdHJpbmc7XG4gIGZpbGVOYW1lOiBzdHJpbmc7XG59XG5pbnRlcmZhY2UgSW1wb3J0RGF0YVByb3Age1xuICBrZXlQcm9wOiBzdHJpbmdcbiAgcHJvcGVydGllc1RvSW1wb3J0OiBzdHJpbmdbXVxufVxuQENvbXBvbmVudCh7XG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIHNlbGVjdG9yOiAnYXBwLXJlcGVhdC1kYXRhdGFibGUnLFxuICB0ZW1wbGF0ZVVybDogJy4vcmVwZWF0LWRhdGF0YWJsZS5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3JlcGVhdC1kYXRhdGFibGUuY29tcG9uZW50LnNjc3MnXSxcbiAgaW1wb3J0czogW1xuICAgIFdyYXBwZXJzTW9kdWxlXG4gIF1cbn0pXG5leHBvcnQgY2xhc3MgUmVwZWF0RGF0YXRhYmxlQ29tcG9uZW50IGV4dGVuZHMgRmllbGRBcnJheVR5cGUgaW1wbGVtZW50cyBPbkluaXQge1xuICAvKipcbiAgICpcbiAgICovXG4gIEBWaWV3Q2hpbGQoJ2ZpbGVJbnB1dCcpIGZpbGVJbnB1dDogRWxlbWVudFJlZjtcbiAgQFZpZXdDaGlsZCgnZGVmYXVsdENvbHVtbicsIHsgc3RhdGljOiB0cnVlIH0pIHB1YmxpYyBkZWZhdWx0Q29sdW1uOiBUZW1wbGF0ZVJlZjxhbnk+O1xuICBAVmlld0NoaWxkKCdhY3Rpb25zVG1wbCcsIHsgc3RhdGljOiB0cnVlIH0pIGFjdGlvbnNUbXBsOiBUZW1wbGF0ZVJlZjxhbnk+O1xuXG4gIGRhdGE6IEZvcm1seUZpZWxkQ29uZmlnW10gPSBudWxsO1xuICBzZXJhY2g6IFNlYXJjaFByb3AgPSBudWxsO1xuICBzaG93U2VyYWNoOiBib29sZWFuID0gZmFsc2U7XG4gIGRlbGV0ZU1lc3NhZ2U6IHN0cmluZ1xuICBkZWxldGVCdXR0b246IHN0cmluZ1xuICBjYW5jZWxCdXR0b246IHN0cmluZ1xuICBmaWx0ZXJWYWx1ZTogc3RyaW5nID0gbnVsbDtcbiAgdHlwZUtleTogc3RyaW5nO1xuICBpbXBvcnREYXRhUHJvcDogSW1wb3J0RGF0YVByb3AgPSBudWxsO1xuICBleHBvcnREYXRhUHJvcDogRXhwb3J0RGF0YVByb3AgPSBudWxsO1xuXG4gIENvbHVtbk1vZGUgPSBDb2x1bW5Nb2RlO1xuICBTZWxlY3Rpb25UeXBlID0gU2VsZWN0aW9uVHlwZTtcbiAgY29uc3RydWN0b3IoXG4gICAgcHVibGljIGRpYWxvZ1NlcnZpY2U6IElvbmljRGlhbG9nU2VydmljZSxcbiAgICBwdWJsaWMgdHJhbnNsYXRlOiBUcmFuc2xhdGVTZXJ2aWNlLFxuICAgIHByaXZhdGUgZmlsZVNhdmVyU2VydmljZTogRmlsZVNhdmVyU2VydmljZSkge1xuICAgIHN1cGVyKCk7XG4gICAgdGhpcy5kZWxldGVNZXNzYWdlID0gdGhpcy50cmFuc2xhdGUuaW5zdGFudChcIkdlbmVyYWwuRGVsZXRlLlF1ZXN0aW9uXCIpXG4gICAgdGhpcy5kZWxldGVCdXR0b24gPSB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KFwiR2VuZXJhbC5EZWxldGUuQnV0dG9uXCIpXG4gICAgdGhpcy5jYW5jZWxCdXR0b24gPSB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KFwiR2VuZXJhbC5DYW5jZWwuQnV0dG9uXCIpXG5cbiAgfVxuICBvdmVycmlkZSBhZGQoaT86IG51bWJlciwgaW5pdGlhbE1vZGVsPzogYW55KSB7XG4gICAgaW5pdGlhbE1vZGVsID0ge31cbiAgICB0aGlzLnByb3BzWydjb2x1bW5zJ10uZm9yRWFjaChjb2x1bW4gPT4gaW5pdGlhbE1vZGVsW2NvbHVtbi5wcm9wXSA9IG51bGwpXG4gICAgc3VwZXIuYWRkKGksIGluaXRpYWxNb2RlbCk7XG4gIH1cbiAgb3ZlcnJpZGUgcmVtb3ZlKGk6IG51bWJlciwgeyBtYXJrQXNEaXJ0eSB9ID0geyBtYXJrQXNEaXJ0eTogdHJ1ZSB9KSB7XG4gICAgdGhpcy5kaWFsb2dTZXJ2aWNlLmNvbmZpcm0odGhpcy5kZWxldGVNZXNzYWdlLCBudWxsLCB0aGlzLmRlbGV0ZUJ1dHRvbiwgdGhpcy5jYW5jZWxCdXR0b24pLnRoZW4oXG4gICAgICAodmFsdWU6IGFueSkgPT4ge1xuICAgICAgICBpZiAodmFsdWUuZGF0YSkge1xuICAgICAgICAgIHZhciBvbkRlbGV0ZSA9IHRoaXMuZmllbGQucHJvcHNbJ29uRGVsZXRlJ107XG4gICAgICAgICAgaWYgKG9uRGVsZXRlKSB7XG4gICAgICAgICAgICBvbkRlbGV0ZSh0aGlzLmZpZWxkLmZpZWxkR3JvdXBbaV0ubW9kZWwpLnN1YnNjcmliZShcbiAgICAgICAgICAgICAgKCkgPT4ge1xuICAgICAgICAgICAgICAgIHN1cGVyLnJlbW92ZShpKTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgKVxuICAgICAgICAgIH1cbiAgICAgICAgICBzdXBlci5yZW1vdmUoaSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICApXG4gIH1cbiAgbmdPbkluaXQoKSB7XG4gICAgdGhpcy5wcm9wc1snY29sdW1ucyddLmZvckVhY2goY29sdW1uID0+IGNvbHVtbi5jZWxsVGVtcGxhdGUgPSB0aGlzLmRlZmF1bHRDb2x1bW4pO1xuICAgIHRoaXMucHJvcHNbJ2NvbHVtbnMnXS5wdXNoKHtcbiAgICAgIGNlbGxUZW1wbGF0ZTogdGhpcy5hY3Rpb25zVG1wbCxcbiAgICAgIG5hbWU6ICcnLFxuICAgICAgY2VsbENsYXNzOiAnYWN0aW9ucy1jZWxsJyxcbiAgICAgIGRyYWdnYWJsZTogZmFsc2UsXG4gICAgICBzb3J0YWJsZTogZmFsc2UsXG4gICAgICB2aXNpYmxlOiB0cnVlLFxuICAgICAgd2lkdGg6IDc1LFxuICAgICAgbWF4V2lkdGg6IDc1LFxuICAgICAgbWluV2lkdGg6IDc1XG4gICAgfSlcbiAgICB0aGlzLnR5cGVLZXkgPSB0aGlzLmZpZWxkLmtleSBhcyBzdHJpbmdcbiAgICB0aGlzLnNlcmFjaCA9IHRoaXMucHJvcHNbJ3NlYXJjaCddXG4gICAgdGhpcy5leHBvcnREYXRhUHJvcCA9IHRoaXMucHJvcHNbJ2V4cG9ydCddIHx8IG51bGxcbiAgICB0aGlzLmltcG9ydERhdGFQcm9wID0gdGhpcy5wcm9wc1snaW1wb3J0J10gfHwgbnVsbFxuICAgIGlmICh0aGlzLnNlcmFjaCkge1xuICAgICAgdGhpcy5zaG93U2VyYWNoID0gdGhpcy5zZXJhY2guc2hvd1NlcmFjaFxuICAgIH1cblxuICB9XG4gIGdldEZpZWxkKGZpZWxkOiBGb3JtbHlGaWVsZENvbmZpZywgY29sdW1uOiBUYWJsZUNvbHVtbiwgcm93SW5kZXg6IG51bWJlcik6IEZvcm1seUZpZWxkQ29uZmlnIHtcbiAgICByZXR1cm4gZmllbGQuZmllbGRHcm91cFtyb3dJbmRleF0uZmllbGRHcm91cC5maW5kKGYgPT4gZi5rZXkgPT09IGNvbHVtbi5wcm9wKTtcbiAgfVxuICBwb3N0UG9wdWxhdGUoZmllbGQ6IGFueSkge1xuICAgIGlmICh0aGlzLnNob3dTZXJhY2gpIHtcbiAgICAgIHRoaXMuZGF0YSA9IGZpZWxkLmZpZWxkR3JvdXBcbiAgICAgIGlmICh0aGlzLmZpbHRlclZhbHVlKSB7XG4gICAgICAgIHRoaXMuZmllbGQuZmllbGRHcm91cCA9IHRoaXMuZGF0YS5maWx0ZXIoZiA9PiBmLmZvcm1Db250cm9sLnZhbHVlW3RoaXMuc2VyYWNoLnNlYXJjaFByb3BdLnRvTG93ZXJDYXNlKCkuaW5jbHVkZXModGhpcy5maWx0ZXJWYWx1ZSkpXG4gICAgICB9XG4gICAgfVxuICB9XG4gIGhhbmRsZUNoYW5nZShldmVudCkge1xuICAgIGlmICh0aGlzLnNob3dTZXJhY2gpIHtcbiAgICAgIGlmICh0aGlzLmRhdGEgPT0gbnVsbCAmJiB0aGlzLmZpZWxkLmZpZWxkR3JvdXAgIT09IG51bGwpIHtcbiAgICAgICAgdGhpcy5kYXRhID0gdGhpcy5maWVsZC5maWVsZEdyb3VwXG4gICAgICB9XG4gICAgICB0aGlzLmZpbHRlclZhbHVlID0gZXZlbnQudGFyZ2V0LnZhbHVlLnRvTG93ZXJDYXNlKCk7XG4gICAgICB0aGlzLmZpZWxkLmZpZWxkR3JvdXAgPSB0aGlzLmRhdGEuZmlsdGVyKGYgPT4gZi5mb3JtQ29udHJvbC52YWx1ZVt0aGlzLnNlcmFjaC5zZWFyY2hQcm9wXS50b0xvd2VyQ2FzZSgpLmluY2x1ZGVzKHRoaXMuZmlsdGVyVmFsdWUpKVxuICAgIH1cbiAgfVxuICBpbXBvcnREYXRhKCkge1xuICAgIHRoaXMuZmlsZUlucHV0Lm5hdGl2ZUVsZW1lbnQuY2xpY2soKTtcbiAgfVxuICBhc3luYyBoYW5kbGVJbXBvcnRGaWxlKGV2ZW50OiBhbnkpIHtcbiAgICBjb25zdCBmaWxlID0gZXZlbnQudGFyZ2V0LmZpbGVzWzBdO1xuXG4gICAgaWYgKGZpbGUpIHtcbiAgICAgIHRyeSB7XG5cblxuICAgICAgICBjb25zdCBmaWxlQ29udGVudHMgPSBhd2FpdCB0aGlzLnJlYWRGaWxlQXN5bmMoZmlsZSk7XG4gICAgICAgIC8vIEhhbmRsZSB0aGUgZmlsZSBjb250ZW50cyBoZXJlIChlLmcuLCBkaXNwbGF5IG9yIHByb2Nlc3MgdGhlIGRhdGEpXG4gICAgICAgIGNvbnN0IHdiOiBYTFNYLldvcmtCb29rID0gWExTWC5yZWFkKGZpbGVDb250ZW50cykvLywgeyB0eXBlOiAnYmluYXJ5JyB9KTtcbiAgICAgICAgY29uc3Qgd3NuYW1lOiBzdHJpbmcgPSB3Yi5TaGVldE5hbWVzWzBdO1xuICAgICAgICBjb25zdCB3czogWExTWC5Xb3JrU2hlZXQgPSB3Yi5TaGVldHNbd3NuYW1lXTtcbiAgICAgICAgY29uc3QgZXhjZWxEYXRhID0gWExTWC51dGlscy5zaGVldF90b19qc29uKHdzKS8vLCB7IGhlYWRlcjogMSB9KTtcbiAgICAgICAgZXhjZWxEYXRhLmZvckVhY2goZWxlbWVudCA9PiB7XG4gICAgICAgICAgY29uc3QganNvblggPSB0aGlzLmdldFZhbHVlRnJvbUpzb25EYXRhKGVsZW1lbnQsIHRoaXMuaW1wb3J0RGF0YVByb3Aua2V5UHJvcClcbiAgICAgICAgICBjb25zdCBpZHggPSB0aGlzLmZpZWxkLnBhcmVudC5tb2RlbFt0aGlzLnR5cGVLZXldLmZpbmRJbmRleChmID0+IGZbdGhpcy5pbXBvcnREYXRhUHJvcC5rZXlQcm9wXSA9PT0ganNvblgpXG4gICAgICAgICAgaWYgKGlkeCA+PSAwKSB7XG4gICAgICAgICAgICBjb25zdCBleGlzdGluZ2RhdGEgPSB0aGlzLmZpZWxkLnBhcmVudC5tb2RlbFt0aGlzLnR5cGVLZXldW2lkeF1cbiAgICAgICAgICAgIGZvciAoY29uc3QgcHJvcCBvZiB0aGlzLmltcG9ydERhdGFQcm9wLnByb3BlcnRpZXNUb0ltcG9ydCkge1xuICAgICAgICAgICAgICBjb25zdCBqc29uVmFsID0gdGhpcy5nZXRWYWx1ZUZyb21Kc29uRGF0YShlbGVtZW50LCBwcm9wKVxuICAgICAgICAgICAgICBpZiAoZXhpc3RpbmdkYXRhW3Byb3BdICE9PSBqc29uVmFsKSB7XG4gICAgICAgICAgICAgICAgdmFyIGZpZWxkQ29udHJvbCA9IHRoaXMuZmllbGQuZmllbGRHcm91cFtpZHhdLmZvcm1Db250cm9sIGFzIEZvcm1Hcm91cFxuICAgICAgICAgICAgICAgIGZpZWxkQ29udHJvbC5jb250cm9sc1twcm9wXS5zZXRWYWx1ZShqc29uVmFsKVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHN1cGVyLmFkZChudWxsLCBlbGVtZW50KVxuICAgICAgICAgIH1cbiAgICAgICAgfSk7XG5cbiAgICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgIGNvbnNvbGUuZXJyb3IoJ0Vycm9yIHJlYWRpbmcgdGhlIGZpbGU6JywgZXJyb3IpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIGV4cG9ydERhdGEoKSB7XG5cbiAgICAvLyBGaWx0ZXIgdGhlIGRhdGEgdG8gaW5jbHVkZSBvbmx5IHRoZSBzcGVjaWZpZWQgcHJvcGVydGllc1xuICAgIGNvbnN0IGZpbHRlcmVkRGF0YSA9IHRoaXMuZmllbGQucGFyZW50Lm1vZGVsW3RoaXMudHlwZUtleV0ubWFwKGl0ZW0gPT4ge1xuICAgICAgY29uc3QgZmlsdGVyZWRJdGVtOiBhbnkgPSB7fTtcbiAgICAgIGZvciAoY29uc3QgcHJvcCBvZiB0aGlzLmV4cG9ydERhdGFQcm9wLnByb3BlcnRpZXNUb0V4cG9ydCkge1xuICAgICAgICBmaWx0ZXJlZEl0ZW1bcHJvcF0gPSBpdGVtW3Byb3BdO1xuICAgICAgfVxuICAgICAgcmV0dXJuIGZpbHRlcmVkSXRlbTtcbiAgICB9KTtcblxuICAgIGNvbnN0IHdzOiBYTFNYLldvcmtTaGVldCA9IFhMU1gudXRpbHMuanNvbl90b19zaGVldChmaWx0ZXJlZERhdGEpO1xuICAgIGNvbnN0IHdiOiBYTFNYLldvcmtCb29rID0gWExTWC51dGlscy5ib29rX25ldygpO1xuICAgIFhMU1gudXRpbHMuYm9va19hcHBlbmRfc2hlZXQod2IsIHdzLCB0aGlzLmV4cG9ydERhdGFQcm9wLnNoZWV0TmFtZSk7XG5cbiAgICBjb25zdCBleGNlbEJ1ZmZlcjogYW55ID0gWExTWC53cml0ZSh3YiwgeyBib29rVHlwZTogJ3hsc3gnLCB0eXBlOiAnYXJyYXknIH0pO1xuXG4gICAgY29uc3QgYmxvYiA9IG5ldyBCbG9iKFtleGNlbEJ1ZmZlcl0sIHsgdHlwZTogJ2FwcGxpY2F0aW9uL3ZuZC5vcGVueG1sZm9ybWF0cy1vZmZpY2Vkb2N1bWVudC5zcHJlYWRzaGVldG1sLnNoZWV0JyB9KTtcbiAgICB0aGlzLmZpbGVTYXZlclNlcnZpY2Uuc2F2ZShibG9iLCB0aGlzLmV4cG9ydERhdGFQcm9wLmZpbGVOYW1lKTtcbiAgfVxuXG4gIGdldFZhbHVlRnJvbUpzb25EYXRhKGpzb25EYXRhOiBhbnksIGtleTogc3RyaW5nKTogYW55IHtcbiAgICAvLyBDb252ZXJ0IHRoZSBrZXkgYW5kIGFsbCBKU09OIGtleXMgdG8gbG93ZXJjYXNlXG4gICAgY29uc3QgbG93ZXJjYXNlS2V5ID0ga2V5LnRvTG93ZXJDYXNlKCk7XG4gICAgY29uc3QgbG93ZXJjYXNlS2V5cyA9IE9iamVjdC5rZXlzKGpzb25EYXRhKS5tYXAoayA9PiBrLnRvTG93ZXJDYXNlKCkpO1xuXG4gICAgLy8gRmluZCB0aGUgbG93ZXJjYXNlIGtleSBpbiB0aGUgbG93ZXJjYXNlIGtleXMgYXJyYXlcbiAgICBjb25zdCBpbmRleCA9IGxvd2VyY2FzZUtleXMuaW5kZXhPZihsb3dlcmNhc2VLZXkpO1xuXG4gICAgLy8gSWYgZm91bmQsIHVzZSB0aGUgb3JpZ2luYWwgKHByb3BlciBjYXNlKSBrZXkgdG8gYWNjZXNzIHRoZSB2YWx1ZVxuICAgIGlmIChpbmRleCAhPT0gLTEpIHtcbiAgICAgIGNvbnN0IG9yaWdpbmFsS2V5ID0gT2JqZWN0LmtleXMoanNvbkRhdGEpW2luZGV4XTtcbiAgICAgIHJldHVybiBqc29uRGF0YVtvcmlnaW5hbEtleV07XG4gICAgfVxuXG4gICAgLy8gS2V5IG5vdCBmb3VuZFxuICAgIHJldHVybiB1bmRlZmluZWQ7XG4gIH1cbiAgcHJpdmF0ZSByZWFkRmlsZUFzeW5jKGZpbGU6IEZpbGUpOiBQcm9taXNlPGFueT4ge1xuICAgIHJldHVybiBuZXcgUHJvbWlzZTxhbnk+KChyZXNvbHZlLCByZWplY3QpID0+IHtcbiAgICAgIGNvbnN0IHJlYWRlciA9IG5ldyBGaWxlUmVhZGVyKCk7XG5cbiAgICAgIHJlYWRlci5vbmxvYWQgPSAoZXZlbnQ6IGFueSkgPT4ge1xuICAgICAgICByZXNvbHZlKGV2ZW50LnRhcmdldC5yZXN1bHQpO1xuICAgICAgfTtcblxuICAgICAgcmVhZGVyLm9uZXJyb3IgPSAoZXZlbnQ6IGFueSkgPT4ge1xuICAgICAgICByZWplY3QoZXZlbnQudGFyZ2V0LmVycm9yKTtcbiAgICAgIH07XG5cbiAgICAgIHJlYWRlci5yZWFkQXNBcnJheUJ1ZmZlcihmaWxlKTtcbiAgICB9KTtcbiAgfVxufSIsIjxpb24taGVhZGVyIFt0cmFuc2x1Y2VudF09XCJ0cnVlXCI+XG4gIDxpb24tdG9vbGJhcj5cbiAgICA8bmctY29udGFpbmVyIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImhlYWRlclwiPjwvbmctY29udGFpbmVyPlxuICA8L2lvbi10b29sYmFyPlxuICA8bmctY29udGFpbmVyIFtuZ1RlbXBsYXRlT3V0bGV0XT1cInNlYXJjaFwiPjwvbmctY29udGFpbmVyPlxuPC9pb24taGVhZGVyPlxuXG48bmctdGVtcGxhdGUgI2hlYWRlcj5cbiAgPGlvbi10aXRsZSBjbGFzcz1cImlvbi10ZXh0LWxlZnRcIj57e3Byb3BzLmxhYmVsfX08L2lvbi10aXRsZT5cblxuICA8aW9uLWJ1dHRvbiBzbG90PVwiZW5kXCIgKGNsaWNrKT1cImV4cG9ydERhdGEoKVwiIGZpbGw9XCJjbGVhclwiIFtkaXNhYmxlZF09XCJwcm9wcy5kaXNhYmxlZFwiICpuZ0lmPVwiZXhwb3J0RGF0YVByb3BcIj5cbiAgICA8aW9uLWljb24gbmFtZT1cImNsb3VkLWRvd25sb2FkLW91dGxpbmVcIj48L2lvbi1pY29uPlxuICA8L2lvbi1idXR0b24+XG5cbiAgPGlvbi1idXR0b24gc2xvdD1cImVuZFwiIChjbGljayk9XCJpbXBvcnREYXRhKClcIiBmaWxsPVwiY2xlYXJcIiBbZGlzYWJsZWRdPVwicHJvcHMuZGlzYWJsZWRcIiAqbmdJZj1cImltcG9ydERhdGFQcm9wXCI+XG4gICAgPGlvbi1pY29uIG5hbWU9XCJjbG91ZC11cGxvYWQtb3V0bGluZVwiPjwvaW9uLWljb24+XG4gIDwvaW9uLWJ1dHRvbj5cbiAgPGlucHV0ICNmaWxlSW5wdXQgdHlwZT1cImZpbGVcIiBzdHlsZT1cImRpc3BsYXk6IG5vbmVcIiBhY2NlcHQ9XCIueGxzeCwueGxzLC5jc3ZcIiAoY2hhbmdlKT1cImhhbmRsZUltcG9ydEZpbGUoJGV2ZW50KVwiPlxuXG4gIDxpb24tYnV0dG9uIHNsb3Q9XCJlbmRcIiAoY2xpY2spPVwiYWRkKClcIiBmaWxsPVwiY2xlYXJcIiBbZGlzYWJsZWRdPVwicHJvcHMuZGlzYWJsZWRcIj5cbiAgICA8aW9uLWljb24gc2l6ZT1cImxhcmdlXCIgbmFtZT1cImFkZFwiPjwvaW9uLWljb24+XG4gIDwvaW9uLWJ1dHRvbj5cbjwvbmctdGVtcGxhdGU+XG5cbjxuZ3gtZGF0YXRhYmxlICN0YWJsZSBjbGFzcz1cIm1hdGVyaWFsIGZ1bGxzY3JlZW4gcmxzLXNlcnZlci1zY3JvbGxpbmdcIiBbcm93c109XCJtb2RlbFwiIFtjb2x1bW5zXT1cInByb3BzWydjb2x1bW5zJ11cIiBbY29sdW1uTW9kZV09XCJwcm9wc1snY29sdW1uTW9kZSddXCJcbiAgW3Jvd0hlaWdodF09XCJwcm9wc1sncm93SGVpZ2h0J11cIiBbaGVhZGVySGVpZ2h0XT1cInByb3BzWydoZWFkZXJIZWlnaHQnXVwiIFtmb290ZXJIZWlnaHRdPVwicHJvcHNbJ2Zvb3RlckhlaWdodCddXCIgW2xpbWl0XT1cInByb3BzWydsaW1pdCddXCJcbiAgW3Njcm9sbGJhckhdPVwicHJvcHNbJ3Njcm9sbGJhckgnXVwiIFtyZW9yZGVyYWJsZV09XCJwcm9wc1sncmVvcmRlcmFibGUnXVwiIFtleHRlcm5hbFNvcnRpbmddPVwidHJ1ZVwiPlxuICA8bmctdGVtcGxhdGUgI2RlZmF1bHRDb2x1bW4gbmd4LWRhdGF0YWJsZS1jZWxsLXRlbXBsYXRlIGxldC1yb3dJbmRleD1cInJvd0luZGV4XCIgbGV0LXZhbHVlPVwidmFsdWVcIiBsZXQtcm93PVwicm93XCJcbiAgICBsZXQtY29sdW1uPVwiY29sdW1uXCI+XG4gICAgPGZvcm1seS1maWVsZCAgIGNsYXNzPVwiZm9ybWx5LWlvbi1saXN0LWl0ZW1cIiAgW2ZpZWxkXT1cImdldEZpZWxkKGZpZWxkLCBjb2x1bW4sIHJvd0luZGV4KVwiPjwvZm9ybWx5LWZpZWxkPlxuICA8L25nLXRlbXBsYXRlPlxuPC9uZ3gtZGF0YXRhYmxlPlxuXG48bmctdGVtcGxhdGUgI2FjdGlvbnNUbXBsIGxldC1yb3c9XCJyb3dcIiBsZXQtdmFsdWU9XCJ2YWx1ZVwiICBsZXQtcm93SW5kZXg9XCJyb3dJbmRleFwiPlxuICA8aW9uLWJ1dHRvbiBzdHlsZT1cImhlaWdodDogMTAwJTtcIiBmaWxsPVwiY2xlYXJcIltkaXNhYmxlZF09XCJwcm9wcy5kaXNhYmxlZFwiIChjbGljayk9J3JlbW92ZShyb3dJbmRleCknPlxuICAgIDxpb24taWNvbiBjb2xvcj1cImRhbmdlclwiIHNsb3Q9XCJpY29uLW9ubHlcIiBuYW1lPVwidHJhc2hcIiAoY2xpY2spPSdyZW1vdmUocm93SW5kZXgpJz48L2lvbi1pY29uPlxuICA8L2lvbi1idXR0b24+XG48L25nLXRlbXBsYXRlPlxuXG48bmctdGVtcGxhdGUgI3NlYXJjaD5cbiAgPGlvbi10b29sYmFyICpuZ0lmPVwic2hvd1NlcmFjaFwiPlxuICAgIDxpb24tc2VhcmNoYmFyIFtkZWJvdW5jZV09XCIxMDAwXCIgKGlvbkNoYW5nZSk9XCJoYW5kbGVDaGFuZ2UoJGV2ZW50KVwiPjwvaW9uLXNlYXJjaGJhcj5cbiAgPC9pb24tdG9vbGJhcj5cbjwvbmctdGVtcGxhdGU+Il19
|
190
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVwZWF0LWRhdGF0YWJsZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9yb3NvZnRsYWIvaW9uaWMvc3JjL2xpYi90eXBlcy9yZXBlYXQtZGF0YXRhYmxlL3JlcGVhdC1kYXRhdGFibGUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcm9zb2Z0bGFiL2lvbmljL3NyYy9saWIvdHlwZXMvcmVwZWF0LWRhdGF0YWJsZS9yZXBlYXQtZGF0YXRhYmxlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFVLFdBQVcsRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFdEYsT0FBTyxFQUFFLGNBQWMsRUFBcUIsTUFBTSxrQkFBa0IsQ0FBQztBQUNyRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN2RCxPQUFPLEVBQUUsVUFBVSxFQUFFLGFBQWEsRUFBZSxNQUFNLHlCQUF5QixDQUFDO0FBQ2pGLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNqRCxPQUFPLEtBQUssSUFBSSxNQUFNLE1BQU0sQ0FBQztBQUM3QixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUNoRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7Ozs7Ozs7OztBQXVCaEUsTUFBTSxPQUFPLHdCQUF5QixTQUFRLGNBQWM7SUFxQjFELFlBQ1MsYUFBaUMsRUFDakMsU0FBMkIsRUFDMUIsZ0JBQWtDO1FBQzFDLEtBQUssRUFBRSxDQUFDO1FBSEQsa0JBQWEsR0FBYixhQUFhLENBQW9CO1FBQ2pDLGNBQVMsR0FBVCxTQUFTLENBQWtCO1FBQzFCLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBa0I7UUFoQjVD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S0FBSyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUM3QixDQUFDLENBQUM7WUFFRixNQUFNLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDakMsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDOzhHQTFMVSx3QkFBd0I7a0dBQXhCLHdCQUF3Qix5YUMvQnJDLDZ5RUEyQ2MsNlpEZlYsY0FBYzs7MkZBR0wsd0JBQXdCO2tCQVRwQyxTQUFTO2lDQUNJLElBQUksWUFDTixzQkFBc0IsV0FHdkI7d0JBQ1AsY0FBYztxQkFDZjtxSkFNdUIsU0FBUztzQkFBaEMsU0FBUzt1QkFBQyxXQUFXO2dCQUMrQixhQUFhO3NCQUFqRSxTQUFTO3VCQUFDLGVBQWUsRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUU7Z0JBQ0EsV0FBVztzQkFBdEQsU0FBUzt1QkFBQyxhQUFhLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFbGVtZW50UmVmLCBPbkluaXQsIFRlbXBsYXRlUmVmLCBWaWV3Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgRm9ybUdyb3VwIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBGaWVsZEFycmF5VHlwZSwgRm9ybWx5RmllbGRDb25maWcgfSBmcm9tICdAbmd4LWZvcm1seS9jb3JlJztcclxuaW1wb3J0IHsgVHJhbnNsYXRlU2VydmljZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xyXG5pbXBvcnQgeyBDb2x1bW5Nb2RlLCBTZWxlY3Rpb25UeXBlLCBUYWJsZUNvbHVtbiB9IGZyb20gJ0Bzd2ltbGFuZS9uZ3gtZGF0YXRhYmxlJztcclxuaW1wb3J0IHsgRmlsZVNhdmVyU2VydmljZSB9IGZyb20gJ25neC1maWxlc2F2ZXInO1xyXG5pbXBvcnQgKiBhcyBYTFNYIGZyb20gJ3hsc3gnO1xyXG5pbXBvcnQgeyBJb25pY0RpYWxvZ1NlcnZpY2UgfSBmcm9tICcuLi8uLi9pb25pYy1kaWFsb2cuc2VydmljZSc7XHJcbmltcG9ydCB7IFdyYXBwZXJzTW9kdWxlIH0gZnJvbSAnLi4vLi4vd3JhcHBlcnMvd3JhcHBlcnMubW9kdWxlJztcclxuaW50ZXJmYWNlIFNlYXJjaFByb3Age1xyXG4gIHNob3dTZXJhY2g6IGJvb2xlYW5cclxuICBzZWFyY2hQcm9wOiBzdHJpbmdcclxufVxyXG5pbnRlcmZhY2UgRXhwb3J0RGF0YVByb3Age1xyXG4gIHByb3BlcnRpZXNUb0V4cG9ydDogc3RyaW5nW11cclxuICBzaGVldE5hbWU6IHN0cmluZztcclxuICBmaWxlTmFtZTogc3RyaW5nO1xyXG59XHJcbmludGVyZmFjZSBJbXBvcnREYXRhUHJvcCB7XHJcbiAga2V5UHJvcDogc3RyaW5nXHJcbiAgcHJvcGVydGllc1RvSW1wb3J0OiBzdHJpbmdbXVxyXG59XHJcbkBDb21wb25lbnQoe1xyXG4gIHN0YW5kYWxvbmU6IHRydWUsXHJcbiAgc2VsZWN0b3I6ICdhcHAtcmVwZWF0LWRhdGF0YWJsZScsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3JlcGVhdC1kYXRhdGFibGUuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL3JlcGVhdC1kYXRhdGFibGUuY29tcG9uZW50LnNjc3MnXSxcclxuICBpbXBvcnRzOiBbXHJcbiAgICBXcmFwcGVyc01vZHVsZVxyXG4gIF1cclxufSlcclxuZXhwb3J0IGNsYXNzIFJlcGVhdERhdGF0YWJsZUNvbXBvbmVudCBleHRlbmRzIEZpZWxkQXJyYXlUeXBlIGltcGxlbWVudHMgT25Jbml0IHtcclxuICAvKipcclxuICAgKlxyXG4gICAqL1xyXG4gIEBWaWV3Q2hpbGQoJ2ZpbGVJbnB1dCcpIGZpbGVJbnB1dDogRWxlbWVudFJlZjtcclxuICBAVmlld0NoaWxkKCdkZWZhdWx0Q29sdW1uJywgeyBzdGF0aWM6IHRydWUgfSkgcHVibGljIGRlZmF1bHRDb2x1bW46IFRlbXBsYXRlUmVmPGFueT47XHJcbiAgQFZpZXdDaGlsZCgnYWN0aW9uc1RtcGwnLCB7IHN0YXRpYzogdHJ1ZSB9KSBhY3Rpb25zVG1wbDogVGVtcGxhdGVSZWY8YW55PjtcclxuXHJcbiAgZGF0YTogRm9ybWx5RmllbGRDb25maWdbXSA9IG51bGw7XHJcbiAgc2VyYWNoOiBTZWFyY2hQcm9wID0gbnVsbDtcclxuICBzaG93U2VyYWNoOiBib29sZWFuID0gZmFsc2U7XHJcbiAgZGVsZXRlTWVzc2FnZTogc3RyaW5nXHJcbiAgZGVsZXRlQnV0dG9uOiBzdHJpbmdcclxuICBjYW5jZWxCdXR0b246IHN0cmluZ1xyXG4gIGZpbHRlclZhbHVlOiBzdHJpbmcgPSBudWxsO1xyXG4gIHR5cGVLZXk6IHN0cmluZztcclxuICBpbXBvcnREYXRhUHJvcDogSW1wb3J0RGF0YVByb3AgPSBudWxsO1xyXG4gIGV4cG9ydERhdGFQcm9wOiBFeHBvcnREYXRhUHJvcCA9IG51bGw7XHJcblxyXG4gIENvbHVtbk1vZGUgPSBDb2x1bW5Nb2RlO1xyXG4gIFNlbGVjdGlvblR5cGUgPSBTZWxlY3Rpb25UeXBlO1xyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHVibGljIGRpYWxvZ1NlcnZpY2U6IElvbmljRGlhbG9nU2VydmljZSxcclxuICAgIHB1YmxpYyB0cmFuc2xhdGU6IFRyYW5zbGF0ZVNlcnZpY2UsXHJcbiAgICBwcml2YXRlIGZpbGVTYXZlclNlcnZpY2U6IEZpbGVTYXZlclNlcnZpY2UpIHtcclxuICAgIHN1cGVyKCk7XHJcbiAgICB0aGlzLmRlbGV0ZU1lc3NhZ2UgPSB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KFwiR2VuZXJhbC5EZWxldGUuUXVlc3Rpb25cIilcclxuICAgIHRoaXMuZGVsZXRlQnV0dG9uID0gdGhpcy50cmFuc2xhdGUuaW5zdGFudChcIkdlbmVyYWwuRGVsZXRlLkJ1dHRvblwiKVxyXG4gICAgdGhpcy5jYW5jZWxCdXR0b24gPSB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KFwiR2VuZXJhbC5DYW5jZWwuQnV0dG9uXCIpXHJcblxyXG4gIH1cclxuICBvdmVycmlkZSBhZGQoaT86IG51bWJlciwgaW5pdGlhbE1vZGVsPzogYW55KSB7XHJcbiAgICBpbml0aWFsTW9kZWwgPSB7fVxyXG4gICAgdGhpcy5wcm9wc1snY29sdW1ucyddLmZvckVhY2goY29sdW1uID0+IGluaXRpYWxNb2RlbFtjb2x1bW4ucHJvcF0gPSBudWxsKVxyXG4gICAgc3VwZXIuYWRkKGksIGluaXRpYWxNb2RlbCk7XHJcbiAgfVxyXG4gIG92ZXJyaWRlIHJlbW92ZShpOiBudW1iZXIsIHsgbWFya0FzRGlydHkgfSA9IHsgbWFya0FzRGlydHk6IHRydWUgfSkge1xyXG4gICAgdGhpcy5kaWFsb2dTZXJ2aWNlLmNvbmZpcm0odGhpcy5kZWxldGVNZXNzYWdlLCBudWxsLCB0aGlzLmRlbGV0ZUJ1dHRvbiwgdGhpcy5jYW5jZWxCdXR0b24pLnRoZW4oXHJcbiAgICAgICh2YWx1ZTogYW55KSA9PiB7XHJcbiAgICAgICAgaWYgKHZhbHVlLmRhdGEpIHtcclxuICAgICAgICAgIHZhciBvbkRlbGV0ZSA9IHRoaXMuZmllbGQucHJvcHNbJ29uRGVsZXRlJ107XHJcbiAgICAgICAgICBpZiAob25EZWxldGUpIHtcclxuICAgICAgICAgICAgb25EZWxldGUodGhpcy5maWVsZC5maWVsZEdyb3VwW2ldLm1vZGVsKS5zdWJzY3JpYmUoXHJcbiAgICAgICAgICAgICAgKCkgPT4ge1xyXG4gICAgICAgICAgICAgICAgc3VwZXIucmVtb3ZlKGkpO1xyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgKVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgc3VwZXIucmVtb3ZlKGkpO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgKVxyXG4gIH1cclxuICBuZ09uSW5pdCgpIHtcclxuICAgIHRoaXMucHJvcHNbJ2NvbHVtbnMnXS5mb3JFYWNoKGNvbHVtbiA9PiBjb2x1bW4uY2VsbFRlbXBsYXRlID0gdGhpcy5kZWZhdWx0Q29sdW1uKTtcclxuICAgIHRoaXMucHJvcHNbJ2NvbHVtbnMnXS5wdXNoKHtcclxuICAgICAgY2VsbFRlbXBsYXRlOiB0aGlzLmFjdGlvbnNUbXBsLFxyXG4gICAgICBuYW1lOiAnJyxcclxuICAgICAgY2VsbENsYXNzOiAnYWN0aW9ucy1jZWxsJyxcclxuICAgICAgZHJhZ2dhYmxlOiBmYWxzZSxcclxuICAgICAgc29ydGFibGU6IGZhbHNlLFxyXG4gICAgICB2aXNpYmxlOiB0cnVlLFxyXG4gICAgICB3aWR0aDogNzUsXHJcbiAgICAgIG1heFdpZHRoOiA3NSxcclxuICAgICAgbWluV2lkdGg6IDc1XHJcbiAgICB9KVxyXG4gICAgdGhpcy50eXBlS2V5ID0gdGhpcy5maWVsZC5rZXkgYXMgc3RyaW5nXHJcbiAgICB0aGlzLnNlcmFjaCA9IHRoaXMucHJvcHNbJ3NlYXJjaCddXHJcbiAgICB0aGlzLmV4cG9ydERhdGFQcm9wID0gdGhpcy5wcm9wc1snZXhwb3J0J10gfHwgbnVsbFxyXG4gICAgdGhpcy5pbXBvcnREYXRhUHJvcCA9IHRoaXMucHJvcHNbJ2ltcG9ydCddIHx8IG51bGxcclxuICAgIGlmICh0aGlzLnNlcmFjaCkge1xyXG4gICAgICB0aGlzLnNob3dTZXJhY2ggPSB0aGlzLnNlcmFjaC5zaG93U2VyYWNoXHJcbiAgICB9XHJcblxyXG4gIH1cclxuICBnZXRGaWVsZChmaWVsZDogRm9ybWx5RmllbGRDb25maWcsIGNvbHVtbjogVGFibGVDb2x1bW4sIHJvd0luZGV4OiBudW1iZXIpOiBGb3JtbHlGaWVsZENvbmZpZyB7XHJcbiAgICByZXR1cm4gZmllbGQuZmllbGRHcm91cFtyb3dJbmRleF0uZmllbGRHcm91cC5maW5kKGYgPT4gZi5rZXkgPT09IGNvbHVtbi5wcm9wKTtcclxuICB9XHJcbiAgcG9zdFBvcHVsYXRlKGZpZWxkOiBhbnkpIHtcclxuICAgIGlmICh0aGlzLnNob3dTZXJhY2gpIHtcclxuICAgICAgdGhpcy5kYXRhID0gZmllbGQuZmllbGRHcm91cFxyXG4gICAgICBpZiAodGhpcy5maWx0ZXJWYWx1ZSkge1xyXG4gICAgICAgIHRoaXMuZmllbGQuZmllbGRHcm91cCA9IHRoaXMuZGF0YS5maWx0ZXIoZiA9PiBmLmZvcm1Db250cm9sLnZhbHVlW3RoaXMuc2VyYWNoLnNlYXJjaFByb3BdLnRvTG93ZXJDYXNlKCkuaW5jbHVkZXModGhpcy5maWx0ZXJWYWx1ZSkpXHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbiAgaGFuZGxlQ2hhbmdlKGV2ZW50KSB7XHJcbiAgICBpZiAodGhpcy5zaG93U2VyYWNoKSB7XHJcbiAgICAgIGlmICh0aGlzLmRhdGEgPT0gbnVsbCAmJiB0aGlzLmZpZWxkLmZpZWxkR3JvdXAgIT09IG51bGwpIHtcclxuICAgICAgICB0aGlzLmRhdGEgPSB0aGlzLmZpZWxkLmZpZWxkR3JvdXBcclxuICAgICAgfVxyXG4gICAgICB0aGlzLmZpbHRlclZhbHVlID0gZXZlbnQudGFyZ2V0LnZhbHVlLnRvTG93ZXJDYXNlKCk7XHJcbiAgICAgIHRoaXMuZmllbGQuZmllbGRHcm91cCA9IHRoaXMuZGF0YS5maWx0ZXIoZiA9PiBmLmZvcm1Db250cm9sLnZhbHVlW3RoaXMuc2VyYWNoLnNlYXJjaFByb3BdLnRvTG93ZXJDYXNlKCkuaW5jbHVkZXModGhpcy5maWx0ZXJWYWx1ZSkpXHJcbiAgICB9XHJcbiAgfVxyXG4gIGltcG9ydERhdGEoKSB7XHJcbiAgICB0aGlzLmZpbGVJbnB1dC5uYXRpdmVFbGVtZW50LmNsaWNrKCk7XHJcbiAgfVxyXG4gIGFzeW5jIGhhbmRsZUltcG9ydEZpbGUoZXZlbnQ6IGFueSkge1xyXG4gICAgY29uc3QgZmlsZSA9IGV2ZW50LnRhcmdldC5maWxlc1swXTtcclxuXHJcbiAgICBpZiAoZmlsZSkge1xyXG4gICAgICB0cnkge1xyXG5cclxuXHJcbiAgICAgICAgY29uc3QgZmlsZUNvbnRlbnRzID0gYXdhaXQgdGhpcy5yZWFkRmlsZUFzeW5jKGZpbGUpO1xyXG4gICAgICAgIC8vIEhhbmRsZSB0aGUgZmlsZSBjb250ZW50cyBoZXJlIChlLmcuLCBkaXNwbGF5IG9yIHByb2Nlc3MgdGhlIGRhdGEpXHJcbiAgICAgICAgY29uc3Qgd2I6IFhMU1guV29ya0Jvb2sgPSBYTFNYLnJlYWQoZmlsZUNvbnRlbnRzKS8vLCB7IHR5cGU6ICdiaW5hcnknIH0pO1xyXG4gICAgICAgIGNvbnN0IHdzbmFtZTogc3RyaW5nID0gd2IuU2hlZXROYW1lc1swXTtcclxuICAgICAgICBjb25zdCB3czogWExTWC5Xb3JrU2hlZXQgPSB3Yi5TaGVldHNbd3NuYW1lXTtcclxuICAgICAgICBjb25zdCBleGNlbERhdGEgPSBYTFNYLnV0aWxzLnNoZWV0X3RvX2pzb24od3MpLy8sIHsgaGVhZGVyOiAxIH0pO1xyXG4gICAgICAgIGV4Y2VsRGF0YS5mb3JFYWNoKGVsZW1lbnQgPT4ge1xyXG4gICAgICAgICAgY29uc3QganNvblggPSB0aGlzLmdldFZhbHVlRnJvbUpzb25EYXRhKGVsZW1lbnQsIHRoaXMuaW1wb3J0RGF0YVByb3Aua2V5UHJvcClcclxuICAgICAgICAgIGNvbnN0IGlkeCA9IHRoaXMuZmllbGQucGFyZW50Lm1vZGVsW3RoaXMudHlwZUtleV0uZmluZEluZGV4KGYgPT4gZlt0aGlzLmltcG9ydERhdGFQcm9wLmtleVByb3BdID09PSBqc29uWClcclxuICAgICAgICAgIGlmIChpZHggPj0gMCkge1xyXG4gICAgICAgICAgICBjb25zdCBleGlzdGluZ2RhdGEgPSB0aGlzLmZpZWxkLnBhcmVudC5tb2RlbFt0aGlzLnR5cGVLZXldW2lkeF1cclxuICAgICAgICAgICAgZm9yIChjb25zdCBwcm9wIG9mIHRoaXMuaW1wb3J0RGF0YVByb3AucHJvcGVydGllc1RvSW1wb3J0KSB7XHJcbiAgICAgICAgICAgICAgY29uc3QganNvblZhbCA9IHRoaXMuZ2V0VmFsdWVGcm9tSnNvbkRhdGEoZWxlbWVudCwgcHJvcClcclxuICAgICAgICAgICAgICBpZiAoZXhpc3RpbmdkYXRhW3Byb3BdICE9PSBqc29uVmFsKSB7XHJcbiAgICAgICAgICAgICAgICB2YXIgZmllbGRDb250cm9sID0gdGhpcy5maWVsZC5maWVsZEdyb3VwW2lkeF0uZm9ybUNvbnRyb2wgYXMgRm9ybUdyb3VwXHJcbiAgICAgICAgICAgICAgICBmaWVsZENvbnRyb2wuY29udHJvbHNbcHJvcF0uc2V0VmFsdWUoanNvblZhbClcclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIHN1cGVyLmFkZChudWxsLCBlbGVtZW50KVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH0pO1xyXG5cclxuICAgICAgfSBjYXRjaCAoZXJyb3IpIHtcclxuICAgICAgICBjb25zb2xlLmVycm9yKCdFcnJvciByZWFkaW5nIHRoZSBmaWxlOicsIGVycm9yKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgZXhwb3J0RGF0YSgpIHtcclxuXHJcbiAgICAvLyBGaWx0ZXIgdGhlIGRhdGEgdG8gaW5jbHVkZSBvbmx5IHRoZSBzcGVjaWZpZWQgcHJvcGVydGllc1xyXG4gICAgY29uc3QgZmlsdGVyZWREYXRhID0gdGhpcy5maWVsZC5wYXJlbnQubW9kZWxbdGhpcy50eXBlS2V5XS5tYXAoaXRlbSA9PiB7XHJcbiAgICAgIGNvbnN0IGZpbHRlcmVkSXRlbTogYW55ID0ge307XHJcbiAgICAgIGZvciAoY29uc3QgcHJvcCBvZiB0aGlzLmV4cG9ydERhdGFQcm9wLnByb3BlcnRpZXNUb0V4cG9ydCkge1xyXG4gICAgICAgIGZpbHRlcmVkSXRlbVtwcm9wXSA9IGl0ZW1bcHJvcF07XHJcbiAgICAgIH1cclxuICAgICAgcmV0dXJuIGZpbHRlcmVkSXRlbTtcclxuICAgIH0pO1xyXG5cclxuICAgIGNvbnN0IHdzOiBYTFNYLldvcmtTaGVldCA9IFhMU1gudXRpbHMuanNvbl90b19zaGVldChmaWx0ZXJlZERhdGEpO1xyXG4gICAgY29uc3Qgd2I6IFhMU1guV29ya0Jvb2sgPSBYTFNYLnV0aWxzLmJvb2tfbmV3KCk7XHJcbiAgICBYTFNYLnV0aWxzLmJvb2tfYXBwZW5kX3NoZWV0KHdiLCB3cywgdGhpcy5leHBvcnREYXRhUHJvcC5zaGVldE5hbWUpO1xyXG5cclxuICAgIGNvbnN0IGV4Y2VsQnVmZmVyOiBhbnkgPSBYTFNYLndyaXRlKHdiLCB7IGJvb2tUeXBlOiAneGxzeCcsIHR5cGU6ICdhcnJheScgfSk7XHJcblxyXG4gICAgY29uc3QgYmxvYiA9IG5ldyBCbG9iKFtleGNlbEJ1ZmZlcl0sIHsgdHlwZTogJ2FwcGxpY2F0aW9uL3ZuZC5vcGVueG1sZm9ybWF0cy1vZmZpY2Vkb2N1bWVudC5zcHJlYWRzaGVldG1sLnNoZWV0JyB9KTtcclxuICAgIHRoaXMuZmlsZVNhdmVyU2VydmljZS5zYXZlKGJsb2IsIHRoaXMuZXhwb3J0RGF0YVByb3AuZmlsZU5hbWUpO1xyXG4gIH1cclxuXHJcbiAgZ2V0VmFsdWVGcm9tSnNvbkRhdGEoanNvbkRhdGE6IGFueSwga2V5OiBzdHJpbmcpOiBhbnkge1xyXG4gICAgLy8gQ29udmVydCB0aGUga2V5IGFuZCBhbGwgSlNPTiBrZXlzIHRvIGxvd2VyY2FzZVxyXG4gICAgY29uc3QgbG93ZXJjYXNlS2V5ID0ga2V5LnRvTG93ZXJDYXNlKCk7XHJcbiAgICBjb25zdCBsb3dlcmNhc2VLZXlzID0gT2JqZWN0LmtleXMoanNvbkRhdGEpLm1hcChrID0+IGsudG9Mb3dlckNhc2UoKSk7XHJcblxyXG4gICAgLy8gRmluZCB0aGUgbG93ZXJjYXNlIGtleSBpbiB0aGUgbG93ZXJjYXNlIGtleXMgYXJyYXlcclxuICAgIGNvbnN0IGluZGV4ID0gbG93ZXJjYXNlS2V5cy5pbmRleE9mKGxvd2VyY2FzZUtleSk7XHJcblxyXG4gICAgLy8gSWYgZm91bmQsIHVzZSB0aGUgb3JpZ2luYWwgKHByb3BlciBjYXNlKSBrZXkgdG8gYWNjZXNzIHRoZSB2YWx1ZVxyXG4gICAgaWYgKGluZGV4ICE9PSAtMSkge1xyXG4gICAgICBjb25zdCBvcmlnaW5hbEtleSA9IE9iamVjdC5rZXlzKGpzb25EYXRhKVtpbmRleF07XHJcbiAgICAgIHJldHVybiBqc29uRGF0YVtvcmlnaW5hbEtleV07XHJcbiAgICB9XHJcblxyXG4gICAgLy8gS2V5IG5vdCBmb3VuZFxyXG4gICAgcmV0dXJuIHVuZGVmaW5lZDtcclxuICB9XHJcbiAgcHJpdmF0ZSByZWFkRmlsZUFzeW5jKGZpbGU6IEZpbGUpOiBQcm9taXNlPGFueT4ge1xyXG4gICAgcmV0dXJuIG5ldyBQcm9taXNlPGFueT4oKHJlc29sdmUsIHJlamVjdCkgPT4ge1xyXG4gICAgICBjb25zdCByZWFkZXIgPSBuZXcgRmlsZVJlYWRlcigpO1xyXG5cclxuICAgICAgcmVhZGVyLm9ubG9hZCA9IChldmVudDogYW55KSA9PiB7XHJcbiAgICAgICAgcmVzb2x2ZShldmVudC50YXJnZXQucmVzdWx0KTtcclxuICAgICAgfTtcclxuXHJcbiAgICAgIHJlYWRlci5vbmVycm9yID0gKGV2ZW50OiBhbnkpID0+IHtcclxuICAgICAgICByZWplY3QoZXZlbnQudGFyZ2V0LmVycm9yKTtcclxuICAgICAgfTtcclxuXHJcbiAgICAgIHJlYWRlci5yZWFkQXNBcnJheUJ1ZmZlcihmaWxlKTtcclxuICAgIH0pO1xyXG4gIH1cclxufSIsIjxpb24taGVhZGVyIFt0cmFuc2x1Y2VudF09XCJ0cnVlXCI+XHJcbiAgPGlvbi10b29sYmFyPlxyXG4gICAgPG5nLWNvbnRhaW5lciBbbmdUZW1wbGF0ZU91dGxldF09XCJoZWFkZXJcIj48L25nLWNvbnRhaW5lcj5cclxuICA8L2lvbi10b29sYmFyPlxyXG4gIDxuZy1jb250YWluZXIgW25nVGVtcGxhdGVPdXRsZXRdPVwic2VhcmNoXCI+PC9uZy1jb250YWluZXI+XHJcbjwvaW9uLWhlYWRlcj5cclxuXHJcbjxuZy10ZW1wbGF0ZSAjaGVhZGVyPlxyXG4gIDxpb24tdGl0bGUgY2xhc3M9XCJpb24tdGV4dC1sZWZ0XCI+e3twcm9wcy5sYWJlbH19PC9pb24tdGl0bGU+XHJcblxyXG4gIDxpb24tYnV0dG9uIHNsb3Q9XCJlbmRcIiAoY2xpY2spPVwiZXhwb3J0RGF0YSgpXCIgZmlsbD1cImNsZWFyXCIgW2Rpc2FibGVkXT1cInByb3BzLmRpc2FibGVkXCIgKm5nSWY9XCJleHBvcnREYXRhUHJvcFwiPlxyXG4gICAgPGlvbi1pY29uIG5hbWU9XCJjbG91ZC1kb3dubG9hZC1vdXRsaW5lXCI+PC9pb24taWNvbj5cclxuICA8L2lvbi1idXR0b24+XHJcblxyXG4gIDxpb24tYnV0dG9uIHNsb3Q9XCJlbmRcIiAoY2xpY2spPVwiaW1wb3J0RGF0YSgpXCIgZmlsbD1cImNsZWFyXCIgW2Rpc2FibGVkXT1cInByb3BzLmRpc2FibGVkXCIgKm5nSWY9XCJpbXBvcnREYXRhUHJvcFwiPlxyXG4gICAgPGlvbi1pY29uIG5hbWU9XCJjbG91ZC11cGxvYWQtb3V0bGluZVwiPjwvaW9uLWljb24+XHJcbiAgPC9pb24tYnV0dG9uPlxyXG4gIDxpbnB1dCAjZmlsZUlucHV0IHR5cGU9XCJmaWxlXCIgc3R5bGU9XCJkaXNwbGF5OiBub25lXCIgYWNjZXB0PVwiLnhsc3gsLnhscywuY3N2XCIgKGNoYW5nZSk9XCJoYW5kbGVJbXBvcnRGaWxlKCRldmVudClcIj5cclxuXHJcbiAgPGlvbi1idXR0b24gc2xvdD1cImVuZFwiIChjbGljayk9XCJhZGQoKVwiIGZpbGw9XCJjbGVhclwiIFtkaXNhYmxlZF09XCJwcm9wcy5kaXNhYmxlZFwiPlxyXG4gICAgPGlvbi1pY29uIHNpemU9XCJsYXJnZVwiIG5hbWU9XCJhZGRcIj48L2lvbi1pY29uPlxyXG4gIDwvaW9uLWJ1dHRvbj5cclxuPC9uZy10ZW1wbGF0ZT5cclxuXHJcbjxuZ3gtZGF0YXRhYmxlICN0YWJsZSBjbGFzcz1cIm1hdGVyaWFsIGZ1bGxzY3JlZW4gcmxzLXNlcnZlci1zY3JvbGxpbmdcIiBbcm93c109XCJtb2RlbFwiIFtjb2x1bW5zXT1cInByb3BzWydjb2x1bW5zJ11cIiBbY29sdW1uTW9kZV09XCJwcm9wc1snY29sdW1uTW9kZSddXCJcclxuICBbcm93SGVpZ2h0XT1cInByb3BzWydyb3dIZWlnaHQnXVwiIFtoZWFkZXJIZWlnaHRdPVwicHJvcHNbJ2hlYWRlckhlaWdodCddXCIgW2Zvb3RlckhlaWdodF09XCJwcm9wc1snZm9vdGVySGVpZ2h0J11cIiBbbGltaXRdPVwicHJvcHNbJ2xpbWl0J11cIlxyXG4gIFtzY3JvbGxiYXJIXT1cInByb3BzWydzY3JvbGxiYXJIJ11cIiBbcmVvcmRlcmFibGVdPVwicHJvcHNbJ3Jlb3JkZXJhYmxlJ11cIiBbZXh0ZXJuYWxTb3J0aW5nXT1cInRydWVcIj5cclxuICA8bmctdGVtcGxhdGUgI2RlZmF1bHRDb2x1bW4gbmd4LWRhdGF0YWJsZS1jZWxsLXRlbXBsYXRlIGxldC1yb3dJbmRleD1cInJvd0luZGV4XCIgbGV0LXZhbHVlPVwidmFsdWVcIiBsZXQtcm93PVwicm93XCJcclxuICAgIGxldC1jb2x1bW49XCJjb2x1bW5cIj5cclxuICAgIDxmb3JtbHktZmllbGQgICBjbGFzcz1cImZvcm1seS1pb24tbGlzdC1pdGVtXCIgIFtmaWVsZF09XCJnZXRGaWVsZChmaWVsZCwgY29sdW1uLCByb3dJbmRleClcIj48L2Zvcm1seS1maWVsZD5cclxuICA8L25nLXRlbXBsYXRlPlxyXG48L25neC1kYXRhdGFibGU+XHJcblxyXG48bmctdGVtcGxhdGUgI2FjdGlvbnNUbXBsIGxldC1yb3c9XCJyb3dcIiBsZXQtdmFsdWU9XCJ2YWx1ZVwiICBsZXQtcm93SW5kZXg9XCJyb3dJbmRleFwiPlxyXG4gIDxpb24tYnV0dG9uIHN0eWxlPVwiaGVpZ2h0OiAxMDAlO1wiIGZpbGw9XCJjbGVhclwiW2Rpc2FibGVkXT1cInByb3BzLmRpc2FibGVkXCIgKGNsaWNrKT0ncmVtb3ZlKHJvd0luZGV4KSc+XHJcbiAgICA8aW9uLWljb24gY29sb3I9XCJkYW5nZXJcIiBzbG90PVwiaWNvbi1vbmx5XCIgbmFtZT1cInRyYXNoXCIgKGNsaWNrKT0ncmVtb3ZlKHJvd0luZGV4KSc+PC9pb24taWNvbj5cclxuICA8L2lvbi1idXR0b24+XHJcbjwvbmctdGVtcGxhdGU+XHJcblxyXG48bmctdGVtcGxhdGUgI3NlYXJjaD5cclxuICA8aW9uLXRvb2xiYXIgKm5nSWY9XCJzaG93U2VyYWNoXCI+XHJcbiAgICA8aW9uLXNlYXJjaGJhciBbZGVib3VuY2VdPVwiMTAwMFwiIChpb25DaGFuZ2UpPVwiaGFuZGxlQ2hhbmdlKCRldmVudClcIj48L2lvbi1zZWFyY2hiYXI+XHJcbiAgPC9pb24tdG9vbGJhcj5cclxuPC9uZy10ZW1wbGF0ZT4iXX0=
|
@@ -9,4 +9,4 @@ export function fieldMatchValidator(control) {
|
|
9
9
|
}
|
10
10
|
return { fieldMatch: { message: 'Fields.Not.Matching' } };
|
11
11
|
}
|
12
|
-
//# sourceMappingURL=data:application/json;base64,
|
12
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibXVzdC1tYXRjaC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Jvc29mdGxhYi9pb25pYy9zcmMvbGliL3ZhbGlkYXRvcnMvbXVzdC1tYXRjaC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxNQUFNLFVBQVUsbUJBQW1CLENBQUMsT0FBd0I7SUFDeEQsTUFBTSxFQUFFLFFBQVEsRUFBRSxlQUFlLEVBQUUsR0FBRyxPQUFPLENBQUMsS0FBSyxDQUFDO0lBRXBELDJEQUEyRDtJQUMzRCxJQUFJLENBQUMsZUFBZSxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDaEMsT0FBTyxJQUFJLENBQUM7SUFDaEIsQ0FBQztJQUVELElBQUksZUFBZSxLQUFLLFFBQVEsRUFBRSxDQUFDO1FBQy9CLE9BQU8sSUFBSSxDQUFDO0lBQ2hCLENBQUM7SUFFRCxPQUFPLEVBQUUsVUFBVSxFQUFFLEVBQUUsT0FBTyxFQUFFLHFCQUFxQixFQUFFLEVBQUUsQ0FBQztBQUM5RCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWJzdHJhY3RDb250cm9sIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIGZpZWxkTWF0Y2hWYWxpZGF0b3IoY29udHJvbDogQWJzdHJhY3RDb250cm9sKSB7XHJcbiAgICBjb25zdCB7IHBhc3N3b3JkLCBjb25maXJtUGFzc3dvcmQgfSA9IGNvbnRyb2wudmFsdWU7XHJcblxyXG4gICAgLy8gYXZvaWQgZGlzcGxheWluZyB0aGUgbWVzc2FnZSBlcnJvciB3aGVuIHZhbHVlcyBhcmUgZW1wdHlcclxuICAgIGlmICghY29uZmlybVBhc3N3b3JkIHx8ICFwYXNzd29yZCkge1xyXG4gICAgICAgIHJldHVybiBudWxsO1xyXG4gICAgfVxyXG5cclxuICAgIGlmIChjb25maXJtUGFzc3dvcmQgPT09IHBhc3N3b3JkKSB7XHJcbiAgICAgICAgcmV0dXJuIG51bGw7XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIHsgZmllbGRNYXRjaDogeyBtZXNzYWdlOiAnRmllbGRzLk5vdC5NYXRjaGluZycgfSB9O1xyXG59Il19
|
@@ -4,8 +4,8 @@ import { WrappersModule } from './wrappers.module';
|
|
4
4
|
import * as i0 from "@angular/core";
|
5
5
|
import * as i1 from "@ionic/angular";
|
6
6
|
export class AccordionWrapperComponent extends FieldWrapper {
|
7
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
8
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "
|
7
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: AccordionWrapperComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
8
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.1.2", type: AccordionWrapperComponent, isStandalone: true, selector: "formly-accordion-panel", usesInheritance: true, ngImport: i0, template: `
|
9
9
|
|
10
10
|
<ion-accordion-group [value]="['first']">
|
11
11
|
<ion-accordion value="first">
|
@@ -22,7 +22,7 @@ export class AccordionWrapperComponent extends FieldWrapper {
|
|
22
22
|
|
23
23
|
`, isInline: true, dependencies: [{ kind: "ngmodule", type: WrappersModule }, { kind: "component", type: i1.IonAccordion, selector: "ion-accordion", inputs: ["disabled", "mode", "readonly", "toggleIcon", "toggleIconSlot", "value"] }, { kind: "component", type: i1.IonAccordionGroup, selector: "ion-accordion-group", inputs: ["animated", "disabled", "expand", "mode", "multiple", "readonly", "value"] }, { kind: "component", type: i1.IonCardTitle, selector: "ion-card-title", inputs: ["color", "mode"] }, { kind: "component", type: i1.IonItem, selector: "ion-item", inputs: ["button", "color", "counter", "counterFormatter", "detail", "detailIcon", "disabled", "download", "fill", "href", "lines", "mode", "rel", "routerAnimation", "routerDirection", "shape", "target", "type"] }] }); }
|
24
24
|
}
|
25
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
25
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: AccordionWrapperComponent, decorators: [{
|
26
26
|
type: Component,
|
27
27
|
args: [{
|
28
28
|
standalone: true,
|
@@ -47,4 +47,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.10", ngImpo
|
|
47
47
|
imports: [WrappersModule]
|
48
48
|
}]
|
49
49
|
}] });
|
50
|
-
//# sourceMappingURL=data:application/json;base64,
|
50
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWNjb3JkaW9uLXdyYXBwZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcm9zb2Z0bGFiL2lvbmljL3NyYy9saWIvd3JhcHBlcnMvYWNjb3JkaW9uLXdyYXBwZXIuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDMUMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ2hELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQzs7O0FBd0JuRCxNQUFNLE9BQU8seUJBQTBCLFNBQVEsWUFBWTs4R0FBOUMseUJBQXlCO2tHQUF6Qix5QkFBeUIseUdBbEIxQjs7Ozs7Ozs7Ozs7Ozs7O0dBZVQsMkRBQ1MsY0FBYzs7MkZBRWIseUJBQXlCO2tCQXRCckMsU0FBUzttQkFBQztvQkFDVCxVQUFVLEVBQUUsSUFBSTtvQkFDaEIsOERBQThEO29CQUM5RCxRQUFRLEVBQUUsd0JBQXdCO29CQUNsQyxRQUFRLEVBQUU7Ozs7Ozs7Ozs7Ozs7OztHQWVUO29CQUNELE9BQU8sRUFBRSxDQUFDLGNBQWMsQ0FBQztpQkFDMUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgRmllbGRXcmFwcGVyIH0gZnJvbSAnQG5neC1mb3JtbHkvY29yZSc7XHJcbmltcG9ydCB7IFdyYXBwZXJzTW9kdWxlIH0gZnJvbSAnLi93cmFwcGVycy5tb2R1bGUnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcclxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L2NvbXBvbmVudC1zZWxlY3RvclxyXG4gIHNlbGVjdG9yOiAnZm9ybWx5LWFjY29yZGlvbi1wYW5lbCcsXHJcbiAgdGVtcGxhdGU6IGBcclxuXHJcbiAgPGlvbi1hY2NvcmRpb24tZ3JvdXAgIFt2YWx1ZV09XCJbJ2ZpcnN0J11cIj5cclxuICAgIDxpb24tYWNjb3JkaW9uIHZhbHVlPVwiZmlyc3RcIj5cclxuICAgICAgICA8aW9uLWl0ZW0gc2xvdD1cImhlYWRlclwiPlxyXG4gICAgICAgICAgICA8aW9uLWNhcmQtdGl0bGU+e3sgcHJvcHMubGFiZWx9fTwvaW9uLWNhcmQtdGl0bGU+XHJcbiAgICAgICAgPC9pb24taXRlbT5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiaW9uLXBhZGRpbmdcIiBzbG90PVwiY29udGVudFwiPlxyXG4gICAgICAgICAgICA8bmctY29udGFpbmVyICNmaWVsZENvbXBvbmVudD48L25nLWNvbnRhaW5lcj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgIDwvaW9uLWFjY29yZGlvbj5cclxuICA8L2lvbi1hY2NvcmRpb24tZ3JvdXA+XHJcblxyXG5cclxuICAgICAgICAgICAgXHJcbiAgYCxcclxuICBpbXBvcnRzOiBbV3JhcHBlcnNNb2R1bGVdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBBY2NvcmRpb25XcmFwcGVyQ29tcG9uZW50IGV4dGVuZHMgRmllbGRXcmFwcGVyIHsgfVxyXG4iXX0=
|
@@ -4,34 +4,34 @@ import { WrappersModule } from './wrappers.module';
|
|
4
4
|
import * as i0 from "@angular/core";
|
5
5
|
import * as i1 from "@ionic/angular";
|
6
6
|
export class PanelWrapperComponent extends FieldWrapper {
|
7
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
8
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "
|
9
|
-
<ion-card>
|
10
|
-
<ion-card-header>
|
11
|
-
<ion-card-title>{{ props.label}}</ion-card-title>
|
12
|
-
</ion-card-header>
|
13
|
-
<ion-card-content>
|
14
|
-
<ng-container #fieldComponent></ng-container>
|
15
|
-
</ion-card-content>
|
16
|
-
</ion-card>
|
7
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: PanelWrapperComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
8
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.1.2", type: PanelWrapperComponent, isStandalone: true, selector: "formly-wrapper-panel", usesInheritance: true, ngImport: i0, template: `
|
9
|
+
<ion-card>
|
10
|
+
<ion-card-header>
|
11
|
+
<ion-card-title>{{ props.label}}</ion-card-title>
|
12
|
+
</ion-card-header>
|
13
|
+
<ion-card-content>
|
14
|
+
<ng-container #fieldComponent></ng-container>
|
15
|
+
</ion-card-content>
|
16
|
+
</ion-card>
|
17
17
|
`, isInline: true, dependencies: [{ kind: "ngmodule", type: WrappersModule }, { kind: "component", type: i1.IonCard, selector: "ion-card", inputs: ["button", "color", "disabled", "download", "href", "mode", "rel", "routerAnimation", "routerDirection", "target", "type"] }, { kind: "component", type: i1.IonCardContent, selector: "ion-card-content", inputs: ["mode"] }, { kind: "component", type: i1.IonCardHeader, selector: "ion-card-header", inputs: ["color", "mode", "translucent"] }, { kind: "component", type: i1.IonCardTitle, selector: "ion-card-title", inputs: ["color", "mode"] }] }); }
|
18
18
|
}
|
19
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
19
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: PanelWrapperComponent, decorators: [{
|
20
20
|
type: Component,
|
21
21
|
args: [{
|
22
22
|
standalone: true,
|
23
23
|
selector: 'formly-wrapper-panel',
|
24
|
-
template: `
|
25
|
-
<ion-card>
|
26
|
-
<ion-card-header>
|
27
|
-
<ion-card-title>{{ props.label}}</ion-card-title>
|
28
|
-
</ion-card-header>
|
29
|
-
<ion-card-content>
|
30
|
-
<ng-container #fieldComponent></ng-container>
|
31
|
-
</ion-card-content>
|
32
|
-
</ion-card>
|
24
|
+
template: `
|
25
|
+
<ion-card>
|
26
|
+
<ion-card-header>
|
27
|
+
<ion-card-title>{{ props.label}}</ion-card-title>
|
28
|
+
</ion-card-header>
|
29
|
+
<ion-card-content>
|
30
|
+
<ng-container #fieldComponent></ng-container>
|
31
|
+
</ion-card-content>
|
32
|
+
</ion-card>
|
33
33
|
`,
|
34
34
|
imports: [WrappersModule]
|
35
35
|
}]
|
36
36
|
}] });
|
37
|
-
//# sourceMappingURL=data:application/json;base64,
|
37
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFuZWwtd3JhcHBlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9yb3NvZnRsYWIvaW9uaWMvc3JjL2xpYi93cmFwcGVycy9wYW5lbC13cmFwcGVyLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzFDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUNoRCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sbUJBQW1CLENBQUM7OztBQWlCbkQsTUFBTSxPQUFPLHFCQUFzQixTQUFRLFlBQVk7OEdBQTFDLHFCQUFxQjtrR0FBckIscUJBQXFCLHVHQVp0Qjs7Ozs7Ozs7O0dBU1QsMkRBQ1MsY0FBYzs7MkZBRWIscUJBQXFCO2tCQWZqQyxTQUFTO21CQUFDO29CQUNULFVBQVUsRUFBRSxJQUFJO29CQUNoQixRQUFRLEVBQUUsc0JBQXNCO29CQUNoQyxRQUFRLEVBQUU7Ozs7Ozs7OztHQVNUO29CQUNELE9BQU8sRUFBRSxDQUFDLGNBQWMsQ0FBQztpQkFDMUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgRmllbGRXcmFwcGVyIH0gZnJvbSAnQG5neC1mb3JtbHkvY29yZSc7XHJcbmltcG9ydCB7IFdyYXBwZXJzTW9kdWxlIH0gZnJvbSAnLi93cmFwcGVycy5tb2R1bGUnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcclxuICBzZWxlY3RvcjogJ2Zvcm1seS13cmFwcGVyLXBhbmVsJyxcclxuICB0ZW1wbGF0ZTogYFxyXG4gICAgPGlvbi1jYXJkPlxyXG4gICAgICA8aW9uLWNhcmQtaGVhZGVyPlxyXG4gICAgICAgIDxpb24tY2FyZC10aXRsZT57eyBwcm9wcy5sYWJlbH19PC9pb24tY2FyZC10aXRsZT5cclxuICAgICAgPC9pb24tY2FyZC1oZWFkZXI+XHJcbiAgICAgIDxpb24tY2FyZC1jb250ZW50PlxyXG4gICAgICAgIDxuZy1jb250YWluZXIgI2ZpZWxkQ29tcG9uZW50PjwvbmctY29udGFpbmVyPlxyXG4gICAgICA8L2lvbi1jYXJkLWNvbnRlbnQ+XHJcbiAgICA8L2lvbi1jYXJkPlxyXG4gIGAsXHJcbiAgaW1wb3J0czogW1dyYXBwZXJzTW9kdWxlXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgUGFuZWxXcmFwcGVyQ29tcG9uZW50IGV4dGVuZHMgRmllbGRXcmFwcGVyIHsgfVxyXG4iXX0=
|
@@ -17,8 +17,8 @@ const COMMON_MODULES = [
|
|
17
17
|
NgxDatatableModule
|
18
18
|
];
|
19
19
|
export class WrappersModule {
|
20
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
21
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "
|
20
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: WrappersModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
21
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.1.2", ngImport: i0, type: WrappersModule, imports: [CommonModule,
|
22
22
|
IonicModule,
|
23
23
|
ReactiveFormsModule,
|
24
24
|
FormlyIonicModule,
|
@@ -28,7 +28,7 @@ export class WrappersModule {
|
|
28
28
|
FormlyIonicModule,
|
29
29
|
NgxDatatableModule, FormlyModule,
|
30
30
|
TranslateModule] }); }
|
31
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "
|
31
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: WrappersModule, providers: [
|
32
32
|
{ provide: FORMLY_CONFIG, multi: true, useFactory: registerTranslateExtension, deps: [TranslateService] },
|
33
33
|
SmActionService
|
34
34
|
], imports: [COMMON_MODULES, TranslateModule, CommonModule,
|
@@ -38,7 +38,7 @@ export class WrappersModule {
|
|
38
38
|
NgxDatatableModule, FormlyModule,
|
39
39
|
TranslateModule] }); }
|
40
40
|
}
|
41
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
41
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: WrappersModule, decorators: [{
|
42
42
|
type: NgModule,
|
43
43
|
args: [{
|
44
44
|
imports: [
|
@@ -56,4 +56,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.10", ngImpo
|
|
56
56
|
],
|
57
57
|
}]
|
58
58
|
}] });
|
59
|
-
//# sourceMappingURL=data:application/json;base64,
|
59
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid3JhcHBlcnMubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcm9zb2Z0bGFiL2lvbmljL3NyYy9saWIvd3JhcHBlcnMvd3JhcHBlcnMubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3JELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM3QyxPQUFPLEVBQUUsYUFBYSxFQUFFLFlBQVksRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQy9ELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ3RELE9BQU8sRUFBRSxlQUFlLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN4RSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDMUQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDN0QsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7O0FBRXBFLE1BQU0sY0FBYyxHQUFHO0lBQ3JCLFlBQVk7SUFDWixXQUFXO0lBQ1gsbUJBQW1CO0lBQ25CLGlCQUFpQjtJQUNqQixrQkFBa0I7Q0FDbkIsQ0FBQztBQWlCRixNQUFNLE9BQU8sY0FBYzs4R0FBZCxjQUFjOytHQUFkLGNBQWMsWUF0QnpCLFlBQVk7WUFDWixXQUFXO1lBQ1gsbUJBQW1CO1lBQ25CLGlCQUFpQjtZQUNqQixrQkFBa0IsRUFNaEIsZUFBZSxhQVZqQixZQUFZO1lBQ1osV0FBVztZQUNYLG1CQUFtQjtZQUNuQixpQkFBaUI7WUFDakIsa0JBQWtCLEVBY2hCLFlBQVk7WUFDWixlQUFlOytHQUdOLGNBQWMsYUFWZDtZQUNULEVBQUUsT0FBTyxFQUFFLGFBQWEsRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRSwwQkFBMEIsRUFBRSxJQUFJLEVBQUUsQ0FBQyxnQkFBZ0IsQ0FBQyxFQUFFO1lBQ3pHLGVBQWU7U0FDaEIsWUFOSSxjQUFjLEVBQ2pCLGVBQWUsRUFWakIsWUFBWTtZQUNaLFdBQVc7WUFDWCxtQkFBbUI7WUFDbkIsaUJBQWlCO1lBQ2pCLGtCQUFrQixFQWNoQixZQUFZO1lBQ1osZUFBZTs7MkZBR04sY0FBYztrQkFmMUIsUUFBUTttQkFBQztvQkFDUixPQUFPLEVBQUU7d0JBQ1AsR0FBRyxjQUFjO3dCQUNqQixlQUFlO3FCQUNoQjtvQkFDRCxTQUFTLEVBQUU7d0JBQ1QsRUFBRSxPQUFPLEVBQUUsYUFBYSxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFLDBCQUEwQixFQUFFLElBQUksRUFBRSxDQUFDLGdCQUFnQixDQUFDLEVBQUU7d0JBQ3pHLGVBQWU7cUJBQ2hCO29CQUNELE9BQU8sRUFBRTt3QkFDUCxHQUFHLGNBQWM7d0JBQ2pCLFlBQVk7d0JBQ1osZUFBZTtxQkFDaEI7aUJBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBSZWFjdGl2ZUZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBJb25pY01vZHVsZSB9IGZyb20gJ0Bpb25pYy9hbmd1bGFyJztcclxuaW1wb3J0IHsgRk9STUxZX0NPTkZJRywgRm9ybWx5TW9kdWxlIH0gZnJvbSAnQG5neC1mb3JtbHkvY29yZSc7XHJcbmltcG9ydCB7IEZvcm1seUlvbmljTW9kdWxlIH0gZnJvbSAnQG5neC1mb3JtbHkvaW9uaWMnO1xyXG5pbXBvcnQgeyBUcmFuc2xhdGVNb2R1bGUsIFRyYW5zbGF0ZVNlcnZpY2UgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcclxuaW1wb3J0IHsgU21BY3Rpb25TZXJ2aWNlIH0gZnJvbSAnQHJvc29mdGxhYi9zdGF0ZW1hY2hpbmUnO1xyXG5pbXBvcnQgeyBOZ3hEYXRhdGFibGVNb2R1bGUgfSBmcm9tICdAc3dpbWxhbmUvbmd4LWRhdGF0YWJsZSc7XHJcbmltcG9ydCB7IHJlZ2lzdGVyVHJhbnNsYXRlRXh0ZW5zaW9uIH0gZnJvbSAnLi4vdHJhbnNsYXRlLmV4dGVuc2lvbic7XHJcblxyXG5jb25zdCBDT01NT05fTU9EVUxFUyA9IFtcclxuICBDb21tb25Nb2R1bGUsXHJcbiAgSW9uaWNNb2R1bGUsXHJcbiAgUmVhY3RpdmVGb3Jtc01vZHVsZSxcclxuICBGb3JtbHlJb25pY01vZHVsZSxcclxuICBOZ3hEYXRhdGFibGVNb2R1bGVcclxuXTtcclxuXHJcbkBOZ01vZHVsZSh7XHJcbiAgaW1wb3J0czogW1xyXG4gICAgLi4uQ09NTU9OX01PRFVMRVMsXHJcbiAgICBUcmFuc2xhdGVNb2R1bGVcclxuICBdLFxyXG4gIHByb3ZpZGVyczogW1xyXG4gICAgeyBwcm92aWRlOiBGT1JNTFlfQ09ORklHLCBtdWx0aTogdHJ1ZSwgdXNlRmFjdG9yeTogcmVnaXN0ZXJUcmFuc2xhdGVFeHRlbnNpb24sIGRlcHM6IFtUcmFuc2xhdGVTZXJ2aWNlXSB9LFxyXG4gICAgU21BY3Rpb25TZXJ2aWNlXHJcbiAgXSxcclxuICBleHBvcnRzOiBbXHJcbiAgICAuLi5DT01NT05fTU9EVUxFUyxcclxuICAgIEZvcm1seU1vZHVsZSxcclxuICAgIFRyYW5zbGF0ZU1vZHVsZVxyXG4gIF0sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBXcmFwcGVyc01vZHVsZSB7IH1cclxuIl19
|
package/esm2022/public-api.mjs
CHANGED
@@ -9,4 +9,4 @@ export * from './lib/translate.extension';
|
|
9
9
|
export * from './lib/types';
|
10
10
|
export * from './lib/validators';
|
11
11
|
export * from './lib/wrappers';
|
12
|
-
//# sourceMappingURL=data:application/json;base64,
|
12
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL3Jvc29mdGxhYi9pb25pYy9zcmMvcHVibGljLWFwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsa0JBQWtCLENBQUM7QUFDakMsY0FBYyxrQkFBa0IsQ0FBQztBQUNqQyxjQUFjLGtCQUFrQixDQUFDO0FBQ2pDLGNBQWMsNEJBQTRCLENBQUM7QUFDM0MsY0FBYywyQkFBMkIsQ0FBQztBQUMxQyxjQUFjLGFBQWEsQ0FBQztBQUM1QixjQUFjLGtCQUFrQixDQUFDO0FBQ2pDLGNBQWMsZ0JBQWdCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxyXG4gKiBQdWJsaWMgQVBJIFN1cmZhY2Ugb2YgaW9uaWNcclxuICovXHJcblxyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvZGVjb3JhdG9ycyc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2ludGVyZmFjZXMnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9pb25pYy1kaWFsb2cuc2VydmljZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3RyYW5zbGF0ZS5leHRlbnNpb24nO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi90eXBlcyc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3ZhbGlkYXRvcnMnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi93cmFwcGVycyc7XHJcblxyXG4iXX0=
|