@elite.framework/ng.ui.core 1.0.82 → 1.0.84
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/fesm2022/elite.framework-ng.ui.core-base-crud.mjs +1 -0
- package/fesm2022/elite.framework-ng.ui.core-base-crud.mjs.map +1 -1
- package/fesm2022/elite.framework-ng.ui.core-formly-ui-all.mjs +9 -1
- package/fesm2022/elite.framework-ng.ui.core-formly-ui-all.mjs.map +1 -1
- package/fesm2022/elite.framework-ng.ui.core-generic-search-advanced.mjs +849 -898
- package/fesm2022/elite.framework-ng.ui.core-generic-search-advanced.mjs.map +1 -1
- package/fesm2022/elite.framework-ng.ui.core-generic-table.mjs +2 -2
- package/fesm2022/elite.framework-ng.ui.core-generic-table.mjs.map +1 -1
- package/package.json +27 -27
|
@@ -300,6 +300,7 @@ class BaseCrud {
|
|
|
300
300
|
delete mergedProps['disabled'];
|
|
301
301
|
delete mergedProps['required'];
|
|
302
302
|
delete mergedProps['loadDefault'];
|
|
303
|
+
delete mergedProps['canAdd'];
|
|
303
304
|
return [{
|
|
304
305
|
type: field.type,
|
|
305
306
|
key: field.key, // always set key for table rendering
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"elite.framework-ng.ui.core-base-crud.mjs","sources":["../tmp-esm2022/base-crud/lib/base-crud-module.js","../tmp-esm2022/base-crud/lib/base-crud.js","../tmp-esm2022/base-crud/elite.framework-ng.ui.core-base-crud.js"],"sourcesContent":["import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport * as i0 from \"@angular/core\";\nexport class BaseCrudModule {\n static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.8\", ngImport: i0, type: BaseCrudModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });\n static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: \"14.0.0\", version: \"20.1.8\", ngImport: i0, type: BaseCrudModule, imports: [CommonModule] });\n static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: \"12.0.0\", version: \"20.1.8\", ngImport: i0, type: BaseCrudModule, imports: [CommonModule] });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.8\", ngImport: i0, type: BaseCrudModule, decorators: [{\n type: NgModule,\n args: [{\n imports: [CommonModule],\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS1jcnVkLW1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbmcudWkuY29yZS9iYXNlLWNydWQvc3JjL2xpYi9iYXNlLWNydWQtbW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDOztBQUsvQyxNQUFNLE9BQU8sY0FBYzt1R0FBZCxjQUFjO3dHQUFkLGNBQWMsWUFGZixZQUFZO3dHQUVYLGNBQWMsWUFGZixZQUFZOzsyRkFFWCxjQUFjO2tCQUgxQixRQUFRO21CQUFDO29CQUNSLE9BQU8sRUFBRSxDQUFDLFlBQVksQ0FBQztpQkFDeEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcblxuQE5nTW9kdWxlKHtcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZV0sXG59KVxuZXhwb3J0IGNsYXNzIEJhc2VDcnVkTW9kdWxlIHt9XG4iXX0=","import { Directive, inject } from '@angular/core';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { IdParserService, SwalService } from '@elite.framework/ng.core/services';\nimport { DeactivationReasonFormComponent } from '@elite.framework/ng.ui.core/deactivation-reason';\nimport { firstValueFrom } from 'rxjs';\nimport * as i0 from \"@angular/core\";\nexport class BaseCrud {\n list = [];\n paginator = true;\n canLoad = true;\n loading = false;\n errorMsg = '';\n first = 0;\n rows = 10;\n totalRecords = 0;\n searchGlobal = '';\n sort;\n pageFilters = {};\n currentFilters = {};\n mode = '';\n scrollHeight = '400px';\n swalService = inject(SwalService);\n dialogRef;\n // abstract idField: keyof T;\n dialogVisible = false;\n drawerVisible = false;\n selectedItem = null;\n defaultModel = null;\n // selectedItem: T | any = {};\n isViewMode = false;\n isEditMode = false;\n displayMode = 'drawer';\n idParser = inject(IdParserService);\n router = inject(Router);\n route = inject(ActivatedRoute);\n loadPage(pageIndex, pageSize) {\n if (this.canLoad) {\n this.loading = true;\n const filters = {\n maxResultCount: pageSize,\n skipCount: pageIndex,\n sorting: this.sort,\n ...this.currentFilters,\n ...this.pageFilters,\n ...(this.searchGlobal ? { filter: this.searchGlobal } : {}),\n };\n //\n //\n this.service.getList(filters)\n .subscribe({\n next: (res) => {\n //\n this.list = res.items;\n this.totalRecords = res.totalCount;\n this.loading = false;\n },\n error: (err) => {\n this.errorMsg = err.error?.message || err.message || 'خطأ في التحميل';\n this.loading = false;\n }\n });\n }\n }\n onSearch(filters) {\n //\n if (filters && typeof filters === 'object' && !Array.isArray(filters)) {\n this.pageFilters = filters;\n }\n else {\n this.searchGlobal = filters;\n }\n this.loadPage(0, 10);\n }\n onPageChange(event) {\n // فك المتغيّرات مع قيمة افتراضية لفلاتر\n const { first = this.first, rows = this.rows, sort = this.sort, filters = {} } = event;\n this.first = first;\n this.rows = rows;\n this.sort = sort;\n // const pageIndex = Math.floor(first / rows);\n const skipCount = first;\n const pageIndex = skipCount;\n // الوصول للفلتر العام عبر الصيغة المربعة\n const globalValue = filters['global'];\n this.searchGlobal = typeof globalValue === 'string' ? globalValue : '';\n this.loadPage(pageIndex, rows);\n }\n openEditor(item, mode) {\n this.mode = mode;\n this.selectedItem = item ?? this.defaultModel ?? {};\n this.isEditMode = mode === 'edit';\n this.isViewMode = mode === 'view';\n // Auto-load details if edit or view and have ID\n const id = item?.[this.idField];\n if ((this.isEditMode || this.isViewMode) && id) {\n // this.loadDetail(id);\n // (async () => {\n // await this.loadDetail(id);\n // })();\n }\n // resolve displayMode (string or map)\n const modeConfig = typeof this.displayMode === 'string'\n ? this.displayMode\n : this.displayMode[mode] ?? 'drawer';\n switch (modeConfig) {\n case 'drawer':\n this.drawerVisible = true;\n break;\n case 'dialog':\n this.dialogVisible = true;\n break;\n case 'route':\n {\n const id = item ? item[this.idField] : 'new';\n if (mode === 'add') {\n this.router.navigate([mode], { relativeTo: this.route });\n }\n else {\n const commands = [id, mode];\n console.log('Commands:', commands);\n console.log('Current route:', this.route.snapshot.pathFromRoot.map(r => r.routeConfig?.path));\n const tree = this.router.createUrlTree(commands, { relativeTo: this.route });\n console.log('URL Tree:', tree.toString());\n this.router.navigate([id, mode], { relativeTo: this.route });\n }\n break;\n }\n }\n }\n loadDetail(id) {\n return firstValueFrom(this.service.get(id)).then(res => {\n this.selectedItem = res;\n });\n }\n visibleChange(value) {\n const modeConfig = typeof this.displayMode === 'string'\n ? this.displayMode\n : this.displayMode[this.mode] ?? 'drawer';\n if (modeConfig === 'dialog') {\n this.dialogVisible = value;\n }\n else if (modeConfig === 'drawer') {\n this.drawerVisible = value;\n }\n else {\n // route mode does not use drawer/dialog\n }\n }\n onTableAction(event) {\n switch (event.name) {\n case 'add':\n case 'edit':\n case 'view':\n this.openEditor(event.row, event.name);\n break;\n case 'delete':\n this.onDelete(event.row);\n break;\n case 'state':\n this.openDeactivationReason(event.row);\n break;\n }\n }\n openDrawer(item, mode) {\n this.mode = mode;\n // this.drawerVisible = !this.drawerVisible;\n if (item == null) {\n this.selectedItem = this.defaultModel || {};\n }\n else {\n this.selectedItem = item;\n }\n if (mode == 'edit') {\n this.drawerVisible = true;\n this.isEditMode = true;\n this.isViewMode = false;\n // this.isEditMode = item !=null ;\n }\n if (mode == 'add') {\n this.drawerVisible = true;\n this.isViewMode = false;\n this.isEditMode = false;\n }\n if (mode == 'view') {\n // this.drawerVisible = true;\n this.dialogVisible = true;\n this.isViewMode = true;\n this.isEditMode = false;\n }\n }\n openDeactivationReason(model) {\n this.selectedItem = model;\n if (this.selectedItem.isActive == true) {\n const ref = this.dialogService.open(DeactivationReasonFormComponent, {\n header: 'السبب (في حال تم إيقافه)',\n width: '30vw',\n data: { model: { ...model },\n fields: this.formFields,\n service: this.service,\n idField: this.idField },\n });\n ref.onClose.subscribe((result) => {\n if (result) {\n this.selectedItem.isActive = false;\n this.selectedItem.deactivationReason = result.deactivationReason;\n // Optionally: save model via API\n }\n });\n }\n else {\n this.selectedItem.isActive = true;\n this.selectedItem.deactivationReason = \"\";\n const id = this.idParser.parseIds(this.selectedItem, this.idField);\n // const id = (this.selectedItem as any)[this.idField] ;\n this.service.update(id, this.selectedItem).subscribe({\n next: () => { console.log(''); },\n error: (err) => {\n this.loading = false;\n }\n });\n }\n }\n onDelete(item) {\n // const id = item[this.idField];\n const id = this.idParser.parseIds(item, this.idField);\n this.swalService.confirm('تأكيد الحذف', 'هل تريد حذف هذا السجل فعلاً؟', 'نعم، احذف', 'إلغاء').then((result) => {\n if (result.isConfirmed) {\n this.service.delete(id).subscribe({\n next: () => {\n this.loadPage(0, this.rows);\n this.swalService.success('تم الحذف بنجاح');\n },\n error: (err) => {\n this.loading = false;\n }\n });\n }\n });\n }\n get columns() {\n const flattenFields = (fields) => {\n return fields.flatMap(field => {\n if (field.fieldGroup?.length)\n return flattenFields(field.fieldGroup);\n if (!field.props)\n return [];\n const tableConfig = field.props['table'] ?? {};\n const hideExpr = tableConfig.expressions?.hide;\n if (tableConfig.hidden === true || (typeof hideExpr === 'function' && hideExpr()))\n return [];\n const tableType = tableConfig.type ?? 'label-type';\n const mergedProps = { ...field.props, ...(tableConfig.props ?? {}) };\n const order = tableConfig.order ??\n tableConfig.props?.order ??\n mergedProps['order'];\n return [{\n type: tableType,\n key: field.key,\n props: mergedProps,\n expressions: tableConfig.expressions,\n order\n }];\n });\n };\n return flattenFields(this.formFields)\n .sort((a, b) => (a.order ?? Number.MAX_SAFE_INTEGER) - (b.order ?? Number.MAX_SAFE_INTEGER))\n .map(({ order, ...rest }) => rest);\n }\n get filters() {\n const flattenForFilter = (fields) => {\n return fields.flatMap(field => {\n if (field.fieldGroup?.length) {\n // Recursively handle nested panels/groups\n return flattenForFilter(field.fieldGroup);\n }\n // Skip fields with no props or filter.hidden === true\n if (!field.props /* || field.props['filter']?.hidden === true */) {\n return [];\n }\n // Merge base props with filter overrides\n const mergedProps = {\n ...field.props,\n ...field.props['filter']?.props,\n };\n // Remove disabled and required props\n delete mergedProps['disabled'];\n delete mergedProps['required'];\n delete mergedProps['loadDefault'];\n return [{\n type: field.type,\n key: field.key, // always set key for table rendering\n props: mergedProps,\n // expressions: field.props['filter']?.expressions // uncomment if needed\n }];\n });\n };\n return flattenForFilter(this.formFields);\n }\n static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.8\", ngImport: i0, type: BaseCrud, deps: [], target: i0.ɵɵFactoryTarget.Directive });\n static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"14.0.0\", version: \"20.1.8\", type: BaseCrud, isStandalone: true, ngImport: i0 });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.8\", ngImport: i0, type: BaseCrud, decorators: [{\n type: Directive\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS1jcnVkLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9uZy51aS5jb3JlL2Jhc2UtY3J1ZC9zcmMvbGliL2Jhc2UtY3J1ZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUdsRCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3pELE9BQU8sRUFBZSxlQUFlLEVBQUUsV0FBVyxFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFFOUYsT0FBTyxFQUFFLCtCQUErQixFQUFFLE1BQU0saURBQWlELENBQUM7QUFDbEcsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLE1BQU0sQ0FBQzs7QUFHdEMsTUFBTSxPQUFnQixRQUFRO0lBQzVCLElBQUksR0FBc0IsRUFBRSxDQUFDO0lBQzdCLFNBQVMsR0FBVSxJQUFJLENBQUM7SUFDeEIsT0FBTyxHQUFVLElBQUksQ0FBQztJQUN0QixPQUFPLEdBQVUsS0FBSyxDQUFDO0lBQ3ZCLFFBQVEsR0FBVSxFQUFFLENBQUM7SUFDckIsS0FBSyxHQUFhLENBQUMsQ0FBQztJQUNwQixJQUFJLEdBQWMsRUFBRSxDQUFDO0lBQ3JCLFlBQVksR0FBTSxDQUFDLENBQUM7SUFDcEIsWUFBWSxHQUFNLEVBQUUsQ0FBQztJQUNyQixJQUFJLENBQVU7SUFDZCxXQUFXLEdBQWUsRUFBRSxDQUFDO0lBQzdCLGNBQWMsR0FBZSxFQUFFLENBQUM7SUFDaEMsSUFBSSxHQUFFLEVBQUUsQ0FBQztJQUNULFlBQVksR0FBRSxPQUFPLENBQUM7SUFDZCxXQUFXLEdBQUcsTUFBTSxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBRWhDLFNBQVMsQ0FBb0I7SUFhdkMsNkJBQTZCO0lBQzdCLGFBQWEsR0FBRyxLQUFLLENBQUM7SUFDdEIsYUFBYSxHQUFHLEtBQUssQ0FBQztJQUN0QixZQUFZLEdBQVksSUFBSSxDQUFDO0lBQzdCLFlBQVksR0FBWSxJQUFJLENBQUM7SUFDN0IsOEJBQThCO0lBQzlCLFVBQVUsR0FBRyxLQUFLLENBQUM7SUFDbkIsVUFBVSxHQUFHLEtBQUssQ0FBQztJQUluQixXQUFXLEdBR1QsUUFBUSxDQUFDO0lBQ0wsUUFBUSxHQUFFLE1BQU0sQ0FBQyxlQUFlLENBQUMsQ0FBQztJQUNqQyxNQUFNLEdBQUUsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ3ZCLEtBQUssR0FBRyxNQUFNLENBQUMsY0FBYyxDQUFDLENBQUM7SUFFeEMsUUFBUSxDQUFDLFNBQWlCLEVBQUUsUUFBZ0I7UUFDeEMsSUFBRyxJQUFJLENBQUMsT0FBTyxFQUFDLENBQUM7WUFHakIsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUM7WUFDcEIsTUFBTSxPQUFPLEdBQWU7Z0JBQzFCLGNBQWMsRUFBQyxRQUFRO2dCQUN2QixTQUFTLEVBQUMsU0FBUztnQkFDbkIsT0FBTyxFQUFDLElBQUksQ0FBQyxJQUFJO2dCQUNuQixHQUFHLElBQUksQ0FBQyxjQUFjO2dCQUN0QixHQUFHLElBQUksQ0FBQyxXQUFXO2dCQUNuQixHQUFHLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsRUFBRSxNQUFNLEVBQUUsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7YUFDMUQsQ0FBQztZQUNGLEVBQUU7WUFDRixFQUFFO1lBQ0YsSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDO2lCQUMxQixTQUFTLENBQUM7Z0JBQ1QsSUFBSSxFQUFFLENBQUMsR0FBdUIsRUFBRSxFQUFFO29CQUNoQyxFQUFFO29CQUNGLElBQUksQ0FBQyxJQUFJLEdBQVcsR0FBRyxDQUFDLEtBQUssQ0FBQztvQkFDOUIsSUFBSSxDQUFDLFlBQVksR0FBRyxHQUFHLENBQUMsVUFBVSxDQUFDO29CQUNuQyxJQUFJLENBQUMsT0FBTyxHQUFRLEtBQUssQ0FBQztnQkFDNUIsQ0FBQztnQkFDRCxLQUFLLEVBQUUsQ0FBQyxHQUFPLEVBQUUsRUFBRTtvQkFDakIsSUFBSSxDQUFDLFFBQVEsR0FBTyxHQUFHLENBQUMsS0FBSyxFQUFFLE9BQU8sSUFBSSxHQUFHLENBQUMsT0FBTyxJQUFJLGdCQUFnQixDQUFDO29CQUMxRSxJQUFJLENBQUMsT0FBTyxHQUFRLEtBQUssQ0FBQztnQkFDNUIsQ0FBQzthQUNGLENBQUMsQ0FBQztRQUNMLENBQUM7SUFDTCxDQUFDO0lBRUQsUUFBUSxDQUFDLE9BQWE7UUFDcEIsRUFBRTtRQUNGLElBQUksT0FBTyxJQUFJLE9BQU8sT0FBTyxLQUFLLFFBQVEsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQztZQUN0RSxJQUFJLENBQUMsV0FBVyxHQUFHLE9BQU8sQ0FBQztRQUM3QixDQUFDO2FBQU0sQ0FBQztZQUNOLElBQUksQ0FBQyxZQUFZLEdBQUcsT0FBTyxDQUFDO1FBQzlCLENBQUM7UUFFRCxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQztJQUN2QixDQUFDO0lBR0QsWUFBWSxDQUFDLEtBQXNGO1FBQ2pHLHdDQUF3QztRQUN4QyxNQUFNLEVBQ0osS0FBSyxHQUFLLElBQUksQ0FBQyxLQUFLLEVBQ3BCLElBQUksR0FBTSxJQUFJLENBQUMsSUFBSSxFQUNuQixJQUFJLEdBQU0sSUFBSSxDQUFDLElBQUksRUFDbkIsT0FBTyxHQUFHLEVBQUUsRUFDYixHQUFHLEtBQUssQ0FBQztRQUVWLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1FBQ25CLElBQUksQ0FBQyxJQUFJLEdBQUksSUFBSSxDQUFDO1FBQ2xCLElBQUksQ0FBQyxJQUFJLEdBQUksSUFBSSxDQUFDO1FBRWxCLDhDQUE4QztRQUM5QyxNQUFNLFNBQVMsR0FBRyxLQUFLLENBQUM7UUFDeEIsTUFBTSxTQUFTLEdBQUcsU0FBUyxDQUFDO1FBRTVCLHlDQUF5QztRQUN6QyxNQUFNLFdBQVcsR0FBRyxPQUFPLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDdEMsSUFBSSxDQUFDLFlBQVksR0FBRyxPQUFPLFdBQVcsS0FBSyxRQUFRLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO1FBR3ZFLElBQUksQ0FBQyxRQUFRLENBQUMsU0FBUyxFQUFFLElBQUksQ0FBQyxDQUFDO0lBQ2pDLENBQUM7SUFHUyxVQUFVLENBQUMsSUFBYyxFQUFFLElBQTZCO1FBQ2hFLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDO1FBQ2pCLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxJQUFJLElBQUksQ0FBQyxZQUFZLElBQUksRUFBRSxDQUFDO1FBQ3BELElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxLQUFLLE1BQU0sQ0FBQztRQUNsQyxJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksS0FBSyxNQUFNLENBQUM7UUFDbEMsZ0RBQWdEO1FBQ2hELE1BQU0sRUFBRSxHQUFJLElBQVksRUFBRSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUN6QyxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsSUFBSSxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksRUFBRSxFQUFFLENBQUM7WUFDL0MsdUJBQXVCO1lBQ3ZCLGtCQUFrQjtZQUNsQiwrQkFBK0I7WUFDL0IsUUFBUTtRQUNWLENBQUM7UUFDRCxzQ0FBc0M7UUFDdEMsTUFBTSxVQUFVLEdBQUcsT0FBTyxJQUFJLENBQUMsV0FBVyxLQUFLLFFBQVE7WUFDckQsQ0FBQyxDQUFDLElBQUksQ0FBQyxXQUFXO1lBQ2xCLENBQUMsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxJQUFJLFFBQVEsQ0FBQztRQUV2QyxRQUFRLFVBQVUsRUFBRSxDQUFDO1lBQ25CLEtBQUssUUFBUTtnQkFDWCxJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQztnQkFDMUIsTUFBTTtZQUVSLEtBQUssUUFBUTtnQkFDWCxJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQztnQkFDMUIsTUFBTTtZQUVSLEtBQUssT0FBTztnQkFDVixDQUFDO29CQUdDLE1BQU0sRUFBRSxHQUFHLElBQUksQ0FBQyxDQUFDLENBQUUsSUFBWSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDO29CQUV4RCxJQUFHLElBQUksS0FBSyxLQUFLLEVBQUMsQ0FBQzt3QkFDakIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxFQUFFLFVBQVUsRUFBRSxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQztvQkFDM0QsQ0FBQzt5QkFDRyxDQUFDO3dCQUNILE1BQU0sUUFBUSxHQUFHLENBQUMsRUFBRSxFQUFFLElBQUksQ0FBQyxDQUFDO3dCQUM1QixPQUFPLENBQUMsR0FBRyxDQUFDLFdBQVcsRUFBRSxRQUFRLENBQUMsQ0FBQzt3QkFDbkMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxnQkFBZ0IsRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxZQUFZLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLFdBQVcsRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDO3dCQUU5RixNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLGFBQWEsQ0FBQyxRQUFRLEVBQUUsRUFBRSxVQUFVLEVBQUUsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUM7d0JBQzdFLE9BQU8sQ0FBQyxHQUFHLENBQUMsV0FBVyxFQUFFLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDO3dCQUUxQyxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDLEVBQUUsRUFBRSxJQUFJLENBQUMsRUFBRSxFQUFFLFVBQVUsRUFBRSxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQztvQkFDL0QsQ0FBQztvQkFDRCxNQUFNO2dCQUNOLENBQUM7UUFDTCxDQUFDO0lBQ0gsQ0FBQztJQUNTLFVBQVUsQ0FBQyxFQUFtQjtRQUV0QyxPQUFPLGNBQWMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxFQUFTLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRTtZQUM1RCxJQUFJLENBQUMsWUFBWSxHQUFHLEdBQUcsQ0FBQztRQUMxQixDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFDRCxhQUFhLENBQUMsS0FBYztRQUMxQixNQUFNLFVBQVUsR0FBRyxPQUFPLElBQUksQ0FBQyxXQUFXLEtBQUssUUFBUTtZQUNyRCxDQUFDLENBQUMsSUFBSSxDQUFDLFdBQVc7WUFDbEIsQ0FBQyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLElBQStCLENBQUMsSUFBSSxRQUFRLENBQUM7UUFFdkUsSUFBSSxVQUFVLEtBQUssUUFBUSxFQUFFLENBQUM7WUFDNUIsSUFBSSxDQUFDLGFBQWEsR0FBRyxLQUFLLENBQUM7UUFDN0IsQ0FBQzthQUFNLElBQUksVUFBVSxLQUFLLFFBQVEsRUFBRSxDQUFDO1lBQ25DLElBQUksQ0FBQyxhQUFhLEdBQUcsS0FBSyxDQUFDO1FBQzdCLENBQUM7YUFBTSxDQUFDO1lBQ04sd0NBQXdDO1FBQzFDLENBQUM7SUFDSCxDQUFDO0lBSUQsYUFBYSxDQUFDLEtBQXNDO1FBQ2xELFFBQVEsS0FBSyxDQUFDLElBQUksRUFBRSxDQUFDO1lBQ25CLEtBQUssS0FBSyxDQUFDO1lBQ1gsS0FBSyxNQUFNLENBQUM7WUFDWixLQUFLLE1BQU07Z0JBQ1QsSUFBSSxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsR0FBRyxFQUFFLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQztnQkFDdkMsTUFBTTtZQUNSLEtBQUssUUFBUTtnQkFDWCxJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxHQUFJLENBQUMsQ0FBQztnQkFDMUIsTUFBTTtZQUNSLEtBQUssT0FBTztnQkFDVixJQUFJLENBQUMsc0JBQXNCLENBQUMsS0FBSyxDQUFDLEdBQUksQ0FBQyxDQUFDO2dCQUN4QyxNQUFNO1FBQ1YsQ0FBQztJQUNILENBQUM7SUFHUyxVQUFVLENBQUMsSUFBYyxFQUFDLElBQVc7UUFFekMsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUM7UUFFakIsNENBQTRDO1FBRzVDLElBQUksSUFBSSxJQUFJLElBQUksRUFBRSxDQUFDO1lBRWpCLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDLFlBQVksSUFBSSxFQUFFLENBQUM7UUFDOUMsQ0FBQzthQUNHLENBQUM7WUFDRixJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQztRQUM1QixDQUFDO1FBRUQsSUFBRyxJQUFJLElBQUksTUFBTSxFQUFDLENBQUM7WUFDakIsSUFBSSxDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUM7WUFDMUIsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUU7WUFDeEIsSUFBSSxDQUFDLFVBQVUsR0FBRyxLQUFLLENBQUU7WUFDekIsa0NBQWtDO1FBQ3BDLENBQUM7UUFDRCxJQUFHLElBQUksSUFBSSxLQUFLLEVBQUMsQ0FBQztZQUNmLElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDO1lBQzNCLElBQUksQ0FBQyxVQUFVLEdBQUcsS0FBSyxDQUFFO1lBQ3pCLElBQUksQ0FBQyxVQUFVLEdBQUcsS0FBSyxDQUFFO1FBQzNCLENBQUM7UUFDRCxJQUFHLElBQUksSUFBSSxNQUFNLEVBQUMsQ0FBQztZQUNqQiw2QkFBNkI7WUFDN0IsSUFBSSxDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUM7WUFFMUIsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUU7WUFDeEIsSUFBSSxDQUFDLFVBQVUsR0FBRyxLQUFLLENBQUU7UUFDM0IsQ0FBQztJQUNQLENBQUM7SUFHRCxzQkFBc0IsQ0FBQyxLQUFVO1FBRS9CLElBQUksQ0FBQyxZQUFZLEdBQUcsS0FBSyxDQUFDO1FBQzFCLElBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxRQUFRLElBQUksSUFBSSxFQUFDLENBQUM7WUFHdkMsTUFBTSxHQUFHLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsK0JBQStCLEVBQUU7Z0JBQ25FLE1BQU0sRUFBRSwwQkFBMEI7Z0JBQ2xDLEtBQUssRUFBRSxNQUFNO2dCQUNiLElBQUksRUFBRSxFQUFFLEtBQUssRUFBRSxFQUFFLEdBQUcsS0FBSyxFQUFFO29CQUN2QixNQUFNLEVBQUUsSUFBSSxDQUFDLFVBQVU7b0JBQ3ZCLE9BQU8sRUFBRSxJQUFJLENBQUMsT0FBTztvQkFDckIsT0FBTyxFQUFFLElBQUksQ0FBQyxPQUFPLEVBQUU7YUFDNUIsQ0FBQyxDQUFDO1lBRUgsR0FBRyxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRTtnQkFDL0IsSUFBSSxNQUFNLEVBQUUsQ0FBQztvQkFDWCxJQUFJLENBQUMsWUFBWSxDQUFDLFFBQVEsR0FBRyxLQUFLLENBQUM7b0JBQ25DLElBQUksQ0FBQyxZQUFZLENBQUMsa0JBQWtCLEdBQUcsTUFBTSxDQUFDLGtCQUFrQixDQUFDO29CQUNqRSxpQ0FBaUM7Z0JBQ25DLENBQUM7WUFDSCxDQUFDLENBQUMsQ0FBQztRQUNMLENBQUM7YUFDRyxDQUFDO1lBQ0YsSUFBSSxDQUFDLFlBQVksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDO1lBQ2xDLElBQUksQ0FBQyxZQUFZLENBQUMsa0JBQWtCLEdBQUcsRUFBRSxDQUFDO1lBQzFDLE1BQU0sRUFBRSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxZQUFZLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBQ2xFLHlEQUF5RDtZQUN6RCxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxFQUFFLEVBQUUsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDLFNBQVMsQ0FBQztnQkFDOUMsSUFBSSxFQUFFLEdBQUcsRUFBRSxHQUFFLE9BQU8sQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUEsQ0FBQSxDQUFDO2dCQUM3QixLQUFLLEVBQUUsQ0FBQyxHQUFPLEVBQUUsRUFBRTtvQkFDakIsSUFBSSxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUM7Z0JBRXZCLENBQUM7YUFDRixDQUFDLENBQUM7UUFDWixDQUFDO0lBQ0QsQ0FBQztJQUdELFFBQVEsQ0FBQyxJQUFTO1FBQ2hCLGlDQUFpQztRQUNqQyxNQUFNLEVBQUUsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBRXRELElBQUksQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUN0QixhQUFhLEVBQ2IsOEJBQThCLEVBQzlCLFdBQVcsRUFDWCxPQUFPLENBQ1IsQ0FBQyxJQUFJLENBQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRTtZQUNoQixJQUFJLE1BQU0sQ0FBQyxXQUFXLEVBQUUsQ0FBQztnQkFDdkIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLENBQUMsU0FBUyxDQUFDO29CQUNoQyxJQUFJLEVBQUUsR0FBRyxFQUFFO3dCQUNULElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQzt3QkFDNUIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztvQkFDN0MsQ0FBQztvQkFDRCxLQUFLLEVBQUUsQ0FBQyxHQUFRLEVBQUUsRUFBRTt3QkFDbEIsSUFBSSxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUM7b0JBRXZCLENBQUM7aUJBQ0YsQ0FBQyxDQUFDO1lBQ0wsQ0FBQztRQUNILENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUlELElBQUksT0FBTztRQUdULE1BQU0sYUFBYSxHQUFHLENBQUMsTUFBMkIsRUFBUyxFQUFFO1lBQzNELE9BQU8sTUFBTSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsRUFBRTtnQkFDNUIsSUFBSSxLQUFLLENBQUMsVUFBVSxFQUFFLE1BQU07b0JBQUUsT0FBTyxhQUFhLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxDQUFDO2dCQUNyRSxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUs7b0JBQUUsT0FBTyxFQUFFLENBQUM7Z0JBRTVCLE1BQU0sV0FBVyxHQUFHLEtBQUssQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLElBQUksRUFBRSxDQUFDO2dCQUMvQyxNQUFNLFFBQVEsR0FBRyxXQUFXLENBQUMsV0FBVyxFQUFFLElBQUksQ0FBQztnQkFDL0MsSUFBSSxXQUFXLENBQUMsTUFBTSxLQUFLLElBQUksSUFBSSxDQUFDLE9BQU8sUUFBUSxLQUFLLFVBQVUsSUFBSSxRQUFRLEVBQUUsQ0FBQztvQkFBRSxPQUFPLEVBQUUsQ0FBQztnQkFFN0YsTUFBTSxTQUFTLEdBQUcsV0FBVyxDQUFDLElBQUksSUFBSSxZQUFZLENBQUM7Z0JBQ25ELE1BQU0sV0FBVyxHQUFHLEVBQUUsR0FBRyxLQUFLLENBQUMsS0FBSyxFQUFFLEdBQUcsQ0FBQyxXQUFXLENBQUMsS0FBSyxJQUFJLEVBQUUsQ0FBQyxFQUFFLENBQUM7Z0JBRXJFLE1BQU0sS0FBSyxHQUNSLFdBQVcsQ0FBQyxLQUE0QjtvQkFDeEMsV0FBVyxDQUFDLEtBQUssRUFBRSxLQUE0QjtvQkFDL0MsV0FBVyxDQUFDLE9BQU8sQ0FBd0IsQ0FBQztnQkFFL0MsT0FBTyxDQUFDO3dCQUNOLElBQUksRUFBRSxTQUFTO3dCQUNmLEdBQUcsRUFBRSxLQUFLLENBQUMsR0FBRzt3QkFDZCxLQUFLLEVBQUUsV0FBVzt3QkFDbEIsV0FBVyxFQUFFLFdBQVcsQ0FBQyxXQUFXO3dCQUNwQyxLQUFLO3FCQUNOLENBQUMsQ0FBQztZQUNMLENBQUMsQ0FBQyxDQUFDO1FBQ0wsQ0FBQyxDQUFDO1FBRUYsT0FBTyxhQUFhLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQzthQUNsQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLElBQUksTUFBTSxDQUFDLGdCQUFnQixDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsS0FBSyxJQUFJLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO2FBQzNGLEdBQUcsQ0FBQyxDQUFDLEVBQUUsS0FBSyxFQUFFLEdBQUcsSUFBSSxFQUFFLEVBQUUsRUFBRSxDQUFDLElBQXlCLENBQUMsQ0FBQztJQUM1RCxDQUFDO0lBS0QsSUFBSSxPQUFPO1FBQ1QsTUFBTSxnQkFBZ0IsR0FBRyxDQUFDLE1BQTJCLEVBQXVCLEVBQUU7WUFDNUUsT0FBTyxNQUFNLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxFQUFFO2dCQUM1QixJQUFJLEtBQUssQ0FBQyxVQUFVLEVBQUUsTUFBTSxFQUFFLENBQUM7b0JBQzdCLDBDQUEwQztvQkFDMUMsT0FBTyxnQkFBZ0IsQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLENBQUM7Z0JBQzVDLENBQUM7Z0JBRUQsc0RBQXNEO2dCQUN0RCxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQywrQ0FBK0MsRUFBRSxDQUFDO29CQUNqRSxPQUFPLEVBQUUsQ0FBQztnQkFDWixDQUFDO2dCQUVELHlDQUF5QztnQkFDekMsTUFBTSxXQUFXLEdBQUc7b0JBQ2xCLEdBQUcsS0FBSyxDQUFDLEtBQUs7b0JBQ2QsR0FBRyxLQUFLLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxFQUFFLEtBQUs7aUJBQ2hDLENBQUM7Z0JBRUYscUNBQXFDO2dCQUNyQyxPQUFPLFdBQVcsQ0FBQyxVQUFVLENBQUMsQ0FBQztnQkFDL0IsT0FBTyxXQUFXLENBQUMsVUFBVSxDQUFDLENBQUM7Z0JBQy9CLE9BQU8sV0FBVyxDQUFDLGFBQWEsQ0FBQyxDQUFDO2dCQUVsQyxPQUFPLENBQUM7d0JBQ04sSUFBSSxFQUFFLEtBQUssQ0FBQyxJQUFJO3dCQUNoQixHQUFHLEVBQUUsS0FBSyxDQUFDLEdBQUcsRUFBRSxxQ0FBcUM7d0JBQ3JELEtBQUssRUFBRSxXQUFXO3dCQUNsQix5RUFBeUU7cUJBQzFFLENBQUMsQ0FBQztZQUNMLENBQUMsQ0FBQyxDQUFDO1FBQ0wsQ0FBQyxDQUFDO1FBRUYsT0FBTyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDM0MsQ0FBQzt1R0E3WHFCLFFBQVE7MkZBQVIsUUFBUTs7MkZBQVIsUUFBUTtrQkFEN0IsU0FBUyIsInNvdXJjZXNDb250ZW50IjpbIlxyXG5cclxuaW1wb3J0IHsgRGlyZWN0aXZlLCBpbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgRGlhbG9nU2VydmljZSwgRHluYW1pY0RpYWxvZ1JlZiB9IGZyb20gJ3ByaW1lbmcvZHluYW1pY2RpYWxvZyc7XHJcbmltcG9ydCB7IEZvcm1seUZpZWxkQ29uZmlnIH0gZnJvbSAnQG5neC1mb3JtbHkvY29yZSc7XHJcbmltcG9ydCB7IEFjdGl2YXRlZFJvdXRlLCBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xyXG5pbXBvcnQgeyBCYXNlU2VydmljZSwgSWRQYXJzZXJTZXJ2aWNlLCBTd2FsU2VydmljZSB9IGZyb20gJ0BlbGl0ZS5mcmFtZXdvcmsvbmcuY29yZS9zZXJ2aWNlcyc7XHJcbmltcG9ydCB7IEFjdGlvbkRlZiwgUGFnaW5hdGVkUmVzdWx0IH0gZnJvbSAnQGVsaXRlLmZyYW1ld29yay9uZy5jb3JlL21vZGVscyc7XHJcbmltcG9ydCB7IERlYWN0aXZhdGlvblJlYXNvbkZvcm1Db21wb25lbnQgfSBmcm9tICdAZWxpdGUuZnJhbWV3b3JrL25nLnVpLmNvcmUvZGVhY3RpdmF0aW9uLXJlYXNvbic7XHJcbmltcG9ydCB7IGZpcnN0VmFsdWVGcm9tIH0gZnJvbSAncnhqcyc7XHJcblxyXG5ARGlyZWN0aXZlKClcclxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIEJhc2VDcnVkPFQsIEYgPSBhbnk+ICB7XHJcbiAgbGlzdDogVFtdICAgICAgICAgICAgICAgPSBbXTtcclxuICBwYWdpbmF0b3IgICAgICAgID0gdHJ1ZTtcclxuICBjYW5Mb2FkICAgICAgICA9IHRydWU7XHJcbiAgbG9hZGluZyAgICAgICAgPSBmYWxzZTtcclxuICBlcnJvck1zZyAgICAgICAgPSAnJztcclxuICBmaXJzdCAgICAgICAgICAgPSAwO1xyXG4gIHJvd3MgICAgICAgICAgICA9IDEwO1xyXG4gIHRvdGFsUmVjb3JkcyAgICA9IDA7XHJcbiAgc2VhcmNoR2xvYmFsICAgID0gJyc7XHJcbiAgc29ydD86IHN0cmluZztcclxuICBwYWdlRmlsdGVyczogUGFydGlhbDxGPiA9IHt9O1xyXG4gIGN1cnJlbnRGaWx0ZXJzOiBQYXJ0aWFsPEY+ID0ge307XHJcbiAgbW9kZSA9Jyc7XHJcbiAgc2Nyb2xsSGVpZ2h0ID0nNDAwcHgnO1xyXG4gIHByaXZhdGUgc3dhbFNlcnZpY2UgPSBpbmplY3QoU3dhbFNlcnZpY2UpO1xyXG5cclxuICBwcm90ZWN0ZWQgZGlhbG9nUmVmITogRHluYW1pY0RpYWxvZ1JlZjtcclxuXHJcblxyXG4gIC8vIGFic3RyYWN0IHNlcnZpY2U6IENydWRTZXJ2aWNlPFQsIEY+O1xyXG4gIGFic3RyYWN0IHNlcnZpY2U6IEJhc2VTZXJ2aWNlO1xyXG4gIGFic3RyYWN0IGRpYWxvZ1NlcnZpY2U6IERpYWxvZ1NlcnZpY2U7XHJcbiAgLy8gYWJzdHJhY3QgZGlhbG9nQ29tcG9uZW50OiBhbnk7XHJcbiAgLy8gYWJzdHJhY3QgY29sdW1uczogQ29sdW1uRGVmPFQ+W107XHJcbiAgYWJzdHJhY3QgYWN0aW9uczogQWN0aW9uRGVmPFQ+W107XHJcblxyXG4gIC8vIGZvciBnZW5lcmljIGRpYWxvZzpcclxuICBhYnN0cmFjdCBmb3JtRmllbGRzOiBGb3JtbHlGaWVsZENvbmZpZ1tdO1xyXG4gIGFic3RyYWN0IGlkRmllbGQ6ICBzdHJpbmcgfGFueTtcclxuICAvLyBhYnN0cmFjdCBpZEZpZWxkOiBrZXlvZiBUO1xyXG4gIGRpYWxvZ1Zpc2libGUgPSBmYWxzZTtcclxuICBkcmF3ZXJWaXNpYmxlID0gZmFsc2U7XHJcbiAgc2VsZWN0ZWRJdGVtOiBUIHwgYW55ID0gbnVsbDtcclxuICBkZWZhdWx0TW9kZWw6IFQgfCBhbnkgPSBudWxsO1xyXG4gIC8vIHNlbGVjdGVkSXRlbTogVCB8IGFueSA9IHt9O1xyXG4gIGlzVmlld01vZGUgPSBmYWxzZTtcclxuICBpc0VkaXRNb2RlID0gZmFsc2U7XHJcblxyXG5cclxuXHJcbiAgZGlzcGxheU1vZGU6XHJcbiAgfCAnZHJhd2VyJyB8ICdkaWFsb2cnIHwgJ3JvdXRlJ1xyXG4gIHwgUGFydGlhbDxSZWNvcmQ8J2FkZCcgfCAnZWRpdCcgfCAndmlldycsICdkcmF3ZXInIHwgJ2RpYWxvZycgfCAncm91dGUnPj5cclxuICA9ICdkcmF3ZXInO1xyXG5wcml2YXRlIGlkUGFyc2VyPSBpbmplY3QoSWRQYXJzZXJTZXJ2aWNlKTtcclxuICBwdWJsaWMgcm91dGVyPSBpbmplY3QoUm91dGVyKTtcclxuICBwdWJsaWMgcm91dGUgPSBpbmplY3QoQWN0aXZhdGVkUm91dGUpO1xyXG5cclxubG9hZFBhZ2UocGFnZUluZGV4OiBudW1iZXIsIHBhZ2VTaXplOiBudW1iZXIpOiB2b2lkIHtcclxuICAgIGlmKHRoaXMuY2FuTG9hZCl7XHJcblxyXG5cclxuICAgIHRoaXMubG9hZGluZyA9IHRydWU7XHJcbiAgICBjb25zdCBmaWx0ZXJzOiBQYXJ0aWFsPEY+ID0ge1xyXG4gICAgICBtYXhSZXN1bHRDb3VudDpwYWdlU2l6ZSxcclxuICAgICAgc2tpcENvdW50OnBhZ2VJbmRleCxcclxuICAgICAgc29ydGluZzp0aGlzLnNvcnQsXHJcbiAgICAuLi50aGlzLmN1cnJlbnRGaWx0ZXJzLFxyXG4gICAgLi4udGhpcy5wYWdlRmlsdGVycyxcclxuICAgIC4uLih0aGlzLnNlYXJjaEdsb2JhbCA/IHsgZmlsdGVyOiB0aGlzLnNlYXJjaEdsb2JhbCB9IDoge30pLFxyXG4gICAgfTtcclxuICAgIC8vXHJcbiAgICAvL1xyXG4gICAgdGhpcy5zZXJ2aWNlLmdldExpc3QoZmlsdGVycylcclxuICAgICAgLnN1YnNjcmliZSh7XHJcbiAgICAgICAgbmV4dDogKHJlczogUGFnaW5hdGVkUmVzdWx0PFQ+KSA9PiB7XHJcbiAgICAgICAgICAvL1xyXG4gICAgICAgICAgdGhpcy5saXN0ICAgICAgICAgPSByZXMuaXRlbXM7XHJcbiAgICAgICAgICB0aGlzLnRvdGFsUmVjb3JkcyA9IHJlcy50b3RhbENvdW50O1xyXG4gICAgICAgICAgdGhpcy5sb2FkaW5nICAgICAgPSBmYWxzZTtcclxuICAgICAgICB9LFxyXG4gICAgICAgIGVycm9yOiAoZXJyOmFueSkgPT4ge1xyXG4gICAgICAgICAgdGhpcy5lcnJvck1zZyAgICAgPSBlcnIuZXJyb3I/Lm1lc3NhZ2UgfHwgZXJyLm1lc3NhZ2UgfHwgJ9iu2LfYoyDZgdmKINin2YTYqtit2YXZitmEJztcclxuICAgICAgICAgIHRoaXMubG9hZGluZyAgICAgID0gZmFsc2U7XHJcbiAgICAgICAgfVxyXG4gICAgICB9KTtcclxuICAgIH1cclxufVxyXG5cclxub25TZWFyY2goZmlsdGVycz86IGFueSk6IHZvaWQge1xyXG4gIC8vXHJcbiAgaWYgKGZpbHRlcnMgJiYgdHlwZW9mIGZpbHRlcnMgPT09ICdvYmplY3QnICYmICFBcnJheS5pc0FycmF5KGZpbHRlcnMpKSB7XHJcbiAgICB0aGlzLnBhZ2VGaWx0ZXJzID0gZmlsdGVycztcclxuICB9IGVsc2Uge1xyXG4gICAgdGhpcy5zZWFyY2hHbG9iYWwgPSBmaWx0ZXJzO1xyXG4gIH1cclxuXHJcbiAgdGhpcy5sb2FkUGFnZSgwLCAxMCk7XHJcbn1cclxuXHJcblxyXG5vblBhZ2VDaGFuZ2UoZXZlbnQ6IHsgZmlyc3Q/OiBudW1iZXI7IHJvd3M/OiBudW1iZXI7IHNvcnQ/OiBzdHJpbmc7IGZpbHRlcnM/OiBSZWNvcmQ8c3RyaW5nLCBhbnk+IH0pOiB2b2lkIHtcclxuICAvLyDZgdmDINin2YTZhdiq2LrZitmR2LHYp9iqINmF2Lkg2YLZitmF2Kkg2KfZgdiq2LHYp9i22YrYqSDZhNmB2YTYp9iq2LFcclxuICBjb25zdCB7XHJcbiAgICBmaXJzdCAgID0gdGhpcy5maXJzdCxcclxuICAgIHJvd3MgICAgPSB0aGlzLnJvd3MsXHJcbiAgICBzb3J0ICAgID0gdGhpcy5zb3J0LFxyXG4gICAgZmlsdGVycyA9IHt9XHJcbiAgfSA9IGV2ZW50O1xyXG5cclxuICB0aGlzLmZpcnN0ID0gZmlyc3Q7XHJcbiAgdGhpcy5yb3dzICA9IHJvd3M7XHJcbiAgdGhpcy5zb3J0ICA9IHNvcnQ7XHJcblxyXG4gIC8vIGNvbnN0IHBhZ2VJbmRleCA9IE1hdGguZmxvb3IoZmlyc3QgLyByb3dzKTtcclxuICBjb25zdCBza2lwQ291bnQgPSBmaXJzdDtcclxuICBjb25zdCBwYWdlSW5kZXggPSBza2lwQ291bnQ7XHJcblxyXG4gIC8vINin2YTZiNi12YjZhCDZhNmE2YHZhNiq2LEg2KfZhNi52KfZhSDYudio2LEg2KfZhNi12YrYutipINin2YTZhdix2KjYudipXHJcbiAgY29uc3QgZ2xvYmFsVmFsdWUgPSBmaWx0ZXJzWydnbG9iYWwnXTtcclxuICB0aGlzLnNlYXJjaEdsb2JhbCA9IHR5cGVvZiBnbG9iYWxWYWx1ZSA9PT0gJ3N0cmluZycgPyBnbG9iYWxWYWx1ZSA6ICcnO1xyXG5cclxuXHJcbiAgdGhpcy5sb2FkUGFnZShwYWdlSW5kZXgsIHJvd3MpO1xyXG59XHJcblxyXG5cclxucHJvdGVjdGVkIG9wZW5FZGl0b3IoaXRlbTogVCB8IG51bGwsIG1vZGU6ICdhZGQnIHwgJ2VkaXQnIHwgJ3ZpZXcnKTogdm9pZCB7XHJcbiAgdGhpcy5tb2RlID0gbW9kZTtcclxuICB0aGlzLnNlbGVjdGVkSXRlbSA9IGl0ZW0gPz8gdGhpcy5kZWZhdWx0TW9kZWwgPz8ge307XHJcbiAgdGhpcy5pc0VkaXRNb2RlID0gbW9kZSA9PT0gJ2VkaXQnO1xyXG4gIHRoaXMuaXNWaWV3TW9kZSA9IG1vZGUgPT09ICd2aWV3JztcclxuICAvLyBBdXRvLWxvYWQgZGV0YWlscyBpZiBlZGl0IG9yIHZpZXcgYW5kIGhhdmUgSURcclxuICBjb25zdCBpZCA9IChpdGVtIGFzIGFueSk/Llt0aGlzLmlkRmllbGRdO1xyXG4gIGlmICgodGhpcy5pc0VkaXRNb2RlIHx8IHRoaXMuaXNWaWV3TW9kZSkgJiYgaWQpIHtcclxuICAgIC8vIHRoaXMubG9hZERldGFpbChpZCk7XHJcbiAgICAvLyAgKGFzeW5jICgpID0+IHtcclxuICAgIC8vICAgYXdhaXQgdGhpcy5sb2FkRGV0YWlsKGlkKTtcclxuICAgIC8vIH0pKCk7XHJcbiAgfVxyXG4gIC8vIHJlc29sdmUgZGlzcGxheU1vZGUgKHN0cmluZyBvciBtYXApXHJcbiAgY29uc3QgbW9kZUNvbmZpZyA9IHR5cGVvZiB0aGlzLmRpc3BsYXlNb2RlID09PSAnc3RyaW5nJ1xyXG4gICAgPyB0aGlzLmRpc3BsYXlNb2RlXHJcbiAgICA6IHRoaXMuZGlzcGxheU1vZGVbbW9kZV0gPz8gJ2RyYXdlcic7XHJcblxyXG4gIHN3aXRjaCAobW9kZUNvbmZpZykge1xyXG4gICAgY2FzZSAnZHJhd2VyJzpcclxuICAgICAgdGhpcy5kcmF3ZXJWaXNpYmxlID0gdHJ1ZTtcclxuICAgICAgYnJlYWs7XHJcblxyXG4gICAgY2FzZSAnZGlhbG9nJzpcclxuICAgICAgdGhpcy5kaWFsb2dWaXNpYmxlID0gdHJ1ZTtcclxuICAgICAgYnJlYWs7XHJcblxyXG4gICAgY2FzZSAncm91dGUnOlxyXG4gICAgICB7XHJcblxyXG5cclxuICAgICAgICBjb25zdCBpZCA9IGl0ZW0gPyAoaXRlbSBhcyBhbnkpW3RoaXMuaWRGaWVsZF0gOiAnbmV3JztcclxuXHJcbiAgICAgIGlmKG1vZGUgPT09ICdhZGQnKXtcclxuICAgICAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZShbbW9kZV0sIHsgcmVsYXRpdmVUbzogdGhpcy5yb3V0ZSB9KTtcclxuICAgICAgfVxyXG4gICAgICBlbHNle1xyXG4gICAgICAgIGNvbnN0IGNvbW1hbmRzID0gW2lkLCBtb2RlXTtcclxuICAgICAgICBjb25zb2xlLmxvZygnQ29tbWFuZHM6JywgY29tbWFuZHMpO1xyXG4gICAgICAgIGNvbnNvbGUubG9nKCdDdXJyZW50IHJvdXRlOicsIHRoaXMucm91dGUuc25hcHNob3QucGF0aEZyb21Sb290Lm1hcChyID0+IHIucm91dGVDb25maWc/LnBhdGgpKTtcclxuXHJcbiAgICAgICAgY29uc3QgdHJlZSA9IHRoaXMucm91dGVyLmNyZWF0ZVVybFRyZWUoY29tbWFuZHMsIHsgcmVsYXRpdmVUbzogdGhpcy5yb3V0ZSB9KTtcclxuICAgICAgICBjb25zb2xlLmxvZygnVVJMIFRyZWU6JywgdHJlZS50b1N0cmluZygpKTtcclxuXHJcbiAgICAgICAgdGhpcy5yb3V0ZXIubmF2aWdhdGUoW2lkLCBtb2RlXSwgeyByZWxhdGl2ZVRvOiB0aGlzLnJvdXRlIH0pO1xyXG4gICAgICB9XHJcbiAgICAgIGJyZWFrO1xyXG4gICAgICB9XHJcbiAgfVxyXG59XHJcbnByb3RlY3RlZCBsb2FkRGV0YWlsKGlkOiBzdHJpbmcgfCBudW1iZXIpIHtcclxuXHJcbiAgcmV0dXJuIGZpcnN0VmFsdWVGcm9tKHRoaXMuc2VydmljZS5nZXQoaWQgYXMgYW55KSkudGhlbihyZXMgPT4ge1xyXG4gICAgdGhpcy5zZWxlY3RlZEl0ZW0gPSByZXM7XHJcbiAgfSk7XHJcbn1cclxudmlzaWJsZUNoYW5nZSh2YWx1ZTogYm9vbGVhbikge1xyXG4gIGNvbnN0IG1vZGVDb25maWcgPSB0eXBlb2YgdGhpcy5kaXNwbGF5TW9kZSA9PT0gJ3N0cmluZydcclxuICAgID8gdGhpcy5kaXNwbGF5TW9kZVxyXG4gICAgOiB0aGlzLmRpc3BsYXlNb2RlW3RoaXMubW9kZSBhcyAnYWRkJyB8ICdlZGl0JyB8ICd2aWV3J10gPz8gJ2RyYXdlcic7XHJcblxyXG4gIGlmIChtb2RlQ29uZmlnID09PSAnZGlhbG9nJykge1xyXG4gICAgdGhpcy5kaWFsb2dWaXNpYmxlID0gdmFsdWU7XHJcbiAgfSBlbHNlIGlmIChtb2RlQ29uZmlnID09PSAnZHJhd2VyJykge1xyXG4gICAgdGhpcy5kcmF3ZXJWaXNpYmxlID0gdmFsdWU7XHJcbiAgfSBlbHNlIHtcclxuICAgIC8vIHJvdXRlIG1vZGUgZG9lcyBub3QgdXNlIGRyYXdlci9kaWFsb2dcclxuICB9XHJcbn1cclxuXHJcblxyXG5cclxub25UYWJsZUFjdGlvbihldmVudDogeyBuYW1lOiBzdHJpbmc7IHJvdzogVCB8IG51bGwgfSk6IHZvaWQge1xyXG4gIHN3aXRjaCAoZXZlbnQubmFtZSkge1xyXG4gICAgY2FzZSAnYWRkJzpcclxuICAgIGNhc2UgJ2VkaXQnOlxyXG4gICAgY2FzZSAndmlldyc6XHJcbiAgICAgIHRoaXMub3BlbkVkaXRvcihldmVudC5yb3csIGV2ZW50Lm5hbWUpO1xyXG4gICAgICBicmVhaztcclxuICAgIGNhc2UgJ2RlbGV0ZSc6XHJcbiAgICAgIHRoaXMub25EZWxldGUoZXZlbnQucm93ISk7XHJcbiAgICAgIGJyZWFrO1xyXG4gICAgY2FzZSAnc3RhdGUnOlxyXG4gICAgICB0aGlzLm9wZW5EZWFjdGl2YXRpb25SZWFzb24oZXZlbnQucm93ISk7XHJcbiAgICAgIGJyZWFrO1xyXG4gIH1cclxufVxyXG5cclxuXHJcbnByb3RlY3RlZCBvcGVuRHJhd2VyKGl0ZW06IFQgfCBudWxsLG1vZGU6c3RyaW5nKTogdm9pZCB7XHJcblxyXG4gICAgICB0aGlzLm1vZGUgPSBtb2RlO1xyXG5cclxuICAgICAgLy8gdGhpcy5kcmF3ZXJWaXNpYmxlID0gIXRoaXMuZHJhd2VyVmlzaWJsZTtcclxuXHJcblxyXG4gICAgICBpZiAoaXRlbSA9PSBudWxsKSB7XHJcblxyXG4gICAgICAgIHRoaXMuc2VsZWN0ZWRJdGVtID0gdGhpcy5kZWZhdWx0TW9kZWwgfHwge307XHJcbiAgICAgIH1cclxuICAgICAgZWxzZXtcclxuICAgICAgICAgdGhpcy5zZWxlY3RlZEl0ZW0gPSBpdGVtO1xyXG4gICAgICB9XHJcblxyXG4gICAgICBpZihtb2RlID09ICdlZGl0Jyl7XHJcbiAgICAgICAgdGhpcy5kcmF3ZXJWaXNpYmxlID0gdHJ1ZTtcclxuICAgICAgICB0aGlzLmlzRWRpdE1vZGUgPSB0cnVlIDtcclxuICAgICAgICB0aGlzLmlzVmlld01vZGUgPSBmYWxzZSA7XHJcbiAgICAgICAgLy8gdGhpcy5pc0VkaXRNb2RlID0gaXRlbSAhPW51bGwgO1xyXG4gICAgICB9XHJcbiAgICAgIGlmKG1vZGUgPT0gJ2FkZCcpe1xyXG4gICAgICAgICB0aGlzLmRyYXdlclZpc2libGUgPSB0cnVlO1xyXG4gICAgICAgIHRoaXMuaXNWaWV3TW9kZSA9IGZhbHNlIDtcclxuICAgICAgICB0aGlzLmlzRWRpdE1vZGUgPSBmYWxzZSA7XHJcbiAgICAgIH1cclxuICAgICAgaWYobW9kZSA9PSAndmlldycpe1xyXG4gICAgICAgIC8vIHRoaXMuZHJhd2VyVmlzaWJsZSA9IHRydWU7XHJcbiAgICAgICAgdGhpcy5kaWFsb2dWaXNpYmxlID0gdHJ1ZTtcclxuXHJcbiAgICAgICAgdGhpcy5pc1ZpZXdNb2RlID0gdHJ1ZSA7XHJcbiAgICAgICAgdGhpcy5pc0VkaXRNb2RlID0gZmFsc2UgO1xyXG4gICAgICB9XHJcbn1cclxuXHJcblxyXG5vcGVuRGVhY3RpdmF0aW9uUmVhc29uKG1vZGVsOiBhbnkpIHtcclxuXHJcbiAgdGhpcy5zZWxlY3RlZEl0ZW0gPSBtb2RlbDtcclxuICBpZih0aGlzLnNlbGVjdGVkSXRlbS5pc0FjdGl2ZSA9PSB0cnVlKXtcclxuXHJcblxyXG4gIGNvbnN0IHJlZiA9IHRoaXMuZGlhbG9nU2VydmljZS5vcGVuKERlYWN0aXZhdGlvblJlYXNvbkZvcm1Db21wb25lbnQsIHtcclxuICAgIGhlYWRlcjogJ9in2YTYs9io2KggKNmB2Yog2K3Yp9mEINiq2YUg2KXZitmC2KfZgdmHKScsXHJcbiAgICB3aWR0aDogJzMwdncnLFxyXG4gICAgZGF0YTogeyBtb2RlbDogeyAuLi5tb2RlbCB9LFxyXG4gICAgICAgIGZpZWxkczogdGhpcy5mb3JtRmllbGRzLFxyXG4gICAgICAgIHNlcnZpY2U6IHRoaXMuc2VydmljZSxcclxuICAgICAgICBpZEZpZWxkOiB0aGlzLmlkRmllbGQgfSxcclxuICB9KTtcclxuXHJcbiAgcmVmLm9uQ2xvc2Uuc3Vic2NyaWJlKChyZXN1bHQpID0+IHtcclxuICAgIGlmIChyZXN1bHQpIHtcclxuICAgICAgdGhpcy5zZWxlY3RlZEl0ZW0uaXNBY3RpdmUgPSBmYWxzZTtcclxuICAgICAgdGhpcy5zZWxlY3RlZEl0ZW0uZGVhY3RpdmF0aW9uUmVhc29uID0gcmVzdWx0LmRlYWN0aXZhdGlvblJlYXNvbjtcclxuICAgICAgLy8gT3B0aW9uYWxseTogc2F2ZSBtb2RlbCB2aWEgQVBJXHJcbiAgICB9XHJcbiAgfSk7XHJcbn1cclxuZWxzZXtcclxuICAgdGhpcy5zZWxlY3RlZEl0ZW0uaXNBY3RpdmUgPSB0cnVlO1xyXG4gICB0aGlzLnNlbGVjdGVkSXRlbS5kZWFjdGl2YXRpb25SZWFzb24gPSBcIlwiO1xyXG4gICBjb25zdCBpZCA9IHRoaXMuaWRQYXJzZXIucGFyc2VJZHModGhpcy5zZWxlY3RlZEl0ZW0sIHRoaXMuaWRGaWVsZCk7XHJcbiAgICAvLyBjb25zdCBpZCA9ICAodGhpcy5zZWxlY3RlZEl0ZW0gYXMgYW55KVt0aGlzLmlkRmllbGRdIDtcclxuICAgIHRoaXMuc2VydmljZS51cGRhdGUoaWQsIHRoaXMuc2VsZWN0ZWRJdGVtKS5zdWJzY3JpYmUoe1xyXG4gICAgICAgICAgIG5leHQ6ICgpID0+IHtjb25zb2xlLmxvZygnJyl9LFxyXG4gICAgICAgICAgIGVycm9yOiAoZXJyOmFueSkgPT4ge1xyXG4gICAgICAgICAgICAgdGhpcy5sb2FkaW5nID0gZmFsc2U7XHJcblxyXG4gICAgICAgICAgIH1cclxuICAgICAgICAgfSk7XHJcbn1cclxufVxyXG5cclxuXHJcbm9uRGVsZXRlKGl0ZW06IGFueSk6IHZvaWQge1xyXG4gIC8vIGNvbnN0IGlkID0gaXRlbVt0aGlzLmlkRmllbGRdO1xyXG4gIGNvbnN0IGlkID0gdGhpcy5pZFBhcnNlci5wYXJzZUlkcyhpdGVtLCB0aGlzLmlkRmllbGQpO1xyXG5cclxuICB0aGlzLnN3YWxTZXJ2aWNlLmNvbmZpcm0oXHJcbiAgICAn2KrYo9mD2YrYryDYp9mE2K3YsNmBJyxcclxuICAgICfZh9mEINiq2LHZitivINit2LDZgSDZh9iw2Kcg2KfZhNiz2KzZhCDZgdi52YTYp9mL2J8nLFxyXG4gICAgJ9mG2LnZhdiMINin2K3YsNmBJyxcclxuICAgICfYpdmE2LrYp9ihJ1xyXG4gICkudGhlbigocmVzdWx0KSA9PiB7XHJcbiAgICBpZiAocmVzdWx0LmlzQ29uZmlybWVkKSB7XHJcbiAgICAgIHRoaXMuc2VydmljZS5kZWxldGUoaWQpLnN1YnNjcmliZSh7XHJcbiAgICAgICAgbmV4dDogKCkgPT4ge1xyXG4gICAgICAgICAgdGhpcy5sb2FkUGFnZSgwLCB0aGlzLnJvd3MpO1xyXG4gICAgICAgICAgdGhpcy5zd2FsU2VydmljZS5zdWNjZXNzKCfYqtmFINin2YTYrdiw2YEg2KjZhtis2KfYrScpO1xyXG4gICAgICAgIH0sXHJcbiAgICAgICAgZXJyb3I6IChlcnI6IGFueSkgPT4ge1xyXG4gICAgICAgICAgdGhpcy5sb2FkaW5nID0gZmFsc2U7XHJcblxyXG4gICAgICAgIH1cclxuICAgICAgfSk7XHJcbiAgICB9XHJcbiAgfSk7XHJcbn1cclxuXHJcblxyXG5cclxuZ2V0IGNvbHVtbnMoKTogRm9ybWx5RmllbGRDb25maWdbXSB7XHJcbiAgdHlwZSBDb2wgPSBGb3JtbHlGaWVsZENvbmZpZyAmIHsgb3JkZXI/OiBudW1iZXIgfTtcclxuXHJcbiAgY29uc3QgZmxhdHRlbkZpZWxkcyA9IChmaWVsZHM6IEZvcm1seUZpZWxkQ29uZmlnW10pOiBDb2xbXSA9PiB7XHJcbiAgICByZXR1cm4gZmllbGRzLmZsYXRNYXAoZmllbGQgPT4ge1xyXG4gICAgICBpZiAoZmllbGQuZmllbGRHcm91cD8ubGVuZ3RoKSByZXR1cm4gZmxhdHRlbkZpZWxkcyhmaWVsZC5maWVsZEdyb3VwKTtcclxuICAgICAgaWYgKCFmaWVsZC5wcm9wcykgcmV0dXJuIFtdO1xyXG5cclxuICAgICAgY29uc3QgdGFibGVDb25maWcgPSBmaWVsZC5wcm9wc1sndGFibGUnXSA/PyB7fTtcclxuICAgICAgY29uc3QgaGlkZUV4cHIgPSB0YWJsZUNvbmZpZy5leHByZXNzaW9ucz8uaGlkZTtcclxuICAgICAgaWYgKHRhYmxlQ29uZmlnLmhpZGRlbiA9PT0gdHJ1ZSB8fCAodHlwZW9mIGhpZGVFeHByID09PSAnZnVuY3Rpb24nICYmIGhpZGVFeHByKCkpKSByZXR1cm4gW107XHJcblxyXG4gICAgICBjb25zdCB0YWJsZVR5cGUgPSB0YWJsZUNvbmZpZy50eXBlID8/ICdsYWJlbC10eXBlJztcclxuICAgICAgY29uc3QgbWVyZ2VkUHJvcHMgPSB7IC4uLmZpZWxkLnByb3BzLCAuLi4odGFibGVDb25maWcucHJvcHMgPz8ge30pIH07XHJcblxyXG4gICAgICBjb25zdCBvcmRlcjogbnVtYmVyIHwgdW5kZWZpbmVkID1cclxuICAgICAgICAodGFibGVDb25maWcub3JkZXIgYXMgbnVtYmVyIHwgdW5kZWZpbmVkKSA/P1xyXG4gICAgICAgICh0YWJsZUNvbmZpZy5wcm9wcz8ub3JkZXIgYXMgbnVtYmVyIHwgdW5kZWZpbmVkKSA/P1xyXG4gICAgICAgIChtZXJnZWRQcm9wc1snb3JkZXInXSBhcyBudW1iZXIgfCB1bmRlZmluZWQpO1xyXG5cclxuICAgICAgcmV0dXJuIFt7XHJcbiAgICAgICAgdHlwZTogdGFibGVUeXBlLFxyXG4gICAgICAgIGtleTogZmllbGQua2V5LFxyXG4gICAgICAgIHByb3BzOiBtZXJnZWRQcm9wcyxcclxuICAgICAgICBleHByZXNzaW9uczogdGFibGVDb25maWcuZXhwcmVzc2lvbnMsXHJcbiAgICAgICAgb3JkZXJcclxuICAgICAgfV07XHJcbiAgICB9KTtcclxuICB9O1xyXG5cclxuICByZXR1cm4gZmxhdHRlbkZpZWxkcyh0aGlzLmZvcm1GaWVsZHMpXHJcbiAgICAuc29ydCgoYSwgYikgPT4gKGEub3JkZXIgPz8gTnVtYmVyLk1BWF9TQUZFX0lOVEVHRVIpIC0gKGIub3JkZXIgPz8gTnVtYmVyLk1BWF9TQUZFX0lOVEVHRVIpKVxyXG4gICAgLm1hcCgoeyBvcmRlciwgLi4ucmVzdCB9KSA9PiByZXN0IGFzIEZvcm1seUZpZWxkQ29uZmlnKTtcclxufVxyXG5cclxuXHJcblxyXG5cclxuZ2V0IGZpbHRlcnMoKTogRm9ybWx5RmllbGRDb25maWdbXSB7XHJcbiAgY29uc3QgZmxhdHRlbkZvckZpbHRlciA9IChmaWVsZHM6IEZvcm1seUZpZWxkQ29uZmlnW10pOiBGb3JtbHlGaWVsZENvbmZpZ1tdID0+IHtcclxuICAgIHJldHVybiBmaWVsZHMuZmxhdE1hcChmaWVsZCA9PiB7XHJcbiAgICAgIGlmIChmaWVsZC5maWVsZEdyb3VwPy5sZW5ndGgpIHtcclxuICAgICAgICAvLyBSZWN1cnNpdmVseSBoYW5kbGUgbmVzdGVkIHBhbmVscy9ncm91cHNcclxuICAgICAgICByZXR1cm4gZmxhdHRlbkZvckZpbHRlcihmaWVsZC5maWVsZEdyb3VwKTtcclxuICAgICAgfVxyXG5cclxuICAgICAgLy8gU2tpcCBmaWVsZHMgd2l0aCBubyBwcm9wcyBvciBmaWx0ZXIuaGlkZGVuID09PSB0cnVlXHJcbiAgICAgIGlmICghZmllbGQucHJvcHMgLyogfHwgZmllbGQucHJvcHNbJ2ZpbHRlciddPy5oaWRkZW4gPT09IHRydWUgKi8pIHtcclxuICAgICAgICByZXR1cm4gW107XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIC8vIE1lcmdlIGJhc2UgcHJvcHMgd2l0aCBmaWx0ZXIgb3ZlcnJpZGVzXHJcbiAgICAgIGNvbnN0IG1lcmdlZFByb3BzID0ge1xyXG4gICAgICAgIC4uLmZpZWxkLnByb3BzLFxyXG4gICAgICAgIC4uLmZpZWxkLnByb3BzWydmaWx0ZXInXT8ucHJvcHMsXHJcbiAgICAgIH07XHJcblxyXG4gICAgICAvLyBSZW1vdmUgZGlzYWJsZWQgYW5kIHJlcXVpcmVkIHByb3BzXHJcbiAgICAgIGRlbGV0ZSBtZXJnZWRQcm9wc1snZGlzYWJsZWQnXTtcclxuICAgICAgZGVsZXRlIG1lcmdlZFByb3BzWydyZXF1aXJlZCddO1xyXG4gICAgICBkZWxldGUgbWVyZ2VkUHJvcHNbJ2xvYWREZWZhdWx0J107XHJcblxyXG4gICAgICByZXR1cm4gW3tcclxuICAgICAgICB0eXBlOiBmaWVsZC50eXBlLFxyXG4gICAgICAgIGtleTogZmllbGQua2V5LCAvLyBhbHdheXMgc2V0IGtleSBmb3IgdGFibGUgcmVuZGVyaW5nXHJcbiAgICAgICAgcHJvcHM6IG1lcmdlZFByb3BzLFxyXG4gICAgICAgIC8vIGV4cHJlc3Npb25zOiBmaWVsZC5wcm9wc1snZmlsdGVyJ10/LmV4cHJlc3Npb25zIC8vIHVuY29tbWVudCBpZiBuZWVkZWRcclxuICAgICAgfV07XHJcbiAgICB9KTtcclxuICB9O1xyXG5cclxuICByZXR1cm4gZmxhdHRlbkZvckZpbHRlcih0aGlzLmZvcm1GaWVsZHMpO1xyXG59XHJcblxyXG5cclxufVxyXG4iXX0=","/**\n * Generated bundle index. Do not edit.\n */\nexport * from './index';\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxpdGUuZnJhbWV3b3JrLW5nLnVpLmNvcmUtYmFzZS1jcnVkLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGlicy9uZy51aS5jb3JlL2Jhc2UtY3J1ZC9zcmMvZWxpdGUuZnJhbWV3b3JrLW5nLnVpLmNvcmUtYmFzZS1jcnVkLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYyxTQUFTLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEdlbmVyYXRlZCBidW5kbGUgaW5kZXguIERvIG5vdCBlZGl0LlxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vaW5kZXgnO1xuIl19"],"names":[],"mappings":";;;;;;;;AAGO,MAAM,cAAc,CAAC;AAC5B,IAAI,OAAO,IAAI,GAAG,EAAE,CAAC,kBAAkB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,CAAC,eAAe,CAAC,QAAQ,EAAE,CAAC;AACvK,IAAI,OAAO,IAAI,GAAG,EAAE,CAAC,mBAAmB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,OAAO,EAAE,CAAC,YAAY,CAAC,EAAE,CAAC;AAClJ,IAAI,OAAO,IAAI,GAAG,EAAE,CAAC,mBAAmB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,OAAO,EAAE,CAAC,YAAY,CAAC,EAAE,CAAC;AAClJ;AACA,EAAE,CAAC,wBAAwB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,UAAU,EAAE,CAAC;AACxH,YAAY,IAAI,EAAE,QAAQ;AAC1B,YAAY,IAAI,EAAE,CAAC;AACnB,oBAAoB,OAAO,EAAE,CAAC,YAAY,CAAC;AAC3C,iBAAiB;AACjB,SAAS,CAAC,EAAE,CAAC;;ACPN,MAAM,QAAQ,CAAC;AACtB,IAAI,IAAI,GAAG,EAAE;AACb,IAAI,SAAS,GAAG,IAAI;AACpB,IAAI,OAAO,GAAG,IAAI;AAClB,IAAI,OAAO,GAAG,KAAK;AACnB,IAAI,QAAQ,GAAG,EAAE;AACjB,IAAI,KAAK,GAAG,CAAC;AACb,IAAI,IAAI,GAAG,EAAE;AACb,IAAI,YAAY,GAAG,CAAC;AACpB,IAAI,YAAY,GAAG,EAAE;AACrB,IAAI,IAAI;AACR,IAAI,WAAW,GAAG,EAAE;AACpB,IAAI,cAAc,GAAG,EAAE;AACvB,IAAI,IAAI,GAAG,EAAE;AACb,IAAI,YAAY,GAAG,OAAO;AAC1B,IAAI,WAAW,GAAG,MAAM,CAAC,WAAW,CAAC;AACrC,IAAI,SAAS;AACb;AACA,IAAI,aAAa,GAAG,KAAK;AACzB,IAAI,aAAa,GAAG,KAAK;AACzB,IAAI,YAAY,GAAG,IAAI;AACvB,IAAI,YAAY,GAAG,IAAI;AACvB;AACA,IAAI,UAAU,GAAG,KAAK;AACtB,IAAI,UAAU,GAAG,KAAK;AACtB,IAAI,WAAW,GAAG,QAAQ;AAC1B,IAAI,QAAQ,GAAG,MAAM,CAAC,eAAe,CAAC;AACtC,IAAI,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;AAC3B,IAAI,KAAK,GAAG,MAAM,CAAC,cAAc,CAAC;AAClC,IAAI,QAAQ,CAAC,SAAS,EAAE,QAAQ,EAAE;AAClC,QAAQ,IAAI,IAAI,CAAC,OAAO,EAAE;AAC1B,YAAY,IAAI,CAAC,OAAO,GAAG,IAAI;AAC/B,YAAY,MAAM,OAAO,GAAG;AAC5B,gBAAgB,cAAc,EAAE,QAAQ;AACxC,gBAAgB,SAAS,EAAE,SAAS;AACpC,gBAAgB,OAAO,EAAE,IAAI,CAAC,IAAI;AAClC,gBAAgB,GAAG,IAAI,CAAC,cAAc;AACtC,gBAAgB,GAAG,IAAI,CAAC,WAAW;AACnC,gBAAgB,IAAI,IAAI,CAAC,YAAY,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,YAAY,EAAE,GAAG,EAAE,CAAC;AAC3E,aAAa;AACb;AACA;AACA,YAAY,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO;AACxC,iBAAiB,SAAS,CAAC;AAC3B,gBAAgB,IAAI,EAAE,CAAC,GAAG,KAAK;AAC/B;AACA,oBAAoB,IAAI,CAAC,IAAI,GAAG,GAAG,CAAC,KAAK;AACzC,oBAAoB,IAAI,CAAC,YAAY,GAAG,GAAG,CAAC,UAAU;AACtD,oBAAoB,IAAI,CAAC,OAAO,GAAG,KAAK;AACxC,iBAAiB;AACjB,gBAAgB,KAAK,EAAE,CAAC,GAAG,KAAK;AAChC,oBAAoB,IAAI,CAAC,QAAQ,GAAG,GAAG,CAAC,KAAK,EAAE,OAAO,IAAI,GAAG,CAAC,OAAO,IAAI,gBAAgB;AACzF,oBAAoB,IAAI,CAAC,OAAO,GAAG,KAAK;AACxC;AACA,aAAa,CAAC;AACd;AACA;AACA,IAAI,QAAQ,CAAC,OAAO,EAAE;AACtB;AACA,QAAQ,IAAI,OAAO,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE;AAC/E,YAAY,IAAI,CAAC,WAAW,GAAG,OAAO;AACtC;AACA,aAAa;AACb,YAAY,IAAI,CAAC,YAAY,GAAG,OAAO;AACvC;AACA,QAAQ,IAAI,CAAC,QAAQ,CAAC,CAAC,EAAE,EAAE,CAAC;AAC5B;AACA,IAAI,YAAY,CAAC,KAAK,EAAE;AACxB;AACA,QAAQ,MAAM,EAAE,KAAK,GAAG,IAAI,CAAC,KAAK,EAAE,IAAI,GAAG,IAAI,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI,CAAC,IAAI,EAAE,OAAO,GAAG,EAAE,EAAE,GAAG,KAAK;AAC9F,QAAQ,IAAI,CAAC,KAAK,GAAG,KAAK;AAC1B,QAAQ,IAAI,CAAC,IAAI,GAAG,IAAI;AACxB,QAAQ,IAAI,CAAC,IAAI,GAAG,IAAI;AACxB;AACA,QAAQ,MAAM,SAAS,GAAG,KAAK;AAC/B,QAAQ,MAAM,SAAS,GAAG,SAAS;AACnC;AACA,QAAQ,MAAM,WAAW,GAAG,OAAO,CAAC,QAAQ,CAAC;AAC7C,QAAQ,IAAI,CAAC,YAAY,GAAG,OAAO,WAAW,KAAK,QAAQ,GAAG,WAAW,GAAG,EAAE;AAC9E,QAAQ,IAAI,CAAC,QAAQ,CAAC,SAAS,EAAE,IAAI,CAAC;AACtC;AACA,IAAI,UAAU,CAAC,IAAI,EAAE,IAAI,EAAE;AAC3B,QAAQ,IAAI,CAAC,IAAI,GAAG,IAAI;AACxB,QAAQ,IAAI,CAAC,YAAY,GAAG,IAAI,IAAI,IAAI,CAAC,YAAY,IAAI,EAAE;AAC3D,QAAQ,IAAI,CAAC,UAAU,GAAG,IAAI,KAAK,MAAM;AACzC,QAAQ,IAAI,CAAC,UAAU,GAAG,IAAI,KAAK,MAAM;AACzC;AACA,QAAQ,MAAM,EAAE,GAAG,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC;AACvC,QAAQ,IAAI,CAAC,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,UAAU,KAAK,EAAE,EAAE;AACxD;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ,MAAM,UAAU,GAAG,OAAO,IAAI,CAAC,WAAW,KAAK;AACvD,cAAc,IAAI,CAAC;AACnB,cAAc,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,QAAQ;AAChD,QAAQ,QAAQ,UAAU;AAC1B,YAAY,KAAK,QAAQ;AACzB,gBAAgB,IAAI,CAAC,aAAa,GAAG,IAAI;AACzC,gBAAgB;AAChB,YAAY,KAAK,QAAQ;AACzB,gBAAgB,IAAI,CAAC,aAAa,GAAG,IAAI;AACzC,gBAAgB;AAChB,YAAY,KAAK,OAAO;AACxB,gBAAgB;AAChB,oBAAoB,MAAM,EAAE,GAAG,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,KAAK;AAChE,oBAAoB,IAAI,IAAI,KAAK,KAAK,EAAE;AACxC,wBAAwB,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,EAAE,EAAE,UAAU,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC;AAChF;AACA,yBAAyB;AACzB,wBAAwB,MAAM,QAAQ,GAAG,CAAC,EAAE,EAAE,IAAI,CAAC;AACnD,wBAAwB,OAAO,CAAC,GAAG,CAAC,WAAW,EAAE,QAAQ,CAAC;AAC1D,wBAAwB,OAAO,CAAC,GAAG,CAAC,gBAAgB,EAAE,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;AACrH,wBAAwB,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,QAAQ,EAAE,EAAE,UAAU,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC;AACpG,wBAAwB,OAAO,CAAC,GAAG,CAAC,WAAW,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC;AACjE,wBAAwB,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE,UAAU,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC;AACpF;AACA,oBAAoB;AACpB;AACA;AACA;AACA,IAAI,UAAU,CAAC,EAAE,EAAE;AACnB,QAAQ,OAAO,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,IAAI;AAChE,YAAY,IAAI,CAAC,YAAY,GAAG,GAAG;AACnC,SAAS,CAAC;AACV;AACA,IAAI,aAAa,CAAC,KAAK,EAAE;AACzB,QAAQ,MAAM,UAAU,GAAG,OAAO,IAAI,CAAC,WAAW,KAAK;AACvD,cAAc,IAAI,CAAC;AACnB,cAAc,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,QAAQ;AACrD,QAAQ,IAAI,UAAU,KAAK,QAAQ,EAAE;AACrC,YAAY,IAAI,CAAC,aAAa,GAAG,KAAK;AACtC;AACA,aAAa,IAAI,UAAU,KAAK,QAAQ,EAAE;AAC1C,YAAY,IAAI,CAAC,aAAa,GAAG,KAAK;AACtC;AACA,aAAa;AACb;AACA;AACA;AACA,IAAI,aAAa,CAAC,KAAK,EAAE;AACzB,QAAQ,QAAQ,KAAK,CAAC,IAAI;AAC1B,YAAY,KAAK,KAAK;AACtB,YAAY,KAAK,MAAM;AACvB,YAAY,KAAK,MAAM;AACvB,gBAAgB,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,CAAC;AACtD,gBAAgB;AAChB,YAAY,KAAK,QAAQ;AACzB,gBAAgB,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC;AACxC,gBAAgB;AAChB,YAAY,KAAK,OAAO;AACxB,gBAAgB,IAAI,CAAC,sBAAsB,CAAC,KAAK,CAAC,GAAG,CAAC;AACtD,gBAAgB;AAChB;AACA;AACA,IAAI,UAAU,CAAC,IAAI,EAAE,IAAI,EAAE;AAC3B,QAAQ,IAAI,CAAC,IAAI,GAAG,IAAI;AACxB;AACA,QAAQ,IAAI,IAAI,IAAI,IAAI,EAAE;AAC1B,YAAY,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,IAAI,EAAE;AACvD;AACA,aAAa;AACb,YAAY,IAAI,CAAC,YAAY,GAAG,IAAI;AACpC;AACA,QAAQ,IAAI,IAAI,IAAI,MAAM,EAAE;AAC5B,YAAY,IAAI,CAAC,aAAa,GAAG,IAAI;AACrC,YAAY,IAAI,CAAC,UAAU,GAAG,IAAI;AAClC,YAAY,IAAI,CAAC,UAAU,GAAG,KAAK;AACnC;AACA;AACA,QAAQ,IAAI,IAAI,IAAI,KAAK,EAAE;AAC3B,YAAY,IAAI,CAAC,aAAa,GAAG,IAAI;AACrC,YAAY,IAAI,CAAC,UAAU,GAAG,KAAK;AACnC,YAAY,IAAI,CAAC,UAAU,GAAG,KAAK;AACnC;AACA,QAAQ,IAAI,IAAI,IAAI,MAAM,EAAE;AAC5B;AACA,YAAY,IAAI,CAAC,aAAa,GAAG,IAAI;AACrC,YAAY,IAAI,CAAC,UAAU,GAAG,IAAI;AAClC,YAAY,IAAI,CAAC,UAAU,GAAG,KAAK;AACnC;AACA;AACA,IAAI,sBAAsB,CAAC,KAAK,EAAE;AAClC,QAAQ,IAAI,CAAC,YAAY,GAAG,KAAK;AACjC,QAAQ,IAAI,IAAI,CAAC,YAAY,CAAC,QAAQ,IAAI,IAAI,EAAE;AAChD,YAAY,MAAM,GAAG,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,+BAA+B,EAAE;AACjF,gBAAgB,MAAM,EAAE,0BAA0B;AAClD,gBAAgB,KAAK,EAAE,MAAM;AAC7B,gBAAgB,IAAI,EAAE,EAAE,KAAK,EAAE,EAAE,GAAG,KAAK,EAAE;AAC3C,oBAAoB,MAAM,EAAE,IAAI,CAAC,UAAU;AAC3C,oBAAoB,OAAO,EAAE,IAAI,CAAC,OAAO;AACzC,oBAAoB,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;AAC3C,aAAa,CAAC;AACd,YAAY,GAAG,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,MAAM,KAAK;AAC9C,gBAAgB,IAAI,MAAM,EAAE;AAC5B,oBAAoB,IAAI,CAAC,YAAY,CAAC,QAAQ,GAAG,KAAK;AACtD,oBAAoB,IAAI,CAAC,YAAY,CAAC,kBAAkB,GAAG,MAAM,CAAC,kBAAkB;AACpF;AACA;AACA,aAAa,CAAC;AACd;AACA,aAAa;AACb,YAAY,IAAI,CAAC,YAAY,CAAC,QAAQ,GAAG,IAAI;AAC7C,YAAY,IAAI,CAAC,YAAY,CAAC,kBAAkB,GAAG,EAAE;AACrD,YAAY,MAAM,EAAE,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,OAAO,CAAC;AAC9E;AACA,YAAY,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC,SAAS,CAAC;AACjE,gBAAgB,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,EAAE;AAChD,gBAAgB,KAAK,EAAE,CAAC,GAAG,KAAK;AAChC,oBAAoB,IAAI,CAAC,OAAO,GAAG,KAAK;AACxC;AACA,aAAa,CAAC;AACd;AACA;AACA,IAAI,QAAQ,CAAC,IAAI,EAAE;AACnB;AACA,QAAQ,MAAM,EAAE,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC;AAC7D,QAAQ,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,aAAa,EAAE,8BAA8B,EAAE,WAAW,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,KAAK;AACvH,YAAY,IAAI,MAAM,CAAC,WAAW,EAAE;AACpC,gBAAgB,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC;AAClD,oBAAoB,IAAI,EAAE,MAAM;AAChC,wBAAwB,IAAI,CAAC,QAAQ,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC;AACnD,wBAAwB,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,gBAAgB,CAAC;AAClE,qBAAqB;AACrB,oBAAoB,KAAK,EAAE,CAAC,GAAG,KAAK;AACpC,wBAAwB,IAAI,CAAC,OAAO,GAAG,KAAK;AAC5C;AACA,iBAAiB,CAAC;AAClB;AACA,SAAS,CAAC;AACV;AACA,IAAI,IAAI,OAAO,GAAG;AAClB,QAAQ,MAAM,aAAa,GAAG,CAAC,MAAM,KAAK;AAC1C,YAAY,OAAO,MAAM,CAAC,OAAO,CAAC,KAAK,IAAI;AAC3C,gBAAgB,IAAI,KAAK,CAAC,UAAU,EAAE,MAAM;AAC5C,oBAAoB,OAAO,aAAa,CAAC,KAAK,CAAC,UAAU,CAAC;AAC1D,gBAAgB,IAAI,CAAC,KAAK,CAAC,KAAK;AAChC,oBAAoB,OAAO,EAAE;AAC7B,gBAAgB,MAAM,WAAW,GAAG,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE;AAC9D,gBAAgB,MAAM,QAAQ,GAAG,WAAW,CAAC,WAAW,EAAE,IAAI;AAC9D,gBAAgB,IAAI,WAAW,CAAC,MAAM,KAAK,IAAI,KAAK,OAAO,QAAQ,KAAK,UAAU,IAAI,QAAQ,EAAE,CAAC;AACjG,oBAAoB,OAAO,EAAE;AAC7B,gBAAgB,MAAM,SAAS,GAAG,WAAW,CAAC,IAAI,IAAI,YAAY;AAClE,gBAAgB,MAAM,WAAW,GAAG,EAAE,GAAG,KAAK,CAAC,KAAK,EAAE,IAAI,WAAW,CAAC,KAAK,IAAI,EAAE,CAAC,EAAE;AACpF,gBAAgB,MAAM,KAAK,GAAG,WAAW,CAAC,KAAK;AAC/C,oBAAoB,WAAW,CAAC,KAAK,EAAE,KAAK;AAC5C,oBAAoB,WAAW,CAAC,OAAO,CAAC;AACxC,gBAAgB,OAAO,CAAC;AACxB,wBAAwB,IAAI,EAAE,SAAS;AACvC,wBAAwB,GAAG,EAAE,KAAK,CAAC,GAAG;AACtC,wBAAwB,KAAK,EAAE,WAAW;AAC1C,wBAAwB,WAAW,EAAE,WAAW,CAAC,WAAW;AAC5D,wBAAwB;AACxB,qBAAqB,CAAC;AACtB,aAAa,CAAC;AACd,SAAS;AACT,QAAQ,OAAO,aAAa,CAAC,IAAI,CAAC,UAAU;AAC5C,aAAa,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,IAAI,MAAM,CAAC,gBAAgB,KAAK,CAAC,CAAC,KAAK,IAAI,MAAM,CAAC,gBAAgB,CAAC;AACvG,aAAa,GAAG,CAAC,CAAC,EAAE,KAAK,EAAE,GAAG,IAAI,EAAE,KAAK,IAAI,CAAC;AAC9C;AACA,IAAI,IAAI,OAAO,GAAG;AAClB,QAAQ,MAAM,gBAAgB,GAAG,CAAC,MAAM,KAAK;AAC7C,YAAY,OAAO,MAAM,CAAC,OAAO,CAAC,KAAK,IAAI;AAC3C,gBAAgB,IAAI,KAAK,CAAC,UAAU,EAAE,MAAM,EAAE;AAC9C;AACA,oBAAoB,OAAO,gBAAgB,CAAC,KAAK,CAAC,UAAU,CAAC;AAC7D;AACA;AACA,gBAAgB,IAAI,CAAC,KAAK,CAAC,KAAK,kDAAkD;AAClF,oBAAoB,OAAO,EAAE;AAC7B;AACA;AACA,gBAAgB,MAAM,WAAW,GAAG;AACpC,oBAAoB,GAAG,KAAK,CAAC,KAAK;AAClC,oBAAoB,GAAG,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,KAAK;AACnD,iBAAiB;AACjB;AACA,gBAAgB,OAAO,WAAW,CAAC,UAAU,CAAC;AAC9C,gBAAgB,OAAO,WAAW,CAAC,UAAU,CAAC;AAC9C,gBAAgB,OAAO,WAAW,CAAC,aAAa,CAAC;AACjD,gBAAgB,OAAO,CAAC;AACxB,wBAAwB,IAAI,EAAE,KAAK,CAAC,IAAI;AACxC,wBAAwB,GAAG,EAAE,KAAK,CAAC,GAAG;AACtC,wBAAwB,KAAK,EAAE,WAAW;AAC1C;AACA,qBAAqB,CAAC;AACtB,aAAa,CAAC;AACd,SAAS;AACT,QAAQ,OAAO,gBAAgB,CAAC,IAAI,CAAC,UAAU,CAAC;AAChD;AACA,IAAI,OAAO,IAAI,GAAG,EAAE,CAAC,kBAAkB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,CAAC,eAAe,CAAC,SAAS,EAAE,CAAC;AAClK,IAAI,OAAO,IAAI,GAAG,EAAE,CAAC,oBAAoB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,YAAY,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC;AACxI;AACA,EAAE,CAAC,wBAAwB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,UAAU,EAAE,CAAC;AAClH,YAAY,IAAI,EAAE;AAClB,SAAS,CAAC,EAAE,CAAC;;AC/Sb;AACA;AACA;;;;"}
|
|
1
|
+
{"version":3,"file":"elite.framework-ng.ui.core-base-crud.mjs","sources":["../tmp-esm2022/base-crud/lib/base-crud-module.js","../tmp-esm2022/base-crud/lib/base-crud.js","../tmp-esm2022/base-crud/elite.framework-ng.ui.core-base-crud.js"],"sourcesContent":["import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport * as i0 from \"@angular/core\";\nexport class BaseCrudModule {\n static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.8\", ngImport: i0, type: BaseCrudModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });\n static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: \"14.0.0\", version: \"20.1.8\", ngImport: i0, type: BaseCrudModule, imports: [CommonModule] });\n static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: \"12.0.0\", version: \"20.1.8\", ngImport: i0, type: BaseCrudModule, imports: [CommonModule] });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.8\", ngImport: i0, type: BaseCrudModule, decorators: [{\n type: NgModule,\n args: [{\n imports: [CommonModule],\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS1jcnVkLW1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbmcudWkuY29yZS9iYXNlLWNydWQvc3JjL2xpYi9iYXNlLWNydWQtbW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDOztBQUsvQyxNQUFNLE9BQU8sY0FBYzt1R0FBZCxjQUFjO3dHQUFkLGNBQWMsWUFGZixZQUFZO3dHQUVYLGNBQWMsWUFGZixZQUFZOzsyRkFFWCxjQUFjO2tCQUgxQixRQUFRO21CQUFDO29CQUNSLE9BQU8sRUFBRSxDQUFDLFlBQVksQ0FBQztpQkFDeEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcblxuQE5nTW9kdWxlKHtcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZV0sXG59KVxuZXhwb3J0IGNsYXNzIEJhc2VDcnVkTW9kdWxlIHt9XG4iXX0=","import { Directive, inject } from '@angular/core';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { IdParserService, SwalService } from '@elite.framework/ng.core/services';\nimport { DeactivationReasonFormComponent } from '@elite.framework/ng.ui.core/deactivation-reason';\nimport { firstValueFrom } from 'rxjs';\nimport * as i0 from \"@angular/core\";\nexport class BaseCrud {\n list = [];\n paginator = true;\n canLoad = true;\n loading = false;\n errorMsg = '';\n first = 0;\n rows = 10;\n totalRecords = 0;\n searchGlobal = '';\n sort;\n pageFilters = {};\n currentFilters = {};\n mode = '';\n scrollHeight = '400px';\n swalService = inject(SwalService);\n dialogRef;\n // abstract idField: keyof T;\n dialogVisible = false;\n drawerVisible = false;\n selectedItem = null;\n defaultModel = null;\n // selectedItem: T | any = {};\n isViewMode = false;\n isEditMode = false;\n displayMode = 'drawer';\n idParser = inject(IdParserService);\n router = inject(Router);\n route = inject(ActivatedRoute);\n loadPage(pageIndex, pageSize) {\n if (this.canLoad) {\n this.loading = true;\n const filters = {\n maxResultCount: pageSize,\n skipCount: pageIndex,\n sorting: this.sort,\n ...this.currentFilters,\n ...this.pageFilters,\n ...(this.searchGlobal ? { filter: this.searchGlobal } : {}),\n };\n //\n //\n this.service.getList(filters)\n .subscribe({\n next: (res) => {\n //\n this.list = res.items;\n this.totalRecords = res.totalCount;\n this.loading = false;\n },\n error: (err) => {\n this.errorMsg = err.error?.message || err.message || 'خطأ في التحميل';\n this.loading = false;\n }\n });\n }\n }\n onSearch(filters) {\n //\n if (filters && typeof filters === 'object' && !Array.isArray(filters)) {\n this.pageFilters = filters;\n }\n else {\n this.searchGlobal = filters;\n }\n this.loadPage(0, 10);\n }\n onPageChange(event) {\n // فك المتغيّرات مع قيمة افتراضية لفلاتر\n const { first = this.first, rows = this.rows, sort = this.sort, filters = {} } = event;\n this.first = first;\n this.rows = rows;\n this.sort = sort;\n // const pageIndex = Math.floor(first / rows);\n const skipCount = first;\n const pageIndex = skipCount;\n // الوصول للفلتر العام عبر الصيغة المربعة\n const globalValue = filters['global'];\n this.searchGlobal = typeof globalValue === 'string' ? globalValue : '';\n this.loadPage(pageIndex, rows);\n }\n openEditor(item, mode) {\n this.mode = mode;\n this.selectedItem = item ?? this.defaultModel ?? {};\n this.isEditMode = mode === 'edit';\n this.isViewMode = mode === 'view';\n // Auto-load details if edit or view and have ID\n const id = item?.[this.idField];\n if ((this.isEditMode || this.isViewMode) && id) {\n // this.loadDetail(id);\n // (async () => {\n // await this.loadDetail(id);\n // })();\n }\n // resolve displayMode (string or map)\n const modeConfig = typeof this.displayMode === 'string'\n ? this.displayMode\n : this.displayMode[mode] ?? 'drawer';\n switch (modeConfig) {\n case 'drawer':\n this.drawerVisible = true;\n break;\n case 'dialog':\n this.dialogVisible = true;\n break;\n case 'route':\n {\n const id = item ? item[this.idField] : 'new';\n if (mode === 'add') {\n this.router.navigate([mode], { relativeTo: this.route });\n }\n else {\n const commands = [id, mode];\n console.log('Commands:', commands);\n console.log('Current route:', this.route.snapshot.pathFromRoot.map(r => r.routeConfig?.path));\n const tree = this.router.createUrlTree(commands, { relativeTo: this.route });\n console.log('URL Tree:', tree.toString());\n this.router.navigate([id, mode], { relativeTo: this.route });\n }\n break;\n }\n }\n }\n loadDetail(id) {\n return firstValueFrom(this.service.get(id)).then(res => {\n this.selectedItem = res;\n });\n }\n visibleChange(value) {\n const modeConfig = typeof this.displayMode === 'string'\n ? this.displayMode\n : this.displayMode[this.mode] ?? 'drawer';\n if (modeConfig === 'dialog') {\n this.dialogVisible = value;\n }\n else if (modeConfig === 'drawer') {\n this.drawerVisible = value;\n }\n else {\n // route mode does not use drawer/dialog\n }\n }\n onTableAction(event) {\n switch (event.name) {\n case 'add':\n case 'edit':\n case 'view':\n this.openEditor(event.row, event.name);\n break;\n case 'delete':\n this.onDelete(event.row);\n break;\n case 'state':\n this.openDeactivationReason(event.row);\n break;\n }\n }\n openDrawer(item, mode) {\n this.mode = mode;\n // this.drawerVisible = !this.drawerVisible;\n if (item == null) {\n this.selectedItem = this.defaultModel || {};\n }\n else {\n this.selectedItem = item;\n }\n if (mode == 'edit') {\n this.drawerVisible = true;\n this.isEditMode = true;\n this.isViewMode = false;\n // this.isEditMode = item !=null ;\n }\n if (mode == 'add') {\n this.drawerVisible = true;\n this.isViewMode = false;\n this.isEditMode = false;\n }\n if (mode == 'view') {\n // this.drawerVisible = true;\n this.dialogVisible = true;\n this.isViewMode = true;\n this.isEditMode = false;\n }\n }\n openDeactivationReason(model) {\n this.selectedItem = model;\n if (this.selectedItem.isActive == true) {\n const ref = this.dialogService.open(DeactivationReasonFormComponent, {\n header: 'السبب (في حال تم إيقافه)',\n width: '30vw',\n data: { model: { ...model },\n fields: this.formFields,\n service: this.service,\n idField: this.idField },\n });\n ref.onClose.subscribe((result) => {\n if (result) {\n this.selectedItem.isActive = false;\n this.selectedItem.deactivationReason = result.deactivationReason;\n // Optionally: save model via API\n }\n });\n }\n else {\n this.selectedItem.isActive = true;\n this.selectedItem.deactivationReason = \"\";\n const id = this.idParser.parseIds(this.selectedItem, this.idField);\n // const id = (this.selectedItem as any)[this.idField] ;\n this.service.update(id, this.selectedItem).subscribe({\n next: () => { console.log(''); },\n error: (err) => {\n this.loading = false;\n }\n });\n }\n }\n onDelete(item) {\n // const id = item[this.idField];\n const id = this.idParser.parseIds(item, this.idField);\n this.swalService.confirm('تأكيد الحذف', 'هل تريد حذف هذا السجل فعلاً؟', 'نعم، احذف', 'إلغاء').then((result) => {\n if (result.isConfirmed) {\n this.service.delete(id).subscribe({\n next: () => {\n this.loadPage(0, this.rows);\n this.swalService.success('تم الحذف بنجاح');\n },\n error: (err) => {\n this.loading = false;\n }\n });\n }\n });\n }\n get columns() {\n const flattenFields = (fields) => {\n return fields.flatMap(field => {\n if (field.fieldGroup?.length)\n return flattenFields(field.fieldGroup);\n if (!field.props)\n return [];\n const tableConfig = field.props['table'] ?? {};\n const hideExpr = tableConfig.expressions?.hide;\n if (tableConfig.hidden === true || (typeof hideExpr === 'function' && hideExpr()))\n return [];\n const tableType = tableConfig.type ?? 'label-type';\n const mergedProps = { ...field.props, ...(tableConfig.props ?? {}) };\n const order = tableConfig.order ??\n tableConfig.props?.order ??\n mergedProps['order'];\n return [{\n type: tableType,\n key: field.key,\n props: mergedProps,\n expressions: tableConfig.expressions,\n order\n }];\n });\n };\n return flattenFields(this.formFields)\n .sort((a, b) => (a.order ?? Number.MAX_SAFE_INTEGER) - (b.order ?? Number.MAX_SAFE_INTEGER))\n .map(({ order, ...rest }) => rest);\n }\n get filters() {\n const flattenForFilter = (fields) => {\n return fields.flatMap(field => {\n if (field.fieldGroup?.length) {\n // Recursively handle nested panels/groups\n return flattenForFilter(field.fieldGroup);\n }\n // Skip fields with no props or filter.hidden === true\n if (!field.props /* || field.props['filter']?.hidden === true */) {\n return [];\n }\n // Merge base props with filter overrides\n const mergedProps = {\n ...field.props,\n ...field.props['filter']?.props,\n };\n // Remove disabled and required props\n delete mergedProps['disabled'];\n delete mergedProps['required'];\n delete mergedProps['loadDefault'];\n delete mergedProps['canAdd'];\n return [{\n type: field.type,\n key: field.key, // always set key for table rendering\n props: mergedProps,\n // expressions: field.props['filter']?.expressions // uncomment if needed\n }];\n });\n };\n return flattenForFilter(this.formFields);\n }\n static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.8\", ngImport: i0, type: BaseCrud, deps: [], target: i0.ɵɵFactoryTarget.Directive });\n static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"14.0.0\", version: \"20.1.8\", type: BaseCrud, isStandalone: true, ngImport: i0 });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.8\", ngImport: i0, type: BaseCrud, decorators: [{\n type: Directive\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS1jcnVkLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9uZy51aS5jb3JlL2Jhc2UtY3J1ZC9zcmMvbGliL2Jhc2UtY3J1ZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUdsRCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3pELE9BQU8sRUFBZSxlQUFlLEVBQUUsV0FBVyxFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFFOUYsT0FBTyxFQUFFLCtCQUErQixFQUFFLE1BQU0saURBQWlELENBQUM7QUFDbEcsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLE1BQU0sQ0FBQzs7QUFHdEMsTUFBTSxPQUFnQixRQUFRO0lBQzVCLElBQUksR0FBc0IsRUFBRSxDQUFDO0lBQzdCLFNBQVMsR0FBVSxJQUFJLENBQUM7SUFDeEIsT0FBTyxHQUFVLElBQUksQ0FBQztJQUN0QixPQUFPLEdBQVUsS0FBSyxDQUFDO0lBQ3ZCLFFBQVEsR0FBVSxFQUFFLENBQUM7SUFDckIsS0FBSyxHQUFhLENBQUMsQ0FBQztJQUNwQixJQUFJLEdBQWMsRUFBRSxDQUFDO0lBQ3JCLFlBQVksR0FBTSxDQUFDLENBQUM7SUFDcEIsWUFBWSxHQUFNLEVBQUUsQ0FBQztJQUNyQixJQUFJLENBQVU7SUFDZCxXQUFXLEdBQWUsRUFBRSxDQUFDO0lBQzdCLGNBQWMsR0FBZSxFQUFFLENBQUM7SUFDaEMsSUFBSSxHQUFFLEVBQUUsQ0FBQztJQUNULFlBQVksR0FBRSxPQUFPLENBQUM7SUFDZCxXQUFXLEdBQUcsTUFBTSxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBRWhDLFNBQVMsQ0FBb0I7SUFhdkMsNkJBQTZCO0lBQzdCLGFBQWEsR0FBRyxLQUFLLENBQUM7SUFDdEIsYUFBYSxHQUFHLEtBQUssQ0FBQztJQUN0QixZ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QUMsQ0FBQztRQUVGLE9BQU8sZ0JBQWdCLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQzNDLENBQUM7dUdBL1hxQixRQUFROzJGQUFSLFFBQVE7OzJGQUFSLFFBQVE7a0JBRDdCLFNBQVMiLCJzb3VyY2VzQ29udGVudCI6WyJcclxuXHJcbmltcG9ydCB7IERpcmVjdGl2ZSwgaW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IERpYWxvZ1NlcnZpY2UsIER5bmFtaWNEaWFsb2dSZWYgfSBmcm9tICdwcmltZW5nL2R5bmFtaWNkaWFsb2cnO1xyXG5pbXBvcnQgeyBGb3JtbHlGaWVsZENvbmZpZyB9IGZyb20gJ0BuZ3gtZm9ybWx5L2NvcmUnO1xyXG5pbXBvcnQgeyBBY3RpdmF0ZWRSb3V0ZSwgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcclxuaW1wb3J0IHsgQmFzZVNlcnZpY2UsIElkUGFyc2VyU2VydmljZSwgU3dhbFNlcnZpY2UgfSBmcm9tICdAZWxpdGUuZnJhbWV3b3JrL25nLmNvcmUvc2VydmljZXMnO1xyXG5pbXBvcnQgeyBBY3Rpb25EZWYsIFBhZ2luYXRlZFJlc3VsdCB9IGZyb20gJ0BlbGl0ZS5mcmFtZXdvcmsvbmcuY29yZS9tb2RlbHMnO1xyXG5pbXBvcnQgeyBEZWFjdGl2YXRpb25SZWFzb25Gb3JtQ29tcG9uZW50IH0gZnJvbSAnQGVsaXRlLmZyYW1ld29yay9uZy51aS5jb3JlL2RlYWN0aXZhdGlvbi1yZWFzb24nO1xyXG5pbXBvcnQgeyBmaXJzdFZhbHVlRnJvbSB9IGZyb20gJ3J4anMnO1xyXG5cclxuQERpcmVjdGl2ZSgpXHJcbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBCYXNlQ3J1ZDxULCBGID0gYW55PiAge1xyXG4gIGxpc3Q6IFRbXSAgICAgICAgICAgICAgID0gW107XHJcbiAgcGFnaW5hdG9yICAgICAgICA9IHRydWU7XHJcbiAgY2FuTG9hZCAgICAgICAgPSB0cnVlO1xyXG4gIGxvYWRpbmcgICAgICAgID0gZmFsc2U7XHJcbiAgZXJyb3JNc2cgICAgICAgID0gJyc7XHJcbiAgZmlyc3QgICAgICAgICAgID0gMDtcclxuICByb3dzICAgICAgICAgICAgPSAxMDtcclxuICB0b3RhbFJlY29yZHMgICAgPSAwO1xyXG4gIHNlYXJjaEdsb2JhbCAgICA9ICcnO1xyXG4gIHNvcnQ/OiBzdHJpbmc7XHJcbiAgcGFnZUZpbHRlcnM6IFBhcnRpYWw8Rj4gPSB7fTtcclxuICBjdXJyZW50RmlsdGVyczogUGFydGlhbDxGPiA9IHt9O1xyXG4gIG1vZGUgPScnO1xyXG4gIHNjcm9sbEhlaWdodCA9JzQwMHB4JztcclxuICBwcml2YXRlIHN3YWxTZXJ2aWNlID0gaW5qZWN0KFN3YWxTZXJ2aWNlKTtcclxuXHJcbiAgcHJvdGVjdGVkIGRpYWxvZ1JlZiE6IER5bmFtaWNEaWFsb2dSZWY7XHJcblxyXG5cclxuICAvLyBhYnN0cmFjdCBzZXJ2aWNlOiBDcnVkU2VydmljZTxULCBGPjtcclxuICBhYnN0cmFjdCBzZXJ2aWNlOiBCYXNlU2VydmljZTtcclxuICBhYnN0cmFjdCBkaWFsb2dTZXJ2aWNlOiBEaWFsb2dTZXJ2aWNlO1xyXG4gIC8vIGFic3RyYWN0IGRpYWxvZ0NvbXBvbmVudDogYW55O1xyXG4gIC8vIGFic3RyYWN0IGNvbHVtbnM6IENvbHVtbkRlZjxUPltdO1xyXG4gIGFic3RyYWN0IGFjdGlvbnM6IEFjdGlvbkRlZjxUPltdO1xyXG5cclxuICAvLyBmb3IgZ2VuZXJpYyBkaWFsb2c6XHJcbiAgYWJzdHJhY3QgZm9ybUZpZWxkczogRm9ybWx5RmllbGRDb25maWdbXTtcclxuICBhYnN0cmFjdCBpZEZpZWxkOiAgc3RyaW5nIHxhbnk7XHJcbiAgLy8gYWJzdHJhY3QgaWRGaWVsZDoga2V5b2YgVDtcclxuICBkaWFsb2dWaXNpYmxlID0gZmFsc2U7XHJcbiAgZHJhd2VyVmlzaWJsZSA9IGZhbHNlO1xyXG4gIHNlbGVjdGVkSXRlbTogVCB8IGFueSA9IG51bGw7XHJcbiAgZGVmYXVsdE1vZGVsOiBUIHwgYW55ID0gbnVsbDtcclxuICAvLyBzZWxlY3RlZEl0ZW06IFQgfCBhbnkgPSB7fTtcclxuICBpc1ZpZXdNb2RlID0gZmFsc2U7XHJcbiAgaXNFZGl0TW9kZSA9IGZhbHNlO1xyXG5cclxuXHJcblxyXG4gIGRpc3BsYXlNb2RlOlxyXG4gIHwgJ2RyYXdlcicgfCAnZGlhbG9nJyB8ICdyb3V0ZSdcclxuICB8IFBhcnRpYWw8UmVjb3JkPCdhZGQnIHwgJ2VkaXQnIHwgJ3ZpZXcnLCAnZHJhd2VyJyB8ICdkaWFsb2cnIHwgJ3JvdXRlJz4+XHJcbiAgPSAnZHJhd2VyJztcclxucHJpdmF0ZSBpZFBhcnNlcj0gaW5qZWN0KElkUGFyc2VyU2VydmljZSk7XHJcbiAgcHVibGljIHJvdXRlcj0gaW5qZWN0KFJvdXRlcik7XHJcbiAgcHVibGljIHJvdXRlID0gaW5qZWN0KEFjdGl2YXRlZFJvdXRlKTtcclxuXHJcbmxvYWRQYWdlKHBhZ2VJbmRleDogbnVtYmVyLCBwYWdlU2l6ZTogbnVtYmVyKTogdm9pZCB7XHJcbiAgICBpZih0aGlzLmNhbkxvYWQpe1xyXG5cclxuXHJcbiAgICB0aGlzLmxvYWRpbmcgPSB0cnVlO1xyXG4gICAgY29uc3QgZmlsdGVyczogUGFydGlhbDxGPiA9IHtcclxuICAgICAgbWF4UmVzdWx0Q291bnQ6cGFnZVNpemUsXHJcbiAgICAgIHNraXBDb3VudDpwYWdlSW5kZXgsXHJcbiAgICAgIHNvcnRpbmc6dGhpcy5zb3J0LFxyXG4gICAgLi4udGhpcy5jdXJyZW50RmlsdGVycyxcclxuICAgIC4uLnRoaXMucGFnZUZpbHRlcnMsXHJcbiAgICAuLi4odGhpcy5zZWFyY2hHbG9iYWwgPyB7IGZpbHRlcjogdGhpcy5zZWFyY2hHbG9iYWwgfSA6IHt9KSxcclxuICAgIH07XHJcbiAgICAvL1xyXG4gICAgLy9cclxuICAgIHRoaXMuc2VydmljZS5nZXRMaXN0KGZpbHRlcnMpXHJcbiAgICAgIC5zdWJzY3JpYmUoe1xyXG4gICAgICAgIG5leHQ6IChyZXM6IFBhZ2luYXRlZFJlc3VsdDxUPikgPT4ge1xyXG4gICAgICAgICAgLy9cclxuICAgICAgICAgIHRoaXMubGlzdCAgICAgICAgID0gcmVzLml0ZW1zO1xyXG4gICAgICAgICAgdGhpcy50b3RhbFJlY29yZHMgPSByZXMudG90YWxDb3VudDtcclxuICAgICAgICAgIHRoaXMubG9hZGluZyAgICAgID0gZmFsc2U7XHJcbiAgICAgICAgfSxcclxuICAgICAgICBlcnJvcjogKGVycjphbnkpID0+IHtcclxuICAgICAgICAgIHRoaXMuZXJyb3JNc2cgICAgID0gZXJyLmVycm9yPy5tZXNzYWdlIHx8IGVyci5tZXNzYWdlIHx8ICfYrti32KMg2YHZiiDYp9mE2KrYrdmF2YrZhCc7XHJcbiAgICAgICAgICB0aGlzLmxvYWRpbmcgICAgICA9IGZhbHNlO1xyXG4gICAgICAgIH1cclxuICAgICAgfSk7XHJcbiAgICB9XHJcbn1cclxuXHJcbm9uU2VhcmNoKGZpbHRlcnM/OiBhbnkpOiB2b2lkIHtcclxuICAvL1xyXG4gIGlmIChmaWx0ZXJzICYmIHR5cGVvZiBmaWx0ZXJzID09PSAnb2JqZWN0JyAmJiAhQXJyYXkuaXNBcnJheShmaWx0ZXJzKSkge1xyXG4gICAgdGhpcy5wYWdlRmlsdGVycyA9IGZpbHRlcnM7XHJcbiAgfSBlbHNlIHtcclxuICAgIHRoaXMuc2VhcmNoR2xvYmFsID0gZmlsdGVycztcclxuICB9XHJcblxyXG4gIHRoaXMubG9hZFBhZ2UoMCwgMTApO1xyXG59XHJcblxyXG5cclxub25QYWdlQ2hhbmdlKGV2ZW50OiB7IGZpcnN0PzogbnVtYmVyOyByb3dzPzogbnVtYmVyOyBzb3J0Pzogc3RyaW5nOyBmaWx0ZXJzPzogUmVjb3JkPHN0cmluZywgYW55PiB9KTogdm9pZCB7XHJcbiAgLy8g2YHZgyDYp9mE2YXYqti62YrZkdix2KfYqiDZhdi5INmC2YrZhdipINin2YHYqtix2KfYttmK2Kkg2YTZgdmE2KfYqtixXHJcbiAgY29uc3Qge1xyXG4gICAgZmlyc3QgICA9IHRoaXMuZmlyc3QsXHJcbiAgICByb3dzICAgID0gdGhpcy5yb3dzLFxyXG4gICAgc29ydCAgICA9IHRoaXMuc29ydCxcclxuICAgIGZpbHRlcnMgPSB7fVxyXG4gIH0gPSBldmVudDtcclxuXHJcbiAgdGhpcy5maXJzdCA9IGZpcnN0O1xyXG4gIHRoaXMucm93cyAgPSByb3dzO1xyXG4gIHRoaXMuc29ydCAgPSBzb3J0O1xyXG5cclxuICAvLyBjb25zdCBwYWdlSW5kZXggPSBNYXRoLmZsb29yKGZpcnN0IC8gcm93cyk7XHJcbiAgY29uc3Qgc2tpcENvdW50ID0gZmlyc3Q7XHJcbiAgY29uc3QgcGFnZUluZGV4ID0gc2tpcENvdW50O1xyXG5cclxuICAvLyDYp9mE2YjYtdmI2YQg2YTZhNmB2YTYqtixINin2YTYudin2YUg2LnYqNixINin2YTYtdmK2LrYqSDYp9mE2YXYsdio2LnYqVxyXG4gIGNvbnN0IGdsb2JhbFZhbHVlID0gZmlsdGVyc1snZ2xvYmFsJ107XHJcbiAgdGhpcy5zZWFyY2hHbG9iYWwgPSB0eXBlb2YgZ2xvYmFsVmFsdWUgPT09ICdzdHJpbmcnID8gZ2xvYmFsVmFsdWUgOiAnJztcclxuXHJcblxyXG4gIHRoaXMubG9hZFBhZ2UocGFnZUluZGV4LCByb3dzKTtcclxufVxyXG5cclxuXHJcbnByb3RlY3RlZCBvcGVuRWRpdG9yKGl0ZW06IFQgfCBudWxsLCBtb2RlOiAnYWRkJyB8ICdlZGl0JyB8ICd2aWV3Jyk6IHZvaWQge1xyXG4gIHRoaXMubW9kZSA9IG1vZGU7XHJcbiAgdGhpcy5zZWxlY3RlZEl0ZW0gPSBpdGVtID8/IHRoaXMuZGVmYXVsdE1vZGVsID8/IHt9O1xyXG4gIHRoaXMuaXNFZGl0TW9kZSA9IG1vZGUgPT09ICdlZGl0JztcclxuICB0aGlzLmlzVmlld01vZGUgPSBtb2RlID09PSAndmlldyc7XHJcbiAgLy8gQXV0by1sb2FkIGRldGFpbHMgaWYgZWRpdCBvciB2aWV3IGFuZCBoYXZlIElEXHJcbiAgY29uc3QgaWQgPSAoaXRlbSBhcyBhbnkpPy5bdGhpcy5pZEZpZWxkXTtcclxuICBpZiAoKHRoaXMuaXNFZGl0TW9kZSB8fCB0aGlzLmlzVmlld01vZGUpICYmIGlkKSB7XHJcbiAgICAvLyB0aGlzLmxvYWREZXRhaWwoaWQpO1xyXG4gICAgLy8gIChhc3luYyAoKSA9PiB7XHJcbiAgICAvLyAgIGF3YWl0IHRoaXMubG9hZERldGFpbChpZCk7XHJcbiAgICAvLyB9KSgpO1xyXG4gIH1cclxuICAvLyByZXNvbHZlIGRpc3BsYXlNb2RlIChzdHJpbmcgb3IgbWFwKVxyXG4gIGNvbnN0IG1vZGVDb25maWcgPSB0eXBlb2YgdGhpcy5kaXNwbGF5TW9kZSA9PT0gJ3N0cmluZydcclxuICAgID8gdGhpcy5kaXNwbGF5TW9kZVxyXG4gICAgOiB0aGlzLmRpc3BsYXlNb2RlW21vZGVdID8/ICdkcmF3ZXInO1xyXG5cclxuICBzd2l0Y2ggKG1vZGVDb25maWcpIHtcclxuICAgIGNhc2UgJ2RyYXdlcic6XHJcbiAgICAgIHRoaXMuZHJhd2VyVmlzaWJsZSA9IHRydWU7XHJcbiAgICAgIGJyZWFrO1xyXG5cclxuICAgIGNhc2UgJ2RpYWxvZyc6XHJcbiAgICAgIHRoaXMuZGlhbG9nVmlzaWJsZSA9IHRydWU7XHJcbiAgICAgIGJyZWFrO1xyXG5cclxuICAgIGNhc2UgJ3JvdXRlJzpcclxuICAgICAge1xyXG5cclxuXHJcbiAgICAgICAgY29uc3QgaWQgPSBpdGVtID8gKGl0ZW0gYXMgYW55KVt0aGlzLmlkRmllbGRdIDogJ25ldyc7XHJcblxyXG4gICAgICBpZihtb2RlID09PSAnYWRkJyl7XHJcbiAgICAgICAgdGhpcy5yb3V0ZXIubmF2aWdhdGUoW21vZGVdLCB7IHJlbGF0aXZlVG86IHRoaXMucm91dGUgfSk7XHJcbiAgICAgIH1cclxuICAgICAgZWxzZXtcclxuICAgICAgICBjb25zdCBjb21tYW5kcyA9IFtpZCwgbW9kZV07XHJcbiAgICAgICAgY29uc29sZS5sb2coJ0NvbW1hbmRzOicsIGNvbW1hbmRzKTtcclxuICAgICAgICBjb25zb2xlLmxvZygnQ3VycmVudCByb3V0ZTonLCB0aGlzLnJvdXRlLnNuYXBzaG90LnBhdGhGcm9tUm9vdC5tYXAociA9PiByLnJvdXRlQ29uZmlnPy5wYXRoKSk7XHJcblxyXG4gICAgICAgIGNvbnN0IHRyZWUgPSB0aGlzLnJvdXRlci5jcmVhdGVVcmxUcmVlKGNvbW1hbmRzLCB7IHJlbGF0aXZlVG86IHRoaXMucm91dGUgfSk7XHJcbiAgICAgICAgY29uc29sZS5sb2coJ1VSTCBUcmVlOicsIHRyZWUudG9TdHJpbmcoKSk7XHJcblxyXG4gICAgICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFtpZCwgbW9kZV0sIHsgcmVsYXRpdmVUbzogdGhpcy5yb3V0ZSB9KTtcclxuICAgICAgfVxyXG4gICAgICBicmVhaztcclxuICAgICAgfVxyXG4gIH1cclxufVxyXG5wcm90ZWN0ZWQgbG9hZERldGFpbChpZDogc3RyaW5nIHwgbnVtYmVyKSB7XHJcblxyXG4gIHJldHVybiBmaXJzdFZhbHVlRnJvbSh0aGlzLnNlcnZpY2UuZ2V0KGlkIGFzIGFueSkpLnRoZW4ocmVzID0+IHtcclxuICAgIHRoaXMuc2VsZWN0ZWRJdGVtID0gcmVzO1xyXG4gIH0pO1xyXG59XHJcbnZpc2libGVDaGFuZ2UodmFsdWU6IGJvb2xlYW4pIHtcclxuICBjb25zdCBtb2RlQ29uZmlnID0gdHlwZW9mIHRoaXMuZGlzcGxheU1vZGUgPT09ICdzdHJpbmcnXHJcbiAgICA/IHRoaXMuZGlzcGxheU1vZGVcclxuICAgIDogdGhpcy5kaXNwbGF5TW9kZVt0aGlzLm1vZGUgYXMgJ2FkZCcgfCAnZWRpdCcgfCAndmlldyddID8/ICdkcmF3ZXInO1xyXG5cclxuICBpZiAobW9kZUNvbmZpZyA9PT0gJ2RpYWxvZycpIHtcclxuICAgIHRoaXMuZGlhbG9nVmlzaWJsZSA9IHZhbHVlO1xyXG4gIH0gZWxzZSBpZiAobW9kZUNvbmZpZyA9PT0gJ2RyYXdlcicpIHtcclxuICAgIHRoaXMuZHJhd2VyVmlzaWJsZSA9IHZhbHVlO1xyXG4gIH0gZWxzZSB7XHJcbiAgICAvLyByb3V0ZSBtb2RlIGRvZXMgbm90IHVzZSBkcmF3ZXIvZGlhbG9nXHJcbiAgfVxyXG59XHJcblxyXG5cclxuXHJcbm9uVGFibGVBY3Rpb24oZXZlbnQ6IHsgbmFtZTogc3RyaW5nOyByb3c6IFQgfCBudWxsIH0pOiB2b2lkIHtcclxuICBzd2l0Y2ggKGV2ZW50Lm5hbWUpIHtcclxuICAgIGNhc2UgJ2FkZCc6XHJcbiAgICBjYXNlICdlZGl0JzpcclxuICAgIGNhc2UgJ3ZpZXcnOlxyXG4gICAgICB0aGlzLm9wZW5FZGl0b3IoZXZlbnQucm93LCBldmVudC5uYW1lKTtcclxuICAgICAgYnJlYWs7XHJcbiAgICBjYXNlICdkZWxldGUnOlxyXG4gICAgICB0aGlzLm9uRGVsZXRlKGV2ZW50LnJvdyEpO1xyXG4gICAgICBicmVhaztcclxuICAgIGNhc2UgJ3N0YXRlJzpcclxuICAgICAgdGhpcy5vcGVuRGVhY3RpdmF0aW9uUmVhc29uKGV2ZW50LnJvdyEpO1xyXG4gICAgICBicmVhaztcclxuICB9XHJcbn1cclxuXHJcblxyXG5wcm90ZWN0ZWQgb3BlbkRyYXdlcihpdGVtOiBUIHwgbnVsbCxtb2RlOnN0cmluZyk6IHZvaWQge1xyXG5cclxuICAgICAgdGhpcy5tb2RlID0gbW9kZTtcclxuXHJcbiAgICAgIC8vIHRoaXMuZHJhd2VyVmlzaWJsZSA9ICF0aGlzLmRyYXdlclZpc2libGU7XHJcblxyXG5cclxuICAgICAgaWYgKGl0ZW0gPT0gbnVsbCkge1xyXG5cclxuICAgICAgICB0aGlzLnNlbGVjdGVkSXRlbSA9IHRoaXMuZGVmYXVsdE1vZGVsIHx8IHt9O1xyXG4gICAgICB9XHJcbiAgICAgIGVsc2V7XHJcbiAgICAgICAgIHRoaXMuc2VsZWN0ZWRJdGVtID0gaXRlbTtcclxuICAgICAgfVxyXG5cclxuICAgICAgaWYobW9kZSA9PSAnZWRpdCcpe1xyXG4gICAgICAgIHRoaXMuZHJhd2VyVmlzaWJsZSA9IHRydWU7XHJcbiAgICAgICAgdGhpcy5pc0VkaXRNb2RlID0gdHJ1ZSA7XHJcbiAgICAgICAgdGhpcy5pc1ZpZXdNb2RlID0gZmFsc2UgO1xyXG4gICAgICAgIC8vIHRoaXMuaXNFZGl0TW9kZSA9IGl0ZW0gIT1udWxsIDtcclxuICAgICAgfVxyXG4gICAgICBpZihtb2RlID09ICdhZGQnKXtcclxuICAgICAgICAgdGhpcy5kcmF3ZXJWaXNpYmxlID0gdHJ1ZTtcclxuICAgICAgICB0aGlzLmlzVmlld01vZGUgPSBmYWxzZSA7XHJcbiAgICAgICAgdGhpcy5pc0VkaXRNb2RlID0gZmFsc2UgO1xyXG4gICAgICB9XHJcbiAgICAgIGlmKG1vZGUgPT0gJ3ZpZXcnKXtcclxuICAgICAgICAvLyB0aGlzLmRyYXdlclZpc2libGUgPSB0cnVlO1xyXG4gICAgICAgIHRoaXMuZGlhbG9nVmlzaWJsZSA9IHRydWU7XHJcblxyXG4gICAgICAgIHRoaXMuaXNWaWV3TW9kZSA9IHRydWUgO1xyXG4gICAgICAgIHRoaXMuaXNFZGl0TW9kZSA9IGZhbHNlIDtcclxuICAgICAgfVxyXG59XHJcblxyXG5cclxub3BlbkRlYWN0aXZhdGlvblJlYXNvbihtb2RlbDogYW55KSB7XHJcblxyXG4gIHRoaXMuc2VsZWN0ZWRJdGVtID0gbW9kZWw7XHJcbiAgaWYodGhpcy5zZWxlY3RlZEl0ZW0uaXNBY3RpdmUgPT0gdHJ1ZSl7XHJcblxyXG5cclxuICBjb25zdCByZWYgPSB0aGlzLmRpYWxvZ1NlcnZpY2Uub3BlbihEZWFjdGl2YXRpb25SZWFzb25Gb3JtQ29tcG9uZW50LCB7XHJcbiAgICBoZWFkZXI6ICfYp9mE2LPYqNioICjZgdmKINit2KfZhCDYqtmFINil2YrZgtin2YHZhyknLFxyXG4gICAgd2lkdGg6ICczMHZ3JyxcclxuICAgIGRhdGE6IHsgbW9kZWw6IHsgLi4ubW9kZWwgfSxcclxuICAgICAgICBmaWVsZHM6IHRoaXMuZm9ybUZpZWxkcyxcclxuICAgICAgICBzZXJ2aWNlOiB0aGlzLnNlcnZpY2UsXHJcbiAgICAgICAgaWRGaWVsZDogdGhpcy5pZEZpZWxkIH0sXHJcbiAgfSk7XHJcblxyXG4gIHJlZi5vbkNsb3NlLnN1YnNjcmliZSgocmVzdWx0KSA9PiB7XHJcbiAgICBpZiAocmVzdWx0KSB7XHJcbiAgICAgIHRoaXMuc2VsZWN0ZWRJdGVtLmlzQWN0aXZlID0gZmFsc2U7XHJcbiAgICAgIHRoaXMuc2VsZWN0ZWRJdGVtLmRlYWN0aXZhdGlvblJlYXNvbiA9IHJlc3VsdC5kZWFjdGl2YXRpb25SZWFzb247XHJcbiAgICAgIC8vIE9wdGlvbmFsbHk6IHNhdmUgbW9kZWwgdmlhIEFQSVxyXG4gICAgfVxyXG4gIH0pO1xyXG59XHJcbmVsc2V7XHJcbiAgIHRoaXMuc2VsZWN0ZWRJdGVtLmlzQWN0aXZlID0gdHJ1ZTtcclxuICAgdGhpcy5zZWxlY3RlZEl0ZW0uZGVhY3RpdmF0aW9uUmVhc29uID0gXCJcIjtcclxuICAgY29uc3QgaWQgPSB0aGlzLmlkUGFyc2VyLnBhcnNlSWRzKHRoaXMuc2VsZWN0ZWRJdGVtLCB0aGlzLmlkRmllbGQpO1xyXG4gICAgLy8gY29uc3QgaWQgPSAgKHRoaXMuc2VsZWN0ZWRJdGVtIGFzIGFueSlbdGhpcy5pZEZpZWxkXSA7XHJcbiAgICB0aGlzLnNlcnZpY2UudXBkYXRlKGlkLCB0aGlzLnNlbGVjdGVkSXRlbSkuc3Vic2NyaWJlKHtcclxuICAgICAgICAgICBuZXh0OiAoKSA9PiB7Y29uc29sZS5sb2coJycpfSxcclxuICAgICAgICAgICBlcnJvcjogKGVycjphbnkpID0+IHtcclxuICAgICAgICAgICAgIHRoaXMubG9hZGluZyA9IGZhbHNlO1xyXG5cclxuICAgICAgICAgICB9XHJcbiAgICAgICAgIH0pO1xyXG59XHJcbn1cclxuXHJcblxyXG5vbkRlbGV0ZShpdGVtOiBhbnkpOiB2b2lkIHtcclxuICAvLyBjb25zdCBpZCA9IGl0ZW1bdGhpcy5pZEZpZWxkXTtcclxuICBjb25zdCBpZCA9IHRoaXMuaWRQYXJzZXIucGFyc2VJZHMoaXRlbSwgdGhpcy5pZEZpZWxkKTtcclxuXHJcbiAgdGhpcy5zd2FsU2VydmljZS5jb25maXJtKFxyXG4gICAgJ9iq2KPZg9mK2K8g2KfZhNit2LDZgScsXHJcbiAgICAn2YfZhCDYqtix2YrYryDYrdiw2YEg2YfYsNinINin2YTYs9is2YQg2YHYudmE2KfZi9ifJyxcclxuICAgICfZhti52YXYjCDYp9it2LDZgScsXHJcbiAgICAn2KXZhNi62KfYoSdcclxuICApLnRoZW4oKHJlc3VsdCkgPT4ge1xyXG4gICAgaWYgKHJlc3VsdC5pc0NvbmZpcm1lZCkge1xyXG4gICAgICB0aGlzLnNlcnZpY2UuZGVsZXRlKGlkKS5zdWJzY3JpYmUoe1xyXG4gICAgICAgIG5leHQ6ICgpID0+IHtcclxuICAgICAgICAgIHRoaXMubG9hZFBhZ2UoMCwgdGhpcy5yb3dzKTtcclxuICAgICAgICAgIHRoaXMuc3dhbFNlcnZpY2Uuc3VjY2Vzcygn2KrZhSDYp9mE2K3YsNmBINio2YbYrNin2K0nKTtcclxuICAgICAgICB9LFxyXG4gICAgICAgIGVycm9yOiAoZXJyOiBhbnkpID0+IHtcclxuICAgICAgICAgIHRoaXMubG9hZGluZyA9IGZhbHNlO1xyXG5cclxuICAgICAgICB9XHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG4gIH0pO1xyXG59XHJcblxyXG5cclxuXHJcbmdldCBjb2x1bW5zKCk6IEZvcm1seUZpZWxkQ29uZmlnW10ge1xyXG4gIHR5cGUgQ29sID0gRm9ybWx5RmllbGRDb25maWcgJiB7IG9yZGVyPzogbnVtYmVyIH07XHJcblxyXG4gIGNvbnN0IGZsYXR0ZW5GaWVsZHMgPSAoZmllbGRzOiBGb3JtbHlGaWVsZENvbmZpZ1tdKTogQ29sW10gPT4ge1xyXG4gICAgcmV0dXJuIGZpZWxkcy5mbGF0TWFwKGZpZWxkID0+IHtcclxuICAgICAgaWYgKGZpZWxkLmZpZWxkR3JvdXA/Lmxlbmd0aCkgcmV0dXJuIGZsYXR0ZW5GaWVsZHMoZmllbGQuZmllbGRHcm91cCk7XHJcbiAgICAgIGlmICghZmllbGQucHJvcHMpIHJldHVybiBbXTtcclxuXHJcbiAgICAgIGNvbnN0IHRhYmxlQ29uZmlnID0gZmllbGQucHJvcHNbJ3RhYmxlJ10gPz8ge307XHJcbiAgICAgIGNvbnN0IGhpZGVFeHByID0gdGFibGVDb25maWcuZXhwcmVzc2lvbnM/LmhpZGU7XHJcbiAgICAgIGlmICh0YWJsZUNvbmZpZy5oaWRkZW4gPT09IHRydWUgfHwgKHR5cGVvZiBoaWRlRXhwciA9PT0gJ2Z1bmN0aW9uJyAmJiBoaWRlRXhwcigpKSkgcmV0dXJuIFtdO1xyXG5cclxuICAgICAgY29uc3QgdGFibGVUeXBlID0gdGFibGVDb25maWcudHlwZSA/PyAnbGFiZWwtdHlwZSc7XHJcbiAgICAgIGNvbnN0IG1lcmdlZFByb3BzID0geyAuLi5maWVsZC5wcm9wcywgLi4uKHRhYmxlQ29uZmlnLnByb3BzID8/IHt9KSB9O1xyXG5cclxuICAgICAgY29uc3Qgb3JkZXI6IG51bWJlciB8IHVuZGVmaW5lZCA9XHJcbiAgICAgICAgKHRhYmxlQ29uZmlnLm9yZGVyIGFzIG51bWJlciB8IHVuZGVmaW5lZCkgPz9cclxuICAgICAgICAodGFibGVDb25maWcucHJvcHM/Lm9yZGVyIGFzIG51bWJlciB8IHVuZGVmaW5lZCkgPz9cclxuICAgICAgICAobWVyZ2VkUHJvcHNbJ29yZGVyJ10gYXMgbnVtYmVyIHwgdW5kZWZpbmVkKTtcclxuXHJcbiAgICAgIHJldHVybiBbe1xyXG4gICAgICAgIHR5cGU6IHRhYmxlVHlwZSxcclxuICAgICAgICBrZXk6IGZpZWxkLmtleSxcclxuICAgICAgICBwcm9wczogbWVyZ2VkUHJvcHMsXHJcbiAgICAgICAgZXhwcmVzc2lvbnM6IHRhYmxlQ29uZmlnLmV4cHJlc3Npb25zLFxyXG4gICAgICAgIG9yZGVyXHJcbiAgICAgIH1dO1xyXG4gICAgfSk7XHJcbiAgfTtcclxuXHJcbiAgcmV0dXJuIGZsYXR0ZW5GaWVsZHModGhpcy5mb3JtRmllbGRzKVxyXG4gICAgLnNvcnQoKGEsIGIpID0+IChhLm9yZGVyID8/IE51bWJlci5NQVhfU0FGRV9JTlRFR0VSKSAtIChiLm9yZGVyID8/IE51bWJlci5NQVhfU0FGRV9JTlRFR0VSKSlcclxuICAgIC5tYXAoKHsgb3JkZXIsIC4uLnJlc3QgfSkgPT4gcmVzdCBhcyBGb3JtbHlGaWVsZENvbmZpZyk7XHJcbn1cclxuXHJcblxyXG5cclxuXHJcbmdldCBmaWx0ZXJzKCk6IEZvcm1seUZpZWxkQ29uZmlnW10ge1xyXG4gIGNvbnN0IGZsYXR0ZW5Gb3JGaWx0ZXIgPSAoZmllbGRzOiBGb3JtbHlGaWVsZENvbmZpZ1tdKTogRm9ybWx5RmllbGRDb25maWdbXSA9PiB7XHJcbiAgICByZXR1cm4gZmllbGRzLmZsYXRNYXAoZmllbGQgPT4ge1xyXG4gICAgICBpZiAoZmllbGQuZmllbGRHcm91cD8ubGVuZ3RoKSB7XHJcbiAgICAgICAgLy8gUmVjdXJzaXZlbHkgaGFuZGxlIG5lc3RlZCBwYW5lbHMvZ3JvdXBzXHJcbiAgICAgICAgcmV0dXJuIGZsYXR0ZW5Gb3JGaWx0ZXIoZmllbGQuZmllbGRHcm91cCk7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIC8vIFNraXAgZmllbGRzIHdpdGggbm8gcHJvcHMgb3IgZmlsdGVyLmhpZGRlbiA9PT0gdHJ1ZVxyXG4gICAgICBpZiAoIWZpZWxkLnByb3BzIC8qIHx8IGZpZWxkLnByb3BzWydmaWx0ZXInXT8uaGlkZGVuID09PSB0cnVlICovKSB7XHJcbiAgICAgICAgcmV0dXJuIFtdO1xyXG4gICAgICB9XHJcblxyXG4gICAgICAvLyBNZXJnZSBiYXNlIHByb3BzIHdpdGggZmlsdGVyIG92ZXJyaWRlc1xyXG4gICAgICBjb25zdCBtZXJnZWRQcm9wcyA9IHtcclxuICAgICAgICAuLi5maWVsZC5wcm9wcyxcclxuICAgICAgICAuLi5maWVsZC5wcm9wc1snZmlsdGVyJ10/LnByb3BzLFxyXG4gICAgICB9O1xyXG5cclxuICAgICAgLy8gUmVtb3ZlIGRpc2FibGVkIGFuZCByZXF1aXJlZCBwcm9wc1xyXG4gICAgICBkZWxldGUgbWVyZ2VkUHJvcHNbJ2Rpc2FibGVkJ107XHJcbiAgICAgIGRlbGV0ZSBtZXJnZWRQcm9wc1sncmVxdWlyZWQnXTtcclxuICAgICAgZGVsZXRlIG1lcmdlZFByb3BzWydsb2FkRGVmYXVsdCddO1xyXG4gICAgICBkZWxldGUgbWVyZ2VkUHJvcHNbJ2NhbkFkZCddO1xyXG5cclxuXHJcbiAgICAgIHJldHVybiBbe1xyXG4gICAgICAgIHR5cGU6IGZpZWxkLnR5cGUsXHJcbiAgICAgICAga2V5OiBmaWVsZC5rZXksIC8vIGFsd2F5cyBzZXQga2V5IGZvciB0YWJsZSByZW5kZXJpbmdcclxuICAgICAgICBwcm9wczogbWVyZ2VkUHJvcHMsXHJcbiAgICAgICAgLy8gZXhwcmVzc2lvbnM6IGZpZWxkLnByb3BzWydmaWx0ZXInXT8uZXhwcmVzc2lvbnMgLy8gdW5jb21tZW50IGlmIG5lZWRlZFxyXG4gICAgICB9XTtcclxuICAgIH0pO1xyXG4gIH07XHJcblxyXG4gIHJldHVybiBmbGF0dGVuRm9yRmlsdGVyKHRoaXMuZm9ybUZpZWxkcyk7XHJcbn1cclxuXHJcblxyXG59XHJcbiJdfQ==","/**\n * Generated bundle index. Do not edit.\n */\nexport * from './index';\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxpdGUuZnJhbWV3b3JrLW5nLnVpLmNvcmUtYmFzZS1jcnVkLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGlicy9uZy51aS5jb3JlL2Jhc2UtY3J1ZC9zcmMvZWxpdGUuZnJhbWV3b3JrLW5nLnVpLmNvcmUtYmFzZS1jcnVkLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYyxTQUFTLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEdlbmVyYXRlZCBidW5kbGUgaW5kZXguIERvIG5vdCBlZGl0LlxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vaW5kZXgnO1xuIl19"],"names":[],"mappings":"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"}
|
|
@@ -14,7 +14,7 @@ import { FormlyButtonComponent } from '@elite.framework/ng.ui.core/formly-button
|
|
|
14
14
|
import { FormlySelectionButtonComponent } from '@elite.framework/ng.ui.core/formly-button-selector';
|
|
15
15
|
import { FormlySplitButtonComponent } from '@elite.framework/ng.ui.core/formly-split-button';
|
|
16
16
|
import { UsernameWithDomainComponent } from '@elite.framework/ng.ui.core/formly-username-with-domain';
|
|
17
|
-
import { QueryBuilderComponent, SortBuilderComponent, GroupTypeComponent, TabTypeComponent } from '@elite.framework/ng.ui.core/generic-search-advanced';
|
|
17
|
+
import { QueryBuilderComponent, SortBuilderComponent, GroupTypeComponent, TabTypeComponent, GroupBuilderComponent, ColumnsBuilderComponent } from '@elite.framework/ng.ui.core/generic-search-advanced';
|
|
18
18
|
import { GenericSelectorTypeComponent } from '@elite.framework/ng.ui.core/generic-selector';
|
|
19
19
|
import { IconPickerComponent } from '@elite.framework/ng.ui.core/icon-picker';
|
|
20
20
|
import { InputSwitchTypeComponent } from '@elite.framework/ng.ui.core/input-switch';
|
|
@@ -89,6 +89,14 @@ function withFormlyQueryBuilder() {
|
|
|
89
89
|
name: 'tab-type',
|
|
90
90
|
component: TabTypeComponent
|
|
91
91
|
},
|
|
92
|
+
{
|
|
93
|
+
name: 'group-builder',
|
|
94
|
+
component: GroupBuilderComponent
|
|
95
|
+
},
|
|
96
|
+
{
|
|
97
|
+
name: 'columns-builder',
|
|
98
|
+
component: ColumnsBuilderComponent
|
|
99
|
+
},
|
|
92
100
|
],
|
|
93
101
|
};
|
|
94
102
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"elite.framework-ng.ui.core-formly-ui-all.mjs","sources":["../tmp-esm2022/formly-ui-all/lib/formly-ui-all-module.js","../tmp-esm2022/formly-ui-all/lib/formly-all.config.js","../tmp-esm2022/formly-ui-all/elite.framework-ng.ui.core-formly-ui-all.js"],"sourcesContent":["import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport * as i0 from \"@angular/core\";\nexport class FormlyUiAllModule {\n static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.8\", ngImport: i0, type: FormlyUiAllModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });\n static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: \"14.0.0\", version: \"20.1.8\", ngImport: i0, type: FormlyUiAllModule, imports: [CommonModule] });\n static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: \"12.0.0\", version: \"20.1.8\", ngImport: i0, type: FormlyUiAllModule, imports: [CommonModule] });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.8\", ngImport: i0, type: FormlyUiAllModule, decorators: [{\n type: NgModule,\n args: [{\n imports: [CommonModule],\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybWx5LXVpLWFsbC1tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL25nLnVpLmNvcmUvZm9ybWx5LXVpLWFsbC9zcmMvbGliL2Zvcm1seS11aS1hbGwtbW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDOztBQUsvQyxNQUFNLE9BQU8saUJBQWlCO3VHQUFqQixpQkFBaUI7d0dBQWpCLGlCQUFpQixZQUZsQixZQUFZO3dHQUVYLGlCQUFpQixZQUZsQixZQUFZOzsyRkFFWCxpQkFBaUI7a0JBSDdCLFFBQVE7bUJBQUM7b0JBQ1IsT0FBTyxFQUFFLENBQUMsWUFBWSxDQUFDO2lCQUN4QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuXG5ATmdNb2R1bGUoe1xuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlXSxcbn0pXG5leHBvcnQgY2xhc3MgRm9ybWx5VWlBbGxNb2R1bGUge31cbiJdfQ==","import { AttachmentTypeComponent } from \"@elite.framework/ng.ui.core/attachments\";\nimport { CollapsibleWrapper } from \"@elite.framework/ng.ui.core/collapsible\";\nimport { ColorPickerComponent } from \"@elite.framework/ng.ui.core/color-picker\";\nimport { ConditionExpressionBuilderType } from \"@elite.framework/ng.ui.core/condition-editor\";\nimport { CustomSwitchFieldComponent } from \"@elite.framework/ng.ui.core/custom-switch\";\nimport { FormlyFieldButton } from \"@elite.framework/ng.ui.core/form-button\";\nimport { FormlyTemplateType } from \"@elite.framework/ng.ui.core/form-template\";\nimport { FormlyAvatarImageComponent } from \"@elite.framework/ng.ui.core/formly-avatar-image\";\nimport { FormlyAvatarLabelComponent } from \"@elite.framework/ng.ui.core/formly-avatar-label\";\nimport { FormlyButtonComponent } from \"@elite.framework/ng.ui.core/formly-button\";\nimport { FormlySelectionButtonComponent } from \"@elite.framework/ng.ui.core/formly-button-selector\";\nimport { FormlySplitButtonComponent } from \"@elite.framework/ng.ui.core/formly-split-button\";\nimport { UsernameWithDomainComponent } from \"@elite.framework/ng.ui.core/formly-username-with-domain\";\nimport { GroupTypeComponent, QueryBuilderComponent, SortBuilderComponent, TabTypeComponent } from \"@elite.framework/ng.ui.core/generic-search-advanced\";\nimport { GenericSelectorTypeComponent } from \"@elite.framework/ng.ui.core/generic-selector\";\nimport { IconPickerComponent } from \"@elite.framework/ng.ui.core/icon-picker\";\nimport { InputSwitchTypeComponent } from \"@elite.framework/ng.ui.core/input-switch\";\nimport { InputWithIconType } from \"@elite.framework/ng.ui.core/input-with-icon\";\nimport { LabelTypeComponent, ClickableLabelTypeComponent, CustomTypeComponent } from \"@elite.framework/ng.ui.core/label-type\";\nimport { RepeatTypeComponent } from \"@elite.framework/ng.ui.core/repeat\";\nimport { TabsTypeComponent } from \"@elite.framework/ng.ui.core/tabs\";\nimport { OptionTagTypeComponent, TagTypeComponent, ColorTagTypeComponent } from \"@elite.framework/ng.ui.core/tag-type\";\nimport { RichTextEditorTypeComponent } from \"@elite.framework/ng.ui.core/text-editor\";\nimport { PanelWrapperComponent, LabelWrapperComponent, TdWrapperComponent, CustomFieldWrapper } from \"@elite.framework/ng.ui.core/wrappers\";\nexport function provideAllFormlyFields() {\n const fields = [\n withFormlyFieldInputWithIcon,\n withFormlyFieldAttachment,\n withFormlyFieldRichTextEditor,\n withFormlyFieldGenericSelector,\n withFormlyFieldSwitch,\n withFormlyFieldUsernameWithDomain,\n withFormlyFieldCustomSwitch,\n withFormlyFieldFormlySplit,\n withFormlyFieldButtonSelection,\n withFormlyFieldAvatarLabelButton,\n withFormlyFieldFormlyButton,\n withFormlyFieldLabelType,\n withFormlyFieldClickableLabelType,\n withFormlyFieldOptionTag,\n withFormlyFieldRepeat,\n withFormlyFieldTabs,\n withFormlyFieldTag,\n withFormlyFieldColorTag,\n withFormlyFieldConditionBuilder,\n withFormlyFieldIconPicker,\n withFormlyFieldColorPicker,\n withFormlyFieldTemplate,\n withFormlyFieldButton,\n withFormlyFieldAvatarImage,\n withFormlyWrappers,\n withFormlyQueryBuilder,\n ];\n // Call each provider function to get the Provider object\n return fields.map(fn => fn());\n}\n// ---- Field Providers ----\nexport function withFormlyQueryBuilder() {\n return {\n types: [\n {\n name: 'query-builder',\n component: QueryBuilderComponent\n },\n {\n name: 'sort-builder',\n component: SortBuilderComponent\n },\n {\n name: 'group', component: GroupTypeComponent\n },\n {\n name: 'tab-type',\n component: TabTypeComponent\n },\n ],\n };\n}\nexport function withFormlyFieldInputWithIcon() {\n return {\n types: [\n {\n name: 'inputWithIcon',\n component: InputWithIconType,\n wrappers: ['form-field'],\n },\n ],\n };\n}\nexport function withFormlyFieldAttachment() {\n return {\n types: [\n {\n name: 'attachment-type',\n component: AttachmentTypeComponent,\n wrappers: ['form-field'],\n },\n ],\n };\n}\nexport function withFormlyFieldRichTextEditor() {\n return {\n types: [\n {\n name: 'rich-text-editor',\n component: RichTextEditorTypeComponent,\n wrappers: ['form-field'],\n },\n ],\n };\n}\nexport function withFormlyFieldGenericSelector() {\n return {\n types: [\n {\n name: 'generic-selector',\n component: GenericSelectorTypeComponent,\n wrappers: ['form-field'],\n // defaultOptions: {\n // props: {\n // loadDefaultField: 'isDefault', // 👈 default value\n // loadDefaultValue: true, // 👈 default value\n // loadDefault: true, // 👈 default value\n // fixedFilters:{\n // isActive:true\n // }\n // },\n // },\n },\n ],\n };\n}\nexport function globalGenericSelectorExtension() {\n return {\n extensions: [\n {\n name: 'generic-selector-defaults',\n extension: {\n prePopulate(field) {\n if (field.type === 'generic-selector') {\n field.props = {\n loadDefaultField: 'isDefault',\n loadDefaultValue: true,\n loadDefault: true,\n fixedFilters: {\n isActive: true\n },\n ...field.props, // 👈 keep per-field overrides\n };\n }\n },\n },\n },\n ],\n };\n}\nexport function withFormlyFieldSwitch() {\n return {\n types: [\n {\n name: 'switch',\n component: InputSwitchTypeComponent,\n wrappers: ['form-field-no'],\n },\n ],\n };\n}\nexport function withFormlyFieldUsernameWithDomain() {\n return {\n types: [\n {\n name: 'username-with-domain',\n component: UsernameWithDomainComponent,\n wrappers: ['form-field'],\n },\n ],\n };\n}\nexport function withFormlyFieldCustomSwitch() {\n return {\n types: [\n {\n name: 'custom-switch',\n component: CustomSwitchFieldComponent,\n wrappers: ['form-field-no'],\n },\n ],\n };\n}\nexport function withFormlyFieldFormlySplit() {\n return {\n types: [\n {\n name: 'Formly-Split',\n component: FormlySplitButtonComponent,\n wrappers: ['form-field'],\n },\n ],\n };\n}\nexport function withFormlyFieldButtonSelection() {\n return {\n types: [\n {\n name: 'Button-Selection',\n component: FormlySelectionButtonComponent,\n wrappers: ['form-field'],\n },\n ],\n };\n}\nexport function withFormlyFieldAvatarLabelButton() {\n return {\n types: [\n {\n name: 'avatar-label-button',\n component: FormlyAvatarLabelComponent,\n },\n ],\n };\n}\nexport function withFormlyFieldFormlyButton() {\n return {\n types: [\n {\n name: 'formly-button',\n component: FormlyButtonComponent,\n },\n ],\n };\n}\nexport function withFormlyFieldLabelType() {\n return {\n types: [\n {\n name: 'label-type',\n component: LabelTypeComponent,\n },\n {\n name: 'custom-label-type',\n component: CustomTypeComponent,\n wrappers: ['field-wrapper']\n },\n ],\n };\n}\nexport function withFormlyFieldClickableLabelType() {\n return {\n types: [\n {\n name: 'clickable-label-type',\n component: ClickableLabelTypeComponent,\n },\n ],\n };\n}\nexport function withFormlyFieldOptionTag() {\n return {\n types: [\n {\n name: 'option-tag',\n component: OptionTagTypeComponent,\n },\n ],\n };\n}\nexport function withFormlyFieldRepeat() {\n return {\n types: [\n {\n name: 'repeat',\n component: RepeatTypeComponent,\n },\n ],\n };\n}\nexport function withFormlyFieldTabs() {\n return {\n types: [\n {\n name: 'tabs',\n component: TabsTypeComponent,\n },\n ],\n };\n}\nexport function withFormlyFieldTag() {\n return {\n types: [\n {\n name: 'tag',\n component: TagTypeComponent,\n },\n ],\n };\n}\nexport function withFormlyFieldColorTag() {\n return {\n types: [\n {\n name: 'color-tag',\n component: ColorTagTypeComponent,\n },\n ],\n };\n}\nexport function withFormlyFieldConditionBuilder() {\n return {\n types: [\n {\n name: 'condition-builder',\n component: ConditionExpressionBuilderType,\n wrappers: ['form-field'],\n },\n ],\n };\n}\nexport function withFormlyFieldIconPicker() {\n return {\n types: [\n {\n name: 'icon-picker',\n component: IconPickerComponent,\n wrappers: ['form-field-no'],\n },\n ],\n };\n}\nexport function withFormlyFieldColorPicker() {\n return {\n types: [\n {\n name: 'color-picker',\n component: ColorPickerComponent,\n wrappers: ['form-field-no'],\n },\n ],\n };\n}\nexport function withFormlyFieldTemplate() {\n return {\n types: [\n {\n name: 'template',\n component: FormlyTemplateType,\n },\n ],\n };\n}\nexport function withFormlyFieldButton() {\n return {\n types: [\n {\n name: 'button',\n component: FormlyFieldButton,\n wrappers: ['form-field'],\n defaultOptions: {\n props: {\n btnType: 'default',\n type: 'button',\n },\n },\n },\n ],\n };\n}\nexport function withFormlyFieldAvatarImage() {\n return {\n types: [\n {\n name: 'avatar-image',\n component: FormlyAvatarImageComponent,\n },\n ],\n };\n}\nexport function withFormlyWrappers() {\n return {\n wrappers: [\n { name: 'panel', component: PanelWrapperComponent },\n { name: 'label', component: LabelWrapperComponent },\n { name: 'td', component: TdWrapperComponent },\n { name: 'collapsible', component: CollapsibleWrapper },\n { name: 'field-wrapper', component: CustomFieldWrapper },\n ],\n };\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybWx5LWFsbC5jb25maWcuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL25nLnVpLmNvcmUvZm9ybWx5LXVpLWFsbC9zcmMvbGliL2Zvcm1seS1hbGwuY29uZmlnLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLHlDQUF5QyxDQUFDO0FBQ2xGLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHlDQUF5QyxDQUFDO0FBQzdFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDBDQUEwQyxDQUFDO0FBQ2hGLE9BQU8sRUFBRSw4QkFBOEIsRUFBRSxNQUFNLDhDQUE4QyxDQUFDO0FBQzlGLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLDJDQUEyQyxDQUFDO0FBQ3ZGLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHlDQUF5QyxDQUFDO0FBQzVFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDJDQUEyQyxDQUFDO0FBQy9FLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLGlEQUFpRCxDQUFDO0FBQzdGLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLGlEQUFpRCxDQUFDO0FBQzdGLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLDJDQUEyQyxDQUFDO0FBQ2xGLE9BQU8sRUFBRSw4QkFBOEIsRUFBRSxNQUFNLG9EQUFvRCxDQUFDO0FBQ3BHLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLGlEQUFpRCxDQUFDO0FBQzdGLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLHlEQUF5RCxDQUFDO0FBQ3RHLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxxQkFBcUIsRUFBRSxvQkFBb0IsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHFEQUFxRCxDQUFDO0FBQ3hKLE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxNQUFNLDhDQUE4QyxDQUFDO0FBQzVGLE9BQU8sRUFBRSxt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QUN4QyxPQUFPO1FBQ0wsS0FBSyxFQUFFO1lBQ0w7Z0JBQ0UsSUFBSSxFQUFFLGNBQWM7Z0JBQ3BCLFNBQVMsRUFBRSwwQkFBMEI7YUFDdEM7U0FDRjtLQUNGLENBQUM7QUFDSixDQUFDO0FBRUQsTUFBTSxVQUFVLGtCQUFrQjtJQUNoQyxPQUFPO1FBQ0wsUUFBUSxFQUFFO1lBQ1IsRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxxQkFBcUIsRUFBRTtZQUNuRCxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUFFLHFCQUFxQixFQUFFO1lBQ25ELEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsa0JBQWtCLEVBQUU7WUFDN0MsRUFBRSxJQUFJLEVBQUUsYUFBYSxFQUFFLFNBQVMsRUFBRSxrQkFBa0IsRUFBRTtZQUN0RCxFQUFFLElBQUksRUFBRSxlQUFlLEVBQUUsU0FBUyxFQUFFLGtCQUFrQixFQUFFO1NBQ3pEO0tBQ0YsQ0FBQztBQUNKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBdHRhY2htZW50VHlwZUNvbXBvbmVudCB9IGZyb20gXCJAZWxpdGUuZnJhbWV3b3JrL25nLnVpLmNvcmUvYXR0YWNobWVudHNcIjtcclxuaW1wb3J0IHsgQ29sbGFwc2libGVXcmFwcGVyIH0gZnJvbSBcIkBlbGl0ZS5mcmFtZXdvcmsvbmcudWkuY29yZS9jb2xsYXBzaWJsZVwiO1xyXG5pbXBvcnQgeyBDb2xvclBpY2tlckNvbXBvbmVudCB9IGZyb20gXCJAZWxpdGUuZnJhbWV3b3JrL25nLnVpLmNvcmUvY29sb3ItcGlja2VyXCI7XHJcbmltcG9ydCB7IENvbmRpdGlvbkV4cHJlc3Npb25CdWlsZGVyVHlwZSB9IGZyb20gXCJAZWxpdGUuZnJhbWV3b3JrL25nLnVpLmNvcmUvY29uZGl0aW9uLWVkaXRvclwiO1xyXG5pbXBvcnQgeyBDdXN0b21Td2l0Y2hGaWVsZENvbXBvbmVudCB9IGZyb20gXCJAZWxpdGUuZnJhbWV3b3JrL25nLnVpLmNvcmUvY3VzdG9tLXN3aXRjaFwiO1xyXG5pbXBvcnQgeyBGb3JtbHlGaWVsZEJ1dHRvbiB9IGZyb20gXCJAZWxpdGUuZnJhbWV3b3JrL25nLnVpLmNvcmUvZm9ybS1idXR0b25cIjtcclxuaW1wb3J0IHsgRm9ybWx5VGVtcGxhdGVUeXBlIH0gZnJvbSBcIkBlbGl0ZS5mcmFtZXdvcmsvbmcudWkuY29yZS9mb3JtLXRlbXBsYXRlXCI7XHJcbmltcG9ydCB7IEZvcm1seUF2YXRhckltYWdlQ29tcG9uZW50IH0gZnJvbSBcIkBlbGl0ZS5mcmFtZXdvcmsvbmcudWkuY29yZS9mb3JtbHktYXZhdGFyLWltYWdlXCI7XHJcbmltcG9ydCB7IEZvcm1seUF2YXRhckxhYmVsQ29tcG9uZW50IH0gZnJvbSBcIkBlbGl0ZS5mcmFtZXdvcmsvbmcudWkuY29yZS9mb3JtbHktYXZhdGFyLWxhYmVsXCI7XHJcbmltcG9ydCB7IEZvcm1seUJ1dHRvbkNvbXBvbmVudCB9IGZyb20gXCJAZWxpdGUuZnJhbWV3b3JrL25nLnVpLmNvcmUvZm9ybWx5LWJ1dHRvblwiO1xyXG5pbXBvcnQgeyBGb3JtbHlTZWxlY3Rpb25CdXR0b25Db21wb25lbnQgfSBmcm9tIFwiQGVsaXRlLmZyYW1ld29yay9uZy51aS5jb3JlL2Zvcm1seS1idXR0b24tc2VsZWN0b3JcIjtcclxuaW1wb3J0IHsgRm9ybWx5U3BsaXRCdXR0b25Db21wb25lbnQgfSBmcm9tIFwiQGVsaXRlLmZyYW1ld29yay9uZy51aS5jb3JlL2Zvcm1seS1zcGxpdC1idXR0b25cIjtcclxuaW1wb3J0IHsgVXNlcm5hbWVXaXRoRG9tYWluQ29tcG9uZW50IH0gZnJvbSBcIkBlbGl0ZS5mcmFtZXdvcmsvbmcudWkuY29yZS9mb3JtbHktdXNlcm5hbWUtd2l0aC1kb21haW5cIjtcclxuaW1wb3J0IHsgR3JvdXBUeXBlQ29tcG9uZW50LCBRdWVyeUJ1aWxkZXJDb21wb25lbnQsIFNvcnRCdWlsZGVyQ29tcG9uZW50LCBUYWJUeXBlQ29tcG9uZW50IH0gZnJvbSBcIkBlbGl0ZS5mcmFtZXdvcmsvbmcudWkuY29yZS9nZW5lcmljLXNlYXJjaC1hZHZhbmNlZFwiO1xyXG5pbXBvcnQgeyBHZW5lcmljU2VsZWN0b3JUeXBlQ29tcG9uZW50IH0gZnJvbSBcIkBlbGl0ZS5mcmFtZXdvcmsvbmcudWkuY29yZS9nZW5lcmljLXNlbGVjdG9yXCI7XHJcbmltcG9ydCB7IEljb25QaWNrZXJDb21wb25lbnQgfSBmcm9tIFwiQGVsaXRlLmZyYW1ld29yay9uZy51aS5jb3JlL2ljb24tcGlja2VyXCI7XHJcbmltcG9ydCB7IElucHV0U3dpdGNoVHlwZUNvbXBvbmVudCB9IGZyb20gXCJAZWxpdGUuZnJhbWV3b3JrL25nLnVpLmNvcmUvaW5wdXQtc3dpdGNoXCI7XHJcbmltcG9ydCB7IElucHV0V2l0aEljb25UeXBlIH0gZnJvbSBcIkBlbGl0ZS5mcmFtZXdvcmsvbmcudWkuY29yZS9pbnB1dC13aXRoLWljb25cIjtcclxuaW1wb3J0IHsgTGFiZWxUeXBlQ29tcG9uZW50LCBDbGlja2FibGVMYWJlbFR5cGVDb21wb25lbnQsIEN1c3RvbVR5cGVDb21wb25lbnQgfSBmcm9tIFwiQGVsaXRlLmZyYW1ld29yay9uZy51aS5jb3JlL2xhYmVsLXR5cGVcIjtcclxuaW1wb3J0IHsgUmVwZWF0VHlwZUNvbXBvbmVudCB9IGZyb20gXCJAZWxpdGUuZnJhbWV3b3JrL25nLnVpLmNvcmUvcmVwZWF0XCI7XHJcbmltcG9ydCB7IFRhYnNUeXBlQ29tcG9uZW50IH0gZnJvbSBcIkBlbGl0ZS5mcmFtZXdvcmsvbmcudWkuY29yZS90YWJzXCI7XHJcbmltcG9ydCB7IE9wdGlvblRhZ1R5cGVDb21wb25lbnQsIFRhZ1R5cGVDb21wb25lbnQsIENvbG9yVGFnVHlwZUNvbXBvbmVudCB9IGZyb20gXCJAZWxpdGUuZnJhbWV3b3JrL25nLnVpLmNvcmUvdGFnLXR5cGVcIjtcclxuaW1wb3J0IHsgUmljaFRleHRFZGl0b3JUeXBlQ29tcG9uZW50IH0gZnJvbSBcIkBlbGl0ZS5mcmFtZXdvcmsvbmcudWkuY29yZS90ZXh0LWVkaXRvclwiO1xyXG5pbXBvcnQgeyBQYW5lbFdyYXBwZXJDb21wb25lbnQsIExhYmVsV3JhcHBlckNvbXBvbmVudCwgVGRXcmFwcGVyQ29tcG9uZW50LCBDdXN0b21GaWVsZFdyYXBwZXIgfSBmcm9tIFwiQGVsaXRlLmZyYW1ld29yay9uZy51aS5jb3JlL3dyYXBwZXJzXCI7XHJcbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAbngvZW5mb3JjZS1tb2R1bGUtYm91bmRhcmllc1xyXG5pbXBvcnQgeyBDb25maWdPcHRpb24sIEZvcm1seUZpZWxkQ29uZmlnIH0gZnJvbSBcIkBuZ3gtZm9ybWx5L2NvcmVcIjtcclxuXHJcblxyXG5leHBvcnQgZnVuY3Rpb24gcHJvdmlkZUFsbEZvcm1seUZpZWxkcygpOiBDb25maWdPcHRpb25bXSB7XHJcbiAgY29uc3QgZmllbGRzID0gW1xyXG5cclxuICAgIHdpdGhGb3JtbHlGaWVsZElucHV0V2l0aEljb24sXHJcbiAgICB3aXRoRm9ybWx5RmllbGRBdHRhY2htZW50LFxyXG4gICAgd2l0aEZvcm1seUZpZWxkUmljaFRleHRFZGl0b3IsXHJcbiAgICB3aXRoRm9ybWx5RmllbGRHZW5lcmljU2VsZWN0b3IsXHJcbiAgICB3aXRoRm9ybWx5RmllbGRTd2l0Y2gsXHJcbiAgICB3aXRoRm9ybWx5RmllbGRVc2VybmFtZVdpdGhEb21haW4sXHJcbiAgICB3aXRoRm9ybWx5RmllbGRDdXN0b21Td2l0Y2gsXHJcbiAgICB3aXRoRm9ybWx5RmllbGRGb3JtbHlTcGxpdCxcclxuICAgIHdpdGhGb3JtbHlGaWVsZEJ1dHRvblNlbGVjdGlvbixcclxuICAgIHdpdGhGb3JtbHlGaWVsZEF2YXRhckxhYmVsQnV0dG9uLFxyXG4gICAgd2l0aEZvcm1seUZpZWxkRm9ybWx5QnV0dG9uLFxyXG4gICAgd2l0aEZvcm1seUZpZWxkTGFiZWxUeXBlLFxyXG4gICAgd2l0aEZvcm1seUZpZWxkQ2xpY2thYmxlTGFiZWxUeXBlLFxyXG4gICAgd2l0aEZvcm1seUZpZWxkT3B0aW9uVGFnLFxyXG4gICAgd2l0aEZvcm1seUZpZWxkUmVwZWF0LFxyXG4gICAgd2l0aEZvcm1seUZpZWxkVGFicyxcclxuICAgIHdpdGhGb3JtbHlGaWVsZFRhZyxcclxuICAgIHdpdGhGb3JtbHlGaWVsZENvbG9yVGFnLFxyXG4gICAgd2l0aEZvcm1seUZpZWxkQ29uZGl0aW9uQnVpbGRlcixcclxuICAgIHdpdGhGb3JtbHlGaWVsZEljb25QaWNrZXIsXHJcbiAgICB3aXRoRm9ybWx5RmllbGRDb2xvclBpY2tlcixcclxuICAgIHdpdGhGb3JtbHlGaWVsZFRlbXBsYXRlLFxyXG4gICAgd2l0aEZvcm1seUZpZWxkQnV0dG9uLFxyXG4gICAgd2l0aEZvcm1seUZpZWxkQXZhdGFySW1hZ2UsXHJcbiAgICB3aXRoRm9ybWx5V3JhcHBlcnMsXHJcbiAgICB3aXRoRm9ybWx5UXVlcnlCdWlsZGVyLFxyXG4gIF07XHJcblxyXG4gIC8vIENhbGwgZWFjaCBwcm92aWRlciBmdW5jdGlvbiB0byBnZXQgdGhlIFByb3ZpZGVyIG9iamVjdFxyXG4gIHJldHVybiBmaWVsZHMubWFwKGZuID0+IGZuKCkpO1xyXG59XHJcblxyXG5cclxuLy8gLS0tLSBGaWVsZCBQcm92aWRlcnMgLS0tLVxyXG5cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiB3aXRoRm9ybWx5UXVlcnlCdWlsZGVyKCk6IENvbmZpZ09wdGlvbiB7XHJcbiAgcmV0dXJuIHtcclxuICAgIHR5cGVzOiBbXHJcbiAgICAgIHtcclxuICAgICAgICAgICAgICAgIG5hbWU6ICdxdWVyeS1idWlsZGVyJyxcclxuICAgICAgICAgICAgICAgIGNvbXBvbmVudDogUXVlcnlCdWlsZGVyQ29tcG9uZW50XHJcbiAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICBuYW1lOiAnc29ydC1idWlsZGVyJyxcclxuICAgICAgICAgICAgICAgIGNvbXBvbmVudDogU29ydEJ1aWxkZXJDb21wb25lbnRcclxuICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgIG5hbWU6ICdncm91cCcsIGNvbXBvbmVudDogR3JvdXBUeXBlQ29tcG9uZW50XHJcbiAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICBuYW1lOiAndGFiLXR5cGUnLFxyXG4gICAgICAgICAgICAgICAgY29tcG9uZW50OiBUYWJUeXBlQ29tcG9uZW50XHJcbiAgICAgICAgICAgICAgfSxcclxuICAgIF0sXHJcbiAgfTtcclxufVxyXG5cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiB3aXRoRm9ybWx5RmllbGRJbnB1dFdpdGhJY29uKCk6IENvbmZpZ09wdGlvbiB7XHJcbiAgcmV0dXJuIHtcclxuICAgIHR5cGVzOiBbXHJcbiAgICAgIHtcclxuICAgICAgICBuYW1lOiAnaW5wdXRXaXRoSWNvbicsXHJcbiAgICAgICAgY29tcG9uZW50OiBJbnB1dFdpdGhJY29uVHlwZSxcclxuICAgICAgICB3cmFwcGVyczogWydmb3JtLWZpZWxkJ10sXHJcbiAgICAgIH0sXHJcbiAgICBdLFxyXG4gIH07XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiB3aXRoRm9ybWx5RmllbGRBdHRhY2htZW50KCk6IENvbmZpZ09wdGlvbiB7XHJcbiAgcmV0dXJuIHtcclxuICAgIHR5cGVzOiBbXHJcbiAgICAgIHtcclxuICAgICAgICBuYW1lOiAnYXR0YWNobWVudC10eXBlJyxcclxuICAgICAgICBjb21wb25lbnQ6IEF0dGFjaG1lbnRUeXBlQ29tcG9uZW50LFxyXG4gICAgICAgIHdyYXBwZXJzOiBbJ2Zvcm0tZmllbGQnXSxcclxuICAgICAgfSxcclxuICAgIF0sXHJcbiAgfTtcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIHdpdGhGb3JtbHlGaWVsZFJpY2hUZXh0RWRpdG9yKCk6IENvbmZpZ09wdGlvbiB7XHJcbiAgcmV0dXJuIHtcclxuICAgIHR5cGVzOiBbXHJcbiAgICAgIHtcclxuICAgICAgICBuYW1lOiAncmljaC10ZXh0LWVkaXRvcicsXHJcbiAgICAgICAgY29tcG9uZW50OiBSaWNoVGV4dEVkaXRvclR5cGVDb21wb25lbnQsXHJcbiAgICAgICAgd3JhcHBlcnM6IFsnZm9ybS1maWVsZCddLFxyXG4gICAgICB9LFxyXG4gICAgXSxcclxuICB9O1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gd2l0aEZvcm1seUZpZWxkR2VuZXJpY1NlbGVjdG9yKCk6IENvbmZpZ09wdGlvbiB7XHJcbiAgcmV0dXJuIHtcclxuICAgIHR5cGVzOiBbXHJcbiAgICAgIHtcclxuICAgICAgICBuYW1lOiAnZ2VuZXJpYy1zZWxlY3RvcicsXHJcbiAgICAgICAgY29tcG9uZW50OiBHZW5lcmljU2VsZWN0b3JUeXBlQ29tcG9uZW50LFxyXG4gICAgICAgIHdyYXBwZXJzOiBbJ2Zvcm0tZmllbGQnXSxcclxuICAgICAgICAvLyBkZWZhdWx0T3B0aW9uczoge1xyXG4gICAgICAgIC8vICAgcHJvcHM6IHtcclxuICAgICAgICAvLyAgICAgbG9hZERlZmF1bHRGaWVsZDogJ2lzRGVmYXVsdCcsICAgLy8g8J+RiCBkZWZhdWx0IHZhbHVlXHJcbiAgICAgICAgLy8gICAgIGxvYWREZWZhdWx0VmFsdWU6IHRydWUsICAgICAvLyDwn5GIIGRlZmF1bHQgdmFsdWVcclxuICAgICAgICAvLyAgICAgbG9hZERlZmF1bHQ6IHRydWUsICAgICAgIC8vIPCfkYggZGVmYXVsdCB2YWx1ZVxyXG5cclxuICAgICAgICAvLyAgICAgZml4ZWRGaWx0ZXJzOntcclxuICAgICAgICAvLyAgICAgICBpc0FjdGl2ZTp0cnVlXHJcbiAgICAgICAgLy8gICAgIH1cclxuICAgICAgICAvLyAgIH0sXHJcbiAgICAgICAgLy8gfSxcclxuICAgICAgfSxcclxuICAgIF0sXHJcbiAgfTtcclxufVxyXG5leHBvcnQgZnVuY3Rpb24gZ2xvYmFsR2VuZXJpY1NlbGVjdG9yRXh0ZW5zaW9uKCk6IENvbmZpZ09wdGlvbiB7XHJcbiAgcmV0dXJuIHtcclxuICAgIGV4dGVuc2lvbnM6IFtcclxuICAgICAge1xyXG4gICAgICAgIG5hbWU6ICdnZW5lcmljLXNlbGVjdG9yLWRlZmF1bHRzJyxcclxuICAgICAgICBleHRlbnNpb246IHtcclxuICAgICAgICAgIHByZVBvcHVsYXRlKGZpZWxkOiBGb3JtbHlGaWVsZENvbmZpZykge1xyXG4gICAgICAgICAgICBpZiAoZmllbGQudHlwZSA9PT0gJ2dlbmVyaWMtc2VsZWN0b3InKSB7XHJcbiAgICAgICAgICAgICAgZmllbGQucHJvcHMgPSB7XHJcbiAgICAgICAgICAgICAgICBsb2FkRGVmYXVsdEZpZWxkOiAnaXNEZWZhdWx0JyxcclxuICAgICAgICAgICAgICAgIGxvYWREZWZhdWx0VmFsdWU6IHRydWUsXHJcbiAgICAgICAgICAgICAgICBsb2FkRGVmYXVsdDogdHJ1ZSxcclxuICAgICAgICAgICAgICAgIGZpeGVkRmlsdGVyczp7XHJcbiAgICAgICAgICAgICAgICAgIGlzQWN0aXZlOnRydWVcclxuICAgICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgICAgICAuLi5maWVsZC5wcm9wcywgLy8g8J+RiCBrZWVwIHBlci1maWVsZCBvdmVycmlkZXNcclxuICAgICAgICAgICAgICB9O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgIH0sXHJcbiAgICAgIH0sXHJcbiAgICBdLFxyXG4gIH07XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiB3aXRoRm9ybWx5RmllbGRTd2l0Y2goKTogQ29uZmlnT3B0aW9uIHtcclxuICByZXR1cm4ge1xyXG4gICAgdHlwZXM6IFtcclxuICAgICAge1xyXG4gICAgICAgIG5hbWU6ICdzd2l0Y2gnLFxyXG4gICAgICAgIGNvbXBvbmVudDogSW5wdXRTd2l0Y2hUeXBlQ29tcG9uZW50LFxyXG4gICAgICAgIHdyYXBwZXJzOiBbJ2Zvcm0tZmllbGQtbm8nXSxcclxuICAgICAgfSxcclxuICAgIF0sXHJcbiAgfTtcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIHdpdGhGb3JtbHlGaWVsZFVzZXJuYW1lV2l0aERvbWFpbigpOiBDb25maWdPcHRpb24ge1xyXG4gIHJldHVybiB7XHJcbiAgICB0eXBlczogW1xyXG4gICAgICB7XHJcbiAgICAgICAgbmFtZTogJ3VzZXJuYW1lLXdpdGgtZG9tYWluJyxcclxuICAgICAgICBjb21wb25lbnQ6IFVzZXJuYW1lV2l0aERvbWFpbkNvbXBvbmVudCxcclxuICAgICAgICB3cmFwcGVyczogWydmb3JtLWZpZWxkJ10sXHJcbiAgICAgIH0sXHJcbiAgICBdLFxyXG4gIH07XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiB3aXRoRm9ybWx5RmllbGRDdXN0b21Td2l0Y2goKTogQ29uZmlnT3B0aW9uIHtcclxuICByZXR1cm4ge1xyXG4gICAgdHlwZXM6IFtcclxuICAgICAge1xyXG4gICAgICAgIG5hbWU6ICdjdXN0b20tc3dpdGNoJyxcclxuICAgICAgICBjb21wb25lbnQ6IEN1c3RvbVN3aXRjaEZpZWxkQ29tcG9uZW50LFxyXG4gICAgICAgIHdyYXBwZXJzOiBbJ2Zvcm0tZmllbGQtbm8nXSxcclxuICAgICAgfSxcclxuICAgIF0sXHJcbiAgfTtcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIHdpdGhGb3JtbHlGaWVsZEZvcm1seVNwbGl0KCk6IENvbmZpZ09wdGlvbiB7XHJcbiAgcmV0dXJuIHtcclxuICAgIHR5cGVzOiBbXHJcbiAgICAgIHtcclxuICAgICAgICBuYW1lOiAnRm9ybWx5LVNwbGl0JyxcclxuICAgICAgICBjb21wb25lbnQ6IEZvcm1seVNwbGl0QnV0dG9uQ29tcG9uZW50LFxyXG4gICAgICAgIHdyYXBwZXJzOiBbJ2Zvcm0tZmllbGQnXSxcclxuICAgICAgfSxcclxuICAgIF0sXHJcbiAgfTtcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIHdpdGhGb3JtbHlGaWVsZEJ1dHRvblNlbGVjdGlvbigpOiBDb25maWdPcHRpb24ge1xyXG4gIHJldHVybiB7XHJcbiAgICB0eXBlczogW1xyXG4gICAgICB7XHJcbiAgICAgICAgbmFtZTogJ0J1dHRvbi1TZWxlY3Rpb24nLFxyXG4gICAgICAgIGNvbXBvbmVudDogRm9ybWx5U2VsZWN0aW9uQnV0dG9uQ29tcG9uZW50LFxyXG4gICAgICAgIHdyYXBwZXJzOiBbJ2Zvcm0tZmllbGQnXSxcclxuICAgICAgfSxcclxuICAgIF0sXHJcbiAgfTtcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIHdpdGhGb3JtbHlGaWVsZEF2YXRhckxhYmVsQnV0dG9uKCk6IENvbmZpZ09wdGlvbiB7XHJcbiAgcmV0dXJuIHtcclxuICAgIHR5cGVzOiBbXHJcbiAgICAgIHtcclxuICAgICAgICBuYW1lOiAnYXZhdGFyLWxhYmVsLWJ1dHRvbicsXHJcbiAgICAgICAgY29tcG9uZW50OiBGb3JtbHlBdmF0YXJMYWJlbENvbXBvbmVudCxcclxuICAgICAgfSxcclxuICAgIF0sXHJcbiAgfTtcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIHdpdGhGb3JtbHlGaWVsZEZvcm1seUJ1dHRvbigpOiBDb25maWdPcHRpb24ge1xyXG4gIHJldHVybiB7XHJcbiAgICB0eXBlczogW1xyXG4gICAgICB7XHJcbiAgICAgICAgbmFtZTogJ2Zvcm1seS1idXR0b24nLFxyXG4gICAgICAgIGNvbXBvbmVudDogRm9ybWx5QnV0dG9uQ29tcG9uZW50LFxyXG4gICAgICB9LFxyXG4gICAgXSxcclxuICB9O1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gd2l0aEZvcm1seUZpZWxkTGFiZWxUeXBlKCk6IENvbmZpZ09wdGlvbiB7XHJcbiAgcmV0dXJuIHtcclxuICAgIHR5cGVzOiBbXHJcbiAgICAgIHtcclxuICAgICAgICBuYW1lOiAnbGFiZWwtdHlwZScsXHJcbiAgICAgICAgY29tcG9uZW50OiBMYWJlbFR5cGVDb21wb25lbnQsXHJcbiAgICAgIH0sXHJcbiAgICAgIHtcclxuICAgICAgICAgIG5hbWU6ICdjdXN0b20tbGFiZWwtdHlwZScsXHJcbiAgICAgICAgICBjb21wb25lbnQ6IEN1c3RvbVR5cGVDb21wb25lbnQsXHJcbiAgICAgICAgICB3cmFwcGVyczpbJ2ZpZWxkLXdyYXBwZXInXVxyXG4gICAgICAgIH0sXHJcblxyXG4gICAgXSxcclxuICB9O1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gd2l0aEZvcm1seUZpZWxkQ2xpY2thYmxlTGFiZWxUeXBlKCk6IENvbmZpZ09wdGlvbiB7XHJcbiAgcmV0dXJuIHtcclxuICAgIHR5cGVzOiBbXHJcbiAgICAgIHtcclxuICAgICAgICBuYW1lOiAnY2xpY2thYmxlLWxhYmVsLXR5cGUnLFxyXG4gICAgICAgIGNvbXBvbmVudDogQ2xpY2thYmxlTGFiZWxUeXBlQ29tcG9uZW50LFxyXG4gICAgICB9LFxyXG4gICAgXSxcclxuICB9O1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gd2l0aEZvcm1seUZpZWxkT3B0aW9uVGFnKCk6IENvbmZpZ09wdGlvbiB7XHJcbiAgcmV0dXJuIHtcclxuICAgIHR5cGVzOiBbXHJcbiAgICAgIHtcclxuICAgICAgICBuYW1lOiAnb3B0aW9uLXRhZycsXHJcbiAgICAgICAgY29tcG9uZW50OiBPcHRpb25UYWdUeXBlQ29tcG9uZW50LFxyXG4gICAgICB9LFxyXG4gICAgXSxcclxuICB9O1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gd2l0aEZvcm1seUZpZWxkUmVwZWF0KCk6IENvbmZpZ09wdGlvbiB7XHJcbiAgcmV0dXJuIHtcclxuICAgIHR5cGVzOiBbXHJcbiAgICAgIHtcclxuICAgICAgICBuYW1lOiAncmVwZWF0JyxcclxuICAgICAgICBjb21wb25lbnQ6IFJlcGVhdFR5cGVDb21wb25lbnQsXHJcbiAgICAgIH0sXHJcbiAgICBdLFxyXG4gIH07XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiB3aXRoRm9ybWx5RmllbGRUYWJzKCk6IENvbmZpZ09wdGlvbiB7XHJcbiAgcmV0dXJuIHtcclxuICAgIHR5cGVzOiBbXHJcbiAgICAgIHtcclxuICAgICAgICBuYW1lOiAndGFicycsXHJcbiAgICAgICAgY29tcG9uZW50OiBUYWJzVHlwZUNvbXBvbmVudCxcclxuICAgICAgfSxcclxuICAgIF0sXHJcbiAgfTtcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIHdpdGhGb3JtbHlGaWVsZFRhZygpOiBDb25maWdPcHRpb24ge1xyXG4gIHJldHVybiB7XHJcbiAgICB0eXBlczogW1xyXG4gICAgICB7XHJcbiAgICAgICAgbmFtZTogJ3RhZycsXHJcbiAgICAgICAgY29tcG9uZW50OiBUYWdUeXBlQ29tcG9uZW50LFxyXG4gICAgICB9LFxyXG4gICAgXSxcclxuICB9O1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gd2l0aEZvcm1seUZpZWxkQ29sb3JUYWcoKTogQ29uZmlnT3B0aW9uIHtcclxuICByZXR1cm4ge1xyXG4gICAgdHlwZXM6IFtcclxuICAgICAge1xyXG4gICAgICAgIG5hbWU6ICdjb2xvci10YWcnLFxyXG4gICAgICAgIGNvbXBvbmVudDogQ29sb3JUYWdUeXBlQ29tcG9uZW50LFxyXG4gICAgICB9LFxyXG4gICAgXSxcclxuICB9O1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gd2l0aEZvcm1seUZpZWxkQ29uZGl0aW9uQnVpbGRlcigpOiBDb25maWdPcHRpb24ge1xyXG4gIHJldHVybiB7XHJcbiAgICB0eXBlczogW1xyXG4gICAgICB7XHJcbiAgICAgICAgbmFtZTogJ2NvbmRpdGlvbi1idWlsZGVyJyxcclxuICAgICAgICBjb21wb25lbnQ6IENvbmRpdGlvbkV4cHJlc3Npb25CdWlsZGVyVHlwZSxcclxuICAgICAgICB3cmFwcGVyczogWydmb3JtLWZpZWxkJ10sXHJcbiAgICAgIH0sXHJcbiAgICBdLFxyXG4gIH07XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiB3aXRoRm9ybWx5RmllbGRJY29uUGlja2VyKCk6IENvbmZpZ09wdGlvbiB7XHJcbiAgcmV0dXJuIHtcclxuICAgIHR5cGVzOiBbXHJcbiAgICAgIHtcclxuICAgICAgICBuYW1lOiAnaWNvbi1waWNrZXInLFxyXG4gICAgICAgIGNvbXBvbmVudDogSWNvblBpY2tlckNvbXBvbmVudCxcclxuICAgICAgICB3cmFwcGVyczogWydmb3JtLWZpZWxkLW5vJ10sXHJcbiAgICAgIH0sXHJcbiAgICBdLFxyXG4gIH07XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiB3aXRoRm9ybWx5RmllbGRDb2xvclBpY2tlcigpOiBDb25maWdPcHRpb24ge1xyXG4gIHJldHVybiB7XHJcbiAgICB0eXBlczogW1xyXG4gICAgICB7XHJcbiAgICAgICAgbmFtZTogJ2NvbG9yLXBpY2tlcicsXHJcbiAgICAgICAgY29tcG9uZW50OiBDb2xvclBpY2tlckNvbXBvbmVudCxcclxuICAgICAgICB3cmFwcGVyczogWydmb3JtLWZpZWxkLW5vJ10sXHJcbiAgICAgIH0sXHJcbiAgICBdLFxyXG4gIH07XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiB3aXRoRm9ybWx5RmllbGRUZW1wbGF0ZSgpOiBDb25maWdPcHRpb24ge1xyXG4gIHJldHVybiB7XHJcbiAgICB0eXBlczogW1xyXG4gICAgICB7XHJcbiAgICAgICAgbmFtZTogJ3RlbXBsYXRlJyxcclxuICAgICAgICBjb21wb25lbnQ6IEZvcm1seVRlbXBsYXRlVHlwZSxcclxuICAgICAgfSxcclxuICAgIF0sXHJcbiAgfTtcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIHdpdGhGb3JtbHlGaWVsZEJ1dHRvbigpOiBDb25maWdPcHRpb24ge1xyXG4gIHJldHVybiB7XHJcbiAgICB0eXBlczogW1xyXG4gICAgICB7XHJcbiAgICAgICAgbmFtZTogJ2J1dHRvbicsXHJcbiAgICAgICAgY29tcG9uZW50OiBGb3JtbHlGaWVsZEJ1dHRvbixcclxuICAgICAgICB3cmFwcGVyczogWydmb3JtLWZpZWxkJ10sXHJcbiAgICAgICAgZGVmYXVsdE9wdGlvbnM6IHtcclxuICAgICAgICAgIHByb3BzOiB7XHJcbiAgICAgICAgICAgIGJ0blR5cGU6ICdkZWZhdWx0JyxcclxuICAgICAgICAgICAgdHlwZTogJ2J1dHRvbicsXHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgIH0sXHJcbiAgICAgIH0sXHJcbiAgICBdLFxyXG4gIH07XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiB3aXRoRm9ybWx5RmllbGRBdmF0YXJJbWFnZSgpOiBDb25maWdPcHRpb24ge1xyXG4gIHJldHVybiB7XHJcbiAgICB0eXBlczogW1xyXG4gICAgICB7XHJcbiAgICAgICAgbmFtZTogJ2F2YXRhci1pbWFnZScsXHJcbiAgICAgICAgY29tcG9uZW50OiBGb3JtbHlBdmF0YXJJbWFnZUNvbXBvbmVudCxcclxuICAgICAgfSxcclxuICAgIF0sXHJcbiAgfTtcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIHdpdGhGb3JtbHlXcmFwcGVycygpOiBDb25maWdPcHRpb24ge1xyXG4gIHJldHVybiB7XHJcbiAgICB3cmFwcGVyczogW1xyXG4gICAgICB7IG5hbWU6ICdwYW5lbCcsIGNvbXBvbmVudDogUGFuZWxXcmFwcGVyQ29tcG9uZW50IH0sXHJcbiAgICAgIHsgbmFtZTogJ2xhYmVsJywgY29tcG9uZW50OiBMYWJlbFdyYXBwZXJDb21wb25lbnQgfSxcclxuICAgICAgeyBuYW1lOiAndGQnLCBjb21wb25lbnQ6IFRkV3JhcHBlckNvbXBvbmVudCB9LFxyXG4gICAgICB7IG5hbWU6ICdjb2xsYXBzaWJsZScsIGNvbXBvbmVudDogQ29sbGFwc2libGVXcmFwcGVyIH0sXHJcbiAgICAgIHsgbmFtZTogJ2ZpZWxkLXdyYXBwZXInLCBjb21wb25lbnQ6IEN1c3RvbUZpZWxkV3JhcHBlciB9LFxyXG4gICAgXSxcclxuICB9O1xyXG59XHJcblxyXG4iXX0=","/**\n * Generated bundle index. Do not edit.\n */\nexport * from './index';\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxpdGUuZnJhbWV3b3JrLW5nLnVpLmNvcmUtZm9ybWx5LXVpLWFsbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYnMvbmcudWkuY29yZS9mb3JtbHktdWktYWxsL3NyYy9lbGl0ZS5mcmFtZXdvcmstbmcudWkuY29yZS1mb3JtbHktdWktYWxsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYyxTQUFTLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEdlbmVyYXRlZCBidW5kbGUgaW5kZXguIERvIG5vdCBlZGl0LlxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vaW5kZXgnO1xuIl19"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"elite.framework-ng.ui.core-formly-ui-all.mjs","sources":["../tmp-esm2022/formly-ui-all/lib/formly-ui-all-module.js","../tmp-esm2022/formly-ui-all/lib/formly-all.config.js","../tmp-esm2022/formly-ui-all/elite.framework-ng.ui.core-formly-ui-all.js"],"sourcesContent":["import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport * as i0 from \"@angular/core\";\nexport class FormlyUiAllModule {\n static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.8\", ngImport: i0, type: FormlyUiAllModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });\n static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: \"14.0.0\", version: \"20.1.8\", ngImport: i0, type: FormlyUiAllModule, imports: [CommonModule] });\n static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: \"12.0.0\", version: \"20.1.8\", ngImport: i0, type: FormlyUiAllModule, imports: [CommonModule] });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.8\", ngImport: i0, type: FormlyUiAllModule, decorators: [{\n type: NgModule,\n args: [{\n imports: [CommonModule],\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybWx5LXVpLWFsbC1tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL25nLnVpLmNvcmUvZm9ybWx5LXVpLWFsbC9zcmMvbGliL2Zvcm1seS11aS1hbGwtbW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDOztBQUsvQyxNQUFNLE9BQU8saUJBQWlCO3VHQUFqQixpQkFBaUI7d0dBQWpCLGlCQUFpQixZQUZsQixZQUFZO3dHQUVYLGlCQUFpQixZQUZsQixZQUFZOzsyRkFFWCxpQkFBaUI7a0JBSDdCLFFBQVE7bUJBQUM7b0JBQ1IsT0FBTyxFQUFFLENBQUMsWUFBWSxDQUFDO2lCQUN4QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuXG5ATmdNb2R1bGUoe1xuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlXSxcbn0pXG5leHBvcnQgY2xhc3MgRm9ybWx5VWlBbGxNb2R1bGUge31cbiJdfQ==","import { AttachmentTypeComponent } from \"@elite.framework/ng.ui.core/attachments\";\nimport { CollapsibleWrapper } from \"@elite.framework/ng.ui.core/collapsible\";\nimport { ColorPickerComponent } from \"@elite.framework/ng.ui.core/color-picker\";\nimport { ConditionExpressionBuilderType } from \"@elite.framework/ng.ui.core/condition-editor\";\nimport { CustomSwitchFieldComponent } from \"@elite.framework/ng.ui.core/custom-switch\";\nimport { FormlyFieldButton } from \"@elite.framework/ng.ui.core/form-button\";\nimport { FormlyTemplateType } from \"@elite.framework/ng.ui.core/form-template\";\nimport { FormlyAvatarImageComponent } from \"@elite.framework/ng.ui.core/formly-avatar-image\";\nimport { FormlyAvatarLabelComponent } from \"@elite.framework/ng.ui.core/formly-avatar-label\";\nimport { FormlyButtonComponent } from \"@elite.framework/ng.ui.core/formly-button\";\nimport { FormlySelectionButtonComponent } from \"@elite.framework/ng.ui.core/formly-button-selector\";\nimport { FormlySplitButtonComponent } from \"@elite.framework/ng.ui.core/formly-split-button\";\nimport { UsernameWithDomainComponent } from \"@elite.framework/ng.ui.core/formly-username-with-domain\";\nimport { ColumnsBuilderComponent, GroupBuilderComponent, GroupTypeComponent, QueryBuilderComponent, SortBuilderComponent, TabTypeComponent } from \"@elite.framework/ng.ui.core/generic-search-advanced\";\nimport { GenericSelectorTypeComponent } from \"@elite.framework/ng.ui.core/generic-selector\";\nimport { IconPickerComponent } from \"@elite.framework/ng.ui.core/icon-picker\";\nimport { InputSwitchTypeComponent } from \"@elite.framework/ng.ui.core/input-switch\";\nimport { InputWithIconType } from \"@elite.framework/ng.ui.core/input-with-icon\";\nimport { LabelTypeComponent, ClickableLabelTypeComponent, CustomTypeComponent } from \"@elite.framework/ng.ui.core/label-type\";\nimport { RepeatTypeComponent } from \"@elite.framework/ng.ui.core/repeat\";\nimport { TabsTypeComponent } from \"@elite.framework/ng.ui.core/tabs\";\nimport { OptionTagTypeComponent, TagTypeComponent, ColorTagTypeComponent } from \"@elite.framework/ng.ui.core/tag-type\";\nimport { RichTextEditorTypeComponent } from \"@elite.framework/ng.ui.core/text-editor\";\nimport { PanelWrapperComponent, LabelWrapperComponent, TdWrapperComponent, CustomFieldWrapper } from \"@elite.framework/ng.ui.core/wrappers\";\nexport function provideAllFormlyFields() {\n const fields = [\n withFormlyFieldInputWithIcon,\n withFormlyFieldAttachment,\n withFormlyFieldRichTextEditor,\n withFormlyFieldGenericSelector,\n withFormlyFieldSwitch,\n withFormlyFieldUsernameWithDomain,\n withFormlyFieldCustomSwitch,\n withFormlyFieldFormlySplit,\n withFormlyFieldButtonSelection,\n withFormlyFieldAvatarLabelButton,\n withFormlyFieldFormlyButton,\n withFormlyFieldLabelType,\n withFormlyFieldClickableLabelType,\n withFormlyFieldOptionTag,\n withFormlyFieldRepeat,\n withFormlyFieldTabs,\n withFormlyFieldTag,\n withFormlyFieldColorTag,\n withFormlyFieldConditionBuilder,\n withFormlyFieldIconPicker,\n withFormlyFieldColorPicker,\n withFormlyFieldTemplate,\n withFormlyFieldButton,\n withFormlyFieldAvatarImage,\n withFormlyWrappers,\n withFormlyQueryBuilder,\n ];\n // Call each provider function to get the Provider object\n return fields.map(fn => fn());\n}\n// ---- Field Providers ----\nexport function withFormlyQueryBuilder() {\n return {\n types: [\n {\n name: 'query-builder',\n component: QueryBuilderComponent\n },\n {\n name: 'sort-builder',\n component: SortBuilderComponent\n },\n {\n name: 'group', component: GroupTypeComponent\n },\n {\n name: 'tab-type',\n component: TabTypeComponent\n },\n {\n name: 'group-builder',\n component: GroupBuilderComponent\n },\n {\n name: 'columns-builder',\n component: ColumnsBuilderComponent\n },\n ],\n };\n}\nexport function withFormlyFieldInputWithIcon() {\n return {\n types: [\n {\n name: 'inputWithIcon',\n component: InputWithIconType,\n wrappers: ['form-field'],\n },\n ],\n };\n}\nexport function withFormlyFieldAttachment() {\n return {\n types: [\n {\n name: 'attachment-type',\n component: AttachmentTypeComponent,\n wrappers: ['form-field'],\n },\n ],\n };\n}\nexport function withFormlyFieldRichTextEditor() {\n return {\n types: [\n {\n name: 'rich-text-editor',\n component: RichTextEditorTypeComponent,\n wrappers: ['form-field'],\n },\n ],\n };\n}\nexport function withFormlyFieldGenericSelector() {\n return {\n types: [\n {\n name: 'generic-selector',\n component: GenericSelectorTypeComponent,\n wrappers: ['form-field'],\n // defaultOptions: {\n // props: {\n // loadDefaultField: 'isDefault', // 👈 default value\n // loadDefaultValue: true, // 👈 default value\n // loadDefault: true, // 👈 default value\n // fixedFilters:{\n // isActive:true\n // }\n // },\n // },\n },\n ],\n };\n}\nexport function globalGenericSelectorExtension() {\n return {\n extensions: [\n {\n name: 'generic-selector-defaults',\n extension: {\n prePopulate(field) {\n if (field.type === 'generic-selector') {\n field.props = {\n loadDefaultField: 'isDefault',\n loadDefaultValue: true,\n loadDefault: true,\n fixedFilters: {\n isActive: true\n },\n ...field.props, // 👈 keep per-field overrides\n };\n }\n },\n },\n },\n ],\n };\n}\nexport function withFormlyFieldSwitch() {\n return {\n types: [\n {\n name: 'switch',\n component: InputSwitchTypeComponent,\n wrappers: ['form-field-no'],\n },\n ],\n };\n}\nexport function withFormlyFieldUsernameWithDomain() {\n return {\n types: [\n {\n name: 'username-with-domain',\n component: UsernameWithDomainComponent,\n wrappers: ['form-field'],\n },\n ],\n };\n}\nexport function withFormlyFieldCustomSwitch() {\n return {\n types: [\n {\n name: 'custom-switch',\n component: CustomSwitchFieldComponent,\n wrappers: ['form-field-no'],\n },\n ],\n };\n}\nexport function withFormlyFieldFormlySplit() {\n return {\n types: [\n {\n name: 'Formly-Split',\n component: FormlySplitButtonComponent,\n wrappers: ['form-field'],\n },\n ],\n };\n}\nexport function withFormlyFieldButtonSelection() {\n return {\n types: [\n {\n name: 'Button-Selection',\n component: FormlySelectionButtonComponent,\n wrappers: ['form-field'],\n },\n ],\n };\n}\nexport function withFormlyFieldAvatarLabelButton() {\n return {\n types: [\n {\n name: 'avatar-label-button',\n component: FormlyAvatarLabelComponent,\n },\n ],\n };\n}\nexport function withFormlyFieldFormlyButton() {\n return {\n types: [\n {\n name: 'formly-button',\n component: FormlyButtonComponent,\n },\n ],\n };\n}\nexport function withFormlyFieldLabelType() {\n return {\n types: [\n {\n name: 'label-type',\n component: LabelTypeComponent,\n },\n {\n name: 'custom-label-type',\n component: CustomTypeComponent,\n wrappers: ['field-wrapper']\n },\n ],\n };\n}\nexport function withFormlyFieldClickableLabelType() {\n return {\n types: [\n {\n name: 'clickable-label-type',\n component: ClickableLabelTypeComponent,\n },\n ],\n };\n}\nexport function withFormlyFieldOptionTag() {\n return {\n types: [\n {\n name: 'option-tag',\n component: OptionTagTypeComponent,\n },\n ],\n };\n}\nexport function withFormlyFieldRepeat() {\n return {\n types: [\n {\n name: 'repeat',\n component: RepeatTypeComponent,\n },\n ],\n };\n}\nexport function withFormlyFieldTabs() {\n return {\n types: [\n {\n name: 'tabs',\n component: TabsTypeComponent,\n },\n ],\n };\n}\nexport function withFormlyFieldTag() {\n return {\n types: [\n {\n name: 'tag',\n component: TagTypeComponent,\n },\n ],\n };\n}\nexport function withFormlyFieldColorTag() {\n return {\n types: [\n {\n name: 'color-tag',\n component: ColorTagTypeComponent,\n },\n ],\n };\n}\nexport function withFormlyFieldConditionBuilder() {\n return {\n types: [\n {\n name: 'condition-builder',\n component: ConditionExpressionBuilderType,\n wrappers: ['form-field'],\n },\n ],\n };\n}\nexport function withFormlyFieldIconPicker() {\n return {\n types: [\n {\n name: 'icon-picker',\n component: IconPickerComponent,\n wrappers: ['form-field-no'],\n },\n ],\n };\n}\nexport function withFormlyFieldColorPicker() {\n return {\n types: [\n {\n name: 'color-picker',\n component: ColorPickerComponent,\n wrappers: ['form-field-no'],\n },\n ],\n };\n}\nexport function withFormlyFieldTemplate() {\n return {\n types: [\n {\n name: 'template',\n component: FormlyTemplateType,\n },\n ],\n };\n}\nexport function withFormlyFieldButton() {\n return {\n types: [\n {\n name: 'button',\n component: FormlyFieldButton,\n wrappers: ['form-field'],\n defaultOptions: {\n props: {\n btnType: 'default',\n type: 'button',\n },\n },\n },\n ],\n };\n}\nexport function withFormlyFieldAvatarImage() {\n return {\n types: [\n {\n name: 'avatar-image',\n component: FormlyAvatarImageComponent,\n },\n ],\n };\n}\nexport function withFormlyWrappers() {\n return {\n wrappers: [\n { name: 'panel', component: PanelWrapperComponent },\n { name: 'label', component: LabelWrapperComponent },\n { name: 'td', component: TdWrapperComponent },\n { name: 'collapsible', component: CollapsibleWrapper },\n { name: 'field-wrapper', component: CustomFieldWrapper },\n ],\n };\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybWx5LWFsbC5jb25maWcuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL25nLnVpLmNvcmUvZm9ybWx5LXVpLWFsbC9zcmMvbGliL2Zvcm1seS1hbGwuY29uZmlnLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLHlDQUF5QyxDQUFDO0FBQ2xGLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHlDQUF5QyxDQUFDO0FBQzdFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDBDQUEwQyxDQUFDO0FBQ2hGLE9BQU8sRUFBRSw4QkFBOEIsRUFBRSxNQUFNLDhDQUE4QyxDQUFDO0FBQzlGLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLDJDQUEyQyxDQUFDO0FBQ3ZGLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHlDQUF5QyxDQUFDO0FBQzVFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDJDQUEyQyxDQUFDO0FBQy9FLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLGlEQUFpRCxDQUFDO0FBQzdGLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLGlEQUFpRCxDQUFDO0FBQzdGLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLDJDQUEyQyxDQUFDO0FBQ2xGLE9BQU8sRUFBRSw4QkFBOEIsRUFBRSxNQUFNLG9EQUFvRCxDQUFDO0FBQ3BHLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLGlEQUFpRCxDQUFDO0FBQzdGLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLHlEQUF5RCxDQUFDO0FBQ3RHLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxxQkFBcUIsRUFBRSxrQkFBa0IsRUFBRSxxQkFBcUIsRUFBRSxvQkFBb0IsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHFEQUFxRCxDQUFDO0FBQ3hNLE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxNQUFNLDhDQUE4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QUN4QixjQUFjLEVBQUU7b0JBQ2QsS0FBSyxFQUFFO3dCQUNMLE9BQU8sRUFBRSxTQUFTO3dCQUNsQixJQUFJLEVBQUUsUUFBUTtxQkFDZjtpQkFDRjthQUNGO1NBQ0Y7S0FDRixDQUFDO0FBQ0osQ0FBQztBQUVELE1BQU0sVUFBVSwwQkFBMEI7SUFDeEMsT0FBTztRQUNMLEtBQUssRUFBRTtZQUNMO2dCQUNFLElBQUksRUFBRSxjQUFjO2dCQUNwQixTQUFTLEVBQUUsMEJBQTBCO2FBQ3RDO1NBQ0Y7S0FDRixDQUFDO0FBQ0osQ0FBQztBQUVELE1BQU0sVUFBVSxrQkFBa0I7SUFDaEMsT0FBTztRQUNMLFFBQVEsRUFBRTtZQUNSLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQUUscUJBQXFCLEVBQUU7WUFDbkQsRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxxQkFBcUIsRUFBRTtZQUNuRCxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLGtCQUFrQixFQUFFO1lBQzdDLEVBQUUsSUFBSSxFQUFFLGFBQWEsRUFBRSxTQUFTLEVBQUUsa0JBQWtCLEVBQUU7WUFDdEQsRUFBRSxJQUFJLEVBQUUsZUFBZSxFQUFFLFNBQVMsRUFBRSxrQkFBa0IsRUFBRTtTQUN6RDtLQUNGLENBQUM7QUFDSixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQXR0YWNobWVudFR5cGVDb21wb25lbnQgfSBmcm9tIFwiQGVsaXRlLmZyYW1ld29yay9uZy51aS5jb3JlL2F0dGFjaG1lbnRzXCI7XHJcbmltcG9ydCB7IENvbGxhcHNpYmxlV3JhcHBlciB9IGZyb20gXCJAZWxpdGUuZnJhbWV3b3JrL25nLnVpLmNvcmUvY29sbGFwc2libGVcIjtcclxuaW1wb3J0IHsgQ29sb3JQaWNrZXJDb21wb25lbnQgfSBmcm9tIFwiQGVsaXRlLmZyYW1ld29yay9uZy51aS5jb3JlL2NvbG9yLXBpY2tlclwiO1xyXG5pbXBvcnQgeyBDb25kaXRpb25FeHByZXNzaW9uQnVpbGRlclR5cGUgfSBmcm9tIFwiQGVsaXRlLmZyYW1ld29yay9uZy51aS5jb3JlL2NvbmRpdGlvbi1lZGl0b3JcIjtcclxuaW1wb3J0IHsgQ3VzdG9tU3dpdGNoRmllbGRDb21wb25lbnQgfSBmcm9tIFwiQGVsaXRlLmZyYW1ld29yay9uZy51aS5jb3JlL2N1c3RvbS1zd2l0Y2hcIjtcclxuaW1wb3J0IHsgRm9ybWx5RmllbGRCdXR0b24gfSBmcm9tIFwiQGVsaXRlLmZyYW1ld29yay9uZy51aS5jb3JlL2Zvcm0tYnV0dG9uXCI7XHJcbmltcG9ydCB7IEZvcm1seVRlbXBsYXRlVHlwZSB9IGZyb20gXCJAZWxpdGUuZnJhbWV3b3JrL25nLnVpLmNvcmUvZm9ybS10ZW1wbGF0ZVwiO1xyXG5pbXBvcnQgeyBGb3JtbHlBdmF0YXJJbWFnZUNvbXBvbmVudCB9IGZyb20gXCJAZWxpdGUuZnJhbWV3b3JrL25nLnVpLmNvcmUvZm9ybWx5LWF2YXRhci1pbWFnZVwiO1xyXG5pbXBvcnQgeyBGb3JtbHlBdmF0YXJMYWJlbENvbXBvbmVudCB9IGZyb20gXCJAZWxpdGUuZnJhbWV3b3JrL25nLnVpLmNvcmUvZm9ybWx5LWF2YXRhci1sYWJlbFwiO1xyXG5pbXBvcnQgeyBGb3JtbHlCdXR0b25Db21wb25lbnQgfSBmcm9tIFwiQGVsaXRlLmZyYW1ld29yay9uZy51aS5jb3JlL2Zvcm1seS1idXR0b25cIjtcclxuaW1wb3J0IHsgRm9ybWx5U2VsZWN0aW9uQnV0dG9uQ29tcG9uZW50IH0gZnJvbSBcIkBlbGl0ZS5mcmFtZXdvcmsvbmcudWkuY29yZS9mb3JtbHktYnV0dG9uLXNlbGVjdG9yXCI7XHJcbmltcG9ydCB7IEZvcm1seVNwbGl0QnV0dG9uQ29tcG9uZW50IH0gZnJvbSBcIkBlbGl0ZS5mcmFtZXdvcmsvbmcudWkuY29yZS9mb3JtbHktc3BsaXQtYnV0dG9uXCI7XHJcbmltcG9ydCB7IFVzZXJuYW1lV2l0aERvbWFpbkNvbXBvbmVudCB9IGZyb20gXCJAZWxpdGUuZnJhbWV3b3JrL25nLnVpLmNvcmUvZm9ybWx5LXVzZXJuYW1lLXdpdGgtZG9tYWluXCI7XHJcbmltcG9ydCB7IENvbHVtbnNCdWlsZGVyQ29tcG9uZW50LCBHcm91cEJ1aWxkZXJDb21wb25lbnQsIEdyb3VwVHlwZUNvbXBvbmVudCwgUXVlcnlCdWlsZGVyQ29tcG9uZW50LCBTb3J0QnVpbGRlckNvbXBvbmVudCwgVGFiVHlwZUNvbXBvbmVudCB9IGZyb20gXCJAZWxpdGUuZnJhbWV3b3JrL25nLnVpLmNvcmUvZ2VuZXJpYy1zZWFyY2gtYWR2YW5jZWRcIjtcclxuaW1wb3J0IHsgR2VuZXJpY1NlbGVjdG9yVHlwZUNvbXBvbmVudCB9IGZyb20gXCJAZWxpdGUuZnJhbWV3b3JrL25nLnVpLmNvcmUvZ2VuZXJpYy1zZWxlY3RvclwiO1xyXG5pbXBvcnQgeyBJY29uUGlja2VyQ29tcG9uZW50IH0gZnJvbSBcIkBlbGl0ZS5mcmFtZXdvcmsvbmcudWkuY29yZS9pY29uLXBpY2tlclwiO1xyXG5pbXBvcnQgeyBJbnB1dFN3aXRjaFR5cGVDb21wb25lbnQgfSBmcm9tIFwiQGVsaXRlLmZyYW1ld29yay9uZy51aS5jb3JlL2lucHV0LXN3aXRjaFwiO1xyXG5pbXBvcnQgeyBJbnB1dFdpdGhJY29uVHlwZSB9IGZyb20gXCJAZWxpdGUuZnJhbWV3b3JrL25nLnVpLmNvcmUvaW5wdXQtd2l0aC1pY29uXCI7XHJcbmltcG9ydCB7IExhYmVsVHlwZUNvbXBvbmVudCwgQ2xpY2thYmxlTGFiZWxUeXBlQ29tcG9uZW50LCBDdXN0b21UeXBlQ29tcG9uZW50IH0gZnJvbSBcIkBlbGl0ZS5mcmFtZXdvcmsvbmcudWkuY29yZS9sYWJlbC10eXBlXCI7XHJcbmltcG9ydCB7IFJlcGVhdFR5cGVDb21wb25lbnQgfSBmcm9tIFwiQGVsaXRlLmZyYW1ld29yay9uZy51aS5jb3JlL3JlcGVhdFwiO1xyXG5pbXBvcnQgeyBUYWJzVHlwZUNvbXBvbmVudCB9IGZyb20gXCJAZWxpdGUuZnJhbWV3b3JrL25nLnVpLmNvcmUvdGFic1wiO1xyXG5pbXBvcnQgeyBPcHRpb25UYWdUeXBlQ29tcG9uZW50LCBUYWdUeXBlQ29tcG9uZW50LCBDb2xvclRhZ1R5cGVDb21wb25lbnQgfSBmcm9tIFwiQGVsaXRlLmZyYW1ld29yay9uZy51aS5jb3JlL3RhZy10eXBlXCI7XHJcbmltcG9ydCB7IFJpY2hUZXh0RWRpdG9yVHlwZUNvbXBvbmVudCB9IGZyb20gXCJAZWxpdGUuZnJhbWV3b3JrL25nLnVpLmNvcmUvdGV4dC1lZGl0b3JcIjtcclxuaW1wb3J0IHsgUGFuZWxXcmFwcGVyQ29tcG9uZW50LCBMYWJlbFdyYXBwZXJDb21wb25lbnQsIFRkV3JhcHBlckNvbXBvbmVudCwgQ3VzdG9tRmllbGRXcmFwcGVyIH0gZnJvbSBcIkBlbGl0ZS5mcmFtZXdvcmsvbmcudWkuY29yZS93cmFwcGVyc1wiO1xyXG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQG54L2VuZm9yY2UtbW9kdWxlLWJvdW5kYXJpZXNcclxuaW1wb3J0IHsgQ29uZmlnT3B0aW9uLCBGb3JtbHlGaWVsZENvbmZpZyB9IGZyb20gXCJAbmd4LWZvcm1seS9jb3JlXCI7XHJcblxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIHByb3ZpZGVBbGxGb3JtbHlGaWVsZHMoKTogQ29uZmlnT3B0aW9uW10ge1xyXG4gIGNvbnN0IGZpZWxkcyA9IFtcclxuXHJcbiAgICB3aXRoRm9ybWx5RmllbGRJbnB1dFdpdGhJY29uLFxyXG4gICAgd2l0aEZvcm1seUZpZWxkQXR0YWNobWVudCxcclxuICAgIHdpdGhGb3JtbHlGaWVsZFJpY2hUZXh0RWRpdG9yLFxyXG4gICAgd2l0aEZvcm1seUZpZWxkR2VuZXJpY1NlbGVjdG9yLFxyXG4gICAgd2l0aEZvcm1seUZpZWxkU3dpdGNoLFxyXG4gICAgd2l0aEZvcm1seUZpZWxkVXNlcm5hbWVXaXRoRG9tYWluLFxyXG4gICAgd2l0aEZvcm1seUZpZWxkQ3VzdG9tU3dpdGNoLFxyXG4gICAgd2l0aEZvcm1seUZpZWxkRm9ybWx5U3BsaXQsXHJcbiAgICB3aXRoRm9ybWx5RmllbGRCdXR0b25TZWxlY3Rpb24sXHJcbiAgICB3aXRoRm9ybWx5RmllbGRBdmF0YXJMYWJlbEJ1dHRvbixcclxuICAgIHdpdGhGb3JtbHlGaWVsZEZvcm1seUJ1dHRvbixcclxuICAgIHdpdGhGb3JtbHlGaWVsZExhYmVsVHlwZSxcclxuICAgIHdpdGhGb3JtbHlGaWVsZENsaWNrYWJsZUxhYmVsVHlwZSxcclxuICAgIHdpdGhGb3JtbHlGaWVsZE9wdGlvblRhZyxcclxuICAgIHdpdGhGb3JtbHlGaWVsZFJlcGVhdCxcclxuICAgIHdpdGhGb3JtbHlGaWVsZFRhYnMsXHJcbiAgICB3aXRoRm9ybWx5RmllbGRUYWcsXHJcbiAgICB3aXRoRm9ybWx5RmllbGRDb2xvclRhZyxcclxuICAgIHdpdGhGb3JtbHlGaWVsZENvbmRpdGlvbkJ1aWxkZXIsXHJcbiAgICB3aXRoRm9ybWx5RmllbGRJY29uUGlja2VyLFxyXG4gICAgd2l0aEZvcm1seUZpZWxkQ29sb3JQaWNrZXIsXHJcbiAgICB3aXRoRm9ybWx5RmllbGRUZW1wbGF0ZSxcclxuICAgIHdpdGhGb3JtbHlGaWVsZEJ1dHRvbixcclxuICAgIHdpdGhGb3JtbHlGaWVsZEF2YXRhckltYWdlLFxyXG4gICAgd2l0aEZvcm1seVdyYXBwZXJzLFxyXG4gICAgd2l0aEZvcm1seVF1ZXJ5QnVpbGRlcixcclxuICBdO1xyXG5cclxuICAvLyBDYWxsIGVhY2ggcHJvdmlkZXIgZnVuY3Rpb24gdG8gZ2V0IHRoZSBQcm92aWRlciBvYmplY3RcclxuICByZXR1cm4gZmllbGRzLm1hcChmbiA9PiBmbigpKTtcclxufVxyXG5cclxuXHJcbi8vIC0tLS0gRmllbGQgUHJvdmlkZXJzIC0tLS1cclxuXHJcblxyXG5leHBvcnQgZnVuY3Rpb24gd2l0aEZvcm1seVF1ZXJ5QnVpbGRlcigpOiBDb25maWdPcHRpb24ge1xyXG4gIHJldHVybiB7XHJcbiAgICB0eXBlczogW1xyXG4gICAgICB7XHJcbiAgICAgICAgICAgICAgICBuYW1lOiAncXVlcnktYnVpbGRlcicsXHJcbiAgICAgICAgICAgICAgICBjb21wb25lbnQ6IFF1ZXJ5QnVpbGRlckNvbXBvbmVudFxyXG4gICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgICAgbmFtZTogJ3NvcnQtYnVpbGRlcicsXHJcbiAgICAgICAgICAgICAgICBjb21wb25lbnQ6IFNvcnRCdWlsZGVyQ29tcG9uZW50XHJcbiAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICBuYW1lOiAnZ3JvdXAnLCBjb21wb25lbnQ6IEdyb3VwVHlwZUNvbXBvbmVudFxyXG4gICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgICAgbmFtZTogJ3RhYi10eXBlJyxcclxuICAgICAgICAgICAgICAgIGNvbXBvbmVudDogVGFiVHlwZUNvbXBvbmVudFxyXG4gICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBuYW1lOiAnZ3JvdXAtYnVpbGRlcicsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbXBvbmVudDogR3JvdXBCdWlsZGVyQ29tcG9uZW50XHJcbiAgICAgICAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBuYW1lOiAnY29sdW1ucy1idWlsZGVyJyxcclxuICAgICAgICAgICAgICAgICAgICAgICAgY29tcG9uZW50OiBDb2x1bW5zQnVpbGRlckNvbXBvbmVudFxyXG4gICAgICAgICAgICAgICAgICAgICAgfSxcclxuICAgIF0sXHJcbiAgfTtcclxufVxyXG5cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiB3aXRoRm9ybWx5RmllbGRJbnB1dFdpdGhJY29uKCk6IENvbmZpZ09wdGlvbiB7XHJcbiAgcmV0dXJuIHtcclxuICAgIHR5cGVzOiBbXHJcbiAgICAgIHtcclxuICAgICAgICBuYW1lOiAnaW5wdXRXaXRoSWNvbicsXHJcbiAgICAgICAgY29tcG9uZW50OiBJbnB1dFdpdGhJY29uVHlwZSxcclxuICAgICAgICB3cmFwcGVyczogWydmb3JtLWZpZWxkJ10sXHJcbiAgICAgIH0sXHJcbiAgICBdLFxyXG4gIH07XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiB3aXRoRm9ybWx5RmllbGRBdHRhY2htZW50KCk6IENvbmZpZ09wdGlvbiB7XHJcbiAgcmV0dXJuIHtcclxuICAgIHR5cGVzOiBbXHJcbiAgICAgIHtcclxuICAgICAgICBuYW1lOiAnYXR0YWNobWVudC10eXBlJyxcclxuICAgICAgICBjb21wb25lbnQ6IEF0dGFjaG1lbnRUeXBlQ29tcG9uZW50LFxyXG4gICAgICAgIHdyYXBwZXJzOiBbJ2Zvcm0tZmllbGQnXSxcclxuICAgICAgfSxcclxuICAgIF0sXHJcbiAgfTtcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIHdpdGhGb3JtbHlGaWVsZFJpY2hUZXh0RWRpdG9yKCk6IENvbmZpZ09wdGlvbiB7XHJcbiAgcmV0dXJuIHtcclxuICAgIHR5cGVzOiBbXHJcbiAgICAgIHtcclxuICAgICAgICBuYW1lOiAncmljaC10ZXh0LWVkaXRvcicsXHJcbiAgICAgICAgY29tcG9uZW50OiBSaWNoVGV4dEVkaXRvclR5cGVDb21wb25lbnQsXHJcbiAgICAgICAgd3JhcHBlcnM6IFsnZm9ybS1maWVsZCddLFxyXG4gICAgICB9LFxyXG4gICAgXSxcclxuICB9O1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gd2l0aEZvcm1seUZpZWxkR2VuZXJpY1NlbGVjdG9yKCk6IENvbmZpZ09wdGlvbiB7XHJcbiAgcmV0dXJuIHtcclxuICAgIHR5cGVzOiBbXHJcbiAgICAgIHtcclxuICAgICAgICBuYW1lOiAnZ2VuZXJpYy1zZWxlY3RvcicsXHJcbiAgICAgICAgY29tcG9uZW50OiBHZW5lcmljU2VsZWN0b3JUeXBlQ29tcG9uZW50LFxyXG4gICAgICAgIHdyYXBwZXJzOiBbJ2Zvcm0tZmllbGQnXSxcclxuICAgICAgICAvLyBkZWZhdWx0T3B0aW9uczoge1xyXG4gICAgICAgIC8vICAgcHJvcHM6IHtcclxuICAgICAgICAvLyAgICAgbG9hZERlZmF1bHRGaWVsZDogJ2lzRGVmYXVsdCcsICAgLy8g8J+RiCBkZWZhdWx0IHZhbHVlXHJcbiAgICAgICAgLy8gICAgIGxvYWREZWZhdWx0VmFsdWU6IHRydWUsICAgICAvLyDwn5GIIGRlZmF1bHQgdmFsdWVcclxuICAgICAgICAvLyAgICAgbG9hZERlZmF1bHQ6IHRydWUsICAgICAgIC8vIPCfkYggZGVmYXVsdCB2YWx1ZVxyXG5cclxuICAgICAgICAvLyAgICAgZml4ZWRGaWx0ZXJzOntcclxuICAgICAgICAvLyAgICAgICBpc0FjdGl2ZTp0cnVlXHJcbiAgICAgICAgLy8gICAgIH1cclxuICAgICAgICAvLyAgIH0sXHJcbiAgICAgICAgLy8gfSxcclxuICAgICAgfSxcclxuICAgIF0sXHJcbiAgfTtcclxufVxyXG5leHBvcnQgZnVuY3Rpb24gZ2xvYmFsR2VuZXJpY1NlbGVjdG9yRXh0ZW5zaW9uKCk6IENvbmZpZ09wdGlvbiB7XHJcbiAgcmV0dXJuIHtcclxuICAgIGV4dGVuc2lvbnM6IFtcclxuICAgICAge1xyXG4gICAgICAgIG5hbWU6ICdnZW5lcmljLXNlbGVjdG9yLWRlZmF1bHRzJyxcclxuICAgICAgICBleHRlbnNpb246IHtcclxuICAgICAgICAgIHByZVBvcHVsYXRlKGZpZWxkOiBGb3JtbHlGaWVsZENvbmZpZykge1xyXG4gICAgICAgICAgICBpZiAoZmllbGQudHlwZSA9PT0gJ2dlbmVyaWMtc2VsZWN0b3InKSB7XHJcbiAgICAgICAgICAgICAgZmllbGQucHJvcHMgPSB7XHJcbiAgICAgICAgICAgICAgICBsb2FkRGVmYXVsdEZpZWxkOiAnaXNEZWZhdWx0JyxcclxuICAgICAgICAgICAgICAgIGxvYWREZWZhdWx0VmFsdWU6IHRydWUsXHJcbiAgICAgICAgICAgICAgICBsb2FkRGVmYXVsdDogdHJ1ZSxcclxuICAgICAgICAgICAgICAgIGZpeGVkRmlsdGVyczp7XHJcbiAgICAgICAgICAgICAgICAgIGlzQWN0aXZlOnRydWVcclxuICAgICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgICAgICAuLi5maWVsZC5wcm9wcywgLy8g8J+RiCBrZWVwIHBlci1maWVsZCBvdmVycmlkZXNcclxuICAgICAgICAgICAgICB9O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgIH0sXHJcbiAgICAgIH0sXHJcbiAgICBdLFxyXG4gIH07XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiB3aXRoRm9ybWx5RmllbGRTd2l0Y2goKTogQ29uZmlnT3B0aW9uIHtcclxuICByZXR1cm4ge1xyXG4gICAgdHlwZXM6IFtcclxuICAgICAge1xyXG4gICAgICAgIG5hbWU6ICdzd2l0Y2gnLFxyXG4gICAgICAgIGNvbXBvbmVudDogSW5wdXRTd2l0Y2hUeXBlQ29tcG9uZW50LFxyXG4gICAgICAgIHdyYXBwZXJzOiBbJ2Zvcm0tZmllbGQtbm8nXSxcclxuICAgICAgfSxcclxuICAgIF0sXHJcbiAgfTtcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIHdpdGhGb3JtbHlGaWVsZFVzZXJuYW1lV2l0aERvbWFpbigpOiBDb25maWdPcHRpb24ge1xyXG4gIHJldHVybiB7XHJcbiAgICB0eXBlczogW1xyXG4gICAgICB7XHJcbiAgICAgICAgbmFtZTogJ3VzZXJuYW1lLXdpdGgtZG9tYWluJyxcclxuICAgICAgICBjb21wb25lbnQ6IFVzZXJuYW1lV2l0aERvbWFpbkNvbXBvbmVudCxcclxuICAgICAgICB3cmFwcGVyczogWydmb3JtLWZpZWxkJ10sXHJcbiAgICAgIH0sXHJcbiAgICBdLFxyXG4gIH07XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiB3aXRoRm9ybWx5RmllbGRDdXN0b21Td2l0Y2goKTogQ29uZmlnT3B0aW9uIHtcclxuICByZXR1cm4ge1xyXG4gICAgdHlwZXM6IFtcclxuICAgICAge1xyXG4gICAgICAgIG5hbWU6ICdjdXN0b20tc3dpdGNoJyxcclxuICAgICAgICBjb21wb25lbnQ6IEN1c3RvbVN3aXRjaEZpZWxkQ29tcG9uZW50LFxyXG4gICAgICAgIHdyYXBwZXJzOiBbJ2Zvcm0tZmllbGQtbm8nXSxcclxuICAgICAgfSxcclxuICAgIF0sXHJcbiAgfTtcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIHdpdGhGb3JtbHlGaWVsZEZvcm1seVNwbGl0KCk6IENvbmZpZ09wdGlvbiB7XHJcbiAgcmV0dXJuIHtcclxuICAgIHR5cGVzOiBbXHJcbiAgICAgIHtcclxuICAgICAgICBuYW1lOiAnRm9ybWx5LVNwbGl0JyxcclxuICAgICAgICBjb21wb25lbnQ6IEZvcm1seVNwbGl0QnV0dG9uQ29tcG9uZW50LFxyXG4gICAgICAgIHdyYXBwZXJzOiBbJ2Zvcm0tZmllbGQnXSxcclxuICAgICAgfSxcclxuICAgIF0sXHJcbiAgfTtcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIHdpdGhGb3JtbHlGaWVsZEJ1dHRvblNlbGVjdGlvbigpOiBDb25maWdPcHRpb24ge1xyXG4gIHJldHVybiB7XHJcbiAgICB0eXBlczogW1xyXG4gICAgICB7XHJcbiAgICAgICAgbmFtZTogJ0J1dHRvbi1TZWxlY3Rpb24nLFxyXG4gICAgICAgIGNvbXBvbmVudDogRm9ybWx5U2VsZWN0aW9uQnV0dG9uQ29tcG9uZW50LFxyXG4gICAgICAgIHdyYXBwZXJzOiBbJ2Zvcm0tZmllbGQnXSxcclxuICAgICAgfSxcclxuICAgIF0sXHJcbiAgfTtcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIHdpdGhGb3JtbHlGaWVsZEF2YXRhckxhYmVsQnV0dG9uKCk6IENvbmZpZ09wdGlvbiB7XHJcbiAgcmV0dXJuIHtcclxuICAgIHR5cGVzOiBbXHJcbiAgICAgIHtcclxuICAgICAgICBuYW1lOiAnYXZhdGFyLWxhYmVsLWJ1dHRvbicsXHJcbiAgICAgICAgY29tcG9uZW50OiBGb3JtbHlBdmF0YXJMYWJlbENvbXBvbmVudCxcclxuICAgICAgfSxcclxuICAgIF0sXHJcbiAgfTtcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIHdpdGhGb3JtbHlGaWVsZEZvcm1seUJ1dHRvbigpOiBDb25maWdPcHRpb24ge1xyXG4gIHJldHVybiB7XHJcbiAgICB0eXBlczogW1xyXG4gICAgICB7XHJcbiAgICAgICAgbmFtZTogJ2Zvcm1seS1idXR0b24nLFxyXG4gICAgICAgIGNvbXBvbmVudDogRm9ybWx5QnV0dG9uQ29tcG9uZW50LFxyXG4gICAgICB9LFxyXG4gICAgXSxcclxuICB9O1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gd2l0aEZvcm1seUZpZWxkTGFiZWxUeXBlKCk6IENvbmZpZ09wdGlvbiB7XHJcbiAgcmV0dXJuIHtcclxuICAgIHR5cGVzOiBbXHJcbiAgICAgIHtcclxuICAgICAgICBuYW1lOiAnbGFiZWwtdHlwZScsXHJcbiAgICAgICAgY29tcG9uZW50OiBMYWJlbFR5cGVDb21wb25lbnQsXHJcbiAgICAgIH0sXHJcbiAgICAgIHtcclxuICAgICAgICAgIG5hbWU6ICdjdXN0b20tbGFiZWwtdHlwZScsXHJcbiAgICAgICAgICBjb21wb25lbnQ6IEN1c3RvbVR5cGVDb21wb25lbnQsXHJcbiAgICAgICAgICB3cmFwcGVyczpbJ2ZpZWxkLXdyYXBwZXInXVxyXG4gICAgICAgIH0sXHJcblxyXG4gICAgXSxcclxuICB9O1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gd2l0aEZvcm1seUZpZWxkQ2xpY2thYmxlTGFiZWxUeXBlKCk6IENvbmZpZ09wdGlvbiB7XHJcbiAgcmV0dXJuIHtcclxuICAgIHR5cGVzOiBbXHJcbiAgICAgIHtcclxuICAgICAgICBuYW1lOiAnY2xpY2thYmxlLWxhYmVsLXR5cGUnLFxyXG4gICAgICAgIGNvbXBvbmVudDogQ2xpY2thYmxlTGFiZWxUeXBlQ29tcG9uZW50LFxyXG4gICAgICB9LFxyXG4gICAgXSxcclxuICB9O1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gd2l0aEZvcm1seUZpZWxkT3B0aW9uVGFnKCk6IENvbmZpZ09wdGlvbiB7XHJcbiAgcmV0dXJuIHtcclxuICAgIHR5cGVzOiBbXHJcbiAgICAgIHtcclxuICAgICAgICBuYW1lOiAnb3B0aW9uLXRhZycsXHJcbiAgICAgICAgY29tcG9uZW50OiBPcHRpb25UYWdUeXBlQ29tcG9uZW50LFxyXG4gICAgICB9LFxyXG4gICAgXSxcclxuICB9O1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gd2l0aEZvcm1seUZpZWxkUmVwZWF0KCk6IENvbmZpZ09wdGlvbiB7XHJcbiAgcmV0dXJuIHtcclxuICAgIHR5cGVzOiBbXHJcbiAgICAgIHtcclxuICAgICAgICBuYW1lOiAncmVwZWF0JyxcclxuICAgICAgICBjb21wb25lbnQ6IFJlcGVhdFR5cGVDb21wb25lbnQsXHJcbiAgICAgIH0sXHJcbiAgICBdLFxyXG4gIH07XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiB3aXRoRm9ybWx5RmllbGRUYWJzKCk6IENvbmZpZ09wdGlvbiB7XHJcbiAgcmV0dXJuIHtcclxuICAgIHR5cGVzOiBbXHJcbiAgICAgIHtcclxuICAgICAgICBuYW1lOiAndGFicycsXHJcbiAgICAgICAgY29tcG9uZW50OiBUYWJzVHlwZUNvbXBvbmVudCxcclxuICAgICAgfSxcclxuICAgIF0sXHJcbiAgfTtcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIHdpdGhGb3JtbHlGaWVsZFRhZygpOiBDb25maWdPcHRpb24ge1xyXG4gIHJldHVybiB7XHJcbiAgICB0eXBlczogW1xyXG4gICAgICB7XHJcbiAgICAgICAgbmFtZTogJ3RhZycsXHJcbiAgICAgICAgY29tcG9uZW50OiBUYWdUeXBlQ29tcG9uZW50LFxyXG4gICAgICB9LFxyXG4gICAgXSxcclxuICB9O1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gd2l0aEZvcm1seUZpZWxkQ29sb3JUYWcoKTogQ29uZmlnT3B0aW9uIHtcclxuICByZXR1cm4ge1xyXG4gICAgdHlwZXM6IFtcclxuICAgICAge1xyXG4gICAgICAgIG5hbWU6ICdjb2xvci10YWcnLFxyXG4gICAgICAgIGNvbXBvbmVudDogQ29sb3JUYWdUeXBlQ29tcG9uZW50LFxyXG4gICAgICB9LFxyXG4gICAgXSxcclxuICB9O1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gd2l0aEZvcm1seUZpZWxkQ29uZGl0aW9uQnVpbGRlcigpOiBDb25maWdPcHRpb24ge1xyXG4gIHJldHVybiB7XHJcbiAgICB0eXBlczogW1xyXG4gICAgICB7XHJcbiAgICAgICAgbmFtZTogJ2NvbmRpdGlvbi1idWlsZGVyJyxcclxuICAgICAgICBjb21wb25lbnQ6IENvbmRpdGlvbkV4cHJlc3Npb25CdWlsZGVyVHlwZSxcclxuICAgICAgICB3cmFwcGVyczogWydmb3JtLWZpZWxkJ10sXHJcbiAgICAgIH0sXHJcbiAgICBdLFxyXG4gIH07XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiB3aXRoRm9ybWx5RmllbGRJY29uUGlja2VyKCk6IENvbmZpZ09wdGlvbiB7XHJcbiAgcmV0dXJuIHtcclxuICAgIHR5cGVzOiBbXHJcbiAgICAgIHtcclxuICAgICAgICBuYW1lOiAnaWNvbi1waWNrZXInLFxyXG4gICAgICAgIGNvbXBvbmVudDogSWNvblBpY2tlckNvbXBvbmVudCxcclxuICAgICAgICB3cmFwcGVyczogWydmb3JtLWZpZWxkLW5vJ10sXHJcbiAgICAgIH0sXHJcbiAgICBdLFxyXG4gIH07XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiB3aXRoRm9ybWx5RmllbGRDb2xvclBpY2tlcigpOiBDb25maWdPcHRpb24ge1xyXG4gIHJldHVybiB7XHJcbiAgICB0eXBlczogW1xyXG4gICAgICB7XHJcbiAgICAgICAgbmFtZTogJ2NvbG9yLXBpY2tlcicsXHJcbiAgICAgICAgY29tcG9uZW50OiBDb2xvclBpY2tlckNvbXBvbmVudCxcclxuICAgICAgICB3cmFwcGVyczogWydmb3JtLWZpZWxkLW5vJ10sXHJcbiAgICAgIH0sXHJcbiAgICBdLFxyXG4gIH07XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiB3aXRoRm9ybWx5RmllbGRUZW1wbGF0ZSgpOiBDb25maWdPcHRpb24ge1xyXG4gIHJldHVybiB7XHJcbiAgICB0eXBlczogW1xyXG4gICAgICB7XHJcbiAgICAgICAgbmFtZTogJ3RlbXBsYXRlJyxcclxuICAgICAgICBjb21wb25lbnQ6IEZvcm1seVRlbXBsYXRlVHlwZSxcclxuICAgICAgfSxcclxuICAgIF0sXHJcbiAgfTtcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIHdpdGhGb3JtbHlGaWVsZEJ1dHRvbigpOiBDb25maWdPcHRpb24ge1xyXG4gIHJldHVybiB7XHJcbiAgICB0eXBlczogW1xyXG4gICAgICB7XHJcbiAgICAgICAgbmFtZTogJ2J1dHRvbicsXHJcbiAgICAgICAgY29tcG9uZW50OiBGb3JtbHlGaWVsZEJ1dHRvbixcclxuICAgICAgICB3cmFwcGVyczogWydmb3JtLWZpZWxkJ10sXHJcbiAgICAgICAgZGVmYXVsdE9wdGlvbnM6IHtcclxuICAgICAgICAgIHByb3BzOiB7XHJcbiAgICAgICAgICAgIGJ0blR5cGU6ICdkZWZhdWx0JyxcclxuICAgICAgICAgICAgdHlwZTogJ2J1dHRvbicsXHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgIH0sXHJcbiAgICAgIH0sXHJcbiAgICBdLFxyXG4gIH07XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiB3aXRoRm9ybWx5RmllbGRBdmF0YXJJbWFnZSgpOiBDb25maWdPcHRpb24ge1xyXG4gIHJldHVybiB7XHJcbiAgICB0eXBlczogW1xyXG4gICAgICB7XHJcbiAgICAgICAgbmFtZTogJ2F2YXRhci1pbWFnZScsXHJcbiAgICAgICAgY29tcG9uZW50OiBGb3JtbHlBdmF0YXJJbWFnZUNvbXBvbmVudCxcclxuICAgICAgfSxcclxuICAgIF0sXHJcbiAgfTtcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIHdpdGhGb3JtbHlXcmFwcGVycygpOiBDb25maWdPcHRpb24ge1xyXG4gIHJldHVybiB7XHJcbiAgICB3cmFwcGVyczogW1xyXG4gICAgICB7IG5hbWU6ICdwYW5lbCcsIGNvbXBvbmVudDogUGFuZWxXcmFwcGVyQ29tcG9uZW50IH0sXHJcbiAgICAgIHsgbmFtZTogJ2xhYmVsJywgY29tcG9uZW50OiBMYWJlbFdyYXBwZXJDb21wb25lbnQgfSxcclxuICAgICAgeyBuYW1lOiAndGQnLCBjb21wb25lbnQ6IFRkV3JhcHBlckNvbXBvbmVudCB9LFxyXG4gICAgICB7IG5hbWU6ICdjb2xsYXBzaWJsZScsIGNvbXBvbmVudDogQ29sbGFwc2libGVXcmFwcGVyIH0sXHJcbiAgICAgIHsgbmFtZTogJ2ZpZWxkLXdyYXBwZXInLCBjb21wb25lbnQ6IEN1c3RvbUZpZWxkV3JhcHBlciB9LFxyXG4gICAgXSxcclxuICB9O1xyXG59XHJcblxyXG4iXX0=","/**\n * Generated bundle index. Do not edit.\n */\nexport * from './index';\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxpdGUuZnJhbWV3b3JrLW5nLnVpLmNvcmUtZm9ybWx5LXVpLWFsbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYnMvbmcudWkuY29yZS9mb3JtbHktdWktYWxsL3NyYy9lbGl0ZS5mcmFtZXdvcmstbmcudWkuY29yZS1mb3JtbHktdWktYWxsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYyxTQUFTLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEdlbmVyYXRlZCBidW5kbGUgaW5kZXguIERvIG5vdCBlZGl0LlxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vaW5kZXgnO1xuIl19"],"names":[],"mappings":"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"}
|