@mate-academy/llm-gateway 8.6.0 → 8.8.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (64) hide show
  1. package/README.md +40 -39
  2. package/dist/client/LLMClientEngine.d.ts +1 -0
  3. package/dist/client/LLMClientEngine.js +5 -4
  4. package/dist/client/LLMClientEngine.js.map +1 -1
  5. package/dist/client/agentRunner.d.ts +1 -0
  6. package/dist/client/agentRunner.js +30 -29
  7. package/dist/client/agentRunner.js.map +1 -1
  8. package/dist/client/codegen/fetchPromptRecords.js +0 -5
  9. package/dist/client/codegen/fetchPromptRecords.js.map +1 -1
  10. package/dist/client/codegen/index.d.ts +0 -1
  11. package/dist/client/codegen/index.js +0 -1
  12. package/dist/client/codegen/index.js.map +1 -1
  13. package/dist/client/codegen/renderSnapshot.constants.d.ts +0 -5
  14. package/dist/client/codegen/renderSnapshot.constants.js +1 -6
  15. package/dist/client/codegen/renderSnapshot.constants.js.map +1 -1
  16. package/dist/client/codegen/renderSnapshot.d.ts +4 -8
  17. package/dist/client/codegen/renderSnapshot.js +6 -81
  18. package/dist/client/codegen/renderSnapshot.js.map +1 -1
  19. package/dist/client/codegen/renderSnapshot.typedefs.d.ts +0 -1
  20. package/dist/client/createLLMClient.d.ts +5 -5
  21. package/dist/client/createLLMClient.js +4 -4
  22. package/dist/client/defineLLMPrompts.d.ts +6 -9
  23. package/dist/client/defineLLMPrompts.js.map +1 -1
  24. package/dist/client/llmClient.typedefs.d.ts +15 -14
  25. package/dist/client/promptRegistry.runtime.js +0 -6
  26. package/dist/client/promptRegistry.runtime.js.map +1 -1
  27. package/dist/client/promptSnapshot.typedefs.d.ts +3 -5
  28. package/dist/client/validationGate.d.ts +4 -8
  29. package/dist/client/validationGate.js +3 -25
  30. package/dist/client/validationGate.js.map +1 -1
  31. package/dist/providers/GoogleGenerativeAI/services/GoogleGenerativeAIAssistance.service.d.ts +14 -0
  32. package/dist/providers/GoogleGenerativeAI/services/GoogleGenerativeAIAssistance.service.js +113 -56
  33. package/dist/providers/GoogleGenerativeAI/services/GoogleGenerativeAIAssistance.service.js.map +1 -1
  34. package/dist/providers/LLMAPI/services/LLMAPIAssistance.service.d.ts +6 -0
  35. package/dist/providers/LLMAPI/services/LLMAPIAssistance.service.js +45 -33
  36. package/dist/providers/LLMAPI/services/LLMAPIAssistance.service.js.map +1 -1
  37. package/dist/providers/OpenAI/OpenAI.typedefs.d.ts +10 -1
  38. package/dist/providers/OpenAI/OpenAI.typedefs.js +1 -0
  39. package/dist/providers/OpenAI/OpenAI.typedefs.js.map +1 -1
  40. package/dist/providers/OpenAI/services/OpenAIAssistance.service.d.ts +9 -0
  41. package/dist/providers/OpenAI/services/OpenAIAssistance.service.js +94 -47
  42. package/dist/providers/OpenAI/services/OpenAIAssistance.service.js.map +1 -1
  43. package/dist/services/LLMBaseService.abstract.d.ts +33 -0
  44. package/dist/services/LLMBaseService.abstract.js +89 -15
  45. package/dist/services/LLMBaseService.abstract.js.map +1 -1
  46. package/dist/services/agentRounds/LLMAgentRounds.d.ts +32 -0
  47. package/dist/services/agentRounds/LLMAgentRounds.js +77 -0
  48. package/dist/services/agentRounds/LLMAgentRounds.js.map +1 -0
  49. package/dist/services/agentRounds/agentRounds.typedefs.d.ts +48 -0
  50. package/dist/services/agentRounds/agentRounds.typedefs.js +3 -0
  51. package/dist/services/agentRounds/agentRounds.typedefs.js.map +1 -0
  52. package/dist/services/agentRounds/index.d.ts +2 -0
  53. package/dist/services/agentRounds/index.js +19 -0
  54. package/dist/services/agentRounds/index.js.map +1 -0
  55. package/dist/services/index.d.ts +1 -0
  56. package/dist/services/index.js +1 -0
  57. package/dist/services/index.js.map +1 -1
  58. package/dist/utilities/llmTracing/llmTracing.typedefs.d.ts +1 -0
  59. package/dist/utilities/llmTracing/noopLLMTracing.js +3 -0
  60. package/dist/utilities/llmTracing/noopLLMTracing.js.map +1 -1
  61. package/package.json +1 -1
  62. package/dist/client/codegen/extractVariables.d.ts +0 -7
  63. package/dist/client/codegen/extractVariables.js +0 -21
  64. package/dist/client/codegen/extractVariables.js.map +0 -1
@@ -273,6 +273,12 @@ class GoogleGenerativeAIAssistanceService extends services_1.LLMAssistanceServic
273
273
  const writeMetrics = this.reporter?.initWriter(reporterContext);
274
274
  const method = this.getMethodName(this.assistInChatText);
275
275
  const generationStartedAt = Date.now();
276
+ const rounds = this.openAgentRounds({
277
+ method,
278
+ model,
279
+ traceContext,
280
+ modelParameters: model.config,
281
+ });
276
282
  try {
277
283
  const { chatSession, messageParts, sendMessageConfig, } = await this.prepareChatMessage({
278
284
  chatId: options.chatId,
@@ -281,13 +287,22 @@ class GoogleGenerativeAIAssistanceService extends services_1.LLMAssistanceServic
281
287
  tools: options.tools,
282
288
  abortSignal,
283
289
  });
284
- const chatResponse = await chatSession.sendMessage({
285
- message: messageParts,
286
- config: sendMessageConfig,
290
+ const chatResponse = await rounds.run({
291
+ input: this.buildRoundConversation({
292
+ chatSession,
293
+ chatId: options.chatId,
294
+ outgoingParts: messageParts,
295
+ }),
296
+ call: () => chatSession.sendMessage({
297
+ message: messageParts,
298
+ config: sendMessageConfig,
299
+ }),
300
+ describeOutcome: this.buildRoundOutcome,
287
301
  });
288
302
  abortSignal?.throwIfAborted();
289
303
  const toolLoopResult = await this.executeGoogleToolLoop({
290
304
  chatSession,
305
+ chatId: options.chatId,
291
306
  response: chatResponse,
292
307
  tools: options.tools ?? [],
293
308
  maxIterations: options.maxToolIterations
@@ -295,28 +310,16 @@ class GoogleGenerativeAIAssistanceService extends services_1.LLMAssistanceServic
295
310
  abortSignal,
296
311
  config: sendMessageConfig,
297
312
  multimodalToolResults: model.capabilities?.multimodalToolResults === true,
313
+ rounds,
298
314
  onAssistantNarration: options.onAssistantNarration,
299
315
  });
300
316
  const responseText = toolLoopResult.response.text ?? '';
301
317
  const { totalUsage } = toolLoopResult;
302
- const regularInputTokens = totalUsage.promptTokens - totalUsage.cachedTokens;
303
318
  await this.writeSuccessMetrics({
304
319
  method,
305
320
  model,
306
- usage: {
307
- inputTextTokens: regularInputTokens,
308
- inputCachedTextTokens: totalUsage.cachedTokens,
309
- outputTextTokens: totalUsage.candidatesTokens,
310
- },
321
+ usage: this.buildUsageMetrics(totalUsage),
311
322
  writeMetrics,
312
- generationTrace: this.buildGenerationTrace({
313
- method,
314
- traceContext,
315
- input: options.message,
316
- output: responseText,
317
- modelParameters: model.config,
318
- startedAt: generationStartedAt,
319
- }),
320
323
  });
321
324
  return {
322
325
  text: responseText,
@@ -337,7 +340,8 @@ class GoogleGenerativeAIAssistanceService extends services_1.LLMAssistanceServic
337
340
  isAborted: abortSignal?.aborted,
338
341
  writeMetrics,
339
342
  error,
340
- generationTrace: this.buildGenerationTrace({
343
+ generationTrace: this.buildUnstartedRunTrace({
344
+ rounds,
341
345
  method,
342
346
  traceContext,
343
347
  input: options.message,
@@ -360,6 +364,12 @@ class GoogleGenerativeAIAssistanceService extends services_1.LLMAssistanceServic
360
364
  const writeMetrics = this.reporter?.initWriter(reporterContext);
361
365
  const method = this.getMethodName(this.assistInChatStructured);
362
366
  const generationStartedAt = Date.now();
367
+ const rounds = this.openAgentRounds({
368
+ method,
369
+ model,
370
+ traceContext,
371
+ modelParameters: model.config,
372
+ });
363
373
  try {
364
374
  const googleSchema = schema._toProviderSchema(LLMService_typedefs_1.LLMProviders.GoogleGenerativeAI);
365
375
  const { chatSession, messageParts, sendMessageConfig, } = await this.prepareChatMessage({
@@ -375,13 +385,22 @@ class GoogleGenerativeAIAssistanceService extends services_1.LLMAssistanceServic
375
385
  responseSchema: googleSchema,
376
386
  },
377
387
  });
378
- const chatResponse = await chatSession.sendMessage({
379
- message: messageParts,
380
- config: sendMessageConfig,
388
+ const chatResponse = await rounds.run({
389
+ input: this.buildRoundConversation({
390
+ chatSession,
391
+ chatId: options.chatId,
392
+ outgoingParts: messageParts,
393
+ }),
394
+ call: () => chatSession.sendMessage({
395
+ message: messageParts,
396
+ config: sendMessageConfig,
397
+ }),
398
+ describeOutcome: this.buildRoundOutcome,
381
399
  });
382
400
  abortSignal?.throwIfAborted();
383
401
  const toolLoopResult = await this.executeGoogleToolLoop({
384
402
  chatSession,
403
+ chatId: options.chatId,
385
404
  response: chatResponse,
386
405
  tools: options.tools ?? [],
387
406
  maxIterations: options.maxToolIterations
@@ -389,18 +408,14 @@ class GoogleGenerativeAIAssistanceService extends services_1.LLMAssistanceServic
389
408
  abortSignal,
390
409
  config: sendMessageConfig,
391
410
  multimodalToolResults: model.capabilities?.multimodalToolResults === true,
411
+ rounds,
392
412
  onAssistantNarration: options.onAssistantNarration,
393
413
  });
394
414
  if (toolLoopResult.terminalTool) {
395
- const { promptTokens, cachedTokens, candidatesTokens, } = toolLoopResult.totalUsage;
396
415
  await this.writeSuccessMetrics({
397
416
  method: this.getMethodName(this.assistInChatStructured),
398
417
  model,
399
- usage: {
400
- inputTextTokens: promptTokens - cachedTokens,
401
- inputCachedTextTokens: cachedTokens,
402
- outputTextTokens: candidatesTokens,
403
- },
418
+ usage: this.buildUsageMetrics(toolLoopResult.totalUsage),
404
419
  writeMetrics,
405
420
  });
406
421
  return {
@@ -418,6 +433,7 @@ class GoogleGenerativeAIAssistanceService extends services_1.LLMAssistanceServic
418
433
  chatId: options.chatId,
419
434
  googleSchema,
420
435
  abortSignal,
436
+ rounds,
421
437
  });
422
438
  finalResponseText =
423
439
  structuredFollowUp.text;
@@ -435,25 +451,11 @@ class GoogleGenerativeAIAssistanceService extends services_1.LLMAssistanceServic
435
451
  try {
436
452
  const parsed = JSON.parse(finalResponseText);
437
453
  const validation = schema._parse(parsed);
438
- const regularInputTokens = totalUsage.promptTokens
439
- - totalUsage.cachedTokens;
440
454
  await this.writeSuccessMetrics({
441
455
  method,
442
456
  model,
443
- usage: {
444
- inputTextTokens: regularInputTokens,
445
- inputCachedTextTokens: totalUsage.cachedTokens,
446
- outputTextTokens: totalUsage.candidatesTokens,
447
- },
457
+ usage: this.buildUsageMetrics(totalUsage),
448
458
  writeMetrics,
449
- generationTrace: this.buildGenerationTrace({
450
- method,
451
- traceContext,
452
- input: options.message,
453
- output: finalResponseText,
454
- modelParameters: model.config,
455
- startedAt: generationStartedAt,
456
- }),
457
459
  });
458
460
  const structuredFollowUpRoundTrips = options.tools?.length ? 1 : 0;
459
461
  return {
@@ -485,7 +487,8 @@ class GoogleGenerativeAIAssistanceService extends services_1.LLMAssistanceServic
485
487
  isAborted: abortSignal?.aborted,
486
488
  writeMetrics,
487
489
  error,
488
- generationTrace: this.buildGenerationTrace({
490
+ generationTrace: this.buildUnstartedRunTrace({
491
+ rounds,
489
492
  method,
490
493
  traceContext,
491
494
  input: options.message,
@@ -551,21 +554,68 @@ class GoogleGenerativeAIAssistanceService extends services_1.LLMAssistanceServic
551
554
  responseSchema: params.googleSchema,
552
555
  abortSignal: params.abortSignal,
553
556
  };
554
- const structuredResponse = await params.chatSession.sendMessage({
555
- message: [
556
- {
557
- text: 'Now respond with the structured'
558
- + ' JSON output based on the'
559
- + ' information gathered.',
560
- },
561
- ],
562
- config: structuredConfig,
557
+ const followUpParts = [
558
+ {
559
+ text: 'Now respond with the structured'
560
+ + ' JSON output based on the'
561
+ + ' information gathered.',
562
+ },
563
+ ];
564
+ const structuredResponse = await params.rounds.run({
565
+ input: this.buildRoundConversation({
566
+ chatSession: params.chatSession,
567
+ chatId: params.chatId,
568
+ outgoingParts: followUpParts,
569
+ }),
570
+ call: () => params.chatSession.sendMessage({
571
+ message: followUpParts,
572
+ config: structuredConfig,
573
+ }),
574
+ describeOutcome: this.buildRoundOutcome,
563
575
  });
564
576
  return {
565
577
  text: structuredResponse.text ?? '',
566
578
  usage: this.extractUsageFromResponse(structuredResponse),
567
579
  };
568
580
  }
581
+ /**
582
+ * The conversation one round was sent with: the chat's system instruction,
583
+ * the history the SDK holds for the session, and the parts this round adds.
584
+ * Built before the request goes out so a round that throws traces the same
585
+ * transcript a successful one does.
586
+ */
587
+ buildRoundConversation(params) {
588
+ const instructions = this.chatInstructions.get(params.chatId);
589
+ return [
590
+ ...(instructions
591
+ ? [{
592
+ role: 'system',
593
+ parts: [{ text: instructions }],
594
+ }]
595
+ : []),
596
+ ...params.chatSession.getHistory(),
597
+ {
598
+ role: GoogleGenerativeAI_typedefs_1.GoogleGenerativeAIRoles.User,
599
+ parts: params.outgoingParts,
600
+ },
601
+ ];
602
+ }
603
+ /**
604
+ * One round's usage, mapped exactly as the run total is mapped for metrics,
605
+ * so the per-round generations add up to the single metrics point the run
606
+ * still writes.
607
+ */
608
+ buildUsageMetrics(usage) {
609
+ return {
610
+ inputTextTokens: usage.promptTokens - usage.cachedTokens,
611
+ inputCachedTextTokens: usage.cachedTokens,
612
+ outputTextTokens: usage.candidatesTokens,
613
+ };
614
+ }
615
+ buildRoundOutcome = (response) => ({
616
+ output: response.candidates?.[0]?.content,
617
+ usage: this.buildUsageMetrics(this.extractUsageFromResponse(response)),
618
+ });
569
619
  extractUsageFromResponse(response) {
570
620
  return {
571
621
  promptTokens: response.usageMetadata
@@ -595,7 +645,7 @@ class GoogleGenerativeAIAssistanceService extends services_1.LLMAssistanceServic
595
645
  return [{ functionDeclarations }];
596
646
  }
597
647
  async executeGoogleToolLoop(params) {
598
- const { chatSession, tools, maxIterations, abortSignal, config, multimodalToolResults, onAssistantNarration, } = params;
648
+ const { chatSession, chatId, tools, maxIterations, abortSignal, config, multimodalToolResults, rounds, onAssistantNarration, } = params;
599
649
  let currentResponse = params.response;
600
650
  const totalUsage = this.extractUsageFromResponse(currentResponse);
601
651
  let toolIterationsUsed = 1;
@@ -626,11 +676,18 @@ class GoogleGenerativeAIAssistanceService extends services_1.LLMAssistanceServic
626
676
  }
627
677
  const functionResponseParts = await this.buildFunctionResponseParts(executedCalls, multimodalToolResults);
628
678
  abortSignal?.throwIfAborted();
629
- currentResponse =
630
- await chatSession.sendMessage({
679
+ currentResponse = await rounds.run({
680
+ input: this.buildRoundConversation({
681
+ chatSession,
682
+ chatId,
683
+ outgoingParts: functionResponseParts,
684
+ }),
685
+ call: () => chatSession.sendMessage({
631
686
  message: functionResponseParts,
632
687
  config,
633
- });
688
+ }),
689
+ describeOutcome: this.buildRoundOutcome,
690
+ });
634
691
  toolIterationsUsed += 1;
635
692
  const iterationUsage = this.extractUsageFromResponse(currentResponse);
636
693
  totalUsage.promptTokens +=
@@ -1 +1 @@
1
- {"version":3,"file":"GoogleGenerativeAIAssistance.service.js","sourceRoot":"","sources":["../../../../src/providers/GoogleGenerativeAI/services/GoogleGenerativeAIAssistance.service.ts"],"names":[],"mappings":";;;AAAA,+BAAoC;AACpC,yCASuB;AACvB,+DAoB+B;AAG/B,+DAA4D;AAC5D,6CAG2B;AAC3B,yCAAkD;AAClD,4GAAqG;AACrG,wGAAoG;AACpG,8GAAuG;AAEvG,iEAAqE;AA0BrE,MAAa,mCAEX,SAAQ,+BAA+D;IAC/D,aAAa,GAA+B,IAAI,GAAG,EAAE,CAAC;IAEtD,YAAY,GAAsB,IAAI,GAAG,EAAE,CAAC;IAE5C,aAAa,GAAiC,IAAI,GAAG,EAAE,CAAC;IAExD,oBAAoB,GAAmC,IAAI,GAAG,EAAE,CAAC;IAEjE,gBAAgB,GAAwB,IAAI,GAAG,EAAE,CAAC,CAAC,yBAAyB;IAEpF,YACE,MAAsC,EACtC,QAAkB,EAClB,OAA6D;QAE7D,KAAK,CAAC,kCAAY,CAAC,kBAAkB,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;IACpE,CAAC;IAED,IAAI,QAAQ;QACV,OAAO,IAAI,CAAC,mBAAmB,CAAC,GAAG,EAAE,CAAC,IAAI,mBAAW,CAAC,IAAI,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,CAAC;IAC7E,CAAC;IAED,KAAK,CAAC,UAAU,CACd,WAA2C;QAE3C,MAAM,EACJ,IAAI,EACJ,QAAQ,EACR,IAAI,EACJ,WAAW,EACX,eAAe,GAChB,GAAG,WAAW,CAAC;QAEhB,MAAM,YAAY,GAAG,IAAI,CAAC,QAAQ,EAAE,UAAU,CAAC,eAAe,CAAC,CAAC;QAEhE,IAAI,CAAC;YACH,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;YAE9C,IAAI,YAAY,EAAE,CAAC;gBACjB,OAAO,YAAY,CAAC;YACtB,CAAC;YAED,WAAW,EAAE,cAAc,EAAE,CAAC;YAE9B,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC;gBACpD,IAAI,EAAE,IAAI;gBACV,MAAM,EAAE;oBACN,QAAQ;oBACR,WAAW,EAAE,IAAI;oBACjB,WAAW;iBACZ;aACF,CAAC,CAAC;YAEH,WAAW,EAAE,cAAc,EAAE,CAAC;YAE9B,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC;gBACvB,MAAM,IAAI,KAAK,CAAC,qCAAqC,CAAC,CAAC;YACzD,CAAC;YAED,IAAI,CAAC,YAAY,CAAC,GAAG,EAAE,CAAC;gBACtB,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAC;YACxD,CAAC;YAED,IAAI,YAAY,CAAC,KAAK,EAAE,CAAC;gBACvB,MAAM,YAAY,CAAC,KAAK,CAAC;YAC3B,CAAC;YAED,MAAM,YAAY,GAAG;gBACnB,IAAI;gBACJ,QAAQ;gBACR,MAAM,EAAE,YAAY,CAAC,IAAI;gBACzB,IAAI,EAAE,YAAY,CAAC,GAAG;aACvB,CAAC;YAEF,WAAW,EAAE,cAAc,EAAE,CAAC;YAE9B,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;YAE3C,MAAM,IAAI,CAAC,mBAAmB,CAAC;gBAC7B,MAAM,EAAE,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,UAAU,CAAC;gBAC3C,KAAK,EAAE,IAAI;gBACX,KAAK,EAAE,EAAE;gBACT,YAAY;aACb,CAAC,CAAC;YAEH,OAAO,YAAY,CAAC;QACtB,CAAC;QAAC,OAAO,KAAU,EAAE,CAAC;YACpB,MAAM,IAAI,CAAC,iBAAiB,CAAC;gBAC3B,MAAM,EAAE,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,UAAU,CAAC;gBAC3C,KAAK,EAAE,IAAI;gBACX,SAAS,EAAE,WAAW,EAAE,OAAO;gBAC/B,YAAY;aACb,CAAC,CAAC;YAEH,IAAI,CAAC,iBAAiB,CAAC;gBACrB,MAAM,EAAE,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,UAAU,CAAC;gBAC3C,OAAO,EAAE,sBAAsB;gBAC/B,KAAK;gBACL,SAAS,EAAE,WAAW,EAAE,OAAO;gBAC/B,IAAI,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE;aAC5B,CAAC,CAAC;YAEH,OAAO,EAAE,KAAK,EAAE,CAAC;QACnB,CAAC;IACH,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,IAAY;QACxB,OAAO,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC;IAC9C,CAAC;IAED,KAAK,CAAC,UAAU,CACd,MAAc;QAEd,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAElC,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC;YAC/B,IAAI,EAAE,MAAM;SACb,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,iBAAiB,CACrB,OAA+E;QAE/E,MAAM,EACJ,aAAa,EACb,KAAK,EACL,YAAY,EACZ,WAAW,EACX,eAAe,GAChB,GAAG,OAAO,CAAC;QAEZ,MAAM,YAAY,GAAG,IAAI,CAAC,QAAQ,EAAE,UAAU,CAAC,eAAe,CAAC,CAAC;QAEhE,IAAI,CAAC;YACH,WAAW,EAAE,cAAc,EAAE,CAAC;YAE9B,MAAM,KAAK,GAAG,oDAAwB,CAAC,gBAAgB,CAAC,aAAa,CAAC,CAAC;YAEvE,MAAM,aAAa,GAAG,oDAAwB;iBAC3C,gBAAgB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YAEnC,MAAM,UAAU,GAAG,MAAM,aAAa,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;YAErD,WAAW,EAAE,cAAc,EAAE,CAAC;YAE9B,IAAI,UAAU,GAAG,uDAAwB,EAAE,CAAC;gBAC1C;;;mBAGG;gBACH,MAAM,SAAS,GAAG,IAAA,SAAM,GAAE,CAAC;gBAC3B,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC;gBAExD,IAAI,CAAC,MAAM;oBACT,EAAE,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;qBAClD,IAAI,CAAC,0DAA0D,EAAE;oBAChE,SAAS;oBACT,UAAU;oBACV,WAAW,EAAE,uDAAwB;iBACtC,CAAC,CAAC;gBAEL,WAAW,EAAE,cAAc,EAAE,CAAC;gBAE9B,MAAM,IAAI,CAAC,mBAAmB,CAAC;oBAC7B,MAAM,EAAE,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,iBAAiB,CAAC;oBAClD,KAAK;oBACL,KAAK,EAAE,EAAE;oBACT,YAAY;iBACb,CAAC,CAAC;gBAEH,OAAO;oBACL,SAAS;iBACV,CAAC;YACJ,CAAC;YAED,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC;gBACpD,KAAK,EAAE,KAAK,CAAC,IAAI;gBACjB,MAAM,EAAE;oBACN,QAAQ,EAAE;wBACR;4BACE,IAAI,EAAE,qDAAuB,CAAC,IAAI;4BAClC,KAAK;yBACN;qBACF;oBACD,iBAAiB,EAAE,YAAY;oBAC/B,GAAG,EAAE,IAAI;oBACT,WAAW;iBACZ;aACF,CAAC,CAAC;YAEH,WAAW,EAAE,cAAc,EAAE,CAAC;YAE9B,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC;gBACtB,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAC;YACxD,CAAC;YAED,IAAI,WAAW,EAAE,OAAO,EAAE,CAAC;gBACzB,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAC;YACnD,CAAC;YAED,WAAW,EAAE,cAAc,EAAE,CAAC;YAE9B,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,WAAW,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;YAEtD,MAAM,IAAI,CAAC,mBAAmB,CAAC;gBAC7B,MAAM,EAAE,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,iBAAiB,CAAC;gBAClD,KAAK;gBACL,KAAK,EAAE,EAAE;gBACT,YAAY;aACb,CAAC,CAAC;YAEH,OAAO;gBACL,SAAS,EAAE,WAAW,CAAC,IAAI;aAC5B,CAAC;QACJ,CAAC;QAAC,OAAO,KAAU,EAAE,CAAC;YACpB,MAAM,IAAI,CAAC,iBAAiB,CAAC;gBAC3B,MAAM,EAAE,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,iBAAiB,CAAC;gBAClD,KAAK;gBACL,SAAS,EAAE,WAAW,EAAE,OAAO;gBAC/B,YAAY;aACb,CAAC,CAAC;YAEH,IAAI,CAAC,iBAAiB,CAAC;gBACrB,MAAM,EAAE,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,iBAAiB,CAAC;gBAClD,OAAO,EAAE,6BAA6B;gBACtC,KAAK;gBACL,SAAS,EAAE,WAAW,EAAE,OAAO;gBAC/B,IAAI,EAAE,EAAE,aAAa,EAAE,KAAK,EAAE;aAC/B,CAAC,CAAC;YAEH,OAAO,EAAE,KAAK,EAAE,CAAC;QACnB,CAAC;IACH,CAAC;IAED,KAAK,CAAC,iBAAiB,CACrB,aAAqB;QAErB,IAAI,aAAa,KAAK,EAAE,EAAE,CAAC;YACzB,OAAO;QACT,CAAC;QAED,MAAM,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;QAE5D,IAAI,aAAa,EAAE,CAAC;YAClB,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;YACzC,MAAM,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC;gBAChC,IAAI,EAAE,aAAa;aACpB,CAAC,CAAC;QACL,CAAC;QAED,IAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;IAClD,CAAC;IAED,KAAK,CAAC,UAAU,CACd,OAAwE;QAExE,MAAM,EACJ,SAAS,EACT,KAAK,EACL,YAAY,EACZ,OAAO,EAAE,eAAe,EACxB,WAAW,EACX,eAAe,GAChB,GAAG,OAAO,CAAC;QAEZ,MAAM,YAAY,GAAG,IAAI,CAAC,QAAQ,EAAE,UAAU,CAAC,eAAe,CAAC,CAAC;QAEhE,IAAI,CAAC;YACH,MAAM,aAAa,GAAG,SAAS;gBAC7B,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,SAAS,CAAC;gBACnC,CAAC,CAAC,SAAS,CAAC;YAEd,MAAM,aAAa,GAAG,SAAS;gBAC7B,CAAC,CAAC,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,SAAS,CAAC;gBAC1C,CAAC,CAAC,SAAS,CAAC;YAEd,WAAW,EAAE,cAAc,EAAE,CAAC;YAE9B,MAAM,OAAO,GAAc,eAAe;gBACxC,CAAC,CAAC,MAAM,OAAO,CAAC,GAAG,CACjB,eAAe,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAC/B,oDAAwB,CAAC,UAAU,CACjC,OAAO,EACP,IAAI,CAAC,QAAQ,EACb,IAAI,CAAC,MAAM,CACZ,CACF,CAAC,CACH;gBACD,CAAC,CAAC,EAAE,CAAC;YAEP,WAAW,EAAE,cAAc,EAAE,CAAC;YAE9B,IAAI,CAAC,aAAa,IAAI,aAAa,EAAE,CAAC;gBACpC,MAAM,SAAS,GAAG,oDAAwB,CAAC,gBAAgB,CAAC,aAAa,CAAC,CAAC;gBAE3E,OAAO,CAAC,IAAI,CAAC;oBACX,IAAI,EAAE,qDAAuB,CAAC,IAAI;oBAClC,KAAK,EAAE,SAAS;iBACjB,CAAC,CAAC;YACL,CAAC;YAED,MAAM,MAAM,GAAG,IAAA,SAAM,GAAE,CAAC;YAExB,IAAI,YAAY,EAAE,CAAC;gBACjB,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;YAClD,CAAC;YAED,MAAM,WAAW,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC;gBAC7C,KAAK,EAAE,KAAK,CAAC,IAAI;gBACjB,OAAO;gBACP,MAAM,EAAE;oBACN,iBAAiB,EAAE,YAAY;oBAC/B,WAAW,EAAE,KAAK,CAAC,MAAM,CAAC,WAAW;oBACrC,WAAW;oBACX,GAAG,CAAC,aAAa,IAAI,EAAE,aAAa,EAAE,aAAa,CAAC,IAAI,EAAE,CAAC;iBAC5D;aACF,CAAC,CAAC;YAEH,WAAW,EAAE,cAAc,EAAE,CAAC;YAE9B,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;YAE3C,MAAM,IAAI,CAAC,mBAAmB,CAAC;gBAC7B,MAAM,EAAE,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,UAAU,CAAC;gBAC3C,KAAK;gBACL,KAAK,EAAE,EAAE;gBACT,YAAY;aACb,CAAC,CAAC;YAEH,OAAO,OAAO,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC;QACrC,CAAC;QAAC,OAAO,KAAU,EAAE,CAAC;YACpB,MAAM,IAAI,CAAC,iBAAiB,CAAC;gBAC3B,MAAM,EAAE,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,UAAU,CAAC;gBAC3C,KAAK;gBACL,SAAS,EAAE,WAAW,EAAE,OAAO;gBAC/B,YAAY;aACb,CAAC,CAAC;YAEH,IAAI,CAAC,iBAAiB,CAAC;gBACrB,MAAM,EAAE,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,UAAU,CAAC;gBAC3C,OAAO,EAAE,qBAAqB;gBAC9B,KAAK;gBACL,SAAS,EAAE,WAAW,EAAE,OAAO;gBAC/B,IAAI,EAAE,EAAE,OAAO,EAAE;aAClB,CAAC,CAAC;YAEH,OAAO,OAAO,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;QACpC,CAAC;IACH,CAAC;IAED,UAAU,CACR,MAAc;QAEd,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QACjC,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAErC,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;IAC3B,CAAC;IAEO,mBAAmB,CACzB,SAA6B;QAE7B,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,MAAM,aAAa,GAAG,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QAE/D,IAAI,CAAC,aAAa,EAAE,CAAC;YACnB,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,OAAO,oDAAwB,CAAC,gBAAgB,CAAC,aAAa,CAAC,CAAC;IAClE,CAAC;IAES,KAAK,CAAC,gBAAgB,CAC9B,OAGC;QAED,MAAM,EACJ,KAAK,EACL,eAAe,EACf,WAAW,EACX,YAAY,GACb,GAAG,OAAO,CAAC;QAEZ,MAAM,YAAY,GAAG,IAAI,CAAC,QAAQ,EAAE,UAAU,CAAC,eAAe,CAAC,CAAC;QAChE,MAAM,MAAM,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;QACzD,MAAM,mBAAmB,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAEvC,IAAI,CAAC;YACH,MAAM,EACJ,WAAW,EACX,YAAY,EACZ,iBAAiB,GAClB,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC;gBAChC,MAAM,EAAE,OAAO,CAAC,MAAM;gBACtB,OAAO,EAAE,OAAO,CAAC,OAAO;gBACxB,SAAS,EAAE,OAAO,CAAC,SAAS;gBAC5B,KAAK,EAAE,OAAO,CAAC,KAAK;gBACpB,WAAW;aACZ,CAAC,CAAC;YAEH,MAAM,YAAY,GAChB,MAAM,WAAW,CAAC,WAAW,CAAC;gBAC5B,OAAO,EAAE,YAAY;gBACrB,MAAM,EAAE,iBAAiB;aAC1B,CAAC,CAAC;YAEL,WAAW,EAAE,cAAc,EAAE,CAAC;YAE9B,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,qBAAqB,CAAC;gBACtD,WAAW;gBACX,QAAQ,EAAE,YAAY;gBACtB,KAAK,EAAE,OAAO,CAAC,KAAK,IAAI,EAAE;gBAC1B,aAAa,EACT,OAAO,CAAC,iBAAiB;uBACtB,kDAA2B;gBAClC,WAAW;gBACX,MAAM,EAAE,iBAAiB;gBACzB,qBAAqB,EACnB,KAAK,CAAC,YAAY,EAAE,qBAAqB,KAAK,IAAI;gBACpD,oBAAoB,EAAE,OAAO,CAAC,oBAAoB;aACnD,CAAC,CAAC;YAEH,MAAM,YAAY,GAChB,cAAc,CAAC,QAAQ,CAAC,IAAI,IAAI,EAAE,CAAC;YACrC,MAAM,EAAE,UAAU,EAAE,GAAG,cAAc,CAAC;YACtC,MAAM,kBAAkB,GAAG,UAAU,CAAC,YAAY,GAAG,UAAU,CAAC,YAAY,CAAC;YAE7E,MAAM,IAAI,CAAC,mBAAmB,CAAC;gBAC7B,MAAM;gBACN,KAAK;gBACL,KAAK,EAAE;oBACL,eAAe,EAAE,kBAAkB;oBACnC,qBAAqB,EACnB,UAAU,CAAC,YAAY;oBACzB,gBAAgB,EACd,UAAU,CAAC,gBAAgB;iBAC9B;gBACD,YAAY;gBACZ,eAAe,EAAE,IAAI,CAAC,oBAAoB,CAAC;oBACzC,MAAM;oBACN,YAAY;oBACZ,KAAK,EAAE,OAAO,CAAC,OAAO;oBACtB,MAAM,EAAE,YAAY;oBACpB,eAAe,EAAE,KAAK,CAAC,MAAM;oBAC7B,SAAS,EAAE,mBAAmB;iBAC/B,CAAC;aACH,CAAC,CAAC;YAEH,OAAO;gBACL,IAAI,EAAE,YAAY;gBAClB,kBAAkB,EAAE,cAAc,CAAC,kBAAkB;gBACrD,GAAG,CAAC,cAAc,CAAC,uBAAuB,IAAI;oBAC5C,uBAAuB,EAAE,IAAI;iBAC9B,CAAC;gBACF,UAAU,EAAE,cAAc,CAAC,UAAU;gBACrC,GAAG,CAAC,cAAc,CAAC,YAAY,IAAI;oBACjC,YAAY,EAAE,cAAc,CAAC,YAAY;iBAC1C,CAAC;aACH,CAAC;QACJ,CAAC;QAAC,OAAO,KAAU,EAAE,CAAC;YACpB,MAAM,IAAI,CAAC,iBAAiB,CAAC;gBAC3B,MAAM;gBACN,KAAK;gBACL,SAAS,EAAE,WAAW,EAAE,OAAO;gBAC/B,YAAY;gBACZ,KAAK;gBACL,eAAe,EAAE,IAAI,CAAC,oBAAoB,CAAC;oBACzC,MAAM;oBACN,YAAY;oBACZ,KAAK,EAAE,OAAO,CAAC,OAAO;oBACtB,eAAe,EAAE,KAAK,CAAC,MAAM;oBAC7B,SAAS,EAAE,mBAAmB;iBAC/B,CAAC;aACH,CAAC,CAAC;YAEH,IAAI,CAAC,iBAAiB,CAAC;gBACrB,MAAM;gBACN,OAAO,EAAE,yBAAyB;gBAClC,KAAK;gBACL,SAAS,EAAE,WAAW,EAAE,OAAO;gBAC/B,IAAI,EAAE,EAAE,OAAO,EAAE;aAClB,CAAC,CAAC;YAEH,OAAO,EAAE,KAAK,EAAE,CAAC;QACnB,CAAC;IACH,CAAC;IAES,KAAK,CAAC,sBAAsB,CACpC,OAGkC;QAElC,MAAM,EACJ,KAAK,EACL,WAAW,EACX,MAAM,EACN,eAAe,EACf,YAAY,GACb,GAAG,OAAO,CAAC;QAEZ,MAAM,YAAY,GAAG,IAAI,CAAC,QAAQ,EAAE,UAAU,CAAC,eAAe,CAAC,CAAC;QAChE,MAAM,MAAM,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;QAC/D,MAAM,mBAAmB,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAEvC,IAAI,CAAC;YACH,MAAM,YAAY,GAChB,MAAM,CAAC,iBAAiB,CACtB,kCAAY,CAAC,kBAAkB,CAChC,CAAC;YAEJ,MAAM,EACJ,WAAW,EACX,YAAY,EACZ,iBAAiB,GAClB,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC;gBAChC,MAAM,EAAE,OAAO,CAAC,MAAM;gBACtB,OAAO,EAAE,OAAO,CAAC,OAAO;gBACxB,SAAS,EAAE,OAAO,CAAC,SAAS;gBAC5B,KAAK,EAAE,OAAO,CAAC,KAAK;gBACpB,WAAW;gBACX,gBAAgB,EAAE;oBAChB,GAAG,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,IAAI;wBAC5B,gBAAgB,EACd,kBAAkB;qBACrB,CAAC;oBACF,cAAc,EAAE,YAAY;iBAC7B;aACF,CAAC,CAAC;YAEH,MAAM,YAAY,GAChB,MAAM,WAAW,CAAC,WAAW,CAAC;gBAC5B,OAAO,EAAE,YAAY;gBACrB,MAAM,EAAE,iBAAiB;aAC1B,CAAC,CAAC;YAEL,WAAW,EAAE,cAAc,EAAE,CAAC;YAE9B,MAAM,cAAc,GAClB,MAAM,IAAI,CAAC,qBAAqB,CAAC;gBAC/B,WAAW;gBACX,QAAQ,EAAE,YAAY;gBACtB,KAAK,EAAE,OAAO,CAAC,KAAK,IAAI,EAAE;gBAC1B,aAAa,EACX,OAAO,CAAC,iBAAiB;uBACtB,kDAA2B;gBAChC,WAAW;gBACX,MAAM,EAAE,iBAAiB;gBACzB,qBAAqB,EACnB,KAAK,CAAC,YAAY,EAAE,qBAAqB,KAAK,IAAI;gBACpD,oBAAoB,EAAE,OAAO,CAAC,oBAAoB;aACnD,CAAC,CAAC;YAEL,IAAI,cAAc,CAAC,YAAY,EAAE,CAAC;gBAChC,MAAM,EACJ,YAAY,EACZ,YAAY,EACZ,gBAAgB,GACjB,GAAG,cAAc,CAAC,UAAU,CAAC;gBAE9B,MAAM,IAAI,CAAC,mBAAmB,CAAC;oBAC7B,MAAM,EAAE,IAAI,CAAC,aAAa,CACxB,IAAI,CAAC,sBAAsB,CAC5B;oBACD,KAAK;oBACL,KAAK,EAAE;wBACL,eAAe,EAAE,YAAY,GAAG,YAAY;wBAC5C,qBAAqB,EAAE,YAAY;wBACnC,gBAAgB,EAAE,gBAAgB;qBACnC;oBACD,YAAY;iBACb,CAAC,CAAC;gBAEH,OAAO;oBACL,IAAI,EAAE,cAAc,CAAC,QAAQ,CAAC,IAAI,IAAI,EAAE;oBACxC,kBAAkB,EAAE,cAAc,CAAC,kBAAkB;oBACrD,UAAU,EAAE,cAAc,CAAC,UAAU;oBACrC,YAAY,EAAE,cAAc,CAAC,YAAY;iBAC1C,CAAC;YACJ,CAAC;YAED,IAAI,iBAAyB,CAAC;YAC9B,IAAI,UAAU,GAAG,cAAc,CAAC,UAAU,CAAC;YAE3C,IAAI,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,CAAC;gBAC1B,MAAM,kBAAkB,GACtB,MAAM,IAAI,CAAC,sBAAsB,CAAC;oBAChC,WAAW;oBACX,MAAM,EAAE,OAAO,CAAC,MAAM;oBACtB,YAAY;oBACZ,WAAW;iBACZ,CAAC,CAAC;gBAEL,iBAAiB;oBACf,kBAAkB,CAAC,IAAI,CAAC;gBAE1B,UAAU;oBACR,IAAI,CAAC,YAAY,CACf,UAAU,EACV,kBAAkB,CAAC,KAAK,CACzB,CAAC;YACN,CAAC;iBAAM,CAAC;gBACN,iBAAiB;oBACf,cAAc,CAAC,QAAQ,CAAC,IAAI,IAAI,EAAE,CAAC;YACvC,CAAC;YAED,IAAI,CAAC,iBAAiB,EAAE,CAAC;gBACvB,MAAM,IAAI,KAAK,CACb,4BAA4B;sBAC1B,0BAA0B,CAC7B,CAAC;YACJ,CAAC;YAED,IAAI,CAAC;gBACH,MAAM,MAAM,GACV,IAAI,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC;gBAChC,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;gBAEzC,MAAM,kBAAkB,GACtB,UAAU,CAAC,YAAY;sBACrB,UAAU,CAAC,YAAY,CAAC;gBAE5B,MAAM,IAAI,CAAC,mBAAmB,CAAC;oBAC7B,MAAM;oBACN,KAAK;oBACL,KAAK,EAAE;wBACL,eAAe,EAAE,kBAAkB;wBACnC,qBAAqB,EACnB,UAAU,CAAC,YAAY;wBACzB,gBAAgB,EACd,UAAU,CAAC,gBAAgB;qBAC9B;oBACD,YAAY;oBACZ,eAAe,EAAE,IAAI,CAAC,oBAAoB,CAAC;wBACzC,MAAM;wBACN,YAAY;wBACZ,KAAK,EAAE,OAAO,CAAC,OAAO;wBACtB,MAAM,EAAE,iBAAiB;wBACzB,eAAe,EAAE,KAAK,CAAC,MAAM;wBAC7B,SAAS,EAAE,mBAAmB;qBAC/B,CAAC;iBACH,CAAC,CAAC;gBAEH,MAAM,4BAA4B,GAChC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gBAEhC,OAAO;oBACL,IAAI,EAAE,iBAAiB;oBACvB,IAAI,EAAE,UAAU,CAAC,IAAI;oBACrB,UAAU,EAAE,UAAU,CAAC,KAAK;oBAC5B,kBAAkB,EAChB,cAAc,CAAC,kBAAkB;0BAC/B,4BAA4B;oBAChC,GAAG,CAAC,cAAc,CAAC,uBAAuB,IAAI;wBAC5C,uBAAuB,EAAE,IAAI;qBAC9B,CAAC;oBACF,UAAU,EAAE,cAAc,CAAC,UAAU;iBACtC,CAAC;YACJ,CAAC;YAAC,OAAO,UAAe,EAAE,CAAC;gBACzB,IAAI,CAAC,MAAM;oBACT,EAAE,KAAK,CACL,IAAI,CAAC,aAAa,CAChB,IAAI,CAAC,sBAAsB,CAC5B,CACF;qBACA,IAAI,CACH,+BAA+B,EAC/B;oBACE,OAAO,EAAE,iBAAiB;oBAC1B,UAAU,EAAE,UAAU,CAAC,OAAO;iBAC/B,CACF,CAAC;gBAEJ,MAAM,UAAU,CAAC;YACnB,CAAC;QACH,CAAC;QAAC,OAAO,KAAU,EAAE,CAAC;YACpB,MAAM,IAAI,CAAC,iBAAiB,CAAC;gBAC3B,MAAM;gBACN,KAAK;gBACL,SAAS,EAAE,WAAW,EAAE,OAAO;gBAC/B,YAAY;gBACZ,KAAK;gBACL,eAAe,EAAE,IAAI,CAAC,oBAAoB,CAAC;oBACzC,MAAM;oBACN,YAAY;oBACZ,KAAK,EAAE,OAAO,CAAC,OAAO;oBACtB,eAAe,EAAE,KAAK,CAAC,MAAM;oBAC7B,SAAS,EAAE,mBAAmB;iBAC/B,CAAC;aACH,CAAC,CAAC;YAEH,IAAI,CAAC,iBAAiB,CAAC;gBACrB,MAAM;gBACN,OAAO,EAAE,gDAAgD;gBACzD,KAAK;gBACL,SAAS,EAAE,WAAW,EAAE,OAAO;gBAC/B,IAAI,EAAE,EAAE,OAAO,EAAE;aAClB,CAAC,CAAC;YAEH,OAAO;gBACL,IAAI,EAAE,EAAE;gBACR,KAAK;gBACL,UAAU,EACR,mCAAmC;sBACjC,yBAAyB;sBACzB,eAAe;aACpB,CAAC;QACJ,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,kBAAkB,CAC9B,OASC;QAMD,MAAM,WAAW,GACf,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QAExC,IAAI,CAAC,WAAW,EAAE,CAAC;YACjB,MAAM,IAAI,KAAK,CAAC,wBAAwB,CAAC,CAAC;QAC5C,CAAC;QAED,OAAO,CAAC,WAAW,EAAE,cAAc,EAAE,CAAC;QAEtC,MAAM,cAAc,GAClB,MAAM,oDAAwB,CAAC,UAAU,CACvC,OAAO,CAAC,OAAO,EACf,IAAI,CAAC,QAAQ,EACb,IAAI,CAAC,MAAM,CACZ,CAAC;QAEJ,OAAO,CAAC,WAAW,EAAE,cAAc,EAAE,CAAC;QAEtC,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,CAAC;YAC1B,MAAM,IAAI,KAAK,CACb,4BAA4B,CAC7B,CAAC;QACJ,CAAC;QAED,MAAM,gBAAgB,GACpB,IAAI,CAAC,mBAAmB,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QAE9C,IAAI,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,CAAC;YAC1B,IAAI,CAAC,uBAAuB,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QAC9C,CAAC;QAED,MAAM,WAAW,GAAG,OAAO,CAAC,KAAK,EAAE,MAAM;YACvC,CAAC,CAAC,IAAI,CAAC,0BAA0B,CAC/B,OAAO,CAAC,KAAK,CACd;YACD,CAAC,CAAC,SAAS,CAAC;QAEd,MAAM,iBAAiB,GACG;YACtB,iBAAiB,EACf,IAAI,CAAC,gBAAgB,CAAC,GAAG,CACvB,OAAO,CAAC,MAAM,CACf;YACH,WAAW,EAAE,OAAO,CAAC,WAAW;YAChC,GAAG,CAAC,WAAW,IAAI;gBACjB,KAAK,EAAE,WAAW;aACnB,CAAC;YACF,GAAG,OAAO,CAAC,gBAAgB;SAC5B,CAAC;QAEJ,OAAO;YACL,WAAW;YACX,YAAY,EAAE;gBACZ,GAAG,gBAAgB;gBACnB,GAAG,cAAc,CAAC,KAAK;aACxB;YACD,iBAAiB;SAClB,CAAC;IACJ,CAAC;IAEO,KAAK,CAAC,sBAAsB,CAClC,MAKC;QAKD,MAAM,gBAAgB,GACI;YACtB,iBAAiB,EACf,IAAI,CAAC,gBAAgB,CAAC,GAAG,CACvB,MAAM,CAAC,MAAM,CACd;YACH,gBAAgB,EAAE,kBAAkB;YACpC,cAAc,EAAE,MAAM,CAAC,YAAY;YACnC,WAAW,EAAE,MAAM,CAAC,WAAW;SAChC,CAAC;QAEJ,MAAM,kBAAkB,GACtB,MAAM,MAAM,CAAC,WAAW,CAAC,WAAW,CAAC;YACnC,OAAO,EAAE;gBACP;oBACE,IAAI,EACF,iCAAiC;0BAC/B,2BAA2B;0BAC3B,wBAAwB;iBAC7B;aACF;YACD,MAAM,EAAE,gBAAgB;SACzB,CAAC,CAAC;QAEL,OAAO;YACL,IAAI,EAAE,kBAAkB,CAAC,IAAI,IAAI,EAAE;YACnC,KAAK,EAAE,IAAI,CAAC,wBAAwB,CAClC,kBAAkB,CACnB;SACF,CAAC;IACJ,CAAC;IAEO,wBAAwB,CAC9B,QAAiC;QAEjC,OAAO;YACL,YAAY,EACV,QAAQ,CAAC,aAAa;gBACpB,EAAE,gBAAgB,IAAI,CAAC;YAC3B,YAAY,EACV,QAAQ,CAAC,aAAa;gBACpB,EAAE,uBAAuB,IAAI,CAAC;YAClC,gBAAgB,EACd,QAAQ,CAAC,aAAa;gBACpB,EAAE,oBAAoB,IAAI,CAAC;SAChC,CAAC;IACJ,CAAC;IAEO,YAAY,CAClB,KAA6B,EAC7B,MAA8B;QAE9B,OAAO;YACL,YAAY,EACV,KAAK,CAAC,YAAY;kBAChB,MAAM,CAAC,YAAY;YACvB,YAAY,EACV,KAAK,CAAC,YAAY;kBAChB,MAAM,CAAC,YAAY;YACvB,gBAAgB,EACd,KAAK,CAAC,gBAAgB;kBACpB,MAAM,CAAC,gBAAgB;SAC5B,CAAC;IACJ,CAAC;IAEO,0BAA0B,CAChC,KAA0B;QAE1B,MAAM,oBAAoB,GAAG,KAAK,CAAC,GAAG,CACpC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;YACT,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,UAAU,EACR,IAAI,CAAC,UAAU,CAAC,iBAAiB,CAC/B,kCAAY,CAAC,kBAAkB,CAChC;SACJ,CAAC,CACH,CAAC;QAEF,OAAO,CAAC,EAAE,oBAAoB,EAAE,CAAC,CAAC;IACpC,CAAC;IAEO,KAAK,CAAC,qBAAqB,CACjC,MASC;QASD,MAAM,EACJ,WAAW,EACX,KAAK,EACL,aAAa,EACb,WAAW,EACX,MAAM,EACN,qBAAqB,EACrB,oBAAoB,GACrB,GAAG,MAAM,CAAC;QAEX,IAAI,eAAe,GAAG,MAAM,CAAC,QAAQ,CAAC;QAEtC,MAAM,UAAU,GACd,IAAI,CAAC,wBAAwB,CAC3B,eAAe,CAChB,CAAC;QAEJ,IAAI,kBAAkB,GAAG,CAAC,CAAC;QAC3B,IAAI,YAAgD,CAAC;QAErD,KACE,IAAI,SAAS,GAAG,CAAC,EACjB,SAAS,GAAG,aAAa,EACzB,SAAS,EAAE,EACX,CAAC;YACD,MAAM,iBAAiB,GAAG,CACxB,eAAe,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC;gBAC7B,EAAE,OAAO,EAAE,KAAK,IAAI,EAAE,CACzB,CAAC,MAAM,CACN,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,YAAY,EAAE,IAAI,CAClC,CAAC;YAEF,IAAI,iBAAiB,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACnC,MAAM;YACR,CAAC;YAED,IAAI,oBAAoB,EAAE,CAAC;gBACzB,oBAAoB,CAClB,IAAI,CAAC,2BAA2B,CAAC,eAAe,CAAC,CAClD,CAAC;YACJ,CAAC;YAED,WAAW,EAAE,cAAc,EAAE,CAAC;YAE9B,MAAM,KAAK,GAAG,iBAAiB,CAAC,GAAG,CACjC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;gBACT,IAAI,EACF,IAAI,CAAC,YAAY,EAAE,IAAI,IAAI,EAAE;gBAC/B,IAAI,EAAE,CACJ,IAAI,CAAC,YAAY,EAAE,IAAI,IAAI,EAAE,CACH;aAC7B,CAAC,CACH,CAAC;YAEF,MAAM,aAAa,GACjB,MAAM,IAAI,CAAC,0BAA0B,CACnC,KAAK,EACL,KAAK,CACN,CAAC;YAEJ,MAAM,YAAY,GAAG,aAAa,CAAC,IAAI,CACrC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,UAAU,CAClC,CAAC;YAEF,IAAI,YAAY,EAAE,CAAC;gBACjB,WAAW,EAAE,cAAc,EAAE,CAAC;gBAE9B,YAAY,GAAG;oBACb,IAAI,EAAE,YAAY,CAAC,IAAI;oBACvB,MAAM,EAAE,YAAY,CAAC,MAAM;iBAC5B,CAAC;gBAEF,MAAM;YACR,CAAC;YAED,MAAM,qBAAqB,GACzB,MAAM,IAAI,CAAC,0BAA0B,CACnC,aAAa,EACb,qBAAqB,CACtB,CAAC;YAEJ,WAAW,EAAE,cAAc,EAAE,CAAC;YAE9B,eAAe;gBACb,MAAM,WAAW,CAAC,WAAW,CAAC;oBAC5B,OAAO,EAAE,qBAAqB;oBAC9B,MAAM;iBACP,CAAC,CAAC;YAEL,kBAAkB,IAAI,CAAC,CAAC;YAExB,MAAM,cAAc,GAClB,IAAI,CAAC,wBAAwB,CAC3B,eAAe,CAChB,CAAC;YAEJ,UAAU,CAAC,YAAY;gBACrB,cAAc,CAAC,YAAY,CAAC;YAC9B,UAAU,CAAC,YAAY;gBACrB,cAAc,CAAC,YAAY,CAAC;YAC9B,UAAU,CAAC,gBAAgB;gBACzB,cAAc,CAAC,gBAAgB,CAAC;QACpC,CAAC;QAED,MAAM,uBAAuB,GAAG,CAAC,YAAY,IAAI,CAC/C,eAAe,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC;YAC7B,EAAE,OAAO,EAAE,KAAK,IAAI,EAAE,CACzB,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,CAAC;QAE1C,IAAI,uBAAuB,EAAE,CAAC;YAC5B,IAAI,CAAC,MAAM;gBACT,EAAE,KAAK,CACL,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAC/C;iBACA,IAAI,CAAC,qCAAqC,EAAE;gBAC3C,iBAAiB,EAAE,aAAa;gBAChC,kBAAkB;aACnB,CAAC,CAAC;QACP,CAAC;QAED,OAAO;YACL,QAAQ,EAAE,eAAe;YACzB,UAAU;YACV,kBAAkB;YAClB,uBAAuB;YACvB,UAAU,EAAE,IAAI,CAAC,yBAAyB,CAAC;gBACzC,YAAY;gBACZ,uBAAuB;aACxB,CAAC;YACF,YAAY;SACb,CAAC;IACJ,CAAC;IAED;;;;OAIG;IACK,2BAA2B,CACjC,QAAiC;QAEjC,OAAO,CAAC,QAAQ,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,KAAK,IAAI,EAAE,CAAC;aACpD,MAAM,CACL,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,IAAI,CAAC,IAAI,KAAK,QAAQ,IAAI,IAAI,CAAC,OAAO,KAAK,IAAI,CACjE;aACA,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC;aACxB,IAAI,CAAC,EAAE,CAAC,CAAC;IACd,CAAC;IAEO,0BAA0B,CAChC,KAGG,EACH,KAA0B;QAE1B,OAAO,OAAO,CAAC,GAAG,CAChB,KAAK,CAAC,GAAG,CACP,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,+BAA+B,CAC5C,IAAI,EACJ,KAAK,CACN,CACF,CACF,CAAC;IACJ,CAAC;IAEO,KAAK,CAAC,0BAA0B,CACtC,aAA2C,EAC3C,qBAA8B;QAE9B,IAAI,qBAAqB,EAAE,CAAC;YAC1B,OAAO,OAAO,CAAC,GAAG,CAChB,aAAa,CAAC,GAAG,CACf,CAAC,YAAY,EAAE,EAAE,CAAC,IAAI,CAAC,+BAA+B,CACpD,YAAY,CACb,CACF,CACF,CAAC;QACJ,CAAC;QAED,OAAO,IAAI,CAAC,kCAAkC,CAC5C,aAAa,CACd,CAAC;IACJ,CAAC;IAEO,KAAK,CAAC,+BAA+B,CAC3C,IAGC,EACD,KAA0B;QAE1B,MAAM,YAAY,GAAG,KAAK,CAAC,IAAI,CAC7B,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI,CAClC,CAAC;QAEF,IAAI,CAAC,YAAY,EAAE,CAAC;YAClB,MAAM,kBAAkB,GAAG,wBAAwB,IAAI,CAAC,IAAI,GAAG,CAAC;YAEhE,OAAO;gBACL,IAAI,EAAE,IAAI,CAAC,IAAI;gBACf,MAAM,EAAE;oBACN,OAAO,EAAE,kBAAkB;oBAC3B,MAAM,EAAE,EAAE;iBACX;gBACD,MAAM,EAAE,kBAAkB;gBAC1B,UAAU,EAAE,KAAK;aAClB,CAAC;QACJ,CAAC;QAED,MAAM,UAAU,GAAG,YAAY,CAAC,QAAQ,KAAK,IAAI,CAAC;QAElD,IAAI,CAAC;YACH,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,SAAS,EAAE,CAAC,mBAAmB,CAC1D,GAAG,IAAI,CAAC,WAAW,SAAS,IAAI,CAAC,IAAI,EAAE,EACvC,IAAI,CAAC,IAAI,EACT,GAAG,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CACvD,CAAC;YAEF,OAAO;gBACL,IAAI,EAAE,IAAI,CAAC,IAAI;gBACf,MAAM,EAAE,IAAA,2BAAmB,EAAC,SAAS,CAAC;gBACtC,MAAM,EAAE,SAAS;gBACjB,UAAU;aACX,CAAC;QACJ,CAAC;QAAC,OAAO,cAAuB,EAAE,CAAC;YACjC,MAAM,OAAO,GAAG,cAAc,YAAY,KAAK;gBAC7C,CAAC,CAAC,cAAc,CAAC,OAAO;gBACxB,CAAC,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC;YAE3B,IAAI,CAAC,MAAM;gBACT,EAAE,KAAK,CACL,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,+BAA+B,CAAC,CACzD;iBACA,KAAK,CAAC,uBAAuB,EAAE;gBAC9B,QAAQ,EAAE,IAAI,CAAC,IAAI;gBACnB,KAAK,EAAE,IAAA,+BAAc,EAAC,cAAc,CAAC;aACtC,CAAC,CAAC;YAEL,MAAM,cAAc,GAAG,UAAU,OAAO,EAAE,CAAC;YAE3C,OAAO;gBACL,IAAI,EAAE,IAAI,CAAC,IAAI;gBACf,MAAM,EAAE;oBACN,OAAO,EAAE,cAAc;oBACvB,MAAM,EAAE,EAAE;iBACX;gBACD,MAAM,EAAE,cAAc;gBACtB,UAAU;aACX,CAAC;QACJ,CAAC;IACH,CAAC;IAED;;;;OAIG;IACK,KAAK,CAAC,+BAA+B,CAC3C,YAAwC;QAExC,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,YAAY,CAAC;QAEtC,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC/B,OAAO;gBACL,gBAAgB,EAAE;oBAChB,IAAI;oBACJ,QAAQ,EAAE,EAAE,MAAM,EAAE,MAAM,CAAC,OAAO,EAAE;iBACrC;aACF,CAAC;QACJ,CAAC;QAED,MAAM,UAAU,GAAG,MAAM,OAAO,CAAC,GAAG,CAClC,MAAM,CAAC,MAAM,CAAC,GAAG,CACf,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,kBAAkB,CACvC,KAAK,EACL,GAAG,IAAI,UAAU,KAAK,GAAG,CAAC,EAAE,CAC7B,CACF,CACF,CAAC;QAEF,OAAO;YACL,gBAAgB,EAAE;gBAChB,IAAI;gBACJ,QAAQ,EAAE;oBACR,MAAM,EAAE,MAAM,CAAC,OAAO;oBACtB,MAAM,EAAE,UAAU,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;wBAChC,GAAG,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC;wBACxC,IAAI,EAAE,IAAI,CAAC,WAAW;qBACvB,CAAC,CAAC;iBACJ;gBACD,KAAK,EAAE,UAAU,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;oBAC/B,UAAU,EAAE;wBACV,QAAQ,EAAE,IAAI,CAAC,QAAQ;wBACvB,IAAI,EAAE,IAAI,CAAC,IAAI;wBACf,WAAW,EAAE,IAAI,CAAC,WAAW;qBAC9B;iBACF,CAAC,CAAC;aACJ;SACF,CAAC;IACJ,CAAC;IAED;;;;OAIG;IACK,KAAK,CAAC,kCAAkC,CAC9C,aAA2C;QAE3C,MAAM,qBAAqB,GAAW,aAAa,CAAC,GAAG,CACrD,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,CAAC;YACrB,gBAAgB,EAAE;gBAChB,IAAI;gBACJ,QAAQ,EAAE,EAAE,MAAM,EAAE,MAAM,CAAC,OAAO,EAAE;aACrC;SACF,CAAC,CACH,CAAC;QAEF,MAAM,MAAM,GAAG,aAAa,CAAC,OAAO,CAClC,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,CAC9B,CAAC;QAEF,MAAM,UAAU,GAAG,MAAM,OAAO,CAAC,GAAG,CAClC,MAAM,CAAC,GAAG,CACR,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,qBAAqB,CAAC,KAAK,CAAC,CAC7C,CACF,CAAC;QAEF,OAAO;YACL,GAAG,qBAAqB;YACxB,GAAG,UAAU,CAAC,IAAI,EAAE;SACrB,CAAC;IACJ,CAAC;IAEO,KAAK,CAAC,qBAAqB,CACjC,KAAyB;QAEzB,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC;QAElD,MAAM,SAAS,GAAS;YACtB,UAAU,EAAE;gBACV,QAAQ,EAAE,IAAI,CAAC,QAAQ;gBACvB,IAAI,EAAE,IAAI,CAAC,IAAI;aAChB;SACF,CAAC;QAEF,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;YAChB,OAAO,CAAC,SAAS,CAAC,CAAC;QACrB,CAAC;QAED,OAAO,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,KAAK,EAAE,EAAE,SAAS,CAAC,CAAC;IAC3C,CAAC;IAEO,KAAK,CAAC,kBAAkB,CAC9B,KAAyB,EACzB,WAAoB;QAEpB,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAExC,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;YACjB,MAAM,IAAI,KAAK,CACb,+BAA+B,QAAQ,CAAC,MAAM,EAAE;kBAC9C,IAAI,QAAQ,CAAC,UAAU,MAAM,KAAK,CAAC,GAAG,EAAE,CAC3C,CAAC;QACJ,CAAC;QAED,MAAM,WAAW,GAAG,MAAM,QAAQ,CAAC,WAAW,EAAE,CAAC;QAEjD,OAAO;YACL,QAAQ,EAAE,KAAK,CAAC,QAAQ,IAAI,WAAW;YACvC,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC;YACjD,WAAW;YACX,KAAK,EAAE,KAAK,CAAC,KAAK;SACnB,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,WAAW,CACf,QAAgC,EAChC,KAEC;QAED,MAAM,aAAa,GACjB,oDAAwB,CAAC,gBAAgB,CACvC,IAAI,CAAC,QAAQ,CACd,CAAC;QAEJ,OAAO,aAAa,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;IACxC,CAAC;CACF;AAhxCD,kFAgxCC"}
1
+ {"version":3,"file":"GoogleGenerativeAIAssistance.service.js","sourceRoot":"","sources":["../../../../src/providers/GoogleGenerativeAI/services/GoogleGenerativeAIAssistance.service.ts"],"names":[],"mappings":";;;AAAA,+BAAoC;AACpC,yCASuB;AACvB,+DAqB+B;AAG/B,+DAA4D;AAC5D,6CAG2B;AAC3B,yCAIoB;AACpB,4GAAqG;AACrG,wGAAoG;AACpG,8GAAuG;AAEvG,iEAAqE;AA0BrE,MAAa,mCAEX,SAAQ,+BAA+D;IAC/D,aAAa,GAA+B,IAAI,GAAG,EAAE,CAAC;IAEtD,YAAY,GAAsB,IAAI,GAAG,EAAE,CAAC;IAE5C,aAAa,GAAiC,IAAI,GAAG,EAAE,CAAC;IAExD,oBAAoB,GAAmC,IAAI,GAAG,EAAE,CAAC;IAEjE,gBAAgB,GAAwB,IAAI,GAAG,EAAE,CAAC,CAAC,yBAAyB;IAEpF,YACE,MAAsC,EACtC,QAAkB,EAClB,OAA6D;QAE7D,KAAK,CAAC,kCAAY,CAAC,kBAAkB,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;IACpE,CAAC;IAED,IAAI,QAAQ;QACV,OAAO,IAAI,CAAC,mBAAmB,CAAC,GAAG,EAAE,CAAC,IAAI,mBAAW,CAAC,IAAI,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,CAAC;IAC7E,CAAC;IAED,KAAK,CAAC,UAAU,CACd,WAA2C;QAE3C,MAAM,EACJ,IAAI,EACJ,QAAQ,EACR,IAAI,EACJ,WAAW,EACX,eAAe,GAChB,GAAG,WAAW,CAAC;QAEhB,MAAM,YAAY,GAAG,IAAI,CAAC,QAAQ,EAAE,UAAU,CAAC,eAAe,CAAC,CAAC;QAEhE,IAAI,CAAC;YACH,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;YAE9C,IAAI,YAAY,EAAE,CAAC;gBACjB,OAAO,YAAY,CAAC;YACtB,CAAC;YAED,WAAW,EAAE,cAAc,EAAE,CAAC;YAE9B,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC;gBACpD,IAAI,EAAE,IAAI;gBACV,MAAM,EAAE;oBACN,QAAQ;oBACR,WAAW,EAAE,IAAI;oBACjB,WAAW;iBACZ;aACF,CAAC,CAAC;YAEH,WAAW,EAAE,cAAc,EAAE,CAAC;YAE9B,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC;gBACvB,MAAM,IAAI,KAAK,CAAC,qCAAqC,CAAC,CAAC;YACzD,CAAC;YAED,IAAI,CAAC,YAAY,CAAC,GAAG,EAAE,CAAC;gBACtB,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAC;YACxD,CAAC;YAED,IAAI,YAAY,CAAC,KAAK,EAAE,CAAC;gBACvB,MAAM,YAAY,CAAC,KAAK,CAAC;YAC3B,CAAC;YAED,MAAM,YAAY,GAAG;gBACnB,IAAI;gBACJ,QAAQ;gBACR,MAAM,EAAE,YAAY,CAAC,IAAI;gBACzB,IAAI,EAAE,YAAY,CAAC,GAAG;aACvB,CAAC;YAEF,WAAW,EAAE,cAAc,EAAE,CAAC;YAE9B,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;YAE3C,MAAM,IAAI,CAAC,mBAAmB,CAAC;gBAC7B,MAAM,EAAE,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,UAAU,CAAC;gBAC3C,KAAK,EAAE,IAAI;gBACX,KAAK,EAAE,EAAE;gBACT,YAAY;aACb,CAAC,CAAC;YAEH,OAAO,YAAY,CAAC;QACtB,CAAC;QAAC,OAAO,KAAU,EAAE,CAAC;YACpB,MAAM,IAAI,CAAC,iBAAiB,CAAC;gBAC3B,MAAM,EAAE,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,UAAU,CAAC;gBAC3C,KAAK,EAAE,IAAI;gBACX,SAAS,EAAE,WAAW,EAAE,OAAO;gBAC/B,YAAY;aACb,CAAC,CAAC;YAEH,IAAI,CAAC,iBAAiB,CAAC;gBACrB,MAAM,EAAE,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,UAAU,CAAC;gBAC3C,OAAO,EAAE,sBAAsB;gBAC/B,KAAK;gBACL,SAAS,EAAE,WAAW,EAAE,OAAO;gBAC/B,IAAI,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE;aAC5B,CAAC,CAAC;YAEH,OAAO,EAAE,KAAK,EAAE,CAAC;QACnB,CAAC;IACH,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,IAAY;QACxB,OAAO,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC;IAC9C,CAAC;IAED,KAAK,CAAC,UAAU,CACd,MAAc;QAEd,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAElC,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC;YAC/B,IAAI,EAAE,MAAM;SACb,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,iBAAiB,CACrB,OAA+E;QAE/E,MAAM,EACJ,aAAa,EACb,KAAK,EACL,YAAY,EACZ,WAAW,EACX,eAAe,GAChB,GAAG,OAAO,CAAC;QAEZ,MAAM,YAAY,GAAG,IAAI,CAAC,QAAQ,EAAE,UAAU,CAAC,eAAe,CAAC,CAAC;QAEhE,IAAI,CAAC;YACH,WAAW,EAAE,cAAc,EAAE,CAAC;YAE9B,MAAM,KAAK,GAAG,oDAAwB,CAAC,gBAAgB,CAAC,aAAa,CAAC,CAAC;YAEvE,MAAM,aAAa,GAAG,oDAAwB;iBAC3C,gBAAgB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YAEnC,MAAM,UAAU,GAAG,MAAM,aAAa,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;YAErD,WAAW,EAAE,cAAc,EAAE,CAAC;YAE9B,IAAI,UAAU,GAAG,uDAAwB,EAAE,CAAC;gBAC1C;;;mBAGG;gBACH,MAAM,SAAS,GAAG,IAAA,SAAM,GAAE,CAAC;gBAC3B,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC;gBAExD,IAAI,CAAC,MAAM;oBACT,EAAE,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;qBAClD,IAAI,CAAC,0DAA0D,EAAE;oBAChE,SAAS;oBACT,UAAU;oBACV,WAAW,EAAE,uDAAwB;iBACtC,CAAC,CAAC;gBAEL,WAAW,EAAE,cAAc,EAAE,CAAC;gBAE9B,MAAM,IAAI,CAAC,mBAAmB,CAAC;oBAC7B,MAAM,EAAE,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,iBAAiB,CAAC;oBAClD,KAAK;oBACL,KAAK,EAAE,EAAE;oBACT,YAAY;iBACb,CAAC,CAAC;gBAEH,OAAO;oBACL,SAAS;iBACV,CAAC;YACJ,CAAC;YAED,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC;gBACpD,KAAK,EAAE,KAAK,CAAC,IAAI;gBACjB,MAAM,EAAE;oBACN,QAAQ,EAAE;wBACR;4BACE,IAAI,EAAE,qDAAuB,CAAC,IAAI;4BAClC,KAAK;yBACN;qBACF;oBACD,iBAAiB,EAAE,YAAY;oBAC/B,GAAG,EAAE,IAAI;oBACT,WAAW;iBACZ;aACF,CAAC,CAAC;YAEH,WAAW,EAAE,cAAc,EAAE,CAAC;YAE9B,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC;gBACtB,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAC;YACxD,CAAC;YAED,IAAI,WAAW,EAAE,OAAO,EAAE,CAAC;gBACzB,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAC;YACnD,CAAC;YAED,WAAW,EAAE,cAAc,EAAE,CAAC;YAE9B,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,WAAW,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;YAEtD,MAAM,IAAI,CAAC,mBAAmB,CAAC;gBAC7B,MAAM,EAAE,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,iBAAiB,CAAC;gBAClD,KAAK;gBACL,KAAK,EAAE,EAAE;gBACT,YAAY;aACb,CAAC,CAAC;YAEH,OAAO;gBACL,SAAS,EAAE,WAAW,CAAC,IAAI;aAC5B,CAAC;QACJ,CAAC;QAAC,OAAO,KAAU,EAAE,CAAC;YACpB,MAAM,IAAI,CAAC,iBAAiB,CAAC;gBAC3B,MAAM,EAAE,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,iBAAiB,CAAC;gBAClD,KAAK;gBACL,SAAS,EAAE,WAAW,EAAE,OAAO;gBAC/B,YAAY;aACb,CAAC,CAAC;YAEH,IAAI,CAAC,iBAAiB,CAAC;gBACrB,MAAM,EAAE,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,iBAAiB,CAAC;gBAClD,OAAO,EAAE,6BAA6B;gBACtC,KAAK;gBACL,SAAS,EAAE,WAAW,EAAE,OAAO;gBAC/B,IAAI,EAAE,EAAE,aAAa,EAAE,KAAK,EAAE;aAC/B,CAAC,CAAC;YAEH,OAAO,EAAE,KAAK,EAAE,CAAC;QACnB,CAAC;IACH,CAAC;IAED,KAAK,CAAC,iBAAiB,CACrB,aAAqB;QAErB,IAAI,aAAa,KAAK,EAAE,EAAE,CAAC;YACzB,OAAO;QACT,CAAC;QAED,MAAM,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;QAE5D,IAAI,aAAa,EAAE,CAAC;YAClB,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;YACzC,MAAM,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC;gBAChC,IAAI,EAAE,aAAa;aACpB,CAAC,CAAC;QACL,CAAC;QAED,IAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;IAClD,CAAC;IAED,KAAK,CAAC,UAAU,CACd,OAAwE;QAExE,MAAM,EACJ,SAAS,EACT,KAAK,EACL,YAAY,EACZ,OAAO,EAAE,eAAe,EACxB,WAAW,EACX,eAAe,GAChB,GAAG,OAAO,CAAC;QAEZ,MAAM,YAAY,GAAG,IAAI,CAAC,QAAQ,EAAE,UAAU,CAAC,eAAe,CAAC,CAAC;QAEhE,IAAI,CAAC;YACH,MAAM,aAAa,GAAG,SAAS;gBAC7B,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,SAAS,CAAC;gBACnC,CAAC,CAAC,SAAS,CAAC;YAEd,MAAM,aAAa,GAAG,SAAS;gBAC7B,CAAC,CAAC,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,SAAS,CAAC;gBAC1C,CAAC,CAAC,SAAS,CAAC;YAEd,WAAW,EAAE,cAAc,EAAE,CAAC;YAE9B,MAAM,OAAO,GAAc,eAAe;gBACxC,CAAC,CAAC,MAAM,OAAO,CAAC,GAAG,CACjB,eAAe,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAC/B,oDAAwB,CAAC,UAAU,CACjC,OAAO,EACP,IAAI,CAAC,QAAQ,EACb,IAAI,CAAC,MAAM,CACZ,CACF,CAAC,CACH;gBACD,CAAC,CAAC,EAAE,CAAC;YAEP,WAAW,EAAE,cAAc,EAAE,CAAC;YAE9B,IAAI,CAAC,aAAa,IAAI,aAAa,EAAE,CAAC;gBACpC,MAAM,SAAS,GAAG,oDAAwB,CAAC,gBAAgB,CAAC,aAAa,CAAC,CAAC;gBAE3E,OAAO,CAAC,IAAI,CAAC;oBACX,IAAI,EAAE,qDAAuB,CAAC,IAAI;oBAClC,KAAK,EAAE,SAAS;iBACjB,CAAC,CAAC;YACL,CAAC;YAED,MAAM,MAAM,GAAG,IAAA,SAAM,GAAE,CAAC;YAExB,IAAI,YAAY,EAAE,CAAC;gBACjB,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;YAClD,CAAC;YAED,MAAM,WAAW,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC;gBAC7C,KAAK,EAAE,KAAK,CAAC,IAAI;gBACjB,OAAO;gBACP,MAAM,EAAE;oBACN,iBAAiB,EAAE,YAAY;oBAC/B,WAAW,EAAE,KAAK,CAAC,MAAM,CAAC,WAAW;oBACrC,WAAW;oBACX,GAAG,CAAC,aAAa,IAAI,EAAE,aAAa,EAAE,aAAa,CAAC,IAAI,EAAE,CAAC;iBAC5D;aACF,CAAC,CAAC;YAEH,WAAW,EAAE,cAAc,EAAE,CAAC;YAE9B,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;YAE3C,MAAM,IAAI,CAAC,mBAAmB,CAAC;gBAC7B,MAAM,EAAE,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,UAAU,CAAC;gBAC3C,KAAK;gBACL,KAAK,EAAE,EAAE;gBACT,YAAY;aACb,CAAC,CAAC;YAEH,OAAO,OAAO,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC;QACrC,CAAC;QAAC,OAAO,KAAU,EAAE,CAAC;YACpB,MAAM,IAAI,CAAC,iBAAiB,CAAC;gBAC3B,MAAM,EAAE,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,UAAU,CAAC;gBAC3C,KAAK;gBACL,SAAS,EAAE,WAAW,EAAE,OAAO;gBAC/B,YAAY;aACb,CAAC,CAAC;YAEH,IAAI,CAAC,iBAAiB,CAAC;gBACrB,MAAM,EAAE,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,UAAU,CAAC;gBAC3C,OAAO,EAAE,qBAAqB;gBAC9B,KAAK;gBACL,SAAS,EAAE,WAAW,EAAE,OAAO;gBAC/B,IAAI,EAAE,EAAE,OAAO,EAAE;aAClB,CAAC,CAAC;YAEH,OAAO,OAAO,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;QACpC,CAAC;IACH,CAAC;IAED,UAAU,CACR,MAAc;QAEd,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QACjC,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAErC,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;IAC3B,CAAC;IAEO,mBAAmB,CACzB,SAA6B;QAE7B,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,MAAM,aAAa,GAAG,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QAE/D,IAAI,CAAC,aAAa,EAAE,CAAC;YACnB,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,OAAO,oDAAwB,CAAC,gBAAgB,CAAC,aAAa,CAAC,CAAC;IAClE,CAAC;IAES,KAAK,CAAC,gBAAgB,CAC9B,OAGC;QAED,MAAM,EACJ,KAAK,EACL,eAAe,EACf,WAAW,EACX,YAAY,GACb,GAAG,OAAO,CAAC;QAEZ,MAAM,YAAY,GAAG,IAAI,CAAC,QAAQ,EAAE,UAAU,CAAC,eAAe,CAAC,CAAC;QAChE,MAAM,MAAM,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;QACzD,MAAM,mBAAmB,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACvC,MAAM,MAAM,GAAG,IAAI,CAAC,eAAe,CAAC;YAClC,MAAM;YACN,KAAK;YACL,YAAY;YACZ,eAAe,EAAE,KAAK,CAAC,MAAM;SAC9B,CAAC,CAAC;QAEH,IAAI,CAAC;YACH,MAAM,EACJ,WAAW,EACX,YAAY,EACZ,iBAAiB,GAClB,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC;gBAChC,MAAM,EAAE,OAAO,CAAC,MAAM;gBACtB,OAAO,EAAE,OAAO,CAAC,OAAO;gBACxB,SAAS,EAAE,OAAO,CAAC,SAAS;gBAC5B,KAAK,EAAE,OAAO,CAAC,KAAK;gBACpB,WAAW;aACZ,CAAC,CAAC;YAEH,MAAM,YAAY,GAAG,MAAM,MAAM,CAAC,GAAG,CAAC;gBACpC,KAAK,EAAE,IAAI,CAAC,sBAAsB,CAAC;oBACjC,WAAW;oBACX,MAAM,EAAE,OAAO,CAAC,MAAM;oBACtB,aAAa,EAAE,YAAY;iBAC5B,CAAC;gBACF,IAAI,EAAE,GAAG,EAAE,CAAC,WAAW,CAAC,WAAW,CAAC;oBAClC,OAAO,EAAE,YAAY;oBACrB,MAAM,EAAE,iBAAiB;iBAC1B,CAAC;gBACF,eAAe,EAAE,IAAI,CAAC,iBAAiB;aACxC,CAAC,CAAC;YAEH,WAAW,EAAE,cAAc,EAAE,CAAC;YAE9B,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,qBAAqB,CAAC;gBACtD,WAAW;gBACX,MAAM,EAAE,OAAO,CAAC,MAAM;gBACtB,QAAQ,EAAE,YAAY;gBACtB,KAAK,EAAE,OAAO,CAAC,KAAK,IAAI,EAAE;gBAC1B,aAAa,EACT,OAAO,CAAC,iBAAiB;uBACtB,kDAA2B;gBAClC,WAAW;gBACX,MAAM,EAAE,iBAAiB;gBACzB,qBAAqB,EACnB,KAAK,CAAC,YAAY,EAAE,qBAAqB,KAAK,IAAI;gBACpD,MAAM;gBACN,oBAAoB,EAAE,OAAO,CAAC,oBAAoB;aACnD,CAAC,CAAC;YAEH,MAAM,YAAY,GAChB,cAAc,CAAC,QAAQ,CAAC,IAAI,IAAI,EAAE,CAAC;YACrC,MAAM,EAAE,UAAU,EAAE,GAAG,cAAc,CAAC;YAEtC,MAAM,IAAI,CAAC,mBAAmB,CAAC;gBAC7B,MAAM;gBACN,KAAK;gBACL,KAAK,EAAE,IAAI,CAAC,iBAAiB,CAAC,UAAU,CAAC;gBACzC,YAAY;aACb,CAAC,CAAC;YAEH,OAAO;gBACL,IAAI,EAAE,YAAY;gBAClB,kBAAkB,EAAE,cAAc,CAAC,kBAAkB;gBACrD,GAAG,CAAC,cAAc,CAAC,uBAAuB,IAAI;oBAC5C,uBAAuB,EAAE,IAAI;iBAC9B,CAAC;gBACF,UAAU,EAAE,cAAc,CAAC,UAAU;gBACrC,GAAG,CAAC,cAAc,CAAC,YAAY,IAAI;oBACjC,YAAY,EAAE,cAAc,CAAC,YAAY;iBAC1C,CAAC;aACH,CAAC;QACJ,CAAC;QAAC,OAAO,KAAU,EAAE,CAAC;YACpB,MAAM,IAAI,CAAC,iBAAiB,CAAC;gBAC3B,MAAM;gBACN,KAAK;gBACL,SAAS,EAAE,WAAW,EAAE,OAAO;gBAC/B,YAAY;gBACZ,KAAK;gBACL,eAAe,EAAE,IAAI,CAAC,sBAAsB,CAAC;oBAC3C,MAAM;oBACN,MAAM;oBACN,YAAY;oBACZ,KAAK,EAAE,OAAO,CAAC,OAAO;oBACtB,eAAe,EAAE,KAAK,CAAC,MAAM;oBAC7B,SAAS,EAAE,mBAAmB;iBAC/B,CAAC;aACH,CAAC,CAAC;YAEH,IAAI,CAAC,iBAAiB,CAAC;gBACrB,MAAM;gBACN,OAAO,EAAE,yBAAyB;gBAClC,KAAK;gBACL,SAAS,EAAE,WAAW,EAAE,OAAO;gBAC/B,IAAI,EAAE,EAAE,OAAO,EAAE;aAClB,CAAC,CAAC;YAEH,OAAO,EAAE,KAAK,EAAE,CAAC;QACnB,CAAC;IACH,CAAC;IAES,KAAK,CAAC,sBAAsB,CACpC,OAGkC;QAElC,MAAM,EACJ,KAAK,EACL,WAAW,EACX,MAAM,EACN,eAAe,EACf,YAAY,GACb,GAAG,OAAO,CAAC;QAEZ,MAAM,YAAY,GAAG,IAAI,CAAC,QAAQ,EAAE,UAAU,CAAC,eAAe,CAAC,CAAC;QAChE,MAAM,MAAM,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;QAC/D,MAAM,mBAAmB,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACvC,MAAM,MAAM,GAAG,IAAI,CAAC,eAAe,CAAC;YAClC,MAAM;YACN,KAAK;YACL,YAAY;YACZ,eAAe,EAAE,KAAK,CAAC,MAAM;SAC9B,CAAC,CAAC;QAEH,IAAI,CAAC;YACH,MAAM,YAAY,GAChB,MAAM,CAAC,iBAAiB,CACtB,kCAAY,CAAC,kBAAkB,CAChC,CAAC;YAEJ,MAAM,EACJ,WAAW,EACX,YAAY,EACZ,iBAAiB,GAClB,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC;gBAChC,MAAM,EAAE,OAAO,CAAC,MAAM;gBACtB,OAAO,EAAE,OAAO,CAAC,OAAO;gBACxB,SAAS,EAAE,OAAO,CAAC,SAAS;gBAC5B,KAAK,EAAE,OAAO,CAAC,KAAK;gBACpB,WAAW;gBACX,gBAAgB,EAAE;oBAChB,GAAG,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,IAAI;wBAC5B,gBAAgB,EACd,kBAAkB;qBACrB,CAAC;oBACF,cAAc,EAAE,YAAY;iBAC7B;aACF,CAAC,CAAC;YAEH,MAAM,YAAY,GAAG,MAAM,MAAM,CAAC,GAAG,CAAC;gBACpC,KAAK,EAAE,IAAI,CAAC,sBAAsB,CAAC;oBACjC,WAAW;oBACX,MAAM,EAAE,OAAO,CAAC,MAAM;oBACtB,aAAa,EAAE,YAAY;iBAC5B,CAAC;gBACF,IAAI,EAAE,GAAG,EAAE,CAAC,WAAW,CAAC,WAAW,CAAC;oBAClC,OAAO,EAAE,YAAY;oBACrB,MAAM,EAAE,iBAAiB;iBAC1B,CAAC;gBACF,eAAe,EAAE,IAAI,CAAC,iBAAiB;aACxC,CAAC,CAAC;YAEH,WAAW,EAAE,cAAc,EAAE,CAAC;YAE9B,MAAM,cAAc,GAClB,MAAM,IAAI,CAAC,qBAAqB,CAAC;gBAC/B,WAAW;gBACX,MAAM,EAAE,OAAO,CAAC,MAAM;gBACtB,QAAQ,EAAE,YAAY;gBACtB,KAAK,EAAE,OAAO,CAAC,KAAK,IAAI,EAAE;gBAC1B,aAAa,EACX,OAAO,CAAC,iBAAiB;uBACtB,kDAA2B;gBAChC,WAAW;gBACX,MAAM,EAAE,iBAAiB;gBACzB,qBAAqB,EACnB,KAAK,CAAC,YAAY,EAAE,qBAAqB,KAAK,IAAI;gBACpD,MAAM;gBACN,oBAAoB,EAAE,OAAO,CAAC,oBAAoB;aACnD,CAAC,CAAC;YAEL,IAAI,cAAc,CAAC,YAAY,EAAE,CAAC;gBAChC,MAAM,IAAI,CAAC,mBAAmB,CAAC;oBAC7B,MAAM,EAAE,IAAI,CAAC,aAAa,CACxB,IAAI,CAAC,sBAAsB,CAC5B;oBACD,KAAK;oBACL,KAAK,EAAE,IAAI,CAAC,iBAAiB,CAAC,cAAc,CAAC,UAAU,CAAC;oBACxD,YAAY;iBACb,CAAC,CAAC;gBAEH,OAAO;oBACL,IAAI,EAAE,cAAc,CAAC,QAAQ,CAAC,IAAI,IAAI,EAAE;oBACxC,kBAAkB,EAAE,cAAc,CAAC,kBAAkB;oBACrD,UAAU,EAAE,cAAc,CAAC,UAAU;oBACrC,YAAY,EAAE,cAAc,CAAC,YAAY;iBAC1C,CAAC;YACJ,CAAC;YAED,IAAI,iBAAyB,CAAC;YAC9B,IAAI,UAAU,GAAG,cAAc,CAAC,UAAU,CAAC;YAE3C,IAAI,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,CAAC;gBAC1B,MAAM,kBAAkB,GACtB,MAAM,IAAI,CAAC,sBAAsB,CAAC;oBAChC,WAAW;oBACX,MAAM,EAAE,OAAO,CAAC,MAAM;oBACtB,YAAY;oBACZ,WAAW;oBACX,MAAM;iBACP,CAAC,CAAC;gBAEL,iBAAiB;oBACf,kBAAkB,CAAC,IAAI,CAAC;gBAE1B,UAAU;oBACR,IAAI,CAAC,YAAY,CACf,UAAU,EACV,kBAAkB,CAAC,KAAK,CACzB,CAAC;YACN,CAAC;iBAAM,CAAC;gBACN,iBAAiB;oBACf,cAAc,CAAC,QAAQ,CAAC,IAAI,IAAI,EAAE,CAAC;YACvC,CAAC;YAED,IAAI,CAAC,iBAAiB,EAAE,CAAC;gBACvB,MAAM,IAAI,KAAK,CACb,4BAA4B;sBAC1B,0BAA0B,CAC7B,CAAC;YACJ,CAAC;YAED,IAAI,CAAC;gBACH,MAAM,MAAM,GACV,IAAI,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC;gBAChC,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;gBAEzC,MAAM,IAAI,CAAC,mBAAmB,CAAC;oBAC7B,MAAM;oBACN,KAAK;oBACL,KAAK,EAAE,IAAI,CAAC,iBAAiB,CAAC,UAAU,CAAC;oBACzC,YAAY;iBACb,CAAC,CAAC;gBAEH,MAAM,4BAA4B,GAChC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gBAEhC,OAAO;oBACL,IAAI,EAAE,iBAAiB;oBACvB,IAAI,EAAE,UAAU,CAAC,IAAI;oBACrB,UAAU,EAAE,UAAU,CAAC,KAAK;oBAC5B,kBAAkB,EAChB,cAAc,CAAC,kBAAkB;0BAC/B,4BAA4B;oBAChC,GAAG,CAAC,cAAc,CAAC,uBAAuB,IAAI;wBAC5C,uBAAuB,EAAE,IAAI;qBAC9B,CAAC;oBACF,UAAU,EAAE,cAAc,CAAC,UAAU;iBACtC,CAAC;YACJ,CAAC;YAAC,OAAO,UAAe,EAAE,CAAC;gBACzB,IAAI,CAAC,MAAM;oBACT,EAAE,KAAK,CACL,IAAI,CAAC,aAAa,CAChB,IAAI,CAAC,sBAAsB,CAC5B,CACF;qBACA,IAAI,CACH,+BAA+B,EAC/B;oBACE,OAAO,EAAE,iBAAiB;oBAC1B,UAAU,EAAE,UAAU,CAAC,OAAO;iBAC/B,CACF,CAAC;gBAEJ,MAAM,UAAU,CAAC;YACnB,CAAC;QACH,CAAC;QAAC,OAAO,KAAU,EAAE,CAAC;YACpB,MAAM,IAAI,CAAC,iBAAiB,CAAC;gBAC3B,MAAM;gBACN,KAAK;gBACL,SAAS,EAAE,WAAW,EAAE,OAAO;gBAC/B,YAAY;gBACZ,KAAK;gBACL,eAAe,EAAE,IAAI,CAAC,sBAAsB,CAAC;oBAC3C,MAAM;oBACN,MAAM;oBACN,YAAY;oBACZ,KAAK,EAAE,OAAO,CAAC,OAAO;oBACtB,eAAe,EAAE,KAAK,CAAC,MAAM;oBAC7B,SAAS,EAAE,mBAAmB;iBAC/B,CAAC;aACH,CAAC,CAAC;YAEH,IAAI,CAAC,iBAAiB,CAAC;gBACrB,MAAM;gBACN,OAAO,EAAE,gDAAgD;gBACzD,KAAK;gBACL,SAAS,EAAE,WAAW,EAAE,OAAO;gBAC/B,IAAI,EAAE,EAAE,OAAO,EAAE;aAClB,CAAC,CAAC;YAEH,OAAO;gBACL,IAAI,EAAE,EAAE;gBACR,KAAK;gBACL,UAAU,EACR,mCAAmC;sBACjC,yBAAyB;sBACzB,eAAe;aACpB,CAAC;QACJ,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,kBAAkB,CAC9B,OASC;QAMD,MAAM,WAAW,GACf,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QAExC,IAAI,CAAC,WAAW,EAAE,CAAC;YACjB,MAAM,IAAI,KAAK,CAAC,wBAAwB,CAAC,CAAC;QAC5C,CAAC;QAED,OAAO,CAAC,WAAW,EAAE,cAAc,EAAE,CAAC;QAEtC,MAAM,cAAc,GAClB,MAAM,oDAAwB,CAAC,UAAU,CACvC,OAAO,CAAC,OAAO,EACf,IAAI,CAAC,QAAQ,EACb,IAAI,CAAC,MAAM,CACZ,CAAC;QAEJ,OAAO,CAAC,WAAW,EAAE,cAAc,EAAE,CAAC;QAEtC,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,CAAC;YAC1B,MAAM,IAAI,KAAK,CACb,4BAA4B,CAC7B,CAAC;QACJ,CAAC;QAED,MAAM,gBAAgB,GACpB,IAAI,CAAC,mBAAmB,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QAE9C,IAAI,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,CAAC;YAC1B,IAAI,CAAC,uBAAuB,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QAC9C,CAAC;QAED,MAAM,WAAW,GAAG,OAAO,CAAC,KAAK,EAAE,MAAM;YACvC,CAAC,CAAC,IAAI,CAAC,0BAA0B,CAC/B,OAAO,CAAC,KAAK,CACd;YACD,CAAC,CAAC,SAAS,CAAC;QAEd,MAAM,iBAAiB,GACG;YACtB,iBAAiB,EACf,IAAI,CAAC,gBAAgB,CAAC,GAAG,CACvB,OAAO,CAAC,MAAM,CACf;YACH,WAAW,EAAE,OAAO,CAAC,WAAW;YAChC,GAAG,CAAC,WAAW,IAAI;gBACjB,KAAK,EAAE,WAAW;aACnB,CAAC;YACF,GAAG,OAAO,CAAC,gBAAgB;SAC5B,CAAC;QAEJ,OAAO;YACL,WAAW;YACX,YAAY,EAAE;gBACZ,GAAG,gBAAgB;gBACnB,GAAG,cAAc,CAAC,KAAK;aACxB;YACD,iBAAiB;SAClB,CAAC;IACJ,CAAC;IAEO,KAAK,CAAC,sBAAsB,CAClC,MAMC;QAKD,MAAM,gBAAgB,GACI;YACtB,iBAAiB,EACf,IAAI,CAAC,gBAAgB,CAAC,GAAG,CACvB,MAAM,CAAC,MAAM,CACd;YACH,gBAAgB,EAAE,kBAAkB;YACpC,cAAc,EAAE,MAAM,CAAC,YAAY;YACnC,WAAW,EAAE,MAAM,CAAC,WAAW;SAChC,CAAC;QAEJ,MAAM,aAAa,GAAW;YAC5B;gBACE,IAAI,EACF,iCAAiC;sBAC/B,2BAA2B;sBAC3B,wBAAwB;aAC7B;SACF,CAAC;QAEF,MAAM,kBAAkB,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC;YACjD,KAAK,EAAE,IAAI,CAAC,sBAAsB,CAAC;gBACjC,WAAW,EAAE,MAAM,CAAC,WAAW;gBAC/B,MAAM,EAAE,MAAM,CAAC,MAAM;gBACrB,aAAa,EAAE,aAAa;aAC7B,CAAC;YACF,IAAI,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,WAAW,CAAC,WAAW,CAAC;gBACzC,OAAO,EAAE,aAAa;gBACtB,MAAM,EAAE,gBAAgB;aACzB,CAAC;YACF,eAAe,EAAE,IAAI,CAAC,iBAAiB;SACxC,CAAC,CAAC;QAEH,OAAO;YACL,IAAI,EAAE,kBAAkB,CAAC,IAAI,IAAI,EAAE;YACnC,KAAK,EAAE,IAAI,CAAC,wBAAwB,CAClC,kBAAkB,CACnB;SACF,CAAC;IACJ,CAAC;IAED;;;;;OAKG;IACK,sBAAsB,CAAC,MAI9B;QACC,MAAM,YAAY,GAAG,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAE9D,OAAO;YACL,GAAG,CAAC,YAAY;gBACd,CAAC,CAAC,CAAC;wBACD,IAAI,EAAE,QAAiB;wBACvB,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC;qBAChC,CAAC;gBACF,CAAC,CAAC,EAAE,CAAC;YACP,GAAG,MAAM,CAAC,WAAW,CAAC,UAAU,EAAE;YAClC;gBACE,IAAI,EAAE,qDAAuB,CAAC,IAAI;gBAClC,KAAK,EAAE,MAAM,CAAC,aAAa;aAC5B;SACF,CAAC;IACJ,CAAC;IAED;;;;OAIG;IACK,iBAAiB,CACvB,KAA6B;QAE7B,OAAO;YACL,eAAe,EAAE,KAAK,CAAC,YAAY,GAAG,KAAK,CAAC,YAAY;YACxD,qBAAqB,EAAE,KAAK,CAAC,YAAY;YACzC,gBAAgB,EAAE,KAAK,CAAC,gBAAgB;SACzC,CAAC;IACJ,CAAC;IAEgB,iBAAiB,GAAG,CACnC,QAAiC,EACX,EAAE,CAAC,CAAC;QAC1B,MAAM,EAAE,QAAQ,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO;QACzC,KAAK,EAAE,IAAI,CAAC,iBAAiB,CAC3B,IAAI,CAAC,wBAAwB,CAAC,QAAQ,CAAC,CACxC;KACF,CAAC,CAAC;IAEK,wBAAwB,CAC9B,QAAiC;QAEjC,OAAO;YACL,YAAY,EACV,QAAQ,CAAC,aAAa;gBACpB,EAAE,gBAAgB,IAAI,CAAC;YAC3B,YAAY,EACV,QAAQ,CAAC,aAAa;gBACpB,EAAE,uBAAuB,IAAI,CAAC;YAClC,gBAAgB,EACd,QAAQ,CAAC,aAAa;gBACpB,EAAE,oBAAoB,IAAI,CAAC;SAChC,CAAC;IACJ,CAAC;IAEO,YAAY,CAClB,KAA6B,EAC7B,MAA8B;QAE9B,OAAO;YACL,YAAY,EACV,KAAK,CAAC,YAAY;kBAChB,MAAM,CAAC,YAAY;YACvB,YAAY,EACV,KAAK,CAAC,YAAY;kBAChB,MAAM,CAAC,YAAY;YACvB,gBAAgB,EACd,KAAK,CAAC,gBAAgB;kBACpB,MAAM,CAAC,gBAAgB;SAC5B,CAAC;IACJ,CAAC;IAEO,0BAA0B,CAChC,KAA0B;QAE1B,MAAM,oBAAoB,GAAG,KAAK,CAAC,GAAG,CACpC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;YACT,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,UAAU,EACR,IAAI,CAAC,UAAU,CAAC,iBAAiB,CAC/B,kCAAY,CAAC,kBAAkB,CAChC;SACJ,CAAC,CACH,CAAC;QAEF,OAAO,CAAC,EAAE,oBAAoB,EAAE,CAAC,CAAC;IACpC,CAAC;IAEO,KAAK,CAAC,qBAAqB,CACjC,MAWC;QASD,MAAM,EACJ,WAAW,EACX,MAAM,EACN,KAAK,EACL,aAAa,EACb,WAAW,EACX,MAAM,EACN,qBAAqB,EACrB,MAAM,EACN,oBAAoB,GACrB,GAAG,MAAM,CAAC;QAEX,IAAI,eAAe,GAAG,MAAM,CAAC,QAAQ,CAAC;QAEtC,MAAM,UAAU,GACd,IAAI,CAAC,wBAAwB,CAC3B,eAAe,CAChB,CAAC;QAEJ,IAAI,kBAAkB,GAAG,CAAC,CAAC;QAC3B,IAAI,YAAgD,CAAC;QAErD,KACE,IAAI,SAAS,GAAG,CAAC,EACjB,SAAS,GAAG,aAAa,EACzB,SAAS,EAAE,EACX,CAAC;YACD,MAAM,iBAAiB,GAAG,CACxB,eAAe,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC;gBAC7B,EAAE,OAAO,EAAE,KAAK,IAAI,EAAE,CACzB,CAAC,MAAM,CACN,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,YAAY,EAAE,IAAI,CAClC,CAAC;YAEF,IAAI,iBAAiB,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACnC,MAAM;YACR,CAAC;YAED,IAAI,oBAAoB,EAAE,CAAC;gBACzB,oBAAoB,CAClB,IAAI,CAAC,2BAA2B,CAAC,eAAe,CAAC,CAClD,CAAC;YACJ,CAAC;YAED,WAAW,EAAE,cAAc,EAAE,CAAC;YAE9B,MAAM,KAAK,GAAG,iBAAiB,CAAC,GAAG,CACjC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;gBACT,IAAI,EACF,IAAI,CAAC,YAAY,EAAE,IAAI,IAAI,EAAE;gBAC/B,IAAI,EAAE,CACJ,IAAI,CAAC,YAAY,EAAE,IAAI,IAAI,EAAE,CACH;aAC7B,CAAC,CACH,CAAC;YAEF,MAAM,aAAa,GACjB,MAAM,IAAI,CAAC,0BAA0B,CACnC,KAAK,EACL,KAAK,CACN,CAAC;YAEJ,MAAM,YAAY,GAAG,aAAa,CAAC,IAAI,CACrC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,UAAU,CAClC,CAAC;YAEF,IAAI,YAAY,EAAE,CAAC;gBACjB,WAAW,EAAE,cAAc,EAAE,CAAC;gBAE9B,YAAY,GAAG;oBACb,IAAI,EAAE,YAAY,CAAC,IAAI;oBACvB,MAAM,EAAE,YAAY,CAAC,MAAM;iBAC5B,CAAC;gBAEF,MAAM;YACR,CAAC;YAED,MAAM,qBAAqB,GACzB,MAAM,IAAI,CAAC,0BAA0B,CACnC,aAAa,EACb,qBAAqB,CACtB,CAAC;YAEJ,WAAW,EAAE,cAAc,EAAE,CAAC;YAE9B,eAAe,GAAG,MAAM,MAAM,CAAC,GAAG,CAAC;gBACjC,KAAK,EAAE,IAAI,CAAC,sBAAsB,CAAC;oBACjC,WAAW;oBACX,MAAM;oBACN,aAAa,EAAE,qBAAqB;iBACrC,CAAC;gBACF,IAAI,EAAE,GAAG,EAAE,CAAC,WAAW,CAAC,WAAW,CAAC;oBAClC,OAAO,EAAE,qBAAqB;oBAC9B,MAAM;iBACP,CAAC;gBACF,eAAe,EAAE,IAAI,CAAC,iBAAiB;aACxC,CAAC,CAAC;YAEH,kBAAkB,IAAI,CAAC,CAAC;YAExB,MAAM,cAAc,GAClB,IAAI,CAAC,wBAAwB,CAC3B,eAAe,CAChB,CAAC;YAEJ,UAAU,CAAC,YAAY;gBACrB,cAAc,CAAC,YAAY,CAAC;YAC9B,UAAU,CAAC,YAAY;gBACrB,cAAc,CAAC,YAAY,CAAC;YAC9B,UAAU,CAAC,gBAAgB;gBACzB,cAAc,CAAC,gBAAgB,CAAC;QACpC,CAAC;QAED,MAAM,uBAAuB,GAAG,CAAC,YAAY,IAAI,CAC/C,eAAe,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC;YAC7B,EAAE,OAAO,EAAE,KAAK,IAAI,EAAE,CACzB,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,CAAC;QAE1C,IAAI,uBAAuB,EAAE,CAAC;YAC5B,IAAI,CAAC,MAAM;gBACT,EAAE,KAAK,CACL,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAC/C;iBACA,IAAI,CAAC,qCAAqC,EAAE;gBAC3C,iBAAiB,EAAE,aAAa;gBAChC,kBAAkB;aACnB,CAAC,CAAC;QACP,CAAC;QAED,OAAO;YACL,QAAQ,EAAE,eAAe;YACzB,UAAU;YACV,kBAAkB;YAClB,uBAAuB;YACvB,UAAU,EAAE,IAAI,CAAC,yBAAyB,CAAC;gBACzC,YAAY;gBACZ,uBAAuB;aACxB,CAAC;YACF,YAAY;SACb,CAAC;IACJ,CAAC;IAED;;;;OAIG;IACK,2BAA2B,CACjC,QAAiC;QAEjC,OAAO,CAAC,QAAQ,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,KAAK,IAAI,EAAE,CAAC;aACpD,MAAM,CACL,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,IAAI,CAAC,IAAI,KAAK,QAAQ,IAAI,IAAI,CAAC,OAAO,KAAK,IAAI,CACjE;aACA,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC;aACxB,IAAI,CAAC,EAAE,CAAC,CAAC;IACd,CAAC;IAEO,0BAA0B,CAChC,KAGG,EACH,KAA0B;QAE1B,OAAO,OAAO,CAAC,GAAG,CAChB,KAAK,CAAC,GAAG,CACP,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,+BAA+B,CAC5C,IAAI,EACJ,KAAK,CACN,CACF,CACF,CAAC;IACJ,CAAC;IAEO,KAAK,CAAC,0BAA0B,CACtC,aAA2C,EAC3C,qBAA8B;QAE9B,IAAI,qBAAqB,EAAE,CAAC;YAC1B,OAAO,OAAO,CAAC,GAAG,CAChB,aAAa,CAAC,GAAG,CACf,CAAC,YAAY,EAAE,EAAE,CAAC,IAAI,CAAC,+BAA+B,CACpD,YAAY,CACb,CACF,CACF,CAAC;QACJ,CAAC;QAED,OAAO,IAAI,CAAC,kCAAkC,CAC5C,aAAa,CACd,CAAC;IACJ,CAAC;IAEO,KAAK,CAAC,+BAA+B,CAC3C,IAGC,EACD,KAA0B;QAE1B,MAAM,YAAY,GAAG,KAAK,CAAC,IAAI,CAC7B,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI,CAClC,CAAC;QAEF,IAAI,CAAC,YAAY,EAAE,CAAC;YAClB,MAAM,kBAAkB,GAAG,wBAAwB,IAAI,CAAC,IAAI,GAAG,CAAC;YAEhE,OAAO;gBACL,IAAI,EAAE,IAAI,CAAC,IAAI;gBACf,MAAM,EAAE;oBACN,OAAO,EAAE,kBAAkB;oBAC3B,MAAM,EAAE,EAAE;iBACX;gBACD,MAAM,EAAE,kBAAkB;gBAC1B,UAAU,EAAE,KAAK;aAClB,CAAC;QACJ,CAAC;QAED,MAAM,UAAU,GAAG,YAAY,CAAC,QAAQ,KAAK,IAAI,CAAC;QAElD,IAAI,CAAC;YACH,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,SAAS,EAAE,CAAC,mBAAmB,CAC1D,GAAG,IAAI,CAAC,WAAW,SAAS,IAAI,CAAC,IAAI,EAAE,EACvC,IAAI,CAAC,IAAI,EACT,GAAG,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CACvD,CAAC;YAEF,OAAO;gBACL,IAAI,EAAE,IAAI,CAAC,IAAI;gBACf,MAAM,EAAE,IAAA,2BAAmB,EAAC,SAAS,CAAC;gBACtC,MAAM,EAAE,SAAS;gBACjB,UAAU;aACX,CAAC;QACJ,CAAC;QAAC,OAAO,cAAuB,EAAE,CAAC;YACjC,MAAM,OAAO,GAAG,cAAc,YAAY,KAAK;gBAC7C,CAAC,CAAC,cAAc,CAAC,OAAO;gBACxB,CAAC,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC;YAE3B,IAAI,CAAC,MAAM;gBACT,EAAE,KAAK,CACL,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,+BAA+B,CAAC,CACzD;iBACA,KAAK,CAAC,uBAAuB,EAAE;gBAC9B,QAAQ,EAAE,IAAI,CAAC,IAAI;gBACnB,KAAK,EAAE,IAAA,+BAAc,EAAC,cAAc,CAAC;aACtC,CAAC,CAAC;YAEL,MAAM,cAAc,GAAG,UAAU,OAAO,EAAE,CAAC;YAE3C,OAAO;gBACL,IAAI,EAAE,IAAI,CAAC,IAAI;gBACf,MAAM,EAAE;oBACN,OAAO,EAAE,cAAc;oBACvB,MAAM,EAAE,EAAE;iBACX;gBACD,MAAM,EAAE,cAAc;gBACtB,UAAU;aACX,CAAC;QACJ,CAAC;IACH,CAAC;IAED;;;;OAIG;IACK,KAAK,CAAC,+BAA+B,CAC3C,YAAwC;QAExC,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,YAAY,CAAC;QAEtC,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC/B,OAAO;gBACL,gBAAgB,EAAE;oBAChB,IAAI;oBACJ,QAAQ,EAAE,EAAE,MAAM,EAAE,MAAM,CAAC,OAAO,EAAE;iBACrC;aACF,CAAC;QACJ,CAAC;QAED,MAAM,UAAU,GAAG,MAAM,OAAO,CAAC,GAAG,CAClC,MAAM,CAAC,MAAM,CAAC,GAAG,CACf,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,kBAAkB,CACvC,KAAK,EACL,GAAG,IAAI,UAAU,KAAK,GAAG,CAAC,EAAE,CAC7B,CACF,CACF,CAAC;QAEF,OAAO;YACL,gBAAgB,EAAE;gBAChB,IAAI;gBACJ,QAAQ,EAAE;oBACR,MAAM,EAAE,MAAM,CAAC,OAAO;oBACtB,MAAM,EAAE,UAAU,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;wBAChC,GAAG,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC;wBACxC,IAAI,EAAE,IAAI,CAAC,WAAW;qBACvB,CAAC,CAAC;iBACJ;gBACD,KAAK,EAAE,UAAU,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;oBAC/B,UAAU,EAAE;wBACV,QAAQ,EAAE,IAAI,CAAC,QAAQ;wBACvB,IAAI,EAAE,IAAI,CAAC,IAAI;wBACf,WAAW,EAAE,IAAI,CAAC,WAAW;qBAC9B;iBACF,CAAC,CAAC;aACJ;SACF,CAAC;IACJ,CAAC;IAED;;;;OAIG;IACK,KAAK,CAAC,kCAAkC,CAC9C,aAA2C;QAE3C,MAAM,qBAAqB,GAAW,aAAa,CAAC,GAAG,CACrD,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,CAAC;YACrB,gBAAgB,EAAE;gBAChB,IAAI;gBACJ,QAAQ,EAAE,EAAE,MAAM,EAAE,MAAM,CAAC,OAAO,EAAE;aACrC;SACF,CAAC,CACH,CAAC;QAEF,MAAM,MAAM,GAAG,aAAa,CAAC,OAAO,CAClC,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,CAC9B,CAAC;QAEF,MAAM,UAAU,GAAG,MAAM,OAAO,CAAC,GAAG,CAClC,MAAM,CAAC,GAAG,CACR,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,qBAAqB,CAAC,KAAK,CAAC,CAC7C,CACF,CAAC;QAEF,OAAO;YACL,GAAG,qBAAqB;YACxB,GAAG,UAAU,CAAC,IAAI,EAAE;SACrB,CAAC;IACJ,CAAC;IAEO,KAAK,CAAC,qBAAqB,CACjC,KAAyB;QAEzB,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC;QAElD,MAAM,SAAS,GAAS;YACtB,UAAU,EAAE;gBACV,QAAQ,EAAE,IAAI,CAAC,QAAQ;gBACvB,IAAI,EAAE,IAAI,CAAC,IAAI;aAChB;SACF,CAAC;QAEF,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;YAChB,OAAO,CAAC,SAAS,CAAC,CAAC;QACrB,CAAC;QAED,OAAO,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,KAAK,EAAE,EAAE,SAAS,CAAC,CAAC;IAC3C,CAAC;IAEO,KAAK,CAAC,kBAAkB,CAC9B,KAAyB,EACzB,WAAoB;QAEpB,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAExC,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;YACjB,MAAM,IAAI,KAAK,CACb,+BAA+B,QAAQ,CAAC,MAAM,EAAE;kBAC9C,IAAI,QAAQ,CAAC,UAAU,MAAM,KAAK,CAAC,GAAG,EAAE,CAC3C,CAAC;QACJ,CAAC;QAED,MAAM,WAAW,GAAG,MAAM,QAAQ,CAAC,WAAW,EAAE,CAAC;QAEjD,OAAO;YACL,QAAQ,EAAE,KAAK,CAAC,QAAQ,IAAI,WAAW;YACvC,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC;YACjD,WAAW;YACX,KAAK,EAAE,KAAK,CAAC,KAAK;SACnB,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,WAAW,CACf,QAAgC,EAChC,KAEC;QAED,MAAM,aAAa,GACjB,oDAAwB,CAAC,gBAAgB,CACvC,IAAI,CAAC,QAAQ,CACd,CAAC;QAEJ,OAAO,aAAa,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;IACxC,CAAC;CACF;AA/0CD,kFA+0CC"}
@@ -26,6 +26,12 @@ export declare class LLMAPIAssistanceService<Reporter extends LLMReporterInterfa
26
26
  private prepareChatForAssist;
27
27
  private appendUserMessageToChat;
28
28
  private injectSchemaInstruction;
29
+ /**
30
+ * One round's usage, mapped exactly as `buildToolLoopUsage` maps the run
31
+ * total, so the per-round generations add up to the single metrics point the
32
+ * run still writes.
33
+ */
34
+ private buildRoundUsage;
29
35
  private buildToolLoopUsage;
30
36
  private injectFileContext;
31
37
  private buildToolsArray;
@@ -182,6 +182,12 @@ class LLMAPIAssistanceService extends services_1.LLMAssistanceService {
182
182
  const writeMetrics = this.reporter?.initWriter(reporterContext);
183
183
  const method = this.getMethodName(this.assistInChatText);
184
184
  const generationStartedAt = Date.now();
185
+ const rounds = this.openAgentRounds({
186
+ method,
187
+ model,
188
+ traceContext,
189
+ modelParameters: model.config,
190
+ });
185
191
  try {
186
192
  const { storageId, tools, } = this.prepareChatForAssist(options);
187
193
  const toolLoopResult = await this.executeToolLoop({
@@ -192,6 +198,7 @@ class LLMAPIAssistanceService extends services_1.LLMAssistanceService {
192
198
  customTools,
193
199
  maxToolIterations,
194
200
  abortSignal,
201
+ rounds,
195
202
  onAssistantNarration: options.onAssistantNarration,
196
203
  });
197
204
  const text = toolLoopResult.text;
@@ -201,14 +208,6 @@ class LLMAPIAssistanceService extends services_1.LLMAssistanceService {
201
208
  model,
202
209
  usage: this.buildToolLoopUsage(toolLoopResult),
203
210
  writeMetrics,
204
- generationTrace: this.buildGenerationTrace({
205
- method,
206
- traceContext,
207
- input: options.message,
208
- output: text,
209
- modelParameters: model.config,
210
- startedAt: generationStartedAt,
211
- }),
212
211
  });
213
212
  return {
214
213
  text,
@@ -229,7 +228,8 @@ class LLMAPIAssistanceService extends services_1.LLMAssistanceService {
229
228
  isAborted: abortSignal?.aborted,
230
229
  writeMetrics,
231
230
  error,
232
- generationTrace: this.buildGenerationTrace({
231
+ generationTrace: this.buildUnstartedRunTrace({
232
+ rounds,
233
233
  method,
234
234
  traceContext,
235
235
  input: options.message,
@@ -256,6 +256,12 @@ class LLMAPIAssistanceService extends services_1.LLMAssistanceService {
256
256
  const writeMetrics = this.reporter?.initWriter(reporterContext);
257
257
  const method = this.getMethodName(this.assistInChatStructured);
258
258
  const generationStartedAt = Date.now();
259
+ const rounds = this.openAgentRounds({
260
+ method,
261
+ model,
262
+ traceContext,
263
+ modelParameters: model.config,
264
+ });
259
265
  try {
260
266
  const { storageId, tools } = this.prepareChatForAssist(options);
261
267
  const jsonSchema = schema._toProviderSchema(LLMService_typedefs_1.LLMProviders.LLMAPI);
@@ -273,6 +279,7 @@ class LLMAPIAssistanceService extends services_1.LLMAssistanceService {
273
279
  maxToolIterations,
274
280
  abortSignal,
275
281
  responseFormat,
282
+ rounds,
276
283
  onAssistantNarration: options.onAssistantNarration,
277
284
  });
278
285
  const text = (0, utilities_1.stripThinkingTags)(toolLoopResult.text);
@@ -285,14 +292,6 @@ class LLMAPIAssistanceService extends services_1.LLMAssistanceService {
285
292
  model,
286
293
  usage,
287
294
  writeMetrics,
288
- generationTrace: this.buildGenerationTrace({
289
- method,
290
- traceContext,
291
- input: options.message,
292
- output: text,
293
- modelParameters: model.config,
294
- startedAt: generationStartedAt,
295
- }),
296
295
  });
297
296
  return {
298
297
  text,
@@ -320,14 +319,6 @@ class LLMAPIAssistanceService extends services_1.LLMAssistanceService {
320
319
  model,
321
320
  usage,
322
321
  writeMetrics,
323
- generationTrace: this.buildGenerationTrace({
324
- method,
325
- traceContext,
326
- input: options.message,
327
- output: text,
328
- modelParameters: model.config,
329
- startedAt: generationStartedAt,
330
- }),
331
322
  });
332
323
  if ('error' in structuredResult) {
333
324
  return structuredResult;
@@ -348,7 +339,8 @@ class LLMAPIAssistanceService extends services_1.LLMAssistanceService {
348
339
  isAborted: abortSignal?.aborted,
349
340
  writeMetrics,
350
341
  error,
351
- generationTrace: this.buildGenerationTrace({
342
+ generationTrace: this.buildUnstartedRunTrace({
343
+ rounds,
352
344
  method,
353
345
  traceContext,
354
346
  input: options.message,
@@ -427,6 +419,19 @@ class LLMAPIAssistanceService extends services_1.LLMAssistanceService {
427
419
  messages.shift();
428
420
  };
429
421
  }
422
+ /**
423
+ * One round's usage, mapped exactly as `buildToolLoopUsage` maps the run
424
+ * total, so the per-round generations add up to the single metrics point the
425
+ * run still writes.
426
+ */
427
+ buildRoundUsage(usage) {
428
+ return this.buildToolLoopUsage({
429
+ totalPromptTokens: usage?.prompt_tokens ?? 0,
430
+ totalCachedTokens: usage?.prompt_tokens_details?.cached_tokens ?? 0,
431
+ totalOutputTokens: usage?.completion_tokens ?? 0,
432
+ totalReasoningTokens: usage?.completion_tokens_details?.reasoning_tokens ?? 0,
433
+ });
434
+ }
430
435
  buildToolLoopUsage(result) {
431
436
  return {
432
437
  inputTextTokens: result.totalPromptTokens
@@ -493,7 +498,7 @@ class LLMAPIAssistanceService extends services_1.LLMAssistanceService {
493
498
  return tools;
494
499
  }
495
500
  async executeToolLoop(options) {
496
- const { chatId, model, tools, storageId, customTools, maxToolIterations, abortSignal, responseFormat, onAssistantNarration, } = options;
501
+ const { chatId, model, tools, storageId, customTools, maxToolIterations, abortSignal, rounds, responseFormat, onAssistantNarration, } = options;
497
502
  let totalPromptTokens = 0;
498
503
  let totalCachedTokens = 0;
499
504
  let totalOutputTokens = 0;
@@ -508,12 +513,19 @@ class LLMAPIAssistanceService extends services_1.LLMAssistanceService {
508
513
  toolIterationsExhausted = toolIterationsUsed >= maxToolIterations;
509
514
  const hasTools = tools.length > 0;
510
515
  this.logOutgoingToolCalls(chatId, iteration);
511
- const response = await this.createToolLoopCompletion({
512
- chatId,
513
- model,
514
- tools: hasTools ? tools : undefined,
515
- responseFormat,
516
- abortSignal,
516
+ const response = await rounds.run({
517
+ input: [...this.chatState.getMessages(chatId)],
518
+ call: () => this.createToolLoopCompletion({
519
+ chatId,
520
+ model,
521
+ tools: hasTools ? tools : undefined,
522
+ responseFormat,
523
+ abortSignal,
524
+ }),
525
+ describeOutcome: (completion) => ({
526
+ output: completion.choices[0]?.message,
527
+ usage: this.buildRoundUsage(completion.usage),
528
+ }),
517
529
  });
518
530
  const choice = response.choices[0];
519
531
  totalPromptTokens += response.usage?.prompt_tokens ?? 0;