kuzzle-device-manager 3.0.0-3-dev.18 → 3.0.0-3-dev.20
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/dist/bin/migration/migrate-tenant-classes.d.ts +2 -0
- package/dist/bin/migration/migrate-tenant-classes.js +133 -0
- package/dist/bin/migration/migrate-tenant-classes.js.map +1 -0
- package/dist/lib/modules/asset/AssetHistoryService.d.ts +1 -1
- package/dist/lib/modules/asset/AssetHistoryService.js +3 -3
- package/dist/lib/modules/asset/AssetHistoryService.js.map +1 -1
- package/dist/lib/modules/asset/AssetService.d.ts +12 -12
- package/dist/lib/modules/asset/AssetService.js +72 -72
- package/dist/lib/modules/asset/AssetService.js.map +1 -1
- package/dist/lib/modules/asset/AssetsController.d.ts +1 -1
- package/dist/lib/modules/asset/AssetsController.js +72 -74
- package/dist/lib/modules/asset/AssetsController.js.map +1 -1
- package/dist/lib/modules/asset/types/AssetApi.d.ts +6 -6
- package/dist/lib/modules/asset/types/AssetEvents.d.ts +1 -1
- package/dist/lib/modules/decoder/Decoder.d.ts +28 -6
- package/dist/lib/modules/decoder/Decoder.js +8 -6
- package/dist/lib/modules/decoder/Decoder.js.map +1 -1
- package/dist/lib/modules/decoder/PayloadService.d.ts +1 -1
- package/dist/lib/modules/decoder/PayloadService.js +45 -37
- package/dist/lib/modules/decoder/PayloadService.js.map +1 -1
- package/dist/lib/modules/decoder/collections/payloadsMappings.d.ts +4 -0
- package/dist/lib/modules/decoder/collections/payloadsMappings.js +4 -0
- package/dist/lib/modules/decoder/collections/payloadsMappings.js.map +1 -1
- package/dist/lib/modules/device/DeviceService.d.ts +11 -11
- package/dist/lib/modules/device/DeviceService.js +63 -63
- package/dist/lib/modules/device/DeviceService.js.map +1 -1
- package/dist/lib/modules/device/DevicesController.js +60 -64
- package/dist/lib/modules/device/DevicesController.js.map +1 -1
- package/dist/lib/modules/device/collections/deviceMappings.js +2 -2
- package/dist/lib/modules/device/collections/deviceMappings.js.map +1 -1
- package/dist/lib/modules/device/types/DeviceApi.d.ts +2 -2
- package/dist/lib/modules/device/types/DeviceContent.d.ts +2 -2
- package/dist/lib/modules/device/types/DeviceEvents.d.ts +1 -1
- package/dist/lib/modules/group/GroupsController.d.ts +3 -3
- package/dist/lib/modules/group/GroupsController.js +66 -66
- package/dist/lib/modules/group/GroupsController.js.map +1 -1
- package/dist/lib/modules/group/GroupsService.d.ts +14 -14
- package/dist/lib/modules/group/GroupsService.js +64 -64
- package/dist/lib/modules/group/GroupsService.js.map +1 -1
- package/dist/lib/modules/group/types/GroupsApi.d.ts +1 -1
- package/dist/lib/modules/measure/MeasureExporter.d.ts +5 -5
- package/dist/lib/modules/measure/MeasureExporter.js +20 -20
- package/dist/lib/modules/measure/MeasureExporter.js.map +1 -1
- package/dist/lib/modules/measure/MeasureService.d.ts +2 -2
- package/dist/lib/modules/measure/MeasureService.js +5 -5
- package/dist/lib/modules/measure/MeasureService.js.map +1 -1
- package/dist/lib/modules/measure/MeasureTargetBuilder.d.ts +1 -1
- package/dist/lib/modules/measure/MeasureTargetBuilder.js +2 -2
- package/dist/lib/modules/measure/MeasureTargetBuilder.js.map +1 -1
- package/dist/lib/modules/measure/types/MeasureTarget.d.ts +1 -1
- package/dist/lib/modules/measure/types/MeasureTarget.js +1 -1
- package/dist/lib/modules/measure/types/MeasureTarget.js.map +1 -1
- package/dist/lib/modules/model/ModelSerializer.js +13 -13
- package/dist/lib/modules/model/ModelSerializer.js.map +1 -1
- package/dist/lib/modules/model/ModelService.d.ts +17 -21
- package/dist/lib/modules/model/ModelService.js +85 -101
- package/dist/lib/modules/model/ModelService.js.map +1 -1
- package/dist/lib/modules/model/ModelsController.js +46 -47
- package/dist/lib/modules/model/ModelsController.js.map +1 -1
- package/dist/lib/modules/model/ModelsRegister.d.ts +4 -4
- package/dist/lib/modules/model/ModelsRegister.js +6 -6
- package/dist/lib/modules/model/ModelsRegister.js.map +1 -1
- package/dist/lib/modules/model/collections/modelsMappings.js +8 -1
- package/dist/lib/modules/model/collections/modelsMappings.js.map +1 -1
- package/dist/lib/modules/model/types/ModelApi.d.ts +13 -13
- package/dist/lib/modules/model/types/ModelContent.d.ts +6 -6
- package/dist/lib/modules/model/types/ModelEvents.d.ts +3 -3
- package/dist/lib/modules/plugin/DeviceManagerEngine.d.ts +25 -25
- package/dist/lib/modules/plugin/DeviceManagerEngine.js +79 -79
- package/dist/lib/modules/plugin/DeviceManagerEngine.js.map +1 -1
- package/dist/lib/modules/plugin/DeviceManagerPlugin.d.ts +10 -3
- package/dist/lib/modules/plugin/DeviceManagerPlugin.js +30 -9
- package/dist/lib/modules/plugin/DeviceManagerPlugin.js.map +1 -1
- package/dist/lib/modules/shared/services/AbstractExporter.d.ts +8 -8
- package/dist/lib/modules/shared/services/AbstractExporter.js +9 -9
- package/dist/lib/modules/shared/services/AbstractExporter.js.map +1 -1
- package/dist/lib/modules/shared/services/BaseService.d.ts +7 -7
- package/dist/lib/modules/shared/services/BaseService.js +20 -17
- package/dist/lib/modules/shared/services/BaseService.js.map +1 -1
- package/dist/lib/modules/shared/services/DigitalTwinExporter.d.ts +3 -3
- package/dist/lib/modules/shared/services/DigitalTwinExporter.js +18 -18
- package/dist/lib/modules/shared/services/DigitalTwinExporter.js.map +1 -1
- package/dist/lib/modules/shared/services/DigitalTwinService.d.ts +8 -8
- package/dist/lib/modules/shared/services/DigitalTwinService.js +39 -39
- package/dist/lib/modules/shared/services/DigitalTwinService.js.map +1 -1
- package/dist/lib/modules/shared/types/DigitalTwinApi.d.ts +1 -1
- package/dist/lib/modules/shared/types/DigitalTwinEvents.d.ts +2 -2
- package/package.json +3 -2
- package/dist/lib/modules/decoder/SkipError.d.ts +0 -3
- package/dist/lib/modules/decoder/SkipError.js +0 -10
- package/dist/lib/modules/decoder/SkipError.js.map +0 -1
|
@@ -18,8 +18,8 @@ class ModelService extends shared_1.BaseService {
|
|
|
18
18
|
this.registerAskEvents();
|
|
19
19
|
}
|
|
20
20
|
registerAskEvents() {
|
|
21
|
-
(0, kuzzle_plugin_commons_1.onAsk)("ask:device-manager:model:asset:get", async ({
|
|
22
|
-
const assetModel = await this.getAsset(
|
|
21
|
+
(0, kuzzle_plugin_commons_1.onAsk)("ask:device-manager:model:asset:get", async ({ tenantClasses, index, model }) => {
|
|
22
|
+
const assetModel = await this.getAsset(tenantClasses, index, model);
|
|
23
23
|
return assetModel._source;
|
|
24
24
|
});
|
|
25
25
|
(0, kuzzle_plugin_commons_1.onAsk)("ask:device-manager:model:device:get", async ({ model }) => {
|
|
@@ -30,8 +30,8 @@ class ModelService extends shared_1.BaseService {
|
|
|
30
30
|
const groupModel = await this.getGroup(model);
|
|
31
31
|
return groupModel._source;
|
|
32
32
|
});
|
|
33
|
-
(0, kuzzle_plugin_commons_1.onAsk)("ask:device-manager:model:measure:get", async ({ type,
|
|
34
|
-
const measureModel = await this.getMeasure(type,
|
|
33
|
+
(0, kuzzle_plugin_commons_1.onAsk)("ask:device-manager:model:measure:get", async ({ type, index }) => {
|
|
34
|
+
const measureModel = await this.getMeasure(type, index);
|
|
35
35
|
return measureModel._source;
|
|
36
36
|
});
|
|
37
37
|
const genericModelsHandler = async (documents, request) => {
|
|
@@ -155,24 +155,24 @@ class ModelService extends shared_1.BaseService {
|
|
|
155
155
|
}
|
|
156
156
|
return { models, strict, type };
|
|
157
157
|
}
|
|
158
|
-
async writeAsset(
|
|
158
|
+
async writeAsset(tenantClasses, model, metadataMappings, defaultMetadata, metadataDetails, metadataGroups, measures, tooltipModels, locales, indexes, icon) {
|
|
159
159
|
if (kuzzle_1.Inflector.pascalCase(model) !== model) {
|
|
160
160
|
throw new kuzzle_1.BadRequestError(`Asset model "${model}" must be PascalCase.`);
|
|
161
161
|
}
|
|
162
|
-
if (
|
|
163
|
-
throw new kuzzle_1.BadRequestError(`"
|
|
162
|
+
if (indexes?.length && tenantClasses?.length) {
|
|
163
|
+
throw new kuzzle_1.BadRequestError(`"indexes" and "tenantClasses" are mutually exclusive on an asset model.`);
|
|
164
164
|
}
|
|
165
165
|
const duplicates = (0, MeasuresDuplicates_1.getNamedMeasuresDuplicates)(measures);
|
|
166
166
|
if (duplicates.length > 0) {
|
|
167
167
|
throw new MeasuresNamesDuplicatesError_1.MeasuresNamesDuplicatesError("Asset model measures contain one or multiple duplicate measure name", duplicates);
|
|
168
168
|
}
|
|
169
|
-
const
|
|
169
|
+
const normalizedTenantClasses = tenantClasses.includes("commons")
|
|
170
170
|
? ["commons"]
|
|
171
|
-
:
|
|
171
|
+
: tenantClasses;
|
|
172
172
|
// Anti-shadowing: reject if a model with the same name exists at a different scope level
|
|
173
|
-
const isGlobal =
|
|
174
|
-
(!
|
|
175
|
-
const isTenantScoped =
|
|
173
|
+
const isGlobal = normalizedTenantClasses.includes("commons") &&
|
|
174
|
+
(!indexes || indexes.length === 0);
|
|
175
|
+
const isTenantScoped = indexes && indexes.length > 0;
|
|
176
176
|
const isGroupScoped = !isGlobal && !isTenantScoped;
|
|
177
177
|
await this.sdk.collection.refresh(this.config.platformIndex, plugin_1.InternalCollection.MODELS);
|
|
178
178
|
const existing = await this.sdk.document.search(this.config.platformIndex, plugin_1.InternalCollection.MODELS, {
|
|
@@ -187,9 +187,9 @@ class ModelService extends shared_1.BaseService {
|
|
|
187
187
|
}, { size: 10 });
|
|
188
188
|
for (const hit of existing.hits) {
|
|
189
189
|
const doc = hit._source;
|
|
190
|
-
const docIsGlobal = doc.
|
|
191
|
-
(!doc.
|
|
192
|
-
const docIsTenantScoped = doc.
|
|
190
|
+
const docIsGlobal = doc.tenantClasses?.includes("commons") &&
|
|
191
|
+
(!doc.indexes || doc.indexes.length === 0);
|
|
192
|
+
const docIsTenantScoped = doc.indexes && doc.indexes.length > 0;
|
|
193
193
|
const docIsGroupScoped = !docIsGlobal && !docIsTenantScoped;
|
|
194
194
|
// Same scope level: allow overwrite
|
|
195
195
|
if (isGlobal && docIsGlobal) {
|
|
@@ -227,9 +227,9 @@ class ModelService extends shared_1.BaseService {
|
|
|
227
227
|
model,
|
|
228
228
|
tooltipModels,
|
|
229
229
|
},
|
|
230
|
-
...(
|
|
231
|
-
? {
|
|
232
|
-
: {
|
|
230
|
+
...(indexes?.length
|
|
231
|
+
? { indexes }
|
|
232
|
+
: { tenantClasses: normalizedTenantClasses }),
|
|
233
233
|
type: "asset",
|
|
234
234
|
};
|
|
235
235
|
this.checkDefaultValues(metadataMappings, defaultMetadata);
|
|
@@ -277,16 +277,16 @@ class ModelService extends shared_1.BaseService {
|
|
|
277
277
|
});
|
|
278
278
|
return deviceModel;
|
|
279
279
|
}
|
|
280
|
-
async writeGroup(
|
|
280
|
+
async writeGroup(tenantClasses, model, affinity, metadataMappings, defaultMetadata, metadataDetails, metadataGroups, icon, locales) {
|
|
281
281
|
if (kuzzle_1.Inflector.pascalCase(model) !== model) {
|
|
282
282
|
throw new kuzzle_1.BadRequestError(`Group model "${model}" must be PascalCase.`);
|
|
283
283
|
}
|
|
284
|
-
if (
|
|
285
|
-
|
|
284
|
+
if (tenantClasses.includes("commons")) {
|
|
285
|
+
tenantClasses = ["commons"];
|
|
286
286
|
}
|
|
287
287
|
const groupAffinity = this.checkGroupAffinity(affinity);
|
|
288
288
|
const modelContent = {
|
|
289
|
-
|
|
289
|
+
tenantClasses,
|
|
290
290
|
group: {
|
|
291
291
|
affinity: groupAffinity,
|
|
292
292
|
defaultMetadata,
|
|
@@ -308,7 +308,7 @@ class ModelService extends shared_1.BaseService {
|
|
|
308
308
|
await (0, kuzzle_plugin_commons_1.ask)("ask:device-manager:engine:updateAll");
|
|
309
309
|
return groupModel;
|
|
310
310
|
}
|
|
311
|
-
async writeMeasure(type, valuesMappings, validationSchema, valuesDetails, locales,
|
|
311
|
+
async writeMeasure(type, valuesMappings, validationSchema, valuesDetails, locales, indexes, icon) {
|
|
312
312
|
const modelContent = {
|
|
313
313
|
measure: {
|
|
314
314
|
icon,
|
|
@@ -319,11 +319,11 @@ class ModelService extends shared_1.BaseService {
|
|
|
319
319
|
},
|
|
320
320
|
type: "measure",
|
|
321
321
|
};
|
|
322
|
-
if (
|
|
323
|
-
modelContent.
|
|
322
|
+
if (indexes?.length) {
|
|
323
|
+
modelContent.indexes = indexes;
|
|
324
324
|
}
|
|
325
325
|
// Anti-shadowing: a measure type must be either global or tenant-scoped, not both
|
|
326
|
-
await this.checkMeasureShadowing(type,
|
|
326
|
+
await this.checkMeasureShadowing(type, indexes);
|
|
327
327
|
if (validationSchema) {
|
|
328
328
|
try {
|
|
329
329
|
(0, AJValidator_1.addSchemaToCache)(type, validationSchema);
|
|
@@ -355,7 +355,7 @@ class ModelService extends shared_1.BaseService {
|
|
|
355
355
|
await this.sdk.document.delete(this.config.platformIndex, plugin_1.InternalCollection.MODELS, _id);
|
|
356
356
|
}
|
|
357
357
|
/**
|
|
358
|
-
* List all asset models regardless of
|
|
358
|
+
* List all asset models regardless of tenant class scope.
|
|
359
359
|
* Used for super admin global view.
|
|
360
360
|
*/
|
|
361
361
|
async listAllAssets() {
|
|
@@ -365,14 +365,14 @@ class ModelService extends shared_1.BaseService {
|
|
|
365
365
|
/**
|
|
366
366
|
* Check if an engine (tenant) exists by its ID.
|
|
367
367
|
*/
|
|
368
|
-
async engineExists(
|
|
368
|
+
async engineExists(index) {
|
|
369
369
|
try {
|
|
370
370
|
const result = await this.sdk.document.search(this.config.platformIndex, plugin_1.InternalCollection.CONFIG, {
|
|
371
371
|
query: {
|
|
372
372
|
bool: {
|
|
373
373
|
must: [
|
|
374
374
|
{ term: { type: "engine-device-manager" } },
|
|
375
|
-
{ term: { "engine.index":
|
|
375
|
+
{ term: { "engine.index": index } },
|
|
376
376
|
],
|
|
377
377
|
},
|
|
378
378
|
},
|
|
@@ -384,27 +384,11 @@ class ModelService extends shared_1.BaseService {
|
|
|
384
384
|
}
|
|
385
385
|
}
|
|
386
386
|
/**
|
|
387
|
-
*
|
|
387
|
+
* Find tenant classes that don't exist.
|
|
388
388
|
*/
|
|
389
|
-
async
|
|
390
|
-
try {
|
|
391
|
-
const result = await this.sdk.security.checkRights(request.context.user?._id, {
|
|
392
|
-
controller: "device-manager/assets",
|
|
393
|
-
action: "get",
|
|
394
|
-
index: engineId,
|
|
395
|
-
});
|
|
396
|
-
return result;
|
|
397
|
-
}
|
|
398
|
-
catch {
|
|
399
|
-
return false;
|
|
400
|
-
}
|
|
401
|
-
}
|
|
402
|
-
/**
|
|
403
|
-
* Find engine groups that don't exist.
|
|
404
|
-
*/
|
|
405
|
-
async findInvalidEngineGroups(engineGroups) {
|
|
389
|
+
async findInvalidTenantClasses(tenantClasses) {
|
|
406
390
|
// "commons" is always valid
|
|
407
|
-
const toCheck =
|
|
391
|
+
const toCheck = tenantClasses.filter((g) => g !== "commons");
|
|
408
392
|
if (toCheck.length === 0) {
|
|
409
393
|
return [];
|
|
410
394
|
}
|
|
@@ -413,11 +397,11 @@ class ModelService extends shared_1.BaseService {
|
|
|
413
397
|
equals: { type: "engine-device-manager" },
|
|
414
398
|
},
|
|
415
399
|
}, { lang: "koncorde", size: 5000 });
|
|
416
|
-
const
|
|
417
|
-
return toCheck.filter((g) => !
|
|
400
|
+
const existingTenantClasses = new Set(result.hits.map((h) => h._source.engine?.group));
|
|
401
|
+
return toCheck.filter((g) => !existingTenantClasses.has(g));
|
|
418
402
|
}
|
|
419
|
-
async listAsset(
|
|
420
|
-
const result = await this.searchAssets(
|
|
403
|
+
async listAsset(tenantClasses, index) {
|
|
404
|
+
const result = await this.searchAssets(tenantClasses, index, {
|
|
421
405
|
searchBody: {
|
|
422
406
|
sort: { "asset.model": "asc" },
|
|
423
407
|
},
|
|
@@ -434,8 +418,8 @@ class ModelService extends shared_1.BaseService {
|
|
|
434
418
|
});
|
|
435
419
|
return result.hits;
|
|
436
420
|
}
|
|
437
|
-
async listGroups(
|
|
438
|
-
const result = await this.searchGroups(
|
|
421
|
+
async listGroups(tenantClasses) {
|
|
422
|
+
const result = await this.searchGroups(tenantClasses, {
|
|
439
423
|
searchBody: {
|
|
440
424
|
sort: { "group.model": "asc" },
|
|
441
425
|
},
|
|
@@ -443,8 +427,8 @@ class ModelService extends shared_1.BaseService {
|
|
|
443
427
|
});
|
|
444
428
|
return result.hits;
|
|
445
429
|
}
|
|
446
|
-
async listMeasures(
|
|
447
|
-
const result = await this.searchMeasures(
|
|
430
|
+
async listMeasures(index) {
|
|
431
|
+
const result = await this.searchMeasures(index, {
|
|
448
432
|
searchBody: {
|
|
449
433
|
sort: { "measure.type": "asc" },
|
|
450
434
|
},
|
|
@@ -452,26 +436,26 @@ class ModelService extends shared_1.BaseService {
|
|
|
452
436
|
});
|
|
453
437
|
return result.hits;
|
|
454
438
|
}
|
|
455
|
-
async searchAssets(
|
|
456
|
-
const scopeFilter =
|
|
439
|
+
async searchAssets(tenantClasses, index, searchParams) {
|
|
440
|
+
const scopeFilter = index
|
|
457
441
|
? {
|
|
458
442
|
bool: {
|
|
459
443
|
should: [
|
|
460
444
|
{
|
|
461
445
|
bool: {
|
|
462
|
-
must: [{ term: {
|
|
446
|
+
must: [{ term: { indexes: index } }],
|
|
463
447
|
},
|
|
464
448
|
},
|
|
465
449
|
{
|
|
466
450
|
bool: {
|
|
467
|
-
must: [{ terms: {
|
|
468
|
-
must_not: [{ exists: { field: "
|
|
451
|
+
must: [{ terms: { tenantClasses } }],
|
|
452
|
+
must_not: [{ exists: { field: "indexes" } }],
|
|
469
453
|
},
|
|
470
454
|
},
|
|
471
455
|
{
|
|
472
456
|
bool: {
|
|
473
|
-
must: [{ term: {
|
|
474
|
-
must_not: [{ exists: { field: "
|
|
457
|
+
must: [{ term: { tenantClasses: "commons" } }],
|
|
458
|
+
must_not: [{ exists: { field: "indexes" } }],
|
|
475
459
|
},
|
|
476
460
|
},
|
|
477
461
|
],
|
|
@@ -482,14 +466,14 @@ class ModelService extends shared_1.BaseService {
|
|
|
482
466
|
should: [
|
|
483
467
|
{
|
|
484
468
|
bool: {
|
|
485
|
-
must: [{ terms: {
|
|
486
|
-
must_not: [{ exists: { field: "
|
|
469
|
+
must: [{ terms: { tenantClasses } }],
|
|
470
|
+
must_not: [{ exists: { field: "indexes" } }],
|
|
487
471
|
},
|
|
488
472
|
},
|
|
489
473
|
{
|
|
490
474
|
bool: {
|
|
491
|
-
must: [{ term: {
|
|
492
|
-
must_not: [{ exists: { field: "
|
|
475
|
+
must: [{ term: { tenantClasses: "commons" } }],
|
|
476
|
+
must_not: [{ exists: { field: "indexes" } }],
|
|
493
477
|
},
|
|
494
478
|
},
|
|
495
479
|
],
|
|
@@ -533,7 +517,7 @@ class ModelService extends shared_1.BaseService {
|
|
|
533
517
|
size: searchParams.size,
|
|
534
518
|
});
|
|
535
519
|
}
|
|
536
|
-
async searchGroups(
|
|
520
|
+
async searchGroups(tenantClasses, searchParams) {
|
|
537
521
|
const query = {
|
|
538
522
|
bool: {
|
|
539
523
|
must: [
|
|
@@ -542,8 +526,8 @@ class ModelService extends shared_1.BaseService {
|
|
|
542
526
|
{
|
|
543
527
|
bool: {
|
|
544
528
|
should: [
|
|
545
|
-
{ terms: {
|
|
546
|
-
{ term: {
|
|
529
|
+
{ terms: { tenantClasses } },
|
|
530
|
+
{ term: { tenantClasses: "commons" } },
|
|
547
531
|
],
|
|
548
532
|
},
|
|
549
533
|
},
|
|
@@ -560,19 +544,19 @@ class ModelService extends shared_1.BaseService {
|
|
|
560
544
|
size: searchParams.size,
|
|
561
545
|
});
|
|
562
546
|
}
|
|
563
|
-
async searchMeasures(
|
|
564
|
-
const scopeFilter =
|
|
547
|
+
async searchMeasures(index, searchParams) {
|
|
548
|
+
const scopeFilter = index
|
|
565
549
|
? {
|
|
566
550
|
bool: {
|
|
567
551
|
should: [
|
|
568
|
-
{ term: {
|
|
569
|
-
{ bool: { must_not: [{ exists: { field: "
|
|
552
|
+
{ term: { indexes: index } },
|
|
553
|
+
{ bool: { must_not: [{ exists: { field: "indexes" } }] } },
|
|
570
554
|
],
|
|
571
555
|
},
|
|
572
556
|
}
|
|
573
557
|
: {
|
|
574
558
|
bool: {
|
|
575
|
-
must_not: [{ exists: { field: "
|
|
559
|
+
must_not: [{ exists: { field: "indexes" } }],
|
|
576
560
|
},
|
|
577
561
|
};
|
|
578
562
|
const query = {
|
|
@@ -614,16 +598,16 @@ class ModelService extends shared_1.BaseService {
|
|
|
614
598
|
const result = await this.sdk.document.search(this.config.platformIndex, plugin_1.InternalCollection.MODELS, { query }, { lang: "koncorde", size: 1 });
|
|
615
599
|
return result.total > 0;
|
|
616
600
|
}
|
|
617
|
-
async getAsset(
|
|
601
|
+
async getAsset(tenantClasses, index, model) {
|
|
618
602
|
const baseFilter = [
|
|
619
603
|
{ term: { type: "asset" } },
|
|
620
604
|
{ term: { "asset.model": model } },
|
|
621
605
|
];
|
|
622
606
|
// Priority 1: tenant-scoped model for this specific engine
|
|
623
|
-
if (
|
|
607
|
+
if (index) {
|
|
624
608
|
const tenantQuery = {
|
|
625
609
|
bool: {
|
|
626
|
-
must: [...baseFilter, { term: {
|
|
610
|
+
must: [...baseFilter, { term: { indexes: index } }],
|
|
627
611
|
},
|
|
628
612
|
};
|
|
629
613
|
const tenantResult = await this.sdk.document.search(this.config.platformIndex, plugin_1.InternalCollection.MODELS, { query: tenantQuery }, { lang: "elasticsearch", size: 1 });
|
|
@@ -631,11 +615,11 @@ class ModelService extends shared_1.BaseService {
|
|
|
631
615
|
return tenantResult.hits[0];
|
|
632
616
|
}
|
|
633
617
|
}
|
|
634
|
-
// Priority 2: group-scoped model (no
|
|
618
|
+
// Priority 2: group-scoped model (no indexes field)
|
|
635
619
|
const groupQuery = {
|
|
636
620
|
bool: {
|
|
637
|
-
must: [...baseFilter, { terms: {
|
|
638
|
-
must_not: [{ exists: { field: "
|
|
621
|
+
must: [...baseFilter, { terms: { tenantClasses } }],
|
|
622
|
+
must_not: [{ exists: { field: "indexes" } }],
|
|
639
623
|
},
|
|
640
624
|
};
|
|
641
625
|
const groupResult = await this.sdk.document.search(this.config.platformIndex, plugin_1.InternalCollection.MODELS, { query: groupQuery }, { lang: "elasticsearch", size: 1 });
|
|
@@ -645,15 +629,15 @@ class ModelService extends shared_1.BaseService {
|
|
|
645
629
|
// Priority 3: commons model
|
|
646
630
|
const commonsQuery = {
|
|
647
631
|
bool: {
|
|
648
|
-
must: [...baseFilter, { term: {
|
|
649
|
-
must_not: [{ exists: { field: "
|
|
632
|
+
must: [...baseFilter, { term: { tenantClasses: "commons" } }],
|
|
633
|
+
must_not: [{ exists: { field: "indexes" } }],
|
|
650
634
|
},
|
|
651
635
|
};
|
|
652
636
|
const commonsResult = await this.sdk.document.search(this.config.platformIndex, plugin_1.InternalCollection.MODELS, { query: commonsQuery }, { lang: "elasticsearch", size: 1 });
|
|
653
637
|
if (commonsResult.total > 0) {
|
|
654
638
|
return commonsResult.hits[0];
|
|
655
639
|
}
|
|
656
|
-
throw new kuzzle_1.NotFoundError(`Unknown Asset model "${model}" for
|
|
640
|
+
throw new kuzzle_1.NotFoundError(`Unknown Asset model "${model}" for tenantClasses ${tenantClasses.join(", ")}.`);
|
|
657
641
|
}
|
|
658
642
|
async getDevice(model) {
|
|
659
643
|
const query = {
|
|
@@ -684,23 +668,23 @@ class ModelService extends shared_1.BaseService {
|
|
|
684
668
|
}
|
|
685
669
|
return result.hits[0];
|
|
686
670
|
}
|
|
687
|
-
async getMeasure(type,
|
|
671
|
+
async getMeasure(type, index) {
|
|
688
672
|
const baseFilter = [
|
|
689
673
|
{ term: { type: "measure" } },
|
|
690
674
|
{ term: { "measure.type": type } },
|
|
691
675
|
];
|
|
692
|
-
const scopeFilter =
|
|
676
|
+
const scopeFilter = index
|
|
693
677
|
? {
|
|
694
678
|
bool: {
|
|
695
679
|
should: [
|
|
696
|
-
{ term: {
|
|
697
|
-
{ bool: { must_not: [{ exists: { field: "
|
|
680
|
+
{ term: { indexes: index } },
|
|
681
|
+
{ bool: { must_not: [{ exists: { field: "indexes" } }] } },
|
|
698
682
|
],
|
|
699
683
|
},
|
|
700
684
|
}
|
|
701
685
|
: {
|
|
702
686
|
bool: {
|
|
703
|
-
must_not: [{ exists: { field: "
|
|
687
|
+
must_not: [{ exists: { field: "indexes" } }],
|
|
704
688
|
},
|
|
705
689
|
};
|
|
706
690
|
const result = await this.sdk.document.search(this.config.platformIndex, plugin_1.InternalCollection.MODELS, {
|
|
@@ -719,8 +703,8 @@ class ModelService extends shared_1.BaseService {
|
|
|
719
703
|
* Checks that creating/updating a measure model does not shadow an existing
|
|
720
704
|
* one at a different scope (global vs tenant-scoped).
|
|
721
705
|
*/
|
|
722
|
-
async checkMeasureShadowing(type,
|
|
723
|
-
const isNewTenantScoped =
|
|
706
|
+
async checkMeasureShadowing(type, indexes) {
|
|
707
|
+
const isNewTenantScoped = indexes && indexes.length > 0;
|
|
724
708
|
// Check for existing measures of the same type at the opposite scope
|
|
725
709
|
const conflictQuery = isNewTenantScoped
|
|
726
710
|
? {
|
|
@@ -730,7 +714,7 @@ class ModelService extends shared_1.BaseService {
|
|
|
730
714
|
{ term: { type: "measure" } },
|
|
731
715
|
{ term: { "measure.type": type } },
|
|
732
716
|
],
|
|
733
|
-
must_not: [{ exists: { field: "
|
|
717
|
+
must_not: [{ exists: { field: "indexes" } }],
|
|
734
718
|
},
|
|
735
719
|
}
|
|
736
720
|
: {
|
|
@@ -739,7 +723,7 @@ class ModelService extends shared_1.BaseService {
|
|
|
739
723
|
must: [
|
|
740
724
|
{ term: { type: "measure" } },
|
|
741
725
|
{ term: { "measure.type": type } },
|
|
742
|
-
{ exists: { field: "
|
|
726
|
+
{ exists: { field: "indexes" } },
|
|
743
727
|
],
|
|
744
728
|
},
|
|
745
729
|
};
|
|
@@ -752,12 +736,12 @@ class ModelService extends shared_1.BaseService {
|
|
|
752
736
|
/**
|
|
753
737
|
* Update an asset model
|
|
754
738
|
*/
|
|
755
|
-
async updateAsset(
|
|
739
|
+
async updateAsset(tenantClasses, index, model, metadataMappings, defaultMetadata, metadataDetails, metadataGroups, measures, tooltipModels, locales, icon, request) {
|
|
756
740
|
if (kuzzle_1.Inflector.pascalCase(model) !== model) {
|
|
757
741
|
throw new kuzzle_1.BadRequestError(`Asset model "${model}" must be PascalCase.`);
|
|
758
742
|
}
|
|
759
743
|
this.checkDefaultValues(metadataMappings, defaultMetadata);
|
|
760
|
-
const existingAsset = await this.getAsset(
|
|
744
|
+
const existingAsset = await this.getAsset(tenantClasses, index, model);
|
|
761
745
|
// The field must be deleted if an element of the table is to be deleted
|
|
762
746
|
await this.sdk.document.deleteFields(this.config.platformIndex, plugin_1.InternalCollection.MODELS, existingAsset._id, [
|
|
763
747
|
"asset.tooltipModels",
|
|
@@ -767,9 +751,9 @@ class ModelService extends shared_1.BaseService {
|
|
|
767
751
|
"asset.metadataGroups",
|
|
768
752
|
], { source: true });
|
|
769
753
|
const measuresUpdated = measures.length === 0 ? existingAsset._source.asset.measures : measures;
|
|
770
|
-
// Preserve the existing scope: scope (
|
|
754
|
+
// Preserve the existing scope: scope (tenantClasses / indexes) is decided
|
|
771
755
|
// at write time and must not be silently rewritten by an update payload.
|
|
772
|
-
// This also enforces
|
|
756
|
+
// This also enforces tenantClasses / indexes mutual exclusivity (KZLPRD-1192).
|
|
773
757
|
const assetModelContent = {
|
|
774
758
|
asset: {
|
|
775
759
|
defaultMetadata,
|
|
@@ -782,8 +766,8 @@ class ModelService extends shared_1.BaseService {
|
|
|
782
766
|
model,
|
|
783
767
|
tooltipModels,
|
|
784
768
|
},
|
|
785
|
-
|
|
786
|
-
|
|
769
|
+
tenantClasses: existingAsset._source.tenantClasses,
|
|
770
|
+
indexes: existingAsset._source.indexes,
|
|
787
771
|
type: "asset",
|
|
788
772
|
};
|
|
789
773
|
const assetModel = {
|
|
@@ -796,9 +780,9 @@ class ModelService extends shared_1.BaseService {
|
|
|
796
780
|
}
|
|
797
781
|
const endDocument = await this.updateDocument(request, assetModel, {
|
|
798
782
|
collection: plugin_1.InternalCollection.MODELS,
|
|
799
|
-
|
|
783
|
+
index: this.config.platformIndex,
|
|
800
784
|
}, { source: true });
|
|
801
|
-
// ? Only update
|
|
785
|
+
// ? Only update indexes and refresh asset models when necessary
|
|
802
786
|
if (Object.keys(metadataMappings).length > 0 || measures.length > 0) {
|
|
803
787
|
await this.sdk.collection.refresh(this.config.platformIndex, plugin_1.InternalCollection.MODELS);
|
|
804
788
|
await (0, kuzzle_plugin_commons_1.ask)("ask:device-manager:engine:updateAll");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ModelService.js","sourceRoot":"","sources":["../../../../lib/modules/model/ModelService.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ModelService.js","sourceRoot":"","sources":["../../../../lib/modules/model/ModelService.ts"],"names":[],"mappings":";;;AAAA,mCASgB;AAChB,iEAAmD;AAGnD,sCAKmB;AAGnB,sCAAqE;AACrE,uDAAoD;AAoBpD,qEAAkE;AAElE,6DAA6E;AAC7E,kFAA+E;AAG/E,6DAAkE;AAClE,iFAA8E;AAI9E,MAAa,YAAa,SAAQ,oBAAW;IAE3C,YAAY,MAA2B,EAAE,MAAoB;QAC3D,KAAK,CAAC,MAAM,CAAC,CAAC;QACd,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,iBAAiB,EAAE,CAAC;IAC3B,CAAC;IAED,iBAAiB;QACf,IAAA,6BAAK,EACH,oCAAoC,EACpC,KAAK,EAAE,EAAE,aAAa,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,EAAE;YACxC,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,aAAa,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;YAEpE,OAAO,UAAU,CAAC,OAAO,CAAC;QAC5B,CAAC,CACF,CAAC;QACF,IAAA,6BAAK,EACH,qCAAqC,EACrC,KAAK,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE;YAClB,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;YAEhD,OAAO,WAAW,CAAC,OAAO,CAAC;QAC7B,CAAC,CACF,CAAC;QACF,IAAA,6BAAK,EACH,oCAAoC,EACpC,KAAK,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE;YAClB,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;YAE9C,OAAO,UAAU,CAAC,OAAO,CAAC;QAC5B,CAAC,CACF,CAAC;QACF,IAAA,6BAAK,EACH,sCAAsC,EACtC,KAAK,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE;YACxB,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;YAExD,OAAO,YAAY,CAAC,OAAO,CAAC;QAC9B,CAAC,CACF,CAAC;QAEF,MAAM,oBAAoB,GAAG,KAAK,EAChC,SAAwC,EACxC,OAAsB,EACtB,EAAE;YACF,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC;YAEjD,IAAI,KAAK,KAAK,IAAI,CAAC,MAAM,CAAC,aAAa,IAAI,UAAU,KAAK,QAAQ,EAAE,CAAC;gBACnE,MAAM,MAAM,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE;oBACnC,OAAO,GAAG,CAAC,OAAO,CAAC;gBACrB,CAAC,CAAmB,CAAC;gBAErB,MAAM,IAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC,CAAC;YAC1C,CAAC;YAED,OAAO,SAAS,CAAC;QACnB,CAAC,CAAC;QAEF,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CACpB,8BAA8B,EAC9B,oBAAoB,CACrB,CAAC;QACF,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CACpB,+BAA+B,EAC/B,oBAAoB,CACrB,CAAC;QAEF,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CACpB,8BAA8B,EAC9B,KAAK,EAAE,SAAS,EAAE,OAAO,EAAE,EAAE;YAC3B,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC;YAEjD,IAAI,KAAK,KAAK,IAAI,CAAC,MAAM,CAAC,aAAa,IAAI,UAAU,KAAK,QAAQ,EAAE,CAAC;gBACnE,MAAM,IAAA,2BAAG,EAAqB,qCAAqC,CAAC,CAAC;YACvE,CAAC;QACH,CAAC,CACF,CAAC;IACJ,CAAC;IAEO,KAAK,CAAC,oBAAoB,CAAC,SAAyB;QAC1D,MAAM,MAAM,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE;YACtC,OAAO,GAAG,CAAC,IAAI,KAAK,OAAO,CAAC;QAC9B,CAAC,CAAwB,CAAC;QAE1B,MAAM,OAAO,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE;YACvC,OAAO,GAAG,CAAC,IAAI,KAAK,QAAQ,CAAC;QAC/B,CAAC,CAAyB,CAAC;QAE3B,MAAM,MAAM,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE;YACtC,OAAO,GAAG,CAAC,IAAI,KAAK,OAAO,CAAC;QAC9B,CAAC,CAAwB,CAAC;QAE1B,MAAM,QAAQ,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE;YACxC,OAAO,GAAG,CAAC,IAAI,KAAK,SAAS,CAAC;QAChC,CAAC,CAA0B,CAAC;QAE5B,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACtB,MAAM,SAAS,GAAG,MAAM,IAAA,2BAAG,EACzB,8CAA8C,EAC9C;gBACE,IAAI,EAAE;oBACJ,MAAM,EAAE,MAAM;oBACd,IAAI,EAAE,OAAO;iBACd;aACF,CACF,CAAC;YAEF,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACzB,MAAM,IAAI,+CAAsB,CAC9B,2CAA2C,EAC3C,SAAS,CACV,CAAC;YACJ,CAAC;QACH,CAAC;QAED,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACvB,MAAM,SAAS,GAAG,MAAM,IAAA,2BAAG,EACzB,8CAA8C,EAC9C;gBACE,IAAI,EAAE;oBACJ,MAAM,EAAE,OAAO;oBACf,IAAI,EAAE,QAAQ;iBACf;aACF,CACF,CAAC;YAEF,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACzB,MAAM,IAAI,+CAAsB,CAC9B,4CAA4C,EAC5C,SAAS,CACV,CAAC;YACJ,CAAC;QACH,CAAC;QAED,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACtB,MAAM,SAAS,GAAG,MAAM,IAAA,2BAAG,EACzB,8CAA8C,EAC9C;gBACE,WAAW,EAAE,MAAM;aACpB,CACF,CAAC;YAEF,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACzB,MAAM,IAAI,+CAAsB,CAC9B,0CAA0C,EAC1C,SAAS,CACV,CAAC;YACJ,CAAC;QACH,CAAC;QAED,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACxB,MAAM,SAAS,GAAG,MAAM,IAAA,2BAAG,EACzB,8CAA8C,EAC9C;gBACE,cAAc,EAAE,QAAQ;aACzB,CACF,CAAC;YAEF,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACzB,MAAM,IAAI,+CAAsB,CAC9B,6CAA6C,EAC7C,SAAS,CACV,CAAC;YACJ,CAAC;QACH,CAAC;IACH,CAAC;IAEO,kBAAkB,CACxB,gBAAkC,EAClC,eAA2B;QAE3B,MAAM,yBAAyB,GAAG,IAAA,sBAAa,EAAC,gBAAgB,CAAC,CAAC;QAElE,MAAM,QAAQ,GAAG,MAAM,CAAC,IAAI,CAC1B,IAAI,CAAC,KAAK,CACR,IAAI,CAAC,SAAS,CAAC,yBAAyB,CAAC;aACtC,OAAO,CAAC,eAAe,EAAE,EAAE,CAAC;aAC5B,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC,CAC1B,CACF,CAAC;QAEF,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,IAAA,sBAAa,EAAC,eAAe,CAAC,CAAC,CAAC;QAE3D,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACvC,MAAM,GAAG,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;YAEtB,kDAAkD;YAClD,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;gBAC5B,mEAAmE;gBACnE,MAAM,OAAO,GAAG,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;gBAE5D,6CAA6C;gBAC7C,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;oBAChC,MAAM,IAAI,wBAAe,CACvB,sBAAsB,GAAG,oCAAoC,CAC9D,CAAC;gBACJ,CAAC;gBAED,wDAAwD;gBACxD,MAAM,eAAe,GAAG,yBAAyB,CAAC,GAAG,OAAO,OAAO,CAAC,CAAC;gBACrE,IACE,eAAe,KAAK,WAAW;oBAC/B,eAAe,KAAK,WAAW,EAC/B,CAAC;oBACD,SAAS;gBACX,CAAC;gBAED,MAAM,IAAI,wBAAe,CACvB,sBAAsB,MAAM,CAAC,CAAC,CAAC,oCAAoC,CACpE,CAAC;YACJ,CAAC;QACH,CAAC;IACH,CAAC;IAEO,kBAAkB,CAAC,QAAoB;QAC7C,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,QAAQ,CAAC;QAE1C,IAAI,CAAC,IAAI,IAAI,MAAM,KAAK,SAAS,IAAI,CAAC,MAAM,EAAE,CAAC;YAC7C,MAAM,IAAI,wBAAe,CACvB,qEAAqE,CACtE,CAAC;QACJ,CAAC;QACD,IACE,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC;YACpB,IAAI,CAAC,MAAM,GAAG,CAAC;YACf,IAAI,CAAC,MAAM,GAAG,CAAC;YACf,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EACrD,CAAC;YACD,MAAM,IAAI,wBAAe,CACvB,sEAAsE,CACvE,CAAC;QACJ,CAAC;QACD,IAAI,OAAO,MAAM,KAAK,SAAS,EAAE,CAAC;YAChC,MAAM,IAAI,wBAAe,CACvB,mDAAmD,CACpD,CAAC;QACJ,CAAC;QACD,KAAK,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC;YACrB,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC5C,MAAM,IAAI,wBAAe,CACvB,iEAAiE,CAClE,CAAC;YACJ,CAAC;YACD,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,OAAO,KAAK,KAAK,QAAQ,CAAC,EAAE,CAAC;gBAC3D,MAAM,IAAI,wBAAe,CACvB,yDAAyD,CAC1D,CAAC;YACJ,CAAC;QACH,CAAC;QACD,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;IAClC,CAAC;IACD,KAAK,CAAC,UAAU,CACd,aAAuB,EACvB,KAAa,EACb,gBAAkC,EAClC,eAA2B,EAC3B,eAAgC,EAChC,cAA8B,EAC9B,QAAuB,EACvB,aAA4B,EAC5B,OAA+C,EAC/C,OAAkB,EAClB,IAAa;QAEb,IAAI,kBAAS,CAAC,UAAU,CAAC,KAAK,CAAC,KAAK,KAAK,EAAE,CAAC;YAC1C,MAAM,IAAI,wBAAe,CAAC,gBAAgB,KAAK,uBAAuB,CAAC,CAAC;QAC1E,CAAC;QAED,IAAI,OAAO,EAAE,MAAM,IAAI,aAAa,EAAE,MAAM,EAAE,CAAC;YAC7C,MAAM,IAAI,wBAAe,CACvB,yEAAyE,CAC1E,CAAC;QACJ,CAAC;QAED,MAAM,UAAU,GAAG,IAAA,+CAA0B,EAAC,QAAQ,CAAC,CAAC;QAExD,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC1B,MAAM,IAAI,2DAA4B,CACpC,qEAAqE,EACrE,UAAU,CACX,CAAC;QACJ,CAAC;QAED,MAAM,uBAAuB,GAAG,aAAa,CAAC,QAAQ,CAAC,SAAS,CAAC;YAC/D,CAAC,CAAC,CAAC,SAAS,CAAC;YACb,CAAC,CAAC,aAAa,CAAC;QAElB,yFAAyF;QACzF,MAAM,QAAQ,GACZ,uBAAuB,CAAC,QAAQ,CAAC,SAAS,CAAC;YAC3C,CAAC,CAAC,OAAO,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC;QACrC,MAAM,cAAc,GAAG,OAAO,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC;QACrD,MAAM,aAAa,GAAG,CAAC,QAAQ,IAAI,CAAC,cAAc,CAAC;QAEnD,MAAM,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,OAAO,CAC/B,IAAI,CAAC,MAAM,CAAC,aAAa,EACzB,2BAAkB,CAAC,MAAM,CAC1B,CAAC;QACF,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,MAAM,CAC7C,IAAI,CAAC,MAAM,CAAC,aAAa,EACzB,2BAAkB,CAAC,MAAM,EACzB;YACE,KAAK,EAAE;gBACL,IAAI,EAAE;oBACJ,IAAI,EAAE;wBACJ,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE;wBAC3B,EAAE,IAAI,EAAE,EAAE,aAAa,EAAE,KAAK,EAAE,EAAE;qBACnC;iBACF;aACF;SACF,EACD,EAAE,IAAI,EAAE,EAAE,EAAE,CACb,CAAC;QACF,KAAK,MAAM,GAAG,IAAI,QAAQ,CAAC,IAAI,EAAE,CAAC;YAChC,MAAM,GAAG,GAAG,GAAG,CAAC,OAA4B,CAAC;YAC7C,MAAM,WAAW,GACf,GAAG,CAAC,aAAa,EAAE,QAAQ,CAAC,SAAS,CAAC;gBACtC,CAAC,CAAC,GAAG,CAAC,OAAO,IAAI,GAAG,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC;YAC7C,MAAM,iBAAiB,GAAG,GAAG,CAAC,OAAO,IAAI,GAAG,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC;YAChE,MAAM,gBAAgB,GAAG,CAAC,WAAW,IAAI,CAAC,iBAAiB,CAAC;YAE5D,oCAAoC;YACpC,IAAI,QAAQ,IAAI,WAAW,EAAE,CAAC;gBAC5B,SAAS;YACX,CAAC;YACD,IAAI,cAAc,IAAI,iBAAiB,EAAE,CAAC;gBACxC,SAAS;YACX,CAAC;YACD,IAAI,aAAa,IAAI,gBAAgB,EAAE,CAAC;gBACtC,SAAS;YACX,CAAC;YAED,iCAAiC;YACjC,IAAI,WAAW,EAAE,CAAC;gBAChB,MAAM,IAAI,wBAAe,CACvB,gBAAgB,KAAK,wFAAwF,CAC9G,CAAC;YACJ,CAAC;YACD,IAAI,QAAQ,EAAE,CAAC;gBACb,MAAM,IAAI,wBAAe,CACvB,gBAAgB,KAAK,kFAAkF,CACxG,CAAC;YACJ,CAAC;YACD,IAAI,cAAc,IAAI,gBAAgB,EAAE,CAAC;gBACvC,MAAM,IAAI,wBAAe,CACvB,gBAAgB,KAAK,yFAAyF,CAC/G,CAAC;YACJ,CAAC;YACD,IAAI,aAAa,IAAI,iBAAiB,EAAE,CAAC;gBACvC,MAAM,IAAI,wBAAe,CACvB,gBAAgB,KAAK,0FAA0F,CAChH,CAAC;YACJ,CAAC;QACH,CAAC;QAED,MAAM,YAAY,GAAsB;YACtC,KAAK,EAAE;gBACL,eAAe;gBACf,IAAI;gBACJ,OAAO;gBACP,QAAQ;gBACR,eAAe;gBACf,cAAc;gBACd,gBAAgB;gBAChB,KAAK;gBACL,aAAa;aACd;YACD,GAAG,CAAC,OAAO,EAAE,MAAM;gBACjB,CAAC,CAAC,EAAE,OAAO,EAAE;gBACb,CAAC,CAAC,EAAE,aAAa,EAAE,uBAAuB,EAAE,CAAC;YAC/C,IAAI,EAAE,OAAO;SACO,CAAC;QAEvB,IAAI,CAAC,kBAAkB,CAAC,gBAAgB,EAAE,eAAe,CAAC,CAAC;QAE3D,MAAM,SAAS,GAAG,MAAM,IAAA,2BAAG,EACzB,8CAA8C,EAC9C,EAAE,IAAI,EAAE,EAAE,MAAM,EAAE,CAAC,YAAY,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,CACpD,CAAC;QAEF,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACzB,MAAM,IAAI,+CAAsB,CAC9B,2CAA2C,EAC3C,SAAS,CACV,CAAC;QACJ,CAAC;QAED,MAAM,UAAU,GACd,MAAM,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,eAAe,CACrC,IAAI,CAAC,MAAM,CAAC,aAAa,EACzB,2BAAkB,CAAC,MAAM,EACzB,iCAAe,CAAC,EAAE,CAAoB,OAAO,EAAE,YAAY,CAAC,EAC5D,YAAY,CACb,CAAC;QAEJ,MAAM,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,OAAO,CAC/B,IAAI,CAAC,MAAM,CAAC,aAAa,EACzB,2BAAkB,CAAC,MAAM,CAC1B,CAAC;QACF,MAAM,IAAA,2BAAG,EAAqB,qCAAqC,CAAC,CAAC;QAErE,MAAM,IAAA,2BAAG,EAAuB,wCAAwC,EAAE;YACxE,UAAU,EAAE,UAAU,CAAC,OAAO;SAC/B,CAAC,CAAC;QAEH,OAAO,UAAU,CAAC;IACpB,CAAC;IAED,KAAK,CAAC,WAAW,CACf,KAAa,EACb,gBAAkC,EAClC,eAA2B,EAC3B,eAAgC,EAChC,cAA8B,EAC9B,QAAuB,EACvB,IAAa;QAEb,IAAI,kBAAS,CAAC,UAAU,CAAC,KAAK,CAAC,KAAK,KAAK,EAAE,CAAC;YAC1C,MAAM,IAAI,wBAAe,CAAC,iBAAiB,KAAK,uBAAuB,CAAC,CAAC;QAC3E,CAAC;QAED,MAAM,UAAU,GAAG,IAAA,+CAA0B,EAAC,QAAQ,CAAC,CAAC;QAExD,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC1B,MAAM,IAAI,2DAA4B,CACpC,sEAAsE,EACtE,UAAU,CACX,CAAC;QACJ,CAAC;QAED,MAAM,YAAY,GAAuB;YACvC,MAAM,EAAE;gBACN,eAAe;gBACf,IAAI;gBACJ,QAAQ;gBACR,eAAe;gBACf,cAAc;gBACd,gBAAgB;gBAChB,KAAK;aACN;YACD,IAAI,EAAE,QAAQ;SACf,CAAC;QAEF,MAAM,SAAS,GAAG,MAAM,IAAA,2BAAG,EACzB,8CAA8C,EAC9C,EAAE,IAAI,EAAE,EAAE,MAAM,EAAE,CAAC,YAAY,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,CACrD,CAAC;QAEF,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACzB,MAAM,IAAI,+CAAsB,CAC9B,4CAA4C,EAC5C,SAAS,CACV,CAAC;QACJ,CAAC;QAED,MAAM,WAAW,GACf,MAAM,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,eAAe,CACrC,IAAI,CAAC,MAAM,CAAC,aAAa,EACzB,2BAAkB,CAAC,MAAM,EACzB,iCAAe,CAAC,EAAE,CAAqB,QAAQ,EAAE,YAAY,CAAC,EAC9D,YAAY,CACb,CAAC;QAEJ,MAAM,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,OAAO,CAC/B,IAAI,CAAC,MAAM,CAAC,aAAa,EACzB,2BAAkB,CAAC,MAAM,CAC1B,CAAC;QACF,MAAM,IAAA,2BAAG,EAAqB,qCAAqC,CAAC,CAAC;QAErE,MAAM,IAAA,2BAAG,EACP,yCAAyC,EACzC;YACE,WAAW,EAAE,YAAY;SAC1B,CACF,CAAC;QAEF,OAAO,WAAW,CAAC;IACrB,CAAC;IAED,KAAK,CAAC,UAAU,CACd,aAAuB,EACvB,KAAa,EACb,QAAoB,EACpB,gBAAkC,EAClC,eAA2B,EAC3B,eAAgC,EAChC,cAA8B,EAC9B,IAAa,EACb,OAAgD;QAEhD,IAAI,kBAAS,CAAC,UAAU,CAAC,KAAK,CAAC,KAAK,KAAK,EAAE,CAAC;YAC1C,MAAM,IAAI,wBAAe,CAAC,gBAAgB,KAAK,uBAAuB,CAAC,CAAC;QAC1E,CAAC;QACD,IAAI,aAAa,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;YACtC,aAAa,GAAG,CAAC,SAAS,CAAC,CAAC;QAC9B,CAAC;QAED,MAAM,aAAa,GAAG,IAAI,CAAC,kBAAkB,CAAC,QAAQ,CAAC,CAAC;QACxD,MAAM,YAAY,GAAsB;YACtC,aAAa;YACb,KAAK,EAAE;gBACL,QAAQ,EAAE,aAAa;gBACvB,eAAe;gBACf,IAAI;gBACJ,OAAO;gBACP,eAAe;gBACf,cAAc;gBACd,gBAAgB;gBAChB,KAAK;aACN;YACD,IAAI,EAAE,OAAO;SACd,CAAC;QAEF,MAAM,SAAS,GAAG,MAAM,IAAA,2BAAG,EACzB,8CAA8C,EAC9C,EAAE,WAAW,EAAE,CAAC,YAAY,CAAC,EAAE,CAChC,CAAC;QAEF,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACzB,MAAM,IAAI,+CAAsB,CAC9B,0CAA0C,EAC1C,SAAS,CACV,CAAC;QACJ,CAAC;QAED,MAAM,UAAU,GACd,MAAM,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,eAAe,CACrC,IAAI,CAAC,MAAM,CAAC,aAAa,EACzB,2BAAkB,CAAC,MAAM,EACzB,iCAAe,CAAC,EAAE,CAAoB,OAAO,EAAE,YAAY,CAAC,EAC5D,YAAY,CACb,CAAC;QAEJ,MAAM,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,OAAO,CAC/B,IAAI,CAAC,MAAM,CAAC,aAAa,EACzB,2BAAkB,CAAC,MAAM,CAC1B,CAAC;QACF,MAAM,IAAA,2BAAG,EAAqB,qCAAqC,CAAC,CAAC;QAErE,OAAO,UAAU,CAAC;IACpB,CAAC;IAED,KAAK,CAAC,YAAY,CAChB,IAAY,EACZ,cAA0B,EAC1B,gBAA+B,EAC/B,aAAoC,EACpC,OAEC,EACD,OAAkB,EAClB,IAAa;QAEb,MAAM,YAAY,GAAwB;YACxC,OAAO,EAAE;gBACP,IAAI;gBACJ,OAAO;gBACP,IAAI;gBACJ,aAAa;gBACb,cAAc;aACf;YACD,IAAI,EAAE,SAAS;SAChB,CAAC;QAEF,IAAI,OAAO,EAAE,MAAM,EAAE,CAAC;YACpB,YAAY,CAAC,OAAO,GAAG,OAAO,CAAC;QACjC,CAAC;QAED,kFAAkF;QAClF,MAAM,IAAI,CAAC,qBAAqB,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QAEhD,IAAI,gBAAgB,EAAE,CAAC;YACrB,IAAI,CAAC;gBACH,IAAA,8BAAgB,EAAC,IAAI,EAAE,gBAAgB,CAAC,CAAC;gBACzC,YAAY,CAAC,OAAO,CAAC,gBAAgB,GAAG,gBAAgB,CAAC;YAC3D,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,MAAM,IAAI,6CAAqB,CAC7B,8BAA8B,EAC9B,IAAA,0BAAY,GAAE,CACf,CAAC;YACJ,CAAC;QACH,CAAC;QAED,MAAM,SAAS,GAAG,MAAM,IAAA,2BAAG,EACzB,8CAA8C,EAC9C,EAAE,cAAc,EAAE,CAAC,YAAY,CAAC,EAAE,CACnC,CAAC;QAEF,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACzB,MAAM,IAAI,+CAAsB,CAC9B,2CAA2C,EAC3C,SAAS,CACV,CAAC;QACJ,CAAC;QAED,MAAM,YAAY,GAChB,MAAM,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,eAAe,CACrC,IAAI,CAAC,MAAM,CAAC,aAAa,EACzB,2BAAkB,CAAC,MAAM,EACzB,iCAAe,CAAC,EAAE,CAAsB,SAAS,EAAE,YAAY,CAAC,EAChE,YAAY,CACb,CAAC;QAEJ,MAAM,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,OAAO,CAC/B,IAAI,CAAC,MAAM,CAAC,aAAa,EACzB,2BAAkB,CAAC,MAAM,CAC1B,CAAC;QACF,MAAM,IAAA,2BAAG,EAAqB,qCAAqC,CAAC,CAAC;QAErE,OAAO,YAAY,CAAC;IACtB,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,GAAW;QAC3B,MAAM,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,MAAM,CAC5B,IAAI,CAAC,MAAM,CAAC,aAAa,EACzB,2BAAkB,CAAC,MAAM,EACzB,GAAG,CACJ,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,GAAW;QAC5B,MAAM,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,MAAM,CAC5B,IAAI,CAAC,MAAM,CAAC,aAAa,EACzB,2BAAkB,CAAC,MAAM,EACzB,GAAG,CACJ,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,GAAW;QAC3B,MAAM,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,MAAM,CAC5B,IAAI,CAAC,MAAM,CAAC,aAAa,EACzB,2BAAkB,CAAC,MAAM,EACzB,GAAG,CACJ,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,aAAa,CAAC,GAAW;QAC7B,MAAM,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,MAAM,CAC5B,IAAI,CAAC,MAAM,CAAC,aAAa,EACzB,2BAAkB,CAAC,MAAM,EACzB,GAAG,CACJ,CAAC;IACJ,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,aAAa;QACjB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,MAAM,CAC3C,IAAI,CAAC,MAAM,CAAC,aAAa,EACzB,2BAAkB,CAAC,MAAM,EACzB,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,EAAE,EACtC,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,EAAE,aAAa,EAAE,KAAK,EAAE,CAAC,EAAE,CACjD,CAAC;QAEF,OAAO,MAAM,CAAC,IAAiD,CAAC;IAClE,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,YAAY,CAAC,KAAa;QAC9B,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,MAAM,CAC3C,IAAI,CAAC,MAAM,CAAC,aAAa,EACzB,2BAAkB,CAAC,MAAM,EACzB;gBACE,KAAK,EAAE;oBACL,IAAI,EAAE;wBACJ,IAAI,EAAE;4BACJ,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,uBAAuB,EAAE,EAAE;4BAC3C,EAAE,IAAI,EAAE,EAAE,cAAc,EAAE,KAAK,EAAE,EAAE;yBACpC;qBACF;iBACF;aACF,EACD,EAAE,IAAI,EAAE,CAAC,EAAE,CACZ,CAAC;YACF,OAAO,MAAM,CAAC,KAAK,GAAG,CAAC,CAAC;QAC1B,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,wBAAwB,CAAC,aAAuB;QACpD,4BAA4B;QAC5B,MAAM,OAAO,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,SAAS,CAAC,CAAC;QAC7D,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACzB,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,MAAM,CAC3C,IAAI,CAAC,MAAM,CAAC,aAAa,EACzB,2BAAkB,CAAC,MAAM,EACzB;YACE,KAAK,EAAE;gBACL,MAAM,EAAE,EAAE,IAAI,EAAE,uBAAuB,EAAE;aAC1C;SACF,EACD,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE,CACjC,CAAC;QAEF,MAAM,qBAAqB,GAAG,IAAI,GAAG,CACnC,MAAM,CAAC,IAAI,CAAC,GAAG,CACb,CAAC,CAAC,EAAE,EAAE,CAAE,CAAC,CAAC,OAA2C,CAAC,MAAM,EAAE,KAAK,CACpE,CACF,CAAC;QAEF,OAAO,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,qBAAqB,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IAC9D,CAAC;IAED,KAAK,CAAC,SAAS,CACb,aAAuB,EACvB,KAAc;QAEd,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,aAAa,EAAE,KAAK,EAAE;YAC3D,UAAU,EAAE;gBACV,IAAI,EAAE,EAAE,aAAa,EAAE,KAAK,EAAE;aAC/B;YACD,IAAI,EAAE,IAAI;SACX,CAAC,CAAC;QAEH,OAAO,MAAM,CAAC,IAAI,CAAC;IACrB,CAAC;IAED,KAAK,CAAC,WAAW;QACf,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC;YACtC,UAAU,EAAE;gBACV,IAAI,EAAE,EAAE,cAAc,EAAE,KAAK,EAAE;aAChC;YACD,IAAI,EAAE,IAAI;SACX,CAAC,CAAC;QAEH,OAAO,MAAM,CAAC,IAAI,CAAC;IACrB,CAAC;IAED,KAAK,CAAC,UAAU,CACd,aAAuB;QAEvB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,aAAa,EAAE;YACpD,UAAU,EAAE;gBACV,IAAI,EAAE,EAAE,aAAa,EAAE,KAAK,EAAE;aAC/B;YACD,IAAI,EAAE,IAAI;SACX,CAAC,CAAC;QAEH,OAAO,MAAM,CAAC,IAAI,CAAC;IACrB,CAAC;IAED,KAAK,CAAC,YAAY,CAChB,KAAc;QAEd,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE;YAC9C,UAAU,EAAE;gBACV,IAAI,EAAE,EAAE,cAAc,EAAE,KAAK,EAAE;aAChC;YACD,IAAI,EAAE,IAAI;SACX,CAAC,CAAC;QAEH,OAAO,MAAM,CAAC,IAAI,CAAC;IACrB,CAAC;IAED,KAAK,CAAC,YAAY,CAChB,aAAuB,EACvB,KAAyB,EACzB,YAAmC;QAEnC,MAAM,WAAW,GAAG,KAAK;YACvB,CAAC,CAAC;gBACE,IAAI,EAAE;oBACJ,MAAM,EAAE;wBACN;4BACE,IAAI,EAAE;gCACJ,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,CAAC;6BACrC;yBACF;wBACD;4BACE,IAAI,EAAE;gCACJ,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,aAAa,EAAE,EAAE,CAAC;gCACpC,QAAQ,EAAE,CAAC,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,EAAE,CAAC;6BAC7C;yBACF;wBACD;4BACE,IAAI,EAAE;gCACJ,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,aAAa,EAAE,SAAS,EAAE,EAAE,CAAC;gCAC9C,QAAQ,EAAE,CAAC,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,EAAE,CAAC;6BAC7C;yBACF;qBACF;iBACF;aACF;YACH,CAAC,CAAC;gBACE,IAAI,EAAE;oBACJ,MAAM,EAAE;wBACN;4BACE,IAAI,EAAE;gCACJ,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,aAAa,EAAE,EAAE,CAAC;gCACpC,QAAQ,EAAE,CAAC,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,EAAE,CAAC;6BAC7C;yBACF;wBACD;4BACE,IAAI,EAAE;gCACJ,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,aAAa,EAAE,SAAS,EAAE,EAAE,CAAC;gCAC9C,QAAQ,EAAE,CAAC,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,EAAE,CAAC;6BAC7C;yBACF;qBACF;iBACF;aACF,CAAC;QAEN,MAAM,KAAK,GAAG;YACZ,IAAI,EAAE;gBACJ,IAAI,EAAE;oBACJ,YAAY,CAAC,UAAU,CAAC,KAAK;oBAC7B,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE;oBAC3B,WAAW;iBACZ,CAAC,MAAM,CAAC,OAAO,CAAC;aAClB;SACF,CAAC;QAEF,OAAO,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,MAAM,CAC7B,IAAI,CAAC,MAAM,CAAC,aAAa,EACzB,2BAAkB,CAAC,MAAM,EACzB;YACE,GAAG,YAAY,CAAC,UAAU;YAC1B,KAAK;SACN,EACD;YACE,IAAI,EAAE,YAAY,CAAC,IAAI;YACvB,IAAI,EAAE,eAAe;YACrB,MAAM,EAAE,YAAY,CAAC,SAAS;YAC9B,IAAI,EAAE,YAAY,CAAC,IAAI;SACxB,CACF,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,aAAa,CACjB,YAAmC;QAEnC,MAAM,KAAK,GAAG;YACZ,IAAI,EAAE;gBACJ,IAAI,EAAE;oBACJ,YAAY,CAAC,UAAU,CAAC,KAAK;oBAC7B,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE;iBAC7B,CAAC,MAAM,CAAC,OAAO,CAAC;aAClB;SACF,CAAC;QAEF,OAAO,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,MAAM,CAC7B,IAAI,CAAC,MAAM,CAAC,aAAa,EACzB,2BAAkB,CAAC,MAAM,EACzB;YACE,GAAG,YAAY,CAAC,UAAU;YAC1B,KAAK;SACN,EACD;YACE,IAAI,EAAE,YAAY,CAAC,IAAI;YACvB,IAAI,EAAE,eAAe;YACrB,MAAM,EAAE,YAAY,CAAC,SAAS;YAC9B,IAAI,EAAE,YAAY,CAAC,IAAI;SACxB,CACF,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,YAAY,CAChB,aAAuB,EACvB,YAAmC;QAEnC,MAAM,KAAK,GAAG;YACZ,IAAI,EAAE;gBACJ,IAAI,EAAE;oBACJ,YAAY,CAAC,UAAU,CAAC,KAAK;oBAC7B,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE;oBAC3B;wBACE,IAAI,EAAE;4BACJ,MAAM,EAAE;gCACN,EAAE,KAAK,EAAE,EAAE,aAAa,EAAE,EAAE;gCAC5B,EAAE,IAAI,EAAE,EAAE,aAAa,EAAE,SAAS,EAAE,EAAE;6BACvC;yBACF;qBACF;iBACF,CAAC,MAAM,CAAC,OAAO,CAAC;aAClB;SACF,CAAC;QAEF,OAAO,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,MAAM,CAC7B,IAAI,CAAC,MAAM,CAAC,aAAa,EACzB,2BAAkB,CAAC,MAAM,EACzB;YACE,GAAG,YAAY,CAAC,UAAU;YAC1B,KAAK;SACN,EACD;YACE,IAAI,EAAE,YAAY,CAAC,IAAI;YACvB,IAAI,EAAE,eAAe;YACrB,MAAM,EAAE,YAAY,CAAC,SAAS;YAC9B,IAAI,EAAE,YAAY,CAAC,IAAI;SACxB,CACF,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,cAAc,CAClB,KAAyB,EACzB,YAAmC;QAEnC,MAAM,WAAW,GAAG,KAAK;YACvB,CAAC,CAAC;gBACE,IAAI,EAAE;oBACJ,MAAM,EAAE;wBACN,EAAE,IAAI,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE;wBAC5B,EAAE,IAAI,EAAE,EAAE,QAAQ,EAAE,CAAC,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,EAAE,CAAC,EAAE,EAAE;qBAC3D;iBACF;aACF;YACH,CAAC,CAAC;gBACE,IAAI,EAAE;oBACJ,QAAQ,EAAE,CAAC,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,EAAE,CAAC;iBAC7C;aACF,CAAC;QAEN,MAAM,KAAK,GAAG;YACZ,IAAI,EAAE;gBACJ,IAAI,EAAE;oBACJ,YAAY,CAAC,UAAU,CAAC,KAAK;oBAC7B,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE;oBAC7B,WAAW;iBACZ,CAAC,MAAM,CAAC,OAAO,CAAC;aAClB;SACF,CAAC;QAEF,OAAO,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,MAAM,CAC7B,IAAI,CAAC,MAAM,CAAC,aAAa,EACzB,2BAAkB,CAAC,MAAM,EACzB;YACE,GAAG,YAAY,CAAC,UAAU;YAC1B,KAAK;SACN,EACD;YACE,IAAI,EAAE,YAAY,CAAC,IAAI;YACvB,IAAI,EAAE,eAAe;YACrB,MAAM,EAAE,YAAY,CAAC,SAAS;YAC9B,IAAI,EAAE,YAAY,CAAC,IAAI;SACxB,CACF,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,KAAa;QAC7B,MAAM,KAAK,GAAG;YACZ,GAAG,EAAE;gBACH,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE;gBAC7B,EAAE,MAAM,EAAE,EAAE,aAAa,EAAE,KAAK,EAAE,EAAE;aACrC;SACF,CAAC;QAEF,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,MAAM,CAC3C,IAAI,CAAC,MAAM,CAAC,aAAa,EACzB,2BAAkB,CAAC,MAAM,EACzB,EAAE,KAAK,EAAE,EACT,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,EAAE,CAC9B,CAAC;QAEF,OAAO,MAAM,CAAC,KAAK,GAAG,CAAC,CAAC;IAC1B,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,KAAa;QAC9B,MAAM,KAAK,GAAG;YACZ,GAAG,EAAE;gBACH,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE;gBAC9B,EAAE,MAAM,EAAE,EAAE,cAAc,EAAE,KAAK,EAAE,EAAE;aACtC;SACF,CAAC;QAEF,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,MAAM,CAC3C,IAAI,CAAC,MAAM,CAAC,aAAa,EACzB,2BAAkB,CAAC,MAAM,EACzB,EAAE,KAAK,EAAE,EACT,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,EAAE,CAC9B,CAAC;QAEF,OAAO,MAAM,CAAC,KAAK,GAAG,CAAC,CAAC;IAC1B,CAAC;IAED,KAAK,CAAC,QAAQ,CACZ,aAAuB,EACvB,KAAyB,EACzB,KAAa;QAEb,MAAM,UAAU,GAAG;YACjB,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE;YAC3B,EAAE,IAAI,EAAE,EAAE,aAAa,EAAE,KAAK,EAAE,EAAE;SACnC,CAAC;QAEF,2DAA2D;QAC3D,IAAI,KAAK,EAAE,CAAC;YACV,MAAM,WAAW,GAAG;gBAClB,IAAI,EAAE;oBACJ,IAAI,EAAE,CAAC,GAAG,UAAU,EAAE,EAAE,IAAI,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,CAAC;iBACpD;aACF,CAAC;YAEF,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,MAAM,CACjD,IAAI,CAAC,MAAM,CAAC,aAAa,EACzB,2BAAkB,CAAC,MAAM,EACzB,EAAE,KAAK,EAAE,WAAW,EAAE,EACtB,EAAE,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE,CAAC,EAAE,CACnC,CAAC;YAEF,IAAI,YAAY,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC;gBAC3B,OAAO,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAC9B,CAAC;QACH,CAAC;QAED,oDAAoD;QACpD,MAAM,UAAU,GAAG;YACjB,IAAI,EAAE;gBACJ,IAAI,EAAE,CAAC,GAAG,UAAU,EAAE,EAAE,KAAK,EAAE,EAAE,aAAa,EAAE,EAAE,CAAC;gBACnD,QAAQ,EAAE,CAAC,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,EAAE,CAAC;aAC7C;SACF,CAAC;QAEF,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,MAAM,CAChD,IAAI,CAAC,MAAM,CAAC,aAAa,EACzB,2BAAkB,CAAC,MAAM,EACzB,EAAE,KAAK,EAAE,UAAU,EAAE,EACrB,EAAE,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE,CAAC,EAAE,CACnC,CAAC;QAEF,IAAI,WAAW,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC;YAC1B,OAAO,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAC7B,CAAC;QAED,4BAA4B;QAC5B,MAAM,YAAY,GAAG;YACnB,IAAI,EAAE;gBACJ,IAAI,EAAE,CAAC,GAAG,UAAU,EAAE,EAAE,IAAI,EAAE,EAAE,aAAa,EAAE,SAAS,EAAE,EAAE,CAAC;gBAC7D,QAAQ,EAAE,CAAC,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,EAAE,CAAC;aAC7C;SACF,CAAC;QAEF,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,MAAM,CAClD,IAAI,CAAC,MAAM,CAAC,aAAa,EACzB,2BAAkB,CAAC,MAAM,EACzB,EAAE,KAAK,EAAE,YAAY,EAAE,EACvB,EAAE,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE,CAAC,EAAE,CACnC,CAAC;QAEF,IAAI,aAAa,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC;YAC5B,OAAO,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAC/B,CAAC;QAED,MAAM,IAAI,sBAAa,CACrB,wBAAwB,KAAK,uBAAuB,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAChF,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,KAAa;QAC3B,MAAM,KAAK,GAAG;YACZ,GAAG,EAAE;gBACH,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE;gBAC9B,EAAE,MAAM,EAAE,EAAE,cAAc,EAAE,KAAK,EAAE,EAAE;aACtC;SACF,CAAC;QAEF,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,MAAM,CAC3C,IAAI,CAAC,MAAM,CAAC,aAAa,EACzB,2BAAkB,CAAC,MAAM,EACzB,EAAE,KAAK,EAAE,EACT,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,EAAE,CAC9B,CAAC;QAEF,IAAI,MAAM,CAAC,KAAK,KAAK,CAAC,EAAE,CAAC;YACvB,MAAM,IAAI,sBAAa,CAAC,yBAAyB,KAAK,IAAI,CAAC,CAAC;QAC9D,CAAC;QAED,OAAO,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACxB,CAAC;IAED,KAAK,CAAC,QAAQ,CAAC,KAAa;QAC1B,MAAM,KAAK,GAAG;YACZ,GAAG,EAAE;gBACH,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE;gBAC7B,EAAE,MAAM,EAAE,EAAE,aAAa,EAAE,KAAK,EAAE,EAAE;aACrC;SACF,CAAC;QAEF,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,MAAM,CAC3C,IAAI,CAAC,MAAM,CAAC,aAAa,EACzB,2BAAkB,CAAC,MAAM,EACzB,EAAE,KAAK,EAAE,EACT,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,EAAE,CAC9B,CAAC;QAEF,IAAI,MAAM,CAAC,KAAK,KAAK,CAAC,EAAE,CAAC;YACvB,MAAM,IAAI,sBAAa,CAAC,wBAAwB,KAAK,IAAI,CAAC,CAAC;QAC7D,CAAC;QACD,IAAI,MAAM,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC;YACrB,IAAI,CAAC,MAAM,CAAC,IAAI,CACd,6DAA6D,CAC9D,CAAC;QACJ,CAAC;QAED,OAAO,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACxB,CAAC;IAED,KAAK,CAAC,UAAU,CACd,IAAY,EACZ,KAAc;QAEd,MAAM,UAAU,GAAG;YACjB,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE;YAC7B,EAAE,IAAI,EAAE,EAAE,cAAc,EAAE,IAAI,EAAE,EAAE;SACnC,CAAC;QAEF,MAAM,WAAW,GAAG,KAAK;YACvB,CAAC,CAAC;gBACE,IAAI,EAAE;oBACJ,MAAM,EAAE;wBACN,EAAE,IAAI,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE;wBAC5B,EAAE,IAAI,EAAE,EAAE,QAAQ,EAAE,CAAC,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,EAAE,CAAC,EAAE,EAAE;qBAC3D;iBACF;aACF;YACH,CAAC,CAAC;gBACE,IAAI,EAAE;oBACJ,QAAQ,EAAE,CAAC,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,EAAE,CAAC;iBAC7C;aACF,CAAC;QAEN,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,MAAM,CAC3C,IAAI,CAAC,MAAM,CAAC,aAAa,EACzB,2BAAkB,CAAC,MAAM,EACzB;YACE,KAAK,EAAE;gBACL,IAAI,EAAE;oBACJ,IAAI,EAAE,CAAC,GAAG,UAAU,EAAE,WAAW,CAAC;iBACnC;aACF;SACF,EACD,EAAE,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE,CAAC,EAAE,CACnC,CAAC;QAEF,IAAI,MAAM,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC;YACrB,OAAO,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACxB,CAAC;QAED,MAAM,IAAI,sBAAa,CAAC,yBAAyB,IAAI,IAAI,CAAC,CAAC;IAC7D,CAAC;IAED;;;OAGG;IACK,KAAK,CAAC,qBAAqB,CACjC,IAAY,EACZ,OAAkB;QAElB,MAAM,iBAAiB,GAAG,OAAO,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC;QAExD,qEAAqE;QACrE,MAAM,aAAa,GAAG,iBAAiB;YACrC,CAAC,CAAC;gBACE,2DAA2D;gBAC3D,IAAI,EAAE;oBACJ,IAAI,EAAE;wBACJ,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE;wBAC7B,EAAE,IAAI,EAAE,EAAE,cAAc,EAAE,IAAI,EAAE,EAAE;qBACnC;oBACD,QAAQ,EAAE,CAAC,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,EAAE,CAAC;iBAC7C;aACF;YACH,CAAC,CAAC;gBACE,6DAA6D;gBAC7D,IAAI,EAAE;oBACJ,IAAI,EAAE;wBACJ,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE;wBAC7B,EAAE,IAAI,EAAE,EAAE,cAAc,EAAE,IAAI,EAAE,EAAE;wBAClC,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,EAAE;qBACjC;iBACF;aACF,CAAC;QAEN,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,MAAM,CAC3C,IAAI,CAAC,MAAM,CAAC,aAAa,EACzB,2BAAkB,CAAC,MAAM,EACzB,EAAE,KAAK,EAAE,aAAa,EAAE,EACxB,EAAE,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE,CAAC,EAAE,CACnC,CAAC;QAEF,IAAI,MAAM,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC;YACrB,MAAM,KAAK,GAAG,iBAAiB,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,eAAe,CAAC;YAC7D,MAAM,IAAI,wBAAe,CACvB,iBAAiB,IAAI,yBAAyB,KAAK,mEAAmE,CACvH,CAAC;QACJ,CAAC;IACH,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,WAAW,CACf,aAAuB,EACvB,KAAyB,EACzB,KAAa,EACb,gBAAkC,EAClC,eAA2B,EAC3B,eAAgC,EAChC,cAA8B,EAC9B,QAAgD,EAChD,aAA4B,EAC5B,OAA+C,EAC/C,IAAwB,EACxB,OAAsB;QAEtB,IAAI,kBAAS,CAAC,UAAU,CAAC,KAAK,CAAC,KAAK,KAAK,EAAE,CAAC;YAC1C,MAAM,IAAI,wBAAe,CAAC,gBAAgB,KAAK,uBAAuB,CAAC,CAAC;QAC1E,CAAC;QAED,IAAI,CAAC,kBAAkB,CAAC,gBAAgB,EAAE,eAAe,CAAC,CAAC;QAE3D,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,aAAa,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;QAEvE,wEAAwE;QACxE,MAAM,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,YAAY,CAClC,IAAI,CAAC,MAAM,CAAC,aAAa,EACzB,2BAAkB,CAAC,MAAM,EACzB,aAAa,CAAC,GAAG,EACjB;YACE,qBAAqB;YACrB,wBAAwB;YACxB,uBAAuB;YACvB,uBAAuB;YACvB,sBAAsB;SACvB,EACD,EAAE,MAAM,EAAE,IAAI,EAAE,CACjB,CAAC;QAEF,MAAM,eAAe,GACnB,QAAQ,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC;QAE1E,0EAA0E;QAC1E,yEAAyE;QACzE,+EAA+E;QAC/E,MAAM,iBAAiB,GAAsB;YAC3C,KAAK,EAAE;gBACL,eAAe;gBACf,IAAI,EAAE,IAAI,IAAI,aAAa,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI;gBAC9C,OAAO;gBACP,QAAQ,EAAE,eAAe;gBACzB,eAAe;gBACf,cAAc;gBACd,gBAAgB;gBAChB,KAAK;gBACL,aAAa;aACd;YACD,aAAa,EAAE,aAAa,CAAC,OAAO,CAAC,aAAa;YAClD,OAAO,EAAE,aAAa,CAAC,OAAO,CAAC,OAAO;YACtC,IAAI,EAAE,OAAO;SACd,CAAC;QACF,MAAM,UAAU,GAAG;YACjB,GAAG,EAAE,aAAa,CAAC,GAAG;YACtB,OAAO,EAAE,iBAAiB;SAC3B,CAAC;QAEF,MAAM,SAAS,GAAG,MAAM,IAAA,2BAAG,EACzB,8CAA8C,EAC9C,EAAE,IAAI,EAAE,EAAE,MAAM,EAAE,CAAC,iBAAiB,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,CACzD,CAAC;QAEF,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACzB,MAAM,IAAI,+CAAsB,CAC9B,uCAAuC,EACvC,SAAS,CACV,CAAC;QACJ,CAAC;QAED,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,cAAc,CAC3C,OAAO,EACP,UAAU,EACV;YACE,UAAU,EAAE,2BAAkB,CAAC,MAAM;YACrC,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,aAAa;SACjC,EACD,EAAE,MAAM,EAAE,IAAI,EAAE,CACjB,CAAC;QAEF,gEAAgE;QAChE,IAAI,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,MAAM,GAAG,CAAC,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACpE,MAAM,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,OAAO,CAC/B,IAAI,CAAC,MAAM,CAAC,aAAa,EACzB,2BAAkB,CAAC,MAAM,CAC1B,CAAC;YAEF,MAAM,IAAA,2BAAG,EAAqB,qCAAqC,CAAC,CAAC;YACrE,MAAM,IAAA,2BAAG,EACP,wCAAwC,EACxC;gBACE,UAAU,EAAE,WAAW,CAAC,OAAO;aAChC,CACF,CAAC;QACJ,CAAC;QAED,OAAO,WAAW,CAAC;IACrB,CAAC;CACF;AA5xCD,oCA4xCC"}
|