@lesliechan721/aw 0.1.0-beta.13 → 0.1.0-beta.14

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 (62) hide show
  1. package/dist/src/commands/catalog-dev-source.d.ts +31 -0
  2. package/dist/src/commands/catalog-dev-source.js +165 -5
  3. package/dist/src/commands/catalog-dev-source.js.map +1 -1
  4. package/dist/src/commands/catalog-generation.d.ts +5 -0
  5. package/dist/src/commands/catalog-generation.js.map +1 -1
  6. package/dist/src/commands/catalog-publication-journal.d.ts +12 -0
  7. package/dist/src/commands/catalog-publication-journal.js +77 -0
  8. package/dist/src/commands/catalog-publication-journal.js.map +1 -1
  9. package/dist/src/commands/catalog-store.d.ts +5 -0
  10. package/dist/src/commands/catalog-store.js +19 -1
  11. package/dist/src/commands/catalog-store.js.map +1 -1
  12. package/dist/src/commands/dependency-operation-plan.d.ts +7 -0
  13. package/dist/src/commands/dependency-operation-plan.js +63 -27
  14. package/dist/src/commands/dependency-operation-plan.js.map +1 -1
  15. package/dist/src/commands/rebuild-command.d.ts +22 -8
  16. package/dist/src/commands/rebuild-command.js +562 -250
  17. package/dist/src/commands/rebuild-command.js.map +1 -1
  18. package/dist/src/commands/reconcile-operation-plan.d.ts +11 -9
  19. package/dist/src/commands/reconcile-operation-plan.js +25 -6
  20. package/dist/src/commands/reconcile-operation-plan.js.map +1 -1
  21. package/dist/src/commands/write-commands.d.ts +2 -1
  22. package/dist/src/commands/write-commands.js +24 -1
  23. package/dist/src/commands/write-commands.js.map +1 -1
  24. package/dist/src/tui/catalog-management-screens.d.ts +45 -0
  25. package/dist/src/tui/catalog-management-screens.js +25 -0
  26. package/dist/src/tui/catalog-management-screens.js.map +1 -0
  27. package/dist/src/tui/catalog-management.d.ts +240 -0
  28. package/dist/src/tui/catalog-management.js +856 -0
  29. package/dist/src/tui/catalog-management.js.map +1 -0
  30. package/dist/src/tui/catalog-sources/session.d.ts +5 -0
  31. package/dist/src/tui/catalog-sources/session.js +49 -1
  32. package/dist/src/tui/catalog-sources/session.js.map +1 -1
  33. package/dist/src/tui/catalog-sources/types.d.ts +11 -0
  34. package/dist/src/tui/console-app-v4.d.ts +1 -1
  35. package/dist/src/tui/console-app-v4.js +2184 -564
  36. package/dist/src/tui/console-app-v4.js.map +1 -1
  37. package/dist/src/tui/controller-runtime.js +609 -13
  38. package/dist/src/tui/controller-runtime.js.map +1 -1
  39. package/dist/src/tui/controller.d.ts +121 -6
  40. package/dist/src/tui/controller.js +667 -17
  41. package/dist/src/tui/controller.js.map +1 -1
  42. package/dist/src/tui/dependency-graph.d.ts +67 -0
  43. package/dist/src/tui/dependency-graph.js +399 -0
  44. package/dist/src/tui/dependency-graph.js.map +1 -0
  45. package/dist/src/tui/lifecycle-action-view.js +4 -2
  46. package/dist/src/tui/lifecycle-action-view.js.map +1 -1
  47. package/dist/src/tui/model.d.ts +37 -0
  48. package/dist/src/tui/model.js +164 -7
  49. package/dist/src/tui/model.js.map +1 -1
  50. package/dist/src/tui/operation-review-planner.js +244 -8
  51. package/dist/src/tui/operation-review-planner.js.map +1 -1
  52. package/dist/src/tui/plugin-write-task.d.ts +66 -0
  53. package/dist/src/tui/plugin-write-task.js +265 -0
  54. package/dist/src/tui/plugin-write-task.js.map +1 -0
  55. package/dist/src/tui/router.d.ts +38 -2
  56. package/dist/src/tui/router.js.map +1 -1
  57. package/dist/src/tui/screen-registry.d.ts +105 -6
  58. package/dist/src/tui/screen-registry.js +31 -4
  59. package/dist/src/tui/screen-registry.js.map +1 -1
  60. package/dist/src/utils/catalog-generation-service.d.ts +4 -0
  61. package/dist/src/utils/catalog-generation-service.js.map +1 -1
  62. package/package.json +3 -3
@@ -12,7 +12,10 @@ function pluginNameFromId(pluginId) {
12
12
  }
13
13
  function scriptTimeoutChanges(intent) {
14
14
  let configuredTimeoutMs;
15
- if ((intent.kind === 'pluginWrite' || intent.kind === 'pluginWriteBatch')
15
+ if (intent.kind === 'pluginWriteTask') {
16
+ configuredTimeoutMs = intent.scriptTimeoutMs;
17
+ }
18
+ else if ((intent.kind === 'pluginWrite' || intent.kind === 'pluginWriteBatch')
16
19
  && (intent.action === 'install' || intent.action === 'refreshAndSync'
17
20
  || intent.action === 'reinstall' || intent.action === 'sync')) {
18
21
  configuredTimeoutMs = intent.scriptTimeoutMs;
@@ -110,6 +113,20 @@ function sourceMutationReviewChanges(mutation) {
110
113
  return changes.length > 0 ? changes : [{ kind: 'change', title: '更新来源配置' }];
111
114
  }
112
115
  function operationLabels(intent, evidence) {
116
+ if (intent.kind === 'catalogManagement') {
117
+ const labels = {
118
+ workspaceInit: ['创建 Catalog Workspace', '创建并保存 Catalog Workspace scaffold。', '创建 Workspace', false],
119
+ workspaceVersion: ['修改 Catalog 版本', '原子修改 Catalog metadata 中的版本。', '修改版本', false],
120
+ workspaceBuild: ['构建 Catalog snapshot', '验证源码并构建可替换的 Catalog 输出。', '开始构建', false],
121
+ devActivate: ['启用 Catalog 开发源', '构建或复用 snapshot,并更新共享来源配置和 Active 版本。', '启用开发源', false],
122
+ devDeactivate: ['停用 Catalog 开发源', '从共享来源配置中移除 Workspace 管理的开发源。', '停用开发源', true],
123
+ storePrune: ['清理 Catalog 本地存储', '只删除本次选择且执行时仍可安全回收的项目。', '确认清理', true],
124
+ publishPlan: ['准备 Catalog 发布计划', '构建发布内容、读取远端状态,并保存可恢复的本地发布计划。', '准备发布计划', false],
125
+ publishApply: ['发布 Catalog', '只应用已保存且身份匹配的发布计划,并核对远端 branch 和 tag。', '确认发布', false],
126
+ };
127
+ const [title, description, primaryLabel, destructive] = labels[intent.action];
128
+ return { title, description, primaryLabel, destructive };
129
+ }
113
130
  if (intent.kind === 'catalogSourcesRecovery') {
114
131
  return {
115
132
  title: '恢复插件目录来源配置',
@@ -143,6 +160,18 @@ function operationLabels(intent, evidence) {
143
160
  || intent.action === 'cleanup',
144
161
  };
145
162
  }
163
+ if (intent.kind === 'pluginWriteTask') {
164
+ const targetVersions = [...new Set(intent.targets.flatMap((target) => target.expectedUpdate ? [target.expectedUpdate.activeVersion] : []))];
165
+ const updateVersion = targetVersions.length === 1 ? `到 ${targetVersions[0]}` : '';
166
+ return {
167
+ title: intent.goal === 'update' ? `确认更新${updateVersion}` : '确认恢复所选插件',
168
+ description: intent.goal === 'update'
169
+ ? '使用当前已启用目录中的已确认版本更新所选安装位置。'
170
+ : '按已确认根因恢复所选安装位置,并保持已安装版本。',
171
+ primaryLabel: intent.goal === 'update' ? '开始更新' : '开始恢复',
172
+ destructive: false,
173
+ };
174
+ }
146
175
  if (intent.kind === 'pluginWrite') {
147
176
  if (intent.originIssue) {
148
177
  if (intent.action === 'cleanup') {
@@ -176,6 +205,13 @@ function operationLabels(intent, evidence) {
176
205
  cleanup: ['清理插件', '只移除可证明属于 AW 的现场内容。配置保持不变。', true],
177
206
  sync: ['同步插件', '按已保存使用设置修复当前使用位置。', false],
178
207
  };
208
+ if (intent.expectedUpdate)
209
+ return {
210
+ title: `更新到 ${intent.expectedUpdate.activeVersion}`,
211
+ description: `使用当前启用目录中已确认的 ${intent.expectedUpdate.activeVersion} 同步所选安装。`,
212
+ primaryLabel: `更新到 ${intent.expectedUpdate.activeVersion}`,
213
+ destructive: false,
214
+ };
179
215
  const [title, description, destructive] = labels[intent.action];
180
216
  return { title, description, primaryLabel: title, destructive };
181
217
  }
@@ -254,6 +290,113 @@ function dependencyRelation(plan, pluginId) {
254
290
  : 'transitive';
255
291
  }
256
292
  function reviewChanges(intent, evidence, dependencyOverview) {
293
+ if (intent.kind === 'catalogManagement') {
294
+ const management = evidence?.catalogManagement;
295
+ if (!management || management.action !== intent.action) {
296
+ throw plannerError('catalogManagementUnavailable', '缺少 Catalog 管理确认信息。');
297
+ }
298
+ if (intent.action === 'workspaceInit')
299
+ return [
300
+ { kind: 'add', title: '创建 Catalog Workspace marker 和源码 scaffold' },
301
+ { kind: 'change', title: '创建或更新 .gitignore', description: '追加 .aw/ 生成目录规则' },
302
+ ...(intent.ownerName ? [{ kind: 'add', title: 'Catalog owner', description: '已设置' }] : []),
303
+ ...(intent.ownerUrl ? [{ kind: 'add', title: 'Catalog owner URL', description: '已设置' }] : []),
304
+ ...(intent.displayName ? [{ kind: 'add', title: 'Catalog display name', description: '已设置' }] : []),
305
+ { kind: 'change', title: 'Catalog 初始版本', description: intent.catalogVersion ?? '0.1.0' },
306
+ ...(intent.force ? [{ kind: 'warning', title: '修复匹配的受管 scaffold' }] : []),
307
+ { kind: 'keep', title: '不会创建 Git commit 或发布内容' },
308
+ ];
309
+ if (intent.action === 'workspaceVersion')
310
+ return [
311
+ { kind: 'change', title: '更新 Catalog metadata 版本', description: intent.version ?? `提升 ${intent.bump ?? '未选择'}` },
312
+ { kind: 'keep', title: '不会自动构建或发布' },
313
+ ];
314
+ if (intent.action === 'workspaceBuild')
315
+ return [
316
+ { kind: 'change', title: '验证 Workspace、插件依赖和 runtime closure' },
317
+ { kind: 'change', title: '运行插件构建并生成 Catalog snapshot' },
318
+ { kind: 'warning', title: '安装插件 package root 依赖并运行作者构建脚本' },
319
+ ...(intent.force ? [{ kind: 'warning', title: '替换已验证为生成物的现有输出' }] : []),
320
+ { kind: 'keep', title: '不会修改来源配置或发布远端' },
321
+ ];
322
+ if (intent.action === 'devActivate') {
323
+ const activation = management.devActivation;
324
+ if (!activation)
325
+ throw plannerError('catalogDevActivationUnavailable', '缺少开发来源启用确认信息。');
326
+ const affectedReferences = Object.values(activation.references)
327
+ .reduce((sum, count) => sum + count, 0);
328
+ return [
329
+ { kind: 'keep', title: '使用已单独确认并构建的当前 Catalog snapshot', description: activation.catalogVersion },
330
+ { kind: 'change', title: '保存 Workspace 管理的 Path 来源', description: activation.sourceId },
331
+ { kind: 'change', title: '同步并启用开发 Catalog' },
332
+ { kind: activation.inventoryComplete ? 'change' : 'warning',
333
+ title: activation.inventoryComplete ? '已检查现有来源引用' : '来源引用清单不完整',
334
+ description: `${affectedReferences} 个引用` },
335
+ ...Object.entries(activation.references)
336
+ .filter(([, count]) => count > 0)
337
+ .map(([category, count]) => ({
338
+ kind: 'warning', title: `受影响引用 · ${category}`, description: `${count} 个`,
339
+ })),
340
+ ...Object.entries(activation.changes)
341
+ .filter(([, count]) => count > 0)
342
+ .map(([category, count]) => ({
343
+ kind: 'warning', title: `Catalog 变化 · ${category}`, description: `${count} 个插件`,
344
+ })),
345
+ ...(intent.primary || activation.primaryChange
346
+ ? [{ kind: 'warning', title: '设为共享主来源', description: '会改变默认插件目录选择。' }]
347
+ : []),
348
+ ];
349
+ }
350
+ if (intent.action === 'devDeactivate') {
351
+ const impact = management.devImpact;
352
+ const affectedReferences = impact === undefined
353
+ ? 0
354
+ : Object.values(impact.references).reduce((sum, count) => sum + count, 0);
355
+ return [
356
+ { kind: 'remove', title: '移除 Workspace 管理的开发来源' },
357
+ ...(intent.replacementPrimary ? [{ kind: 'change', title: '切换主来源', description: intent.replacementPrimary }] : []),
358
+ { kind: 'keep', title: '保留 Workspace snapshot 和 Catalog store' },
359
+ { kind: impact?.inventoryComplete === false ? 'warning' : 'change',
360
+ title: impact?.inventoryComplete === false ? '来源引用清单不完整' : '已检查现有来源引用',
361
+ description: `${affectedReferences} 个引用` },
362
+ ...(impact?.primaryChange ? [{ kind: 'warning', title: '此操作会改变共享主来源' }] : []),
363
+ ];
364
+ }
365
+ if (intent.action === 'storePrune') {
366
+ const entries = management.store?.entries.filter((entry) => intent.items.some((item) => item.storeKey === entry.item.storeKey
367
+ && item.category === entry.item.category)) ?? [];
368
+ const bytes = entries.every((entry) => entry.reclaimableBytes !== null)
369
+ ? entries.reduce((sum, entry) => sum + entry.reclaimableBytes, 0)
370
+ : null;
371
+ return [
372
+ { kind: 'remove', title: `删除 ${entries.length} 个可回收项目`, description: bytes === null ? '大小未知' : `${bytes} bytes` },
373
+ ...[...new Set(entries.map((entry) => entry.category))].map((category) => ({
374
+ kind: 'remove', title: `Catalog store · ${category}`,
375
+ description: `${entries.filter((entry) => entry.category === category).length} 项`,
376
+ })),
377
+ { kind: 'keep', title: '保留 Active、未到保留期限、foreign 和未选择项目' },
378
+ { kind: 'warning', title: '执行时逐项重新检查身份、Active 和保留期限' },
379
+ ];
380
+ }
381
+ if (intent.action === 'publishPlan')
382
+ return [
383
+ { kind: 'change', title: '构建并完整验证发布 snapshot' },
384
+ { kind: 'change', title: '读取目标远端 branch 和 immutable tag' },
385
+ { kind: 'add', title: '保存 version-scoped journal 和隔离 Git repository' },
386
+ { kind: 'keep', title: '本步骤不会写入远端' },
387
+ { kind: 'warning', title: '插件构建可运行 Workspace 提供的作者脚本' },
388
+ ...(management.target?.remote ? [{ kind: 'keep', title: '远端', description: management.target.remote }] : []),
389
+ { kind: 'keep', title: '发布 branch', description: management.target?.branch ?? 'catalog' },
390
+ ];
391
+ return [
392
+ { kind: 'change', title: '应用已保存的发布计划', description: management.publication?.catalogVersion },
393
+ { kind: 'change', title: '写入并核对远端 branch 和 annotated tag' },
394
+ { kind: 'keep', title: '绑定旧 plan digest、Workspace identity、远端和 branch' },
395
+ { kind: 'keep', title: '不要求当前 HEAD 或 metadata 仍与 plan 相同' },
396
+ { kind: 'warning', title: management.publication?.state === 'uncertain'
397
+ ? '对账并恢复结果不确定的发布' : '远端失败或结果未知时保留 recovery journal' },
398
+ ];
399
+ }
257
400
  if (intent.kind === 'catalogSourcesRecovery') {
258
401
  return [
259
402
  { kind: 'add', title: '备份损坏的 catalog-sources.json' },
@@ -693,6 +836,76 @@ function batchGroupEvidence(evidence, group) {
693
836
  } : {}),
694
837
  };
695
838
  }
839
+ function taskSourceEvidence(evidence, source) {
840
+ return {
841
+ catalog: evidence.catalog,
842
+ ...(source.preview.dependencyPlan ? { dependencyPlan: source.preview.dependencyPlan } : {}),
843
+ ...(source.preview.codexReconcilePlans
844
+ ? { codexReconcilePlans: source.preview.codexReconcilePlans } : {}),
845
+ ...(source.preview.operationPlan ? { operationPlan: source.preview.operationPlan } : {}),
846
+ };
847
+ }
848
+ function taskReviewChanges(intent, evidence) {
849
+ const requested = evidence.taskPlan.executableTargets.map((target) => ({
850
+ kind: 'change',
851
+ group: 'requested',
852
+ pluginId: target.pluginId,
853
+ sourceId: target.pluginId.slice(0, target.pluginId.indexOf('/')),
854
+ relation: 'requested',
855
+ title: pluginNameFromId(target.pluginId),
856
+ description: `${platformLabel(target.platform)} · ${scopeLabel(target.scope)}`
857
+ + (target.expectedUpdate
858
+ ? ` · ${target.expectedUpdate.installedVersion} → ${target.expectedUpdate.activeVersion}`
859
+ : ' · 保持已安装版本'),
860
+ }));
861
+ const causes = evidence.taskPlan.causes.map((cause) => ({
862
+ kind: 'change',
863
+ group: 'dependencies',
864
+ pluginId: cause.repairTarget.pluginId,
865
+ sourceId: cause.sourceId,
866
+ relation: cause.consumers.some((consumer) => consumer.pluginId === cause.repairTarget.pluginId
867
+ && consumer.platform === cause.repairTarget.platform
868
+ && consumer.scope === cause.repairTarget.scope) ? 'requested' : 'direct',
869
+ title: pluginNameFromId(cause.repairTarget.pluginId),
870
+ description: `${cause.method === 'reinstall' ? '重新安装' : '同步'} · `
871
+ + `${platformLabel(cause.repairTarget.platform)} · ${scopeLabel(cause.repairTarget.scope)}`
872
+ + (cause.restoreVersionEvidence?.state === 'preserved'
873
+ ? ` · 保持 ${cause.restoreVersionEvidence.installedVersion}`
874
+ : cause.restoreVersionEvidence?.state === 'absent'
875
+ ? ` · 补齐 ${cause.restoreVersionEvidence.activeVersion}` : '')
876
+ + ` · 影响 ${cause.consumers.length} 个所选安装位置`,
877
+ }));
878
+ const runtime = evidence.taskPlan.sources.flatMap((source) => preApplyScopeChanges(operationPreApplyTargets(taskSourceEvidence(evidence, source))));
879
+ const blocked = evidence.taskPlan.blockedTargets.map((target) => ({
880
+ kind: 'warning',
881
+ group: 'portableWarnings',
882
+ pluginId: target.target.pluginId,
883
+ relation: 'requested',
884
+ title: `${pluginNameFromId(target.target.pluginId)} 不在本次执行中`,
885
+ description: `${platformLabel(target.target.platform)} · ${scopeLabel(target.target.scope)}`
886
+ + (target.errorCodes?.length ? ` · ${target.errorCodes.join('、')}` : ''),
887
+ }));
888
+ return [
889
+ ...scriptTimeoutChanges(intent),
890
+ ...requested,
891
+ ...causes,
892
+ ...runtime,
893
+ ...blocked,
894
+ ...(evidence.taskPlan.blockedTargets.length > 0 ? [{
895
+ kind: 'warning',
896
+ group: 'portableWarnings',
897
+ title: `${evidence.taskPlan.blockedTargets.length} 个目标不在本次执行中`,
898
+ description: '用户已明确选择先处理可执行子集;阻止项保持不变。',
899
+ }] : []),
900
+ ...(evidence.taskPlan.executableTargets.some((target) => target.scope === 'user') ? [{
901
+ kind: 'warning',
902
+ group: 'requested',
903
+ title: '包含所有项目安装位置',
904
+ description: '这些写入可能影响当前项目之外的使用位置。',
905
+ }] : []),
906
+ { kind: 'keep', group: 'preserved', title: '插件设置保持不变' },
907
+ ];
908
+ }
696
909
  function batchReviewChanges(intent, evidence) {
697
910
  const changes = evidence.groups.flatMap((group) => {
698
911
  const representative = group.requestedPluginIds[0];
@@ -702,7 +915,7 @@ function batchReviewChanges(intent, evidence) {
702
915
  action: intent.action,
703
916
  pluginId: representative,
704
917
  platform: group.platform,
705
- scope: intent.scope,
918
+ scope: group.scope,
706
919
  ...(intent.scriptTimeoutMs === undefined ? {} : { scriptTimeoutMs: intent.scriptTimeoutMs }),
707
920
  }, groupEvidence);
708
921
  const targetChanges = group.preview.targetResults.map((target) => {
@@ -766,6 +979,15 @@ function technicalDetails(evidence) {
766
979
  details.push(`批量分组:${group.sourceId} · ${group.platform} · ${group.requestedPluginIds.length} 个根插件 · ${group.executable ? `计划 ${short(group.preview.operationPlan.planFingerprint)}` : '预览失败'}`);
767
980
  }
768
981
  }
982
+ if ('taskPlan' in evidence) {
983
+ const task = evidence;
984
+ details.push(`任务目标:${task.taskPlan.requestedTargets.length} 个`);
985
+ details.push(`可执行目标:${task.taskPlan.executableTargets.length} 个`);
986
+ details.push(`共享根因:${task.taskPlan.causes.length} 个`);
987
+ for (const source of task.taskPlan.sources) {
988
+ details.push(`任务来源:${source.sourceId} · ${source.requestedTargets.length} 个目标 · 计划 ${short(source.preview.operationPlan.planFingerprint)}`);
989
+ }
990
+ }
769
991
  if (evidence.catalog.generationSetDigest) {
770
992
  details.push(`Catalog generation:${short(evidence.catalog.generationSetDigest)}`);
771
993
  }
@@ -817,17 +1039,24 @@ export function buildOperationReviewProjection(options) {
817
1039
  const batchEvidence = intent.kind === 'pluginWriteBatch'
818
1040
  ? evidence
819
1041
  : undefined;
1042
+ const taskEvidence = intent.kind === 'pluginWriteTask'
1043
+ ? evidence
1044
+ : undefined;
820
1045
  const labels = operationLabels(intent, evidence);
821
1046
  const hasPreApply = intent.kind === 'pluginWriteBatch'
822
1047
  ? Boolean(batchEvidence?.groups.some((group) => operationPreApplyTargets(batchGroupEvidence(batchEvidence, group)).length > 0))
823
- : operationPreApplyTargets(evidence).length > 0
824
- || (evidence.config?.preApplyAuthorization?.length ?? 0) > 0;
1048
+ : intent.kind === 'pluginWriteTask'
1049
+ ? Boolean(taskEvidence?.taskPlan.sources.some((source) => operationPreApplyTargets(taskSourceEvidence(taskEvidence, source)).length > 0))
1050
+ : operationPreApplyTargets(evidence).length > 0
1051
+ || (evidence.config?.preApplyAuthorization?.length ?? 0) > 0;
825
1052
  const sharedNativeConfigApply = intent.kind === 'configSave'
826
1053
  && intent.apply
827
1054
  && (evidence.config?.sharedNativeRenderTargets?.length ?? 0) > 0
828
1055
  && (evidence.config?.affectedTargets.some((target) => target.platform === 'codex') ?? false);
829
1056
  const requiresConfirmation = sharedNativeConfigApply
1057
+ || intent.kind === 'catalogManagement'
830
1058
  || Boolean(batchEvidence?.groups.some((group) => (group.preview.codexReconcilePlans ?? []).some((plan) => plan.review.requiresConfirmation)))
1059
+ || Boolean(taskEvidence?.taskPlan.sources.some((source) => (source.preview.codexReconcilePlans ?? []).some((plan) => plan.review.requiresConfirmation)))
831
1060
  || (evidence.codexReconcilePlans ?? []).some((plan) => plan.review.requiresConfirmation)
832
1061
  || Boolean(evidence.sourceWrite
833
1062
  && (!evidence.sourceWrite.inventoryComplete || evidence.sourceWrite.referenceCount > 0))
@@ -839,6 +1068,8 @@ export function buildOperationReviewProjection(options) {
839
1068
  || evidence.catalogGeneration.primaryImpact.affectedReferences.length > 0));
840
1069
  const warning = (evidence.codexReconcilePlans ?? []).find((plan) => plan.review.sharedImpact.warning)?.review.sharedImpact.warning
841
1070
  ?? batchEvidence?.groups.flatMap((group) => group.preview.codexReconcilePlans ?? [])
1071
+ .find((plan) => plan.review.sharedImpact.warning)?.review.sharedImpact.warning
1072
+ ?? taskEvidence?.taskPlan.sources.flatMap((source) => source.preview.codexReconcilePlans ?? [])
842
1073
  .find((plan) => plan.review.sharedImpact.warning)?.review.sharedImpact.warning;
843
1074
  const preparationWarnings = (evidence.preparationWarnings ?? []).map(() => ({
844
1075
  kind: 'warning',
@@ -853,7 +1084,9 @@ export function buildOperationReviewProjection(options) {
853
1084
  ...preparationWarnings,
854
1085
  ...(intent.kind === 'pluginWriteBatch'
855
1086
  ? batchReviewChanges(intent, batchEvidence)
856
- : reviewChanges(intent, evidence, options.dependencyOverview)),
1087
+ : intent.kind === 'pluginWriteTask'
1088
+ ? taskReviewChanges(intent, taskEvidence)
1089
+ : reviewChanges(intent, evidence, options.dependencyOverview)),
857
1090
  ],
858
1091
  technicalDetails: technicalDetails(evidence),
859
1092
  ...(intent.kind === 'pluginWrite'
@@ -861,15 +1094,18 @@ export function buildOperationReviewProjection(options) {
861
1094
  : {}),
862
1095
  primaryLabel: intent.kind === 'pluginWriteBatch'
863
1096
  ? `${labels.primaryLabel} ${batchEvidence.requestedPluginIds.length} 个插件`
864
- : intent.kind === 'pluginWrite' && evidence.dependencyPlan
865
- ? `${labels.primaryLabel} ${evidence.dependencyPlan.resolvedPluginIds.length} 个插件`
866
- : labels.primaryLabel,
1097
+ : intent.kind === 'pluginWriteTask'
1098
+ ? `${labels.primaryLabel} ${taskEvidence.taskPlan.executableTargets.length} 个安装位置`
1099
+ : intent.kind === 'pluginWrite' && evidence.dependencyPlan
1100
+ ? `${labels.primaryLabel} ${evidence.dependencyPlan.resolvedPluginIds.length} 个插件`
1101
+ : labels.primaryLabel,
867
1102
  ...(labels.destructive ? { destructive: true } : {}),
868
1103
  requiresConfirmation,
869
1104
  sharedImpact: {
870
1105
  pluginIds: [...new Set([
871
1106
  ...(evidence.codexReconcilePlans ?? []).flatMap((plan) => plan.review.sharedImpact.pluginIds),
872
1107
  ...(batchEvidence?.groups.flatMap((group) => (group.preview.codexReconcilePlans ?? []).flatMap((plan) => plan.review.sharedImpact.pluginIds)) ?? []),
1108
+ ...(taskEvidence?.taskPlan.sources.flatMap((source) => (source.preview.codexReconcilePlans ?? []).flatMap((plan) => plan.review.sharedImpact.pluginIds)) ?? []),
873
1109
  ...(evidence.sourceWrite?.impact?.affectedReferences ?? []).flatMap((reference) => reference.pluginId ? [reference.pluginId] : []),
874
1110
  ...(evidence.catalogGeneration?.impact?.affectedReferences ?? []).flatMap((reference) => reference.pluginId ? [reference.pluginId] : []),
875
1111
  ...(evidence.catalogGeneration?.primaryImpact?.affectedReferences ?? []).flatMap((reference) => reference.pluginId ? [reference.pluginId] : []),
@@ -1 +1 @@
1
- {"version":3,"file":"operation-review-planner.js","sourceRoot":"","sources":["../../../src/tui/operation-review-planner.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAC;AAarE,OAAO,EAAE,+BAA+B,EAAE,MAAM,6BAA6B,CAAC;AAC9E,OAAO,EACL,oBAAoB,EACpB,yBAAyB,GAC1B,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;AAClE,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAE1D,SAAS,YAAY,CAAC,IAAY,EAAE,OAAe;IACjD,OAAO,IAAI,KAAK,CAAC,GAAG,IAAI,KAAK,OAAO,EAAE,CAAC,CAAC;AAC1C,CAAC;AAED,SAAS,gBAAgB,CAAC,QAAgB;IACxC,MAAM,SAAS,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IACxC,OAAO,SAAS,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC;AAClE,CAAC;AAED,SAAS,oBAAoB,CAAC,MAAuB;IACnD,IAAI,mBAAuC,CAAC;IAC5C,IAAI,CAAC,MAAM,CAAC,IAAI,KAAK,aAAa,IAAI,MAAM,CAAC,IAAI,KAAK,kBAAkB,CAAC;WACpE,CAAC,MAAM,CAAC,MAAM,KAAK,SAAS,IAAI,MAAM,CAAC,MAAM,KAAK,gBAAgB;eAChE,MAAM,CAAC,MAAM,KAAK,WAAW,IAAI,MAAM,CAAC,MAAM,KAAK,MAAM,CAAC,EAAE,CAAC;QAClE,mBAAmB,GAAG,MAAM,CAAC,eAAe,CAAC;IAC/C,CAAC;SAAM,IAAI,MAAM,CAAC,IAAI,KAAK,YAAY,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;QACxD,mBAAmB,GAAG,MAAM,CAAC,eAAe,CAAC;IAC/C,CAAC;SAAM,CAAC;QACN,OAAO,EAAE,CAAC;IACZ,CAAC;IACD,MAAM,SAAS,GAAG,oBAAoB,CAAC,mBAAmB,IAAI,yBAAyB,CAAC,CAAC;IACzF,OAAO,CAAC;YACN,IAAI,EAAE,MAAM;YACZ,KAAK,EAAE,SAAS;YAChB,KAAK,EAAE,eAAe;YACtB,WAAW,EAAE,GAAG,SAAS,KAAK;SAC/B,CAAC,CAAC;AACL,CAAC;AAED,SAAS,oBAAoB,CAC3B,OAKE;IAEF,OAAO,CAAC,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;gBAC1C,MAAM,CAAC,QAAQ;gBACf,MAAM,CAAC,QAAQ;gBACf,MAAM,CAAC,KAAK;aACb,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,MAAM,CAAU,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;QAC1D,IAAI,EAAE,QAAQ;QACd,KAAK,EAAE,SAAS;QAChB,QAAQ,EAAE,MAAM,CAAC,QAAQ;QACzB,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACzD,KAAK,EAAE,MAAM,MAAM,CAAC,QAAQ,WAAW;QACvC,WAAW,EAAE,GAAG,aAAa,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,UAAU,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE;KAC/E,CAAC,CAAC,CAAC;AACN,CAAC;AAED,SAAS,wBAAwB,CAAC,QAA4B;IAC5D,OAAO,CAAC,QAAQ,EAAE,aAAa,EAAE,OAAO,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE,CACjE,MAAM,CAAC,IAAI,KAAK,aAAa;QAC3B,CAAC,CAAC,CAAC;gBACC,GAAG,MAAM;gBACT,GAAG,CAAC,QAAQ,EAAE,cAAc;oBAC1B,CAAC,CAAC,EAAE,QAAQ,EAAE,kBAAkB,CAAC,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC,QAAQ,CAAC,EAAE;oBAC5E,CAAC,CAAC,EAAE,CAAC;aACR,CAAC;QACJ,CAAC,CAAC,EAAE,CAAC,CAAC;AACZ,CAAC;AAED,SAAS,2BAA2B,CAClC,QAAgG;IAEhG,IAAI,QAAQ,CAAC,MAAM,KAAK,KAAK,EAAE,CAAC;QAC9B,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC;QAC/B,OAAO;YACL,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE;YAChC,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,CAAC,IAAI,KAAK,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,EAAE,WAAW,EAAE,KAAK,EAAE;YACtF,GAAG,CAAC,MAAM,CAAC,IAAI,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC;oBAC3B,IAAI,EAAE,KAAc;oBACpB,KAAK,EAAE,gBAAgB;oBACvB,WAAW,EAAE,MAAM,CAAC,SAAS,CAAC,IAAI,KAAK,YAAY;wBACjD,CAAC,CAAC,gBAAgB;wBAClB,CAAC,CAAC,YAAY,MAAM,CAAC,SAAS,CAAC,GAAG,EAAE;iBACvC,EAAE;oBACD,IAAI,EAAE,KAAc;oBACpB,KAAK,EAAE,SAAS;oBAChB,WAAW,EAAE,MAAM,CAAC,MAAM,IAAI,KAAK;iBACpC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YACR;gBACE,IAAI,EAAE,KAAK;gBACX,KAAK,EAAE,MAAM;gBACb,WAAW,EAAE,MAAM,CAAC,SAAS,KAAK,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI;aACtD;SACF,CAAC;IACJ,CAAC;IACD,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC;IAC/B,MAAM,OAAO,GAA4B,EAAE,CAAC;IAC5C,IAAI,KAAK,IAAI,MAAM,IAAI,MAAM,CAAC,GAAG,KAAK,SAAS,EAAE,CAAC;QAChD,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,SAAS,EAAE,WAAW,EAAE,KAAK,EAAE,CAAC,CAAC;IACzE,CAAC;IACD,IAAI,MAAM,IAAI,MAAM,IAAI,MAAM,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;QAClD,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,WAAW,EAAE,KAAK,EAAE,CAAC,CAAC;IACtE,CAAC;IACD,IAAI,WAAW,IAAI,MAAM,IAAI,MAAM,CAAC,SAAS;QAAE,OAAO,CAAC,IAAI,CAAC;YAC1D,IAAI,EAAE,QAAQ;YACd,KAAK,EAAE,gBAAgB;YACvB,WAAW,EAAE,MAAM,CAAC,SAAS,CAAC,IAAI,KAAK,YAAY;gBACjD,CAAC,CAAC,gBAAgB;gBAClB,CAAC,CAAC,YAAY,MAAM,CAAC,SAAS,CAAC,GAAG,EAAE;SACvC,CAAC,CAAC;IACH,IAAI,QAAQ,IAAI,MAAM,IAAI,MAAM,CAAC,MAAM,KAAK,SAAS;QAAE,OAAO,CAAC,IAAI,CAAC;YAClE,IAAI,EAAE,QAAQ;YACd,KAAK,EAAE,SAAS;YAChB,WAAW,EAAE,MAAM,CAAC,MAAM,IAAI,KAAK;SACpC,CAAC,CAAC;IACH,IAAI,WAAW,IAAI,MAAM,IAAI,MAAM,CAAC,SAAS,KAAK,SAAS;QAAE,OAAO,CAAC,IAAI,CAAC;YACxE,IAAI,EAAE,QAAQ;YACd,KAAK,EAAE,MAAM;YACb,WAAW,EAAE,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI;SAC5C,CAAC,CAAC;IACH,OAAO,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC;AAC9E,CAAC;AAED,SAAS,eAAe,CAAC,MAAuB,EAAE,QAA4B;IAM5E,IAAI,MAAM,CAAC,IAAI,KAAK,wBAAwB,EAAE,CAAC;QAC7C,OAAO;YACL,KAAK,EAAE,YAAY;YACnB,WAAW,EAAE,4BAA4B;YACzC,YAAY,EAAE,aAAa;YAC3B,WAAW,EAAE,KAAK;SACnB,CAAC;IACJ,CAAC;IACD,IAAI,MAAM,CAAC,IAAI,KAAK,iBAAiB,EAAE,CAAC;QACtC,OAAO;YACL,KAAK,EAAE,eAAe;YACtB,WAAW,EAAE,4BAA4B;YACzC,YAAY,EAAE,QAAQ,MAAM,CAAC,cAAc,CAAC,MAAM,WAAW;YAC7D,WAAW,EAAE,KAAK;SACnB,CAAC;IACJ,CAAC;IACD,IAAI,MAAM,CAAC,IAAI,KAAK,kBAAkB,EAAE,CAAC;QACvC,MAAM,MAAM,GAAG;YACb,OAAO,EAAE,CAAC,QAAQ,EAAE,eAAe,CAAC;YACpC,IAAI,EAAE,CAAC,QAAQ,EAAE,gBAAgB,CAAC;YAClC,SAAS,EAAE,CAAC,UAAU,EAAE,uBAAuB,CAAC;YAChD,SAAS,EAAE,CAAC,QAAQ,EAAE,2BAA2B,CAAC;YAClD,OAAO,EAAE,CAAC,QAAQ,EAAE,2BAA2B,CAAC;SACxC,CAAC;QACX,MAAM,CAAC,KAAK,EAAE,WAAW,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QACnD,OAAO;YACL,KAAK;YACL,WAAW;YACX,YAAY,EAAE,KAAK;YACnB,WAAW,EAAE,MAAM,CAAC,MAAM,KAAK,WAAW,IAAI,MAAM,CAAC,MAAM,KAAK,WAAW;mBACtE,MAAM,CAAC,MAAM,KAAK,SAAS;SACjC,CAAC;IACJ,CAAC;IACD,IAAI,MAAM,CAAC,IAAI,KAAK,aAAa,EAAE,CAAC;QAClC,IAAI,MAAM,CAAC,WAAW,EAAE,CAAC;YACvB,IAAI,MAAM,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;gBAChC,OAAO;oBACL,KAAK,EAAE,SAAS;oBAChB,WAAW,EAAE,2BAA2B;oBACxC,YAAY,EAAE,MAAM;oBACpB,WAAW,EAAE,IAAI;iBAClB,CAAC;YACJ,CAAC;YACD,OAAO;gBACL,KAAK,EAAE,MAAM;gBACb,WAAW,EAAE,uBAAuB;gBACpC,YAAY,EAAE,MAAM;gBACpB,WAAW,EAAE,MAAM,CAAC,MAAM,KAAK,WAAW;aAC3C,CAAC;QACJ,CAAC;QACD,IAAI,MAAM,CAAC,MAAM,KAAK,SAAS,IAAI,MAAM,CAAC,KAAK,KAAK,IAAI,EAAE,CAAC;YACzD,OAAO;gBACL,KAAK,EAAE,QAAQ;gBACf,WAAW,EAAE,2CAA2C;gBACxD,YAAY,EAAE,QAAQ;gBACtB,WAAW,EAAE,IAAI;aAClB,CAAC;QACJ,CAAC;QACD,MAAM,MAAM,GAA4D;YACtE,OAAO,EAAE,CAAC,MAAM,EAAE,cAAc,EAAE,KAAK,CAAC;YACxC,cAAc,EAAE,CAAC,OAAO,EAAE,2BAA2B,EAAE,KAAK,CAAC;YAC7D,SAAS,EAAE,CAAC,QAAQ,EAAE,mBAAmB,EAAE,IAAI,CAAC;YAChD,SAAS,EAAE,CAAC,MAAM,EAAE,uBAAuB,EAAE,IAAI,CAAC;YAClD,OAAO,EAAE,CAAC,MAAM,EAAE,2BAA2B,EAAE,IAAI,CAAC;YACpD,IAAI,EAAE,CAAC,MAAM,EAAE,mBAAmB,EAAE,KAAK,CAAC;SAC3C,CAAC;QACF,MAAM,CAAC,KAAK,EAAE,WAAW,EAAE,WAAW,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAChE,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,YAAY,EAAE,KAAK,EAAE,WAAW,EAAE,CAAC;IAClE,CAAC;IACD,IAAI,MAAM,CAAC,IAAI,KAAK,YAAY,EAAE,CAAC;QACjC,IAAI,MAAM,CAAC,UAAU,EAAE,CAAC;YACtB,OAAO;gBACL,KAAK,EAAE,UAAU;gBACjB,WAAW,EAAE,2BAA2B;gBACxC,YAAY,EAAE,MAAM;gBACpB,WAAW,EAAE,KAAK;aACnB,CAAC;QACJ,CAAC;QACD,OAAO;YACL,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,QAAQ;YAC5C,WAAW,EAAE,MAAM,CAAC,KAAK;gBACvB,CAAC,CAAC,oBAAoB;gBACtB,CAAC,CAAC,oBAAoB;YACxB,YAAY,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI;YAC3C,WAAW,EAAE,KAAK;SACnB,CAAC;IACJ,CAAC;IACD,IAAI,MAAM,CAAC,IAAI,KAAK,aAAa,EAAE,CAAC;QAClC,OAAO;YACL,KAAK,EAAE,QAAQ;YACf,WAAW,EAAE,iBAAiB;YAC9B,YAAY,EAAE,MAAM;YACpB,WAAW,EAAE,IAAI;SAClB,CAAC;IACJ,CAAC;IACD,IAAI,MAAM,CAAC,IAAI,KAAK,gBAAgB,EAAE,CAAC;QACrC,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,KAAK,QAAQ;YAC1C,CAAC,CAAC,+BAA+B,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QAC/D,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;YAC5B,OAAO;gBACL,KAAK,EAAE,UAAU;gBACjB,WAAW,EAAE,8BAA8B;gBAC3C,YAAY,EAAE,MAAM;gBACpB,WAAW,EAAE,KAAK;aACnB,CAAC;QACJ,CAAC;QACD,MAAM,MAAM,GAAG;YACb,GAAG,EAAE,CAAC,MAAM,EAAE,gCAAgC,EAAE,MAAM,EAAE,KAAK,CAAC;YAC9D,MAAM,EAAE,CAAC,MAAM,EAAE,gCAAgC,EAAE,MAAM,EAAE,KAAK,CAAC;YACjE,UAAU,EAAE,CAAC,OAAO,EAAE,0BAA0B,EAAE,OAAO,EAAE,KAAK,CAAC;YACjE,MAAM,EAAE,CAAC,MAAM,EAAE,kBAAkB,EAAE,MAAM,EAAE,IAAI,CAAC;SAC1C,CAAC;QACX,MAAM,CAAC,KAAK,EAAE,WAAW,EAAE,YAAY,EAAE,WAAW,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAC9E,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,YAAY,EAAE,WAAW,EAAE,CAAC;IAC3D,CAAC;IACD,IAAI,MAAM,CAAC,IAAI,KAAK,mBAAmB,EAAE,CAAC;QACxC,IAAI,MAAM,CAAC,MAAM,KAAK,QAAQ,IAAI,QAAQ,EAAE,iBAAiB,EAAE,WAAW,EAAE,CAAC;YAC3E,OAAO;gBACL,KAAK,EAAE,aAAa;gBACpB,WAAW,EAAE,yCAAyC;gBACtD,YAAY,EAAE,SAAS;gBACvB,WAAW,EAAE,KAAK;aACnB,CAAC;QACJ,CAAC;QACD,MAAM,MAAM,GAAG;YACb,QAAQ,EAAE,CAAC,WAAW,EAAE,iCAAiC,EAAE,OAAO,CAAC;YACnE,MAAM,EAAE,CAAC,WAAW,EAAE,gCAAgC,EAAE,OAAO,CAAC;YAChE,MAAM,EAAE,CAAC,aAAa,EAAE,6BAA6B,EAAE,SAAS,CAAC;YACjE,cAAc,EAAE,CAAC,aAAa,EAAE,kCAAkC,EAAE,OAAO,CAAC;YAC5E,YAAY,EAAE,CAAC,aAAa,EAAE,2CAA2C,EAAE,SAAS,CAAC;SAC7E,CAAC;QACX,MAAM,CAAC,KAAK,EAAE,WAAW,EAAE,YAAY,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QACjE,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,YAAY,EAAE,WAAW,EAAE,KAAK,EAAE,CAAC;IAClE,CAAC;IACD,MAAM,YAAY,CAChB,yBAAyB,EACzB,aAAa,CACd,CAAC;AACJ,CAAC;AAED,SAAS,kBAAkB,CACzB,IAA4B,EAC5B,QAAgB;IAEhB,IAAI,IAAI,CAAC,kBAAkB,CAAC,QAAQ,CAAC,QAAQ,CAAC;QAAE,OAAO,WAAW,CAAC;IACnE,OAAO,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CACxC,IAAI,CAAC,kBAAkB,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,EAAE,KAAK,QAAQ,CAAC;QACpE,CAAC,CAAC,QAAQ;QACV,CAAC,CAAC,YAAY,CAAC;AACnB,CAAC;AAED,SAAS,aAAa,CACpB,MAAuB,EACvB,QAA4B,EAC5B,kBAAsD;IAEtD,IAAI,MAAM,CAAC,IAAI,KAAK,wBAAwB,EAAE,CAAC;QAC7C,OAAO;YACL,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,4BAA4B,EAAE;YACpD,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,mBAAmB,EAAE;YAC9C,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,uCAAuC,EAAE;YAChE;gBACE,IAAI,EAAE,SAAS;gBACf,KAAK,EAAE,eAAe;gBACtB,WAAW,EAAE,oBAAoB;aAClC;SACF,CAAC;IACJ,CAAC;IACD,IAAI,MAAM,CAAC,IAAI,KAAK,iBAAiB,EAAE,CAAC;QACtC,MAAM,MAAM,GAAG,QAAQ,EAAE,QAAQ,CAAC;QAClC,IAAI,CAAC,MAAM;YAAE,MAAM,YAAY,CAAC,uBAAuB,EAAE,wBAAwB,CAAC,CAAC;QACnF,OAAO;YACL,GAAG,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,KAAK,EAAyB,EAAE,CAAC,CAAC;gBACxD,IAAI,EAAE,KAAK;gBACX,KAAK,EAAE,KAAK,CAAC,QAAQ,KAAK,WAAW,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,cAAc;gBACpE,QAAQ,EAAE,KAAK,CAAC,gBAAgB;gBAChC,QAAQ,EAAE,KAAK,CAAC,QAAQ;gBACxB,KAAK,EAAE,KAAK,CAAC,IAAI;gBACjB,WAAW,EAAE,GAAG,KAAK,CAAC,WAAW,MAAM,KAAK,CAAC,mBAAmB,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,EAAE;aACrG,CAAC,CAAC;YACH,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,gBAAgB,EAAE,KAAK,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,CAAC,SAAS,KAAK,WAAW;oBACtG,CAAC,CAAC,kCAAkC;oBACpC,CAAC,CAAC,MAAM,CAAC,eAAe,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE;YACtC,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,gBAAgB,EAAE,KAAK,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE;YACnH,EAAE,IAAI,EAAE,MAAM,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,EAAE,KAAK,EAAE,gBAAgB,EAAE,KAAK,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC;oBAC7I,CAAC,CAAC,GAAG,MAAM,CAAC,YAAY,CAAC,MAAM,eAAe,CAAC,CAAC,CAAC,QAAQ,EAAE;YAC7D,GAAG,CAAC,MAAM,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,SAAkB,EAAE,KAAK,EAAE,kBAA2B,EAAE,KAAK,EAAE,MAAM;oBAC/G,WAAW,EAAE,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;SACvF,CAAC;IACJ,CAAC;IACD,IAAI,MAAM,CAAC,IAAI,KAAK,aAAa,EAAE,CAAC;QAClC,MAAM,iBAAiB,GAAG,qBAAqB,CAC7C,MAAM,CAAC,MAAM,KAAK,gBAAgB,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAC5D,CAAC;QACF,MAAM,cAAc,GAA4B;YAC9C,GAAG,oBAAoB,CAAC,MAAM,CAAC;YAC/B,GAAG,oBAAoB,CAAC,wBAAwB,CAAC,QAAQ,CAAC,CAAC;YAC3D,GAAG,CAAC,QAAQ,EAAE,YAAY;gBAC1B,CAAC,CAAC,CAAC;wBACC,IAAI,EAAE,QAAQ,CAAC,YAAY,CAAC,KAAK,KAAK,kBAAkB,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM;wBACzE,KAAK,EAAE,SAAS;wBAChB,KAAK,EAAE,QAAQ,CAAC,YAAY,CAAC,KAAK,KAAK,kBAAkB;4BACvD,CAAC,CAAC,eAAe;4BACjB,CAAC,CAAC,YAAY;wBAChB,WAAW,EAAE,QAAQ,CAAC,YAAY,CAAC,KAAK,KAAK,kBAAkB;4BAC7D,CAAC,CAAC,GAAG,QAAQ,CAAC,YAAY,CAAC,WAAW,IAAI,QAAQ,CAAC,YAAY,CAAC,OAAO,YAAY;4BACnF,CAAC,CAAC,QAAQ,CAAC,YAAY,CAAC,KAAK,KAAK,QAAQ;gCACxC,CAAC,CAAC,GAAG,QAAQ,CAAC,YAAY,CAAC,WAAW,IAAI,QAAQ,CAAC,YAAY,CAAC,OAAO,eAAe;gCACtF,CAAC,CAAC,iBAAiB,QAAQ,CAAC,YAAY,CAAC,OAAO,EAAE;qBACvB,CAAC;gBACpC,CAAC,CAAC,EAAE,CAAC;SACN,CAAC;QACF,MAAM,YAAY,GAAG,CAAC,QAAQ,EAAE,mBAAmB,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC;YAChF,GAAG,SAAS,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAC,MAAM,EAAyB,EAAE,CAAC,CAAC;gBACvE,IAAI,EAAE,MAAM,CAAC,MAAM,KAAK,OAAO,IAAI,MAAM,CAAC,MAAM,KAAK,MAAM,CAAC,CAAC,CAAC,MAAM;oBAClE,CAAC,CAAC,MAAM,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ;gBAClD,KAAK,EAAE,mBAAmB;gBAC1B,QAAQ,EAAE,MAAM,CAAC,QAAQ;gBACzB,KAAK,EAAE,MAAM,CAAC,aAAa;gBAC3B,WAAW,EAAE,MAAM,CAAC,MAAM,KAAK,OAAO;oBACpC,CAAC,CAAC,eAAe;oBACjB,CAAC,CAAC,GAAI;wBACF,OAAO,EAAE,IAAI;wBACb,MAAM,EAAE,IAAI;wBACZ,MAAM,EAAE,IAAI;wBACZ,OAAO,EAAE,IAAI;wBACb,MAAM,EAAE,IAAI;wBACZ,IAAI,EAAE,MAAM;qBACH,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,MAAM,CAAC,kBAAkB,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,EAAE;aACxF,CAAC,CAAC;YACH,GAAG,SAAS,CAAC,iBAAiB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,MAAM,EAAyB,EAAE,CAAC,CAAC;gBAC1E,IAAI,EAAE,MAAM,CAAC,MAAM,KAAK,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ;gBAC9E,KAAK,EAAE,gBAAgB;gBACvB,QAAQ,EAAE,MAAM,CAAC,QAAQ;gBACzB,KAAK,EAAE,MAAM,CAAC,aAAa;gBAC3B,WAAW,EAAE,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,YAAY,MAAM,CAAC,MAAM,KAAK,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,EAAE;aACpG,CAAC,CAAC;YACH,GAAG,SAAS,CAAC,iBAAiB,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAyB,EAAE,CAAC,CAAC;gBAC7E,IAAI,EAAE,MAAM,CAAC,MAAM,KAAK,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ;gBAC9E,KAAK,EAAE,mBAAmB;gBAC1B,QAAQ,EAAE,MAAM,CAAC,QAAQ;gBACzB,KAAK,EAAE,MAAM,CAAC,aAAa;gBAC3B,WAAW,EAAE,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,YAAY,MAAM,CAAC,MAAM,KAAK,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,EAAE;aACpG,CAAC,CAAC;YACH,GAAG,CAAC,GAAG,SAAS,CAAC,eAAe,EAAE,GAAG,SAAS,CAAC,iBAAiB,CAAC;iBAC9D,GAAG,CAAC,CAAC,MAAM,EAAyB,EAAE,CAAC,CAAC;gBACvC,IAAI,EAAE,MAAM,CAAC,MAAM,KAAK,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ;gBACrD,KAAK,EAAE,cAAc;gBACrB,QAAQ,EAAE,MAAM,CAAC,QAAQ;gBACzB,KAAK,EAAE,MAAM,CAAC,YAAY;gBAC1B,WAAW,EAAE,GAAG,UAAU,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,MAAM,CAAC,MAAM,KAAK,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE;aACxF,CAAC,CAAC;SACN,CAAC,CAAC;QACH,MAAM,IAAI,GAAG,QAAQ,EAAE,cAAc,CAAC;QACtC,IAAI,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,KAAK,SAAS,IAAI,MAAM,CAAC,MAAM,KAAK,gBAAgB;eACzE,MAAM,CAAC,MAAM,KAAK,WAAW,IAAI,MAAM,CAAC,MAAM,KAAK,MAAM,CAAC,EAAE,CAAC;YAChE,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAyB,EAAE;gBACjE,MAAM,QAAQ,GAAG,kBAAkB,CAAC,IAAI,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC;gBAC3D,OAAO;oBACL,IAAI,EAAE,iBAAiB;oBACvB,KAAK,EAAE,QAAQ,KAAK,WAAW,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,cAAc;oBAC9D,QAAQ,EAAE,MAAM,CAAC,QAAQ;oBACzB,QAAQ;oBACR,KAAK,EAAE,gBAAgB,CAAC,MAAM,CAAC,QAAQ,CAAC;oBACxC,WAAW,EAAE,GAAG,aAAa,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,UAAU,CAAC,MAAM,CAAC,aAAa,CAAC,GAAG,MAAM,CAAC,MAAM,KAAK,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,GAAG,MAAM,CAAC,gBAAgB,KAAK,qBAAqB,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,MAAM,CAAC,gBAAgB,KAAK,mBAAmB,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE,EAAE;iBAClR,CAAC;YACJ,CAAC,CAAC,CAAC;YACH,OAAO,CAAC,IAAI,CAAC;gBACX,IAAI,EAAE,MAAM;gBACZ,KAAK,EAAE,WAAW;gBAClB,KAAK,EAAE,eAAe;gBACtB,WAAW,EAAE,iBAAiB;aAC/B,CAAC,CAAC;YACH,OAAO,CAAC,GAAG,OAAO,EAAE,GAAG,YAAY,EAAE,GAAG,cAAc,CAAC,CAAC;QAC1D,CAAC;QACD,MAAM,SAAS,GAAmB,MAAM,CAAC,QAAQ,KAAK,MAAM;YAC1D,CAAC,CAAC,CAAC,OAAO,EAAE,QAAQ,CAAC;YACrB,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QACtB,MAAM,OAAO,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAyB,EAAE,CAAC,CAAC;YAClE,IAAI,EAAE,MAAM,CAAC,MAAM,KAAK,WAAW,IAAI,MAAM,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ;YAC9H,KAAK,EAAE,WAAW;YAClB,QAAQ,EAAE,MAAM,CAAC,QAAQ;YACzB,QAAQ,EAAE,WAAW;YACrB,KAAK,EAAE,GAAG,aAAa,CAAC,QAAQ,CAAC,MAAM,UAAU,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE;YACjE,WAAW,EAAE,MAAM,CAAC,MAAM,KAAK,WAAW,IAAI,MAAM,CAAC,MAAM,KAAK,SAAS;gBACvE,CAAC,CAAC,WAAW;gBACb,CAAC,CAAC,iBAAiB;SACtB,CAAC,CAAC,CAAC;QACJ,IAAI,MAAM,CAAC,MAAM,KAAK,SAAS,IAAI,QAAQ,EAAE,cAAc,EAAE,CAAC;YAC5D,MAAM,YAAY,GAAsF;gBACtG,iBAAiB,EAAE,YAAY;gBAC/B,wBAAwB,EAAE,UAAU;aACrC,CAAC;YACF,OAAO,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAyB,EAAE,CAAC,CAAC;gBAC3F,IAAI,EAAE,QAAQ;gBACd,KAAK,EAAE,WAAW;gBAClB,QAAQ,EAAE,QAAQ,CAAC,cAAe,CAAC,QAAQ;gBAC3C,QAAQ,EAAE,WAAW;gBACrB,KAAK,EAAE,YAAY,CAAC,MAAM,CAAC,MAAM,CAAC;gBAClC,WAAW,EAAE,MAAM,CAAC,MAAM;aAC3B,CAAC,CAAC,CAAC,CAAC;QACP,CAAC;QACD,IAAI,MAAM,CAAC,MAAM,KAAK,WAAW,IAAI,MAAM,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;YACjE,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,kBAAkB,EAAE,YAAY,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;gBAC5E,IAAI,EAAE,MAAe;gBACrB,KAAK,EAAE,WAAoB;gBAC3B,QAAQ,EAAE,UAAU,CAAC,QAAQ;gBAC7B,QAAQ,EAAE,UAAU,CAAC,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAiB,CAAC,CAAC,CAAC,YAAqB;gBACtF,KAAK,EAAE,UAAU,CAAC,WAAW;gBAC7B,WAAW,EAAE,SAAS;aACvB,CAAC,CAAC,CAAC,CAAC;QACP,CAAC;QACD,IAAI,MAAM,CAAC,MAAM,KAAK,SAAS,IAAI,MAAM,CAAC,KAAK,KAAK,IAAI,EAAE,CAAC;YACzD,OAAO,CAAC,IAAI,CAAC;gBACX,IAAI,EAAE,SAAS;gBACf,KAAK,EAAE,QAAQ;gBACf,WAAW,EAAE,0BAA0B;aACxC,CAAC,CAAC;QACL,CAAC;QACD,IAAI,MAAM,CAAC,WAAW,EAAE,CAAC;YACvB,OAAO,CAAC,IAAI,CACV,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE,EACnC,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,kBAAkB,EAAE,CAC/C,CAAC;QACJ,CAAC;QACD,IAAI,MAAM,CAAC,mBAAmB,EAAE,CAAC;YAC/B,OAAO,CAAC,IAAI,CAAC;gBACX,IAAI,EAAE,SAAS;gBACf,KAAK,EAAE,WAAW;gBAClB,KAAK,EAAE,QAAQ,MAAM,CAAC,KAAK,KAAK,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,IAAI;gBAC5D,WAAW,EAAE,oBAAoB;aAClC,CAAC,CAAC;QACL,CAAC;QACD,OAAO,CAAC,GAAG,OAAO,EAAE,GAAG,YAAY,EAAE,GAAG,cAAc,CAAC,CAAC;IAC1D,CAAC;IACD,IAAI,MAAM,CAAC,IAAI,KAAK,aAAa,EAAE,CAAC;QAClC,MAAM,UAAU,GAAG,MAAM,CAAC,KAAK,KAAK,MAAM;YACxC,CAAC,CAAC,MAAM;YACR,CAAC,CAAC,MAAM,CAAC;QACX,MAAM,MAAM,GAAG,QAAQ,EAAE,MAAM,CAAC;QAChC,MAAM,aAAa,GAA4B,MAAM,EAAE,WAAW,KAAK,SAAS;YAC9E,CAAC,CAAC,CAAC;oBACC,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,cAAc,EAAE,KAAK,EAAE,cAAc;oBAC7D,WAAW,EAAE,0BAA0B;iBACxC,CAAC;YACJ,CAAC,CAAC,MAAM,EAAE,iBAAiB;gBACzB,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,cAAc,EAAE,KAAK,EAAE,mBAAmB,EAAE,CAAC;gBACvE,CAAC,CAAC,CAAC,MAAM,EAAE,eAAe,IAAI,EAAE,CAAC,CAAC,MAAM,GAAG,CAAC;oBAC1C,CAAC,CAAC,MAAO,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,MAAM,EAAyB,EAAE,CAAC,CAAC;wBAC9D,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,cAAc;wBACtC,KAAK,EAAE,UAAU,MAAM,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,aAAa,MAAM,MAAM,CAAC,KAAK,KAAK,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE;qBACxH,CAAC,CAAC;oBACL,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,cAAc,EAAE,KAAK,EAAE,iBAAiB,EAAE,CAAC,CAAC;QAC5E,OAAO;YACL,GAAG,CAAC,MAAM,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,MAAM,EAAyB,EAAE,CAAC,CAAC;gBAC1D,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,eAAe,EAAE,KAAK,EAAE,GAAG,UAAU,MAAM,MAAM,CAAC,KAAK,EAAE;gBAChF,WAAW,EAAE,MAAM,CAAC,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC;oBACxD,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,MAAM,MAAM,CAAC,KAAK,IAAI,MAAM,CAAC,QAAQ,CAAC,MAAM,UAAU,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAClG,GAAG,KAAK,CAAC,QAAQ,KAAK,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,MAAM,MAAM,KAAK,CAAC,KAAK,EAAE,EAAE,CACzF,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE;oBACf,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,MAAM,MAAM,CAAC,KAAK,EAAE;aACzC,CAAC,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,QAAiB,EAAE,KAAK,EAAE,eAAwB,EAAE,KAAK,EAAE,KAAK,UAAU,OAAO,EAAE,WAAW,EAAE,+BAA+B,EAAE,CAAC,CAAC;YACnJ,GAAG,aAAa;YAChB,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,KAAK,MAAM,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,UAAU,EAAE;SACjG,CAAC;IACJ,CAAC;IACD,IAAI,MAAM,CAAC,IAAI,KAAK,gBAAgB,EAAE,CAAC;QACrC,MAAM,OAAO,GAAG,CAAC,MAAM,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,EAAyB,EAAE,CAAC,CAAC;YAC7E,IAAI,EAAE,MAAM,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,KAAK,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ;YACxF,KAAK,EAAE,MAAM,CAAC,KAAK;YACnB,GAAG,CAAC,MAAM,CAAC,OAAO;gBAChB,CAAC,CAAC,EAAE,WAAW,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,KAAK,EAAE;gBACtD,CAAC,CAAC,MAAM,CAAC,MAAM,IAAI,MAAM,CAAC,KAAK;oBAC7B,CAAC,CAAC,EAAE,WAAW,EAAE,GAAG,MAAM,CAAC,MAAM,IAAI,KAAK,MAAM,MAAM,CAAC,KAAK,IAAI,KAAK,EAAE,EAAE;oBACzE,CAAC,CAAC,EAAE,CAAC;SACV,CAAC,CAAC,CAAC;QACJ,IAAI,MAAM,CAAC,MAAM,KAAK,KAAK;YAAE,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC;QAC9E,IAAI,MAAM,CAAC,MAAM,KAAK,YAAY;YAAE,OAAO,CAAC,IAAI,CAC9C,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,YAAY,EAAE,EACrC,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,aAAa,EAAE,CACvC,CAAC;QACF,IAAI,MAAM,CAAC,MAAM,KAAK,QAAQ;YAAE,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC;QAChF,MAAM,MAAM,GAAG,QAAQ,EAAE,WAAW,EAAE,MAAM,CAAC;QAC7C,IAAI,MAAM,EAAE,CAAC;YACX,KAAK,MAAM,QAAQ,IAAI,CAAC,cAAc,EAAE,QAAQ,EAAE,WAAW,EAAE,aAAa,CAAU,EAAE,CAAC;gBACvF,MAAM,KAAK,GAAG,MAAM,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,QAAQ,KAAK,QAAQ,CAAC,CAAC,MAAM,CAAC;gBACtG,IAAI,KAAK,GAAG,CAAC;oBAAE,OAAO,CAAC,IAAI,CAAC;wBAC1B,IAAI,EAAE,SAAS;wBACf,KAAK,EAAE,GAAG,QAAQ,KAAK,cAAc,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,KAAK,WAAW,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,aAAa,OAAO;wBACxI,WAAW,EAAE,GAAG,KAAK,IAAI;qBAC1B,CAAC,CAAC;YACL,CAAC;YACD,IAAI,CAAC,MAAM,CAAC,iBAAiB;gBAAE,OAAO,CAAC,IAAI,CAAC;oBAC1C,IAAI,EAAE,SAAS;oBACf,KAAK,EAAE,QAAQ;oBACf,WAAW,EAAE,oBAAoB;iBAClC,CAAC,CAAC;QACL,CAAC;QACD,OAAO,OAAO,CAAC;IACjB,CAAC;IACD,IAAI,MAAM,CAAC,IAAI,KAAK,mBAAmB,EAAE,CAAC;QACxC,MAAM,UAAU,GAAG,QAAQ,EAAE,iBAAiB,CAAC;QAC/C,IAAI,CAAC,UAAU,EAAE,CAAC;YAChB,MAAM,YAAY,CAAC,8BAA8B,EAAE,gBAAgB,CAAC,CAAC;QACvE,CAAC;QACD,OAAO;YACL,GAAG,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC;oBAC/B,IAAI,EAAE,MAAe;oBACrB,KAAK,EAAE,UAAU,CAAC,qBAAqB;wBACrC,CAAC,CAAC,UAAU,UAAU,CAAC,qBAAqB,EAAE,CAAC,CAAC,CAAC,QAAQ;oBAC3D,WAAW,EAAE,GAAG,UAAU,CAAC,cAAc,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,MAAM,UAAU,CAAC,cAAc,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE;iBAClI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YACR;gBACE,IAAI,EAAE,MAAM,CAAC,MAAM,KAAK,UAAU,CAAC,CAAC,CAAC,KAAc,CAAC,CAAC,CAAC,QAAiB;gBACvE,KAAK,EAAE,UAAU,CAAC,WAAW;oBAC3B,CAAC,CAAC,aAAa,UAAU,CAAC,SAAS,CAAC,cAAc,EAAE;oBACpD,CAAC,CAAC,SAAS,UAAU,CAAC,SAAS,CAAC,cAAc,EAAE;gBAClD,WAAW,EAAE,GAAG,UAAU,CAAC,SAAS,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,MAAM,UAAU,CAAC,SAAS,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE;aACxH;YACD,GAAG,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;oBAC5B,IAAI,EAAE,QAAiB;oBACvB,KAAK,EAAE,eAAe;oBACtB,WAAW,EAAE,iBAAiB;iBAC/B,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YACR,GAAG,CAAC,MAAM,CAAC,MAAM,KAAK,gBAAgB,CAAC,CAAC,CAAC,CAAC;oBACxC,IAAI,EAAE,SAAkB;oBACxB,KAAK,EAAE,oBAAoB;oBAC3B,WAAW,EAAE,4BAA4B;iBAC1C,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YACR,GAAG,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC,CAAC,2BAA2B,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YAC5F,GAAG,CAAC,UAAU,CAAC,oBAAoB,IAAI,UAAU,CAAC,iBAAiB,KAAK,kBAAkB,CAAC,CAAC,CAAC,CAAC;oBAC5F,IAAI,EAAE,SAAkB;oBACxB,KAAK,EAAE,eAAe;oBACtB,WAAW,EAAE,GAAG,UAAU,CAAC,qBAAqB,IAAI,MAAM,MAAM,UAAU,CAAC,SAAS,CAAC,cAAc,EAAE;iBACtG,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,oBAAoB,IAAI,UAAU,CAAC,iBAAiB,KAAK,iBAAiB,CAAC,CAAC,CAAC,CAAC;oBAC5F,IAAI,EAAE,SAAkB;oBACxB,KAAK,EAAE,eAAe;oBACtB,WAAW,EAAE,GAAG,UAAU,CAAC,SAAS,CAAC,cAAc,MAAM,UAAU,CAAC,SAAS,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE;iBAC5G,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,oBAAoB,IAAI,UAAU,CAAC,iBAAiB,KAAK,cAAc,CAAC,CAAC,CAAC,CAAC;oBACzF,IAAI,EAAE,SAAkB;oBACxB,KAAK,EAAE,eAAe;oBACtB,WAAW,EAAE,sBAAsB;iBACpC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YACR,GAAG,CAAC,CAAC,UAAU,CAAC,MAAM,EAAE,kBAAkB,IAAI,EAAE,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;oBAC9D,IAAI,EAAE,SAAkB;oBACxB,KAAK,EAAE,cAAc;oBACrB,WAAW,EAAE,GAAG,UAAU,CAAC,MAAO,CAAC,kBAAkB,CAAC,MAAM,iBAAiB;iBAC9E,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YACR,GAAG,CAAC,UAAU,CAAC,MAAM,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC;oBAC/D,IAAI,EAAE,SAAkB;oBACxB,KAAK,EAAE,YAAY;oBACnB,WAAW,EAAE,0BAA0B;iBACxC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YACR,GAAG,CAAC,CAAC,UAAU,CAAC,aAAa,EAAE,kBAAkB,IAAI,EAAE,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;oBACrE,IAAI,EAAE,SAAkB;oBACxB,KAAK,EAAE,cAAc;oBACrB,WAAW,EAAE,GAAG,UAAU,CAAC,aAAc,CAAC,kBAAkB,CAAC,MAAM,mBAAmB;iBACvF,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YACR,GAAG,CAAC,UAAU,CAAC,aAAa,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC;oBAC7E,IAAI,EAAE,SAAkB;oBACxB,KAAK,EAAE,WAAW;oBAClB,WAAW,EAAE,oBAAoB;iBAClC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YACR,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,WAAW,EAAE;YACpC,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC,MAAM,KAAK,cAAc;oBACrD,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,UAAU,EAAE;YACtC,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,cAAc,EAAE;YACvC,GAAG,CAAC,MAAM,CAAC,MAAM,KAAK,cAAc,CAAC,CAAC,CAAC,CAAC;oBACtC,IAAI,EAAE,SAAkB;oBACxB,KAAK,EAAE,sBAAsB;oBAC7B,WAAW,EAAE,4BAA4B;iBAC1C,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;SACT,CAAC;IACJ,CAAC;IACD,IAAI,MAAM,CAAC,IAAI,KAAK,YAAY,EAAE,CAAC;QACjC,MAAM,YAAY,CAAC,yBAAyB,EAAE,wBAAwB,CAAC,CAAC;IAC1E,CAAC;IACD,MAAM,WAAW,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,aAAa,IAAI,EAAE,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,WAAW,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;IAC9F,MAAM,UAAU,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,UAAU,IAAI,EAAE,CAAC,CAAC;IACpD,MAAM,UAAU,GAAG,MAAM,CAAC,KAAK,KAAK,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC;IAC7D,IAAI,MAAM,CAAC,UAAU,EAAE,CAAC;QACtB,OAAO;YACL,GAAG,oBAAoB,CAAC,MAAM,CAAC;YAC/B,GAAG,oBAAoB,CAAC,QAAQ,EAAE,MAAM,EAAE,qBAAqB,IAAI,EAAE,CAAC;YACtE,GAAG,CAAC,QAAQ,EAAE,MAAM,EAAE,eAAe,CAAC,GAAG,CAAC,CAAC,MAAM,EAAyB,EAAE,CAAC,CAAC;gBAC5E,IAAI,EAAE,QAAQ;gBACd,KAAK,EAAE,cAAc;gBACrB,KAAK,EAAE,QAAQ,MAAM,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,aAAa,MAAM,MAAM,CAAC,KAAK,KAAK,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE;aACtH,CAAC,CAAC,IAAI,EAAE,CAAC;YACV,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,GAAG,UAAU,WAAW,EAAE;YACrE,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,WAAW,EAAE;SACzD,CAAC;IACJ,CAAC;IACD,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;QACnB,MAAM,iBAAiB,GAAG,QAAQ,EAAE,MAAM,EAAE,iBAAiB,KAAK,IAAI,CAAC;QACvE,MAAM,sBAAsB,GAAG,QAAQ,EAAE,MAAM,EAAE,eAAe,CAAC,IAAI,CACnE,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,QAAQ,KAAK,OAAO,CACxC,IAAI,KAAK,CAAC;QACX,MAAM,mBAAmB,GAAG,sBAAsB;YAChD,CAAC,CAAC,QAAQ,EAAE,MAAM,EAAE,yBAAyB,IAAI,EAAE;YACnD,CAAC,CAAC,EAAE,CAAC;QACP,MAAM,kBAAkB,GAA4B,iBAAiB,IAAI,mBAAmB,CAAC,MAAM,KAAK,CAAC;YACvG,CAAC,CAAC,EAAE;YACJ,CAAC,CAAC,MAAM,CAAC,KAAK;gBACZ,CAAC,CAAC;oBACE;wBACE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,cAAc;wBACrC,KAAK,EAAE,QAAQ,mBAAmB,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,WAAW;wBACxF,WAAW,EAAE,qCAAqC;qBACnD;oBACD,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,kBAAkB,EAAE;oBAC/D,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,4BAA4B,EAAE;iBAC1E;gBACH,CAAC,CAAC;oBACE;wBACE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,cAAc;wBACtC,KAAK,EAAE,iBAAiB;wBACxB,WAAW,EAAE,0BAA0B;qBACxC;oBACD,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,mBAAmB,EAAE;oBAChE,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,4BAA4B,EAAE;iBAC1E,CAAC;QACR,OAAO;YACL,GAAG,oBAAoB,CAAC,MAAM,CAAC;YAC/B,GAAG,oBAAoB,CAAC,QAAQ,EAAE,MAAM,EAAE,qBAAqB,IAAI,EAAE,CAAC;YACtE,GAAG,CAAC,QAAQ,EAAE,MAAM,EAAE,YAAY,KAAK,YAAY,CAAC,CAAC,CAAC,CAAC;oBACrD,IAAI,EAAE,SAAkB;oBACxB,KAAK,EAAE,cAAuB;oBAC9B,KAAK,EAAE,6BAA6B;oBACpC,WAAW,EAAE,yBAAyB;iBACvC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YACR,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAyB,EAAE,CAAC,CAAC;gBACxD,IAAI,EAAE,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ;gBACtD,KAAK,EAAE,eAAe;gBACtB,KAAK,EAAE,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC;oBAC/B,CAAC,CAAC,GAAG,UAAU,SAAS,MAAM,CAAC,KAAK,MAAM;oBAC1C,CAAC,CAAC,GAAG,UAAU,MAAM,MAAM,CAAC,KAAK,EAAE;gBACrC,WAAW,EAAE,MAAM,CAAC,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC;oBACxD,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,MAAM,MAAM,CAAC,KAAK,IAAI,MAAM,CAAC,QAAQ,CAAC,MAAM,UAAU,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAClG,GAAG,KAAK,CAAC,QAAQ,KAAK,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,MAAM,MAAM,KAAK,CAAC,KAAK,EAAE,EAAE,CACzF,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE;oBACf,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC;wBAC5B,CAAC,CAAC,WAAW,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,MAAM,MAAM,CAAC,KAAK,EAAE;wBAC9F,CAAC,CAAC,WAAW,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,WAAW;4BAC3C,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,MAAM,MAAM,CAAC,KAAK,EAAE;aACzC,CAAC,CAAC;YACH,GAAG,CAAC,QAAQ,EAAE,MAAM,EAAE,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC;oBACjD,IAAI,EAAE,SAAkB,EAAE,KAAK,EAAE,cAAuB;oBACxD,KAAK,EAAE,WAAW;oBAClB,WAAW,EAAE,oBAAoB;iBAClC,CAAC,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC;oBACxB,IAAI,EAAE,MAAe,EAAE,KAAK,EAAE,cAAuB;oBACrD,KAAK,EAAE,iBAAiB;iBACzB,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YACR,GAAG,kBAAkB;YACrB,GAAG,CAAC,QAAQ,EAAE,MAAM,EAAE,WAAW,KAAK,SAAS,IAAI,iBAAiB,IAAI,mBAAmB,CAAC,MAAM,GAAG,CAAC;gBACpG,CAAC,CAAC,EAAE;gBACJ,CAAC,CAAC,MAAM,CAAC,KAAK,IAAI,CAAC,QAAQ,EAAE,MAAM,EAAE,eAAe,CAAC,MAAM,IAAI,CAAC,CAAC,GAAG,CAAC;oBACrE,CAAC,CAAC,QAAS,CAAC,MAAO,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,MAAM,EAAyB,EAAE,CAAC,CAAC;wBACxE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,cAAc,EAAE,KAAK,EAAE,QAAQ,MAAM,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,aAAa,MAAM,MAAM,CAAC,KAAK,KAAK,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE;qBAC7J,CAAC,CAAC;oBACL,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,IAAI,CAAC,QAAQ,EAAE,MAAM,EAAE,eAAe,CAAC,MAAM,IAAI,CAAC,CAAC,GAAG,CAAC;wBACtE,CAAC,CAAC,QAAS,CAAC,MAAO,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,MAAM,EAAyB,EAAE,CAAC,CAAC;4BACxE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,cAAc,EAAE,KAAK,EAAE,UAAU,MAAM,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,aAAa,MAAM,MAAM,CAAC,KAAK,KAAK,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE;yBAChK,CAAC,CAAC;wBACL,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,KAAK,EAAE,cAAuB,EAAE,KAAK,EAAE,gBAAgB,EAAE,CAAC,CAAC;YACzF,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,aAAa,EAAE;SAC3D,CAAC;IACJ,CAAC;IACD,MAAM,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC;IACrD,OAAO;QACL,GAAG,oBAAoB,CAAC,MAAM,CAAC;QAC/B,GAAG,oBAAoB,CAAC,QAAQ,EAAE,MAAM,EAAE,qBAAqB,IAAI,EAAE,CAAC;QACtE,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC,GAAG,EAAyB,EAAE,CAAC,CAAC;YACjD,IAAI,EAAE,QAAQ;YACd,KAAK,EAAE,GAAG;YACV,WAAW,EAAE,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,KAAK;SACxD,CAAC,CAAC;QACH,GAAG,CAAC,MAAM,CAAC,UAAU,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,EAAyB,EAAE,CAAC,CAAC;YAChE,IAAI,EAAE,QAAQ;YACd,KAAK,EAAE,GAAG;YACV,WAAW,EAAE,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,MAAM;SACzD,CAAC,CAAC;KACJ,CAAC;AACJ,CAAC;AAED,SAAS,kBAAkB,CACzB,QAAkC,EAClC,KAAoC;IAEpC,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,mBAAmB,CAAC;IAClD,OAAO;QACL,OAAO,EAAE,QAAQ,CAAC,OAAO;QACzB,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,KAAK,CAAC,OAAO,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACzF,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,mBAAmB,CAAC,CAAC,CAAC,EAAE,mBAAmB,EAAE,KAAK,CAAC,OAAO,CAAC,mBAAmB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACxG,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,KAAK,CAAC,OAAO,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACtF,GAAG,CAAC,OAAO,IAAI,OAAO,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC;YAC3C,YAAY,EAAE;gBACZ,KAAK,EAAE,OAAO,CAAC,KAAK;gBACpB,WAAW,EAAE,eAAe;gBAC5B,OAAO,EAAE,OAAO,CAAC,KAAK,KAAK,kBAAkB;oBAC3C,CAAC,CAAC,qBAAqB;oBACvB,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO;aAC5B;SACF,CAAC,CAAC,CAAC,EAAE,CAAC;KACR,CAAC;AACJ,CAAC;AAED,SAAS,kBAAkB,CACzB,MAA8D,EAC9D,QAAkC;IAElC,MAAM,OAAO,GAAG,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,KAAK,EAA2B,EAAE;QACzE,MAAM,cAAc,GAAG,KAAK,CAAC,kBAAkB,CAAC,CAAC,CAAE,CAAC;QACpD,MAAM,aAAa,GAAG,kBAAkB,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;QAC1D,MAAM,SAAS,GAAG,aAAa,CAAC;YAC9B,IAAI,EAAE,aAAa;YACnB,MAAM,EAAE,MAAM,CAAC,MAAM;YACrB,QAAQ,EAAE,cAAc;YACxB,QAAQ,EAAE,KAAK,CAAC,QAAQ;YACxB,KAAK,EAAE,MAAM,CAAC,KAAK;YACnB,GAAG,CAAC,MAAM,CAAC,eAAe,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,eAAe,EAAE,MAAM,CAAC,eAAe,EAAE,CAAC;SAC7F,EAAE,aAAa,CAAC,CAAC;QAClB,MAAM,aAAa,GAAG,KAAK,CAAC,OAAO,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,MAAM,EAAyB,EAAE;YACtF,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC,QAAQ,IAAI,GAAG,KAAK,CAAC,QAAQ,IAAI,MAAM,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC;YAC3F,MAAM,SAAS,GAAG,KAAK,CAAC,kBAAkB,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;YAC9D,OAAO;gBACL,IAAI,EAAE,MAAM,CAAC,MAAM,KAAK,WAAW,IAAI,MAAM,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,QAAQ;oBAC3E,CAAC,CAAC,MAAM,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ;gBAClD,KAAK,EAAE,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,cAAc;gBAC/C,QAAQ;gBACR,QAAQ,EAAE,SAAS,CAAC,CAAC,CAAC,WAAW;oBAC/B,CAAC,CAAC,CAAC,MAAM,CAAC,UAAU,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,KAAK,CAAC,kBAAkB,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;wBACrF,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,YAAY;gBAC7B,KAAK,EAAE,gBAAgB,CAAC,QAAQ,CAAC;gBACjC,WAAW,EAAE,GAAG,KAAK,CAAC,QAAQ,MAAM,MAAM,CAAC,MAAM,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,aAAa,MAAM,MAAM,CAAC,MAAM,CAAC,KAAK,KAAK,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,GAAG,MAAM,CAAC,KAAK,KAAK,QAAQ,IAAI,MAAM,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,UAAU,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,MAAM,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE;aACxR,CAAC;QACJ,CAAC,CAAC,CAAC;QACH,MAAM,SAAS,GAAG,KAAK,CAAC,OAAO,CAAC,cAAc;YAC5C,CAAC,CAAC,SAAS;YACX,CAAC,CAAC;gBACE,GAAG,aAAa;gBAChB,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,KAAK,KAAK,WAAW;uBACvD,MAAM,CAAC,KAAK,KAAK,cAAc,CAAC;aACtC,CAAC;QACN,OAAO;YACL,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,KAAK,KAAK,eAAe,CAAC;iBAC9D,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;gBAChB,GAAG,MAAM;gBACT,YAAY,EAAE,KAAK,CAAC,OAAO;gBAC3B,QAAQ,EAAE,KAAK,CAAC,QAAQ;aACzB,CAAC,CAAC;YACL,GAAG,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;oBACvB,IAAI,EAAE,SAAkB;oBACxB,KAAK,EAAE,kBAA2B;oBAClC,YAAY,EAAE,KAAK,CAAC,OAAO;oBAC3B,QAAQ,EAAE,KAAK,CAAC,QAAQ;oBACxB,KAAK,EAAE,GAAG,KAAK,CAAC,QAAQ,QAAQ;oBAChC,WAAW,EAAE,0BAA0B;iBACxC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;SACT,CAAC;IACJ,CAAC,CAAC,CAAC;IACH,OAAO;QACL,GAAG,oBAAoB,CAAC,MAAM,CAAC;QAC/B,GAAG,OAAO;QACV,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,UAAU,EAAE;KACxD,CAAC;AACJ,CAAC;AAED,SAAS,gBAAgB,CAAC,QAA2B;IACnD,MAAM,KAAK,GAAG,CAAC,KAAa,EAAU,EAAE;QACtC,MAAM,UAAU,GAAG,KAAK,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;QACxE,OAAO,UAAU,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAChC,CAAC,CAAC;IACF,MAAM,OAAO,GAAG;QACd,cAAc,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE;QACpD,cAAc,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,eAAe,CAAC,EAAE;KACxD,CAAC;IACF,IAAI,QAAQ,IAAI,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;QAC3D,MAAM,KAAK,GAAG,QAAoC,CAAC;QACnD,OAAO,CAAC,IAAI,CAAC,SAAS,KAAK,CAAC,kBAAkB,CAAC,MAAM,IAAI,CAAC,CAAC;QAC3D,KAAK,MAAM,KAAK,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC;YACjC,OAAO,CAAC,IAAI,CACV,QAAQ,KAAK,CAAC,QAAQ,MAAM,KAAK,CAAC,QAAQ,MAAM,KAAK,CAAC,kBAAkB,CAAC,MAAM,WAAW,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,MAAM,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,aAAc,CAAC,eAAe,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,EAAE,CACpL,CAAC;QACJ,CAAC;IACH,CAAC;IACD,IAAI,QAAQ,CAAC,OAAO,CAAC,mBAAmB,EAAE,CAAC;QACzC,OAAO,CAAC,IAAI,CAAC,sBAAsB,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,mBAAmB,CAAC,EAAE,CAAC,CAAC;IACpF,CAAC;IACD,IAAI,QAAQ,CAAC,MAAM,EAAE,CAAC;QACpB,OAAO,CAAC,IAAI,CAAC,MAAM,QAAQ,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC;QAC/C,IAAI,QAAQ,CAAC,MAAM,CAAC,cAAc;YAAE,OAAO,CAAC,IAAI,CAAC,QAAQ,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC;QAClG,IAAI,QAAQ,CAAC,MAAM,CAAC,cAAc;YAAE,OAAO,CAAC,IAAI,CAAC,mBAAmB,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC;QAC7G,IAAI,QAAQ,CAAC,MAAM,CAAC,cAAc;YAAE,OAAO,CAAC,IAAI,CAAC,mBAAmB,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC;QAC7G,IAAI,QAAQ,CAAC,MAAM,CAAC,aAAa;YAAE,OAAO,CAAC,IAAI,CAAC,kBAAkB,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC;IAC5G,CAAC;IACD,IAAI,QAAQ,CAAC,iBAAiB;QAAE,OAAO,CAAC,IAAI,CAAC,QAAQ,KAAK,CAAC,QAAQ,CAAC,iBAAiB,CAAC,EAAE,CAAC,CAAC;IAC1F,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,mBAAmB,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,QAAQ,OAAO,EAAE,CAAC,CAAC,CAAC;IAC1F,IAAI,QAAQ,CAAC,cAAc,EAAE,CAAC;QAC5B,OAAO,CAAC,IAAI,CAAC,UAAU,QAAQ,CAAC,cAAc,CAAC,MAAM,EAAE,CAAC,CAAC;QACzD,OAAO,CAAC,IAAI,CAAC,UAAU,KAAK,CAAC,QAAQ,CAAC,cAAc,CAAC,iBAAiB,CAAC,EAAE,CAAC,CAAC;QAC3E,OAAO,CAAC,IAAI,CAAC,UAAU,QAAQ,CAAC,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,UAAU,KAAK,CAAC,QAAQ,CAAC,cAAc,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;QACzH,KAAK,MAAM,MAAM,IAAI,QAAQ,CAAC,cAAc,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;YAC1D,OAAO,CAAC,IAAI,CAAC,UAAU,MAAM,CAAC,MAAM,MAAM,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;QAC7D,CAAC;IACH,CAAC;IACD,IAAI,QAAQ,CAAC,cAAc;QAAE,OAAO,CAAC,IAAI,CAAC,QAAQ,QAAQ,CAAC,cAAc,CAAC,iBAAiB,CAAC,MAAM,MAAM,CAAC,CAAC;IAC1G,IAAI,QAAQ,CAAC,MAAM;QAAE,OAAO,CAAC,IAAI,CAAC,OAAO,QAAQ,CAAC,MAAM,CAAC,KAAK,MAAM,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;IAC1G,IAAI,QAAQ,CAAC,WAAW,EAAE,CAAC;QACzB,OAAO,CAAC,IAAI,CAAC,OAAO,KAAK,CAAC,QAAQ,CAAC,WAAW,CAAC,oBAAoB,CAAC,EAAE,CAAC,CAAC;QACxE,OAAO,CAAC,IAAI,CAAC,QAAQ,KAAK,CAAC,QAAQ,CAAC,WAAW,CAAC,eAAe,CAAC,MAAM,QAAQ,CAAC,WAAW,CAAC,cAAc,IAAI,CAAC,CAAC;IACjH,CAAC;IACD,IAAI,QAAQ,CAAC,iBAAiB,EAAE,CAAC;QAC/B,MAAM,UAAU,GAAG,QAAQ,CAAC,iBAAiB,CAAC;QAC9C,OAAO,CAAC,IAAI,CAAC,QAAQ,UAAU,CAAC,SAAS,CAAC,cAAc,EAAE,CAAC,CAAC;QAC5D,OAAO,CAAC,IAAI,CAAC,aAAa,KAAK,CAAC,UAAU,CAAC,SAAS,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC;QACxE,OAAO,CAAC,IAAI,CAAC,aAAa,KAAK,CAAC,UAAU,CAAC,SAAS,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC;IAC1E,CAAC;IACD,IAAI,QAAQ,CAAC,QAAQ,EAAE,CAAC;QACtB,OAAO,CAAC,IAAI,CAAC,eAAe,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,IAAI,CAAC,CAAC;QACnE,OAAO,CAAC,IAAI,CAAC,mBAAmB,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC,qBAAqB,CAAC,EAAE,CAAC,CAAC;QAClF,OAAO,CAAC,IAAI,CAAC,cAAc,QAAQ,CAAC,QAAQ,CAAC,gBAAgB,EAAE,CAAC,CAAC;IACnE,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAiBD,MAAM,UAAU,8BAA8B,CAAC,OAI9C;IACC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,OAAO,CAAC;IACrC,MAAM,aAAa,GAAG,MAAM,CAAC,IAAI,KAAK,kBAAkB;QACtD,CAAC,CAAC,QAAoC;QACtC,CAAC,CAAC,SAAS,CAAC;IACd,MAAM,MAAM,GAAG,eAAe,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IACjD,MAAM,WAAW,GAAG,MAAM,CAAC,IAAI,KAAK,kBAAkB;QACpD,CAAC,CAAC,OAAO,CAAC,aAAa,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAC3C,wBAAwB,CAAC,kBAAkB,CAAC,aAAa,EAAE,KAAK,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QACnF,CAAC,CAAC,wBAAwB,CAAC,QAAQ,CAAC,CAAC,MAAM,GAAG,CAAC;eAC1C,CAAC,QAAQ,CAAC,MAAM,EAAE,qBAAqB,EAAE,MAAM,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;IACjE,MAAM,uBAAuB,GAAG,MAAM,CAAC,IAAI,KAAK,YAAY;WACvD,MAAM,CAAC,KAAK;WACZ,CAAC,QAAQ,CAAC,MAAM,EAAE,yBAAyB,EAAE,MAAM,IAAI,CAAC,CAAC,GAAG,CAAC;WAC7D,CAAC,QAAQ,CAAC,MAAM,EAAE,eAAe,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,QAAQ,KAAK,OAAO,CAAC,IAAI,KAAK,CAAC,CAAC;IAC/F,MAAM,oBAAoB,GAAG,uBAAuB;WAC/C,OAAO,CAAC,aAAa,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAC9C,CAAC,KAAK,CAAC,OAAO,CAAC,mBAAmB,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,oBAAoB,CAAC,CAAC,CAAC;WAC3F,CAAC,QAAQ,CAAC,mBAAmB,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,oBAAoB,CAAC;WACrF,OAAO,CAAC,QAAQ,CAAC,WAAW;eAC1B,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,iBAAiB,IAAI,QAAQ,CAAC,WAAW,CAAC,cAAc,GAAG,CAAC,CAAC,CAAC;WACvF,OAAO,CAAC,QAAQ,CAAC,iBAAiB,EAAE,MAAM;eACxC,CAAC,CAAC,QAAQ,CAAC,iBAAiB,CAAC,MAAM,CAAC,iBAAiB;mBACnD,QAAQ,CAAC,iBAAiB,CAAC,MAAM,CAAC,kBAAkB,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;WACrE,OAAO,CAAC,QAAQ,CAAC,iBAAiB,EAAE,aAAa;eAC/C,CAAC,CAAC,QAAQ,CAAC,iBAAiB,CAAC,aAAa,CAAC,iBAAiB;mBAC1D,QAAQ,CAAC,iBAAiB,CAAC,aAAa,CAAC,kBAAkB,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;IAClF,MAAM,OAAO,GAAG,CAAC,QAAQ,CAAC,mBAAmB,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CACjE,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC,YAAY,CAAC,OAAO;WAC3D,aAAa,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,mBAAmB,IAAI,EAAE,CAAC;aACjF,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC,YAAY,CAAC,OAAO,CAAC;IACnF,MAAM,mBAAmB,GAAG,CAAC,QAAQ,CAAC,mBAAmB,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,GAA0B,EAAE,CAAC,CAAC;QACjG,IAAI,EAAE,SAAS;QACf,KAAK,EAAE,kBAAkB;QACzB,KAAK,EAAE,qBAAqB;QAC5B,WAAW,EAAE,yBAAyB;KACvC,CAAC,CAAC,CAAC;IACJ,OAAO;QACL,KAAK,EAAE,MAAM,CAAC,KAAK;QACnB,WAAW,EAAE,MAAM,CAAC,WAAW;QAC/B,OAAO,EAAE;YACP,GAAG,mBAAmB;YACtB,GAAG,CAAC,MAAM,CAAC,IAAI,KAAK,kBAAkB;gBACpC,CAAC,CAAC,kBAAkB,CAAC,MAAM,EAAE,aAAc,CAAC;gBAC5C,CAAC,CAAC,aAAa,CAAC,MAAM,EAAE,QAAQ,EAAE,OAAO,CAAC,kBAAkB,CAAC,CAAC;SACjE;QACD,gBAAgB,EAAE,gBAAgB,CAAC,QAAQ,CAAC;QAC5C,GAAG,CAAC,MAAM,CAAC,IAAI,KAAK,aAAa;YAC/B,CAAC,CAAC,EAAE,iBAAiB,EAAE,MAAM,MAAM,CAAC,MAAM,KAAK,gBAAgB,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,IAAI,MAAM,CAAC,QAAQ,eAAe,MAAM,CAAC,QAAQ,YAAY,MAAM,CAAC,KAAK,GAAG,MAAM,CAAC,MAAM,KAAK,gBAAgB,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,GAAG,oBAAoB,CAAC,MAAM,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,qBAAqB,oBAAoB,CAAC,MAAM,CAAC,eAAe,IAAI,yBAAyB,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,wBAAwB,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,uBAAuB,QAAQ,CAAC,QAAQ,IAAI,QAAQ,CAAC,QAAQ,IAAI,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,KAAK,SAAS,IAAI,MAAM,CAAC,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,GAAG,QAAQ,CAAC,YAAY,EAAE,KAAK,KAAK,kBAAkB,CAAC,CAAC,CAAC,gCAAgC,CAAC,CAAC,CAAC,EAAE,GAAG,oBAAoB,IAAI,WAAW,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE;YACruB,CAAC,CAAC,EAAE,CAAC;QACP,YAAY,EAAE,MAAM,CAAC,IAAI,KAAK,kBAAkB;YAC9C,CAAC,CAAC,GAAG,MAAM,CAAC,YAAY,IAAI,aAAc,CAAC,kBAAkB,CAAC,MAAM,MAAM;YAC1E,CAAC,CAAC,MAAM,CAAC,IAAI,KAAK,aAAa,IAAI,QAAQ,CAAC,cAAc;gBAC1D,CAAC,CAAC,GAAG,MAAM,CAAC,YAAY,IAAI,QAAQ,CAAC,cAAc,CAAC,iBAAiB,CAAC,MAAM,MAAM;gBAClF,CAAC,CAAC,MAAM,CAAC,YAAY;QACvB,GAAG,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,IAAa,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC7D,oBAAoB;QACpB,YAAY,EAAE;YACZ,SAAS,EAAE,CAAC,GAAG,IAAI,GAAG,CAAC;oBACrB,GAAG,CAAC,QAAQ,CAAC,mBAAmB,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE,CACvD,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,SAAS,CAAC;oBACrC,GAAG,CAAC,aAAa,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE,CAC1C,CAAC,KAAK,CAAC,OAAO,CAAC,mBAAmB,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE,CACzD,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC,IAAI,EAAE,CAAC;oBAC/C,GAAG,CAAC,QAAQ,CAAC,WAAW,EAAE,MAAM,EAAE,kBAAkB,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,SAAS,EAAE,EAAE,CAChF,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;oBACjD,GAAG,CAAC,QAAQ,CAAC,iBAAiB,EAAE,MAAM,EAAE,kBAAkB,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,SAAS,EAAE,EAAE,CACtF,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;oBACjD,GAAG,CAAC,QAAQ,CAAC,iBAAiB,EAAE,aAAa,EAAE,kBAAkB,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,SAAS,EAAE,EAAE,CAC7F,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;oBACjD,GAAG,CAAC,uBAAuB,IAAI,UAAU,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;iBAC9E,CAAC,CAAC;YACH,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE;gBACvB,CAAC,CAAC,uBAAuB;oBACvB,CAAC,CAAC,EAAE,OAAO,EAAE,uCAAuC,EAAE;oBACxD,CAAC,CAAC,oBAAoB,IAAI,CAAC,QAAQ,CAAC,WAAW;2BAC1C,QAAQ,CAAC,iBAAiB,EAAE,MAAM;2BAClC,QAAQ,CAAC,iBAAiB,EAAE,aAAa,CAAC;wBAC7C,CAAC,CAAC,EAAE,OAAO,EAAE,yBAAyB,EAAE;wBACxC,CAAC,CAAC,EAAE,CAAC;SACV;KACF,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"operation-review-planner.js","sourceRoot":"","sources":["../../../src/tui/operation-review-planner.ts"],"names":[],"mappings":"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"}