@qduc/term2 0.5.0 → 0.6.1

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 (488) hide show
  1. package/dist/agent.d.ts +1 -1
  2. package/dist/agent.d.ts.map +1 -1
  3. package/dist/agent.js +55 -7
  4. package/dist/agent.js.map +1 -1
  5. package/dist/agent.test.js +135 -10
  6. package/dist/agent.test.js.map +1 -1
  7. package/dist/app.d.ts +15 -0
  8. package/dist/app.d.ts.map +1 -1
  9. package/dist/app.js +86 -16
  10. package/dist/app.js.map +1 -1
  11. package/dist/app.startup-banner.test.js +48 -1
  12. package/dist/app.startup-banner.test.js.map +1 -1
  13. package/dist/cli.js +226 -28
  14. package/dist/cli.js.map +1 -1
  15. package/dist/components/ApprovalPrompt.d.ts.map +1 -1
  16. package/dist/components/ApprovalPrompt.js +11 -35
  17. package/dist/components/ApprovalPrompt.js.map +1 -1
  18. package/dist/components/Banner.d.ts.map +1 -1
  19. package/dist/components/Banner.js +2 -7
  20. package/dist/components/Banner.js.map +1 -1
  21. package/dist/components/BottomArea.d.ts +7 -1
  22. package/dist/components/BottomArea.d.ts.map +1 -1
  23. package/dist/components/BottomArea.js +2 -2
  24. package/dist/components/BottomArea.js.map +1 -1
  25. package/dist/components/CommandMessage.d.ts.map +1 -1
  26. package/dist/components/CommandMessage.js +38 -42
  27. package/dist/components/CommandMessage.js.map +1 -1
  28. package/dist/components/CommandMessage.test.js +69 -0
  29. package/dist/components/CommandMessage.test.js.map +1 -1
  30. package/dist/components/DiffView.d.ts +7 -0
  31. package/dist/components/DiffView.d.ts.map +1 -0
  32. package/dist/components/DiffView.js +80 -0
  33. package/dist/components/DiffView.js.map +1 -0
  34. package/dist/components/DiffView.test.d.ts +2 -0
  35. package/dist/components/DiffView.test.d.ts.map +1 -0
  36. package/dist/components/DiffView.test.js +45 -0
  37. package/dist/components/DiffView.test.js.map +1 -0
  38. package/dist/components/Input/PopupManager.d.ts +7 -0
  39. package/dist/components/Input/PopupManager.d.ts.map +1 -1
  40. package/dist/components/Input/PopupManager.js +4 -2
  41. package/dist/components/Input/PopupManager.js.map +1 -1
  42. package/dist/components/Input/determine-active-menu.d.ts.map +1 -1
  43. package/dist/components/Input/determine-active-menu.js +4 -1
  44. package/dist/components/Input/determine-active-menu.js.map +1 -1
  45. package/dist/components/Input/popup-props.d.ts +3 -1
  46. package/dist/components/Input/popup-props.d.ts.map +1 -1
  47. package/dist/components/Input/popup-props.js +7 -1
  48. package/dist/components/Input/popup-props.js.map +1 -1
  49. package/dist/components/InputBox.d.ts +6 -0
  50. package/dist/components/InputBox.d.ts.map +1 -1
  51. package/dist/components/InputBox.js +74 -11
  52. package/dist/components/InputBox.js.map +1 -1
  53. package/dist/components/InputBox.menu-logic.test.js +16 -1
  54. package/dist/components/InputBox.menu-logic.test.js.map +1 -1
  55. package/dist/components/InputBox.test.js +1 -0
  56. package/dist/components/InputBox.test.js.map +1 -1
  57. package/dist/components/MarkdownRenderer.d.ts.map +1 -1
  58. package/dist/components/MarkdownRenderer.js +52 -1
  59. package/dist/components/MarkdownRenderer.js.map +1 -1
  60. package/dist/components/MessageList.d.ts.map +1 -1
  61. package/dist/components/MessageList.js +3 -2
  62. package/dist/components/MessageList.js.map +1 -1
  63. package/dist/components/MessageList.test.js +16 -0
  64. package/dist/components/MessageList.test.js.map +1 -1
  65. package/dist/components/SettingsValueSelectionMenu.d.ts.map +1 -1
  66. package/dist/components/SettingsValueSelectionMenu.js +4 -1
  67. package/dist/components/SettingsValueSelectionMenu.js.map +1 -1
  68. package/dist/components/StatusBar.d.ts.map +1 -1
  69. package/dist/components/StatusBar.js +5 -3
  70. package/dist/components/StatusBar.js.map +1 -1
  71. package/dist/components/StatusBar.test.js +24 -0
  72. package/dist/components/StatusBar.test.js.map +1 -1
  73. package/dist/components/SubagentActivityMessage.d.ts.map +1 -1
  74. package/dist/components/SubagentActivityMessage.js +16 -1
  75. package/dist/components/SubagentActivityMessage.js.map +1 -1
  76. package/dist/components/UndoSelectionMenu.d.ts +12 -0
  77. package/dist/components/UndoSelectionMenu.d.ts.map +1 -0
  78. package/dist/components/UndoSelectionMenu.js +46 -0
  79. package/dist/components/UndoSelectionMenu.js.map +1 -0
  80. package/dist/components/UndoSelectionMenu.test.d.ts +2 -0
  81. package/dist/components/UndoSelectionMenu.test.d.ts.map +1 -0
  82. package/dist/components/UndoSelectionMenu.test.js +40 -0
  83. package/dist/components/UndoSelectionMenu.test.js.map +1 -0
  84. package/dist/components/theme.d.ts +1 -1
  85. package/dist/components/theme.d.ts.map +1 -1
  86. package/dist/components/theme.js +1 -3
  87. package/dist/components/theme.js.map +1 -1
  88. package/dist/context/InputContext.d.ts +1 -1
  89. package/dist/context/InputContext.d.ts.map +1 -1
  90. package/dist/context/InputContext.js.map +1 -1
  91. package/dist/hooks/use-app-commands.d.ts +14 -2
  92. package/dist/hooks/use-app-commands.d.ts.map +1 -1
  93. package/dist/hooks/use-app-commands.js +115 -32
  94. package/dist/hooks/use-app-commands.js.map +1 -1
  95. package/dist/hooks/use-app-commands.test.js +231 -1
  96. package/dist/hooks/use-app-commands.test.js.map +1 -1
  97. package/dist/hooks/use-conversation.clear.test.d.ts +2 -0
  98. package/dist/hooks/use-conversation.clear.test.d.ts.map +1 -0
  99. package/dist/hooks/use-conversation.clear.test.js +49 -0
  100. package/dist/hooks/use-conversation.clear.test.js.map +1 -0
  101. package/dist/hooks/use-conversation.d.ts +12 -2
  102. package/dist/hooks/use-conversation.d.ts.map +1 -1
  103. package/dist/hooks/use-conversation.js +88 -5
  104. package/dist/hooks/use-conversation.js.map +1 -1
  105. package/dist/hooks/use-conversation.max-turns-undo.test.d.ts +2 -0
  106. package/dist/hooks/use-conversation.max-turns-undo.test.d.ts.map +1 -0
  107. package/dist/hooks/use-conversation.max-turns-undo.test.js +118 -0
  108. package/dist/hooks/use-conversation.max-turns-undo.test.js.map +1 -0
  109. package/dist/hooks/use-conversation.resume.test.d.ts +2 -0
  110. package/dist/hooks/use-conversation.resume.test.d.ts.map +1 -0
  111. package/dist/hooks/use-conversation.resume.test.js +26 -0
  112. package/dist/hooks/use-conversation.resume.test.js.map +1 -0
  113. package/dist/hooks/use-escape-key.d.ts.map +1 -1
  114. package/dist/hooks/use-escape-key.js +14 -7
  115. package/dist/hooks/use-escape-key.js.map +1 -1
  116. package/dist/hooks/use-escape-key.test.js +168 -4
  117. package/dist/hooks/use-escape-key.test.js.map +1 -1
  118. package/dist/hooks/use-input-history.d.ts +4 -3
  119. package/dist/hooks/use-input-history.d.ts.map +1 -1
  120. package/dist/hooks/use-input-history.js +10 -8
  121. package/dist/hooks/use-input-history.js.map +1 -1
  122. package/dist/hooks/use-input-history.test.d.ts +2 -0
  123. package/dist/hooks/use-input-history.test.d.ts.map +1 -0
  124. package/dist/hooks/use-input-history.test.js +43 -0
  125. package/dist/hooks/use-input-history.test.js.map +1 -0
  126. package/dist/hooks/use-mode-handlers.d.ts +10 -2
  127. package/dist/hooks/use-mode-handlers.d.ts.map +1 -1
  128. package/dist/hooks/use-mode-handlers.js +21 -2
  129. package/dist/hooks/use-mode-handlers.js.map +1 -1
  130. package/dist/hooks/use-model-selection.d.ts +3 -0
  131. package/dist/hooks/use-model-selection.d.ts.map +1 -1
  132. package/dist/hooks/use-model-selection.js +3 -0
  133. package/dist/hooks/use-model-selection.js.map +1 -1
  134. package/dist/hooks/use-runtime-settings.d.ts.map +1 -1
  135. package/dist/hooks/use-runtime-settings.js +15 -6
  136. package/dist/hooks/use-runtime-settings.js.map +1 -1
  137. package/dist/hooks/use-settings-completion.d.ts.map +1 -1
  138. package/dist/hooks/use-settings-completion.js +0 -1
  139. package/dist/hooks/use-settings-completion.js.map +1 -1
  140. package/dist/hooks/use-settings-value-completion.d.ts +1 -0
  141. package/dist/hooks/use-settings-value-completion.d.ts.map +1 -1
  142. package/dist/hooks/use-settings-value-completion.js +25 -19
  143. package/dist/hooks/use-settings-value-completion.js.map +1 -1
  144. package/dist/hooks/use-shell-mode.d.ts.map +1 -1
  145. package/dist/hooks/use-shell-mode.js +2 -1
  146. package/dist/hooks/use-shell-mode.js.map +1 -1
  147. package/dist/hooks/use-slash-commands.d.ts +1 -0
  148. package/dist/hooks/use-slash-commands.d.ts.map +1 -1
  149. package/dist/hooks/use-slash-commands.js +10 -1
  150. package/dist/hooks/use-slash-commands.js.map +1 -1
  151. package/dist/hooks/use-undo-selection.d.ts +19 -0
  152. package/dist/hooks/use-undo-selection.d.ts.map +1 -0
  153. package/dist/hooks/use-undo-selection.js +76 -0
  154. package/dist/hooks/use-undo-selection.js.map +1 -0
  155. package/dist/lib/openai-agent-client.chat.test.js +40 -0
  156. package/dist/lib/openai-agent-client.chat.test.js.map +1 -1
  157. package/dist/lib/openai-agent-client.d.ts +10 -1
  158. package/dist/lib/openai-agent-client.d.ts.map +1 -1
  159. package/dist/lib/openai-agent-client.js +114 -6
  160. package/dist/lib/openai-agent-client.js.map +1 -1
  161. package/dist/lib/openai-agent-client.test.js +23 -0
  162. package/dist/lib/openai-agent-client.test.js.map +1 -1
  163. package/dist/lib/retry-executor.js +45 -7
  164. package/dist/lib/retry-executor.js.map +1 -1
  165. package/dist/lib/retry-executor.test.js +63 -0
  166. package/dist/lib/retry-executor.test.js.map +1 -1
  167. package/dist/non-interactive.d.ts +7 -1
  168. package/dist/non-interactive.d.ts.map +1 -1
  169. package/dist/non-interactive.js +73 -5
  170. package/dist/non-interactive.js.map +1 -1
  171. package/dist/non-interactive.test.js +184 -2
  172. package/dist/non-interactive.test.js.map +1 -1
  173. package/dist/prompts/orchestrator.md +46 -0
  174. package/dist/prompts/plan-mode-info.md +17 -0
  175. package/dist/prompts/prompt-selector.d.ts +2 -1
  176. package/dist/prompts/prompt-selector.d.ts.map +1 -1
  177. package/dist/prompts/prompt-selector.js +5 -1
  178. package/dist/prompts/prompt-selector.js.map +1 -1
  179. package/dist/prompts/prompt-selector.test.js +7 -0
  180. package/dist/prompts/prompt-selector.test.js.map +1 -1
  181. package/dist/prompts/prompt-selector.test.ts +18 -0
  182. package/dist/prompts/prompt-selector.ts +7 -1
  183. package/dist/prompts/reasoning-efficiency.d.ts +7 -0
  184. package/dist/prompts/reasoning-efficiency.d.ts.map +1 -0
  185. package/dist/prompts/reasoning-efficiency.js +19 -0
  186. package/dist/prompts/reasoning-efficiency.js.map +1 -0
  187. package/dist/prompts/reasoning-efficiency.ts +18 -0
  188. package/dist/prompts/search-via-shell.test.js +17 -17
  189. package/dist/prompts/search-via-shell.test.js.map +1 -1
  190. package/dist/prompts/search-via-shell.test.ts +17 -17
  191. package/dist/prompts/shell-auto-approval.d.ts +3 -0
  192. package/dist/prompts/shell-auto-approval.d.ts.map +1 -0
  193. package/dist/prompts/shell-auto-approval.js +23 -0
  194. package/dist/prompts/shell-auto-approval.js.map +1 -0
  195. package/dist/prompts/shell-auto-approval.ts +23 -0
  196. package/dist/prompts/subagent-delegation.d.ts +10 -0
  197. package/dist/prompts/subagent-delegation.d.ts.map +1 -0
  198. package/dist/prompts/subagent-delegation.js +33 -0
  199. package/dist/prompts/subagent-delegation.js.map +1 -0
  200. package/dist/prompts/subagent-delegation.test.d.ts +2 -0
  201. package/dist/prompts/subagent-delegation.test.d.ts.map +1 -0
  202. package/dist/prompts/subagent-delegation.test.js +17 -0
  203. package/dist/prompts/subagent-delegation.test.js.map +1 -0
  204. package/dist/prompts/subagent-delegation.test.ts +21 -0
  205. package/dist/prompts/subagent-delegation.ts +40 -0
  206. package/dist/prompts/subagents/explorer.md +1 -2
  207. package/dist/prompts/subagents/mentor.md +0 -1
  208. package/dist/prompts/subagents/researcher.md +0 -1
  209. package/dist/prompts/subagents/worker.md +3 -4
  210. package/dist/providers/ai-sdk-anthropic.provider.d.ts +1 -0
  211. package/dist/providers/ai-sdk-anthropic.provider.d.ts.map +1 -1
  212. package/dist/providers/ai-sdk-anthropic.provider.js +67 -1
  213. package/dist/providers/ai-sdk-anthropic.provider.js.map +1 -1
  214. package/dist/providers/ai-sdk-anthropic.provider.test.d.ts +2 -0
  215. package/dist/providers/ai-sdk-anthropic.provider.test.d.ts.map +1 -0
  216. package/dist/providers/ai-sdk-anthropic.provider.test.js +87 -0
  217. package/dist/providers/ai-sdk-anthropic.provider.test.js.map +1 -0
  218. package/dist/providers/ai-sdk-logging-fetch.d.ts +1 -1
  219. package/dist/providers/ai-sdk-logging-fetch.d.ts.map +1 -1
  220. package/dist/providers/ai-sdk-logging-fetch.js +67 -44
  221. package/dist/providers/ai-sdk-logging-fetch.js.map +1 -1
  222. package/dist/providers/ai-sdk-logging-fetch.test.js +59 -5
  223. package/dist/providers/ai-sdk-logging-fetch.test.js.map +1 -1
  224. package/dist/providers/common/openai-compatible-messages.d.ts.map +1 -1
  225. package/dist/providers/common/openai-compatible-messages.js +10 -4
  226. package/dist/providers/common/openai-compatible-messages.js.map +1 -1
  227. package/dist/providers/common/openai-compatible-messages.test.js +22 -0
  228. package/dist/providers/common/openai-compatible-messages.test.js.map +1 -1
  229. package/dist/providers/custom-provider-adapter.test.js +39 -1
  230. package/dist/providers/custom-provider-adapter.test.js.map +1 -1
  231. package/dist/providers/openai-compatible.provider.d.ts +11 -1
  232. package/dist/providers/openai-compatible.provider.d.ts.map +1 -1
  233. package/dist/providers/openai-compatible.provider.js +122 -8
  234. package/dist/providers/openai-compatible.provider.js.map +1 -1
  235. package/dist/providers/openai-compatible.provider.test.js +61 -0
  236. package/dist/providers/openai-compatible.provider.test.js.map +1 -1
  237. package/dist/providers/openai.provider.js +21 -1
  238. package/dist/providers/openai.provider.js.map +1 -1
  239. package/dist/providers/openrouter.provider.d.ts +2 -0
  240. package/dist/providers/openrouter.provider.d.ts.map +1 -1
  241. package/dist/providers/openrouter.provider.js +20 -2
  242. package/dist/providers/openrouter.provider.js.map +1 -1
  243. package/dist/providers/openrouter.provider.request-preprocessing.test.d.ts +2 -0
  244. package/dist/providers/openrouter.provider.request-preprocessing.test.d.ts.map +1 -0
  245. package/dist/providers/openrouter.provider.request-preprocessing.test.js +48 -0
  246. package/dist/providers/openrouter.provider.request-preprocessing.test.js.map +1 -0
  247. package/dist/providers/registry.test.js +27 -2
  248. package/dist/providers/registry.test.js.map +1 -1
  249. package/dist/scripts/eval-auto-approval/dataset.d.ts +2 -2
  250. package/dist/services/agent-stream.d.ts +1 -0
  251. package/dist/services/agent-stream.d.ts.map +1 -1
  252. package/dist/services/approval-flow-coordinator.d.ts +2 -0
  253. package/dist/services/approval-flow-coordinator.d.ts.map +1 -1
  254. package/dist/services/approval-flow-coordinator.js +45 -18
  255. package/dist/services/approval-flow-coordinator.js.map +1 -1
  256. package/dist/services/approval-flow-coordinator.test.js +87 -0
  257. package/dist/services/approval-flow-coordinator.test.js.map +1 -1
  258. package/dist/services/approval-state.d.ts +4 -0
  259. package/dist/services/approval-state.d.ts.map +1 -1
  260. package/dist/services/approval-state.js +2 -0
  261. package/dist/services/approval-state.js.map +1 -1
  262. package/dist/services/approval-state.test.js +21 -0
  263. package/dist/services/approval-state.test.js.map +1 -1
  264. package/dist/services/conversation-clear-save.test.d.ts +2 -0
  265. package/dist/services/conversation-clear-save.test.d.ts.map +1 -0
  266. package/dist/services/conversation-clear-save.test.js +85 -0
  267. package/dist/services/conversation-clear-save.test.js.map +1 -0
  268. package/dist/services/conversation-history-repair.d.ts +25 -0
  269. package/dist/services/conversation-history-repair.d.ts.map +1 -0
  270. package/dist/services/conversation-history-repair.js +227 -0
  271. package/dist/services/conversation-history-repair.js.map +1 -0
  272. package/dist/services/conversation-history-repair.test.d.ts +2 -0
  273. package/dist/services/conversation-history-repair.test.d.ts.map +1 -0
  274. package/dist/services/conversation-history-repair.test.js +76 -0
  275. package/dist/services/conversation-history-repair.test.js.map +1 -0
  276. package/dist/services/conversation-persistence.d.ts +55 -0
  277. package/dist/services/conversation-persistence.d.ts.map +1 -0
  278. package/dist/services/conversation-persistence.js +216 -0
  279. package/dist/services/conversation-persistence.js.map +1 -0
  280. package/dist/services/conversation-persistence.test.d.ts +2 -0
  281. package/dist/services/conversation-persistence.test.d.ts.map +1 -0
  282. package/dist/services/conversation-persistence.test.js +713 -0
  283. package/dist/services/conversation-persistence.test.js.map +1 -0
  284. package/dist/services/conversation-result-builder.d.ts.map +1 -1
  285. package/dist/services/conversation-result-builder.js +13 -0
  286. package/dist/services/conversation-result-builder.js.map +1 -1
  287. package/dist/services/conversation-retry-policy.d.ts +7 -0
  288. package/dist/services/conversation-retry-policy.d.ts.map +1 -1
  289. package/dist/services/conversation-retry-policy.js +34 -0
  290. package/dist/services/conversation-retry-policy.js.map +1 -1
  291. package/dist/services/conversation-retry-policy.test.js +44 -2
  292. package/dist/services/conversation-retry-policy.test.js.map +1 -1
  293. package/dist/services/conversation-service.d.ts +25 -2
  294. package/dist/services/conversation-service.d.ts.map +1 -1
  295. package/dist/services/conversation-service.js +29 -3
  296. package/dist/services/conversation-service.js.map +1 -1
  297. package/dist/services/conversation-session.auto-approval.test.js +7 -10
  298. package/dist/services/conversation-session.auto-approval.test.js.map +1 -1
  299. package/dist/services/conversation-session.d.ts +28 -1
  300. package/dist/services/conversation-session.d.ts.map +1 -1
  301. package/dist/services/conversation-session.js +300 -95
  302. package/dist/services/conversation-session.js.map +1 -1
  303. package/dist/services/conversation-store.d.ts +42 -0
  304. package/dist/services/conversation-store.d.ts.map +1 -1
  305. package/dist/services/conversation-store.js +188 -6
  306. package/dist/services/conversation-store.js.map +1 -1
  307. package/dist/services/conversation-store.test.js +344 -1
  308. package/dist/services/conversation-store.test.js.map +1 -1
  309. package/dist/services/history-service.d.ts +6 -1
  310. package/dist/services/history-service.d.ts.map +1 -1
  311. package/dist/services/history-service.js +46 -6
  312. package/dist/services/history-service.js.map +1 -1
  313. package/dist/services/history-service.test.d.ts +2 -0
  314. package/dist/services/history-service.test.d.ts.map +1 -0
  315. package/dist/services/history-service.test.js +77 -0
  316. package/dist/services/history-service.test.js.map +1 -0
  317. package/dist/services/input-surge-guard.d.ts +37 -0
  318. package/dist/services/input-surge-guard.d.ts.map +1 -0
  319. package/dist/services/input-surge-guard.js +190 -0
  320. package/dist/services/input-surge-guard.js.map +1 -0
  321. package/dist/services/input-surge-guard.test.d.ts +2 -0
  322. package/dist/services/input-surge-guard.test.d.ts.map +1 -0
  323. package/dist/services/input-surge-guard.test.js +126 -0
  324. package/dist/services/input-surge-guard.test.js.map +1 -0
  325. package/dist/services/logging-contract.d.ts +1 -1
  326. package/dist/services/logging-service.d.ts +4 -0
  327. package/dist/services/logging-service.d.ts.map +1 -1
  328. package/dist/services/logging-service.js +91 -33
  329. package/dist/services/logging-service.js.map +1 -1
  330. package/dist/services/mode-notices.d.ts +11 -0
  331. package/dist/services/mode-notices.d.ts.map +1 -0
  332. package/dist/services/mode-notices.js +16 -0
  333. package/dist/services/mode-notices.js.map +1 -0
  334. package/dist/services/model-service.d.ts.map +1 -1
  335. package/dist/services/model-service.js +0 -1
  336. package/dist/services/model-service.js.map +1 -1
  337. package/dist/services/plan-mode-interceptor.d.ts +10 -0
  338. package/dist/services/plan-mode-interceptor.d.ts.map +1 -0
  339. package/dist/services/plan-mode-interceptor.js +38 -0
  340. package/dist/services/plan-mode-interceptor.js.map +1 -0
  341. package/dist/services/plan-mode-interceptor.test.d.ts +2 -0
  342. package/dist/services/plan-mode-interceptor.test.d.ts.map +1 -0
  343. package/dist/services/plan-mode-interceptor.test.js +55 -0
  344. package/dist/services/plan-mode-interceptor.test.js.map +1 -0
  345. package/dist/services/provider-traffic.d.ts +87 -0
  346. package/dist/services/provider-traffic.d.ts.map +1 -0
  347. package/dist/services/provider-traffic.js +545 -0
  348. package/dist/services/provider-traffic.js.map +1 -0
  349. package/dist/services/provider-traffic.test.d.ts +2 -0
  350. package/dist/services/provider-traffic.test.d.ts.map +1 -0
  351. package/dist/services/provider-traffic.test.js +383 -0
  352. package/dist/services/provider-traffic.test.js.map +1 -0
  353. package/dist/services/service-interfaces.d.ts +20 -1
  354. package/dist/services/service-interfaces.d.ts.map +1 -1
  355. package/dist/services/settings-persistence.js +1 -1
  356. package/dist/services/settings-schema.d.ts +107 -4
  357. package/dist/services/settings-schema.d.ts.map +1 -1
  358. package/dist/services/settings-schema.js +103 -5
  359. package/dist/services/settings-schema.js.map +1 -1
  360. package/dist/services/settings-schema.test.js +35 -1
  361. package/dist/services/settings-schema.test.js.map +1 -1
  362. package/dist/services/settings-service.d.ts +3 -1
  363. package/dist/services/settings-service.d.ts.map +1 -1
  364. package/dist/services/settings-service.js +40 -4
  365. package/dist/services/settings-service.js.map +1 -1
  366. package/dist/services/settings-sources.d.ts.map +1 -1
  367. package/dist/services/settings-sources.js +2 -1
  368. package/dist/services/settings-sources.js.map +1 -1
  369. package/dist/services/settings-sources.test.js +4 -0
  370. package/dist/services/settings-sources.test.js.map +1 -1
  371. package/dist/services/shell-auto-approval-evaluator.d.ts +3 -2
  372. package/dist/services/shell-auto-approval-evaluator.d.ts.map +1 -1
  373. package/dist/services/shell-auto-approval-evaluator.js +287 -101
  374. package/dist/services/shell-auto-approval-evaluator.js.map +1 -1
  375. package/dist/services/shell-auto-approval-evaluator.test.js +216 -18
  376. package/dist/services/shell-auto-approval-evaluator.test.js.map +1 -1
  377. package/dist/services/shell-auto-approval-resolver.test.js +1 -1
  378. package/dist/services/shell-auto-approval-resolver.test.js.map +1 -1
  379. package/dist/services/stream-event-processor.d.ts.map +1 -1
  380. package/dist/services/stream-event-processor.js +5 -0
  381. package/dist/services/stream-event-processor.js.map +1 -1
  382. package/dist/services/stream-event-processor.test.js +27 -0
  383. package/dist/services/stream-event-processor.test.js.map +1 -1
  384. package/dist/services/subagents/reasoning-inheritance.test.d.ts +2 -0
  385. package/dist/services/subagents/reasoning-inheritance.test.d.ts.map +1 -0
  386. package/dist/services/subagents/reasoning-inheritance.test.js +73 -0
  387. package/dist/services/subagents/reasoning-inheritance.test.js.map +1 -0
  388. package/dist/services/subagents/subagent-manager.d.ts +2 -0
  389. package/dist/services/subagents/subagent-manager.d.ts.map +1 -1
  390. package/dist/services/subagents/subagent-manager.js +204 -33
  391. package/dist/services/subagents/subagent-manager.js.map +1 -1
  392. package/dist/services/subagents/subagent-manager.test.js +331 -42
  393. package/dist/services/subagents/subagent-manager.test.js.map +1 -1
  394. package/dist/services/subagents/types.d.ts +6 -0
  395. package/dist/services/subagents/types.d.ts.map +1 -1
  396. package/dist/services/terminal-result-collector.d.ts.map +1 -1
  397. package/dist/services/terminal-result-collector.js +1 -2
  398. package/dist/services/terminal-result-collector.js.map +1 -1
  399. package/dist/slash-commands.d.ts +1 -0
  400. package/dist/slash-commands.d.ts.map +1 -1
  401. package/dist/slash-commands.js +8 -1
  402. package/dist/slash-commands.js.map +1 -1
  403. package/dist/slash-commands.test.d.ts +2 -0
  404. package/dist/slash-commands.test.d.ts.map +1 -0
  405. package/dist/slash-commands.test.js +22 -0
  406. package/dist/slash-commands.test.js.map +1 -0
  407. package/dist/tools/apply-patch.d.ts.map +1 -1
  408. package/dist/tools/apply-patch.js +2 -6
  409. package/dist/tools/apply-patch.js.map +1 -1
  410. package/dist/tools/apply-patch.test.js +2 -13
  411. package/dist/tools/apply-patch.test.js.map +1 -1
  412. package/dist/tools/code-context.test.js +4 -3
  413. package/dist/tools/code-context.test.js.map +1 -1
  414. package/dist/tools/create-file.d.ts.map +1 -1
  415. package/dist/tools/create-file.js +2 -3
  416. package/dist/tools/create-file.js.map +1 -1
  417. package/dist/tools/create-file.test.js +3 -14
  418. package/dist/tools/create-file.test.js.map +1 -1
  419. package/dist/tools/edit-healing.d.ts +3 -3
  420. package/dist/tools/edit-healing.d.ts.map +1 -1
  421. package/dist/tools/edit-healing.js.map +1 -1
  422. package/dist/tools/edit-healing.test.js +0 -1
  423. package/dist/tools/edit-healing.test.js.map +1 -1
  424. package/dist/tools/find-files.test.js +3 -2
  425. package/dist/tools/find-files.test.js.map +1 -1
  426. package/dist/tools/grep.d.ts +1 -0
  427. package/dist/tools/grep.d.ts.map +1 -1
  428. package/dist/tools/grep.js +65 -4
  429. package/dist/tools/grep.js.map +1 -1
  430. package/dist/tools/grep.test.js +39 -0
  431. package/dist/tools/grep.test.js.map +1 -0
  432. package/dist/tools/read-file.d.ts +1 -0
  433. package/dist/tools/read-file.d.ts.map +1 -1
  434. package/dist/tools/read-file.js +7 -5
  435. package/dist/tools/read-file.js.map +1 -1
  436. package/dist/tools/read-file.test.js +3 -2
  437. package/dist/tools/read-file.test.js.map +1 -1
  438. package/dist/tools/run-subagent.d.ts +1 -1
  439. package/dist/tools/run-subagent.d.ts.map +1 -1
  440. package/dist/tools/run-subagent.js +27 -23
  441. package/dist/tools/run-subagent.js.map +1 -1
  442. package/dist/tools/run-subagent.test.js +55 -8
  443. package/dist/tools/run-subagent.test.js.map +1 -1
  444. package/dist/tools/search-replace.d.ts +13 -5
  445. package/dist/tools/search-replace.d.ts.map +1 -1
  446. package/dist/tools/search-replace.js +46 -115
  447. package/dist/tools/search-replace.js.map +1 -1
  448. package/dist/tools/search-replace.test.js +275 -240
  449. package/dist/tools/search-replace.test.js.map +1 -1
  450. package/dist/tools/shell.d.ts +1 -0
  451. package/dist/tools/shell.d.ts.map +1 -1
  452. package/dist/tools/shell.js +14 -6
  453. package/dist/tools/shell.js.map +1 -1
  454. package/dist/tools/shell.test.js +52 -0
  455. package/dist/tools/shell.test.js.map +1 -1
  456. package/dist/tools/tool-parameter-schema.test.js +13 -4
  457. package/dist/tools/tool-parameter-schema.test.js.map +1 -1
  458. package/dist/tools/types.d.ts +1 -1
  459. package/dist/tools/types.d.ts.map +1 -1
  460. package/dist/tools/web-fetch.d.ts.map +1 -1
  461. package/dist/tools/web-fetch.js +29 -4
  462. package/dist/tools/web-fetch.js.map +1 -1
  463. package/dist/tools/web-fetch.test.js +64 -0
  464. package/dist/tools/web-fetch.test.js.map +1 -1
  465. package/dist/utils/command-safety/path-analysis.d.ts.map +1 -1
  466. package/dist/utils/command-safety/path-analysis.js +143 -35
  467. package/dist/utils/command-safety/path-analysis.js.map +1 -1
  468. package/dist/utils/conversation-event-handler.d.ts.map +1 -1
  469. package/dist/utils/conversation-event-handler.js +23 -3
  470. package/dist/utils/conversation-event-handler.js.map +1 -1
  471. package/dist/utils/conversation-event-handler.test.js +94 -0
  472. package/dist/utils/conversation-event-handler.test.js.map +1 -1
  473. package/dist/utils/execute-shell.d.ts +2 -0
  474. package/dist/utils/execute-shell.d.ts.map +1 -1
  475. package/dist/utils/execute-shell.js +25 -1
  476. package/dist/utils/execute-shell.js.map +1 -1
  477. package/dist/utils/execute-shell.test.js +22 -0
  478. package/dist/utils/execute-shell.test.js.map +1 -1
  479. package/dist/utils/model-settings.d.ts.map +1 -1
  480. package/dist/utils/model-settings.js +18 -0
  481. package/dist/utils/model-settings.js.map +1 -1
  482. package/dist/utils/output-trim.d.ts.map +1 -1
  483. package/dist/utils/output-trim.js +14 -6
  484. package/dist/utils/output-trim.js.map +1 -1
  485. package/dist/utils/token-usage.test.js +31 -0
  486. package/dist/utils/token-usage.test.js.map +1 -1
  487. package/package.json +3 -3
  488. package/readme.md +271 -44
@@ -61,8 +61,8 @@ function ensureExplorerProviderRegistered() {
61
61
  id: 'mock-explorer-provider',
62
62
  label: 'Mock Explorer Provider',
63
63
  createRunner: () => ({
64
- run: async (_agent, input, _options) => {
65
- explorerRunnerCalls.push({ input, agent: _agent });
64
+ run: async (_agent, input, options) => {
65
+ explorerRunnerCalls.push({ input, agent: _agent, options });
66
66
  return {
67
67
  status: 'completed',
68
68
  finalOutput: 'Found the relevant files.',
@@ -165,6 +165,52 @@ test.serial('run() with explorer role returns SubagentResult', async (t) => {
165
165
  t.is(result.filesChanged.length, 0);
166
166
  t.truthy(result.finalText);
167
167
  });
168
+ test.serial('run() passes parent abort signal into the delegated provider run', async (t) => {
169
+ const settings = createMockSettings({
170
+ 'agent.model': 'mock-model',
171
+ 'agent.provider': 'mock-explorer-provider',
172
+ });
173
+ const manager = new SubagentManager({ logger: createMockLogger(), settings });
174
+ const abortController = new AbortController();
175
+ await manager.run({
176
+ role: 'explorer',
177
+ task: 'find all TypeScript files',
178
+ signal: abortController.signal,
179
+ });
180
+ t.is(explorerRunnerCalls[0].options.signal, abortController.signal);
181
+ });
182
+ test.serial('run() cancels a delegated provider run when the parent signal aborts', async (t) => {
183
+ registerProvider({
184
+ id: 'mock-aborted-subagent-provider',
185
+ label: 'Mock Aborted Subagent Provider',
186
+ createRunner: () => ({
187
+ run: async (_agent, _input, options) => new Promise((_resolve, reject) => {
188
+ const rejectAbort = () => reject(Object.assign(new Error('delegated run aborted'), { name: 'AbortError' }));
189
+ if (options.signal?.aborted) {
190
+ rejectAbort();
191
+ return;
192
+ }
193
+ options.signal?.addEventListener('abort', rejectAbort, { once: true });
194
+ }),
195
+ }),
196
+ fetchModels: async () => [{ id: 'mock-model' }],
197
+ });
198
+ const settings = createMockSettings({
199
+ 'agent.model': 'mock-model',
200
+ 'agent.provider': 'mock-aborted-subagent-provider',
201
+ });
202
+ const manager = new SubagentManager({ logger: createMockLogger(), settings });
203
+ const abortController = new AbortController();
204
+ const resultPromise = manager.run({
205
+ role: 'explorer',
206
+ task: 'find all TypeScript files',
207
+ signal: abortController.signal,
208
+ });
209
+ queueMicrotask(() => abortController.abort());
210
+ const result = await resultPromise;
211
+ t.is(result.status, 'cancelled');
212
+ t.true(result.error?.includes('aborted') ?? false);
213
+ });
168
214
  test.serial('run() with explorer role uses read-only tools only', async (t) => {
169
215
  const settings = createMockSettings({
170
216
  'agent.model': 'mock-model',
@@ -186,6 +232,7 @@ test.serial('run() with explorer role uses read-only tools only', async (t) => {
186
232
  // Explorer should NOT have web tools by default
187
233
  t.false(toolNames.includes('web_search'));
188
234
  t.false(toolNames.includes('web_fetch'));
235
+ t.false(toolNames.includes('shell'));
189
236
  });
190
237
  // ========== Researcher role ==========
191
238
  let researcherRunnerCalls = [];
@@ -260,7 +307,7 @@ test.beforeEach(() => {
260
307
  workerRunnerCalls = [];
261
308
  ensureWorkerProviderRegistered();
262
309
  });
263
- test.serial('run() with worker role includes write tools', async (t) => {
310
+ test.serial('run() with worker role includes write and shell tools for non-gpt model', async (t) => {
264
311
  const settings = createMockSettings({
265
312
  'agent.model': 'mock-model',
266
313
  'agent.provider': 'mock-worker-provider',
@@ -270,14 +317,33 @@ test.serial('run() with worker role includes write tools', async (t) => {
270
317
  t.is(workerRunnerCalls.length, 1);
271
318
  const agent = workerRunnerCalls[0].agent;
272
319
  const toolNames = agent.tools.map((t) => t.name);
273
- // Worker should have read AND write tools
320
+ // Worker should have read, non-gpt write tools, and shell
274
321
  t.true(toolNames.includes('read_file'));
275
- t.true(toolNames.includes('apply_patch'));
276
322
  t.true(toolNames.includes('search_replace'));
277
323
  t.true(toolNames.includes('create_file'));
278
- // But not web or shell
324
+ t.true(toolNames.includes('shell'));
325
+ // Should NOT have apply_patch or web tools
326
+ t.false(toolNames.includes('apply_patch'));
327
+ t.false(toolNames.includes('web_search'));
328
+ });
329
+ test.serial('run() with worker role includes write and shell tools for gpt model', async (t) => {
330
+ const settings = createMockSettings({
331
+ 'agent.model': 'gpt-5',
332
+ 'agent.provider': 'mock-worker-provider',
333
+ });
334
+ const manager = new SubagentManager({ logger: createMockLogger(), settings });
335
+ await manager.run({ role: 'worker', task: 'update the README.md file' });
336
+ t.is(workerRunnerCalls.length, 1);
337
+ const agent = workerRunnerCalls[0].agent;
338
+ const toolNames = agent.tools.map((t) => t.name);
339
+ // Worker should have read, gpt write tools (apply_patch), and shell
340
+ t.true(toolNames.includes('read_file'));
341
+ t.true(toolNames.includes('apply_patch'));
342
+ t.true(toolNames.includes('shell'));
343
+ // Should NOT have search_replace, create_file, or web tools
344
+ t.false(toolNames.includes('search_replace'));
345
+ t.false(toolNames.includes('create_file'));
279
346
  t.false(toolNames.includes('web_search'));
280
- t.false(toolNames.includes('shell'));
281
347
  });
282
348
  test.serial('run() result contains agentId and correct role', async (t) => {
283
349
  const settings = createMockSettings({
@@ -328,26 +394,26 @@ test.serial('worker write tool rejects paths outside writeBoundary', async (t) =
328
394
  isRemote: () => false,
329
395
  getSSHService: () => undefined,
330
396
  };
331
- const settings = createMockSettings({
332
- 'agent.model': 'mock-model',
397
+ // 1. Test apply_patch tool under gpt-5 model
398
+ const settingsGpt = createMockSettings({
399
+ 'agent.model': 'gpt-5',
333
400
  'agent.provider': 'mock-boundary-worker',
334
401
  });
335
- const manager = new SubagentManager({
402
+ const managerGpt = new SubagentManager({
336
403
  logger: createMockLogger(),
337
- settings,
404
+ settings: settingsGpt,
338
405
  executionContext: mockExecutionContext,
339
406
  });
340
- await manager.run({
407
+ await managerGpt.run({
341
408
  role: 'worker',
342
409
  task: 'update a file',
343
410
  writeBoundary: ['.'],
344
411
  });
345
412
  t.is(boundaryWorkerCalls.length, 1);
346
- const agent = boundaryWorkerCalls[0].agent;
347
- const applyPatch = agent.tools.find((t) => t.name === 'apply_patch');
348
- const searchReplace = agent.tools.find((t) => t.name === 'search_replace');
413
+ const agentGpt = boundaryWorkerCalls[0].agent;
414
+ const applyPatch = agentGpt.tools.find((t) => t.name === 'apply_patch');
349
415
  t.truthy(applyPatch);
350
- t.truthy(searchReplace);
416
+ t.falsy(agentGpt.tools.find((t) => t.name === 'search_replace'));
351
417
  // Call with a path inside the boundary — should NOT be rejected for boundary violation
352
418
  const insideResult = await applyPatch.invoke({}, JSON.stringify({
353
419
  type: 'create_file',
@@ -372,16 +438,31 @@ test.serial('worker write tool rejects paths outside writeBoundary', async (t) =
372
438
  diff: '+hello\n',
373
439
  });
374
440
  t.is(outsideNeedsApproval, false);
375
- // Batch search_replace: all replacement paths must be boundary-checked
441
+ // 2. Test search_replace tool under non-gpt model
442
+ const settingsNonGpt = createMockSettings({
443
+ 'agent.model': 'mock-model',
444
+ 'agent.provider': 'mock-boundary-worker',
445
+ });
446
+ const managerNonGpt = new SubagentManager({
447
+ logger: createMockLogger(),
448
+ settings: settingsNonGpt,
449
+ executionContext: mockExecutionContext,
450
+ });
451
+ boundaryWorkerCalls = []; // reset calls
452
+ await managerNonGpt.run({
453
+ role: 'worker',
454
+ task: 'update a file',
455
+ writeBoundary: ['.'],
456
+ });
457
+ t.is(boundaryWorkerCalls.length, 1);
458
+ const agentNonGpt = boundaryWorkerCalls[0].agent;
459
+ const searchReplace = agentNonGpt.tools.find((t) => t.name === 'search_replace');
460
+ t.truthy(searchReplace);
461
+ t.falsy(agentNonGpt.tools.find((t) => t.name === 'apply_patch'));
376
462
  const batchOutsideResult = await searchReplace.invoke({}, JSON.stringify({
463
+ path: '../outside.ts',
377
464
  replacements: [
378
465
  {
379
- path: 'inside.ts',
380
- search_content: '',
381
- replace_content: 'ok',
382
- },
383
- {
384
- path: '../outside.ts',
385
466
  search_content: '',
386
467
  replace_content: 'no',
387
468
  },
@@ -420,7 +501,7 @@ test.serial('worker in-boundary write is auto-approved (boundary is the grant)',
420
501
  t.truthy(createFile);
421
502
  // The writeBoundary is the worker's permission grant: an in-boundary write
422
503
  // requires no interactive approval (there is no foreground approval channel
423
- // for a subagent running inside a blocked parent tool call). Edit mode is off
504
+ // for a subagent running inside a blocked parent tool call). Standard mode is off
424
505
  // but the write still does not need approval.
425
506
  const inBoundaryNeedsApproval = await createFile.needsApproval({}, { path: 'a.ts', content: 'x' });
426
507
  t.is(inBoundaryNeedsApproval, false);
@@ -466,18 +547,24 @@ test.serial('worker filesChanged tracks only successful writes for batch operati
466
547
  run: async (agent) => {
467
548
  const applyPatch = agent.tools.find((tool) => tool.name === 'apply_patch');
468
549
  const searchReplace = agent.tools.find((tool) => tool.name === 'search_replace');
469
- await applyPatch.invoke({}, JSON.stringify({
470
- operations: [
471
- { type: 'create_file', path: 'a.txt', diff: '+hello\n' },
472
- { type: 'update_file', path: 'missing.txt', diff: '-x\n+y\n' },
473
- ],
474
- }), {});
475
- await searchReplace.invoke({}, JSON.stringify({
476
- replacements: [
477
- { path: 'b.txt', search_content: '', replace_content: 'created' },
478
- { path: 'missing2.txt', search_content: 'x', replace_content: 'y' },
479
- ],
480
- }), {});
550
+ if (applyPatch) {
551
+ await applyPatch.invoke({}, JSON.stringify({
552
+ operations: [
553
+ { type: 'create_file', path: 'a.txt', diff: '+hello\n' },
554
+ { type: 'update_file', path: 'missing.txt', diff: '-x\n+y\n' },
555
+ ],
556
+ }), {});
557
+ }
558
+ if (searchReplace) {
559
+ await searchReplace.invoke({}, JSON.stringify({
560
+ path: 'b.txt',
561
+ replacements: [{ search_content: '', replace_content: 'created' }],
562
+ }), {});
563
+ await searchReplace.invoke({}, JSON.stringify({
564
+ path: 'missing2.txt',
565
+ replacements: [{ search_content: 'x', replace_content: 'y' }],
566
+ }), {});
567
+ }
481
568
  return {
482
569
  status: 'completed',
483
570
  finalOutput: 'Done.',
@@ -488,7 +575,23 @@ test.serial('worker filesChanged tracks only successful writes for batch operati
488
575
  }),
489
576
  fetchModels: async () => [{ id: 'mock-model' }],
490
577
  });
491
- const manager = new SubagentManager({
578
+ // 1. Test with GPT-5 model (using apply_patch)
579
+ const managerGpt = new SubagentManager({
580
+ logger: createMockLogger(),
581
+ settings: createMockSettings({
582
+ 'agent.model': 'gpt-5',
583
+ 'agent.provider': 'mock-worker-files-changed-provider',
584
+ }),
585
+ executionContext: {
586
+ getCwd: () => tmpDir,
587
+ isRemote: () => false,
588
+ getSSHService: () => undefined,
589
+ },
590
+ });
591
+ const resultGpt = await managerGpt.run({ role: 'worker', task: 'do mixed writes' });
592
+ t.deepEqual(new Set(resultGpt.filesChanged), new Set(['a.txt']));
593
+ // 2. Test with non-GPT-5 model (using search_replace)
594
+ const managerNonGpt = new SubagentManager({
492
595
  logger: createMockLogger(),
493
596
  settings: createMockSettings({
494
597
  'agent.model': 'mock-model',
@@ -500,8 +603,8 @@ test.serial('worker filesChanged tracks only successful writes for batch operati
500
603
  getSSHService: () => undefined,
501
604
  },
502
605
  });
503
- const result = await manager.run({ role: 'worker', task: 'do mixed writes' });
504
- t.deepEqual(new Set(result.filesChanged), new Set(['a.txt', 'b.txt']));
606
+ const resultNonGpt = await managerNonGpt.run({ role: 'worker', task: 'do mixed writes' });
607
+ t.deepEqual(new Set(resultNonGpt.filesChanged), new Set(['b.txt']));
505
608
  });
506
609
  test.serial('worker write lock rejects concurrent create_file for same path without waiting', async (t) => {
507
610
  const tmpDir = fs.mkdtempSync(path.join('/tmp', 'term2-test-worker-lock-'));
@@ -647,9 +750,12 @@ test.serial('mentor base instructions come from the mentor role markdown', async
647
750
  await manager.run({ role: 'mentor', task: 'advise me' });
648
751
  t.is(mentorManagerRunnerCalls.length, 1);
649
752
  const instructions = mentorManagerRunnerCalls[0].agent.instructions;
650
- // Body text defined in source/prompts/subagents/mentor.md
651
- t.true(instructions.includes('helpful mentor assistant'));
652
- t.true(instructions.includes('no direct workspace access'));
753
+ // Dynamically load the mentor role markdown to verify integration without brittle hardcoding
754
+ const mentorPath = path.join(import.meta.dirname, '../../../source/prompts/subagents/mentor.md');
755
+ const mentorContent = fs.readFileSync(mentorPath, 'utf-8');
756
+ const parts = mentorContent.split('---');
757
+ const expectedBody = parts[parts.length - 1].trim();
758
+ t.true(instructions.includes(expectedBody), 'Agent instructions should include the parsed body of mentor.md');
653
759
  });
654
760
  // ========== finalText excludes pre-tool narration ==========
655
761
  let postToolProviderRegistered = false;
@@ -687,4 +793,187 @@ test.serial('finalText is the assistant message after the last tool item', async
687
793
  t.is(result.finalText, 'Final answer: it is in foo.ts.');
688
794
  t.false(result.finalText.includes('Let me look into this first.'));
689
795
  });
796
+ // ========== Worker shell tool — safety gating ==========
797
+ test.serial('worker shell tool executes safe command without triggering approval UI', async (t) => {
798
+ const tmpDir = fs.mkdtempSync(path.join(process.env['TMPDIR'] ?? '/tmp', 'term2-test-worker-shell-safe-'));
799
+ t.teardown(() => fs.rmSync(tmpDir, { recursive: true, force: true }));
800
+ let shellResult = null;
801
+ registerProvider({
802
+ id: 'mock-worker-shell-safe-provider',
803
+ label: 'Mock Worker Shell Safe Provider',
804
+ createRunner: () => ({
805
+ run: async (agent) => {
806
+ const shellTool = agent.tools.find((tool) => tool.name === 'shell');
807
+ // needsApproval must be false for safe commands — no approval UI in workers
808
+ const needsApproval = await shellTool.needsApproval({}, { command: 'ls .' });
809
+ t.is(needsApproval, false, 'worker shell tool must never require approval');
810
+ shellResult = await shellTool.invoke({}, JSON.stringify({ command: 'echo hello' }), {});
811
+ return {
812
+ status: 'completed',
813
+ finalOutput: 'done',
814
+ history: [],
815
+ messages: [],
816
+ };
817
+ },
818
+ }),
819
+ fetchModels: async () => [{ id: 'mock-model' }],
820
+ });
821
+ const manager = new SubagentManager({
822
+ logger: createMockLogger(),
823
+ settings: createMockSettings({
824
+ 'agent.model': 'mock-model',
825
+ 'agent.provider': 'mock-worker-shell-safe-provider',
826
+ }),
827
+ executionContext: {
828
+ getCwd: () => tmpDir,
829
+ isRemote: () => false,
830
+ getSSHService: () => undefined,
831
+ },
832
+ });
833
+ await manager.run({ role: 'worker', task: 'list files' });
834
+ // The shell tool should have executed and returned output (not an error block)
835
+ t.truthy(shellResult);
836
+ t.false(shellResult.includes('blocked for safety'), 'safe command should not be blocked');
837
+ });
838
+ test.serial('worker shell tool blocks dangerous/destructive commands and returns error string', async (t) => {
839
+ const tmpDir = fs.mkdtempSync(path.join(process.env['TMPDIR'] ?? '/tmp', 'term2-test-worker-shell-dangerous-'));
840
+ t.teardown(() => fs.rmSync(tmpDir, { recursive: true, force: true }));
841
+ let shellResult = null;
842
+ registerProvider({
843
+ id: 'mock-worker-shell-dangerous-provider',
844
+ label: 'Mock Worker Shell Dangerous Provider',
845
+ createRunner: () => ({
846
+ run: async (agent) => {
847
+ const shellTool = agent.tools.find((tool) => tool.name === 'shell');
848
+ // needsApproval must always be false — dangerous commands are blocked by execute(), not approval
849
+ const needsApproval = await shellTool.needsApproval({}, { command: 'rm -rf /tmp/something' });
850
+ t.is(needsApproval, false, 'worker shell must never trigger approval UI even for dangerous commands');
851
+ shellResult = await shellTool.invoke({}, JSON.stringify({ command: 'rm -rf /tmp/something' }), {});
852
+ return {
853
+ status: 'completed',
854
+ finalOutput: 'done',
855
+ history: [],
856
+ messages: [],
857
+ };
858
+ },
859
+ }),
860
+ fetchModels: async () => [{ id: 'mock-model' }],
861
+ });
862
+ const manager = new SubagentManager({
863
+ logger: createMockLogger(),
864
+ settings: createMockSettings({
865
+ 'agent.model': 'mock-model',
866
+ 'agent.provider': 'mock-worker-shell-dangerous-provider',
867
+ }),
868
+ executionContext: {
869
+ getCwd: () => tmpDir,
870
+ isRemote: () => false,
871
+ getSSHService: () => undefined,
872
+ },
873
+ });
874
+ await manager.run({ role: 'worker', task: 'delete stuff' });
875
+ // The shell tool should have returned a blocked-for-safety error string, not executed
876
+ t.truthy(shellResult);
877
+ t.true(shellResult.includes('blocked for safety'), 'dangerous command must be blocked');
878
+ t.false(shellResult.includes('exit 0'), 'dangerous command must not execute');
879
+ });
880
+ test.serial('worker shell tool allows YELLOW command when auto-approval evaluator approves', async (t) => {
881
+ const tmpDir = fs.mkdtempSync(path.join(process.env['TMPDIR'] ?? '/tmp', 'term2-test-worker-shell-yellow-ok-'));
882
+ t.teardown(() => fs.rmSync(tmpDir, { recursive: true, force: true }));
883
+ let shellResult = null;
884
+ let chatCalls = 0;
885
+ let evaluatorPrompt = '';
886
+ registerProvider({
887
+ id: 'mock-worker-shell-yellow-approved-provider',
888
+ label: 'Mock Worker Shell Yellow Approved Provider',
889
+ createRunner: () => ({
890
+ run: async (agent) => {
891
+ const shellTool = agent.tools.find((tool) => tool.name === 'shell');
892
+ shellResult = await shellTool.invoke({}, JSON.stringify({ command: 'npm run test:verbose -- --help' }), {});
893
+ return {
894
+ status: 'completed',
895
+ finalOutput: 'done',
896
+ history: [],
897
+ messages: [],
898
+ };
899
+ },
900
+ }),
901
+ fetchModels: async () => [{ id: 'mock-model' }],
902
+ });
903
+ const manager = new SubagentManager({
904
+ logger: createMockLogger(),
905
+ settings: createMockSettings({
906
+ 'agent.model': 'mock-model',
907
+ 'agent.provider': 'mock-worker-shell-yellow-approved-provider',
908
+ 'shell.autoApproveMode': 'auto',
909
+ 'agent.autoApproveModel': 'mock-auto-approve-model',
910
+ 'agent.autoApproveProvider': 'mock-worker-shell-yellow-approved-provider',
911
+ }),
912
+ agentClient: {
913
+ chat: async (message) => {
914
+ chatCalls++;
915
+ evaluatorPrompt = message;
916
+ return '{"results":[{"approved":true,"reasoning":"Looks related and low risk."}]}';
917
+ },
918
+ },
919
+ executionContext: {
920
+ getCwd: () => tmpDir,
921
+ isRemote: () => false,
922
+ getSSHService: () => undefined,
923
+ },
924
+ });
925
+ await manager.run({ role: 'worker', task: 'run help for tests in this repository' });
926
+ t.is(chatCalls, 1);
927
+ t.true(evaluatorPrompt.includes('run help for tests in this repository'));
928
+ t.truthy(shellResult);
929
+ t.false(shellResult.includes('blocked for safety'), 'approved YELLOW command should execute');
930
+ });
931
+ test.serial('worker shell tool blocks YELLOW command when auto-approval evaluator rejects', async (t) => {
932
+ const tmpDir = fs.mkdtempSync(path.join(process.env['TMPDIR'] ?? '/tmp', 'term2-test-worker-shell-yellow-no-'));
933
+ t.teardown(() => fs.rmSync(tmpDir, { recursive: true, force: true }));
934
+ let shellResult = null;
935
+ let chatCalls = 0;
936
+ registerProvider({
937
+ id: 'mock-worker-shell-yellow-rejected-provider',
938
+ label: 'Mock Worker Shell Yellow Rejected Provider',
939
+ createRunner: () => ({
940
+ run: async (agent) => {
941
+ const shellTool = agent.tools.find((tool) => tool.name === 'shell');
942
+ shellResult = await shellTool.invoke({}, JSON.stringify({ command: 'npm run test:verbose -- --help' }), {});
943
+ return {
944
+ status: 'completed',
945
+ finalOutput: 'done',
946
+ history: [],
947
+ messages: [],
948
+ };
949
+ },
950
+ }),
951
+ fetchModels: async () => [{ id: 'mock-model' }],
952
+ });
953
+ const manager = new SubagentManager({
954
+ logger: createMockLogger(),
955
+ settings: createMockSettings({
956
+ 'agent.model': 'mock-model',
957
+ 'agent.provider': 'mock-worker-shell-yellow-rejected-provider',
958
+ 'shell.autoApproveMode': 'auto',
959
+ 'agent.autoApproveModel': 'mock-auto-approve-model',
960
+ 'agent.autoApproveProvider': 'mock-worker-shell-yellow-rejected-provider',
961
+ }),
962
+ agentClient: {
963
+ chat: async () => {
964
+ chatCalls++;
965
+ return '{"results":[{"approved":false,"reasoning":"Not safe."}]}';
966
+ },
967
+ },
968
+ executionContext: {
969
+ getCwd: () => tmpDir,
970
+ isRemote: () => false,
971
+ getSSHService: () => undefined,
972
+ },
973
+ });
974
+ await manager.run({ role: 'worker', task: 'run help for tests' });
975
+ t.is(chatCalls, 1);
976
+ t.truthy(shellResult);
977
+ t.true(shellResult.includes('blocked for safety'), 'rejected YELLOW command should stay blocked');
978
+ });
690
979
  //# sourceMappingURL=subagent-manager.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"subagent-manager.test.js","sourceRoot":"","sources":["../../../source/services/subagents/subagent-manager.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"subagent-manager.test.js","sourceRoot":"","sources":["../../../source/services/subagents/subagent-manager.test.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,KAAK,CAAC;AACvB,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAI/D,uCAAuC;AAEvC,SAAS,gBAAgB;IACvB,OAAO;QACL,KAAK,EAAE,GAAG,EAAE,GAAE,CAAC;QACf,IAAI,EAAE,GAAG,EAAE,GAAE,CAAC;QACd,IAAI,EAAE,GAAG,EAAE,GAAE,CAAC;QACd,KAAK,EAAE,GAAG,EAAE,GAAE,CAAC;QACf,QAAQ,EAAE,GAAG,EAAE,GAAE,CAAC;QAClB,gBAAgB,EAAE,GAAG,EAAE,GAAE,CAAC;QAC1B,kBAAkB,EAAE,GAAG,EAAE,GAAE,CAAC;QAC5B,gBAAgB,EAAE,GAAG,EAAE,CAAC,SAAS;QACjC,GAAG,EAAE,GAAG,EAAE,GAAE,CAAC;KACP,CAAC;AACX,CAAC;AAED,SAAS,kBAAkB,CAAC,SAA8B,EAAE;IAC1D,MAAM,KAAK,GAAwB,EAAE,GAAG,MAAM,EAAE,CAAC;IACjD,OAAO;QACL,GAAG,EAAE,CAAI,GAAW,EAAE,EAAE,CAAC,KAAK,CAAC,GAAG,CAAM;QACxC,GAAG,EAAE,CAAC,GAAW,EAAE,KAAU,EAAE,EAAE;YAC/B,KAAK,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;QACrB,CAAC;KACF,CAAC;AACJ,CAAC;AAED,uCAAuC;AAEvC,IAAI,wBAAwB,GAAU,EAAE,CAAC;AACzC,IAAI,4BAA4B,GAAG,CAAC,CAAC;AACrC,IAAI,+BAA+B,GAAG,KAAK,CAAC;AAE5C,SAAS,qCAAqC;IAC5C,IAAI,CAAC,+BAA+B,EAAE,CAAC;QACrC,gBAAgB,CAAC;YACf,EAAE,EAAE,qBAAqB;YACzB,KAAK,EAAE,qBAAqB;YAC5B,YAAY,EAAE,GAAG,EAAE,CACjB,CAAC;gBACC,GAAG,EAAE,KAAK,EAAE,MAAW,EAAE,MAAW,EAAE,QAAa,EAAE,EAAE;oBACrD,wBAAwB,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;oBACnF,4BAA4B,EAAE,CAAC;oBAC/B,OAAO;wBACL,MAAM,EAAE,WAAW;wBACnB,WAAW,EAAE,mBAAmB,4BAA4B,EAAE;wBAC9D,UAAU,EAAE,QAAQ,4BAA4B,EAAE;wBAClD,OAAO,EAAE,EAAE;wBACX,QAAQ,EAAE,EAAE;qBACb,CAAC;gBACJ,CAAC;aACM,CAAA;YACX,WAAW,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,YAAY,EAAE,CAAC;SAChD,CAAC,CAAC;QACH,+BAA+B,GAAG,IAAI,CAAC;IACzC,CAAC;AACH,CAAC;AAED,IAAI,iCAAiC,GAAG,KAAK,CAAC;AAC9C,IAAI,mBAAmB,GAAU,EAAE,CAAC;AAEpC,SAAS,gCAAgC;IACvC,IAAI,CAAC,iCAAiC,EAAE,CAAC;QACvC,gBAAgB,CAAC;YACf,EAAE,EAAE,wBAAwB;YAC5B,KAAK,EAAE,wBAAwB;YAC/B,YAAY,EAAE,GAAG,EAAE,CACjB,CAAC;gBACC,GAAG,EAAE,KAAK,EAAE,MAAW,EAAE,KAAU,EAAE,OAAY,EAAE,EAAE;oBACnD,mBAAmB,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC;oBAC5D,OAAO;wBACL,MAAM,EAAE,WAAW;wBACnB,WAAW,EAAE,2BAA2B;wBACxC,OAAO,EAAE,EAAE;wBACX,QAAQ,EAAE,EAAE;qBACb,CAAC;gBACJ,CAAC;aACM,CAAA;YACX,WAAW,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,YAAY,EAAE,CAAC;SAChD,CAAC,CAAC;QACH,iCAAiC,GAAG,IAAI,CAAC;IAC3C,CAAC;AACH,CAAC;AAED,IAAI,CAAC,UAAU,CAAC,GAAG,EAAE;IACnB,wBAAwB,GAAG,EAAE,CAAC;IAC9B,4BAA4B,GAAG,CAAC,CAAC;IACjC,mBAAmB,GAAG,EAAE,CAAC;IACzB,qCAAqC,EAAE,CAAC;IACxC,gCAAgC,EAAE,CAAC;AACrC,CAAC,CAAC,CAAC;AAEH,gDAAgD;AAEhD,IAAI,CAAC,MAAM,CAAC,8CAA8C,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;IACtE,MAAM,QAAQ,GAAG,kBAAkB,CAAC;QAClC,aAAa,EAAE,YAAY;QAC3B,gBAAgB,EAAE,qBAAqB;KACxC,CAAC,CAAC;IACH,MAAM,OAAO,GAAG,IAAI,eAAe,CAAC,EAAE,MAAM,EAAE,gBAAgB,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAC;IAE9E,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE,sBAAsB,EAAE,IAAI,EAAE,cAAc,EAAE,CAAC,CAAC;IAEzF,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IAC9B,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IACvB,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,KAAM,CAAC,QAAQ,CAAC,sBAAsB,CAAC,CAAC,CAAC;AACzD,CAAC,CAAC,CAAC;AAEH,oCAAoC;AAEpC,IAAI,CAAC,MAAM,CAAC,iDAAiD,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;IACzE,MAAM,QAAQ,GAAG,kBAAkB,CAAC;QAClC,aAAa,EAAE,YAAY;QAC3B,gBAAgB,EAAE,qBAAqB;QACvC,mBAAmB,EAAE,cAAc;QACnC,sBAAsB,EAAE,qBAAqB;KAC9C,CAAC,CAAC;IACH,MAAM,OAAO,GAAG,IAAI,eAAe,CAAC,EAAE,MAAM,EAAE,gBAAgB,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAC;IAE9E,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC,CAAC;IAExE,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;IACjC,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;IAC5B,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAC,CAAC;IACrD,CAAC,CAAC,EAAE,CAAC,wBAAwB,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;IACzC,CAAC,CAAC,EAAE,CAAC,wBAAwB,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,EAAE,cAAc,CAAC,CAAC;AAChE,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,MAAM,CAAC,0DAA0D,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;IAClF,MAAM,QAAQ,GAAG,kBAAkB,CAAC;QAClC,aAAa,EAAE,YAAY;QAC3B,gBAAgB,EAAE,qBAAqB;KACxC,CAAC,CAAC;IACH,MAAM,OAAO,GAAG,IAAI,eAAe,CAAC,EAAE,MAAM,EAAE,gBAAgB,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAC;IAE9E,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC,CAAC;IAExE,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IAC9B,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,KAAM,CAAC,QAAQ,CAAC,gCAAgC,CAAC,CAAC,CAAC;AACnE,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,MAAM,CAAC,0DAA0D,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;IAClF,MAAM,QAAQ,GAAG,kBAAkB,CAAC;QAClC,aAAa,EAAE,YAAY;QAC3B,gBAAgB,EAAE,qBAAqB;QACvC,mBAAmB,EAAE,cAAc;QACnC,sBAAsB,EAAE,qBAAqB;KAC9C,CAAC,CAAC;IACH,MAAM,OAAO,GAAG,IAAI,eAAe,CAAC,EAAE,MAAM,EAAE,gBAAgB,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAC;IAE9E,MAAM,OAAO,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,gBAAgB,EAAE,CAAC,CAAC;IAC9D,MAAM,OAAO,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,iBAAiB,EAAE,CAAC,CAAC;IAE/D,CAAC,CAAC,EAAE,CAAC,wBAAwB,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;IACzC,iEAAiE;IACjE,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,wBAAwB,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;IACzD,CAAC,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;AACvD,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,MAAM,CAAC,kDAAkD,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;IAC1E,MAAM,QAAQ,GAAG,kBAAkB,CAAC;QAClC,aAAa,EAAE,YAAY;QAC3B,gBAAgB,EAAE,qBAAqB;QACvC,mBAAmB,EAAE,cAAc;QACnC,sBAAsB,EAAE,qBAAqB;KAC9C,CAAC,CAAC;IACH,MAAM,OAAO,GAAG,IAAI,eAAe,CAAC,EAAE,MAAM,EAAE,gBAAgB,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAC;IAE9E,MAAM,OAAO,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,gBAAgB,EAAE,CAAC,CAAC;IAC9D,CAAC,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC;IAEtD,OAAO,CAAC,kBAAkB,EAAE,CAAC;IAE7B,MAAM,OAAO,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,gBAAgB,EAAE,CAAC,CAAC;IAC9D,oEAAoE;IACpE,CAAC,CAAC,EAAE,CAAC,wBAAwB,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;AACpD,CAAC,CAAC,CAAC;AAEH,sCAAsC;AAEtC,IAAI,CAAC,MAAM,CAAC,iDAAiD,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;IACzE,MAAM,QAAQ,GAAG,kBAAkB,CAAC;QAClC,aAAa,EAAE,YAAY;QAC3B,gBAAgB,EAAE,wBAAwB;KAC3C,CAAC,CAAC;IACH,MAAM,OAAO,GAAG,IAAI,eAAe,CAAC,EAAE,MAAM,EAAE,gBAAgB,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAC;IAE9E,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,2BAA2B,EAAE,CAAC,CAAC;IAE1F,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;IACjC,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;IAC9B,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IACzB,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,YAAY,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;IACpC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;AAC7B,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,MAAM,CAAC,kEAAkE,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;IAC1F,MAAM,QAAQ,GAAG,kBAAkB,CAAC;QAClC,aAAa,EAAE,YAAY;QAC3B,gBAAgB,EAAE,wBAAwB;KAC3C,CAAC,CAAC;IACH,MAAM,OAAO,GAAG,IAAI,eAAe,CAAC,EAAE,MAAM,EAAE,gBAAgB,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAC;IAC9E,MAAM,eAAe,GAAG,IAAI,eAAe,EAAE,CAAC;IAE9C,MAAM,OAAO,CAAC,GAAG,CAAC;QAChB,IAAI,EAAE,UAAU;QAChB,IAAI,EAAE,2BAA2B;QACjC,MAAM,EAAE,eAAe,CAAC,MAAM;KAC/B,CAAC,CAAC;IAEH,CAAC,CAAC,EAAE,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,eAAe,CAAC,MAAM,CAAC,CAAC;AACtE,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,MAAM,CAAC,sEAAsE,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;IAC9F,gBAAgB,CAAC;QACf,EAAE,EAAE,gCAAgC;QACpC,KAAK,EAAE,gCAAgC;QACvC,YAAY,EAAE,GAAG,EAAE,CACjB,CAAC;YACC,GAAG,EAAE,KAAK,EAAE,MAAW,EAAE,MAAW,EAAE,OAAiC,EAAE,EAAE,CACzE,IAAI,OAAO,CAAC,CAAC,QAAQ,EAAE,MAAM,EAAE,EAAE;gBAC/B,MAAM,WAAW,GAAG,GAAG,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,uBAAuB,CAAC,EAAE,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,CAAC;gBAC5G,IAAI,OAAO,CAAC,MAAM,EAAE,OAAO,EAAE,CAAC;oBAC5B,WAAW,EAAE,CAAC;oBACd,OAAO;gBACT,CAAC;gBACD,OAAO,CAAC,MAAM,EAAE,gBAAgB,CAAC,OAAO,EAAE,WAAW,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;YACzE,CAAC,CAAC;SACG,CAAA;QACX,WAAW,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,YAAY,EAAE,CAAC;KAChD,CAAC,CAAC;IAEH,MAAM,QAAQ,GAAG,kBAAkB,CAAC;QAClC,aAAa,EAAE,YAAY;QAC3B,gBAAgB,EAAE,gCAAgC;KACnD,CAAC,CAAC;IACH,MAAM,OAAO,GAAG,IAAI,eAAe,CAAC,EAAE,MAAM,EAAE,gBAAgB,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAC;IAC9E,MAAM,eAAe,GAAG,IAAI,eAAe,EAAE,CAAC;IAC9C,MAAM,aAAa,GAAG,OAAO,CAAC,GAAG,CAAC;QAChC,IAAI,EAAE,UAAU;QAChB,IAAI,EAAE,2BAA2B;QACjC,MAAM,EAAE,eAAe,CAAC,MAAM;KAC/B,CAAC,CAAC;IAEH,cAAc,CAAC,GAAG,EAAE,CAAC,eAAe,CAAC,KAAK,EAAE,CAAC,CAAC;IAC9C,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC;IAEnC,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;IACjC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,SAAS,CAAC,IAAI,KAAK,CAAC,CAAC;AACrD,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,MAAM,CAAC,oDAAoD,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;IAC5E,MAAM,QAAQ,GAAG,kBAAkB,CAAC;QAClC,aAAa,EAAE,YAAY;QAC3B,gBAAgB,EAAE,wBAAwB;KAC3C,CAAC,CAAC;IACH,MAAM,OAAO,GAAG,IAAI,eAAe,CAAC,EAAE,MAAM,EAAE,gBAAgB,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAC;IAE9E,MAAM,OAAO,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC;IAE5D,CAAC,CAAC,EAAE,CAAC,mBAAmB,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;IACpC,MAAM,KAAK,GAAG,mBAAmB,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;IAC3C,MAAM,SAAS,GAAa,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;IAEhE,kCAAkC;IAClC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC;IACxC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC;IACnC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,CAAC;IAEzC,uCAAuC;IACvC,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,CAAC;IAC3C,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC,CAAC;IAC9C,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,CAAC;IAE3C,gDAAgD;IAChD,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,CAAC;IAC1C,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC;IACzC,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC;AACvC,CAAC,CAAC,CAAC;AAEH,wCAAwC;AAExC,IAAI,qBAAqB,GAAU,EAAE,CAAC;AACtC,IAAI,4BAA4B,GAAG,KAAK,CAAC;AAEzC,SAAS,kCAAkC;IACzC,IAAI,CAAC,4BAA4B,EAAE,CAAC;QAClC,gBAAgB,CAAC;YACf,EAAE,EAAE,0BAA0B;YAC9B,KAAK,EAAE,0BAA0B;YACjC,YAAY,EAAE,GAAG,EAAE,CACjB,CAAC;gBACC,GAAG,EAAE,KAAK,EAAE,MAAW,EAAE,MAAW,EAAE,QAAa,EAAE,EAAE;oBACrD,qBAAqB,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;oBAC9C,OAAO;wBACL,MAAM,EAAE,WAAW;wBACnB,WAAW,EAAE,oBAAoB;wBACjC,OAAO,EAAE,EAAE;wBACX,QAAQ,EAAE,EAAE;qBACb,CAAC;gBACJ,CAAC;aACM,CAAA;YACX,WAAW,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,YAAY,EAAE,CAAC;SAChD,CAAC,CAAC;QACH,4BAA4B,GAAG,IAAI,CAAC;IACtC,CAAC;AACH,CAAC;AAED,IAAI,CAAC,UAAU,CAAC,GAAG,EAAE;IACnB,qBAAqB,GAAG,EAAE,CAAC;IAC3B,kCAAkC,EAAE,CAAC;AACvC,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,MAAM,CAAC,+CAA+C,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;IACvE,MAAM,QAAQ,GAAG,kBAAkB,CAAC;QAClC,aAAa,EAAE,YAAY;QAC3B,gBAAgB,EAAE,0BAA0B;KAC7C,CAAC,CAAC;IACH,MAAM,OAAO,GAAG,IAAI,eAAe,CAAC,EAAE,MAAM,EAAE,gBAAgB,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAC;IAE9E,MAAM,OAAO,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,uCAAuC,EAAE,CAAC,CAAC;IAEzF,CAAC,CAAC,EAAE,CAAC,qBAAqB,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;IACtC,MAAM,KAAK,GAAG,qBAAqB,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;IAC7C,MAAM,SAAS,GAAa,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;IAEhE,4CAA4C;IAC5C,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC;IACxC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,CAAC;IACzC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC;IAExC,sBAAsB;IACtB,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,CAAC;AAC7C,CAAC,CAAC,CAAC;AAEH,oCAAoC;AAEpC,IAAI,iBAAiB,GAAU,EAAE,CAAC;AAClC,IAAI,wBAAwB,GAAG,KAAK,CAAC;AAErC,SAAS,8BAA8B;IACrC,IAAI,CAAC,wBAAwB,EAAE,CAAC;QAC9B,gBAAgB,CAAC;YACf,EAAE,EAAE,sBAAsB;YAC1B,KAAK,EAAE,sBAAsB;YAC7B,YAAY,EAAE,GAAG,EAAE,CACjB,CAAC;gBACC,GAAG,EAAE,KAAK,EAAE,MAAW,EAAE,MAAW,EAAE,QAAa,EAAE,EAAE;oBACrD,iBAAiB,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;oBAC1C,OAAO;wBACL,MAAM,EAAE,WAAW;wBACnB,WAAW,EAAE,kBAAkB;wBAC/B,OAAO,EAAE,EAAE;wBACX,QAAQ,EAAE,EAAE;qBACb,CAAC;gBACJ,CAAC;aACM,CAAA;YACX,WAAW,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,YAAY,EAAE,CAAC;SAChD,CAAC,CAAC;QACH,wBAAwB,GAAG,IAAI,CAAC;IAClC,CAAC;AACH,CAAC;AAED,IAAI,CAAC,UAAU,CAAC,GAAG,EAAE;IACnB,iBAAiB,GAAG,EAAE,CAAC;IACvB,8BAA8B,EAAE,CAAC;AACnC,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,MAAM,CAAC,yEAAyE,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;IACjG,MAAM,QAAQ,GAAG,kBAAkB,CAAC;QAClC,aAAa,EAAE,YAAY;QAC3B,gBAAgB,EAAE,sBAAsB;KACzC,CAAC,CAAC;IACH,MAAM,OAAO,GAAG,IAAI,eAAe,CAAC,EAAE,MAAM,EAAE,gBAAgB,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAC;IAE9E,MAAM,OAAO,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,2BAA2B,EAAE,CAAC,CAAC;IAEzE,CAAC,CAAC,EAAE,CAAC,iBAAiB,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;IAClC,MAAM,KAAK,GAAG,iBAAiB,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;IACzC,MAAM,SAAS,GAAa,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;IAEhE,0DAA0D;IAC1D,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC;IACxC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC,CAAC;IAC7C,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,CAAC;IAC1C,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC;IAEpC,2CAA2C;IAC3C,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,CAAC;IAC3C,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,CAAC;AAC5C,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,MAAM,CAAC,qEAAqE,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;IAC7F,MAAM,QAAQ,GAAG,kBAAkB,CAAC;QAClC,aAAa,EAAE,OAAO;QACtB,gBAAgB,EAAE,sBAAsB;KACzC,CAAC,CAAC;IACH,MAAM,OAAO,GAAG,IAAI,eAAe,CAAC,EAAE,MAAM,EAAE,gBAAgB,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAC;IAE9E,MAAM,OAAO,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,2BAA2B,EAAE,CAAC,CAAC;IAEzE,CAAC,CAAC,EAAE,CAAC,iBAAiB,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;IAClC,MAAM,KAAK,GAAG,iBAAiB,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;IACzC,MAAM,SAAS,GAAa,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;IAEhE,oEAAoE;IACpE,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC;IACxC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,CAAC;IAC1C,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC;IAEpC,4DAA4D;IAC5D,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC,CAAC;IAC9C,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,CAAC;IAC3C,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,CAAC;AAC5C,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,MAAM,CAAC,gDAAgD,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;IACxE,MAAM,QAAQ,GAAG,kBAAkB,CAAC;QAClC,aAAa,EAAE,YAAY;QAC3B,gBAAgB,EAAE,sBAAsB;KACzC,CAAC,CAAC;IACH,MAAM,OAAO,GAAG,IAAI,eAAe,CAAC,EAAE,MAAM,EAAE,gBAAgB,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAC;IAE9E,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,cAAc,EAAE,CAAC,CAAC;IAE3E,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;IAC5B,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IACzB,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IAClC,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,YAAY,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;IACpC,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;AACnC,CAAC,CAAC,CAAC;AAEH,mDAAmD;AAEnD,IAAI,mBAAmB,GAAU,EAAE,CAAC;AACpC,IAAI,wBAAwB,GAAG,KAAK,CAAC;AAErC,SAAS,sCAAsC;IAC7C,IAAI,CAAC,wBAAwB,EAAE,CAAC;QAC9B,gBAAgB,CAAC;YACf,EAAE,EAAE,sBAAsB;YAC1B,KAAK,EAAE,sBAAsB;YAC7B,YAAY,EAAE,GAAG,EAAE,CACjB,CAAC;gBACC,GAAG,EAAE,KAAK,EAAE,MAAW,EAAE,MAAW,EAAE,QAAa,EAAE,EAAE;oBACrD,mBAAmB,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;oBAC5C,OAAO;wBACL,MAAM,EAAE,WAAW;wBACnB,WAAW,EAAE,OAAO;wBACpB,OAAO,EAAE,EAAE;wBACX,QAAQ,EAAE,EAAE;qBACb,CAAC;gBACJ,CAAC;aACM,CAAA;YACX,WAAW,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,YAAY,EAAE,CAAC;SAChD,CAAC,CAAC;QACH,wBAAwB,GAAG,IAAI,CAAC;IAClC,CAAC;AACH,CAAC;AAED,IAAI,CAAC,UAAU,CAAC,GAAG,EAAE;IACnB,mBAAmB,GAAG,EAAE,CAAC;IACzB,sCAAsC,EAAE,CAAC;AAC3C,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,MAAM,CAAC,uDAAuD,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;IAC/E,MAAM,MAAM,GAAG,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,sBAAsB,CAAC,CAAC,CAAC;IACzE,CAAC,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,MAAM,CAAC,MAAM,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;IAEtE,MAAM,oBAAoB,GAAG;QAC3B,MAAM,EAAE,GAAG,EAAE,CAAC,MAAM;QACpB,QAAQ,EAAE,GAAG,EAAE,CAAC,KAAK;QACrB,aAAa,EAAE,GAAG,EAAE,CAAC,SAAS;KACA,CAAC;IAEjC,6CAA6C;IAC7C,MAAM,WAAW,GAAG,kBAAkB,CAAC;QACrC,aAAa,EAAE,OAAO;QACtB,gBAAgB,EAAE,sBAAsB;KACzC,CAAC,CAAC;IACH,MAAM,UAAU,GAAG,IAAI,eAAe,CAAC;QACrC,MAAM,EAAE,gBAAgB,EAAE;QAC1B,QAAQ,EAAE,WAAW;QACrB,gBAAgB,EAAE,oBAAoB;KACvC,CAAC,CAAC;IAEH,MAAM,UAAU,CAAC,GAAG,CAAC;QACnB,IAAI,EAAE,QAAQ;QACd,IAAI,EAAE,eAAe;QACrB,aAAa,EAAE,CAAC,GAAG,CAAC;KACrB,CAAC,CAAC;IAEH,CAAC,CAAC,EAAE,CAAC,mBAAmB,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;IACpC,MAAM,QAAQ,GAAG,mBAAmB,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;IAC9C,MAAM,UAAU,GAAG,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,aAAa,CAAC,CAAC;IAC7E,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;IACrB,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,gBAAgB,CAAC,CAAC,CAAC;IAEtE,uFAAuF;IACvF,MAAM,YAAY,GAAG,MAAM,UAAU,CAAC,MAAM,CAC1C,EAAE,EACF,IAAI,CAAC,SAAS,CAAC;QACb,IAAI,EAAE,aAAa;QACnB,IAAI,EAAE,YAAY;QAClB,IAAI,EAAE,UAAU;KACjB,CAAC,EACF,EAAE,CACH,CAAC;IACF,MAAM,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;IAC9C,MAAM,WAAW,GAAuB,YAAY,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC;IACzE,CAAC,CAAC,IAAI,CAAC,CAAC,WAAW,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,oCAAoC,CAAC,CAAC,CAAC;IAEpF,6DAA6D;IAC7D,MAAM,aAAa,GAAG,MAAM,UAAU,CAAC,MAAM,CAC3C,EAAE,EACF,IAAI,CAAC,SAAS,CAAC;QACb,IAAI,EAAE,aAAa;QACnB,IAAI,EAAE,oBAAoB;QAC1B,IAAI,EAAE,UAAU;KACjB,CAAC,EACF,EAAE,CACH,CAAC;IACF,MAAM,aAAa,GAAG,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;IAChD,CAAC,CAAC,IAAI,CAAC,aAAa,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,QAAQ,CAAC,oCAAoC,CAAC,CAAC,CAAC;IAC1F,CAAC,CAAC,KAAK,CAAC,aAAa,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO,IAAI,IAAI,CAAC,CAAC;IAErD,MAAM,oBAAoB,GAAG,MAAM,UAAU,CAAC,aAAa,CACzD,EAAE,EACF;QACE,IAAI,EAAE,aAAa;QACnB,IAAI,EAAE,oBAAoB;QAC1B,IAAI,EAAE,UAAU;KACjB,CACF,CAAC;IACF,CAAC,CAAC,EAAE,CAAC,oBAAoB,EAAE,KAAK,CAAC,CAAC;IAElC,kDAAkD;IAClD,MAAM,cAAc,GAAG,kBAAkB,CAAC;QACxC,aAAa,EAAE,YAAY;QAC3B,gBAAgB,EAAE,sBAAsB;KACzC,CAAC,CAAC;IACH,MAAM,aAAa,GAAG,IAAI,eAAe,CAAC;QACxC,MAAM,EAAE,gBAAgB,EAAE;QAC1B,QAAQ,EAAE,cAAc;QACxB,gBAAgB,EAAE,oBAAoB;KACvC,CAAC,CAAC;IAEH,mBAAmB,GAAG,EAAE,CAAC,CAAC,cAAc;IACxC,MAAM,aAAa,CAAC,GAAG,CAAC;QACtB,IAAI,EAAE,QAAQ;QACd,IAAI,EAAE,eAAe;QACrB,aAAa,EAAE,CAAC,GAAG,CAAC;KACrB,CAAC,CAAC;IAEH,CAAC,CAAC,EAAE,CAAC,mBAAmB,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;IACpC,MAAM,WAAW,GAAG,mBAAmB,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;IACjD,MAAM,aAAa,GAAG,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,gBAAgB,CAAC,CAAC;IACtF,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;IACxB,CAAC,CAAC,KAAK,CAAC,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,aAAa,CAAC,CAAC,CAAC;IAEtE,MAAM,kBAAkB,GAAG,MAAM,aAAa,CAAC,MAAM,CACnD,EAAE,EACF,IAAI,CAAC,SAAS,CAAC;QACb,IAAI,EAAE,eAAe;QACrB,YAAY,EAAE;YACZ;gBACE,cAAc,EAAE,EAAE;gBAClB,eAAe,EAAE,IAAI;aACtB;SACF;KACF,CAAC,EACF,EAAE,CACH,CAAC;IACF,MAAM,kBAAkB,GAAG,IAAI,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC;IAC1D,CAAC,CAAC,IAAI,CAAC,kBAAkB,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,QAAQ,CAAC,oCAAoC,CAAC,CAAC,CAAC;IAC/F,CAAC,CAAC,KAAK,CAAC,kBAAkB,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO,IAAI,IAAI,CAAC,CAAC;AAC5D,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,MAAM,CAAC,mEAAmE,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;IAC3F,MAAM,MAAM,GAAG,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,6BAA6B,CAAC,CAAC,CAAC;IAChF,CAAC,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,MAAM,CAAC,MAAM,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;IAEtE,MAAM,oBAAoB,GAAG;QAC3B,MAAM,EAAE,GAAG,EAAE,CAAC,MAAM;QACpB,QAAQ,EAAE,GAAG,EAAE,CAAC,KAAK;QACrB,aAAa,EAAE,GAAG,EAAE,CAAC,SAAS;KACA,CAAC;IAEjC,MAAM,QAAQ,GAAG,kBAAkB,CAAC;QAClC,aAAa,EAAE,YAAY;QAC3B,gBAAgB,EAAE,sBAAsB;QACxC,cAAc,EAAE,KAAK;KACtB,CAAC,CAAC;IACH,MAAM,OAAO,GAAG,IAAI,eAAe,CAAC;QAClC,MAAM,EAAE,gBAAgB,EAAE;QAC1B,QAAQ;QACR,gBAAgB,EAAE,oBAAoB;KACvC,CAAC,CAAC;IAEH,MAAM,OAAO,CAAC,GAAG,CAAC;QAChB,IAAI,EAAE,QAAQ;QACd,IAAI,EAAE,cAAc;QACpB,aAAa,EAAE,CAAC,GAAG,CAAC;KACrB,CAAC,CAAC;IAEH,CAAC,CAAC,EAAE,CAAC,mBAAmB,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;IACpC,MAAM,KAAK,GAAG,mBAAmB,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;IAC3C,MAAM,UAAU,GAAG,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAS,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,aAAa,CAAC,CAAC;IAChF,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;IAErB,2EAA2E;IAC3E,4EAA4E;IAC5E,kFAAkF;IAClF,8CAA8C;IAC9C,MAAM,uBAAuB,GAAG,MAAM,UAAU,CAAC,aAAa,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC;IACnG,CAAC,CAAC,EAAE,CAAC,uBAAuB,EAAE,KAAK,CAAC,CAAC;IAErC,sEAAsE;IACtE,mDAAmD;IACnD,MAAM,wBAAwB,GAAG,MAAM,UAAU,CAAC,aAAa,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC;IAC5G,CAAC,CAAC,EAAE,CAAC,wBAAwB,EAAE,KAAK,CAAC,CAAC;AACxC,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,MAAM,CAAC,0EAA0E,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;IAClG,MAAM,MAAM,GAAG,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,qCAAqC,CAAC,CAAC,CAAC;IACxF,CAAC,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,MAAM,CAAC,MAAM,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;IAEtE,MAAM,oBAAoB,GAAG;QAC3B,MAAM,EAAE,GAAG,EAAE,CAAC,MAAM;QACpB,QAAQ,EAAE,GAAG,EAAE,CAAC,KAAK;QACrB,aAAa,EAAE,GAAG,EAAE,CAAC,SAAS;KACA,CAAC;IAEjC,MAAM,QAAQ,GAAG,kBAAkB,CAAC;QAClC,aAAa,EAAE,YAAY;QAC3B,gBAAgB,EAAE,sBAAsB;KACzC,CAAC,CAAC;IACH,MAAM,OAAO,GAAG,IAAI,eAAe,CAAC;QAClC,MAAM,EAAE,gBAAgB,EAAE;QAC1B,QAAQ;QACR,gBAAgB,EAAE,oBAAoB;KACvC,CAAC,CAAC;IAEH,6DAA6D;IAC7D,MAAM,OAAO,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,eAAe,EAAE,CAAC,CAAC;IAE7D,MAAM,KAAK,GAAG,mBAAmB,CAAC,mBAAmB,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC;IACxE,MAAM,UAAU,GAAG,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAS,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,aAAa,CAAC,CAAC;IAChF,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;IAErB,MAAM,aAAa,GAAG,MAAM,UAAU,CAAC,MAAM,CAAC,EAAE,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,eAAe,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;IAC/G,MAAM,aAAa,GAAG,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;IAChD,CAAC,CAAC,IAAI,CAAC,aAAa,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,QAAQ,CAAC,oCAAoC,CAAC,CAAC,CAAC;IAC1F,CAAC,CAAC,KAAK,CAAC,aAAa,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO,IAAI,IAAI,CAAC,CAAC;AACvD,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,MAAM,CAAC,wEAAwE,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;IAChG,MAAM,MAAM,GAAG,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,kCAAkC,CAAC,CAAC,CAAC;IACrF,CAAC,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,MAAM,CAAC,MAAM,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;IAEtE,gBAAgB,CAAC;QACf,EAAE,EAAE,oCAAoC;QACxC,KAAK,EAAE,oCAAoC;QAC3C,YAAY,EAAE,GAAG,EAAE,CACjB,CAAC;YACC,GAAG,EAAE,KAAK,EAAE,KAAU,EAAE,EAAE;gBACxB,MAAM,UAAU,GAAG,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAS,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,aAAa,CAAC,CAAC;gBAChF,MAAM,aAAa,GAAG,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAS,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,gBAAgB,CAAC,CAAC;gBAEtF,IAAI,UAAU,EAAE,CAAC;oBACf,MAAM,UAAU,CAAC,MAAM,CACrB,EAAE,EACF,IAAI,CAAC,SAAS,CAAC;wBACb,UAAU,EAAE;4BACV,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE;4BACxD,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,UAAU,EAAE;yBAC/D;qBACF,CAAC,EACF,EAAE,CACH,CAAC;gBACJ,CAAC;gBAED,IAAI,aAAa,EAAE,CAAC;oBAClB,MAAM,aAAa,CAAC,MAAM,CACxB,EAAE,EACF,IAAI,CAAC,SAAS,CAAC;wBACb,IAAI,EAAE,OAAO;wBACb,YAAY,EAAE,CAAC,EAAE,cAAc,EAAE,EAAE,EAAE,eAAe,EAAE,SAAS,EAAE,CAAC;qBACnE,CAAC,EACF,EAAE,CACH,CAAC;oBACF,MAAM,aAAa,CAAC,MAAM,CACxB,EAAE,EACF,IAAI,CAAC,SAAS,CAAC;wBACb,IAAI,EAAE,cAAc;wBACpB,YAAY,EAAE,CAAC,EAAE,cAAc,EAAE,GAAG,EAAE,eAAe,EAAE,GAAG,EAAE,CAAC;qBAC9D,CAAC,EACF,EAAE,CACH,CAAC;gBACJ,CAAC;gBAED,OAAO;oBACL,MAAM,EAAE,WAAW;oBACnB,WAAW,EAAE,OAAO;oBACpB,OAAO,EAAE,EAAE;oBACX,QAAQ,EAAE,EAAE;iBACb,CAAC;YACJ,CAAC;SACM,CAAA;QACX,WAAW,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,YAAY,EAAE,CAAC;KAChD,CAAC,CAAC;IAEH,+CAA+C;IAC/C,MAAM,UAAU,GAAG,IAAI,eAAe,CAAC;QACrC,MAAM,EAAE,gBAAgB,EAAE;QAC1B,QAAQ,EAAE,kBAAkB,CAAC;YAC3B,aAAa,EAAE,OAAO;YACtB,gBAAgB,EAAE,oCAAoC;SACvD,CAAC;QACF,gBAAgB,EAAE;YAChB,MAAM,EAAE,GAAG,EAAE,CAAC,MAAM;YACpB,QAAQ,EAAE,GAAG,EAAE,CAAC,KAAK;YACrB,aAAa,EAAE,GAAG,EAAE,CAAC,SAAS;SACA;KACjC,CAAC,CAAC;IAEH,MAAM,SAAS,GAAG,MAAM,UAAU,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,iBAAiB,EAAE,CAAC,CAAC;IACpF,CAAC,CAAC,SAAS,CAAC,IAAI,GAAG,CAAC,SAAS,CAAC,YAAY,CAAC,EAAE,IAAI,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IAEjE,sDAAsD;IACtD,MAAM,aAAa,GAAG,IAAI,eAAe,CAAC;QACxC,MAAM,EAAE,gBAAgB,EAAE;QAC1B,QAAQ,EAAE,kBAAkB,CAAC;YAC3B,aAAa,EAAE,YAAY;YAC3B,gBAAgB,EAAE,oCAAoC;SACvD,CAAC;QACF,gBAAgB,EAAE;YAChB,MAAM,EAAE,GAAG,EAAE,CAAC,MAAM;YACpB,QAAQ,EAAE,GAAG,EAAE,CAAC,KAAK;YACrB,aAAa,EAAE,GAAG,EAAE,CAAC,SAAS;SACA;KACjC,CAAC,CAAC;IAEH,MAAM,YAAY,GAAG,MAAM,aAAa,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,iBAAiB,EAAE,CAAC,CAAC;IAC1F,CAAC,CAAC,SAAS,CAAC,IAAI,GAAG,CAAC,YAAY,CAAC,YAAY,CAAC,EAAE,IAAI,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;AACtE,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,MAAM,CAAC,gFAAgF,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;IACxG,MAAM,MAAM,GAAG,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,yBAAyB,CAAC,CAAC,CAAC;IAC5E,CAAC,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,MAAM,CAAC,MAAM,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;IAEtE,gBAAgB,CAAC;QACf,EAAE,EAAE,2BAA2B;QAC/B,KAAK,EAAE,2BAA2B;QAClC,YAAY,EAAE,GAAG,EAAE,CACjB,CAAC;YACC,GAAG,EAAE,KAAK,EAAE,KAAU,EAAE,EAAE;gBACxB,MAAM,UAAU,GAAG,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAS,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,aAAa,CAAC,CAAC;gBAEhF,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;oBACxC,UAAU,CAAC,MAAM,CACf,EAAE,EACF,IAAI,CAAC,SAAS,CAAC;wBACb,IAAI,EAAE,YAAY;wBAClB,OAAO,EAAE,KAAK;qBACf,CAAC,EACF,EAAE,CACH;oBACD,UAAU,CAAC,MAAM,CACf,EAAE,EACF,IAAI,CAAC,SAAS,CAAC;wBACb,IAAI,EAAE,YAAY;wBAClB,OAAO,EAAE,KAAK;qBACf,CAAC,EACF,EAAE,CACH;iBACF,CAAC,CAAC;gBAEH,OAAO;oBACL,MAAM,EAAE,WAAW;oBACnB,WAAW,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC;oBAC9C,OAAO,EAAE,EAAE;oBACX,QAAQ,EAAE,EAAE;iBACb,CAAC;YACJ,CAAC;SACM,CAAA;QACX,WAAW,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,YAAY,EAAE,CAAC;KAChD,CAAC,CAAC;IAEH,MAAM,OAAO,GAAG,IAAI,eAAe,CAAC;QAClC,MAAM,EAAE,gBAAgB,EAAE;QAC1B,QAAQ,EAAE,kBAAkB,CAAC;YAC3B,aAAa,EAAE,YAAY;YAC3B,gBAAgB,EAAE,2BAA2B;SAC9C,CAAC;QACF,gBAAgB,EAAE;YAChB,MAAM,EAAE,GAAG,EAAE,CAAC,MAAM;YACpB,QAAQ,EAAE,GAAG,EAAE,CAAC,KAAK;YACrB,aAAa,EAAE,GAAG,EAAE,CAAC,SAAS;SACA;KACjC,CAAC,CAAC;IAEH,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,mBAAmB,EAAE,CAAC,CAAC;IAChF,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;IAC5C,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IACvC,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAEzC,MAAM,SAAS,GAAG,CAAC,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC;SACnG,MAAM,CAAC,OAAO,CAAC;SACf,IAAI,CAAC,GAAG,CAAC,CAAC;IACb,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,wBAAwB,CAAC,CAAC,CAAC;AACvD,CAAC,CAAC,CAAC;AAEH,0CAA0C;AAE1C,IAAI,CAAC,MAAM,CAAC,wDAAwD,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;IAChF,MAAM,QAAQ,GAAG,kBAAkB,CAAC;QAClC,aAAa,EAAE,YAAY;QAC3B,gBAAgB,EAAE,wBAAwB;KAC3C,CAAC,CAAC;IACH,MAAM,OAAO,GAAG,IAAI,eAAe,CAAC,EAAE,MAAM,EAAE,gBAAgB,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAC;IAE9E,MAAM,CAAC,OAAO,EAAE,OAAO,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;QAC3C,OAAO,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;QACjD,OAAO,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;KAClD,CAAC,CAAC;IAEH,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;IAClC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;IAClC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;AAC1C,CAAC,CAAC,CAAC;AAEH,yCAAyC;AAEzC,IAAI,2BAA2B,GAAG,KAAK,CAAC;AAExC,SAAS,iCAAiC;IACxC,IAAI,CAAC,2BAA2B,EAAE,CAAC;QACjC,gBAAgB,CAAC;YACf,EAAE,EAAE,0BAA0B;YAC9B,KAAK,EAAE,0BAA0B;YACjC,YAAY,EAAE,GAAG,EAAE,CACjB,CAAC;gBACC,GAAG,EAAE,KAAK,EAAE,KAAU,EAAE,EAAE;oBACxB,MAAM,QAAQ,GAAG,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAS,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,WAAW,CAAC,CAAC;oBAC5E,IAAI,CAAC;wBACH,MAAM,QAAQ,CAAC,MAAM,CAAC,EAAE,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,kCAAkC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;oBAC9F,CAAC;oBAAC,MAAM,CAAC;wBACP,gEAAgE;wBAChE,6CAA6C;oBAC/C,CAAC;oBACD,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC;gBACjF,CAAC;aACM,CAAA;YACX,WAAW,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,YAAY,EAAE,CAAC;SAChD,CAAC,CAAC;QACH,2BAA2B,GAAG,IAAI,CAAC;IACrC,CAAC;AACH,CAAC;AAED,IAAI,CAAC,MAAM,CAAC,wDAAwD,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;IAChF,iCAAiC,EAAE,CAAC;IACpC,MAAM,QAAQ,GAAG,kBAAkB,CAAC;QAClC,aAAa,EAAE,YAAY;QAC3B,gBAAgB,EAAE,0BAA0B;KAC7C,CAAC,CAAC;IACH,MAAM,MAAM,GAAU,EAAE,CAAC;IACzB,MAAM,OAAO,GAAG,IAAI,eAAe,CAAC;QAClC,MAAM,EAAE,gBAAgB,EAAE;QAC1B,QAAQ;QACR,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC;KACvC,CAAC,CAAC;IAEH,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,iBAAiB,EAAE,CAAC,CAAC;IAEhF,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,kBAAkB,CAAC,CAAC;IAClE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAClB,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;IAC/B,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,iBAAiB,CAAC,CAAC;IACtC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,OAAO,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC;IAEtC,MAAM,WAAW,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,uBAAuB,CAAC,CAAC;IAC3E,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;IACtB,CAAC,CAAC,EAAE,CAAC,WAAW,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;IACxC,CAAC,CAAC,EAAE,CAAC,WAAW,CAAC,OAAO,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC;IAC1C,CAAC,CAAC,EAAE,CAAC,WAAW,CAAC,eAAe,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,8CAA8C,CAAC,CAAC;IAEhG,MAAM,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,oBAAoB,CAAC,CAAC;IACtE,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;IACpB,CAAC,CAAC,EAAE,CAAC,SAAS,CAAC,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC;AACjD,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,MAAM,CAAC,6DAA6D,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;IACrF,MAAM,QAAQ,GAAG,kBAAkB,CAAC,EAAE,aAAa,EAAE,YAAY,EAAE,CAAC,CAAC;IACrE,MAAM,MAAM,GAAU,EAAE,CAAC;IACzB,MAAM,OAAO,GAAG,IAAI,eAAe,CAAC;QAClC,MAAM,EAAE,gBAAgB,EAAE;QAC1B,QAAQ;QACR,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC;KACvC,CAAC,CAAC;IAEH,MAAM,OAAO,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE,uBAAuB,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,CAAC;IAEhE,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,kBAAkB,CAAC,CAAC,CAAC;IAC5D,MAAM,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,oBAAoB,CAAC,CAAC;IACtE,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;IACpB,CAAC,CAAC,EAAE,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;AAC1C,CAAC,CAAC,CAAC;AAEH,qEAAqE;AAErE,IAAI,CAAC,MAAM,CAAC,6DAA6D,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;IACrF,MAAM,QAAQ,GAAG,kBAAkB,CAAC;QAClC,aAAa,EAAE,YAAY;QAC3B,gBAAgB,EAAE,qBAAqB;QACvC,mBAAmB,EAAE,cAAc;QACnC,sBAAsB,EAAE,qBAAqB;QAC7C,gBAAgB,EAAE,KAAK;KACxB,CAAC,CAAC;IACH,MAAM,OAAO,GAAG,IAAI,eAAe,CAAC,EAAE,MAAM,EAAE,gBAAgB,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAC;IAE9E,MAAM,OAAO,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC,CAAC;IAEzD,CAAC,CAAC,EAAE,CAAC,wBAAwB,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;IACzC,MAAM,YAAY,GAAW,wBAAwB,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,YAAY,CAAC;IAE5E,6FAA6F;IAC7F,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,6CAA6C,CAAC,CAAC;IACjG,MAAM,aAAa,GAAG,EAAE,CAAC,YAAY,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;IAC3D,MAAM,KAAK,GAAG,aAAa,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IACzC,MAAM,YAAY,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IAEpD,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,YAAY,CAAC,EAAE,gEAAgE,CAAC,CAAC;AAChH,CAAC,CAAC,CAAC;AAEH,8DAA8D;AAE9D,IAAI,0BAA0B,GAAG,KAAK,CAAC;AAEvC,SAAS,gCAAgC;IACvC,IAAI,CAAC,0BAA0B,EAAE,CAAC;QAChC,gBAAgB,CAAC;YACf,EAAE,EAAE,yBAAyB;YAC7B,KAAK,EAAE,yBAAyB;YAChC,YAAY,EAAE,GAAG,EAAE,CACjB,CAAC;gBACC,GAAG,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC;oBAChB,MAAM,EAAE,WAAW;oBACnB,qEAAqE;oBACrE,OAAO,EAAE;wBACP,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,8BAA8B,EAAE,EAAE;wBAC3E,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE;wBACpD,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,sBAAsB,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE;wBAC3D,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,gCAAgC,EAAE,EAAE;qBAC9E;oBACD,QAAQ,EAAE,EAAE;iBACb,CAAC;aACK,CAAA;YACX,WAAW,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,YAAY,EAAE,CAAC;SAChD,CAAC,CAAC;QACH,0BAA0B,GAAG,IAAI,CAAC;IACpC,CAAC;AACH,CAAC;AAED,IAAI,CAAC,MAAM,CAAC,6DAA6D,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;IACrF,gCAAgC,EAAE,CAAC;IACnC,MAAM,QAAQ,GAAG,kBAAkB,CAAC;QAClC,aAAa,EAAE,YAAY;QAC3B,gBAAgB,EAAE,yBAAyB;KAC5C,CAAC,CAAC;IACH,MAAM,OAAO,GAAG,IAAI,eAAe,CAAC,EAAE,MAAM,EAAE,gBAAgB,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAC;IAE9E,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,aAAa,EAAE,CAAC,CAAC;IAE5E,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,SAAS,EAAE,gCAAgC,CAAC,CAAC;IACzD,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,8BAA8B,CAAC,CAAC,CAAC;AACrE,CAAC,CAAC,CAAC;AAEH,0DAA0D;AAE1D,IAAI,CAAC,MAAM,CAAC,wEAAwE,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;IAChG,MAAM,MAAM,GAAG,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,MAAM,EAAE,+BAA+B,CAAC,CAAC,CAAC;IAC3G,CAAC,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,MAAM,CAAC,MAAM,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;IAEtE,IAAI,WAAW,GAAkB,IAAI,CAAC;IAEtC,gBAAgB,CAAC;QACf,EAAE,EAAE,iCAAiC;QACrC,KAAK,EAAE,iCAAiC;QACxC,YAAY,EAAE,GAAG,EAAE,CACjB,CAAC;YACC,GAAG,EAAE,KAAK,EAAE,KAAU,EAAE,EAAE;gBACxB,MAAM,SAAS,GAAG,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAS,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC;gBACzE,4EAA4E;gBAC5E,MAAM,aAAa,GAAG,MAAM,SAAS,CAAC,aAAa,CAAC,EAAE,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC;gBAC7E,CAAC,CAAC,EAAE,CAAC,aAAa,EAAE,KAAK,EAAE,+CAA+C,CAAC,CAAC;gBAE5E,WAAW,GAAG,MAAM,SAAS,CAAC,MAAM,CAAC,EAAE,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,YAAY,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;gBACxF,OAAO;oBACL,MAAM,EAAE,WAAW;oBACnB,WAAW,EAAE,MAAM;oBACnB,OAAO,EAAE,EAAE;oBACX,QAAQ,EAAE,EAAE;iBACb,CAAC;YACJ,CAAC;SACM,CAAA;QACX,WAAW,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,YAAY,EAAE,CAAC;KAChD,CAAC,CAAC;IAEH,MAAM,OAAO,GAAG,IAAI,eAAe,CAAC;QAClC,MAAM,EAAE,gBAAgB,EAAE;QAC1B,QAAQ,EAAE,kBAAkB,CAAC;YAC3B,aAAa,EAAE,YAAY;YAC3B,gBAAgB,EAAE,iCAAiC;SACpD,CAAC;QACF,gBAAgB,EAAE;YAChB,MAAM,EAAE,GAAG,EAAE,CAAC,MAAM;YACpB,QAAQ,EAAE,GAAG,EAAE,CAAC,KAAK;YACrB,aAAa,EAAE,GAAG,EAAE,CAAC,SAAS;SACA;KACjC,CAAC,CAAC;IAEH,MAAM,OAAO,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC;IAE1D,+EAA+E;IAC/E,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;IACtB,CAAC,CAAC,KAAK,CAAC,WAAY,CAAC,QAAQ,CAAC,oBAAoB,CAAC,EAAE,oCAAoC,CAAC,CAAC;AAC7F,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,MAAM,CAAC,kFAAkF,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;IAC1G,MAAM,MAAM,GAAG,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,MAAM,EAAE,oCAAoC,CAAC,CAAC,CAAC;IAChH,CAAC,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,MAAM,CAAC,MAAM,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;IAEtE,IAAI,WAAW,GAAkB,IAAI,CAAC;IAEtC,gBAAgB,CAAC;QACf,EAAE,EAAE,sCAAsC;QAC1C,KAAK,EAAE,sCAAsC;QAC7C,YAAY,EAAE,GAAG,EAAE,CACjB,CAAC;YACC,GAAG,EAAE,KAAK,EAAE,KAAU,EAAE,EAAE;gBACxB,MAAM,SAAS,GAAG,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAS,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC;gBACzE,iGAAiG;gBACjG,MAAM,aAAa,GAAG,MAAM,SAAS,CAAC,aAAa,CAAC,EAAE,EAAE,EAAE,OAAO,EAAE,uBAAuB,EAAE,CAAC,CAAC;gBAC9F,CAAC,CAAC,EAAE,CAAC,aAAa,EAAE,KAAK,EAAE,yEAAyE,CAAC,CAAC;gBAEtG,WAAW,GAAG,MAAM,SAAS,CAAC,MAAM,CAAC,EAAE,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,uBAAuB,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;gBACnG,OAAO;oBACL,MAAM,EAAE,WAAW;oBACnB,WAAW,EAAE,MAAM;oBACnB,OAAO,EAAE,EAAE;oBACX,QAAQ,EAAE,EAAE;iBACb,CAAC;YACJ,CAAC;SACM,CAAA;QACX,WAAW,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,YAAY,EAAE,CAAC;KAChD,CAAC,CAAC;IAEH,MAAM,OAAO,GAAG,IAAI,eAAe,CAAC;QAClC,MAAM,EAAE,gBAAgB,EAAE;QAC1B,QAAQ,EAAE,kBAAkB,CAAC;YAC3B,aAAa,EAAE,YAAY;YAC3B,gBAAgB,EAAE,sCAAsC;SACzD,CAAC;QACF,gBAAgB,EAAE;YAChB,MAAM,EAAE,GAAG,EAAE,CAAC,MAAM;YACpB,QAAQ,EAAE,GAAG,EAAE,CAAC,KAAK;YACrB,aAAa,EAAE,GAAG,EAAE,CAAC,SAAS;SACA;KACjC,CAAC,CAAC;IAEH,MAAM,OAAO,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,cAAc,EAAE,CAAC,CAAC;IAE5D,sFAAsF;IACtF,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;IACtB,CAAC,CAAC,IAAI,CAAC,WAAY,CAAC,QAAQ,CAAC,oBAAoB,CAAC,EAAE,mCAAmC,CAAC,CAAC;IACzF,CAAC,CAAC,KAAK,CAAC,WAAY,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,oCAAoC,CAAC,CAAC;AACjF,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,MAAM,CAAC,+EAA+E,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;IACvG,MAAM,MAAM,GAAG,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,MAAM,EAAE,oCAAoC,CAAC,CAAC,CAAC;IAChH,CAAC,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,MAAM,CAAC,MAAM,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;IAEtE,IAAI,WAAW,GAAkB,IAAI,CAAC;IACtC,IAAI,SAAS,GAAG,CAAC,CAAC;IAClB,IAAI,eAAe,GAAG,EAAE,CAAC;IAEzB,gBAAgB,CAAC;QACf,EAAE,EAAE,4CAA4C;QAChD,KAAK,EAAE,4CAA4C;QACnD,YAAY,EAAE,GAAG,EAAE,CACjB,CAAC;YACC,GAAG,EAAE,KAAK,EAAE,KAAU,EAAE,EAAE;gBACxB,MAAM,SAAS,GAAG,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAS,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC;gBACzE,WAAW,GAAG,MAAM,SAAS,CAAC,MAAM,CAAC,EAAE,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,gCAAgC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;gBAC5G,OAAO;oBACL,MAAM,EAAE,WAAW;oBACnB,WAAW,EAAE,MAAM;oBACnB,OAAO,EAAE,EAAE;oBACX,QAAQ,EAAE,EAAE;iBACb,CAAC;YACJ,CAAC;SACM,CAAA;QACX,WAAW,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,YAAY,EAAE,CAAC;KAChD,CAAC,CAAC;IAEH,MAAM,OAAO,GAAG,IAAI,eAAe,CAAC;QAClC,MAAM,EAAE,gBAAgB,EAAE;QAC1B,QAAQ,EAAE,kBAAkB,CAAC;YAC3B,aAAa,EAAE,YAAY;YAC3B,gBAAgB,EAAE,4CAA4C;YAC9D,uBAAuB,EAAE,MAAM;YAC/B,wBAAwB,EAAE,yBAAyB;YACnD,2BAA2B,EAAE,4CAA4C;SAC1E,CAAC;QACF,WAAW,EAAE;YACX,IAAI,EAAE,KAAK,EAAE,OAAe,EAAE,EAAE;gBAC9B,SAAS,EAAE,CAAC;gBACZ,eAAe,GAAG,OAAO,CAAC;gBAC1B,OAAO,2EAA2E,CAAC;YACrF,CAAC;SACK;QACR,gBAAgB,EAAE;YAChB,MAAM,EAAE,GAAG,EAAE,CAAC,MAAM;YACpB,QAAQ,EAAE,GAAG,EAAE,CAAC,KAAK;YACrB,aAAa,EAAE,GAAG,EAAE,CAAC,SAAS;SACA;KACjC,CAAC,CAAC;IAEH,MAAM,OAAO,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,uCAAuC,EAAE,CAAC,CAAC;IAErF,CAAC,CAAC,EAAE,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC;IACnB,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,uCAAuC,CAAC,CAAC,CAAC;IAC1E,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;IACtB,CAAC,CAAC,KAAK,CAAC,WAAY,CAAC,QAAQ,CAAC,oBAAoB,CAAC,EAAE,wCAAwC,CAAC,CAAC;AACjG,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,MAAM,CAAC,8EAA8E,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;IACtG,MAAM,MAAM,GAAG,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,MAAM,EAAE,oCAAoC,CAAC,CAAC,CAAC;IAChH,CAAC,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,MAAM,CAAC,MAAM,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;IAEtE,IAAI,WAAW,GAAkB,IAAI,CAAC;IACtC,IAAI,SAAS,GAAG,CAAC,CAAC;IAElB,gBAAgB,CAAC;QACf,EAAE,EAAE,4CAA4C;QAChD,KAAK,EAAE,4CAA4C;QACnD,YAAY,EAAE,GAAG,EAAE,CACjB,CAAC;YACC,GAAG,EAAE,KAAK,EAAE,KAAU,EAAE,EAAE;gBACxB,MAAM,SAAS,GAAG,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAS,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC;gBACzE,WAAW,GAAG,MAAM,SAAS,CAAC,MAAM,CAAC,EAAE,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,gCAAgC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;gBAC5G,OAAO;oBACL,MAAM,EAAE,WAAW;oBACnB,WAAW,EAAE,MAAM;oBACnB,OAAO,EAAE,EAAE;oBACX,QAAQ,EAAE,EAAE;iBACb,CAAC;YACJ,CAAC;SACM,CAAA;QACX,WAAW,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,YAAY,EAAE,CAAC;KAChD,CAAC,CAAC;IAEH,MAAM,OAAO,GAAG,IAAI,eAAe,CAAC;QAClC,MAAM,EAAE,gBAAgB,EAAE;QAC1B,QAAQ,EAAE,kBAAkB,CAAC;YAC3B,aAAa,EAAE,YAAY;YAC3B,gBAAgB,EAAE,4CAA4C;YAC9D,uBAAuB,EAAE,MAAM;YAC/B,wBAAwB,EAAE,yBAAyB;YACnD,2BAA2B,EAAE,4CAA4C;SAC1E,CAAC;QACF,WAAW,EAAE;YACX,IAAI,EAAE,KAAK,IAAI,EAAE;gBACf,SAAS,EAAE,CAAC;gBACZ,OAAO,0DAA0D,CAAC;YACpE,CAAC;SACK;QACR,gBAAgB,EAAE;YAChB,MAAM,EAAE,GAAG,EAAE,CAAC,MAAM;YACpB,QAAQ,EAAE,GAAG,EAAE,CAAC,KAAK;YACrB,aAAa,EAAE,GAAG,EAAE,CAAC,SAAS;SACA;KACjC,CAAC,CAAC;IAEH,MAAM,OAAO,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,oBAAoB,EAAE,CAAC,CAAC;IAElE,CAAC,CAAC,EAAE,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC;IACnB,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;IACtB,CAAC,CAAC,IAAI,CAAC,WAAY,CAAC,QAAQ,CAAC,oBAAoB,CAAC,EAAE,6CAA6C,CAAC,CAAC;AACrG,CAAC,CAAC,CAAC"}