@itwin/presentation-backend 3.0.0-dev.100

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.
Files changed (79) hide show
  1. package/CHANGELOG.md +936 -0
  2. package/LICENSE.md +9 -0
  3. package/README.md +12 -0
  4. package/lib/cjs/assets/primary-presentation-rules/ElementProperties.PresentationRuleSet.json +14 -0
  5. package/lib/cjs/assets/supplemental-presentation-rules/BisCore.PresentationRuleSet.json +739 -0
  6. package/lib/cjs/assets/supplemental-presentation-rules/Functional.PresentationRuleSet.json +139 -0
  7. package/lib/cjs/presentation-backend/BackendLoggerCategory.d.ts +42 -0
  8. package/lib/cjs/presentation-backend/BackendLoggerCategory.d.ts.map +1 -0
  9. package/lib/cjs/presentation-backend/BackendLoggerCategory.js +51 -0
  10. package/lib/cjs/presentation-backend/BackendLoggerCategory.js.map +1 -0
  11. package/lib/cjs/presentation-backend/Constants.d.ts +14 -0
  12. package/lib/cjs/presentation-backend/Constants.d.ts.map +1 -0
  13. package/lib/cjs/presentation-backend/Constants.js +44 -0
  14. package/lib/cjs/presentation-backend/Constants.js.map +1 -0
  15. package/lib/cjs/presentation-backend/ElementPropertiesHelper.d.ts +12 -0
  16. package/lib/cjs/presentation-backend/ElementPropertiesHelper.d.ts.map +1 -0
  17. package/lib/cjs/presentation-backend/ElementPropertiesHelper.js +256 -0
  18. package/lib/cjs/presentation-backend/ElementPropertiesHelper.js.map +1 -0
  19. package/lib/cjs/presentation-backend/NativePlatform.d.ts +86 -0
  20. package/lib/cjs/presentation-backend/NativePlatform.d.ts.map +1 -0
  21. package/lib/cjs/presentation-backend/NativePlatform.js +153 -0
  22. package/lib/cjs/presentation-backend/NativePlatform.js.map +1 -0
  23. package/lib/cjs/presentation-backend/Presentation.d.ts +98 -0
  24. package/lib/cjs/presentation-backend/Presentation.d.ts.map +1 -0
  25. package/lib/cjs/presentation-backend/Presentation.js +135 -0
  26. package/lib/cjs/presentation-backend/Presentation.js.map +1 -0
  27. package/lib/cjs/presentation-backend/PresentationIpcHandler.d.ts +13 -0
  28. package/lib/cjs/presentation-backend/PresentationIpcHandler.d.ts.map +1 -0
  29. package/lib/cjs/presentation-backend/PresentationIpcHandler.js +41 -0
  30. package/lib/cjs/presentation-backend/PresentationIpcHandler.js.map +1 -0
  31. package/lib/cjs/presentation-backend/PresentationManager.d.ts +379 -0
  32. package/lib/cjs/presentation-backend/PresentationManager.d.ts.map +1 -0
  33. package/lib/cjs/presentation-backend/PresentationManager.js +635 -0
  34. package/lib/cjs/presentation-backend/PresentationManager.js.map +1 -0
  35. package/lib/cjs/presentation-backend/PresentationRpcImpl.d.ts +58 -0
  36. package/lib/cjs/presentation-backend/PresentationRpcImpl.d.ts.map +1 -0
  37. package/lib/cjs/presentation-backend/PresentationRpcImpl.js +271 -0
  38. package/lib/cjs/presentation-backend/PresentationRpcImpl.js.map +1 -0
  39. package/lib/cjs/presentation-backend/RulesetEmbedder.d.ts +105 -0
  40. package/lib/cjs/presentation-backend/RulesetEmbedder.d.ts.map +1 -0
  41. package/lib/cjs/presentation-backend/RulesetEmbedder.js +283 -0
  42. package/lib/cjs/presentation-backend/RulesetEmbedder.js.map +1 -0
  43. package/lib/cjs/presentation-backend/RulesetManager.d.ts +54 -0
  44. package/lib/cjs/presentation-backend/RulesetManager.d.ts.map +1 -0
  45. package/lib/cjs/presentation-backend/RulesetManager.js +74 -0
  46. package/lib/cjs/presentation-backend/RulesetManager.js.map +1 -0
  47. package/lib/cjs/presentation-backend/RulesetVariablesManager.d.ts +141 -0
  48. package/lib/cjs/presentation-backend/RulesetVariablesManager.d.ts.map +1 -0
  49. package/lib/cjs/presentation-backend/RulesetVariablesManager.js +130 -0
  50. package/lib/cjs/presentation-backend/RulesetVariablesManager.js.map +1 -0
  51. package/lib/cjs/presentation-backend/SelectionScopesHelper.d.ts +38 -0
  52. package/lib/cjs/presentation-backend/SelectionScopesHelper.d.ts.map +1 -0
  53. package/lib/cjs/presentation-backend/SelectionScopesHelper.js +257 -0
  54. package/lib/cjs/presentation-backend/SelectionScopesHelper.js.map +1 -0
  55. package/lib/cjs/presentation-backend/TemporaryStorage.d.ts +73 -0
  56. package/lib/cjs/presentation-backend/TemporaryStorage.d.ts.map +1 -0
  57. package/lib/cjs/presentation-backend/TemporaryStorage.js +92 -0
  58. package/lib/cjs/presentation-backend/TemporaryStorage.js.map +1 -0
  59. package/lib/cjs/presentation-backend/UpdatesTracker.d.ts +28 -0
  60. package/lib/cjs/presentation-backend/UpdatesTracker.d.ts.map +1 -0
  61. package/lib/cjs/presentation-backend/UpdatesTracker.js +55 -0
  62. package/lib/cjs/presentation-backend/UpdatesTracker.js.map +1 -0
  63. package/lib/cjs/presentation-backend/Utils.d.ts +11 -0
  64. package/lib/cjs/presentation-backend/Utils.d.ts.map +1 -0
  65. package/lib/cjs/presentation-backend/Utils.js +39 -0
  66. package/lib/cjs/presentation-backend/Utils.js.map +1 -0
  67. package/lib/cjs/presentation-backend/domain/PresentationRulesDomain.d.ts +17 -0
  68. package/lib/cjs/presentation-backend/domain/PresentationRulesDomain.d.ts.map +1 -0
  69. package/lib/cjs/presentation-backend/domain/PresentationRulesDomain.js +52 -0
  70. package/lib/cjs/presentation-backend/domain/PresentationRulesDomain.js.map +1 -0
  71. package/lib/cjs/presentation-backend/domain/RulesetElements.d.ts +22 -0
  72. package/lib/cjs/presentation-backend/domain/RulesetElements.d.ts.map +1 -0
  73. package/lib/cjs/presentation-backend/domain/RulesetElements.js +39 -0
  74. package/lib/cjs/presentation-backend/domain/RulesetElements.js.map +1 -0
  75. package/lib/cjs/presentation-backend.d.ts +20 -0
  76. package/lib/cjs/presentation-backend.d.ts.map +1 -0
  77. package/lib/cjs/presentation-backend.js +36 -0
  78. package/lib/cjs/presentation-backend.js.map +1 -0
  79. package/package.json +99 -0
@@ -0,0 +1,379 @@
1
+ /** @packageDocumentation
2
+ * @module Core
3
+ */
4
+ import { IModelDb } from "@itwin/core-backend";
5
+ import { Id64String } from "@itwin/core-bentley";
6
+ import { FormatProps, UnitSystemKey } from "@itwin/core-quantity";
7
+ import { Content, ContentDescriptorRequestOptions, ContentRequestOptions, ContentSourcesRequestOptions, Descriptor, DescriptorOverrides, DisplayLabelRequestOptions, DisplayLabelsRequestOptions, DisplayValueGroup, DistinctValuesRequestOptions, ElementProperties, FilterByInstancePathsHierarchyRequestOptions, FilterByTextHierarchyRequestOptions, HierarchyCompareInfo, HierarchyCompareOptions, HierarchyRequestOptions, InstanceKey, KeySet, LabelDefinition, MultiElementPropertiesRequestOptions, Node, NodeKey, NodePathElement, Paged, PagedResponse, Prioritized, Ruleset, SelectClassInfo, SelectionScope, SelectionScopeRequestOptions, SingleElementPropertiesRequestOptions } from "@itwin/presentation-common";
8
+ import { NativePlatformDefinition, NativePresentationKeySetJSON } from "./NativePlatform";
9
+ import { RulesetManager } from "./RulesetManager";
10
+ import { RulesetVariablesManager } from "./RulesetVariablesManager";
11
+ /**
12
+ * Presentation manager working mode.
13
+ * @public
14
+ */
15
+ export declare enum PresentationManagerMode {
16
+ /**
17
+ * Presentation manager assumes iModels are opened in read-only mode and avoids doing some work
18
+ * related to reacting to changes in iModels.
19
+ */
20
+ ReadOnly = 0,
21
+ /**
22
+ * Presentation manager assumes iModels are opened in read-write mode and it may need to
23
+ * react to changes. This involves some additional work and gives slightly worse performance.
24
+ */
25
+ ReadWrite = 1
26
+ }
27
+ /**
28
+ * Presentation hierarchy cache mode.
29
+ * @beta
30
+ */
31
+ export declare enum HierarchyCacheMode {
32
+ /**
33
+ * Hierarchy cache is created in memory.
34
+ */
35
+ Memory = "memory",
36
+ /**
37
+ * Hierarchy cache is created on disk. In this mode hierarchy cache is persisted between iModel
38
+ * openings.
39
+ */
40
+ Disk = "disk",
41
+ /**
42
+ * Hierarchy cache is created on disk. In this mode everything is cached in memory while creating hierarchy level
43
+ * and persisted in disk cache when whole hierarchy level is created.
44
+ */
45
+ Hybrid = "hybrid"
46
+ }
47
+ /**
48
+ * Configuration for hierarchy cache.
49
+ * @beta
50
+ */
51
+ export declare type HierarchyCacheConfig = MemoryHierarchyCacheConfig | DiskHierarchyCacheConfig | HybridCacheConfig;
52
+ /**
53
+ * Base interface for all [[HierarchyCacheConfig]] implementations.
54
+ * @beta
55
+ */
56
+ export interface HierarchyCacheConfigBase {
57
+ mode: HierarchyCacheMode;
58
+ }
59
+ /**
60
+ * Configuration for in-memory hierarchy cache.
61
+ * @beta
62
+ */
63
+ export interface MemoryHierarchyCacheConfig extends HierarchyCacheConfigBase {
64
+ mode: HierarchyCacheMode.Memory;
65
+ }
66
+ /**
67
+ * Configuration for persistent disk hierarchy cache.
68
+ * @beta
69
+ */
70
+ export interface DiskHierarchyCacheConfig extends HierarchyCacheConfigBase {
71
+ mode: HierarchyCacheMode.Disk;
72
+ /**
73
+ * A directory for Presentation hierarchy cache. If set, the directory must exist.
74
+ *
75
+ * The default directory depends on the iModel and the way it's opened.
76
+ */
77
+ directory?: string;
78
+ }
79
+ /**
80
+ * Configuration for the experimental hybrid hierarchy cache.
81
+ *
82
+ * Hybrid cache uses a combination of in-memory and disk caches, which should make it a better
83
+ * alternative for cases when there are lots of simultaneous requests.
84
+ *
85
+ * @beta
86
+ */
87
+ export interface HybridCacheConfig extends HierarchyCacheConfigBase {
88
+ mode: HierarchyCacheMode.Hybrid;
89
+ /** Configuration for disk cache used to persist hierarchies. */
90
+ disk?: DiskHierarchyCacheConfig;
91
+ }
92
+ /**
93
+ * Configuration for content cache.
94
+ * @public
95
+ */
96
+ export interface ContentCacheConfig {
97
+ /**
98
+ * Maximum number of content descriptors cached in memory for quicker paged content requests.
99
+ *
100
+ * Defaults to `100`.
101
+ *
102
+ * @alpha
103
+ */
104
+ size?: number;
105
+ }
106
+ /**
107
+ * A data structure that associates unit systems with a format. The associations are used for
108
+ * assigning default unit formats for specific phenomenons (see [[PresentationManagerProps.defaultFormats]]).
109
+ *
110
+ * @public
111
+ */
112
+ export interface UnitSystemFormat {
113
+ unitSystems: UnitSystemKey[];
114
+ format: FormatProps;
115
+ }
116
+ /**
117
+ * Properties that can be used to configure [[PresentationManager]]
118
+ * @public
119
+ */
120
+ export interface PresentationManagerProps {
121
+ /**
122
+ * Path overrides for presentation assets. Need to be overriden by application if it puts these assets someplace else than the default.
123
+ *
124
+ * By default paths to asset directories are determined during the call of [[Presentation.initialize]] using this algorithm:
125
+ *
126
+ * - for `presentation-backend` assets:
127
+ *
128
+ * - if path of `.js` file that contains [[PresentationManager]] definition contains "presentation-backend", assume the package is in `node_modules` and the directory structure is:
129
+ * - `assets/*\*\/*`
130
+ * - `presentation-backend/{presentation-backend source files}`
131
+ *
132
+ * which means the assets can be found through a relative path `../assets/` from the JS file being executed.
133
+ *
134
+ * - for `presentation-common` assets:
135
+ *
136
+ * - if path of `.js` files of `presentation-common` package contain "presentation-common", assume the package is in `node_modules` and the directory structure is:
137
+ * - `assets/*\*\/*`
138
+ * - `presentation-common/{presentation-common source files}`
139
+ *
140
+ * which means the assets can be found through a relative path `../assets/` from the package's source files.
141
+ *
142
+ * - in both cases, if we determine that source files are not in `node_modules`, assume the backend is webpacked into a single file with assets next to it:
143
+ * - `assets/*\*\/*`
144
+ * - `{source file being executed}.js`
145
+ *
146
+ * which means the assets can be found through a relative path `./assets/` from the `{source file being executed}`.
147
+ *
148
+ * The overrides can be specified as a single path (when assets of both `presentation-backend` and `presentation-common` packages are merged into a single directory) or as an object with two separate paths for each package.
149
+ */
150
+ presentationAssetsRoot?: string | {
151
+ /** Path to `presentation-backend` assets */
152
+ backend: string;
153
+ /** Path to `presentation-common` assets */
154
+ common: string;
155
+ };
156
+ /**
157
+ * A list of directories containing application's presentation rulesets.
158
+ */
159
+ rulesetDirectories?: string[];
160
+ /**
161
+ * A list of directories containing application's supplemental presentation rulesets.
162
+ */
163
+ supplementalRulesetDirectories?: string[];
164
+ /**
165
+ * A list of directories containing application's locale-specific localized
166
+ * string files (in simplified i18next v3 format)
167
+ */
168
+ localeDirectories?: string[];
169
+ /**
170
+ * Sets the active locale to use when localizing presentation-related
171
+ * strings. It can later be changed through [[PresentationManager.activeLocale]].
172
+ */
173
+ defaultLocale?: string;
174
+ /**
175
+ * Sets the active unit system to use for formatting property values with
176
+ * units. Default presentation units are used if this is not specified. The active unit
177
+ * system can later be changed through [[PresentationManager.activeUnitSystem]] or overriden for each request
178
+ * through request options.
179
+ */
180
+ defaultUnitSystem?: UnitSystemKey;
181
+ /**
182
+ * A map of default unit formats to use for formatting properties that don't have a presentation format
183
+ * in requested unit system.
184
+ */
185
+ defaultFormats?: {
186
+ [phenomenon: string]: UnitSystemFormat;
187
+ };
188
+ /**
189
+ * Should schemas preloading be enabled. If true, presentation manager listens
190
+ * for `BriefcaseDb.onOpened` event and force pre-loads all ECSchemas.
191
+ */
192
+ enableSchemasPreload?: boolean;
193
+ /**
194
+ * A number of worker threads to use for handling presentation requests. Defaults to `2`.
195
+ */
196
+ workerThreadsCount?: number;
197
+ /**
198
+ * Presentation manager working mode. Backends that use iModels in read-write mode should
199
+ * use `ReadWrite`, others might want to set to `ReadOnly` for better performance.
200
+ *
201
+ * Defaults to [[PresentationManagerMode.ReadWrite]].
202
+ */
203
+ mode?: PresentationManagerMode;
204
+ /**
205
+ * The interval (in milliseconds) used to poll for presentation data changes. Only has
206
+ * effect in read-write mode (see [[mode]]).
207
+ *
208
+ * @alpha
209
+ */
210
+ updatesPollInterval?: number;
211
+ /** Options for caching. */
212
+ caching?: {
213
+ /**
214
+ * Hierarchies-related caching options.
215
+ * @beta
216
+ */
217
+ hierarchies?: HierarchyCacheConfig;
218
+ /** Content-related caching options. */
219
+ content?: ContentCacheConfig;
220
+ };
221
+ /**
222
+ * Use [SQLite's Memory-Mapped I/O](https://sqlite.org/mmap.html) for worker connections. This mode improves performance of handling
223
+ * requests with high I/O intensity, e.g. filtering large tables on non-indexed columns. No downsides have been noticed.
224
+ *
225
+ * Set to a falsy value to turn off. `true` for memory-mapping the whole iModel. Number value for memory-mapping the specified amount of bytes.
226
+ *
227
+ * @alpha
228
+ */
229
+ useMmap?: boolean | number;
230
+ /**
231
+ * An identifier which helps separate multiple presentation managers. It's
232
+ * mostly useful in tests where multiple presentation managers can co-exist
233
+ * and try to share the same resources, which we don't want. With this identifier
234
+ * set, managers put their resources into id-named subdirectories.
235
+ *
236
+ * @internal
237
+ */
238
+ id?: string;
239
+ /** @internal */
240
+ addon?: NativePlatformDefinition;
241
+ }
242
+ /**
243
+ * Backend Presentation manager which pulls the presentation data from
244
+ * an iModel using native platform.
245
+ *
246
+ * @public
247
+ */
248
+ export declare class PresentationManager {
249
+ private _props;
250
+ private _nativePlatform?;
251
+ private _rulesets;
252
+ private _isDisposed;
253
+ private _disposeIModelOpenedListener?;
254
+ private _updatesTracker?;
255
+ /** Get / set active locale used for localizing presentation data */
256
+ activeLocale: string | undefined;
257
+ /** Get / set active unit system used to format property values with units */
258
+ activeUnitSystem: UnitSystemKey | undefined;
259
+ /**
260
+ * Creates an instance of PresentationManager.
261
+ * @param props Optional configuration properties.
262
+ */
263
+ constructor(props?: PresentationManagerProps);
264
+ /**
265
+ * Dispose the presentation manager. Must be called to clean up native resources.
266
+ */
267
+ dispose(): void;
268
+ /** Properties used to initialize the manager */
269
+ get props(): PresentationManagerProps;
270
+ /**
271
+ * Get rulesets manager
272
+ */
273
+ rulesets(): RulesetManager;
274
+ /**
275
+ * Get ruleset variables manager for specific ruleset
276
+ * @param rulesetId Id of the ruleset to get variables manager for
277
+ */
278
+ vars(rulesetId: string): RulesetVariablesManager;
279
+ private onIModelOpened;
280
+ /** @internal */
281
+ getNativePlatform: () => NativePlatformDefinition;
282
+ private setupRulesetDirectories;
283
+ private getRulesetIdObject;
284
+ /** @internal */
285
+ getRulesetId(rulesetOrId: Ruleset | string): string;
286
+ private ensureRulesetRegistered;
287
+ /** Registers given ruleset and replaces the ruleset with its ID in the resulting object */
288
+ private registerRuleset;
289
+ /**
290
+ * Retrieves nodes
291
+ * @public
292
+ */
293
+ getNodes(requestOptions: Prioritized<Paged<HierarchyRequestOptions<IModelDb, NodeKey>>>): Promise<Node[]>;
294
+ /**
295
+ * Retrieves nodes count
296
+ * @public
297
+ */
298
+ getNodesCount(requestOptions: Prioritized<HierarchyRequestOptions<IModelDb, NodeKey>>): Promise<number>;
299
+ /**
300
+ * Retrieves paths from root nodes to children nodes according to specified instance key paths. Intersecting paths will be merged.
301
+ * TODO: Return results in pages
302
+ * @public
303
+ */
304
+ getNodePaths(requestOptions: Prioritized<FilterByInstancePathsHierarchyRequestOptions<IModelDb>>): Promise<NodePathElement[]>;
305
+ /**
306
+ * Retrieves paths from root nodes to nodes containing filter text in their label.
307
+ * TODO: Return results in pages
308
+ * @public
309
+ */
310
+ getFilteredNodePaths(requestOptions: Prioritized<FilterByTextHierarchyRequestOptions<IModelDb>>): Promise<NodePathElement[]>;
311
+ /** @beta */
312
+ getContentSources(requestOptions: Prioritized<ContentSourcesRequestOptions<IModelDb>>): Promise<SelectClassInfo[]>;
313
+ /**
314
+ * Retrieves the content descriptor which can be used to get content
315
+ * @public
316
+ */
317
+ getContentDescriptor(requestOptions: Prioritized<ContentDescriptorRequestOptions<IModelDb, KeySet>>): Promise<Descriptor | undefined>;
318
+ /**
319
+ * Retrieves the content set size based on the supplied content descriptor override
320
+ * @public
321
+ */
322
+ getContentSetSize(requestOptions: Prioritized<ContentRequestOptions<IModelDb, Descriptor | DescriptorOverrides, KeySet>>): Promise<number>;
323
+ /**
324
+ * Retrieves the content based on the supplied content descriptor override.
325
+ * @public
326
+ */
327
+ getContent(requestOptions: Prioritized<Paged<ContentRequestOptions<IModelDb, Descriptor | DescriptorOverrides, KeySet>>>): Promise<Content | undefined>;
328
+ /**
329
+ * Retrieves distinct values of specific field from the content based on the supplied content descriptor override.
330
+ * @param requestOptions Options for the request
331
+ * @return A promise object that returns either distinct values on success or an error string on error.
332
+ * @public
333
+ */
334
+ getPagedDistinctValues(requestOptions: Prioritized<DistinctValuesRequestOptions<IModelDb, Descriptor | DescriptorOverrides, KeySet>>): Promise<PagedResponse<DisplayValueGroup>>;
335
+ /**
336
+ * Retrieves property data in a simplified format for a single element specified by ID.
337
+ * @beta
338
+ */
339
+ getElementProperties(requestOptions: Prioritized<SingleElementPropertiesRequestOptions<IModelDb>>): Promise<ElementProperties | undefined>;
340
+ /**
341
+ * Retrieves property data in simplified format for multiple elements specified by class
342
+ * or all element.
343
+ * @alpha
344
+ */
345
+ getElementProperties(requestOptions: Prioritized<MultiElementPropertiesRequestOptions<IModelDb>>): Promise<PagedResponse<ElementProperties>>;
346
+ private getMultipleElementProperties;
347
+ /**
348
+ * Retrieves display label definition of specific item
349
+ * @public
350
+ */
351
+ getDisplayLabelDefinition(requestOptions: Prioritized<DisplayLabelRequestOptions<IModelDb, InstanceKey>>): Promise<LabelDefinition>;
352
+ /**
353
+ * Retrieves display label definitions of specific items
354
+ * @public
355
+ */
356
+ getDisplayLabelDefinitions(requestOptions: Prioritized<Paged<DisplayLabelsRequestOptions<IModelDb, InstanceKey>>>): Promise<LabelDefinition[]>;
357
+ /**
358
+ * Retrieves available selection scopes.
359
+ * @public
360
+ */
361
+ getSelectionScopes(_requestOptions: SelectionScopeRequestOptions<IModelDb>): Promise<SelectionScope[]>;
362
+ /**
363
+ * Computes selection set based on provided selection scope.
364
+ * @public
365
+ */
366
+ computeSelection(requestOptions: SelectionScopeRequestOptions<IModelDb> & {
367
+ ids: Id64String[];
368
+ scopeId: string;
369
+ }): Promise<KeySet>;
370
+ private request;
371
+ /**
372
+ * Compares two hierarchies specified in the request options
373
+ * @public
374
+ */
375
+ compareHierarchies(requestOptions: HierarchyCompareOptions<IModelDb, NodeKey>): Promise<HierarchyCompareInfo>;
376
+ }
377
+ /** @internal */
378
+ export declare function getKeysForContentRequest(keys: Readonly<KeySet>, classInstanceKeysProcessor?: (keys: Map<string, Set<string>>) => void): NativePresentationKeySetJSON;
379
+ //# sourceMappingURL=PresentationManager.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PresentationManager.d.ts","sourceRoot":"","sources":["../../../src/presentation-backend/PresentationManager.ts"],"names":[],"mappings":"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"}