@acorex/platform 21.0.0-next.15 → 21.0.0-next.17
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/common/index.d.ts +10 -1
- package/fesm2022/{acorex-platform-common-common-settings.provider-BwBLG0Hl.mjs → acorex-platform-common-common-settings.provider-gyb6ohAE.mjs} +15 -1
- package/fesm2022/acorex-platform-common-common-settings.provider-gyb6ohAE.mjs.map +1 -0
- package/fesm2022/acorex-platform-common.mjs +3 -2
- package/fesm2022/acorex-platform-common.mjs.map +1 -1
- package/fesm2022/acorex-platform-core.mjs +0 -2
- package/fesm2022/acorex-platform-core.mjs.map +1 -1
- package/fesm2022/acorex-platform-layout-entity.mjs +568 -167
- package/fesm2022/acorex-platform-layout-entity.mjs.map +1 -1
- package/fesm2022/acorex-platform-layout-views.mjs +4 -4
- package/fesm2022/acorex-platform-layout-views.mjs.map +1 -1
- package/fesm2022/acorex-platform-layout-widgets.mjs +63 -18
- package/fesm2022/acorex-platform-layout-widgets.mjs.map +1 -1
- package/layout/entity/index.d.ts +41 -1
- package/layout/widgets/index.d.ts +14 -1
- package/package.json +1 -1
- package/fesm2022/acorex-platform-common-common-settings.provider-BwBLG0Hl.mjs.map +0 -1
package/layout/entity/index.d.ts
CHANGED
|
@@ -1254,6 +1254,11 @@ declare class AXPCategoryTreeService {
|
|
|
1254
1254
|
* Load root categories
|
|
1255
1255
|
*/
|
|
1256
1256
|
loadRootCategories(treeData: CategoryTreeNodeData, config: CategoryTreeConfig): Promise<Record<string, unknown>[] | null>;
|
|
1257
|
+
/**
|
|
1258
|
+
* Fetches a single category item by ID. Uses byKey when available (full item with parent),
|
|
1259
|
+
* otherwise falls back to list query with filter so ancestor chains can be built.
|
|
1260
|
+
*/
|
|
1261
|
+
fetchItemById(id: string, treeData: CategoryTreeNodeData, config: CategoryTreeConfig): Promise<Record<string, unknown> | null>;
|
|
1257
1262
|
/**
|
|
1258
1263
|
* Load children for a given node
|
|
1259
1264
|
*/
|
|
@@ -1341,6 +1346,8 @@ declare class AXPMiddlewareEntityStorageService<TKey = any, TDetailDto extends A
|
|
|
1341
1346
|
private readonly backend;
|
|
1342
1347
|
private readonly allMiddlewares;
|
|
1343
1348
|
private readonly injector;
|
|
1349
|
+
/** In-flight read requests - identical parallel requests share one execution */
|
|
1350
|
+
private readonly inFlight;
|
|
1344
1351
|
get dbName(): string;
|
|
1345
1352
|
private filterMiddlewares;
|
|
1346
1353
|
private compose;
|
|
@@ -1356,6 +1363,7 @@ declare class AXPMiddlewareEntityStorageService<TKey = any, TDetailDto extends A
|
|
|
1356
1363
|
insertOne(entityName: string, entity: TCreateDto): Promise<TKey>;
|
|
1357
1364
|
getAll(entityName: string): Promise<TListItemDto[]>;
|
|
1358
1365
|
query(entityName: string, request: AXPQueryRequest): Promise<AXPPagedListResult<TListItemDto>>;
|
|
1366
|
+
private runWithDedup;
|
|
1359
1367
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXPMiddlewareEntityStorageService<any, any, any, any, any>, never>;
|
|
1360
1368
|
static ɵprov: _angular_core.ɵɵInjectableDeclaration<AXPMiddlewareEntityStorageService<any, any, any, any, any>>;
|
|
1361
1369
|
}
|
|
@@ -1411,6 +1419,8 @@ declare class AXPEntityCategoryTreeSelectorComponent extends AXBasePageComponent
|
|
|
1411
1419
|
valueField: _angular_core.WritableSignal<string>;
|
|
1412
1420
|
allowMultiple: _angular_core.WritableSignal<boolean>;
|
|
1413
1421
|
selectedValues: _angular_core.WritableSignal<string[]>;
|
|
1422
|
+
/** Optional input for when popup passes selected values via inputs instead of data */
|
|
1423
|
+
selectedValuesInput: _angular_core.WritableSignal<string[]>;
|
|
1414
1424
|
searchPlaceholder: _angular_core.WritableSignal<string>;
|
|
1415
1425
|
excludedNodeId: _angular_core.WritableSignal<string | undefined>;
|
|
1416
1426
|
searchWithChildren: _angular_core.WritableSignal<boolean>;
|
|
@@ -1437,8 +1447,19 @@ declare class AXPEntityCategoryTreeSelectorComponent extends AXBasePageComponent
|
|
|
1437
1447
|
private relevantNodeIds;
|
|
1438
1448
|
private expandedNodesBeforeSearch;
|
|
1439
1449
|
private nodesExpandedDuringSearch;
|
|
1450
|
+
private initialExpandSyncDone;
|
|
1451
|
+
constructor();
|
|
1440
1452
|
ngOnInit(): void;
|
|
1441
1453
|
private initializeTree;
|
|
1454
|
+
/**
|
|
1455
|
+
* Called when popup data arrives after ngOnInit: load data, set selection, expand and sync.
|
|
1456
|
+
*/
|
|
1457
|
+
private runInitialExpandAndSync;
|
|
1458
|
+
/**
|
|
1459
|
+
* Runs expand path + sync selection once the tree viewChild is available.
|
|
1460
|
+
* Uses retry loop so we don't run before the view has rendered the tree.
|
|
1461
|
+
*/
|
|
1462
|
+
private runExpandAndSyncWhenTreeReady;
|
|
1442
1463
|
/**
|
|
1443
1464
|
* Handles search input value changes - Uses server-side search for efficiency and reliability
|
|
1444
1465
|
*/
|
|
@@ -1459,7 +1480,8 @@ declare class AXPEntityCategoryTreeSelectorComponent extends AXBasePageComponent
|
|
|
1459
1480
|
*/
|
|
1460
1481
|
private collectChildrenRecursively;
|
|
1461
1482
|
/**
|
|
1462
|
-
* Fetches a single item by ID
|
|
1483
|
+
* Fetches a single item by ID. Uses category tree service so byKey is used when available
|
|
1484
|
+
* (returns full item with parent/parentId for building ancestor chains).
|
|
1463
1485
|
*/
|
|
1464
1486
|
private fetchItemById;
|
|
1465
1487
|
/**
|
|
@@ -1535,6 +1557,8 @@ declare class AXPEntityCategoryTreeSelectorComponent extends AXBasePageComponent
|
|
|
1535
1557
|
* This ensures parent nodes are loaded into the tree before selecting children.
|
|
1536
1558
|
*/
|
|
1537
1559
|
private expandAncestorNodesInOrder;
|
|
1560
|
+
/** Waits until the node is expanded (tree has loaded children). Polls so deep paths load. */
|
|
1561
|
+
private waitForNodeExpanded;
|
|
1538
1562
|
/**
|
|
1539
1563
|
* Syncs selection state with the tree component.
|
|
1540
1564
|
* Selects leaf nodes and manually updates parent states (indeterminate/selected).
|
|
@@ -1551,6 +1575,15 @@ declare class AXPEntityCategoryTreeSelectorComponent extends AXBasePageComponent
|
|
|
1551
1575
|
* This is critical for pre-selected values in collapsed branches.
|
|
1552
1576
|
*/
|
|
1553
1577
|
private loadMissingNodeData;
|
|
1578
|
+
/**
|
|
1579
|
+
* For each selected id, if cached item has no parent (e.g. batch query returned minimal fields),
|
|
1580
|
+
* re-fetch by id so we have parent/parentId for building ancestor chains.
|
|
1581
|
+
*/
|
|
1582
|
+
private ensureParentDataInCache;
|
|
1583
|
+
/**
|
|
1584
|
+
* Resolves parent ID from node data: supports nested `parent` object or flat parentId/parentKey.
|
|
1585
|
+
*/
|
|
1586
|
+
private getParentIdFromNodeData;
|
|
1554
1587
|
/**
|
|
1555
1588
|
* Marks nodes as selected in the tree structure based on selectedNodeIds.
|
|
1556
1589
|
* This ensures pre-selected nodes appear selected when the tree is rendered.
|
|
@@ -1604,6 +1637,7 @@ declare class AXPEntityCategoryWidgetColumnComponent extends AXPColumnWidgetComp
|
|
|
1604
1637
|
protected readonly entityDetailPopoverService: AXPEntityDetailPopoverService;
|
|
1605
1638
|
protected readonly formatService: AXFormatService;
|
|
1606
1639
|
protected readonly entityResolver: AXPEntityDefinitionRegistryService;
|
|
1640
|
+
private readonly categoryBatchResolver;
|
|
1607
1641
|
private readonly rawValueSignal;
|
|
1608
1642
|
set rawValueInput(value: any);
|
|
1609
1643
|
protected entity: _angular_core.Signal<string>;
|
|
@@ -1628,6 +1662,12 @@ declare class AXPEntityCategoryWidgetColumnComponent extends AXPColumnWidgetComp
|
|
|
1628
1662
|
protected joinPath(path: string[]): string;
|
|
1629
1663
|
protected getItemId(item: any): string;
|
|
1630
1664
|
protected getBreadcrumbPath(item: any): string;
|
|
1665
|
+
private resolveItemsWithPaths;
|
|
1666
|
+
/**
|
|
1667
|
+
* Build path from categories array when record has full chain (id, parentId, title).
|
|
1668
|
+
* Used when middleware enriches categories on create/update.
|
|
1669
|
+
*/
|
|
1670
|
+
private buildItemWithPathFromChain;
|
|
1631
1671
|
private extractItemWithPath;
|
|
1632
1672
|
/**
|
|
1633
1673
|
* Calculate the full path from root to the item.
|
|
@@ -2178,6 +2178,7 @@ declare class AXPEditFileUploaderCommand implements AXPCommand<{
|
|
|
2178
2178
|
}[];
|
|
2179
2179
|
excludePlugins?: string[];
|
|
2180
2180
|
enableTitleDescription?: boolean;
|
|
2181
|
+
isNewFile?: boolean;
|
|
2181
2182
|
}, AXPFileListItem> {
|
|
2182
2183
|
private readonly layoutBuilder;
|
|
2183
2184
|
private readonly translationService;
|
|
@@ -2190,6 +2191,7 @@ declare class AXPEditFileUploaderCommand implements AXPCommand<{
|
|
|
2190
2191
|
}[];
|
|
2191
2192
|
excludePlugins?: string[];
|
|
2192
2193
|
enableTitleDescription?: boolean;
|
|
2194
|
+
isNewFile?: boolean;
|
|
2193
2195
|
}): Promise<AXPExecuteCommandResult<AXPFileListItem>>;
|
|
2194
2196
|
private showEditDialog;
|
|
2195
2197
|
/**
|
|
@@ -2276,6 +2278,7 @@ declare class AXPFileUploaderWidgetEditComponent extends AXPValueWidgetComponent
|
|
|
2276
2278
|
protected readonly fileService: AXFileService;
|
|
2277
2279
|
private readonly hooks;
|
|
2278
2280
|
private readonly fileActionsService;
|
|
2281
|
+
private readonly commandExecutor;
|
|
2279
2282
|
protected multiple: _angular_core.Signal<boolean>;
|
|
2280
2283
|
private readonly acceptOverride;
|
|
2281
2284
|
protected accept: _angular_core.Signal<string>;
|
|
@@ -2287,6 +2290,8 @@ declare class AXPFileUploaderWidgetEditComponent extends AXPValueWidgetComponent
|
|
|
2287
2290
|
protected excludePlugins: _angular_core.Signal<string[]>;
|
|
2288
2291
|
protected fileEditable: _angular_core.Signal<boolean>;
|
|
2289
2292
|
protected enableTitleDescription: _angular_core.Signal<boolean>;
|
|
2293
|
+
/** When true, show the edit dialog (name/title/description + plugin hooks) after each file select; otherwise add to list and user edits via Edit button. */
|
|
2294
|
+
protected showEditDialogAfterSelect: _angular_core.Signal<boolean>;
|
|
2290
2295
|
protected readonly: _angular_core.Signal<boolean>;
|
|
2291
2296
|
protected maxFileSize: _angular_core.Signal<number>;
|
|
2292
2297
|
protected isDragOver: _angular_core.WritableSignal<boolean>;
|
|
@@ -2297,8 +2302,13 @@ declare class AXPFileUploaderWidgetEditComponent extends AXPValueWidgetComponent
|
|
|
2297
2302
|
private configureFromHooks;
|
|
2298
2303
|
/**
|
|
2299
2304
|
* Process files from various sources (file picker, drag-drop, etc.)
|
|
2305
|
+
* When showEditDialogAfterSelect is true, the edit dialog (with plugin hooks) is shown per file before adding; otherwise files are added and user can edit via Edit button.
|
|
2300
2306
|
*/
|
|
2301
2307
|
private processFiles;
|
|
2308
|
+
/**
|
|
2309
|
+
* Show edit dialog per file and add only those submitted. Used when showEditDialogAfterSelect is true (both from zone and from dropdown actions).
|
|
2310
|
+
*/
|
|
2311
|
+
private addFilesWithEditDialogAsync;
|
|
2302
2312
|
protected files: _angular_core.Signal<AXPFileListItem[]>;
|
|
2303
2313
|
handleFileRemove(file: AXPFileListItem): void;
|
|
2304
2314
|
removeFile(file: AXPFileListItem): void;
|
|
@@ -2307,7 +2317,8 @@ declare class AXPFileUploaderWidgetEditComponent extends AXPValueWidgetComponent
|
|
|
2307
2317
|
*/
|
|
2308
2318
|
handleFileRevert(file: AXPFileListItem): void;
|
|
2309
2319
|
/**
|
|
2310
|
-
* Handle file rename action
|
|
2320
|
+
* Handle file rename action. Persists name/title/description to file storage immediately when edited
|
|
2321
|
+
* so they are saved even if the entity payload does not carry these fields.
|
|
2311
2322
|
*/
|
|
2312
2323
|
handleFileRename(file: AXPFileListItem): void;
|
|
2313
2324
|
clear(): void;
|
|
@@ -2341,6 +2352,7 @@ interface AXPFileUploaderWidgetDesignerOptions {
|
|
|
2341
2352
|
fileEditable?: boolean;
|
|
2342
2353
|
maxFileSize?: number;
|
|
2343
2354
|
enableTitleDescription?: boolean;
|
|
2355
|
+
showEditDialogAfterSelect?: boolean;
|
|
2344
2356
|
}
|
|
2345
2357
|
interface AXPFileUploaderWidgetViewOptions {
|
|
2346
2358
|
}
|
|
@@ -2356,6 +2368,7 @@ interface AXPFileUploaderWidgetEditOptions {
|
|
|
2356
2368
|
fileEditable?: boolean;
|
|
2357
2369
|
maxFileSize?: number;
|
|
2358
2370
|
enableTitleDescription?: boolean;
|
|
2371
|
+
showEditDialogAfterSelect?: boolean;
|
|
2359
2372
|
}
|
|
2360
2373
|
interface AXPFileUploaderWidgetColumnOptions {
|
|
2361
2374
|
}
|
package/package.json
CHANGED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"acorex-platform-common-common-settings.provider-BwBLG0Hl.mjs","sources":["../tmp-esm2022/common/lib/configs/common-settings.provider.js"],"sourcesContent":["import { AXTranslationService } from '@acorex/core/translation';\nimport { AXPPlatformScope } from '@acorex/platform/core';\nimport { AXPWidgetsCatalog } from '@acorex/platform/layout/widget-core';\nimport { Injectable, Injector } from '@angular/core';\nimport { AXPCommonSettings } from './common-settings.key';\nimport * as i0 from \"@angular/core\";\nexport class AXPCommonSettingProvider {\n constructor(injector) {\n this.injector = injector;\n this.translateService = this.injector.get(AXTranslationService);\n }\n async provide(context) {\n const trans = async (key) => await this.translateService.translateAsync(`@general:settings.${key}`);\n // Define the 'General Settings' group\n context\n .group('general')\n ?.addSection('notifications', await trans('general.notifications.title'), await trans('general.notifications.description'))\n // Add the 'Enable Operation Toasts' setting\n .addSetting({\n key: AXPCommonSettings.EnableOperationToasts,\n title: await trans('general.notifications.enable-operation-toasts.title'),\n scope: AXPPlatformScope.User,\n isInherited: true,\n defaultValue: true,\n widget: {\n type: AXPWidgetsCatalog.toggle,\n options: {\n label: null,\n },\n },\n description: await trans('general.notifications.enable-operation-toasts.description'),\n })\n // End the 'Notifications' section\n .endSection()\n .addSection('entity', await trans('general.entity.title'), await trans('general.entity.description'))\n // Add the 'Enable Operation Toasts' setting\n .addSetting({\n key: AXPCommonSettings.EntityFilterApplyMode,\n title: await trans('general.entity.filter-apply-mode.title'),\n scope: AXPPlatformScope.User,\n isInherited: true,\n defaultValue: 'auto',\n widget: {\n type: AXPWidgetsCatalog.select,\n options: {\n label: null,\n valueField: 'value',\n textField: 'text',\n dataSource: [\n { value: 'auto', text: await trans('general.entity.filter-apply-mode.options.auto') },\n { value: 'manual', text: await trans('general.entity.filter-apply-mode.options.manual') },\n ],\n },\n },\n description: await trans('general.entity.filter-apply-mode.description'),\n })\n // End the 'Entity Settings' section\n .endSection()\n // End the 'General Settings' group\n .endGroup();\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.16\", ngImport: i0, type: AXPCommonSettingProvider, deps: [{ token: i0.Injector }], target: i0.ɵɵFactoryTarget.Injectable }); }\n static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.3.16\", ngImport: i0, type: AXPCommonSettingProvider }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.16\", ngImport: i0, type: AXPCommonSettingProvider, decorators: [{\n type: Injectable\n }], ctorParameters: () => [{ type: i0.Injector }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbW9uLXNldHRpbmdzLnByb3ZpZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9wbGF0Zm9ybS9jb21tb24vc3JjL2xpYi9jb25maWdzL2NvbW1vbi1zZXR0aW5ncy5wcm92aWRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUNoRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUN4RSxPQUFPLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUVyRCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQzs7QUFHMUQsTUFBTSxPQUFPLHdCQUF3QjtJQUduQyxZQUFvQixRQUFrQjtRQUFsQixhQUFRLEdBQVIsUUFBUSxDQUFVO1FBRnJCLHFCQUFnQixHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLG9CQUFvQixDQUFDLENBQUM7SUFFbkMsQ0FBQztJQUUxQyxLQUFLLENBQUMsT0FBTyxDQUFDLE9BQTRDO1FBQ3hELE1BQU0sS0FBSyxHQUFHLEtBQUssRUFBRSxHQUFXLEVBQUUsRUFBRSxDQUFDLE1BQU0sSUFBSSxDQUFDLGdCQUFnQixDQUFDLGNBQWMsQ0FBQyxxQkFBcUIsR0FBRyxFQUFFLENBQUMsQ0FBQztRQUU1RyxzQ0FBc0M7UUFDdEMsT0FBTzthQUNKLEtBQUssQ0FBQyxTQUFTLENBQUM7WUFDakIsRUFBRSxVQUFVLENBQ1YsZUFBZSxFQUNmLE1BQU0sS0FBSyxDQUFDLDZCQUE2QixDQUFDLEVBQzFDLE1BQU0sS0FBSyxDQUFDLG1DQUFtQyxDQUFDLENBQ2pEO1lBQ0QsNENBQTRDO2FBQzNDLFVBQVUsQ0FBQztZQUNWLEdBQUcsRUFBRSxpQkFBaUIsQ0FBQyxxQkFBcUI7WUFDNUMsS0FBSyxFQUFFLE1BQU0sS0FBSyxDQUFDLHFEQUFxRCxDQUFDO1lBQ3pFLEtBQUssRUFBRSxnQkFBZ0IsQ0FBQyxJQUFJO1lBQzVCLFdBQVcsRUFBRSxJQUFJO1lBQ2pCLFlBQVksRUFBRSxJQUFJO1lBQ2xCLE1BQU0sRUFBRTtnQkFDTixJQUFJLEVBQUUsaUJBQWlCLENBQUMsTUFBTTtnQkFDOUIsT0FBTyxFQUFFO29CQUNQLEtBQUssRUFBRSxJQUFJO2lCQUNaO2FBQ0Y7WUFFRCxXQUFXLEVBQUUsTUFBTSxLQUFLLENBQUMsMkRBQTJELENBQUM7U0FDdEYsQ0FBQztZQUVGLGtDQUFrQzthQUNqQyxVQUFVLEVBQUU7YUFDWixVQUFVLENBQUMsUUFBUSxFQUFFLE1BQU0sS0FBSyxDQUFDLHNCQUFzQixDQUFDLEVBQUUsTUFBTSxLQUFLLENBQUMsNEJBQTRCLENBQUMsQ0FBQztZQUNyRyw0Q0FBNEM7YUFDM0MsVUFBVSxDQUFDO1lBQ1YsR0FBRyxFQUFFLGlCQUFpQixDQUFDLHFCQUFxQjtZQUM1QyxLQUFLLEVBQUUsTUFBTSxLQUFLLENBQUMsd0NBQXdDLENBQUM7WUFDNUQsS0FBSyxFQUFFLGdCQUFnQixDQUFDLElBQUk7WUFDNUIsV0FBVyxFQUFFLElBQUk7WUFDakIsWUFBWSxFQUFFLE1BQU07WUFDcEIsTUFBTSxFQUFFO2dCQUNOLElBQUksRUFBRSxpQkFBaUIsQ0FBQyxNQUFNO2dCQUM5QixPQUFPLEVBQUU7b0JBQ1AsS0FBSyxFQUFFLElBQUk7b0JBQ1gsVUFBVSxFQUFFLE9BQU87b0JBQ25CLFNBQVMsRUFBRSxNQUFNO29CQUNqQixVQUFVLEVBQUU7d0JBQ1YsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxNQUFNLEtBQUssQ0FBQywrQ0FBK0MsQ0FBQyxFQUFFO3dCQUNyRixFQUFFLEtBQUssRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLE1BQU0sS0FBSyxDQUFDLGlEQUFpRCxDQUFDLEVBQUU7cUJBQzFGO2lCQUNGO2FBQ0Y7WUFFRCxXQUFXLEVBQUUsTUFBTSxLQUFLLENBQUMsOENBQThDLENBQUM7U0FDekUsQ0FBQztZQUVGLG9DQUFvQzthQUNuQyxVQUFVLEVBQUU7WUFDYixtQ0FBbUM7YUFDbEMsUUFBUSxFQUFFLENBQUM7SUFDaEIsQ0FBQzsrR0EvRFUsd0JBQXdCO21IQUF4Qix3QkFBd0I7OzRGQUF4Qix3QkFBd0I7a0JBRHBDLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBWFRyYW5zbGF0aW9uU2VydmljZSB9IGZyb20gJ0BhY29yZXgvY29yZS90cmFuc2xhdGlvbic7XG5pbXBvcnQgeyBBWFBQbGF0Zm9ybVNjb3BlIH0gZnJvbSAnQGFjb3JleC9wbGF0Zm9ybS9jb3JlJztcbmltcG9ydCB7IEFYUFdpZGdldHNDYXRhbG9nIH0gZnJvbSAnQGFjb3JleC9wbGF0Zm9ybS9sYXlvdXQvd2lkZ2V0LWNvcmUnO1xuaW1wb3J0IHsgSW5qZWN0YWJsZSwgSW5qZWN0b3IgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFYUFNldHRpbmdEZWZpbml0aW9uUHJvdmlkZXIsIEFYUFNldHRpbmdEZWZpbml0aW9uUHJvdmlkZXJDb250ZXh0IH0gZnJvbSAnLi4vc2V0dGluZ3MnO1xuaW1wb3J0IHsgQVhQQ29tbW9uU2V0dGluZ3MgfSBmcm9tICcuL2NvbW1vbi1zZXR0aW5ncy5rZXknO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgQVhQQ29tbW9uU2V0dGluZ1Byb3ZpZGVyIGltcGxlbWVudHMgQVhQU2V0dGluZ0RlZmluaXRpb25Qcm92aWRlciB7XG4gIHByaXZhdGUgcmVhZG9ubHkgdHJhbnNsYXRlU2VydmljZSA9IHRoaXMuaW5qZWN0b3IuZ2V0KEFYVHJhbnNsYXRpb25TZXJ2aWNlKTtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGluamVjdG9yOiBJbmplY3Rvcikge31cblxuICBhc3luYyBwcm92aWRlKGNvbnRleHQ6IEFYUFNldHRpbmdEZWZpbml0aW9uUHJvdmlkZXJDb250ZXh0KTogUHJvbWlzZTx2b2lkPiB7XG4gICAgY29uc3QgdHJhbnMgPSBhc3luYyAoa2V5OiBzdHJpbmcpID0+IGF3YWl0IHRoaXMudHJhbnNsYXRlU2VydmljZS50cmFuc2xhdGVBc3luYyhgQGdlbmVyYWw6c2V0dGluZ3MuJHtrZXl9YCk7XG5cbiAgICAvLyBEZWZpbmUgdGhlICdHZW5lcmFsIFNldHRpbmdzJyBncm91cFxuICAgIGNvbnRleHRcbiAgICAgIC5ncm91cCgnZ2VuZXJhbCcpXG4gICAgICA/LmFkZFNlY3Rpb24oXG4gICAgICAgICdub3RpZmljYXRpb25zJyxcbiAgICAgICAgYXdhaXQgdHJhbnMoJ2dlbmVyYWwubm90aWZpY2F0aW9ucy50aXRsZScpLFxuICAgICAgICBhd2FpdCB0cmFucygnZ2VuZXJhbC5ub3RpZmljYXRpb25zLmRlc2NyaXB0aW9uJyksXG4gICAgICApXG4gICAgICAvLyBBZGQgdGhlICdFbmFibGUgT3BlcmF0aW9uIFRvYXN0cycgc2V0dGluZ1xuICAgICAgLmFkZFNldHRpbmcoe1xuICAgICAgICBrZXk6IEFYUENvbW1vblNldHRpbmdzLkVuYWJsZU9wZXJhdGlvblRvYXN0cyxcbiAgICAgICAgdGl0bGU6IGF3YWl0IHRyYW5zKCdnZW5lcmFsLm5vdGlmaWNhdGlvbnMuZW5hYmxlLW9wZXJhdGlvbi10b2FzdHMudGl0bGUnKSxcbiAgICAgICAgc2NvcGU6IEFYUFBsYXRmb3JtU2NvcGUuVXNlcixcbiAgICAgICAgaXNJbmhlcml0ZWQ6IHRydWUsXG4gICAgICAgIGRlZmF1bHRWYWx1ZTogdHJ1ZSxcbiAgICAgICAgd2lkZ2V0OiB7XG4gICAgICAgICAgdHlwZTogQVhQV2lkZ2V0c0NhdGFsb2cudG9nZ2xlLFxuICAgICAgICAgIG9wdGlvbnM6IHtcbiAgICAgICAgICAgIGxhYmVsOiBudWxsLFxuICAgICAgICAgIH0sXG4gICAgICAgIH0sXG5cbiAgICAgICAgZGVzY3JpcHRpb246IGF3YWl0IHRyYW5zKCdnZW5lcmFsLm5vdGlmaWNhdGlvbnMuZW5hYmxlLW9wZXJhdGlvbi10b2FzdHMuZGVzY3JpcHRpb24nKSxcbiAgICAgIH0pXG5cbiAgICAgIC8vIEVuZCB0aGUgJ05vdGlmaWNhdGlvbnMnIHNlY3Rpb25cbiAgICAgIC5lbmRTZWN0aW9uKClcbiAgICAgIC5hZGRTZWN0aW9uKCdlbnRpdHknLCBhd2FpdCB0cmFucygnZ2VuZXJhbC5lbnRpdHkudGl0bGUnKSwgYXdhaXQgdHJhbnMoJ2dlbmVyYWwuZW50aXR5LmRlc2NyaXB0aW9uJykpXG4gICAgICAvLyBBZGQgdGhlICdFbmFibGUgT3BlcmF0aW9uIFRvYXN0cycgc2V0dGluZ1xuICAgICAgLmFkZFNldHRpbmcoe1xuICAgICAgICBrZXk6IEFYUENvbW1vblNldHRpbmdzLkVudGl0eUZpbHRlckFwcGx5TW9kZSxcbiAgICAgICAgdGl0bGU6IGF3YWl0IHRyYW5zKCdnZW5lcmFsLmVudGl0eS5maWx0ZXItYXBwbHktbW9kZS50aXRsZScpLFxuICAgICAgICBzY29wZTogQVhQUGxhdGZvcm1TY29wZS5Vc2VyLFxuICAgICAgICBpc0luaGVyaXRlZDogdHJ1ZSxcbiAgICAgICAgZGVmYXVsdFZhbHVlOiAnYXV0bycsXG4gICAgICAgIHdpZGdldDoge1xuICAgICAgICAgIHR5cGU6IEFYUFdpZGdldHNDYXRhbG9nLnNlbGVjdCxcbiAgICAgICAgICBvcHRpb25zOiB7XG4gICAgICAgICAgICBsYWJlbDogbnVsbCxcbiAgICAgICAgICAgIHZhbHVlRmllbGQ6ICd2YWx1ZScsXG4gICAgICAgICAgICB0ZXh0RmllbGQ6ICd0ZXh0JyxcbiAgICAgICAgICAgIGRhdGFTb3VyY2U6IFtcbiAgICAgICAgICAgICAgeyB2YWx1ZTogJ2F1dG8nLCB0ZXh0OiBhd2FpdCB0cmFucygnZ2VuZXJhbC5lbnRpdHkuZmlsdGVyLWFwcGx5LW1vZGUub3B0aW9ucy5hdXRvJykgfSxcbiAgICAgICAgICAgICAgeyB2YWx1ZTogJ21hbnVhbCcsIHRleHQ6IGF3YWl0IHRyYW5zKCdnZW5lcmFsLmVudGl0eS5maWx0ZXItYXBwbHktbW9kZS5vcHRpb25zLm1hbnVhbCcpIH0sXG4gICAgICAgICAgICBdLFxuICAgICAgICAgIH0sXG4gICAgICAgIH0sXG5cbiAgICAgICAgZGVzY3JpcHRpb246IGF3YWl0IHRyYW5zKCdnZW5lcmFsLmVudGl0eS5maWx0ZXItYXBwbHktbW9kZS5kZXNjcmlwdGlvbicpLFxuICAgICAgfSlcblxuICAgICAgLy8gRW5kIHRoZSAnRW50aXR5IFNldHRpbmdzJyBzZWN0aW9uXG4gICAgICAuZW5kU2VjdGlvbigpXG4gICAgICAvLyBFbmQgdGhlICdHZW5lcmFsIFNldHRpbmdzJyBncm91cFxuICAgICAgLmVuZEdyb3VwKCk7XG4gIH1cbn1cbiJdfQ=="],"names":[],"mappings":";;;;;;;AAMO,MAAM,wBAAwB,CAAC;AACtC,IAAI,WAAW,CAAC,QAAQ,EAAE;AAC1B,QAAQ,IAAI,CAAC,QAAQ,GAAG,QAAQ;AAChC,QAAQ,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,oBAAoB,CAAC;AACvE,IAAI;AACJ,IAAI,MAAM,OAAO,CAAC,OAAO,EAAE;AAC3B,QAAQ,MAAM,KAAK,GAAG,OAAO,GAAG,KAAK,MAAM,IAAI,CAAC,gBAAgB,CAAC,cAAc,CAAC,CAAC,kBAAkB,EAAE,GAAG,CAAC,CAAC,CAAC;AAC3G;AACA,QAAQ;AACR,aAAa,KAAK,CAAC,SAAS;AAC5B,cAAc,UAAU,CAAC,eAAe,EAAE,MAAM,KAAK,CAAC,6BAA6B,CAAC,EAAE,MAAM,KAAK,CAAC,mCAAmC,CAAC;AACtI;AACA,aAAa,UAAU,CAAC;AACxB,YAAY,GAAG,EAAE,iBAAiB,CAAC,qBAAqB;AACxD,YAAY,KAAK,EAAE,MAAM,KAAK,CAAC,qDAAqD,CAAC;AACrF,YAAY,KAAK,EAAE,gBAAgB,CAAC,IAAI;AACxC,YAAY,WAAW,EAAE,IAAI;AAC7B,YAAY,YAAY,EAAE,IAAI;AAC9B,YAAY,MAAM,EAAE;AACpB,gBAAgB,IAAI,EAAE,iBAAiB,CAAC,MAAM;AAC9C,gBAAgB,OAAO,EAAE;AACzB,oBAAoB,KAAK,EAAE,IAAI;AAC/B,iBAAiB;AACjB,aAAa;AACb,YAAY,WAAW,EAAE,MAAM,KAAK,CAAC,2DAA2D,CAAC;AACjG,SAAS;AACT;AACA,aAAa,UAAU;AACvB,aAAa,UAAU,CAAC,QAAQ,EAAE,MAAM,KAAK,CAAC,sBAAsB,CAAC,EAAE,MAAM,KAAK,CAAC,4BAA4B,CAAC;AAChH;AACA,aAAa,UAAU,CAAC;AACxB,YAAY,GAAG,EAAE,iBAAiB,CAAC,qBAAqB;AACxD,YAAY,KAAK,EAAE,MAAM,KAAK,CAAC,wCAAwC,CAAC;AACxE,YAAY,KAAK,EAAE,gBAAgB,CAAC,IAAI;AACxC,YAAY,WAAW,EAAE,IAAI;AAC7B,YAAY,YAAY,EAAE,MAAM;AAChC,YAAY,MAAM,EAAE;AACpB,gBAAgB,IAAI,EAAE,iBAAiB,CAAC,MAAM;AAC9C,gBAAgB,OAAO,EAAE;AACzB,oBAAoB,KAAK,EAAE,IAAI;AAC/B,oBAAoB,UAAU,EAAE,OAAO;AACvC,oBAAoB,SAAS,EAAE,MAAM;AACrC,oBAAoB,UAAU,EAAE;AAChC,wBAAwB,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC,+CAA+C,CAAC,EAAE;AAC7G,wBAAwB,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC,iDAAiD,CAAC,EAAE;AACjH,qBAAqB;AACrB,iBAAiB;AACjB,aAAa;AACb,YAAY,WAAW,EAAE,MAAM,KAAK,CAAC,8CAA8C,CAAC;AACpF,SAAS;AACT;AACA,aAAa,UAAU;AACvB;AACA,aAAa,QAAQ,EAAE;AACvB,IAAI;AACJ,IAAI,SAAS,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC,kBAAkB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,wBAAwB,EAAE,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,CAAC,QAAQ,EAAE,CAAC,EAAE,MAAM,EAAE,EAAE,CAAC,eAAe,CAAC,UAAU,EAAE,CAAC,CAAC;AAClN,IAAI,SAAS,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC,qBAAqB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,wBAAwB,EAAE,CAAC,CAAC;AAC/I;AACA,EAAE,CAAC,wBAAwB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,wBAAwB,EAAE,UAAU,EAAE,CAAC;AACnI,YAAY,IAAI,EAAE;AAClB,SAAS,CAAC,EAAE,cAAc,EAAE,MAAM,CAAC,EAAE,IAAI,EAAE,EAAE,CAAC,QAAQ,EAAE,CAAC,EAAE,CAAC;;;;"}
|