@vendure/elasticsearch-plugin 2.2.0-next.1 → 2.2.0-next.2

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.
@@ -64,6 +64,7 @@ export declare class ElasticsearchIndexerController implements OnModuleInit, OnM
64
64
  private deleteAssetForIndex;
65
65
  private updateAssetForIndex;
66
66
  private updateProductsInternal;
67
+ private switchAlias;
67
68
  private updateProductsOperationsOnly;
68
69
  private updateProductsOperations;
69
70
  /**
@@ -21,8 +21,6 @@ const core_2 = require("@vendure/core");
21
21
  const typeorm_1 = require("typeorm");
22
22
  const constants_1 = require("../constants");
23
23
  const indexing_utils_1 = require("./indexing-utils");
24
- const REINDEX_CHUNK_SIZE = 2500;
25
- const REINDEX_OPERATION_CHUNK_SIZE = 3000;
26
24
  exports.defaultProductRelations = [
27
25
  'featuredAsset',
28
26
  'facetValues',
@@ -71,8 +69,7 @@ let ElasticsearchIndexerController = ElasticsearchIndexerController_1 = class El
71
69
  * Updates the search index only for the affected product.
72
70
  */
73
71
  async deleteProduct({ ctx: rawContext, productId }) {
74
- const operations = await this.deleteProductOperations(core_2.RequestContext.deserialize(rawContext), productId);
75
- await this.executeBulkOperations(operations);
72
+ await this.deleteProductOperations(core_2.RequestContext.deserialize(rawContext), productId);
76
73
  return true;
77
74
  }
78
75
  /**
@@ -155,9 +152,9 @@ let ElasticsearchIndexerController = ElasticsearchIndexerController_1 = class El
155
152
  const timeStart = Date.now();
156
153
  const ctx = core_2.MutableRequestContext.deserialize(rawContext);
157
154
  const reindexTempName = new Date().getTime();
158
- const variantIndexName = this.options.indexPrefix + constants_1.VARIANT_INDEX_NAME;
159
- const variantIndexNameForReindex = constants_1.VARIANT_INDEX_NAME + `-reindex-${reindexTempName}`;
160
- const reindexVariantAliasName = this.options.indexPrefix + variantIndexNameForReindex;
155
+ const variantIndexName = `${this.options.indexPrefix}${constants_1.VARIANT_INDEX_NAME}`;
156
+ const variantIndexNameForReindex = `${constants_1.VARIANT_INDEX_NAME}-reindex-${reindexTempName}`;
157
+ const reindexVariantAliasName = `${this.options.indexPrefix}${variantIndexNameForReindex}`;
161
158
  try {
162
159
  await (0, indexing_utils_1.createIndices)(this.client, this.options.indexPrefix, this.options.indexSettings, this.options.indexMappingProperties, true, `-reindex-${reindexTempName}`);
163
160
  }
@@ -166,7 +163,7 @@ let ElasticsearchIndexerController = ElasticsearchIndexerController_1 = class El
166
163
  core_2.Logger.error(JSON.stringify(e), constants_1.loggerCtx);
167
164
  throw e;
168
165
  }
169
- const totalProductIds = await this.connection
166
+ const totalProductIds = await this.connection.rawConnection
170
167
  .getRepository(core_2.Product)
171
168
  .createQueryBuilder('product')
172
169
  .where('product.deletedAt IS NULL')
@@ -176,17 +173,16 @@ let ElasticsearchIndexerController = ElasticsearchIndexerController_1 = class El
176
173
  let skip = 0;
177
174
  let finishedProductsCount = 0;
178
175
  do {
179
- const operations = [];
180
- productIds = await this.connection
176
+ productIds = await this.connection.rawConnection
181
177
  .getRepository(core_2.Product)
182
178
  .createQueryBuilder('product')
183
179
  .select('product.id')
184
180
  .where('product.deletedAt IS NULL')
185
181
  .skip(skip)
186
- .take(REINDEX_CHUNK_SIZE)
182
+ .take(this.options.reindexProductsChunkSize)
187
183
  .getMany();
188
184
  for (const { id: productId } of productIds) {
189
- operations.push(...(await this.updateProductsOperationsOnly(ctx, productId)));
185
+ await this.updateProductsOperationsOnly(ctx, productId, variantIndexNameForReindex);
190
186
  finishedProductsCount++;
191
187
  observer.next({
192
188
  total: totalProductIds,
@@ -194,82 +190,11 @@ let ElasticsearchIndexerController = ElasticsearchIndexerController_1 = class El
194
190
  duration: +new Date() - timeStart,
195
191
  });
196
192
  }
197
- core_2.Logger.verbose(`Will execute ${operations.length} bulk update operations`, constants_1.loggerCtx);
198
- // Because we can have a huge amount of variant for 1 product, we also chunk update operations
199
- await this.executeBulkOperationsByChunks(REINDEX_OPERATION_CHUNK_SIZE, operations, variantIndexNameForReindex);
200
- skip += REINDEX_CHUNK_SIZE;
193
+ skip += this.options.reindexProductsChunkSize;
201
194
  core_2.Logger.verbose(`Done ${finishedProductsCount} / ${totalProductIds} products`);
202
- } while (productIds.length >= REINDEX_CHUNK_SIZE);
195
+ } while (productIds.length >= this.options.reindexProductsChunkSize);
203
196
  // Switch the index to the new reindexed one
204
- try {
205
- const reindexVariantAliasExist = await this.client.indices.existsAlias({
206
- name: reindexVariantAliasName,
207
- });
208
- if (reindexVariantAliasExist) {
209
- const reindexVariantIndexName = await (0, indexing_utils_1.getIndexNameByAlias)(this.client, reindexVariantAliasName);
210
- const originalVariantAliasExist = await this.client.indices.existsAlias({
211
- name: variantIndexName,
212
- });
213
- const originalVariantIndexExist = await this.client.indices.exists({
214
- index: variantIndexName,
215
- });
216
- const originalVariantIndexName = await (0, indexing_utils_1.getIndexNameByAlias)(this.client, variantIndexName);
217
- const actions = [
218
- {
219
- remove: {
220
- index: reindexVariantIndexName,
221
- alias: reindexVariantAliasName,
222
- },
223
- },
224
- {
225
- add: {
226
- index: reindexVariantIndexName,
227
- alias: variantIndexName,
228
- },
229
- },
230
- ];
231
- if (originalVariantAliasExist.body) {
232
- actions.push({
233
- remove: {
234
- index: originalVariantIndexName,
235
- alias: variantIndexName,
236
- },
237
- });
238
- }
239
- else if (originalVariantIndexExist.body) {
240
- await this.client.indices.delete({
241
- index: [variantIndexName],
242
- });
243
- }
244
- await this.client.indices.updateAliases({
245
- body: {
246
- actions,
247
- },
248
- });
249
- if (originalVariantAliasExist.body) {
250
- await this.client.indices.delete({
251
- index: [originalVariantIndexName],
252
- });
253
- }
254
- }
255
- }
256
- catch (e) {
257
- core_2.Logger.error('Could not switch indexes');
258
- }
259
- finally {
260
- const reindexVariantAliasExist = await this.client.indices.existsAlias({
261
- name: reindexVariantAliasName,
262
- });
263
- if (reindexVariantAliasExist.body) {
264
- const reindexVariantAliasResult = await this.client.indices.getAlias({
265
- name: reindexVariantAliasName,
266
- });
267
- const reindexVariantIndexName = Object.keys(reindexVariantAliasResult.body)[0];
268
- await this.client.indices.delete({
269
- index: [reindexVariantIndexName],
270
- });
271
- }
272
- }
197
+ await this.switchAlias(reindexVariantAliasName, variantIndexName);
273
198
  core_2.Logger.verbose('Completed reindexing!', constants_1.loggerCtx);
274
199
  return {
275
200
  total: totalProductIds,
@@ -280,6 +205,7 @@ let ElasticsearchIndexerController = ElasticsearchIndexerController_1 = class El
280
205
  });
281
206
  }
282
207
  async executeBulkOperationsByChunks(chunkSize, operations, index = constants_1.VARIANT_INDEX_NAME) {
208
+ core_2.Logger.verbose(`Will execute ${operations.length} bulk update operations with index ${index}`, constants_1.loggerCtx);
283
209
  let i;
284
210
  let j;
285
211
  let processedOperation = 0;
@@ -350,38 +276,114 @@ let ElasticsearchIndexerController = ElasticsearchIndexerController_1 = class El
350
276
  return result1.body.failures.length === 0 && result2.body.failures === 0;
351
277
  }
352
278
  async updateProductsInternal(ctx, productIds) {
353
- const operations = await this.updateProductsOperations(ctx, productIds);
354
- await this.executeBulkOperations(operations);
279
+ await this.updateProductsOperations(ctx, productIds);
355
280
  }
356
- async updateProductsOperationsOnly(ctx, productId) {
357
- const operations = [];
281
+ async switchAlias(reindexVariantAliasName, variantIndexName) {
282
+ try {
283
+ const reindexVariantAliasExist = await this.client.indices.existsAlias({
284
+ name: reindexVariantAliasName,
285
+ });
286
+ if (reindexVariantAliasExist) {
287
+ const reindexVariantIndexName = await (0, indexing_utils_1.getIndexNameByAlias)(this.client, reindexVariantAliasName);
288
+ const originalVariantAliasExist = await this.client.indices.existsAlias({
289
+ name: variantIndexName,
290
+ });
291
+ const originalVariantIndexExist = await this.client.indices.exists({
292
+ index: variantIndexName,
293
+ });
294
+ const originalVariantIndexName = await (0, indexing_utils_1.getIndexNameByAlias)(this.client, variantIndexName);
295
+ const actions = [
296
+ {
297
+ remove: {
298
+ index: reindexVariantIndexName,
299
+ alias: reindexVariantAliasName,
300
+ },
301
+ },
302
+ {
303
+ add: {
304
+ index: reindexVariantIndexName,
305
+ alias: variantIndexName,
306
+ },
307
+ },
308
+ ];
309
+ if (originalVariantAliasExist.body) {
310
+ actions.push({
311
+ remove: {
312
+ index: originalVariantIndexName,
313
+ alias: variantIndexName,
314
+ },
315
+ });
316
+ }
317
+ else if (originalVariantIndexExist.body) {
318
+ await this.client.indices.delete({
319
+ index: [variantIndexName],
320
+ });
321
+ }
322
+ await this.client.indices.updateAliases({
323
+ body: {
324
+ actions,
325
+ },
326
+ });
327
+ if (originalVariantAliasExist.body) {
328
+ await this.client.indices.delete({
329
+ index: [originalVariantIndexName],
330
+ });
331
+ }
332
+ }
333
+ }
334
+ catch (e) {
335
+ core_2.Logger.error('Could not switch indexes');
336
+ }
337
+ finally {
338
+ const reindexVariantAliasExist = await this.client.indices.existsAlias({
339
+ name: reindexVariantAliasName,
340
+ });
341
+ if (reindexVariantAliasExist.body) {
342
+ const reindexVariantAliasResult = await this.client.indices.getAlias({
343
+ name: reindexVariantAliasName,
344
+ });
345
+ const reindexVariantIndexName = Object.keys(reindexVariantAliasResult.body)[0];
346
+ await this.client.indices.delete({
347
+ index: [reindexVariantIndexName],
348
+ });
349
+ }
350
+ }
351
+ }
352
+ async updateProductsOperationsOnly(ctx, productId, index = constants_1.VARIANT_INDEX_NAME) {
353
+ let operations = [];
358
354
  let product;
359
355
  try {
360
356
  product = await this.connection
361
- .getRepository(core_2.Product)
362
- .findOne({
357
+ .getRepository(ctx, core_2.Product)
358
+ .find({
363
359
  where: { id: productId, deletedAt: (0, typeorm_1.IsNull)() },
364
360
  relations: this.productRelations,
365
361
  })
366
- .then(result => result !== null && result !== void 0 ? result : undefined);
362
+ .then(result => { var _a; return (_a = result[0]) !== null && _a !== void 0 ? _a : undefined; });
367
363
  }
368
364
  catch (e) {
369
365
  core_2.Logger.error(e.message, constants_1.loggerCtx, e.stack);
370
366
  throw e;
371
367
  }
372
368
  if (!product) {
373
- return operations;
369
+ return;
370
+ }
371
+ let updatedProductVariants = [];
372
+ try {
373
+ updatedProductVariants = await this.connection.rawConnection.getRepository(core_2.ProductVariant).find({
374
+ relations: this.variantRelations,
375
+ where: {
376
+ productId,
377
+ deletedAt: (0, typeorm_1.IsNull)(),
378
+ },
379
+ order: {
380
+ id: 'ASC',
381
+ },
382
+ });
383
+ }
384
+ catch (e) {
385
+ core_2.Logger.error(e.message, constants_1.loggerCtx, e.stack);
374
386
  }
375
- const updatedProductVariants = await this.connection.getRepository(core_2.ProductVariant).find({
376
- relations: this.variantRelations,
377
- where: {
378
- productId,
379
- deletedAt: (0, typeorm_1.IsNull)(),
380
- },
381
- order: {
382
- id: 'ASC',
383
- },
384
- });
385
387
  // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
386
388
  updatedProductVariants.forEach(variant => (variant.product = product));
387
389
  if (!product.enabled) {
@@ -390,16 +392,14 @@ let ElasticsearchIndexerController = ElasticsearchIndexerController_1 = class El
390
392
  core_2.Logger.debug(`Updating Product (${productId})`, constants_1.loggerCtx);
391
393
  const languageVariants = [];
392
394
  languageVariants.push(...product.translations.map(t => t.languageCode));
393
- for (const variant of updatedProductVariants) {
395
+ for (const variant of updatedProductVariants)
394
396
  languageVariants.push(...variant.translations.map(t => t.languageCode));
395
- }
396
397
  const uniqueLanguageVariants = (0, unique_1.unique)(languageVariants);
397
398
  for (const channel of product.channels) {
398
399
  ctx.setChannel(channel);
399
400
  const variantsInChannel = updatedProductVariants.filter(v => v.channels.map(c => c.id).includes(ctx.channelId));
400
- for (const variant of variantsInChannel) {
401
+ for (const variant of variantsInChannel)
401
402
  await this.productPriceApplicator.applyChannelPriceAndTax(variant, ctx);
402
- }
403
403
  for (const languageCode of uniqueLanguageVariants) {
404
404
  if (variantsInChannel.length) {
405
405
  for (const variant of variantsInChannel) {
@@ -417,6 +417,11 @@ let ElasticsearchIndexerController = ElasticsearchIndexerController_1 = class El
417
417
  doc_as_upsert: true,
418
418
  },
419
419
  });
420
+ if (operations.length >= this.options.reindexBulkOperationSizeLimit) {
421
+ // Because we can have a huge amount of variant for 1 product, we also chunk update operations
422
+ await this.executeBulkOperationsByChunks(this.options.reindexBulkOperationSizeLimit, operations, index);
423
+ operations = [];
424
+ }
420
425
  }
421
426
  }
422
427
  else {
@@ -435,18 +440,24 @@ let ElasticsearchIndexerController = ElasticsearchIndexerController_1 = class El
435
440
  },
436
441
  });
437
442
  }
443
+ if (operations.length >= this.options.reindexBulkOperationSizeLimit) {
444
+ // Because we can have a huge amount of variant for 1 product, we also chunk update operations
445
+ await this.executeBulkOperationsByChunks(this.options.reindexBulkOperationSizeLimit, operations, index);
446
+ operations = [];
447
+ }
438
448
  }
439
449
  }
440
- return operations;
450
+ // Because we can have a huge amount of variant for 1 product, we also chunk update operations
451
+ await this.executeBulkOperationsByChunks(this.options.reindexBulkOperationSizeLimit, operations, index);
452
+ return;
441
453
  }
442
454
  async updateProductsOperations(ctx, productIds) {
443
455
  core_2.Logger.debug(`Updating ${productIds.length} Products`, constants_1.loggerCtx);
444
- const operations = [];
445
456
  for (const productId of productIds) {
446
- operations.push(...(await this.deleteProductOperations(ctx, productId)));
447
- operations.push(...(await this.updateProductsOperationsOnly(ctx, productId)));
457
+ await this.deleteProductOperations(ctx, productId);
458
+ await this.updateProductsOperationsOnly(ctx, productId);
448
459
  }
449
- return operations;
460
+ return;
450
461
  }
451
462
  /**
452
463
  * Takes the default relations, and combines them with any extra relations specified in the
@@ -463,7 +474,7 @@ let ElasticsearchIndexerController = ElasticsearchIndexerController_1 = class El
463
474
  for (const relation of hydratedRelations) {
464
475
  let path = relation.split('.');
465
476
  if (path[0] === 'customFields') {
466
- if (2 < path.length) {
477
+ if (path.length > 2) {
467
478
  throw new core_2.InternalServerError([
468
479
  'hydrateProductRelations / hydrateProductVariantRelations does not currently support nested custom field relations',
469
480
  `Received: "${relation}"`,
@@ -482,8 +493,8 @@ let ElasticsearchIndexerController = ElasticsearchIndexerController_1 = class El
482
493
  }
483
494
  return uniqueRelations;
484
495
  }
485
- async deleteProductOperations(ctx, productId) {
486
- const channels = await this.requestContextCache.get(ctx, 'elastic-index-all-channels', () => this.connection
496
+ async deleteProductOperations(ctx, productId, index = constants_1.VARIANT_INDEX_NAME) {
497
+ const channels = await this.requestContextCache.get(ctx, 'elastic-index-all-channels', () => this.connection.rawConnection
487
498
  .getRepository(core_2.Channel)
488
499
  .createQueryBuilder('channel')
489
500
  .select('channel.id')
@@ -504,16 +515,14 @@ let ElasticsearchIndexerController = ElasticsearchIndexerController_1 = class El
504
515
  .where('product.id = :productId', { productId })
505
516
  .andWhere('channel.id = :channelId', { channelId: ctx.channelId })
506
517
  .getOne();
507
- if (!product) {
508
- return [];
509
- }
518
+ if (!product)
519
+ return;
510
520
  core_2.Logger.debug(`Deleting 1 Product (id: ${productId})`, constants_1.loggerCtx);
511
- const operations = [];
521
+ let operations = [];
512
522
  const languageVariants = [];
513
523
  languageVariants.push(...product.translations.map(t => t.languageCode));
514
- for (const variant of product.variants) {
524
+ for (const variant of product.variants)
515
525
  languageVariants.push(...variant.translations.map(t => t.languageCode));
516
- }
517
526
  const uniqueLanguageVariants = (0, unique_1.unique)(languageVariants);
518
527
  for (const { id: channelId } of channels) {
519
528
  for (const languageCode of uniqueLanguageVariants) {
@@ -525,14 +534,21 @@ let ElasticsearchIndexerController = ElasticsearchIndexerController_1 = class El
525
534
  },
526
535
  },
527
536
  });
537
+ if (operations.length >= this.options.reindexBulkOperationSizeLimit) {
538
+ // Because we can have a huge amount of variant for 1 product, we also chunk update operations
539
+ await this.executeBulkOperationsByChunks(this.options.reindexBulkOperationSizeLimit, operations, index);
540
+ operations = [];
541
+ }
528
542
  }
529
543
  }
530
- operations.push(...(await this.deleteVariantsInternalOperations(product.variants, channels.map(c => c.id), uniqueLanguageVariants)));
531
- return operations;
544
+ // Because we can have a huge amount of variant for 1 product, we also chunk update operations
545
+ await this.executeBulkOperationsByChunks(this.options.reindexBulkOperationSizeLimit, operations, index);
546
+ await this.deleteVariantsInternalOperations(product.variants, channels.map(c => c.id), uniqueLanguageVariants, index);
547
+ return;
532
548
  }
533
- async deleteVariantsInternalOperations(variants, channelIds, languageVariants) {
549
+ async deleteVariantsInternalOperations(variants, channelIds, languageVariants, index = constants_1.VARIANT_INDEX_NAME) {
534
550
  core_2.Logger.debug(`Deleting ${variants.length} ProductVariants`, constants_1.loggerCtx);
535
- const operations = [];
551
+ let operations = [];
536
552
  for (const variant of variants) {
537
553
  for (const channelId of channelIds) {
538
554
  for (const languageCode of languageVariants) {
@@ -544,10 +560,17 @@ let ElasticsearchIndexerController = ElasticsearchIndexerController_1 = class El
544
560
  },
545
561
  },
546
562
  });
563
+ if (operations.length >= this.options.reindexBulkOperationSizeLimit) {
564
+ // Because we can have a huge amount of variant for 1 product, we also chunk update operations
565
+ await this.executeBulkOperationsByChunks(this.options.reindexBulkOperationSizeLimit, operations, index);
566
+ operations = [];
567
+ }
547
568
  }
548
569
  }
549
570
  }
550
- return operations;
571
+ // Because we can have a huge amount of variant for 1 product, we also chunk update operations
572
+ await this.executeBulkOperationsByChunks(this.options.reindexBulkOperationSizeLimit, operations, index);
573
+ return;
551
574
  }
552
575
  async getProductIdsByVariantIds(variantIds) {
553
576
  const variants = await this.connection.getRepository(core_2.ProductVariant).find({
@@ -1 +1 @@
1
- {"version":3,"file":"indexer.controller.js","sourceRoot":"","sources":["../../../src/indexing/indexer.controller.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AACA,2CAAmF;AACnF,uCAAyC;AACzC,uDAAoD;AACpD,wCAwBuB;AAEvB,qCAAqC;AAErC,4CAAqF;AAiBrF,qDAAiF;AAEjF,MAAM,kBAAkB,GAAG,IAAI,CAAC;AAChC,MAAM,4BAA4B,GAAG,IAAI,CAAC;AAE7B,QAAA,uBAAuB,GAAwC;IACxE,eAAe;IACf,aAAa;IACb,mBAAmB;IACnB,UAAU;IACV,yBAAyB;CAC5B,CAAC;AAEW,QAAA,uBAAuB,GAA+C;IAC/E,eAAe;IACf,aAAa;IACb,mBAAmB;IACnB,aAAa;IACb,aAAa;IACb,UAAU;IACV,yBAAyB;CAC5B,CAAC;AAcK,IAAM,8BAA8B,sCAApC,MAAM,8BAA8B;IAOvC,YACY,UAAmC,EACH,OAAuC,EACvE,sBAA8C,EAC9C,aAA4B,EAC5B,qBAA4C,EAC5C,mBAA+C,EAC/C,SAAoB;QANpB,eAAU,GAAV,UAAU,CAAyB;QACH,YAAO,GAAP,OAAO,CAAgC;QACvE,2BAAsB,GAAtB,sBAAsB,CAAwB;QAC9C,kBAAa,GAAb,aAAa,CAAe;QAC5B,0BAAqB,GAArB,qBAAqB,CAAuB;QAC5C,wBAAmB,GAAnB,mBAAmB,CAA4B;QAC/C,cAAS,GAAT,SAAS,CAAW;QAZxB,eAAU,GAAG,IAAI,iBAAU,CAAC,uBAAuB,EAAE,CAAC,CAAC,CAAC;IAa7D,CAAC;IAEJ,YAAY;QACR,IAAI,CAAC,MAAM,GAAG,IAAA,0BAAS,EAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACtC,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,mBAAmB,CAC5C,+BAAuB,EACvB,IAAI,CAAC,OAAO,CAAC,uBAAuB,CACvC,CAAC;QACF,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,mBAAmB,CAC5C,+BAAuB,EACvB,IAAI,CAAC,OAAO,CAAC,8BAA8B,CAC9C,CAAC;QACF,IAAI,CAAC,QAAQ,GAAG,IAAI,eAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IACjD,CAAC;IAED,eAAe;QACX,OAAO,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;IAC/B,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,aAAa,CAAC,EAAE,GAAG,EAAE,UAAU,EAAE,SAAS,EAA4B;QACxE,MAAM,GAAG,GAAG,4BAAqB,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;QAC1D,MAAM,IAAI,CAAC,sBAAsB,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC;QACpD,OAAO,IAAI,CAAC;IAChB,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,aAAa,CAAC,EAAE,GAAG,EAAE,UAAU,EAAE,SAAS,EAA4B;QACxE,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,uBAAuB,CACjD,qBAAc,CAAC,WAAW,CAAC,UAAU,CAAC,EACtC,SAAS,CACZ,CAAC;QACF,MAAM,IAAI,CAAC,qBAAqB,CAAC,UAAU,CAAC,CAAC;QAC7C,OAAO,IAAI,CAAC;IAChB,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,sBAAsB,CAAC,EACzB,GAAG,EAAE,UAAU,EACf,SAAS,EACT,SAAS,GACe;QACxB,MAAM,GAAG,GAAG,4BAAqB,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;QAC1D,MAAM,IAAI,CAAC,sBAAsB,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC;QACpD,OAAO,IAAI,CAAC;IAChB,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,wBAAwB,CAAC,EAC3B,GAAG,EAAE,UAAU,EACf,SAAS,EACT,SAAS,GACe;QACxB,MAAM,GAAG,GAAG,4BAAqB,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;QAC1D,MAAM,IAAI,CAAC,sBAAsB,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC;QACpD,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,KAAK,CAAC,sBAAsB,CAAC,EACzB,GAAG,EAAE,UAAU,EACf,gBAAgB,EAChB,SAAS,GACe;QACxB,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,yBAAyB,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC;QAC5E,MAAM,GAAG,GAAG,4BAAqB,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;QAC1D,MAAM,IAAI,CAAC,sBAAsB,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC;QACnD,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,KAAK,CAAC,wBAAwB,CAAC,EAC3B,GAAG,EAAE,UAAU,EACf,gBAAgB,EAChB,SAAS,GACe;QACxB,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,yBAAyB,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC;QAC5E,MAAM,GAAG,GAAG,4BAAqB,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;QAC1D,MAAM,IAAI,CAAC,sBAAsB,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC;QACnD,OAAO,IAAI,CAAC;IAChB,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,cAAc,CAAC,EAAE,GAAG,EAAE,UAAU,EAAE,UAAU,EAA4B;QAC1E,MAAM,GAAG,GAAG,4BAAqB,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;QAC1D,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE;YACnC,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,yBAAyB,CAAC,UAAU,CAAC,CAAC;YACpE,MAAM,IAAI,CAAC,sBAAsB,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC;YACnD,OAAO,IAAI,CAAC;QAChB,CAAC,CAAC,CAAC;IACP,CAAC;IAED,KAAK,CAAC,cAAc,CAAC,EAAE,GAAG,EAAE,UAAU,EAAE,UAAU,EAA4B;QAC1E,MAAM,GAAG,GAAG,4BAAqB,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;QAC1D,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,yBAAyB,CAAC,UAAU,CAAC,CAAC;QACpE,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE;YAChC,MAAM,IAAI,CAAC,sBAAsB,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC;SACvD;QACD,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,kBAAkB,CAAC,EACf,GAAG,EAAE,UAAU,EACf,GAAG,GACyB;QAC5B,MAAM,GAAG,GAAG,4BAAqB,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;QAC1D,OAAO,IAAA,sBAAe,EAAC,KAAK,EAAC,QAAQ,EAAC,EAAE;YACpC,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE;gBACnC,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;gBAC7B,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,yBAAyB,CAAC,GAAG,CAAC,CAAC;gBAC7D,IAAI,UAAU,CAAC,MAAM,EAAE;oBACnB,IAAI,qBAAqB,GAAG,CAAC,CAAC;oBAC9B,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE;wBAChC,MAAM,IAAI,CAAC,sBAAsB,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC;wBACpD,qBAAqB,EAAE,CAAC;wBACxB,QAAQ,CAAC,IAAI,CAAC;4BACV,KAAK,EAAE,UAAU,CAAC,MAAM;4BACxB,SAAS,EAAE,IAAI,CAAC,GAAG,CAAC,qBAAqB,EAAE,UAAU,CAAC,MAAM,CAAC;4BAC7D,QAAQ,EAAE,CAAC,IAAI,IAAI,EAAE,GAAG,SAAS;yBACpC,CAAC,CAAC;qBACN;iBACJ;gBACD,aAAM,CAAC,OAAO,CAAC,6BAA6B,EAAE,qBAAS,CAAC,CAAC;gBACzD,OAAO;oBACH,KAAK,EAAE,UAAU,CAAC,MAAM;oBACxB,SAAS,EAAE,UAAU,CAAC,MAAM;oBAC5B,QAAQ,EAAE,CAAC,IAAI,IAAI,EAAE,GAAG,SAAS;iBACpC,CAAC;YACN,CAAC,CAAC,CAAC;QACP,CAAC,CAAC,CAAC;IACP,CAAC;IAED,OAAO,CAAC,EAAE,GAAG,EAAE,UAAU,EAAsB;QAC3C,OAAO,IAAA,sBAAe,EAAC,KAAK,EAAC,QAAQ,EAAC,EAAE;YACpC,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE;gBACnC,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;gBAC7B,MAAM,GAAG,GAAG,4BAAqB,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;gBAE1D,MAAM,eAAe,GAAG,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,CAAC;gBAC7C,MAAM,gBAAgB,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,GAAG,8BAAkB,CAAC;gBACvE,MAAM,0BAA0B,GAAG,8BAAkB,GAAG,YAAY,eAAe,EAAE,CAAC;gBACtF,MAAM,uBAAuB,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,GAAG,0BAA0B,CAAC;gBACtF,IAAI;oBACA,MAAM,IAAA,8BAAa,EACf,IAAI,CAAC,MAAM,EACX,IAAI,CAAC,OAAO,CAAC,WAAW,EACxB,IAAI,CAAC,OAAO,CAAC,aAAa,EAC1B,IAAI,CAAC,OAAO,CAAC,sBAAsB,EACnC,IAAI,EACJ,YAAY,eAAe,EAAE,CAChC,CAAC;iBACL;gBAAC,OAAO,CAAM,EAAE;oBACb,aAAM,CAAC,KAAK,CAAC,6BAA6B,EAAE,qBAAS,CAAC,CAAC;oBACvD,aAAM,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,qBAAS,CAAC,CAAC;oBAC3C,MAAM,CAAC,CAAC;iBACX;gBAED,MAAM,eAAe,GAAG,MAAM,IAAI,CAAC,UAAU;qBACxC,aAAa,CAAC,cAAO,CAAC;qBACtB,kBAAkB,CAAC,SAAS,CAAC;qBAC7B,KAAK,CAAC,2BAA2B,CAAC;qBAClC,QAAQ,EAAE,CAAC;gBAEhB,aAAM,CAAC,OAAO,CAAC,gBAAgB,eAAe,WAAW,EAAE,qBAAS,CAAC,CAAC;gBAEtE,IAAI,UAAU,GAAG,EAAE,CAAC;gBACpB,IAAI,IAAI,GAAG,CAAC,CAAC;gBACb,IAAI,qBAAqB,GAAG,CAAC,CAAC;gBAC9B,GAAG;oBACC,MAAM,UAAU,GAA2B,EAAE,CAAC;oBAE9C,UAAU,GAAG,MAAM,IAAI,CAAC,UAAU;yBAC7B,aAAa,CAAC,cAAO,CAAC;yBACtB,kBAAkB,CAAC,SAAS,CAAC;yBAC7B,MAAM,CAAC,YAAY,CAAC;yBACpB,KAAK,CAAC,2BAA2B,CAAC;yBAClC,IAAI,CAAC,IAAI,CAAC;yBACV,IAAI,CAAC,kBAAkB,CAAC;yBACxB,OAAO,EAAE,CAAC;oBAEf,KAAK,MAAM,EAAE,EAAE,EAAE,SAAS,EAAE,IAAI,UAAU,EAAE;wBACxC,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,IAAI,CAAC,4BAA4B,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC;wBAC9E,qBAAqB,EAAE,CAAC;wBACxB,QAAQ,CAAC,IAAI,CAAC;4BACV,KAAK,EAAE,eAAe;4BACtB,SAAS,EAAE,IAAI,CAAC,GAAG,CAAC,qBAAqB,EAAE,eAAe,CAAC;4BAC3D,QAAQ,EAAE,CAAC,IAAI,IAAI,EAAE,GAAG,SAAS;yBACpC,CAAC,CAAC;qBACN;oBAED,aAAM,CAAC,OAAO,CAAC,gBAAgB,UAAU,CAAC,MAAM,yBAAyB,EAAE,qBAAS,CAAC,CAAC;oBAEtF,8FAA8F;oBAC9F,MAAM,IAAI,CAAC,6BAA6B,CACpC,4BAA4B,EAC5B,UAAU,EACV,0BAA0B,CAC7B,CAAC;oBAEF,IAAI,IAAI,kBAAkB,CAAC;oBAE3B,aAAM,CAAC,OAAO,CAAC,QAAQ,qBAAqB,MAAM,eAAe,WAAW,CAAC,CAAC;iBACjF,QAAQ,UAAU,CAAC,MAAM,IAAI,kBAAkB,EAAE;gBAElD,4CAA4C;gBAC5C,IAAI;oBACA,MAAM,wBAAwB,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC;wBACnE,IAAI,EAAE,uBAAuB;qBAChC,CAAC,CAAC;oBACH,IAAI,wBAAwB,EAAE;wBAC1B,MAAM,uBAAuB,GAAG,MAAM,IAAA,oCAAmB,EACrD,IAAI,CAAC,MAAM,EACX,uBAAuB,CAC1B,CAAC;wBACF,MAAM,yBAAyB,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC;4BACpE,IAAI,EAAE,gBAAgB;yBACzB,CAAC,CAAC;wBACH,MAAM,yBAAyB,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC;4BAC/D,KAAK,EAAE,gBAAgB;yBAC1B,CAAC,CAAC;wBAEH,MAAM,wBAAwB,GAAG,MAAM,IAAA,oCAAmB,EACtD,IAAI,CAAC,MAAM,EACX,gBAAgB,CACnB,CAAC;wBAEF,MAAM,OAAO,GAAG;4BACZ;gCACI,MAAM,EAAE;oCACJ,KAAK,EAAE,uBAAuB;oCAC9B,KAAK,EAAE,uBAAuB;iCACjC;6BACJ;4BACD;gCACI,GAAG,EAAE;oCACD,KAAK,EAAE,uBAAuB;oCAC9B,KAAK,EAAE,gBAAgB;iCAC1B;6BACJ;yBACJ,CAAC;wBAEF,IAAI,yBAAyB,CAAC,IAAI,EAAE;4BAChC,OAAO,CAAC,IAAI,CAAC;gCACT,MAAM,EAAE;oCACJ,KAAK,EAAE,wBAAwB;oCAC/B,KAAK,EAAE,gBAAgB;iCAC1B;6BACJ,CAAC,CAAC;yBACN;6BAAM,IAAI,yBAAyB,CAAC,IAAI,EAAE;4BACvC,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC;gCAC7B,KAAK,EAAE,CAAC,gBAAgB,CAAC;6BAC5B,CAAC,CAAC;yBACN;wBAED,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,aAAa,CAAC;4BACpC,IAAI,EAAE;gCACF,OAAO;6BACV;yBACJ,CAAC,CAAC;wBAEH,IAAI,yBAAyB,CAAC,IAAI,EAAE;4BAChC,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC;gCAC7B,KAAK,EAAE,CAAC,wBAAwB,CAAC;6BACpC,CAAC,CAAC;yBACN;qBACJ;iBACJ;gBAAC,OAAO,CAAM,EAAE;oBACb,aAAM,CAAC,KAAK,CAAC,0BAA0B,CAAC,CAAC;iBAC5C;wBAAS;oBACN,MAAM,wBAAwB,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC;wBACnE,IAAI,EAAE,uBAAuB;qBAChC,CAAC,CAAC;oBACH,IAAI,wBAAwB,CAAC,IAAI,EAAE;wBAC/B,MAAM,yBAAyB,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC;4BACjE,IAAI,EAAE,uBAAuB;yBAChC,CAAC,CAAC;wBACH,MAAM,uBAAuB,GAAG,MAAM,CAAC,IAAI,CAAC,yBAAyB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;wBAC/E,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC;4BAC7B,KAAK,EAAE,CAAC,uBAAuB,CAAC;yBACnC,CAAC,CAAC;qBACN;iBACJ;gBAED,aAAM,CAAC,OAAO,CAAC,uBAAuB,EAAE,qBAAS,CAAC,CAAC;gBAEnD,OAAO;oBACH,KAAK,EAAE,eAAe;oBACtB,SAAS,EAAE,eAAe;oBAC1B,QAAQ,EAAE,CAAC,IAAI,IAAI,EAAE,GAAG,SAAS;iBACpC,CAAC;YACN,CAAC,CAAC,CAAC;QACP,CAAC,CAAC,CAAC;IACP,CAAC;IAED,KAAK,CAAC,6BAA6B,CAC/B,SAAiB,EACjB,UAAkC,EAClC,KAAK,GAAG,8BAAkB;QAE1B,IAAI,CAAC,CAAC;QACN,IAAI,CAAC,CAAC;QACN,IAAI,kBAAkB,GAAG,CAAC,CAAC;QAC3B,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,UAAU,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,SAAS,EAAE;YACtD,MAAM,gBAAgB,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,CAAC;YAC5D,MAAM,IAAI,CAAC,qBAAqB,CAAC,gBAAgB,EAAE,KAAK,CAAC,CAAC;YAC1D,kBAAkB,IAAI,gBAAgB,CAAC,MAAM,CAAC;YAE9C,aAAM,CAAC,OAAO,CACV,8BAA8B,kBAAkB,IAAI,UAAU,CAAC,MAAM,EAAE,EACvE,qBAAS,CACZ,CAAC;SACL;IACL,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,IAA4B;QAC1C,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,6BAA6B,CAAC,8BAAkB,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;QACxF,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC;YAC9B,KAAK,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,GAAG,8BAAkB,CAAC;SACzD,CAAC,CAAC;QACH,OAAO,MAAM,CAAC;IAClB,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,IAA4B;QAC1C,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,mBAAmB,CAAC,8BAAkB,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;QAC9E,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC;YAC9B,KAAK,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,GAAG,8BAAkB,CAAC;SACzD,CAAC,CAAC;QACH,OAAO,MAAM,CAAC;IAClB,CAAC;IAEO,KAAK,CAAC,6BAA6B,CAAC,SAAiB,EAAE,KAAY;QACvE,MAAM,UAAU,GAAG,KAAK,CAAC,UAAU,IAAI,IAAI,CAAC;QAC5C,MAAM,MAAM,GAAG,EAAE,UAAU,EAAE,CAAC;QAC9B,OAAO,IAAI,CAAC,mBAAmB,CAC3B,SAAS,EACT,KAAK,EACL;YACI,MAAM,EAAE,0DAA0D;YAClE,MAAM;SACT,EACD;YACI,MAAM,EAAE,iEAAiE;YACzE,MAAM;SACT,CACJ,CAAC;IACN,CAAC;IAEO,KAAK,CAAC,mBAAmB,CAAC,SAAiB,EAAE,KAAY;QAC7D,OAAO,IAAI,CAAC,mBAAmB,CAC3B,SAAS,EACT,KAAK,EACL,EAAE,MAAM,EAAE,mCAAmC,EAAE,EAC/C,EAAE,MAAM,EAAE,0CAA0C,EAAE,CACzD,CAAC;IACN,CAAC;IAEO,KAAK,CAAC,mBAAmB,CAC7B,SAAiB,EACjB,KAAY,EACZ,mBAAqD,EACrD,mBAAqD;QAErD,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC;YAC9C,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,WAAW,GAAG,SAAS;YAC3C,IAAI,EAAE;gBACF,MAAM,EAAE,mBAAmB;gBAC3B,KAAK,EAAE;oBACH,IAAI,EAAE;wBACF,cAAc,EAAE,KAAK,CAAC,EAAE;qBAC3B;iBACJ;aACJ;SACJ,CAAC,CAAC;QACH,KAAK,MAAM,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,QAAQ,EAAE;YACzC,aAAM,CAAC,KAAK,CAAC,GAAG,OAAO,CAAC,KAAK,CAAC,IAAc,KAAK,OAAO,CAAC,KAAK,CAAC,MAAgB,EAAE,EAAE,qBAAS,CAAC,CAAC;SACjG;QACD,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC;YAC9C,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,WAAW,GAAG,SAAS;YAC3C,IAAI,EAAE;gBACF,MAAM,EAAE,mBAAmB;gBAC3B,KAAK,EAAE;oBACH,IAAI,EAAE;wBACF,qBAAqB,EAAE,KAAK,CAAC,EAAE;qBAClC;iBACJ;aACJ;SACJ,CAAC,CAAC;QACH,KAAK,MAAM,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,QAAQ,EAAE;YACzC,aAAM,CAAC,KAAK,CAAC,GAAG,OAAO,CAAC,KAAK,CAAC,IAAc,KAAK,OAAO,CAAC,KAAK,CAAC,MAAgB,EAAE,EAAE,qBAAS,CAAC,CAAC;SACjG;QACD,OAAO,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC,QAAQ,KAAK,CAAC,CAAC;IAC7E,CAAC;IAEO,KAAK,CAAC,sBAAsB,CAAC,GAA0B,EAAE,UAAgB;QAC7E,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,wBAAwB,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC;QACxE,MAAM,IAAI,CAAC,qBAAqB,CAAC,UAAU,CAAC,CAAC;IACjD,CAAC;IAEO,KAAK,CAAC,4BAA4B,CACtC,GAA0B,EAC1B,SAAa;QAEb,MAAM,UAAU,GAA2B,EAAE,CAAC;QAC9C,IAAI,OAA4B,CAAC;QACjC,IAAI;YACA,OAAO,GAAG,MAAM,IAAI,CAAC,UAAU;iBAC1B,aAAa,CAAC,cAAO,CAAC;iBACtB,OAAO,CAAC;gBACL,KAAK,EAAE,EAAE,EAAE,EAAE,SAAS,EAAE,SAAS,EAAE,IAAA,gBAAM,GAAE,EAAE;gBAC7C,SAAS,EAAE,IAAI,CAAC,gBAAgB;aACnC,CAAC;iBACD,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,aAAN,MAAM,cAAN,MAAM,GAAI,SAAS,CAAC,CAAC;SAC5C;QAAC,OAAO,CAAM,EAAE;YACb,aAAM,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,EAAE,qBAAS,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC;YAC5C,MAAM,CAAC,CAAC;SACX;QACD,IAAI,CAAC,OAAO,EAAE;YACV,OAAO,UAAU,CAAC;SACrB;QACD,MAAM,sBAAsB,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,qBAAc,CAAC,CAAC,IAAI,CAAC;YACpF,SAAS,EAAE,IAAI,CAAC,gBAAgB;YAChC,KAAK,EAAE;gBACH,SAAS;gBACT,SAAS,EAAE,IAAA,gBAAM,GAAE;aACtB;YACD,KAAK,EAAE;gBACH,EAAE,EAAE,KAAK;aACZ;SACJ,CAAC,CAAC;QACH,oEAAoE;QACpE,sBAAsB,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,OAAO,GAAG,OAAQ,CAAC,CAAC,CAAC;QACxE,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE;YAClB,sBAAsB,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,GAAG,KAAK,CAAC,CAAC,CAAC;SAC5D;QACD,aAAM,CAAC,KAAK,CAAC,qBAAqB,SAAS,GAAG,EAAE,qBAAS,CAAC,CAAC;QAC3D,MAAM,gBAAgB,GAAmB,EAAE,CAAC;QAC5C,gBAAgB,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC;QACxE,KAAK,MAAM,OAAO,IAAI,sBAAsB,EAAE;YAC1C,gBAAgB,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC;SAC3E;QACD,MAAM,sBAAsB,GAAG,IAAA,eAAM,EAAC,gBAAgB,CAAC,CAAC;QACxD,KAAK,MAAM,OAAO,IAAI,OAAO,CAAC,QAAQ,EAAE;YACpC,GAAG,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;YACxB,MAAM,iBAAiB,GAAG,sBAAsB,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CACxD,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,CACpD,CAAC;YACF,KAAK,MAAM,OAAO,IAAI,iBAAiB,EAAE;gBACrC,MAAM,IAAI,CAAC,sBAAsB,CAAC,uBAAuB,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;aAC3E;YACD,KAAK,MAAM,YAAY,IAAI,sBAAsB,EAAE;gBAC/C,IAAI,iBAAiB,CAAC,MAAM,EAAE;oBAC1B,KAAK,MAAM,OAAO,IAAI,iBAAiB,EAAE;wBACrC,UAAU,CAAC,IAAI,CACX;4BACI,KAAK,EAAE,8BAAkB;4BACzB,SAAS,EAAE;gCACP,MAAM,EAAE;oCACJ,GAAG,EAAE,gCAA8B,CAAC,KAAK,CACrC,OAAO,CAAC,EAAE,EACV,GAAG,CAAC,SAAS,EACb,YAAY,CACf;iCACJ;6BACJ;yBACJ,EACD;4BACI,KAAK,EAAE,8BAAkB;4BACzB,SAAS,EAAE;gCACP,GAAG,EAAE,MAAM,IAAI,CAAC,sBAAsB,CAClC,OAAO,EACP,iBAAiB,EACjB,GAAG,EACH,YAAY,CACf;gCACD,aAAa,EAAE,IAAI;6BACtB;yBACJ,CACJ,CAAC;qBACL;iBACJ;qBAAM;oBACH,UAAU,CAAC,IAAI,CACX;wBACI,KAAK,EAAE,8BAAkB;wBACzB,SAAS,EAAE;4BACP,MAAM,EAAE;gCACJ,GAAG,EAAE,gCAA8B,CAAC,KAAK,CACrC,CAAC,OAAO,CAAC,EAAE,EACX,GAAG,CAAC,SAAS,EACb,YAAY,CACf;6BACJ;yBACJ;qBACJ,EACD;wBACI,KAAK,EAAE,8BAAkB;wBACzB,SAAS,EAAE;4BACP,GAAG,EAAE,MAAM,IAAI,CAAC,+BAA+B,CAAC,OAAO,EAAE,GAAG,EAAE,YAAY,CAAC;4BAC3E,aAAa,EAAE,IAAI;yBACtB;qBACJ,CACJ,CAAC;iBACL;aACJ;SACJ;QAED,OAAO,UAAU,CAAC;IACtB,CAAC;IAEO,KAAK,CAAC,wBAAwB,CAClC,GAA0B,EAC1B,UAAgB;QAEhB,aAAM,CAAC,KAAK,CAAC,YAAY,UAAU,CAAC,MAAM,WAAW,EAAE,qBAAS,CAAC,CAAC;QAClE,MAAM,UAAU,GAA2B,EAAE,CAAC;QAE9C,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE;YAChC,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,IAAI,CAAC,uBAAuB,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC;YACzE,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,IAAI,CAAC,4BAA4B,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC;SACjF;QACD,OAAO,UAAU,CAAC;IACtB,CAAC;IAED;;;;;;;;;OASG;IACK,mBAAmB,CACvB,gBAA+C,EAC/C,iBAAgD;QAEhD,MAAM,eAAe,GAAG,IAAA,eAAM,EAAC,CAAC,GAAG,gBAAgB,EAAE,GAAG,iBAAiB,CAAC,CAAC,CAAC;QAC5E,KAAK,MAAM,QAAQ,IAAI,iBAAiB,EAAE;YACtC,IAAI,IAAI,GAAG,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YAC/B,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,cAAc,EAAE;gBAC5B,IAAI,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE;oBACjB,MAAM,IAAI,0BAAmB,CACzB;wBACI,mHAAmH;wBACnH,cAAc,QAAQ,GAAG;qBAC5B,CAAC,IAAI,CAAC,IAAI,CAAC,CACf,CAAC;iBACL;gBACD,IAAI,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;aAC3B;YACD,MAAM,UAAU,GAAa,EAAE,CAAC;YAChC,KAAK,MAAM,IAAI,IAAI,IAAI,EAAE;gBACrB,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBACtB,MAAM,UAAU,GAAG,UAAU,CAAC,IAAI,CAAC,GAAG,CAA2B,CAAC;gBAClE,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE;oBACvC,eAAe,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;iBACpC;aACJ;SACJ;QACD,OAAO,eAAe,CAAC;IAC3B,CAAC;IAEO,KAAK,CAAC,uBAAuB,CACjC,GAAmB,EACnB,SAAa;QAEb,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,GAAG,EAAE,4BAA4B,EAAE,GAAG,EAAE,CACxF,IAAI,CAAC,UAAU;aACV,aAAa,CAAC,cAAO,CAAC;aACtB,kBAAkB,CAAC,SAAS,CAAC;aAC7B,MAAM,CAAC,YAAY,CAAC;aACpB,OAAO,EAAE,CACjB,CAAC;QAEF,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,UAAU;aAChC,aAAa,CAAC,GAAG,EAAE,cAAO,CAAC;aAC3B,kBAAkB,CAAC,SAAS,CAAC;aAC7B,MAAM,CAAC;YACJ,YAAY;YACZ,mBAAmB;YACnB,kCAAkC;YAClC,yCAAyC;SAC5C,CAAC;aACD,QAAQ,CAAC,sBAAsB,EAAE,qBAAqB,CAAC;aACvD,QAAQ,CAAC,kBAAkB,EAAE,gBAAgB,CAAC;aAC9C,QAAQ,CAAC,6BAA6B,EAAE,4BAA4B,CAAC;aACrE,QAAQ,CAAC,kBAAkB,EAAE,SAAS,CAAC;aACvC,KAAK,CAAC,yBAAyB,EAAE,EAAE,SAAS,EAAE,CAAC;aAC/C,QAAQ,CAAC,yBAAyB,EAAE,EAAE,SAAS,EAAE,GAAG,CAAC,SAAS,EAAE,CAAC;aACjE,MAAM,EAAE,CAAC;QAEd,IAAI,CAAC,OAAO,EAAE;YACV,OAAO,EAAE,CAAC;SACb;QAED,aAAM,CAAC,KAAK,CAAC,2BAA2B,SAAS,GAAG,EAAE,qBAAS,CAAC,CAAC;QACjE,MAAM,UAAU,GAA2B,EAAE,CAAC;QAC9C,MAAM,gBAAgB,GAAmB,EAAE,CAAC;QAC5C,gBAAgB,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC;QACxE,KAAK,MAAM,OAAO,IAAI,OAAO,CAAC,QAAQ,EAAE;YACpC,gBAAgB,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC;SAC3E;QACD,MAAM,sBAAsB,GAAG,IAAA,eAAM,EAAC,gBAAgB,CAAC,CAAC;QAExD,KAAK,MAAM,EAAE,EAAE,EAAE,SAAS,EAAE,IAAI,QAAQ,EAAE;YACtC,KAAK,MAAM,YAAY,IAAI,sBAAsB,EAAE;gBAC/C,UAAU,CAAC,IAAI,CAAC;oBACZ,KAAK,EAAE,8BAAkB;oBACzB,SAAS,EAAE;wBACP,MAAM,EAAE;4BACJ,GAAG,EAAE,gCAA8B,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,EAAE,EAAE,SAAS,EAAE,YAAY,CAAC;yBAClF;qBACJ;iBACJ,CAAC,CAAC;aACN;SACJ;QACD,UAAU,CAAC,IAAI,CACX,GAAG,CAAC,MAAM,IAAI,CAAC,gCAAgC,CAC3C,OAAO,CAAC,QAAQ,EAChB,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EACvB,sBAAsB,CACzB,CAAC,CACL,CAAC;QACF,OAAO,UAAU,CAAC;IACtB,CAAC;IAEO,KAAK,CAAC,gCAAgC,CAC1C,QAA0B,EAC1B,UAAgB,EAChB,gBAAgC;QAEhC,aAAM,CAAC,KAAK,CAAC,YAAY,QAAQ,CAAC,MAAM,kBAAkB,EAAE,qBAAS,CAAC,CAAC;QACvE,MAAM,UAAU,GAA2B,EAAE,CAAC;QAC9C,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE;YAC5B,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE;gBAChC,KAAK,MAAM,YAAY,IAAI,gBAAgB,EAAE;oBACzC,UAAU,CAAC,IAAI,CAAC;wBACZ,KAAK,EAAE,8BAAkB;wBACzB,SAAS,EAAE;4BACP,MAAM,EAAE;gCACJ,GAAG,EAAE,gCAA8B,CAAC,KAAK,CACrC,OAAO,CAAC,EAAE,EACV,SAAS,EACT,YAAY,CACf;6BACJ;yBACJ;qBACJ,CAAC,CAAC;iBACN;aACJ;SACJ;QACD,OAAO,UAAU,CAAC;IACtB,CAAC;IAEO,KAAK,CAAC,yBAAyB,CAAC,UAAgB;QACpD,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,qBAAc,CAAC,CAAC,IAAI,CAAC;YACtE,KAAK,EAAE,EAAE,EAAE,EAAE,IAAA,YAAE,EAAC,UAAU,CAAC,EAAE;YAC7B,SAAS,EAAE,CAAC,SAAS,CAAC;YACtB,kBAAkB,EAAE,KAAK;SAC5B,CAAC,CAAC;QACH,OAAO,IAAA,eAAM,EAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC;IACnD,CAAC;IAEO,KAAK,CAAC,qBAAqB,CAAC,UAAkC,EAAE,SAAS,GAAG,8BAAkB;QAClG,MAAM,iBAAiB,GAA8D,EAAE,CAAC;QAExF,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE;YAChC,iBAAiB,CAAC,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;SAC/C;QAED,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,wBAAwB,CAAC,SAAS,EAAE,iBAAiB,CAAC,CAAC,CAAC,CAAC;IACtF,CAAC;IAEO,KAAK,CAAC,wBAAwB,CAClC,SAAiB,EACjB,UAAwF;;QAExF,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE;YACzB,OAAO;SACV;QACD,IAAI;YACA,MAAM,aAAa,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,GAAG,SAAS,CAAC;YAC3D,MAAM,EAAE,IAAI,EAAE,GAA+B,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;gBAChE,OAAO,EAAE,IAAI;gBACb,KAAK,EAAE,aAAa;gBACpB,IAAI,EAAE,UAAU;aACnB,CAAC,CAAC;YAEH,IAAI,IAAI,CAAC,MAAM,EAAE;gBACb,aAAM,CAAC,KAAK,CACR,mDAAmD,aAAa,8CAA8C,EAC9G,qBAAS,CACZ,CAAC;gBACF,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;oBACtB,IAAI,IAAI,CAAC,KAAK,EAAE;wBACZ,aAAM,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,qBAAS,CAAC,CAAC;qBACtE;oBACD,IAAI,IAAI,CAAC,MAAM,EAAE;wBACb,aAAM,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,qBAAS,CAAC,CAAC;qBACvE;oBACD,IAAI,IAAI,CAAC,MAAM,EAAE;wBACb,aAAM,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,qBAAS,CAAC,CAAC;qBACvE;gBACL,CAAC,CAAC,CAAC;aACN;iBAAM;gBACH,aAAM,CAAC,KAAK,CACR,YAAY,IAAI,CAAC,KAAK,CAAC,MAAM,8BAA8B,aAAa,GAAG,EAC3E,qBAAS,CACZ,CAAC;aACL;YACD,OAAO,IAAI,CAAC;SACf;QAAC,OAAO,CAAM,EAAE;YACb,aAAM,CAAC,KAAK,CAAC,iDAAiD,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,EAAE,qBAAS,CAAC,CAAC;YAC/F,aAAM,CAAC,KAAK,CAAC,iBAAiB,GAAG,IAAI,CAAC,SAAS,CAAC,MAAA,CAAC,CAAC,IAAI,0CAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,qBAAS,CAAC,CAAC;SACvF;IACL,CAAC;IAEO,KAAK,CAAC,sBAAsB,CAChC,CAAiB,EACjB,QAA0B,EAC1B,GAAmB,EACnB,YAA0B;QAE1B,IAAI;YACA,MAAM,YAAY,GAAG,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC;YAC7C,MAAM,YAAY,GAAG,CAAC,CAAC,aAAa,CAAC;YACrC,MAAM,kBAAkB,GAAG,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;YACxE,MAAM,kBAAkB,GAAG,IAAI,CAAC,cAAc,CAAC,CAAC,EAAE,YAAY,CAAC,CAAC;YAChE,MAAM,sBAAsB,GAAG,CAAC,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,EAAE,YAAY,CAAC,CAAC,CAAC;YAE5F,MAAM,6BAA6B,GAAG,QAAQ,CAAC,MAAM,CACjD,CAAC,YAAY,EAAE,OAAO,EAAE,EAAE,CAAC;gBACvB,GAAG,YAAY;gBACf,GAAG,OAAO,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,EAAE,YAAY,CAAC,CAAC;aACxE,EACD,EAAoC,CACvC,CAAC;YACF,MAAM,MAAM,GAAG,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;YACtD,MAAM,aAAa,GAAG,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;YAEpE,MAAM,IAAI,GAAqB;gBAC3B,SAAS,EAAE,GAAG,CAAC,SAAS;gBACxB,YAAY;gBACZ,gBAAgB,EAAE,CAAC,CAAC,EAAE;gBACtB,GAAG,EAAE,CAAC,CAAC,GAAG;gBACV,IAAI,EAAE,kBAAkB,CAAC,IAAI;gBAC7B,SAAS,EAAE,CAAC,CAAC,OAAO,CAAC,EAAE;gBACvB,WAAW,EAAE,kBAAkB,CAAC,IAAI;gBACpC,cAAc,EAAE,YAAY,CAAC,CAAC,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS;gBAC1D,cAAc,EAAE,YAAY,CAAC,CAAC,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;gBACxD,wBAAwB,EAAE,YAAY,CAAC,CAAC,CAAC,YAAY,CAAC,UAAU,IAAI,SAAS,CAAC,CAAC,CAAC,SAAS;gBACzF,kBAAkB,EAAE,kBAAkB,CAAC,IAAI;gBAC3C,qBAAqB,EAAE,YAAY,CAAC,CAAC,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS;gBACjE,qBAAqB,EAAE,YAAY,CAAC,CAAC,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;gBAC/D,+BAA+B,EAAE,YAAY;oBACzC,CAAC,CAAC,YAAY,CAAC,UAAU,IAAI,SAAS;oBACtC,CAAC,CAAC,SAAS;gBACf,KAAK,EAAE,CAAC,CAAC,KAAK;gBACd,YAAY,EAAE,CAAC,CAAC,YAAY;gBAC5B,YAAY,EAAE,CAAC,CAAC,YAAY;gBAC5B,WAAW,EAAE,kBAAkB,CAAC,WAAW;gBAC3C,QAAQ,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC;gBAC/B,UAAU,EAAE,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACrC,aAAa,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC;gBACzC,aAAa,EAAE,CAAC,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,QAAQ,EAAE,CAAC;gBACtD,eAAe,EAAE,sBAAsB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;gBACxD,OAAO,EAAE,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,OAAO,CAAC,OAAO;gBACvC,cAAc,EAAE,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,OAAO;gBAC9E,eAAe,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC;gBACpC,eAAe,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC;gBACpC,sBAAsB,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,aAAa,CAAC;gBAClD,sBAAsB,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,aAAa,CAAC;gBAClD,eAAe,EAAE,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC;gBAC3C,oBAAoB,EAAE,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC;gBACrD,oBAAoB,EAAE,IAAA,eAAM,EACxB,QAAQ,CAAC,MAAM,CACX,CAAC,GAAG,EAAE,OAAO,EAAE,EAAE,CAAC,CAAC,GAAG,GAAG,EAAE,GAAG,OAAO,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EACjE,EAAU,CACb,CACJ;gBACD,sBAAsB,EAAE,IAAA,eAAM,EAAC,6BAA6B,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;gBAC9E,iBAAiB,EAAE,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACpD,OAAO,EAAE,CAAC,GAAG,CAAC,MAAM,IAAI,CAAC,qBAAqB,CAAC,qBAAqB,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;gBAC7E,cAAc,EAAE,MAAM,IAAI,CAAC,sBAAsB,CAAC,GAAG,EAAE,QAAQ,CAAC;aACnE,CAAC;YACF,MAAM,qBAAqB,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,4BAA4B,CAAC,CAAC;YACxF,KAAK,MAAM,CAAC,IAAI,EAAE,GAAG,CAAC,IAAI,qBAAqB,EAAE;gBAC7C,IAAI,CAAC,WAAW,IAAI,EAAE,CAAC,GAAG,MAAM,GAAG,CAAC,OAAO,CAAC,CAAC,EAAE,YAAY,EAAE,IAAI,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;aACpF;YAED,MAAM,qBAAqB,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,qBAAqB,CAAC,CAAC;YACjF,KAAK,MAAM,CAAC,IAAI,EAAE,GAAG,CAAC,IAAI,qBAAqB,EAAE;gBAC7C,IAAI,CAAC,WAAW,IAAI,EAAE,CAAC,GAAG,MAAM,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,IAAI,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;aACtG;YACD,OAAO,IAAI,CAAC;SACf;QAAC,OAAO,GAAQ,EAAE;YACf,aAAM,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC;YAC7B,MAAM,KAAK,CAAC,yBAAyB,CAAC,CAAC;SAC1C;IACL,CAAC;IAEO,KAAK,CAAC,sBAAsB,CAAC,GAAmB,EAAE,QAA0B;QAChF,OAAO,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAC/B,GAAG,EACH,kCAAkC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,EACrE,KAAK,IAAI,EAAE;YACP,MAAM,WAAW,GAAG,MAAM,OAAO,CAAC,GAAG,CACjC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,IAAI,CAAC,qBAAqB,CAAC,qBAAqB,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC,CAC1F,CAAC;YACF,OAAO,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC,GAAG,UAAU,CAAC,CAAC;QAC1D,CAAC,CACJ,CAAC;IACN,CAAC;IAED;;;OAGG;IACK,KAAK,CAAC,+BAA+B,CACzC,OAAgB,EAChB,GAAmB,EACnB,YAA0B;;QAE1B,MAAM,kBAAkB,GAAG,IAAI,CAAC,cAAc,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;QACtE,MAAM,YAAY,GAAG,OAAO,CAAC,aAAa,CAAC;QAE3C,MAAM,IAAI,GAAqB;YAC3B,SAAS,EAAE,GAAG,CAAC,SAAS;YACxB,YAAY;YACZ,gBAAgB,EAAE,CAAC;YACnB,GAAG,EAAE,EAAE;YACP,IAAI,EAAE,kBAAkB,CAAC,IAAI;YAC7B,SAAS,EAAE,OAAO,CAAC,EAAE;YACrB,WAAW,EAAE,kBAAkB,CAAC,IAAI;YACpC,cAAc,EAAE,YAAY,CAAC,CAAC,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS;YAC1D,cAAc,EAAE,YAAY,CAAC,CAAC,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;YACxD,wBAAwB,EAAE,YAAY,CAAC,CAAC,CAAC,YAAY,CAAC,UAAU,IAAI,SAAS,CAAC,CAAC,CAAC,SAAS;YACzF,kBAAkB,EAAE,kBAAkB,CAAC,IAAI;YAC3C,qBAAqB,EAAE,SAAS;YAChC,qBAAqB,EAAE,EAAE;YACzB,+BAA+B,EAAE,SAAS;YAC1C,KAAK,EAAE,CAAC;YACR,YAAY,EAAE,CAAC;YACf,YAAY,EAAE,GAAG,CAAC,YAAY;YAC9B,WAAW,EAAE,kBAAkB,CAAC,WAAW;YAC3C,QAAQ,EAAE,MAAA,MAAA,OAAO,CAAC,WAAW,0CAAE,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,QAAQ,EAAE,CAAC,mCAAI,EAAE;YACtE,UAAU,EAAE,CAAC,GAAG,CAAC,SAAS,CAAC;YAC3B,aAAa,EAAE,MAAA,MAAA,OAAO,CAAC,WAAW,0CAAE,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,QAAQ,EAAE,CAAC,mCAAI,EAAE;YACrE,aAAa,EAAE,EAAE;YACjB,eAAe,EAAE,EAAE;YACnB,OAAO,EAAE,KAAK;YACd,cAAc,EAAE,KAAK;YACrB,eAAe,EAAE,CAAC;YAClB,eAAe,EAAE,CAAC;YAClB,sBAAsB,EAAE,CAAC;YACzB,sBAAsB,EAAE,CAAC;YACzB,eAAe,EAAE,MAAA,MAAA,OAAO,CAAC,WAAW,0CAAE,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,QAAQ,EAAE,CAAC,mCAAI,EAAE;YAC7E,oBAAoB,EAAE,MAAA,MAAA,OAAO,CAAC,WAAW,0CAAE,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,QAAQ,EAAE,CAAC,mCAAI,EAAE;YAC5E,oBAAoB,EAAE,EAAE;YACxB,sBAAsB,EAAE,EAAE;YAC1B,iBAAiB,EAAE,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAClD,OAAO,EAAE,KAAK;YACd,cAAc,EAAE,KAAK;SACxB,CAAC;QACF,MAAM,qBAAqB,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,qBAAqB,CAAC,CAAC;QACjF,KAAK,MAAM,CAAC,IAAI,EAAE,GAAG,CAAC,IAAI,qBAAqB,EAAE;YAC7C,IAAI,CAAC,WAAW,IAAI,EAAE,CAAC,GAAG,MAAM,GAAG,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,EAAE,YAAY,EAAE,IAAI,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;SAC9F;QACD,OAAO,IAAI,CAAC;IAChB,CAAC;IAEO,cAAc,CAClB,YAAe,EACf,YAA0B;QAE1B,OAAO,CAAC,YAAY,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,YAAY,KAAK,YAAY,CAAC;YACxE,YAAY,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,YAAY,KAAK,IAAI,CAAC,aAAa,CAAC,mBAAmB,CAAC;YAC9F,YAAY,CAAC,YAAY,CAAC,CAAC,CAAC,CAA8B,CAAC;IACnE,CAAC;IAEO,WAAW,CAAC,QAA0B;QAC1C,MAAM,QAAQ,GAAG,CAAC,EAAc,EAAE,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,QAAQ,EAAE,CAAC;QAC5D,MAAM,eAAe,GAAG,QAAQ,CAAC,MAAM,CACnC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,GAAG,EAAE,GAAG,CAAC,CAAC,WAAW,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,EACpD,EAAc,CACjB,CAAC;QACF,MAAM,eAAe,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QACtE,OAAO,IAAA,eAAM,EAAC,CAAC,GAAG,eAAe,EAAE,GAAG,eAAe,CAAC,CAAC,CAAC;IAC5D,CAAC;IAEO,gBAAgB,CAAC,QAA0B;QAC/C,MAAM,aAAa,GAAG,CAAC,EAAc,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,QAAQ,EAAE,CAAC;QAC3D,MAAM,oBAAoB,GAAG,QAAQ,CAAC,MAAM,CACxC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,GAAG,EAAE,GAAG,CAAC,CAAC,WAAW,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC,EACzD,EAAc,CACjB,CAAC;QACF,MAAM,oBAAoB,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;QAChF,OAAO,IAAA,eAAM,EAAC,CAAC,GAAG,oBAAoB,EAAE,GAAG,oBAAoB,CAAC,CAAC,CAAC;IACtE,CAAC;IAEO,MAAM,CAAC,KAAK,CAAC,QAAY,EAAE,SAAa,EAAE,YAA0B;QACxE,OAAO,GAAG,SAAS,CAAC,QAAQ,EAAE,IAAI,QAAQ,CAAC,QAAQ,EAAE,IAAI,YAAY,EAAE,CAAC;IAC5E,CAAC;CACJ,CAAA;AA95BY,8BAA8B;IAD1C,IAAA,mBAAU,GAAE;IAUJ,WAAA,IAAA,eAAM,EAAC,kCAAsB,CAAC,CAAA;qCADX,8BAAuB,UAEX,6BAAsB;QAC/B,oBAAa;QACL,4BAAqB;QACvB,iCAA0B;QACpC,gBAAS;GAdvB,8BAA8B,CA85B1C;AA95BY,wEAA8B"}
1
+ {"version":3,"file":"indexer.controller.js","sourceRoot":"","sources":["../../../src/indexing/indexer.controller.ts"],"names":[],"mappings":"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"}
@@ -139,12 +139,22 @@ export interface ElasticsearchOptions {
139
139
  };
140
140
  /**
141
141
  * @description
142
- * Batch size for bulk operations (e.g. when rebuilding the indices).
142
+ * Products limit chunk size for each loop iteration when indexing products.
143
143
  *
144
- * @default
145
- * 2000
144
+ * @default 2500
145
+ * @since 2.1.7
146
+ */
147
+ reindexProductsChunkSize?: number;
148
+ /**
149
+ * @description
150
+ * Index operations are performed in bulk, with each bulk operation containing a number of individual
151
+ * index operations. This option sets the maximum number of operations in the memory buffer before a
152
+ * bulk operation is executed.
153
+ *
154
+ * @default 3000
155
+ * @since 2.1.7
146
156
  */
147
- batchSize?: number;
157
+ reindexBulkOperationSizeLimit?: number;
148
158
  /**
149
159
  * @description
150
160
  * Configuration of the internal Elasticsearch query.
@@ -24,7 +24,8 @@ exports.defaultOptions = {
24
24
  indexPrefix: 'vendure-',
25
25
  indexSettings: {},
26
26
  indexMappingProperties: {},
27
- batchSize: 2000,
27
+ reindexProductsChunkSize: 2500,
28
+ reindexBulkOperationSizeLimit: 3000,
28
29
  searchConfig: {
29
30
  facetValueMaxSize: 50,
30
31
  collectionMaxSize: 50,
@@ -1 +1 @@
1
- {"version":3,"file":"options.js","sourceRoot":"","sources":["../../src/options.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAWA,0DAAkC;AAsrBrB,QAAA,cAAc,GAAgC;IACvD,IAAI,EAAE,kBAAkB;IACxB,IAAI,EAAE,IAAI;IACV,kBAAkB,EAAE,EAAE;IACtB,yBAAyB,EAAE,IAAI;IAC/B,WAAW,EAAE,UAAU;IACvB,aAAa,EAAE,EAAE;IACjB,sBAAsB,EAAE,EAAE;IAC1B,SAAS,EAAE,IAAI;IACf,YAAY,EAAE;QACV,iBAAiB,EAAE,EAAE;QACrB,iBAAiB,EAAE,EAAE;QACrB,iBAAiB,EAAE,KAAK;QACxB,cAAc,EAAE,aAAa;QAC7B,WAAW,EAAE;YACT,WAAW,EAAE,CAAC;YACd,kBAAkB,EAAE,CAAC;YACrB,WAAW,EAAE,CAAC;YACd,GAAG,EAAE,CAAC;SACT;QACD,wBAAwB,EAAE,IAAI;QAC9B,QAAQ,EAAE,KAAK,CAAC,EAAE,CAAC,KAAK;QACxB,OAAO,EAAE,IAAI,CAAC,EAAE,CAAC,IAAI;QACrB,YAAY,EAAE,EAAE;KACnB;IACD,qBAAqB,EAAE,EAAE;IACzB,4BAA4B,EAAE,EAAE;IAChC,aAAa,EAAE,KAAK;IACpB,uBAAuB,EAAE,EAAE;IAC3B,8BAA8B,EAAE,EAAE;IAClC,qBAAqB,EAAE,EAAE;IACzB,oBAAoB,EAAE,EAAE;CAC3B,CAAC;AAEF,SAAgB,iBAAiB,CAAC,WAAiC;IAC/D,MAAM,EAAE,aAAa,KAAuB,WAAW,EAA7B,aAAa,UAAK,WAAW,EAAjD,iBAAmC,CAAc,CAAC;IACxD,MAAM,MAAM,GAAG,IAAA,mBAAS,EAAC,sBAAc,EAAE,aAAa,CAAgC,CAAC;IACvF,uCAAY,MAAM,KAAE,aAAa,IAAG;AACxC,CAAC;AAJD,8CAIC"}
1
+ {"version":3,"file":"options.js","sourceRoot":"","sources":["../../src/options.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAWA,0DAAkC;AA+rBrB,QAAA,cAAc,GAAgC;IACvD,IAAI,EAAE,kBAAkB;IACxB,IAAI,EAAE,IAAI;IACV,kBAAkB,EAAE,EAAE;IACtB,yBAAyB,EAAE,IAAI;IAC/B,WAAW,EAAE,UAAU;IACvB,aAAa,EAAE,EAAE;IACjB,sBAAsB,EAAE,EAAE;IAC1B,wBAAwB,EAAE,IAAI;IAC9B,6BAA6B,EAAE,IAAI;IACnC,YAAY,EAAE;QACV,iBAAiB,EAAE,EAAE;QACrB,iBAAiB,EAAE,EAAE;QACrB,iBAAiB,EAAE,KAAK;QACxB,cAAc,EAAE,aAAa;QAC7B,WAAW,EAAE;YACT,WAAW,EAAE,CAAC;YACd,kBAAkB,EAAE,CAAC;YACrB,WAAW,EAAE,CAAC;YACd,GAAG,EAAE,CAAC;SACT;QACD,wBAAwB,EAAE,IAAI;QAC9B,QAAQ,EAAE,KAAK,CAAC,EAAE,CAAC,KAAK;QACxB,OAAO,EAAE,IAAI,CAAC,EAAE,CAAC,IAAI;QACrB,YAAY,EAAE,EAAE;KACnB;IACD,qBAAqB,EAAE,EAAE;IACzB,4BAA4B,EAAE,EAAE;IAChC,aAAa,EAAE,KAAK;IACpB,uBAAuB,EAAE,EAAE;IAC3B,8BAA8B,EAAE,EAAE;IAClC,qBAAqB,EAAE,EAAE;IACzB,oBAAoB,EAAE,EAAE;CAC3B,CAAC;AAEF,SAAgB,iBAAiB,CAAC,WAAiC;IAC/D,MAAM,EAAE,aAAa,KAAuB,WAAW,EAA7B,aAAa,UAAK,WAAW,EAAjD,iBAAmC,CAAc,CAAC;IACxD,MAAM,MAAM,GAAG,IAAA,mBAAS,EAAC,sBAAc,EAAE,aAAa,CAAgC,CAAC;IACvF,uCAAY,MAAM,KAAE,aAAa,IAAG;AACxC,CAAC;AAJD,8CAIC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@vendure/elasticsearch-plugin",
3
- "version": "2.2.0-next.1",
3
+ "version": "2.2.0-next.2",
4
4
  "license": "MIT",
5
5
  "main": "lib/index.js",
6
6
  "types": "lib/index.d.ts",
@@ -26,10 +26,10 @@
26
26
  "fast-deep-equal": "^3.1.3"
27
27
  },
28
28
  "devDependencies": {
29
- "@vendure/common": "2.2.0-next.1",
30
- "@vendure/core": "2.2.0-next.1",
29
+ "@vendure/common": "2.2.0-next.2",
30
+ "@vendure/core": "2.2.0-next.2",
31
31
  "rimraf": "^3.0.2",
32
32
  "typescript": "4.9.5"
33
33
  },
34
- "gitHead": "558d9fc1be780beed364221e83421bfb2942aa66"
34
+ "gitHead": "4c145666b147a13b38e3d19422727743d0a8218e"
35
35
  }