hoi4-agent-tools 0.1.7 → 0.2.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 (99) hide show
  1. package/CHANGELOG.md +24 -0
  2. package/README.md +31 -25
  3. package/SECURITY.md +4 -2
  4. package/dist/bin/setup.js +11 -4
  5. package/dist/bin/setup.js.map +1 -1
  6. package/dist/hoi4_agent_tools/core/configuration.d.ts +1 -0
  7. package/dist/hoi4_agent_tools/core/configuration.d.ts.map +1 -1
  8. package/dist/hoi4_agent_tools/core/configuration.js +3 -3
  9. package/dist/hoi4_agent_tools/core/configuration.js.map +1 -1
  10. package/dist/hoi4_agent_tools/core/engine.d.ts +1 -0
  11. package/dist/hoi4_agent_tools/core/engine.d.ts.map +1 -1
  12. package/dist/hoi4_agent_tools/core/engine.js +1 -0
  13. package/dist/hoi4_agent_tools/core/engine.js.map +1 -1
  14. package/dist/hoi4_agent_tools/core/transactions.d.ts +2 -0
  15. package/dist/hoi4_agent_tools/core/transactions.d.ts.map +1 -1
  16. package/dist/hoi4_agent_tools/core/transactions.js +49 -6
  17. package/dist/hoi4_agent_tools/core/transactions.js.map +1 -1
  18. package/dist/hoi4_agent_tools/core/workspace.js +1 -1
  19. package/dist/hoi4_agent_tools/core/workspace.js.map +1 -1
  20. package/dist/hoi4_agent_tools/focus/service.d.ts.map +1 -1
  21. package/dist/hoi4_agent_tools/focus/service.js +4 -18
  22. package/dist/hoi4_agent_tools/focus/service.js.map +1 -1
  23. package/dist/hoi4_agent_tools/gui/studio.d.ts.map +1 -1
  24. package/dist/hoi4_agent_tools/gui/studio.js +3 -2
  25. package/dist/hoi4_agent_tools/gui/studio.js.map +1 -1
  26. package/dist/hoi4_agent_tools/map/service.d.ts.map +1 -1
  27. package/dist/hoi4_agent_tools/map/service.js +11 -5
  28. package/dist/hoi4_agent_tools/map/service.js.map +1 -1
  29. package/dist/hoi4_agent_tools/mcp/prompts/register.d.ts +2 -1
  30. package/dist/hoi4_agent_tools/mcp/prompts/register.d.ts.map +1 -1
  31. package/dist/hoi4_agent_tools/mcp/prompts/register.js +35 -13
  32. package/dist/hoi4_agent_tools/mcp/prompts/register.js.map +1 -1
  33. package/dist/hoi4_agent_tools/mcp/registry/metadata.d.ts +1 -1
  34. package/dist/hoi4_agent_tools/mcp/security/auth.d.ts.map +1 -1
  35. package/dist/hoi4_agent_tools/mcp/security/auth.js +1 -4
  36. package/dist/hoi4_agent_tools/mcp/security/auth.js.map +1 -1
  37. package/dist/hoi4_agent_tools/mcp/server/base-tools.d.ts +12 -0
  38. package/dist/hoi4_agent_tools/mcp/server/base-tools.d.ts.map +1 -1
  39. package/dist/hoi4_agent_tools/mcp/server/base-tools.js +239 -220
  40. package/dist/hoi4_agent_tools/mcp/server/base-tools.js.map +1 -1
  41. package/dist/hoi4_agent_tools/mcp/server/create.d.ts.map +1 -1
  42. package/dist/hoi4_agent_tools/mcp/server/create.js +8 -2
  43. package/dist/hoi4_agent_tools/mcp/server/create.js.map +1 -1
  44. package/dist/hoi4_agent_tools/mcp/server/output-schemas.d.ts +5 -0
  45. package/dist/hoi4_agent_tools/mcp/server/output-schemas.d.ts.map +1 -1
  46. package/dist/hoi4_agent_tools/mcp/server/output-schemas.js +1 -0
  47. package/dist/hoi4_agent_tools/mcp/server/output-schemas.js.map +1 -1
  48. package/dist/hoi4_agent_tools/mcp/server/result.js +1 -1
  49. package/dist/hoi4_agent_tools/mcp/server/result.js.map +1 -1
  50. package/dist/hoi4_agent_tools/mcp/server/transaction-execution.d.ts +31 -0
  51. package/dist/hoi4_agent_tools/mcp/server/transaction-execution.d.ts.map +1 -0
  52. package/dist/hoi4_agent_tools/mcp/server/transaction-execution.js +127 -0
  53. package/dist/hoi4_agent_tools/mcp/server/transaction-execution.js.map +1 -0
  54. package/dist/hoi4_agent_tools/mcp/tools/focus.d.ts.map +1 -1
  55. package/dist/hoi4_agent_tools/mcp/tools/focus.js +69 -23
  56. package/dist/hoi4_agent_tools/mcp/tools/focus.js.map +1 -1
  57. package/dist/hoi4_agent_tools/mcp/tools/gui.d.ts +6 -0
  58. package/dist/hoi4_agent_tools/mcp/tools/gui.d.ts.map +1 -1
  59. package/dist/hoi4_agent_tools/mcp/tools/gui.js +40 -12
  60. package/dist/hoi4_agent_tools/mcp/tools/gui.js.map +1 -1
  61. package/dist/hoi4_agent_tools/mcp/tools/map.d.ts.map +1 -1
  62. package/dist/hoi4_agent_tools/mcp/tools/map.js +39 -12
  63. package/dist/hoi4_agent_tools/mcp/tools/map.js.map +1 -1
  64. package/dist/hoi4_agent_tools/mcp/transports/http.d.ts.map +1 -1
  65. package/dist/hoi4_agent_tools/mcp/transports/http.js +3 -0
  66. package/dist/hoi4_agent_tools/mcp/transports/http.js.map +1 -1
  67. package/dist/hoi4_agent_tools/version.d.ts +1 -1
  68. package/dist/hoi4_agent_tools/version.js +1 -1
  69. package/docs/README.md +2 -2
  70. package/docs/adr/0012-autonomous-rewrites.md +55 -0
  71. package/docs/adr/README.md +1 -0
  72. package/docs/agent-integration.md +33 -23
  73. package/docs/architecture.md +20 -4
  74. package/docs/artifacts.md +8 -5
  75. package/docs/completion-report.md +85 -125
  76. package/docs/configuration.md +24 -8
  77. package/docs/focus-workflow.md +16 -14
  78. package/docs/gui-workflow.md +7 -3
  79. package/docs/limitations.md +3 -2
  80. package/docs/map-workflow.md +15 -9
  81. package/docs/performance.md +1 -1
  82. package/docs/release.md +11 -9
  83. package/docs/research/mcp-2026-07-10.md +9 -3
  84. package/docs/security.md +12 -6
  85. package/docs/self-hosting.md +8 -6
  86. package/docs/transactions.md +45 -33
  87. package/docs/troubleshooting.md +12 -4
  88. package/package.json +2 -2
  89. package/schemas/configuration.schema.json +3 -2
  90. package/schemas/continuous-focus-palette.schema.json +1 -1
  91. package/schemas/focus-plan.schema.json +1 -1
  92. package/schemas/focus-planning-sidecar.schema.json +1 -1
  93. package/schemas/gui-animation-source.schema.json +1 -1
  94. package/schemas/gui-helper.schema.json +1 -1
  95. package/schemas/gui-scenario.schema.json +1 -1
  96. package/schemas/map-operation.schema.json +1 -1
  97. package/schemas/operation-result.schema.json +1 -1
  98. package/schemas/transaction-manifest.schema.json +1 -1
  99. package/server.json +3 -3
@@ -14,6 +14,7 @@ import { nonNegativeIntegerSchema, renderHashesSchema, sha256Schema, } from '../
14
14
  import { progressReporter } from '../server/progress.js';
15
15
  import { errorResult, setInlineFilesScanned, strictOperationResultSchema, toolResult, } from '../server/result.js';
16
16
  import { requireServerScope, transactionResourceLink, } from '../server/base-tools.js';
17
+ import { autonomousFailureContext, autonomousResultArtifacts, autonomousWrites, executePlannedTransaction, } from '../server/transaction-execution.js';
17
18
  const focusScanOutputSchema = strictOperationResultSchema(z
18
19
  .object({
19
20
  revision: sha256Schema,
@@ -113,6 +114,7 @@ const focusPlanOutputSchema = strictOperationResultSchema(z.discriminatedUnion('
113
114
  treeId: z.string().max(256),
114
115
  drift: focusDriftOutputSchema,
115
116
  created: z.boolean(),
117
+ execution: z.enum(['planned', 'applied', 'blocked', 'unchanged']),
116
118
  layoutHash: sha256Schema,
117
119
  expiresAt: z.iso.datetime(),
118
120
  transactionFileCount: nonNegativeIntegerSchema,
@@ -125,6 +127,7 @@ const focusPlanOutputSchema = strictOperationResultSchema(z.discriminatedUnion('
125
127
  paletteId: z.string().max(256),
126
128
  drift: continuousFocusDriftOutputSchema,
127
129
  created: z.boolean(),
130
+ execution: z.enum(['planned', 'applied', 'blocked', 'unchanged']),
128
131
  expiresAt: z.iso.datetime(),
129
132
  transactionFileCount: nonNegativeIntegerSchema,
130
133
  transactionArtifactCount: nonNegativeIntegerSchema,
@@ -389,6 +392,7 @@ function validationFromDiagnostics(diagnostics) {
389
392
  };
390
393
  }
391
394
  export function registerFocusTools(server, engine, context) {
395
+ const autonomous = autonomousWrites(engine);
392
396
  const workbench = new FocusWorkbench(engine.resolver, engine.transactions, engine.artifacts);
393
397
  server.registerTool('hoi4.focus_scan', {
394
398
  title: 'Scan focus trees',
@@ -745,14 +749,16 @@ export function registerFocusTools(server, engine, context) {
745
749
  return errorResult(error, workspaceId);
746
750
  }
747
751
  });
748
- server.registerTool('hoi4.focus_plan_changes', {
749
- title: 'Dry-run focus source changes',
750
- description: 'Compile a validated national tree or continuous palette plan into source and create a hash-bound dry-run transaction; never applies it. Omit mode for national behavior. National plans accept the same bounded horizontalSpacing, verticalSpacing, and padding controls as focus_render plus a uniform reviewScale that preserves logical SVG geometry while reducing both before/proposed raster outputs. For an unoccupied new source, pass createIfMissing: true with plan:<id> and zero-hash creation provenance.',
752
+ server.registerTool(autonomous ? 'hoi4.focus_rewrite' : 'hoi4.focus_plan_changes', {
753
+ title: autonomous ? 'Rewrite focus source' : 'Dry-run focus source changes',
754
+ description: `${autonomous
755
+ ? 'Compile, validate, journal, and immediately apply a national tree or continuous palette plan in one call. No transaction approval or follow-up apply call is required.'
756
+ : 'Compile a validated national tree or continuous palette plan into source and create a hash-bound reviewed transaction; it does not apply the transaction.'} Omit mode for national behavior. National plans accept the same bounded horizontalSpacing, verticalSpacing, and padding controls as focus_render plus a uniform reviewScale that preserves logical SVG geometry while reducing both before/proposed raster outputs. For an unoccupied new source, pass createIfMissing: true with plan:<id> and zero-hash creation provenance.`,
751
757
  inputSchema: focusPlanInput,
752
758
  outputSchema: focusPlanOutputSchema,
753
759
  annotations: {
754
760
  readOnlyHint: false,
755
- destructiveHint: false,
761
+ destructiveHint: autonomous,
756
762
  idempotentHint: false,
757
763
  openWorldHint: false,
758
764
  },
@@ -877,20 +883,30 @@ export function registerFocusTools(server, engine, context) {
877
883
  readDependencies: readDependenciesFromScannedFiles(snapshot.files),
878
884
  signal: progress.signal,
879
885
  });
880
- const transaction = planned.transaction;
886
+ await progress.report(4, 5, autonomous
887
+ ? 'Applying and post-validating continuous focus rewrite'
888
+ : 'Finalizing reviewed transaction');
889
+ const execution = await executePlannedTransaction(engine, planned.transaction, context.principal, progress.signal);
890
+ const transaction = execution.transaction;
881
891
  const result = emptyServiceResult(workspaceId, {
882
892
  mode: 'continuous',
883
893
  paletteId: plan.id,
884
894
  drift: compactDrift(planned.drift),
885
895
  created: planned.drift.status === 'target_missing',
896
+ execution: execution.outcome,
886
897
  expiresAt: transaction.expiresAt,
887
898
  transactionFileCount: transaction.files.length,
888
899
  transactionArtifactCount: transaction.artifacts.length,
889
900
  });
890
901
  result.status = transaction.validation.passed ? 'ok' : 'blocked';
891
- result.code = transaction.validation.passed
892
- ? 'CONTINUOUS_FOCUS_CHANGES_PLANNED'
893
- : 'CONTINUOUS_FOCUS_CHANGES_BLOCKED';
902
+ result.code =
903
+ execution.outcome === 'applied'
904
+ ? 'CONTINUOUS_FOCUS_CHANGES_APPLIED'
905
+ : execution.outcome === 'unchanged'
906
+ ? 'CONTINUOUS_FOCUS_CHANGES_UNCHANGED'
907
+ : transaction.validation.passed
908
+ ? 'CONTINUOUS_FOCUS_CHANGES_PLANNED'
909
+ : 'CONTINUOUS_FOCUS_CHANGES_BLOCKED';
894
910
  setInlineFilesScanned(result, [
895
911
  ...new Set([
896
912
  ...(sourceFile === undefined ? [] : [sourceFile.displayPath]),
@@ -900,12 +916,18 @@ export function registerFocusTools(server, engine, context) {
900
916
  result.proposedFiles = transaction.files
901
917
  .slice(0, 100)
902
918
  .map(({ relativePath: file }) => file);
919
+ result.changedFiles = transaction.appliedFiles.slice(0, 100);
903
920
  result.diagnostics = transaction.diagnostics.slice(0, 100);
904
- result.transactionId = transaction.transactionId;
905
- result.planHash = transaction.planHash;
906
- result.artifacts = [transactionResourceLink(transaction)];
921
+ if (autonomous) {
922
+ result.artifacts = transaction.artifacts;
923
+ }
924
+ else {
925
+ result.transactionId = transaction.transactionId;
926
+ result.planHash = transaction.planHash;
927
+ result.artifacts = [transactionResourceLink(transaction)];
928
+ result.rollbackStatus = transaction.rollbackStatus;
929
+ }
907
930
  result.validation = transaction.validation;
908
- result.rollbackStatus = transaction.rollbackStatus;
909
931
  result.blockers = transaction.diagnostics
910
932
  .filter(({ severity }) => severity === 'error' || severity === 'blocker')
911
933
  .map(({ code, message, details }) => ({
@@ -913,7 +935,11 @@ export function registerFocusTools(server, engine, context) {
913
935
  message,
914
936
  ...(details === undefined ? {} : { details }),
915
937
  }));
916
- await progress.report(5, 5, 'Continuous focus dry run complete');
938
+ await progress.report(5, 5, execution.outcome === 'applied'
939
+ ? 'Continuous focus rewrite complete'
940
+ : execution.outcome === 'unchanged'
941
+ ? 'Continuous focus source already satisfied the plan'
942
+ : 'Continuous focus transaction planned');
917
943
  return toolResult(result);
918
944
  }
919
945
  const plan = input.plan;
@@ -1066,21 +1092,31 @@ export function registerFocusTools(server, engine, context) {
1066
1092
  readDependencies: readDependenciesFromScannedFiles(snapshot.files),
1067
1093
  signal: progress.signal,
1068
1094
  });
1069
- const transaction = planned.transaction;
1095
+ await progress.report(4, 5, autonomous
1096
+ ? 'Applying and post-validating focus rewrite'
1097
+ : 'Finalizing reviewed transaction');
1098
+ const execution = await executePlannedTransaction(engine, planned.transaction, context.principal, progress.signal);
1099
+ const transaction = execution.transaction;
1070
1100
  const result = emptyServiceResult(workspaceId, {
1071
1101
  mode: 'national',
1072
1102
  treeId: plan.id,
1073
1103
  drift: compactDrift(planned.drift),
1074
1104
  created: planned.drift.status === 'target_missing',
1105
+ execution: execution.outcome,
1075
1106
  layoutHash: planned.layout.layoutHash,
1076
1107
  expiresAt: transaction.expiresAt,
1077
1108
  transactionFileCount: transaction.files.length,
1078
1109
  transactionArtifactCount: transaction.artifacts.length,
1079
1110
  });
1080
1111
  result.status = transaction.validation.passed ? 'ok' : 'blocked';
1081
- result.code = transaction.validation.passed
1082
- ? 'FOCUS_CHANGES_PLANNED'
1083
- : 'FOCUS_CHANGES_BLOCKED';
1112
+ result.code =
1113
+ execution.outcome === 'applied'
1114
+ ? 'FOCUS_CHANGES_APPLIED'
1115
+ : execution.outcome === 'unchanged'
1116
+ ? 'FOCUS_CHANGES_UNCHANGED'
1117
+ : transaction.validation.passed
1118
+ ? 'FOCUS_CHANGES_PLANNED'
1119
+ : 'FOCUS_CHANGES_BLOCKED';
1084
1120
  setInlineFilesScanned(result, [
1085
1121
  ...new Set([
1086
1122
  ...(focusFile === undefined ? [] : [focusFile.displayPath]),
@@ -1090,12 +1126,18 @@ export function registerFocusTools(server, engine, context) {
1090
1126
  result.proposedFiles = transaction.files
1091
1127
  .slice(0, 100)
1092
1128
  .map(({ relativePath: file }) => file);
1129
+ result.changedFiles = transaction.appliedFiles.slice(0, 100);
1093
1130
  result.diagnostics = transaction.diagnostics.slice(0, 100);
1094
- result.transactionId = transaction.transactionId;
1095
- result.planHash = transaction.planHash;
1096
- result.artifacts = [transactionResourceLink(transaction)];
1131
+ if (autonomous) {
1132
+ result.artifacts = autonomousResultArtifacts(execution);
1133
+ }
1134
+ else {
1135
+ result.transactionId = transaction.transactionId;
1136
+ result.planHash = transaction.planHash;
1137
+ result.artifacts = [transactionResourceLink(transaction)];
1138
+ result.rollbackStatus = transaction.rollbackStatus;
1139
+ }
1097
1140
  result.validation = transaction.validation;
1098
- result.rollbackStatus = transaction.rollbackStatus;
1099
1141
  result.blockers = transaction.diagnostics
1100
1142
  .filter(({ severity }) => severity === 'error' || severity === 'blocker')
1101
1143
  .map(({ code, message, details }) => ({
@@ -1103,11 +1145,15 @@ export function registerFocusTools(server, engine, context) {
1103
1145
  message,
1104
1146
  ...(details === undefined ? {} : { details }),
1105
1147
  }));
1106
- await progress.report(5, 5, 'Focus dry run complete');
1148
+ await progress.report(5, 5, execution.outcome === 'applied'
1149
+ ? 'Focus rewrite complete'
1150
+ : execution.outcome === 'unchanged'
1151
+ ? 'Focus source already satisfied the plan'
1152
+ : 'Focus transaction planned');
1107
1153
  return toolResult(result);
1108
1154
  }
1109
1155
  catch (error) {
1110
- return errorResult(error, workspaceId);
1156
+ return errorResult(error, workspaceId, autonomousFailureContext(error));
1111
1157
  }
1112
1158
  });
1113
1159
  }
@@ -1 +1 @@
1
- {"version":3,"file":"focus.js","sourceRoot":"","sources":["../../../../src/hoi4_agent_tools/mcp/tools/focus.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"focus.js","sourceRoot":"","sources":["../../../../src/hoi4_agent_tools/mcp/tools/focus.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,QAAQ,CAAC;AAC3B,OAAO,EAAE,yBAAyB,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AACxF,OAAO,EAAE,gBAAgB,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAGvF,OAAO,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAClF,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAC3D,OAAO,EAAE,kBAAkB,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACxE,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAC7D,OAAO,EAAE,gCAAgC,EAAE,MAAM,4BAA4B,CAAC;AAC9E,OAAO,EACL,cAAc,EACd,6BAA6B,EAC7B,6BAA6B,EAC7B,wBAAwB,EACxB,0BAA0B,EAC1B,gBAAgB,EAChB,aAAa,EACb,yBAAyB,EACzB,wBAAwB,EACxB,6BAA6B,EAC7B,gBAAgB,EAChB,2BAA2B,EAC3B,yBAAyB,EACzB,4BAA4B,EAC5B,eAAe,EACf,wBAAwB,EACxB,0BAA0B,GAM3B,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACL,4BAA4B,EAC5B,yBAAyB,EACzB,iBAAiB,EACjB,mBAAmB,GACpB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,iBAAiB,EAAE,2BAA2B,EAAE,MAAM,yBAAyB,CAAC;AACzF,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,EACL,wBAAwB,EACxB,kBAAkB,EAClB,YAAY,GACb,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EACL,WAAW,EACX,qBAAqB,EACrB,2BAA2B,EAC3B,UAAU,GACX,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACL,kBAAkB,EAClB,uBAAuB,GAExB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EACL,wBAAwB,EACxB,yBAAyB,EACzB,gBAAgB,EAChB,yBAAyB,GAC1B,MAAM,oCAAoC,CAAC;AAE5C,MAAM,qBAAqB,GAAG,2BAA2B,CACvD,CAAC;KACE,MAAM,CAAC;IACN,QAAQ,EAAE,YAAY;IACtB,SAAS,EAAE,wBAAwB;IACnC,KAAK,EAAE,CAAC;SACL,KAAK,CACJ,CAAC;SACE,MAAM,CAAC;QACN,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC;QACvB,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC;QAChC,UAAU,EAAE,wBAAwB;QACpC,WAAW,EAAE,wBAAwB;QACrC,sBAAsB,EAAE,wBAAwB;QAChD,oBAAoB,EAAE,wBAAwB;QAC9C,kBAAkB,EAAE,wBAAwB;KAC7C,CAAC;SACD,MAAM,EAAE,CACZ;SACA,GAAG,CAAC,GAAG,CAAC;CACZ,CAAC;KACD,MAAM,EAAE,CACZ,CAAC;AACF,MAAM,qBAAqB,GAAG,2BAA2B,CACvD,CAAC,CAAC,kBAAkB,CAAC,MAAM,EAAE;IAC3B,CAAC;SACE,MAAM,CAAC;QACN,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC;QAC3B,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC;QAC3B,UAAU,EAAE,wBAAwB;QACpC,UAAU,EAAE,YAAY;QACxB,eAAe,EAAE,wBAAwB;KAC1C,CAAC;SACD,MAAM,EAAE;IACX,CAAC;SACE,MAAM,CAAC;QACN,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC;QAC7B,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC;QAC9B,UAAU,EAAE,wBAAwB;QACpC,eAAe,EAAE,wBAAwB;KAC1C,CAAC;SACD,MAAM,EAAE;CACZ,CAAC,CACH,CAAC;AACF,MAAM,uBAAuB,GAAG,2BAA2B,CACzD,CAAC;KACE,MAAM,CAAC;IACN,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC;IAC3B,UAAU,EAAE,YAAY;IACxB,SAAS,EAAE,wBAAwB;IACnC,SAAS,EAAE,CAAC,CAAC,KAAK,CAAC,yBAAyB,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC;CACvD,CAAC;KACD,MAAM,EAAE,CACZ,CAAC;AACF,MAAM,uBAAuB,GAAG,2BAA2B,CACzD,CAAC,CAAC,kBAAkB,CAAC,MAAM,EAAE;IAC3B,CAAC;SACE,MAAM,CAAC;QACN,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC;QAC3B,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC;QAC3B,UAAU,EAAE,YAAY;QACxB,MAAM,EAAE,kBAAkB;QAC1B,KAAK,EAAE,wBAAwB;QAC/B,MAAM,EAAE,wBAAwB;KACjC,CAAC;SACD,MAAM,EAAE;IACX,CAAC;SACE,MAAM,CAAC;QACN,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC;QAC7B,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC;QAC9B,UAAU,EAAE,wBAAwB;QACpC,MAAM,EAAE,kBAAkB;QAC1B,KAAK,EAAE,wBAAwB;QAC/B,MAAM,EAAE,wBAAwB;KACjC,CAAC;SACD,MAAM,EAAE;CACZ,CAAC,CACH,CAAC;AACF,MAAM,0BAA0B,GAAG,CAAC;KACjC,MAAM,CAAC;IACN,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC;QACb,OAAO;QACP,cAAc;QACd,2BAA2B;QAC3B,6BAA6B;QAC7B,WAAW;QACX,UAAU;QACV,gBAAgB;QAChB,cAAc;KACf,CAAC;IACF,aAAa,EAAE,CAAC,CAAC,OAAO,EAAE;IAC1B,WAAW,EAAE,CAAC,CAAC,OAAO,EAAE;IACxB,iBAAiB,EAAE,CAAC,CAAC,OAAO,EAAE;IAC9B,aAAa,EAAE,YAAY;IAC3B,eAAe,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC;IACpC,gBAAgB,EAAE,YAAY;IAC9B,eAAe,EAAE,YAAY;IAC7B,iBAAiB,EAAE,YAAY;CAChC,CAAC;KACD,MAAM,EAAE,CAAC;AACZ,MAAM,sBAAsB,GAAG,0BAA0B,CAAC;AAC1D,MAAM,gCAAgC,GAAG,0BAA0B,CAAC;AACpE,MAAM,qBAAqB,GAAG,2BAA2B,CACvD,CAAC,CAAC,kBAAkB,CAAC,MAAM,EAAE;IAC3B,CAAC;SACE,MAAM,CAAC;QACN,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC;QAC3B,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC;QAC3B,KAAK,EAAE,sBAAsB;QAC7B,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE;QACpB,SAAS,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,WAAW,CAAC,CAAC;QACjE,UAAU,EAAE,YAAY;QACxB,SAAS,EAAE,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE;QAC3B,oBAAoB,EAAE,wBAAwB;QAC9C,wBAAwB,EAAE,wBAAwB;KACnD,CAAC;SACD,MAAM,EAAE;IACX,CAAC;SACE,MAAM,CAAC;QACN,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC;QAC7B,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC;QAC9B,KAAK,EAAE,gCAAgC;QACvC,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE;QACpB,SAAS,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,WAAW,CAAC,CAAC;QACjE,SAAS,EAAE,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE;QAC3B,oBAAoB,EAAE,wBAAwB;QAC9C,wBAAwB,EAAE,wBAAwB;KACnD,CAAC;SACD,MAAM,EAAE;CACZ,CAAC,CACH,CAAC;AAEF,MAAM,cAAc,GAAG,CAAC;KACrB,MAAM,CAAC;IACN,WAAW,EAAE,iBAAiB;IAC9B,YAAY,EAAE,2BAA2B;IACzC,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE;CAC9C,CAAC;KACD,MAAM,EAAE,CAAC;AAEZ,MAAM,cAAc,GAAG,CAAC;KACrB,MAAM,CAAC;IACN,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,UAAU,EAAE,YAAY,CAAC,CAAC,CAAC,QAAQ,EAAE;IACnD,WAAW,EAAE,iBAAiB;IAC9B,YAAY,EAAE,2BAA2B;IACzC,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE;IAC7C,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE;CACjD,CAAC;KACD,MAAM,EAAE;KACR,WAAW,CAAC,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;IAC9B,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,IAAI,UAAU,CAAC;IACtC,IAAI,IAAI,KAAK,UAAU,IAAI,KAAK,CAAC,SAAS,KAAK,SAAS;QACtD,OAAO,CAAC,QAAQ,CAAC;YACf,IAAI,EAAE,QAAQ;YACd,IAAI,EAAE,CAAC,WAAW,CAAC;YACnB,OAAO,EAAE,4CAA4C;SACtD,CAAC,CAAC;IACL,IAAI,IAAI,KAAK,YAAY,IAAI,KAAK,CAAC,MAAM,KAAK,SAAS;QACrD,OAAO,CAAC,QAAQ,CAAC;YACf,IAAI,EAAE,QAAQ;YACd,IAAI,EAAE,CAAC,QAAQ,CAAC;YAChB,OAAO,EAAE,uCAAuC;SACjD,CAAC,CAAC;AACP,CAAC,CAAC,CAAC;AAEL,MAAM,gBAAgB,GAAG,CAAC;KACvB,MAAM,CAAC;IACN,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,UAAU,EAAE,YAAY,CAAC,CAAC,CAAC,QAAQ,EAAE;IACnD,WAAW,EAAE,iBAAiB;IAC9B,YAAY,EAAE,2BAA2B;IACzC,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE;IAC7C,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE;IAChD,iBAAiB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE;IAChE,eAAe,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE;IAC9D,WAAW,EAAE,CAAC;SACX,MAAM,EAAE;SACR,GAAG,CAAC,6BAA6B,CAAC;SAClC,GAAG,CAAC,6BAA6B,CAAC;SAClC,QAAQ,EAAE;IACb,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,QAAQ,EAAE;IACnD,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE;CACtD,CAAC;KACD,MAAM,EAAE;KACR,WAAW,CAAC,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;IAC9B,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,IAAI,UAAU,CAAC;IACtC,MAAM,OAAO,GACX,IAAI,KAAK,UAAU;QACjB,CAAC,CAAE;YACC,CAAC,WAAW,EAAE,KAAK,CAAC,SAAS,CAAC;YAC9B,CAAC,SAAS,EAAE,KAAK,CAAC,OAAO,CAAC;SACjB;QACb,CAAC,CAAE;YACC,CAAC,QAAQ,EAAE,KAAK,CAAC,MAAM,CAAC;YACxB,CAAC,mBAAmB,EAAE,KAAK,CAAC,iBAAiB,CAAC;YAC9C,CAAC,iBAAiB,EAAE,KAAK,CAAC,eAAe,CAAC;YAC1C,CAAC,aAAa,EAAE,KAAK,CAAC,WAAW,CAAC;SACzB,CAAC;IAClB,KAAK,MAAM,CAAC,KAAK,EAAE,UAAU,CAAC,IAAI,OAAO,EAAE,CAAC;QAC1C,IAAI,UAAU,KAAK,SAAS;YAC1B,OAAO,CAAC,QAAQ,CAAC;gBACf,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE,CAAC,KAAK,CAAC;gBACb,OAAO,EAAE,GAAG,KAAK,oBAAoB,IAAI,OAAO;aACjD,CAAC,CAAC;IACP,CAAC;IACD,IAAI,IAAI,KAAK,YAAY,IAAI,KAAK,CAAC,OAAO,KAAK,SAAS,IAAI,KAAK,CAAC,OAAO,GAAG,EAAE;QAC5E,OAAO,CAAC,QAAQ,CAAC;YACf,IAAI,EAAE,QAAQ;YACd,IAAI,EAAE,CAAC,SAAS,CAAC;YACjB,OAAO,EAAE,qDAAqD;SAC/D,CAAC,CAAC;AACP,CAAC,CAAC,CAAC;AAEL,MAAM,cAAc,GAAG,CAAC;KACrB,MAAM,CAAC;IACN,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,UAAU,EAAE,YAAY,CAAC,CAAC,CAAC,QAAQ,EAAE;IACnD,WAAW,EAAE,iBAAiB;IAC9B,YAAY,EAAE,2BAA2B;IACzC,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,mBAAmB,EAAE,4BAA4B,CAAC,CAAC;IAClE,SAAS,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC,QAAQ,EAAE;IAChD,eAAe,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC;IAC3C,iBAAiB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE;IAChE,eAAe,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE;IAC9D,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE;IACrD,WAAW,EAAE,CAAC;SACX,MAAM,EAAE;SACR,GAAG,CAAC,6BAA6B,CAAC;SAClC,GAAG,CAAC,6BAA6B,CAAC;SAClC,QAAQ,EAAE;CACd,CAAC;KACD,MAAM,EAAE;KACR,WAAW,CAAC,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;IAC9B,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,IAAI,UAAU,CAAC;IACtC,MAAM,MAAM,GAAG,IAAI,KAAK,YAAY,CAAC,CAAC,CAAC,4BAA4B,CAAC,CAAC,CAAC,mBAAmB,CAAC;IAC1F,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,OAAO;QACvC,OAAO,CAAC,QAAQ,CAAC;YACf,IAAI,EAAE,QAAQ;YACd,IAAI,EAAE,CAAC,MAAM,CAAC;YACd,OAAO,EAAE,kBAAkB,IAAI,aAAa;SAC7C,CAAC,CAAC;IACL,IAAI,IAAI,KAAK,YAAY,EAAE,CAAC;QAC1B,KAAK,MAAM,CAAC,KAAK,EAAE,UAAU,CAAC,IAAI;YAChC,CAAC,mBAAmB,EAAE,KAAK,CAAC,iBAAiB,CAAC;YAC9C,CAAC,iBAAiB,EAAE,KAAK,CAAC,eAAe,CAAC;YAC1C,CAAC,SAAS,EAAE,KAAK,CAAC,OAAO,CAAC;YAC1B,CAAC,aAAa,EAAE,KAAK,CAAC,WAAW,CAAC;SAC1B,EAAE,CAAC;YACX,IAAI,UAAU,KAAK,SAAS;gBAC1B,OAAO,CAAC,QAAQ,CAAC;oBACf,IAAI,EAAE,QAAQ;oBACd,IAAI,EAAE,CAAC,KAAK,CAAC;oBACb,OAAO,EAAE,GAAG,KAAK,8DAA8D;iBAChF,CAAC,CAAC;QACP,CAAC;IACH,CAAC;AACH,CAAC,CAAC,CAAC;AAEL,MAAM,iBAAiB,GAAG;IACxB,YAAY,EAAE,KAAK;IACnB,eAAe,EAAE,KAAK;IACtB,cAAc,EAAE,IAAI;IACpB,aAAa,EAAE,KAAK;CACZ,CAAC;AAEX,SAAS,YAAY,CACnB,KAAQ;IAER,MAAM,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,GAAG,OAAO,EAAE,GAAG,KAAK,CAAC;IACpE,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,SAAS,cAAc,CAAC,KAAa;IACnC,OAAO,KAAK,CAAC,UAAU,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC;AAC9F,CAAC;AAED,SAAS,mBAAmB,CAAC,YAAoB,EAAE,KAAwB;IACzE,MAAM,SAAS,GAAG,YAAY,CAAC,UAAU,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,WAAW,EAAE,CAAC;IACnE,OAAO,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE;QACzB,MAAM,UAAU,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC;QACxC,OAAO,SAAS,KAAK,UAAU,IAAI,SAAS,CAAC,UAAU,CAAC,GAAG,UAAU,GAAG,CAAC,CAAC;IAC5E,CAAC,CAAC,CAAC;AACL,CAAC;AAED,SAAS,gBAAgB,CACvB,QAAsB,EACtB,UAA6B;IAE7B,OAAO,QAAQ,CAAC,KAAK,CAAC,MAAM,CAC1B,CAAC,EAAE,YAAY,EAAE,UAAU,EAAE,EAAE,EAAE,CAC/B,UAAU,KAAK,SAAS;QACxB,mBAAmB,CAAC,YAAY,EAAE,UAAU,CAAC;QAC7C,YAAY,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,CAC9C,CAAC;AACJ,CAAC;AAED,SAAS,0BAA0B,CAAC,QAAsB;IACxD,OAAO,QAAQ,CAAC,KAAK,CAAC,MAAM,CAC1B,CAAC,EAAE,YAAY,EAAE,UAAU,EAAE,EAAE,EAAE,CAC/B,UAAU,KAAK,SAAS;QACxB,YAAY,CAAC,UAAU,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,WAAW,EAAE,CAAC,UAAU,CAAC,0BAA0B,CAAC;QACvF,YAAY,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,CAC9C,CAAC;AACJ,CAAC;AAED,SAAS,kBAAkB,CAAC,QAAsB;IAIhD,MAAM,QAAQ,GAAiC,EAAE,CAAC;IAClD,MAAM,WAAW,GAAqC,EAAE,CAAC;IACzD,KAAK,MAAM,IAAI,IAAI,0BAA0B,CAAC,QAAQ,CAAC,EAAE,CAAC;QACxD,MAAM,QAAQ,GAAG,eAAe,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;QAC/D,MAAM,QAAQ,GAAG,6BAA6B,CAAC,QAAQ,CAAC,CAAC;QACzD,QAAQ,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC,uBAAuB,CAAC,CAAC;QACnD,WAAW,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC,WAAW,CAAC,CAAC;IAC5C,CAAC;IACD,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,CAAC;AACnC,CAAC;AAED,SAAS,aAAa,CACpB,QAAsB,EACtB,SAA4C;IAE5C,MAAM,YAAY,GAAG,wBAAwB,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC,WAAW,EAAE,CAAC;IACpF,MAAM,IAAI,GAAG,QAAQ,CAAC,KAAK,CAAC,IAAI,CAC9B,CAAC,SAAS,EAAE,EAAE,CACZ,SAAS,CAAC,UAAU,KAAK,SAAS,IAAI,SAAS,CAAC,YAAY,CAAC,WAAW,EAAE,KAAK,YAAY,CAC9F,CAAC;IACF,OAAO,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,yBAAyB,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;AACnG,CAAC;AAED,SAAS,eAAe,CACtB,QAAsB,EACtB,IAAiB,EACjB,QAA+C;IAE/C,MAAM,QAAQ,GAAG,eAAe,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;IAC/D,MAAM,QAAQ,GAAG,gBAAgB,CAAC,QAAQ,EAAE,EAAE,UAAU,EAAE,gBAAgB,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;IACxF,MAAM,OAAO,GAAG,aAAa,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;IAC9C,QAAQ,CAAC,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;QAC3C,MAAM,QAAQ,GACZ,OAAO,KAAK,SAAS;YACnB,CAAC,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,EAAE,EAAE;YAC3B,CAAC,CAAC,0BAA0B,CAAC,IAAI,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;QACxD,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC,WAAW,CAAC,CAAC;QACnD,OAAO,2BAA2B,CAAC,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;IAC9D,CAAC,CAAC,CAAC;IACH,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,SAAS,iBAAiB,CACxB,QAAsB,EACtB,UAA6B,EAC7B,YAAoB;IAEpB,MAAM,IAAI,GAAG,gBAAgB,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC,IAAI,CACtD,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,YAAY,KAAK,YAAY,CACvD,CAAC;IACF,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;QACvB,MAAM,IAAI,YAAY,CAAC,wBAAwB,EAAE,+BAA+B,YAAY,EAAE,CAAC,CAAC;IAClG,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,2BAA2B,CAAC,QAAsB,EAAE,YAAoB;IAC/E,MAAM,IAAI,GAAG,0BAA0B,CAAC,QAAQ,CAAC,CAAC,IAAI,CACpD,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,YAAY,KAAK,YAAY,CACvD,CAAC;IACF,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;QACvB,MAAM,IAAI,YAAY,CACpB,mCAAmC,EACnC,0CAA0C,YAAY,EAAE,CACzD,CAAC;IACJ,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,UAAU,CAAC,MAAyB,EAAE,MAA0B;IACvE,IAAI,MAAM,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC9B,MAAM,IAAI,YAAY,CAAC,sBAAsB,EAAE,wCAAwC,CAAC,CAAC;IAC3F,CAAC;IACD,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;QACzB,IAAI,MAAM,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC9B,MAAM,IAAI,YAAY,CACpB,wBAAwB,EACxB,+DAA+D,EAC/D,EAAE,OAAO,EAAE,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAC9C,CAAC;QACJ,CAAC;QACD,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC,CAAE,CAAC;IAC1B,CAAC;IACD,MAAM,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,KAAK,MAAM,CAAC,CAAC;IAC1D,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;QACvB,MAAM,IAAI,YAAY,CAAC,sBAAsB,EAAE,6BAA6B,MAAM,EAAE,CAAC,CAAC;IACxF,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,oBAAoB,CAC3B,MAAyB,EACzB,SAA6B;IAE7B,IAAI,MAAM,CAAC,uBAAuB,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAChD,MAAM,IAAI,YAAY,CACpB,oCAAoC,EACpC,sDAAsD,CACvD,CAAC;IACJ,CAAC;IACD,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;QAC5B,IAAI,MAAM,CAAC,uBAAuB,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAChD,MAAM,IAAI,YAAY,CACpB,sCAAsC,EACtC,gFAAgF,EAChF,EAAE,UAAU,EAAE,MAAM,CAAC,uBAAuB,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CACnE,CAAC;QACJ,CAAC;QACD,OAAO,MAAM,CAAC,uBAAuB,CAAC,CAAC,CAAE,CAAC;IAC5C,CAAC;IACD,MAAM,IAAI,GAAG,MAAM,CAAC,uBAAuB,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,KAAK,SAAS,CAAC,CAAC;IAC/E,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;QACvB,MAAM,IAAI,YAAY,CACpB,oCAAoC,EACpC,2CAA2C,SAAS,EAAE,CACvD,CAAC;IACJ,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,gBAAgB,CAAC,QAAsB;IAC9C,MAAM,WAAW,GAAG,CAAC,IAAqD,EAAY,EAAE,CACtF;QACE,GAAG,IAAI,GAAG,CACR,QAAQ,CAAC,KAAK;aACX,OAAO,CAAC,IAAI,CAAC;aACb,MAAM,CAAC,CAAC,EAAE,UAAU,EAAE,EAAE,EAAE,CAAC,CAAC,UAAU,CAAC;aACvC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,CACvB;KACF,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,gBAAgB,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC;IACzD,OAAO;QACL,QAAQ,EAAE,WAAW,CAAC,UAAU,CAAC;QACjC,iBAAiB,EAAE,WAAW,CAAC,mBAAmB,CAAC;QACnD,KAAK,EAAE,WAAW,CAAC,OAAO,CAAC;QAC3B,IAAI,EAAE,WAAW,CAAC,MAAM,CAAC;QACzB,MAAM,EAAE,WAAW,CAAC,QAAQ,CAAC;QAC7B,QAAQ,EAAE,WAAW,CAAC,UAAU,CAAC;QACjC,MAAM,EAAE,WAAW,CAAC,iBAAiB,CAAC;KACvC,CAAC;AACJ,CAAC;AAED,SAAS,yBAAyB,CAAC,WAA6C;IAI9E,MAAM,QAAQ,GAAG,WAAW,CAAC,MAAM,CACjC,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,QAAQ,KAAK,OAAO,IAAI,QAAQ,KAAK,SAAS,CACjE,CAAC;IACF,OAAO;QACL,MAAM,EAAE,QAAQ,CAAC,MAAM,KAAK,CAAC;QAC7B,MAAM,EAAE;YACN;gBACE,EAAE,EAAE,mBAAmB;gBACvB,MAAM,EAAE,QAAQ,CAAC,MAAM,KAAK,CAAC;gBAC7B,OAAO,EACL,QAAQ,CAAC,MAAM,KAAK,CAAC;oBACnB,CAAC,CAAC,mEAAmE;oBACrE,CAAC,CAAC,GAAG,QAAQ,CAAC,MAAM,6BAA6B;aACtD;SACF;KACF,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,kBAAkB,CAChC,MAAiB,EACjB,MAAkB,EAClB,OAAsB;IAEtB,MAAM,UAAU,GAAG,gBAAgB,CAAC,MAAM,CAAC,CAAC;IAC5C,MAAM,SAAS,GAAG,IAAI,cAAc,CAAC,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,YAAY,EAAE,MAAM,CAAC,SAAS,CAAC,CAAC;IAE7F,MAAM,CAAC,YAAY,CACjB,iBAAiB,EACjB;QACE,KAAK,EAAE,kBAAkB;QACzB,WAAW,EACT,gIAAgI;QAClI,WAAW,EAAE,CAAC;aACX,MAAM,CAAC;YACN,WAAW,EAAE,iBAAiB;YAC9B,YAAY,EAAE,2BAA2B,CAAC,QAAQ,EAAE;SACrD,CAAC;aACD,MAAM,EAAE;QACX,YAAY,EAAE,qBAAqB;QACnC,WAAW,EAAE,iBAAiB;KAC/B,EACD,KAAK,EAAE,EAAE,WAAW,EAAE,YAAY,EAAE,EAAE,KAAK,EAAE,EAAE;QAC7C,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,gBAAgB,CAAC,KAAK,CAAC,CAAC;YACzC,MAAM,QAAQ,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,iCAAiC,CAAC,CAAC;YAC/D,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,EAAE,OAAO,CAAC,SAAS,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;YACxF,MAAM,SAAS,GAAG,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,WAAW,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC;YACtE,MAAM,aAAa,GAAG,gBAAgB,CAAC,QAAQ,EAAE,SAAS,CAAC,YAAY,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,MAAM,CACzF,CAAC,IAAI,EAAE,EAAE,CAAC,YAAY,KAAK,SAAS,IAAI,IAAI,CAAC,YAAY,KAAK,YAAY,CAC3E,CAAC;YACF,IAAI,aAAa,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC/B,MAAM,IAAI,YAAY,CACpB,wBAAwB,EACxB,4CAA4C,CAC7C,CAAC;YACJ,CAAC;YACD,MAAM,oBAAoB,GAAG,aAAa,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;gBAC1D,MAAM,QAAQ,GAAG,aAAa,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;gBAC/C,OAAO,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YACvD,CAAC,CAAC,CAAC;YACH,MAAM,KAAK,GAAoB,EAAE,CAAC;YAClC,MAAM,WAAW,GAAG,EAAsC,CAAC;YAC3D,MAAM,aAAa,GAAG,kBAAkB,CAAC,QAAQ,CAAC,CAAC;YACnD,WAAW,CAAC,IAAI,CAAC,GAAG,aAAa,CAAC,WAAW,CAAC,CAAC;YAC/C,KAAK,MAAM,IAAI,IAAI,aAAa,EAAE,CAAC;gBACjC,QAAQ,CAAC,MAAM,CAAC,cAAc,EAAE,CAAC;gBACjC,MAAM,QAAQ,GAAG,eAAe,CAAC,QAAQ,EAAE,IAAI,EAAE,aAAa,CAAC,QAAQ,CAAC,CAAC;gBACzE,KAAK,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;gBAC9B,WAAW,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC,WAAW,CAAC,CAAC;YAC5C,CAAC;YACD,MAAM,YAAY,GAAG,MAAM,wBAAwB,CAAC;gBAClD,KAAK;gBACL,QAAQ,EAAE,aAAa,CAAC,QAAQ;gBAChC,KAAK,EAAE,QAAQ,CAAC,KAAK;gBACrB,KAAK,EAAE,QAAQ,CAAC,KAAK;gBACrB,OAAO,EAAE,MAAM,CAAC,OAAO;gBACvB,SAAS;gBACT,MAAM,EAAE,QAAQ,CAAC,MAAM;aACxB,CAAC,CAAC;YACH,WAAW,CAAC,IAAI,CAAC,GAAG,YAAY,CAAC,WAAW,CAAC,CAAC;YAC9C,MAAM,QAAQ,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,kCAAkC,CAAC,CAAC;YAChE,MAAM,oBAAoB,GAAG,MAAM,CAAC,WAAW,CAC7C,MAAM,CAAC,OAAO,CAAC;gBACb,GAAG,MAAM,CAAC,WAAW,CACnB;oBACE,GAAG,aAAa;oBAChB,GAAG,oBAAoB;oBACvB,GAAG,0BAA0B,CAAC,QAAQ,CAAC;iBACxC,CAAC,GAAG,CAAC,CAAC,EAAE,WAAW,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC,CAC1D;gBACD,GAAG,YAAY,CAAC,YAAY;aAC7B,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC,gBAAgB,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAC5D,CAAC;YACF,MAAM,cAAc,GAAG,yBAAyB,CAAC,oBAAoB,CAAC,CAAC;YACvE,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,SAAS,CAAC,UAAU,CAChD,SAAS,EACT,cAAc,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,EACnD,kBAAkB,EAClB,GAAG,aAAa,CAAC;gBACf,aAAa,EAAE,CAAC;gBAChB,QAAQ,EAAE,QAAQ,CAAC,QAAQ;gBAC3B,KAAK;gBACL,uBAAuB,EAAE,aAAa,CAAC,QAAQ;gBAC/C,YAAY,EAAE,yBAAyB,CAAC,YAAY,CAAC;gBACrD,YAAY,EAAE,oBAAoB;gBAClC,WAAW;aACZ,CAAC,IAAI,EACN;gBACE,IAAI,EAAE,YAAY;gBAClB,WAAW,EAAE,eAAe;gBAC5B,aAAa,EAAE,eAAe;gBAC9B,YAAY,EAAE,cAAc,CAAC,YAAY;gBACzC,QAAQ,EAAE,EAAE,mBAAmB,EAAE,cAAc,CAAC,SAAS,EAAE;aAC5D,EACD,8DAA8D,EAC9D,QAAQ,CAAC,MAAM,CAChB,CAAC;YACF,MAAM,MAAM,GAAG,kBAAkB,CAAC,WAAW,EAAE;gBAC7C,QAAQ,EAAE,QAAQ,CAAC,QAAQ;gBAC3B,SAAS,EAAE,KAAK,CAAC,MAAM;gBACvB,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;oBACxC,EAAE,EAAE,IAAI,CAAC,EAAE;oBACX,UAAU,EAAE,IAAI,CAAC,UAAU,CAAC,UAAU;oBACtC,UAAU,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM;oBAC/B,WAAW,EAAE,IAAI,CAAC,YAAY,CAAC,MAAM;oBACrC,sBAAsB,EAAE,IAAI,CAAC,yBAAyB,CAAC,MAAM;oBAC7D,oBAAoB,EAAE,IAAI,CAAC,kBAAkB,CAAC,MAAM;oBACpD,kBAAkB,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM,CACrC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,YAAY,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,mBAAmB,KAAK,SAAS,CACxE,CAAC,MAAM;iBACT,CAAC,CAAC;aACJ,CAAC,CAAC;YACH,MAAM,CAAC,IAAI,GAAG,eAAe,CAAC;YAC9B,qBAAqB,CACnB,MAAM,EACN;gBACE,GAAG,IAAI,GAAG,CAAC;oBACT,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC,EAAE,WAAW,EAAE,EAAE,EAAE,CAAC,WAAW,CAAC;oBACtD,GAAG,oBAAoB,CAAC,GAAG,CAAC,CAAC,EAAE,WAAW,EAAE,EAAE,EAAE,CAAC,WAAW,CAAC;oBAC7D,GAAG,0BAA0B,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,WAAW,EAAE,EAAE,EAAE,CAAC,WAAW,CAAC;oBAC7E,GAAG,YAAY,CAAC,YAAY;iBAC7B,CAAC;aACH,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,gBAAgB,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CACvD,CAAC;YACF,MAAM,CAAC,WAAW,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;YAC/C,MAAM,CAAC,SAAS,GAAG,CAAC,kBAAkB,CAAC,QAAQ,CAAC,CAAC,CAAC;YAClD,MAAM,CAAC,UAAU,GAAG,yBAAyB,CAAC,WAAW,CAAC,CAAC;YAC3D,MAAM,QAAQ,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,qBAAqB,CAAC,CAAC;YACnD,OAAO,UAAU,CAAC,MAAM,CAAC,CAAC;QAC5B,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,WAAW,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC;QACzC,CAAC;IACH,CAAC,CACF,CAAC;IAEF,MAAM,CAAC,YAAY,CACjB,iBAAiB,EACjB;QACE,KAAK,EAAE,mBAAmB;QAC1B,WAAW,EACT,gHAAgH;QAClH,WAAW,EAAE,cAAc;QAC3B,YAAY,EAAE,qBAAqB;QACnC,WAAW,EAAE,iBAAiB;KAC/B,EACD,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE;QACrB,MAAM,EAAE,WAAW,EAAE,YAAY,EAAE,GAAG,KAAK,CAAC;QAC5C,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,gBAAgB,CAAC,KAAK,CAAC,CAAC;YACzC,MAAM,QAAQ,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,qCAAqC,CAAC,CAAC;YACnE,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,EAAE,OAAO,CAAC,SAAS,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;YACxF,MAAM,SAAS,GAAG,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,WAAW,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC;YACtE,IAAI,KAAK,CAAC,IAAI,KAAK,YAAY,EAAE,CAAC;gBAChC,2BAA2B,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;gBACpD,MAAM,QAAQ,GAAG,MAAM,SAAS,CAAC,oBAAoB,CACnD,WAAW,EACX,YAAY,EACZ,OAAO,CAAC,SAAS,CAClB,CAAC;gBACF,MAAM,IAAI,GAAG,oBAAoB,CAAC,QAAQ,CAAC,MAAM,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;gBACpE,MAAM,WAAW,GAAG,CAAC,GAAG,QAAQ,CAAC,MAAM,CAAC,WAAW,EAAE,GAAG,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC;gBACxF,MAAM,QAAQ,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,wCAAwC,CAAC,CAAC;gBACtE,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,SAAS,CAAC,GAAG,CACzC,SAAS,EACT,GAAG,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,mBAAmB,EAAE,GAAG,CAAC,6BAA6B,EACzE,kBAAkB,EAClB,GAAG,aAAa,CAAC,EAAE,aAAa,EAAE,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,CAAC,EAAE,EAAE,WAAW,EAAE,CAAC,IAAI,EAC/F;oBACE,IAAI,EAAE,uBAAuB;oBAC7B,WAAW,EAAE,eAAe;oBAC5B,aAAa,EAAE,0BAA0B;oBACzC,YAAY,EAAE,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,IAAI,CAAC,UAAU,CAAC,UAAU,EAAE;iBAC3E,EACD,uCAAuC,EACvC,QAAQ,CAAC,MAAM,CAChB,CAAC;gBACF,MAAM,MAAM,GAAG,kBAAkB,CAAC,WAAW,EAAE;oBAC7C,IAAI,EAAE,YAAqB;oBAC3B,SAAS,EAAE,IAAI,CAAC,EAAE;oBAClB,UAAU,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM;oBAC/B,eAAe,EAAE,WAAW,CAAC,MAAM;iBACpC,CAAC,CAAC;gBACH,MAAM,CAAC,IAAI,GAAG,yBAAyB,CAAC;gBACxC,qBAAqB,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC,CAAC;gBAC5D,MAAM,CAAC,WAAW,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;gBAC/C,MAAM,CAAC,SAAS,GAAG,CAAC,kBAAkB,CAAC,QAAQ,CAAC,CAAC,CAAC;gBAClD,MAAM,CAAC,UAAU,GAAG,yBAAyB,CAAC,WAAW,CAAC,CAAC;gBAC3D,MAAM,QAAQ,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,gCAAgC,CAAC,CAAC;gBAC9D,OAAO,UAAU,CAAC,MAAM,CAAC,CAAC;YAC5B,CAAC;YACD,MAAM,aAAa,GAAG,kBAAkB,CAAC,QAAQ,CAAC,CAAC;YACnD,MAAM,QAAQ,GAAG,eAAe,CAC9B,QAAQ,EACR,iBAAiB,CAAC,QAAQ,EAAE,SAAS,CAAC,YAAY,CAAC,KAAK,CAAC,KAAK,EAAE,YAAY,CAAC,EAC7E,aAAa,CAAC,QAAQ,CACvB,CAAC;YACF,MAAM,IAAI,GAAG,UAAU,CAAC,QAAQ,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;YAChD,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,WAAW,CAAC,IAAI,EAAE,EAAE,MAAM,EAAE,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;YAC9E,MAAM,WAAW,GAAG;gBAClB,GAAG,aAAa,CAAC,WAAW;gBAC5B,GAAG,QAAQ,CAAC,WAAW;gBACvB,GAAG,SAAS,CAAC,IAAI,CAAC,IAAI,EAAE;oBACtB,KAAK,EAAE,QAAQ,CAAC,KAAK;oBACrB,UAAU,EAAE,gBAAgB,CAAC,QAAQ,CAAC;oBACtC,MAAM;iBACP,CAAC;aACH,CAAC;YACF,MAAM,QAAQ,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,6BAA6B,CAAC,CAAC;YAC3D,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,SAAS,CAAC,GAAG,CACzC,SAAS,EACT,GAAG,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,mBAAmB,EAAE,GAAG,CAAC,kBAAkB,EAC9D,kBAAkB,EAClB,GAAG,aAAa,CAAC,EAAE,aAAa,EAAE,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,EAAE,UAAU,EAAE,MAAM,CAAC,UAAU,EAAE,WAAW,EAAE,CAAC,IAAI,EACvG;gBACE,IAAI,EAAE,YAAY;gBAClB,WAAW,EAAE,eAAe;gBAC5B,aAAa,EAAE,eAAe;gBAC9B,YAAY,EAAE,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,IAAI,CAAC,UAAU,CAAC,UAAU,EAAE;aAC3E,EACD,4BAA4B,EAC5B,QAAQ,CAAC,MAAM,CAChB,CAAC;YACF,MAAM,MAAM,GAAG,kBAAkB,CAAC,WAAW,EAAE;gBAC7C,IAAI,EAAE,UAAmB;gBACzB,MAAM,EAAE,IAAI,CAAC,EAAE;gBACf,UAAU,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM;gBAC/B,UAAU,EAAE,MAAM,CAAC,UAAU;gBAC7B,eAAe,EAAE,WAAW,CAAC,MAAM;aACpC,CAAC,CAAC;YACH,MAAM,CAAC,IAAI,GAAG,cAAc,CAAC;YAC7B,qBAAqB,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC,CAAC;YAC5D,MAAM,CAAC,WAAW,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;YAC/C,MAAM,CAAC,SAAS,GAAG,CAAC,kBAAkB,CAAC,QAAQ,CAAC,CAAC,CAAC;YAClD,MAAM,CAAC,UAAU,GAAG,yBAAyB,CAAC,WAAW,CAAC,CAAC;YAC3D,MAAM,QAAQ,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,qBAAqB,CAAC,CAAC;YACnD,OAAO,UAAU,CAAC,MAAM,CAAC,CAAC;QAC5B,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,WAAW,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC;QACzC,CAAC;IACH,CAAC,CACF,CAAC;IAEF,MAAM,CAAC,YAAY,CACjB,mBAAmB,EACnB;QACE,KAAK,EAAE,0BAA0B;QACjC,WAAW,EACT,iQAAiQ;QACnQ,WAAW,EAAE,cAAc;aACxB,MAAM,CAAC;YACN,QAAQ,EAAE,iBAAiB,CAAC,QAAQ,EAAE;YACtC,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE;YACxD,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE;SACzD,CAAC;aACD,MAAM,EAAE;QACX,YAAY,EAAE,uBAAuB;QACrC,WAAW,EAAE,iBAAiB;KAC/B,EACD,KAAK,EAAE,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,EAAE,QAAQ,EAAE,WAAW,EAAE,WAAW,EAAE,EAAE,KAAK,EAAE,EAAE;QACzF,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,gBAAgB,CAAC,KAAK,CAAC,CAAC;YACzC,MAAM,QAAQ,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,qCAAqC,CAAC,CAAC;YACnE,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,EAAE,OAAO,CAAC,SAAS,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;YACxF,MAAM,SAAS,GAAG,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,WAAW,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC;YACtE,MAAM,aAAa,GAAG,kBAAkB,CAAC,QAAQ,CAAC,CAAC;YACnD,MAAM,QAAQ,GAAG,eAAe,CAC9B,QAAQ,EACR,iBAAiB,CAAC,QAAQ,EAAE,SAAS,CAAC,YAAY,CAAC,KAAK,CAAC,KAAK,EAAE,YAAY,CAAC,EAC7E,aAAa,CAAC,QAAQ,CACvB,CAAC;YACF,MAAM,IAAI,GAAG,UAAU,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;YAC1C,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,WAAW,CAAC,IAAI,EAAE;gBAC/C,GAAG,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,QAA6B,EAAE,CAAC;gBAC9E,GAAG,CAAC,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC;gBACrD,GAAG,CAAC,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC;gBACrD,MAAM,EAAE,QAAQ,CAAC,MAAM;aACxB,CAAC,CAAC;YACH,QAAQ,CAAC,MAAM,CAAC,cAAc,EAAE,CAAC;YACjC,MAAM,QAAQ,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,sCAAsC,CAAC,CAAC;YACpE,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,SAAS,CAAC,GAAG,CACzC,SAAS,EACT,GAAG,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,mBAAmB,EAAE,GAAG,CAAC,oBAAoB,EAChE,kBAAkB,EAClB,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,EAC5B;gBACE,IAAI,EAAE,cAAc;gBACpB,WAAW,EAAE,eAAe;gBAC5B,aAAa,EAAE,iBAAiB;gBAChC,YAAY,EAAE,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,IAAI,CAAC,UAAU,CAAC,UAAU,EAAE;aAC3E,EACD,+CAA+C,EAC/C,QAAQ,CAAC,MAAM,CAChB,CAAC;YACF,MAAM,WAAW,GAAG;gBAClB,GAAG,aAAa,CAAC,WAAW;gBAC5B,GAAG,QAAQ,CAAC,WAAW;gBACvB,GAAG,MAAM,CAAC,WAAW;aACtB,CAAC;YACF,MAAM,MAAM,GAAG,kBAAkB,CAAC,WAAW,EAAE;gBAC7C,MAAM,EAAE,IAAI,CAAC,EAAE;gBACf,UAAU,EAAE,MAAM,CAAC,UAAU;gBAC7B,SAAS,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM;gBAC9B,SAAS,EAAE,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC;aAC1C,CAAC,CAAC;YACH,MAAM,CAAC,IAAI,GAAG,sBAAsB,CAAC;YACrC,qBAAqB,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC,CAAC;YAC5D,MAAM,CAAC,WAAW,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;YAC/C,MAAM,CAAC,SAAS,GAAG,CAAC,kBAAkB,CAAC,QAAQ,CAAC,CAAC,CAAC;YAClD,MAAM,CAAC,UAAU,GAAG,yBAAyB,CAAC,WAAW,CAAC,CAAC;YAC3D,MAAM,QAAQ,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,uBAAuB,CAAC,CAAC;YACrD,OAAO,UAAU,CAAC,MAAM,CAAC,CAAC;QAC5B,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,WAAW,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC;QACzC,CAAC;IACH,CAAC,CACF,CAAC;IAEF,MAAM,CAAC,YAAY,CACjB,mBAAmB,EACnB;QACE,KAAK,EAAE,+BAA+B;QACtC,WAAW,EACT,2UAA2U;QAC7U,WAAW,EAAE,gBAAgB;QAC7B,YAAY,EAAE,uBAAuB;QACrC,WAAW,EAAE,iBAAiB;KAC/B,EACD,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE;QACrB,MAAM,EAAE,WAAW,EAAE,YAAY,EAAE,GAAG,KAAK,CAAC;QAC5C,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,gBAAgB,CAAC,KAAK,CAAC,CAAC;YACzC,MAAM,QAAQ,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,qCAAqC,CAAC,CAAC;YACnE,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,EAAE,OAAO,CAAC,SAAS,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;YACxF,MAAM,SAAS,GAAG,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,WAAW,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC;YACtE,MAAM,YAAY,GAAG,IAAI,YAAY,EAAE,CAAC;YACxC,IAAI,KAAK,CAAC,IAAI,KAAK,YAAY,EAAE,CAAC;gBAChC,2BAA2B,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;gBACpD,MAAM,QAAQ,GAAG,MAAM,SAAS,CAAC,oBAAoB,CACnD,WAAW,EACX,YAAY,EACZ,OAAO,CAAC,SAAS,CAClB,CAAC;gBACF,MAAM,IAAI,GAAG,oBAAoB,CAAC,QAAQ,CAAC,MAAM,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;gBACpE,MAAM,YAAY,GAAG,MAAM,wBAAwB,CAAC;oBAClD,KAAK,EAAE,EAAE;oBACT,QAAQ,EAAE,CAAC,IAAI,CAAC;oBAChB,KAAK,EAAE,QAAQ,CAAC,KAAK;oBACrB,KAAK,EAAE,QAAQ,CAAC,KAAK;oBACrB,OAAO,EAAE,MAAM,CAAC,OAAO;oBACvB,SAAS;oBACT,MAAM,EAAE,YAAY;oBACpB,MAAM,EAAE,QAAQ,CAAC,MAAM;iBACxB,CAAC,CAAC;gBACH,MAAM,QAAQ,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,sCAAsC,CAAC,CAAC;gBACpE,MAAM,QAAQ,GAAG,MAAM,SAAS,CAAC,wBAAwB,CAAC,WAAW,EAAE,IAAI,EAAE;oBAC3E,GAAG,CAAC,OAAO,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,OAAO,CAAC,SAAS,EAAE,CAAC;oBAC5E,YAAY;oBACZ,YAAY,EAAE,YAAY,CAAC,YAAY;oBACvC,GAAG,CAAC,KAAK,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC;oBAClE,GAAG,CAAC,KAAK,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC;oBAClE,aAAa,EAAE,EAAE,cAAc,EAAE,QAAQ,CAAC,QAAQ,EAAE;oBACpD,MAAM,EAAE,YAAY;oBACpB,MAAM,EAAE,QAAQ,CAAC,MAAM;iBACxB,CAAC,CAAC;gBACH,MAAM,WAAW,GAAG,CAAC,GAAG,QAAQ,CAAC,MAAM,CAAC,WAAW,EAAE,GAAG,QAAQ,CAAC,WAAW,CAAC,CAAC;gBAC9E,MAAM,MAAM,GAAG,kBAAkB,CAAC,WAAW,EAAE;oBAC7C,IAAI,EAAE,YAAqB;oBAC3B,SAAS,EAAE,IAAI,CAAC,EAAE;oBAClB,UAAU,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM;oBAC/B,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM;oBAC9B,KAAK,EAAE,QAAQ,CAAC,MAAM,CAAC,KAAK;oBAC5B,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM;iBAC/B,CAAC,CAAC;gBACH,MAAM,CAAC,IAAI,GAAG,2BAA2B,CAAC;gBAC1C,qBAAqB,CACnB,MAAM,EACN,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,UAAU,EAAE,GAAG,YAAY,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,IAAI,CAC3E,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,gBAAgB,CAAC,IAAI,EAAE,KAAK,CAAC,CAC/C,CACF,CAAC;gBACF,MAAM,CAAC,WAAW,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;gBAC/C,MAAM,CAAC,SAAS,GAAG,QAAQ,CAAC,SAAS,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC;gBAC9D,MAAM,CAAC,UAAU,GAAG,yBAAyB,CAAC,WAAW,CAAC,CAAC;gBAC3D,MAAM,QAAQ,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,kCAAkC,CAAC,CAAC;gBAChE,OAAO,UAAU,CAAC,MAAM,CAAC,CAAC;YAC5B,CAAC;YACD,MAAM,aAAa,GAAG,kBAAkB,CAAC,QAAQ,CAAC,CAAC;YACnD,MAAM,QAAQ,GAAG,eAAe,CAC9B,QAAQ,EACR,iBAAiB,CAAC,QAAQ,EAAE,SAAS,CAAC,YAAY,CAAC,KAAK,CAAC,KAAK,EAAE,YAAY,CAAC,EAC7E,aAAa,CAAC,QAAQ,CACvB,CAAC;YACF,MAAM,IAAI,GAAG,UAAU,CAAC,QAAQ,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;YAChD,MAAM,cAAc,GAAG,aAAa,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAC9D,IAAI,CAAC,yBAAyB,CAAC,QAAQ,CAAC,EAAE,CAAC,CAC5C,CAAC;YACF,MAAM,YAAY,GAAG,MAAM,wBAAwB,CAAC;gBAClD,KAAK,EAAE,CAAC,IAAI,CAAC;gBACb,QAAQ,EAAE,cAAc;gBACxB,KAAK,EAAE,QAAQ,CAAC,KAAK;gBACrB,KAAK,EAAE,QAAQ,CAAC,KAAK;gBACrB,OAAO,EAAE,MAAM,CAAC,OAAO;gBACvB,SAAS;gBACT,MAAM,EAAE,YAAY;gBACpB,MAAM,EAAE,QAAQ,CAAC,MAAM;aACxB,CAAC,CAAC;YACH,MAAM,QAAQ,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,2BAA2B,CAAC,CAAC;YACzD,MAAM,QAAQ,GAAG,MAAM,SAAS,CAAC,cAAc,CAAC,WAAW,EAAE,IAAI,EAAE;gBACjE,GAAG,CAAC,OAAO,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,OAAO,CAAC,SAAS,EAAE,CAAC;gBAC5E,KAAK,EAAE,QAAQ,CAAC,KAAK;gBACrB,UAAU,EAAE,gBAAgB,CAAC,QAAQ,CAAC;gBACtC,YAAY;gBACZ,YAAY,EAAE,YAAY,CAAC,YAAY;gBACvC,GAAG,CAAC,KAAK,CAAC,iBAAiB,KAAK,SAAS;oBACvC,CAAC,CAAC,EAAE;oBACJ,CAAC,CAAC,EAAE,iBAAiB,EAAE,KAAK,CAAC,iBAAiB,EAAE,CAAC;gBACnD,GAAG,CAAC,KAAK,CAAC,eAAe,KAAK,SAAS;oBACrC,CAAC,CAAC,EAAE;oBACJ,CAAC,CAAC,EAAE,eAAe,EAAE,KAAK,CAAC,eAAe,EAAE,CAAC;gBAC/C,GAAG,CAAC,KAAK,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC;gBAClE,GAAG,CAAC,KAAK,CAAC,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,KAAK,CAAC,WAAW,EAAE,CAAC;gBAC9E,aAAa,EAAE;oBACb,cAAc,EAAE,QAAQ,CAAC,QAAQ;oBACjC,GAAG,CAAC,KAAK,CAAC,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,KAAK,CAAC,WAAW,EAAE,CAAC;iBAC/E;gBACD,MAAM,EAAE,YAAY;gBACpB,MAAM,EAAE,QAAQ,CAAC,MAAM;aACxB,CAAC,CAAC;YACH,MAAM,WAAW,GAAG;gBAClB,GAAG,aAAa,CAAC,WAAW;gBAC5B,GAAG,QAAQ,CAAC,WAAW;gBACvB,GAAG,QAAQ,CAAC,WAAW;aACxB,CAAC;YACF,MAAM,MAAM,GAAG,kBAAkB,CAAC,WAAW,EAAE;gBAC7C,IAAI,EAAE,UAAmB;gBACzB,MAAM,EAAE,IAAI,CAAC,EAAE;gBACf,UAAU,EAAE,QAAQ,CAAC,MAAM,CAAC,UAAU;gBACtC,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM;gBAC9B,KAAK,EAAE,QAAQ,CAAC,MAAM,CAAC,KAAK;gBAC5B,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM;aAC/B,CAAC,CAAC;YACH,MAAM,CAAC,IAAI,GAAG,gBAAgB,CAAC;YAC/B,qBAAqB,CACnB,MAAM,EACN,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,UAAU,EAAE,GAAG,YAAY,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,IAAI,CAC3E,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,gBAAgB,CAAC,IAAI,EAAE,KAAK,CAAC,CAC/C,CACF,CAAC;YACF,MAAM,CAAC,WAAW,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;YAC/C,MAAM,CAAC,SAAS,GAAG,QAAQ,CAAC,SAAS,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC;YAC9D,MAAM,CAAC,UAAU,GAAG,yBAAyB,CAAC,WAAW,CAAC,CAAC;YAC3D,MAAM,QAAQ,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,uBAAuB,CAAC,CAAC;YACrD,OAAO,UAAU,CAAC,MAAM,CAAC,CAAC;QAC5B,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,WAAW,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC;QACzC,CAAC;IACH,CAAC,CACF,CAAC;IAEF,MAAM,CAAC,YAAY,CACjB,UAAU,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC,yBAAyB,EAC7D;QACE,KAAK,EAAE,UAAU,CAAC,CAAC,CAAC,sBAAsB,CAAC,CAAC,CAAC,8BAA8B;QAC3E,WAAW,EAAE,GACX,UAAU;YACR,CAAC,CAAC,wKAAwK;YAC1K,CAAC,CAAC,2JACN,iXAAiX;QACjX,WAAW,EAAE,cAAc;QAC3B,YAAY,EAAE,qBAAqB;QACnC,WAAW,EAAE;YACX,YAAY,EAAE,KAAK;YACnB,eAAe,EAAE,UAAU;YAC3B,cAAc,EAAE,KAAK;YACrB,aAAa,EAAE,KAAK;SACrB;KACF,EACD,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE;QACrB,MAAM,EACJ,WAAW,EACX,YAAY,EACZ,SAAS,EACT,eAAe,EACf,iBAAiB,EACjB,eAAe,EACf,OAAO,EACP,WAAW,GACZ,GAAG,KAAK,CAAC;QACV,IAAI,CAAC;YACH,kBAAkB,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;YAC1C,MAAM,QAAQ,GAAG,gBAAgB,CAAC,KAAK,CAAC,CAAC;YACzC,MAAM,QAAQ,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,8CAA8C,CAAC,CAAC;YAC5E,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,EAAE,OAAO,CAAC,SAAS,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;YACxF,MAAM,SAAS,GAAG,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,WAAW,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC;YACtE,IAAI,KAAK,CAAC,IAAI,KAAK,YAAY,EAAE,CAAC;gBAChC,MAAM,IAAI,GAAG,KAAK,CAAC,IAAkC,CAAC;gBACtD,IACE,eAAe;oBACf,CAAC,CAAC,YAAY,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC;wBAC3C,CAAC,mBAAmB,CAAC,YAAY,EAAE,CAAC,yBAAyB,CAAC,CAAC,CAAC;oBAElE,MAAM,IAAI,YAAY,CACpB,sCAAsC,EACtC,iFAAiF,EACjF,EAAE,YAAY,EAAE,CACjB,CAAC;gBACJ,MAAM,UAAU,GAAG,0BAA0B,CAAC,QAAQ,CAAC,CAAC,IAAI,CAC1D,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,YAAY,KAAK,YAAY,CACvD,CAAC;gBACF,IAAI,UAAU,KAAK,SAAS,IAAI,CAAC,eAAe;oBAC9C,2BAA2B,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;gBACtD,IAAI,UAAU,KAAK,SAAS,IAAI,UAAU,CAAC,QAAQ,KAAK,KAAK;oBAC3D,MAAM,IAAI,YAAY,CACpB,mCAAmC,EACnC,yHAAyH,EACzH,EAAE,YAAY,EAAE,QAAQ,EAAE,UAAU,CAAC,QAAQ,EAAE,CAChD,CAAC;gBACJ,MAAM,QAAQ,GACZ,UAAU,KAAK,SAAS;oBACtB,CAAC,CAAC,SAAS;oBACX,CAAC,CAAC,MAAM,SAAS,CAAC,oBAAoB,CAAC,WAAW,EAAE,YAAY,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC;gBACzF,MAAM,WAAW,GAAG,QAAQ,EAAE,MAAM,CAAC,uBAAuB,CAAC,IAAI,CAC/D,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,KAAK,IAAI,CAAC,EAAE,CAC3B,CAAC;gBACF,IAAI,WAAW,KAAK,SAAS,IAAI,CAAC,eAAe,EAAE,CAAC;oBAClD,IAAI,QAAQ,KAAK,SAAS;wBAAE,2BAA2B,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;;wBAC3E,oBAAoB,CAAC,QAAQ,CAAC,MAAM,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC;gBACtD,CAAC;gBACD,IAAI,WAAW,KAAK,SAAS,IAAI,eAAe,IAAI,UAAU,KAAK,SAAS;oBAC1E,MAAM,IAAI,YAAY,CACpB,6CAA6C,EAC7C,qHAAqH,EACrH,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,CAAC,EAAE,EAAE,CACrC,CAAC;gBACJ,IAAI,WAAW,KAAK,SAAS,IAAI,QAAQ,KAAK,SAAS;oBACrD,wBAAwB,CACtB,0BAA0B,CAAC,IAAI,EAAE,QAAQ,CAAC,QAAQ,CAAC,EACnD,SAAS,CACV,CAAC;gBACJ,MAAM,YAAY,GAAG,IAAI,YAAY,EAAE,CAAC;gBACxC,MAAM,YAAY,GAAG,MAAM,wBAAwB,CAAC;oBAClD,KAAK,EAAE,EAAE;oBACT,QAAQ,EAAE,CAAC,GAAG,CAAC,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,EAAE,IAAI,CAAC;oBACrE,KAAK,EAAE,QAAQ,CAAC,KAAK;oBACrB,KAAK,EAAE,QAAQ,CAAC,KAAK;oBACrB,OAAO,EAAE,MAAM,CAAC,OAAO;oBACvB,SAAS;oBACT,MAAM,EAAE,YAAY;oBACpB,MAAM,EAAE,QAAQ,CAAC,MAAM;iBACxB,CAAC,CAAC;gBACH,MAAM,kBAAkB,GACtB,WAAW,KAAK,SAAS;oBACvB,CAAC,CAAC,EAAE;oBACJ,CAAC,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,WAAW,IAAI,EAAE,CAAC,EAAE,GAAG,SAAS,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC,CAAC;gBAC1F,MAAM,QAAQ,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,sDAAsD,CAAC,CAAC;gBACpF,MAAM,aAAa,GACjB,WAAW,KAAK,SAAS;oBACvB,CAAC,CAAC,SAAS;oBACX,CAAC,CAAC,MAAM,4BAA4B,CAAC,WAAW,EAAE,kBAAkB,EAAE;wBAClE,YAAY;wBACZ,MAAM,EAAE,QAAQ,CAAC,MAAM;wBACvB,MAAM,EAAE,YAAY;qBACrB,CAAC,CAAC;gBACT,MAAM,gBAAgB,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC;gBAC7C,MAAM,UAAU,GAA+B;oBAC7C,GAAG,IAAI;oBACP,UAAU,EAAE;wBACV,UAAU,EAAE,QAAQ,IAAI,CAAC,EAAE,EAAE;wBAC7B,UAAU,EAAE,gBAAgB;wBAC5B,gBAAgB,EAAE,gBAAgB;qBACnC;iBACF,CAAC;gBACF,MAAM,QAAQ,GAAG,MAAM,SAAS,CAAC,wBAAwB,CAAC,WAAW,EAAE,UAAU,EAAE;oBACjF,GAAG,CAAC,OAAO,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,OAAO,CAAC,SAAS,EAAE,CAAC;oBAC5E,YAAY;oBACZ,YAAY,EAAE,YAAY,CAAC,YAAY;oBACvC,aAAa,EAAE,EAAE,cAAc,EAAE,QAAQ,CAAC,QAAQ,EAAE,gBAAgB,EAAE;oBACtE,MAAM,EAAE,YAAY;oBACpB,MAAM,EAAE,QAAQ,CAAC,MAAM;iBACxB,CAAC,CAAC;gBACH,MAAM,SAAS,GACb,aAAa,EAAE,GAAG;oBAClB,CAAC,MAAM,oBAAoB,CACzB,QAAQ,CAAC,MAAM,CAAC,KAAK,EACrB,QAAQ,CAAC,MAAM,CAAC,MAAM,EACtB,+BAA+B,EAC/B,YAAY,CACb,CAAC,CAAC;gBACL,MAAM,UAAU,GAAG,MAAM,gBAAgB,CACvC,SAAS,EACT,QAAQ,CAAC,MAAM,CAAC,GAAG,EACnB,CAAC,EACD,QAAQ,CAAC,MAAM,EACf,YAAY,CACb,CAAC;gBACF,MAAM,IAAI,GAAG,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,mBAAmB,EAAE,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,YAAY,CAAC;gBACpF,MAAM,UAAU,GAAG;oBACjB,WAAW,EAAE,eAAe;oBAC5B,aAAa,EAAE,iCAAiC;oBAChD,YAAY,EAAE;wBACZ,MAAM,EAAE,UAAU,EAAE,MAAM,IAAI,WAAW,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;wBAC1D,YAAY,EAAE,gBAAgB;qBAC/B;oBACD,aAAa,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,0BAA0B,EAAE;iBACnE,CAAC;gBACF,MAAM,mBAAmB,GAAG,MAAM,MAAM,CAAC,SAAS,CAAC,gBAAgB,CACjE,SAAS,EACT;oBACE;wBACE,IAAI,EAAE,GAAG,IAAI,8BAA8B;wBAC3C,QAAQ,EAAE,WAAW;wBACrB,OAAO,EAAE,SAAS;wBAClB,UAAU,EAAE,EAAE,GAAG,UAAU,EAAE,IAAI,EAAE,gCAAgC,EAAE;qBACtE;oBACD;wBACE,IAAI,EAAE,GAAG,IAAI,mCAAmC;wBAChD,QAAQ,EAAE,WAAW;wBACrB,OAAO,EAAE,UAAU,CAAC,GAAG;wBACvB,UAAU,EAAE,EAAE,GAAG,UAAU,EAAE,IAAI,EAAE,8BAA8B,EAAE;qBACpE;oBACD;wBACE,IAAI,EAAE,GAAG,IAAI,oCAAoC;wBACjD,QAAQ,EAAE,kBAAkB;wBAC5B,OAAO,EAAE,UAAU,CAAC,IAAI;wBACxB,UAAU,EAAE,EAAE,GAAG,UAAU,EAAE,IAAI,EAAE,mCAAmC,EAAE;qBACzE;iBACF,EACD,CAAC,MAAM,EAAE,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,EACxC,QAAQ,CAAC,MAAM,CAChB,CAAC;gBACF,MAAM,eAAe,GAAG;oBACtB,GAAG,QAAQ,CAAC,SAAS,CAAC,GAAG,CAAC,kBAAkB,CAAC;oBAC7C,GAAG,mBAAmB,CAAC,GAAG,CAAC,kBAAkB,CAAC;iBAC/C,CAAC;gBACF,MAAM,QAAQ,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,kDAAkD,CAAC,CAAC;gBAChF,MAAM,OAAO,GAAG,MAAM,SAAS,CAAC,qBAAqB,CAAC;oBACpD,WAAW;oBACX,YAAY;oBACZ,IAAI;oBACJ,eAAe;oBACf,GAAG,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC;oBACjD,GAAG,CAAC,OAAO,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,OAAO,CAAC,SAAS,EAAE,CAAC;oBAC5E,SAAS,EAAE,eAAe;oBAC1B,gBAAgB,EAAE,gCAAgC,CAAC,QAAQ,CAAC,KAAK,CAAC;oBAClE,MAAM,EAAE,QAAQ,CAAC,MAAM;iBACxB,CAAC,CAAC;gBACH,MAAM,QAAQ,CAAC,MAAM,CACnB,CAAC,EACD,CAAC,EACD,UAAU;oBACR,CAAC,CAAC,uDAAuD;oBACzD,CAAC,CAAC,iCAAiC,CACtC,CAAC;gBACF,MAAM,SAAS,GAAG,MAAM,yBAAyB,CAC/C,MAAM,EACN,OAAO,CAAC,WAAW,EACnB,OAAO,CAAC,SAAS,EACjB,QAAQ,CAAC,MAAM,CAChB,CAAC;gBACF,MAAM,WAAW,GAAG,SAAS,CAAC,WAAW,CAAC;gBAC1C,MAAM,MAAM,GAAG,kBAAkB,CAAC,WAAW,EAAE;oBAC7C,IAAI,EAAE,YAAqB;oBAC3B,SAAS,EAAE,IAAI,CAAC,EAAE;oBAClB,KAAK,EAAE,YAAY,CAAC,OAAO,CAAC,KAAK,CAAC;oBAClC,OAAO,EAAE,OAAO,CAAC,KAAK,CAAC,MAAM,KAAK,gBAAgB;oBAClD,SAAS,EAAE,SAAS,CAAC,OAAO;oBAC5B,SAAS,EAAE,WAAW,CAAC,SAAS;oBAChC,oBAAoB,EAAE,WAAW,CAAC,KAAK,CAAC,MAAM;oBAC9C,wBAAwB,EAAE,WAAW,CAAC,SAAS,CAAC,MAAM;iBACvD,CAAC,CAAC;gBACH,MAAM,CAAC,MAAM,GAAG,WAAW,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;gBACjE,MAAM,CAAC,IAAI;oBACT,SAAS,CAAC,OAAO,KAAK,SAAS;wBAC7B,CAAC,CAAC,kCAAkC;wBACpC,CAAC,CAAC,SAAS,CAAC,OAAO,KAAK,WAAW;4BACjC,CAAC,CAAC,oCAAoC;4BACtC,CAAC,CAAC,WAAW,CAAC,UAAU,CAAC,MAAM;gCAC7B,CAAC,CAAC,kCAAkC;gCACpC,CAAC,CAAC,kCAAkC,CAAC;gBAC7C,qBAAqB,CACnB,MAAM,EACN;oBACE,GAAG,IAAI,GAAG,CAAC;wBACT,GAAG,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC;wBAC7D,GAAG,YAAY,CAAC,YAAY;qBAC7B,CAAC;iBACH,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,gBAAgB,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CACvD,CAAC;gBACF,MAAM,CAAC,aAAa,GAAG,WAAW,CAAC,KAAK;qBACrC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC;qBACb,GAAG,CAAC,CAAC,EAAE,YAAY,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC;gBACzC,MAAM,CAAC,YAAY,GAAG,WAAW,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;gBAC7D,MAAM,CAAC,WAAW,GAAG,WAAW,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;gBAC3D,IAAI,UAAU,EAAE,CAAC;oBACf,MAAM,CAAC,SAAS,GAAG,WAAW,CAAC,SAAS,CAAC;gBAC3C,CAAC;qBAAM,CAAC;oBACN,MAAM,CAAC,aAAa,GAAG,WAAW,CAAC,aAAa,CAAC;oBACjD,MAAM,CAAC,QAAQ,GAAG,WAAW,CAAC,QAAQ,CAAC;oBACvC,MAAM,CAAC,SAAS,GAAG,CAAC,uBAAuB,CAAC,WAAW,CAAC,CAAC,CAAC;oBAC1D,MAAM,CAAC,cAAc,GAAG,WAAW,CAAC,cAAc,CAAC;gBACrD,CAAC;gBACD,MAAM,CAAC,UAAU,GAAG,WAAW,CAAC,UAAU,CAAC;gBAC3C,MAAM,CAAC,QAAQ,GAAG,WAAW,CAAC,WAAW;qBACtC,MAAM,CAAC,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,QAAQ,KAAK,OAAO,IAAI,QAAQ,KAAK,SAAS,CAAC;qBACxE,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,CAAC;oBACpC,IAAI;oBACJ,OAAO;oBACP,GAAG,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC;iBAC9C,CAAC,CAAC,CAAC;gBACN,MAAM,QAAQ,CAAC,MAAM,CACnB,CAAC,EACD,CAAC,EACD,SAAS,CAAC,OAAO,KAAK,SAAS;oBAC7B,CAAC,CAAC,mCAAmC;oBACrC,CAAC,CAAC,SAAS,CAAC,OAAO,KAAK,WAAW;wBACjC,CAAC,CAAC,oDAAoD;wBACtD,CAAC,CAAC,sCAAsC,CAC7C,CAAC;gBACF,OAAO,UAAU,CAAC,MAAM,CAAC,CAAC;YAC5B,CAAC;YACD,MAAM,IAAI,GAAG,KAAK,CAAC,IAAqB,CAAC;YACzC,IACE,eAAe;gBACf,CAAC,CAAC,YAAY,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC;oBAC3C,CAAC,mBAAmB,CAAC,YAAY,EAAE,SAAS,CAAC,YAAY,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;gBAEzE,MAAM,IAAI,YAAY,CACpB,2BAA2B,EAC3B,+EAA+E,EAC/E,EAAE,YAAY,EAAE,CACjB,CAAC;YACJ,MAAM,SAAS,GAAG,gBAAgB,CAAC,QAAQ,EAAE,SAAS,CAAC,YAAY,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,IAAI,CACnF,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,YAAY,KAAK,YAAY,CACvD,CAAC;YACF,IAAI,SAAS,KAAK,SAAS,IAAI,CAAC,eAAe;gBAC7C,iBAAiB,CAAC,QAAQ,EAAE,SAAS,CAAC,YAAY,CAAC,KAAK,CAAC,KAAK,EAAE,YAAY,CAAC,CAAC;YAChF,IAAI,SAAS,KAAK,SAAS,IAAI,SAAS,CAAC,QAAQ,KAAK,KAAK;gBACzD,MAAM,IAAI,YAAY,CACpB,wBAAwB,EACxB,uHAAuH,EACvH,EAAE,YAAY,EAAE,QAAQ,EAAE,SAAS,CAAC,QAAQ,EAAE,CAC/C,CAAC;YACJ,MAAM,OAAO,GAAG,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,aAAa,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;YACzF,MAAM,OAAO,GAAG,gBAAgB,CAAC,QAAQ,CAAC,CAAC;YAC3C,MAAM,QAAQ,GACZ,SAAS,KAAK,SAAS;gBACrB,CAAC,CAAC,SAAS;gBACX,CAAC,CAAC,MAAM,SAAS,CAAC,UAAU,CACxB,WAAW,EACX,YAAY,EACZ,OAAO,CAAC,SAAS,EACjB,OAAO,EAAE,OAAO,EAChB,OAAO,CACR,CAAC;YACR,MAAM,aAAa,GAAG,kBAAkB,CAAC,QAAQ,CAAC,CAAC;YACnD,IAAI,QAAQ,KAAK,SAAS;gBACxB,QAAQ,CAAC,MAAM,CAAC,KAAK,GAAG,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAC5D,2BAA2B,CAAC,OAAO,EAAE,aAAa,CAAC,QAAQ,CAAC,CAC7D,CAAC;YACJ,MAAM,WAAW,GAAG,QAAQ,EAAE,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC;YAC5E,IAAI,WAAW,KAAK,SAAS,IAAI,CAAC,eAAe,EAAE,CAAC;gBAClD,IAAI,QAAQ,KAAK,SAAS;oBACxB,iBAAiB,CAAC,QAAQ,EAAE,SAAS,CAAC,YAAY,CAAC,KAAK,CAAC,KAAK,EAAE,YAAY,CAAC,CAAC;;oBAC3E,UAAU,CAAC,QAAQ,CAAC,MAAM,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC;YAC5C,CAAC;YACD,IAAI,WAAW,KAAK,SAAS,IAAI,eAAe,IAAI,SAAS,KAAK,SAAS;gBACzE,MAAM,IAAI,YAAY,CACpB,kCAAkC,EAClC,mIAAmI,EACnI,EAAE,YAAY,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,EAAE,CAClC,CAAC;YACJ,IAAI,WAAW,KAAK,SAAS,IAAI,QAAQ,KAAK,SAAS;gBACrD,wBAAwB,CAAC,gBAAgB,CAAC,IAAI,EAAE,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC,EAAE,SAAS,CAAC,CAAC;YAC1F,MAAM,YAAY,GAAG,IAAI,YAAY,EAAE,CAAC;YACxC,MAAM,mBAAmB,GAAG;gBAC1B,GAAG,CAAC,iBAAiB,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,iBAAiB,EAAE,CAAC;gBACjE,GAAG,CAAC,eAAe,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,eAAe,EAAE,CAAC;gBAC7D,GAAG,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC;gBAC7C,GAAG,CAAC,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,WAAW,EAAE,CAAC;aACnE,CAAC;YACF,MAAM,mBAAmB,GAAG;gBAC1B,GAAG,CAAC,iBAAiB,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,iBAAiB,EAAE,CAAC;gBACjE,GAAG,CAAC,eAAe,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,eAAe,EAAE,CAAC;gBAC7D,GAAG,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC;gBAC7C,GAAG,CAAC,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC;aACtD,CAAC;YACF,MAAM,YAAY,GAAG,MAAM,wBAAwB,CAAC;gBAClD,KAAK,EAAE,CAAC,GAAG,CAAC,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,EAAE,IAAI,CAAC;gBAClE,QAAQ,EAAE,aAAa,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CACjD,IAAI,CAAC,yBAAyB,CAAC,QAAQ,CAAC,EAAE,CAAC,CAC5C;gBACD,KAAK,EAAE,QAAQ,CAAC,KAAK;gBACrB,KAAK,EAAE,QAAQ,CAAC,KAAK;gBACrB,OAAO,EAAE,MAAM,CAAC,OAAO;gBACvB,SAAS;gBACT,MAAM,EAAE,YAAY;gBACpB,MAAM,EAAE,QAAQ,CAAC,MAAM;aACxB,CAAC,CAAC;YACH,MAAM,aAAa,GACjB,WAAW,KAAK,SAAS;gBACvB,CAAC,CAAC,SAAS;gBACX,CAAC,CAAC,MAAM,SAAS,CAAC,WAAW,CAAC,WAAW,EAAE,EAAE,MAAM,EAAE,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;YAC5E,MAAM,kBAAkB,GACtB,WAAW,KAAK,SAAS,IAAI,aAAa,KAAK,SAAS;gBACtD,CAAC,CAAC,EAAE;gBACJ,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,WAAW,EAAE;oBAC1B,KAAK,EAAE,QAAQ,CAAC,KAAK;oBACrB,UAAU,EAAE,OAAO;oBACnB,MAAM,EAAE,aAAa;iBACtB,CAAC,CAAC;YACT,MAAM,QAAQ,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,2CAA2C,CAAC,CAAC;YACzE,MAAM,aAAa,GACjB,WAAW,KAAK,SAAS,IAAI,aAAa,KAAK,SAAS;gBACtD,CAAC,CAAC,SAAS;gBACX,CAAC,CAAC,MAAM,eAAe,CAAC,WAAW,EAAE,aAAa,EAAE,kBAAkB,EAAE;oBACpE,YAAY;oBACZ,GAAG,mBAAmB;oBACtB,MAAM,EAAE,QAAQ,CAAC,MAAM;oBACvB,MAAM,EAAE,YAAY;iBACrB,CAAC,CAAC;YACT,MAAM,gBAAgB,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC;YAC7C,MAAM,UAAU,GAAkB;gBAChC,GAAG,IAAI;gBACP,UAAU,EAAE;oBACV,UAAU,EAAE,QAAQ,IAAI,CAAC,EAAE,EAAE;oBAC7B,UAAU,EAAE,gBAAgB;oBAC5B,gBAAgB,EAAE,gBAAgB;iBACnC;aACF,CAAC;YACF,MAAM,QAAQ,GAAG,MAAM,SAAS,CAAC,cAAc,CAAC,WAAW,EAAE,UAAU,EAAE;gBACvE,GAAG,CAAC,OAAO,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,OAAO,CAAC,SAAS,EAAE,CAAC;gBAC5E,KAAK,EAAE,QAAQ,CAAC,KAAK;gBACrB,UAAU,EAAE,OAAO;gBACnB,YAAY;gBACZ,YAAY,EAAE,YAAY,CAAC,YAAY;gBACvC,GAAG,mBAAmB;gBACtB,aAAa,EAAE;oBACb,cAAc,EAAE,QAAQ,CAAC,QAAQ;oBACjC,gBAAgB;oBAChB,mBAAmB;iBACpB;gBACD,MAAM,EAAE,YAAY;gBACpB,MAAM,EAAE,QAAQ,CAAC,MAAM;aACxB,CAAC,CAAC;YACH,MAAM,SAAS,GACb,aAAa,EAAE,GAAG;gBAClB,CAAC,MAAM,oBAAoB,CACzB,QAAQ,CAAC,MAAM,CAAC,KAAK,EACrB,QAAQ,CAAC,MAAM,CAAC,MAAM,EACtB,6BAA6B,EAC7B,YAAY,CACb,CAAC,CAAC;YACL,MAAM,UAAU,GAAG,MAAM,gBAAgB,CACvC,SAAS,EACT,QAAQ,CAAC,MAAM,CAAC,GAAG,EACnB,CAAC,EACD,QAAQ,CAAC,MAAM,EACf,YAAY,CACb,CAAC;YACF,MAAM,IAAI,GAAG,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,mBAAmB,EAAE,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,YAAY,CAAC;YACpF,MAAM,UAAU,GAAG;gBACjB,WAAW,EAAE,eAAe;gBAC5B,aAAa,EAAE,sBAAsB;gBACrC,YAAY,EAAE;oBACZ,MAAM,EAAE,SAAS,EAAE,MAAM,IAAI,WAAW,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;oBACzD,YAAY,EAAE,gBAAgB;iBAC/B;gBACD,aAAa,EAAE;oBACb,OAAO,EAAE,IAAI;oBACb,UAAU,EAAE,QAAQ,CAAC,MAAM,CAAC,UAAU;oBACtC,mBAAmB;iBACpB;aACF,CAAC;YACF,MAAM,mBAAmB,GAAG,MAAM,MAAM,CAAC,SAAS,CAAC,gBAAgB,CACjE,SAAS,EACT;gBACE;oBACE,IAAI,EAAE,GAAG,IAAI,mBAAmB;oBAChC,QAAQ,EAAE,WAAW;oBACrB,OAAO,EAAE,SAAS;oBAClB,UAAU,EAAE,EAAE,GAAG,UAAU,EAAE,IAAI,EAAE,qBAAqB,EAAE;iBAC3D;gBACD;oBACE,IAAI,EAAE,GAAG,IAAI,wBAAwB;oBACrC,QAAQ,EAAE,WAAW;oBACrB,OAAO,EAAE,UAAU,CAAC,GAAG;oBACvB,UAAU,EAAE,EAAE,GAAG,UAAU,EAAE,IAAI,EAAE,mBAAmB,EAAE;iBACzD;gBACD;oBACE,IAAI,EAAE,GAAG,IAAI,yBAAyB;oBACtC,QAAQ,EAAE,kBAAkB;oBAC5B,OAAO,EAAE,UAAU,CAAC,IAAI;oBACxB,UAAU,EAAE,EAAE,GAAG,UAAU,EAAE,IAAI,EAAE,wBAAwB,EAAE;iBAC9D;aACF,EACD,CAAC,MAAM,EAAE,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,EACxC,QAAQ,CAAC,MAAM,CAChB,CAAC;YACF,MAAM,eAAe,GAAG;gBACtB,GAAG,QAAQ,CAAC,SAAS,CAAC,GAAG,CAAC,kBAAkB,CAAC;gBAC7C,GAAG,mBAAmB,CAAC,GAAG,CAAC,kBAAkB,CAAC;aAC/C,CAAC;YACF,MAAM,QAAQ,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,uCAAuC,CAAC,CAAC;YACrE,MAAM,OAAO,GAAG,MAAM,SAAS,CAAC,WAAW,CAAC;gBAC1C,WAAW;gBACX,YAAY;gBACZ,IAAI;gBACJ,eAAe;gBACf,GAAG,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC;gBACjD,GAAG,CAAC,OAAO,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,OAAO,CAAC,SAAS,EAAE,CAAC;gBAC5E,KAAK,EAAE,QAAQ,CAAC,KAAK;gBACrB,UAAU,EAAE,OAAO;gBACnB,SAAS,EAAE,eAAe;gBAC1B,gBAAgB,EAAE,gCAAgC,CAAC,QAAQ,CAAC,KAAK,CAAC;gBAClE,MAAM,EAAE,QAAQ,CAAC,MAAM;aACxB,CAAC,CAAC;YACH,MAAM,QAAQ,CAAC,MAAM,CACnB,CAAC,EACD,CAAC,EACD,UAAU;gBACR,CAAC,CAAC,4CAA4C;gBAC9C,CAAC,CAAC,iCAAiC,CACtC,CAAC;YACF,MAAM,SAAS,GAAG,MAAM,yBAAyB,CAC/C,MAAM,EACN,OAAO,CAAC,WAAW,EACnB,OAAO,CAAC,SAAS,EACjB,QAAQ,CAAC,MAAM,CAChB,CAAC;YACF,MAAM,WAAW,GAAG,SAAS,CAAC,WAAW,CAAC;YAC1C,MAAM,MAAM,GAAG,kBAAkB,CAAC,WAAW,EAAE;gBAC7C,IAAI,EAAE,UAAmB;gBACzB,MAAM,EAAE,IAAI,CAAC,EAAE;gBACf,KAAK,EAAE,YAAY,CAAC,OAAO,CAAC,KAAK,CAAC;gBAClC,OAAO,EAAE,OAAO,CAAC,KAAK,CAAC,MAAM,KAAK,gBAAgB;gBAClD,SAAS,EAAE,SAAS,CAAC,OAAO;gBAC5B,UAAU,EAAE,OAAO,CAAC,MAAM,CAAC,UAAU;gBACrC,SAAS,EAAE,WAAW,CAAC,SAAS;gBAChC,oBAAoB,EAAE,WAAW,CAAC,KAAK,CAAC,MAAM;gBAC9C,wBAAwB,EAAE,WAAW,CAAC,SAAS,CAAC,MAAM;aACvD,CAAC,CAAC;YACH,MAAM,CAAC,MAAM,GAAG,WAAW,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;YACjE,MAAM,CAAC,IAAI;gBACT,SAAS,CAAC,OAAO,KAAK,SAAS;oBAC7B,CAAC,CAAC,uBAAuB;oBACzB,CAAC,CAAC,SAAS,CAAC,OAAO,KAAK,WAAW;wBACjC,CAAC,CAAC,yBAAyB;wBAC3B,CAAC,CAAC,WAAW,CAAC,UAAU,CAAC,MAAM;4BAC7B,CAAC,CAAC,uBAAuB;4BACzB,CAAC,CAAC,uBAAuB,CAAC;YAClC,qBAAqB,CACnB,MAAM,EACN;gBACE,GAAG,IAAI,GAAG,CAAC;oBACT,GAAG,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;oBAC3D,GAAG,YAAY,CAAC,YAAY;iBAC7B,CAAC;aACH,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,gBAAgB,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CACvD,CAAC;YACF,MAAM,CAAC,aAAa,GAAG,WAAW,CAAC,KAAK;iBACrC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC;iBACb,GAAG,CAAC,CAAC,EAAE,YAAY,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC;YACzC,MAAM,CAAC,YAAY,GAAG,WAAW,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;YAC7D,MAAM,CAAC,WAAW,GAAG,WAAW,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;YAC3D,IAAI,UAAU,EAAE,CAAC;gBACf,MAAM,CAAC,SAAS,GAAG,yBAAyB,CAAC,SAAS,CAAC,CAAC;YAC1D,CAAC;iBAAM,CAAC;gBACN,MAAM,CAAC,aAAa,GAAG,WAAW,CAAC,aAAa,CAAC;gBACjD,MAAM,CAAC,QAAQ,GAAG,WAAW,CAAC,QAAQ,CAAC;gBACvC,MAAM,CAAC,SAAS,GAAG,CAAC,uBAAuB,CAAC,WAAW,CAAC,CAAC,CAAC;gBAC1D,MAAM,CAAC,cAAc,GAAG,WAAW,CAAC,cAAc,CAAC;YACrD,CAAC;YACD,MAAM,CAAC,UAAU,GAAG,WAAW,CAAC,UAAU,CAAC;YAC3C,MAAM,CAAC,QAAQ,GAAG,WAAW,CAAC,WAAW;iBACtC,MAAM,CAAC,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,QAAQ,KAAK,OAAO,IAAI,QAAQ,KAAK,SAAS,CAAC;iBACxE,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,CAAC;gBACpC,IAAI;gBACJ,OAAO;gBACP,GAAG,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC;aAC9C,CAAC,CAAC,CAAC;YACN,MAAM,QAAQ,CAAC,MAAM,CACnB,CAAC,EACD,CAAC,EACD,SAAS,CAAC,OAAO,KAAK,SAAS;gBAC7B,CAAC,CAAC,wBAAwB;gBAC1B,CAAC,CAAC,SAAS,CAAC,OAAO,KAAK,WAAW;oBACjC,CAAC,CAAC,yCAAyC;oBAC3C,CAAC,CAAC,2BAA2B,CAClC,CAAC;YACF,OAAO,UAAU,CAAC,MAAM,CAAC,CAAC;QAC5B,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,WAAW,CAAC,KAAK,EAAE,WAAW,EAAE,wBAAwB,CAAC,KAAK,CAAC,CAAC,CAAC;QAC1E,CAAC;IACH,CAAC,CACF,CAAC;AACJ,CAAC"}
@@ -99,6 +99,12 @@ export declare const guiPlanOutputSchema: z.ZodObject<{
99
99
  helpers: "helpers";
100
100
  patches: "patches";
101
101
  }>;
102
+ execution: z.ZodEnum<{
103
+ blocked: "blocked";
104
+ applied: "applied";
105
+ planned: "planned";
106
+ unchanged: "unchanged";
107
+ }>;
102
108
  expiresAt: z.ZodISODateTime;
103
109
  nodeCount: z.ZodOptional<z.ZodNumber>;
104
110
  templateInstanceCount: z.ZodOptional<z.ZodNumber>;
@@ -1 +1 @@
1
- {"version":3,"file":"gui.d.ts","sourceRoot":"","sources":["../../../../src/hoi4_agent_tools/mcp/tools/gui.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACzE,OAAO,EAAE,CAAC,EAAE,MAAM,QAAQ,CAAC;AAG3B,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAkBvD,OAAO,EAGL,KAAK,aAAa,EACnB,MAAM,yBAAyB,CAAC;AAkFjC,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBAY/B,CAAC;AAuEF,wBAAgB,gBAAgB,CAC9B,MAAM,EAAE,SAAS,EACjB,MAAM,EAAE,UAAU,EAClB,OAAO,EAAE,aAAa,GACrB,IAAI,CA+iBN"}
1
+ {"version":3,"file":"gui.d.ts","sourceRoot":"","sources":["../../../../src/hoi4_agent_tools/mcp/tools/gui.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACzE,OAAO,EAAE,CAAC,EAAE,MAAM,QAAQ,CAAC;AAG3B,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAkBvD,OAAO,EAGL,KAAK,aAAa,EACnB,MAAM,yBAAyB,CAAC;AAwFjC,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBAa/B,CAAC;AAuEF,wBAAgB,gBAAgB,CAC9B,MAAM,EAAE,SAAS,EACjB,MAAM,EAAE,UAAU,EAClB,OAAO,EAAE,aAAa,GACrB,IAAI,CAolBN"}
@@ -7,6 +7,7 @@ import { GuiHelperDocumentSchema, GuiPreviewScenarioSchema, ScriptedGuiStudio, c
7
7
  import { workspaceIdSchema, workspaceRelativePathSchema } from '../../schemas/common.js';
8
8
  import { PACKAGE_VERSION } from '../../version.js';
9
9
  import { requireServerScope, transactionResourceLink, } from '../server/base-tools.js';
10
+ import { autonomousFailureContext, autonomousResultArtifacts, autonomousWrites, executePlannedTransaction, } from '../server/transaction-execution.js';
10
11
  import { indexSkippedSourceSchema, nonNegativeIntegerSchema, sha256Schema, } from '../server/output-schemas.js';
11
12
  import { progressReporter } from '../server/progress.js';
12
13
  import { errorResult, setInlineFilesScanned, strictOperationResultSchema, toolResult, } from '../server/result.js';
@@ -71,6 +72,7 @@ const guiCompareOutputSchema = strictOperationResultSchema(z
71
72
  export const guiPlanOutputSchema = strictOperationResultSchema(z
72
73
  .object({
73
74
  mode: z.enum(['source', 'helpers', 'patches']),
75
+ execution: z.enum(['planned', 'applied', 'blocked', 'unchanged']),
74
76
  expiresAt: z.iso.datetime(),
75
77
  nodeCount: nonNegativeIntegerSchema.optional(),
76
78
  templateInstanceCount: nonNegativeIntegerSchema.optional(),
@@ -135,6 +137,7 @@ function safeSlug(value) {
135
137
  .slice(0, 48) || 'gui');
136
138
  }
137
139
  export function registerGuiTools(server, engine, context) {
140
+ const autonomous = autonomousWrites(engine);
138
141
  const studio = new ScriptedGuiStudio(engine);
139
142
  server.registerTool('hoi4.gui_scan', {
140
143
  title: 'Scan scripted GUI graph',
@@ -457,9 +460,11 @@ export function registerGuiTools(server, engine, context) {
457
460
  return errorResult(error, workspaceId);
458
461
  }
459
462
  });
460
- server.registerTool('hoi4.gui_plan_changes', {
461
- title: 'Dry-run scripted GUI source changes',
462
- description: 'Create a source-preserving hash-bound transaction from explicit GUI source or declarative build-time helpers; never applies it.',
463
+ server.registerTool(autonomous ? 'hoi4.gui_rewrite' : 'hoi4.gui_plan_changes', {
464
+ title: autonomous ? 'Rewrite scripted GUI source' : 'Dry-run scripted GUI source changes',
465
+ description: autonomous
466
+ ? 'Validate, journal, and immediately apply source-preserving GUI source, patch, or declarative helper changes in one call; no follow-up apply call is required.'
467
+ : 'Create a source-preserving hash-bound reviewed transaction from explicit GUI source or declarative build-time helpers; it does not apply the transaction.',
463
468
  inputSchema: z
464
469
  .object({
465
470
  mode: z.enum(['source', 'helpers', 'patches']),
@@ -526,7 +531,7 @@ export function registerGuiTools(server, engine, context) {
526
531
  outputSchema: guiPlanOutputSchema,
527
532
  annotations: {
528
533
  readOnlyHint: false,
529
- destructiveHint: false,
534
+ destructiveHint: autonomous,
530
535
  idempotentHint: false,
531
536
  openWorldHint: false,
532
537
  },
@@ -537,7 +542,7 @@ export function registerGuiTools(server, engine, context) {
537
542
  const progress = progressReporter(extra);
538
543
  await progress.report(0, 3, 'Validating GUI dry run');
539
544
  const compilation = input.mode === 'helpers' ? compileGuiHelpers(input.helper) : undefined;
540
- const transaction = await studio.planSource({
545
+ const plannedTransaction = await studio.planSource({
541
546
  workspaceId,
542
547
  relativePath,
543
548
  ...(input.mode === 'patches'
@@ -551,12 +556,18 @@ export function registerGuiTools(server, engine, context) {
551
556
  ...(context.principal === undefined ? {} : { principal: context.principal }),
552
557
  signal: progress.signal,
553
558
  });
559
+ await progress.report(2, 3, autonomous
560
+ ? 'Applying and post-validating GUI rewrite'
561
+ : 'Finalizing reviewed transaction');
562
+ const execution = await executePlannedTransaction(engine, plannedTransaction, context.principal, progress.signal);
563
+ const transaction = execution.transaction;
554
564
  const planned = {
555
565
  transaction,
556
566
  compilation,
557
567
  };
558
568
  const result = emptyServiceResult(workspaceId, {
559
569
  mode: input.mode,
570
+ execution: execution.outcome,
560
571
  expiresAt: transaction.expiresAt,
561
572
  transactionFileCount: transaction.files.length,
562
573
  transactionArtifactCount: transaction.artifacts.length,
@@ -569,17 +580,30 @@ export function registerGuiTools(server, engine, context) {
569
580
  }),
570
581
  });
571
582
  result.status = transaction.validation.passed ? 'ok' : 'blocked';
572
- result.code = transaction.validation.passed ? 'GUI_CHANGES_PLANNED' : 'GUI_CHANGES_BLOCKED';
583
+ result.code =
584
+ execution.outcome === 'applied'
585
+ ? 'GUI_CHANGES_APPLIED'
586
+ : execution.outcome === 'unchanged'
587
+ ? 'GUI_CHANGES_UNCHANGED'
588
+ : transaction.validation.passed
589
+ ? 'GUI_CHANGES_PLANNED'
590
+ : 'GUI_CHANGES_BLOCKED';
573
591
  setInlineFilesScanned(result, [relativePath]);
574
592
  result.proposedFiles = transaction.files
575
593
  .slice(0, 100)
576
594
  .map(({ relativePath: file }) => file);
595
+ result.changedFiles = transaction.appliedFiles.slice(0, 100);
577
596
  result.diagnostics = transaction.diagnostics.slice(0, 100);
578
- result.transactionId = transaction.transactionId;
579
- result.planHash = transaction.planHash;
580
- result.artifacts = [transactionResourceLink(transaction)];
597
+ if (autonomous) {
598
+ result.artifacts = autonomousResultArtifacts(execution);
599
+ }
600
+ else {
601
+ result.transactionId = transaction.transactionId;
602
+ result.planHash = transaction.planHash;
603
+ result.artifacts = [transactionResourceLink(transaction)];
604
+ result.rollbackStatus = transaction.rollbackStatus;
605
+ }
581
606
  result.validation = transaction.validation;
582
- result.rollbackStatus = transaction.rollbackStatus;
583
607
  result.blockers = transaction.diagnostics
584
608
  .filter(({ severity }) => severity === 'error' || severity === 'blocker')
585
609
  .map(({ code, message, details }) => ({
@@ -587,11 +611,15 @@ export function registerGuiTools(server, engine, context) {
587
611
  message,
588
612
  ...(details === undefined ? {} : { details }),
589
613
  }));
590
- await progress.report(3, 3, 'GUI dry run complete');
614
+ await progress.report(3, 3, execution.outcome === 'applied'
615
+ ? 'GUI rewrite complete'
616
+ : execution.outcome === 'unchanged'
617
+ ? 'GUI source already satisfied the rewrite'
618
+ : 'GUI transaction planned');
591
619
  return toolResult(result);
592
620
  }
593
621
  catch (error) {
594
- return errorResult(error, workspaceId);
622
+ return errorResult(error, workspaceId, autonomousFailureContext(error));
595
623
  }
596
624
  });
597
625
  }