@markusylisiurunen/tau 0.3.33 → 0.3.35

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 (284) hide show
  1. package/README.md +13 -8
  2. package/dist/core/agent/agent_runtime.js +86 -39
  3. package/dist/core/agent/agent_runtime.js.map +1 -1
  4. package/dist/core/commands/registry.js +24 -2
  5. package/dist/core/commands/registry.js.map +1 -1
  6. package/dist/core/config/content_loader.js +5 -3
  7. package/dist/core/config/content_loader.js.map +1 -1
  8. package/dist/core/index.js +2 -1
  9. package/dist/core/index.js.map +1 -1
  10. package/dist/core/personas.js +3 -2
  11. package/dist/core/personas.js.map +1 -1
  12. package/dist/core/runtime/chat_runtime.js +17 -4
  13. package/dist/core/runtime/chat_runtime.js.map +1 -1
  14. package/dist/core/runtime/steering.js +2 -1
  15. package/dist/core/runtime/steering.js.map +1 -1
  16. package/dist/core/session/auto_compaction_archive.js +239 -0
  17. package/dist/core/session/auto_compaction_archive.js.map +1 -0
  18. package/dist/core/session/compaction.js +97 -29
  19. package/dist/core/session/compaction.js.map +1 -1
  20. package/dist/core/session/goal.js +54 -0
  21. package/dist/core/session/goal.js.map +1 -0
  22. package/dist/core/session/runner.js +78 -5
  23. package/dist/core/session/runner.js.map +1 -1
  24. package/dist/core/subagents/agent_supervisor.js +176 -132
  25. package/dist/core/subagents/agent_supervisor.js.map +1 -1
  26. package/dist/core/subagents/format.js +101 -0
  27. package/dist/core/subagents/format.js.map +1 -0
  28. package/dist/core/subagents/registry.js +3 -1
  29. package/dist/core/subagents/registry.js.map +1 -1
  30. package/dist/core/subagents/types.js +1 -0
  31. package/dist/core/subagents/types.js.map +1 -1
  32. package/dist/core/tools/catalog.js +18 -3
  33. package/dist/core/tools/catalog.js.map +1 -1
  34. package/dist/core/tools/goal.js +77 -0
  35. package/dist/core/tools/goal.js.map +1 -0
  36. package/dist/core/tools/interrupt_agent.js +119 -0
  37. package/dist/core/tools/interrupt_agent.js.map +1 -0
  38. package/dist/core/tools/list_agents.js +64 -0
  39. package/dist/core/tools/list_agents.js.map +1 -0
  40. package/dist/core/tools/send_input_to_agent.js +8 -9
  41. package/dist/core/tools/send_input_to_agent.js.map +1 -1
  42. package/dist/core/tools/spawn_agent.js +8 -23
  43. package/dist/core/tools/spawn_agent.js.map +1 -1
  44. package/dist/core/tools/tool_names.js +7 -2
  45. package/dist/core/tools/tool_names.js.map +1 -1
  46. package/dist/core/tools/wait_for_agents.js +28 -82
  47. package/dist/core/tools/wait_for_agents.js.map +1 -1
  48. package/dist/core/utils/compact.js +19 -10
  49. package/dist/core/utils/compact.js.map +1 -1
  50. package/dist/core/utils/user_metadata.js +14 -0
  51. package/dist/core/utils/user_metadata.js.map +1 -1
  52. package/dist/core/version.js +1 -1
  53. package/dist/diff_tool/app/dist/assets/actionscript-3-Cs6JJXT5.js +1 -0
  54. package/dist/diff_tool/app/dist/assets/ahk-CA9gdOdF.js +1 -0
  55. package/dist/diff_tool/app/dist/assets/ahk2-_6rzW9BS.js +1 -0
  56. package/dist/diff_tool/app/dist/assets/{angular-html-DbgxQryr.js → angular-html-vSIwre92.js} +1 -1
  57. package/dist/diff_tool/app/dist/assets/{angular-ts-Dzjq8SvI.js → angular-ts-B9yWa-IT.js} +1 -1
  58. package/dist/diff_tool/app/dist/assets/apex-KFGFyKwG.js +1 -0
  59. package/dist/diff_tool/app/dist/assets/{apl-6AmEMJr-.js → apl-CBg9ewu1.js} +1 -1
  60. package/dist/diff_tool/app/dist/assets/asciidoc-SCjQUq34.js +1 -0
  61. package/dist/diff_tool/app/dist/assets/{astro-BM8EbfIg.js → astro-BVjxSYjj.js} +1 -1
  62. package/dist/diff_tool/app/dist/assets/{bat-Bo4NYOV-.js → bat-qdxAdBWQ.js} +1 -1
  63. package/dist/diff_tool/app/dist/assets/bird2-CYIUgYqB.js +1 -0
  64. package/dist/diff_tool/app/dist/assets/{blade-DiKMnN3e.js → blade-jvqV5kiv.js} +1 -1
  65. package/dist/diff_tool/app/dist/assets/bsl-_VjlB9mv.js +1 -0
  66. package/dist/diff_tool/app/dist/assets/{c-DMT5X-u9.js → c-DDAfW08c.js} +1 -1
  67. package/dist/diff_tool/app/dist/assets/c3-D0apG41V.js +1 -0
  68. package/dist/diff_tool/app/dist/assets/catppuccin-frappe-C9Q5zVZY.js +1 -0
  69. package/dist/diff_tool/app/dist/assets/catppuccin-latte-CtsyrtPq.js +1 -0
  70. package/dist/diff_tool/app/dist/assets/catppuccin-macchiato-R8nAf1vR.js +1 -0
  71. package/dist/diff_tool/app/dist/assets/catppuccin-mocha-DjuaAJKi.js +1 -0
  72. package/dist/diff_tool/app/dist/assets/chapel-Qflwfgbt.js +1 -0
  73. package/dist/diff_tool/app/dist/assets/clarity-CtfBBspg.js +1 -0
  74. package/dist/diff_tool/app/dist/assets/{cobol-CACNMc1O.js → cobol-4iJI1LUg.js} +1 -1
  75. package/dist/diff_tool/app/dist/assets/{coffee-D_WUFE0g.js → coffee-C9LbGGO3.js} +1 -1
  76. package/dist/diff_tool/app/dist/assets/coq-DuBRPxYg.js +1 -0
  77. package/dist/diff_tool/app/dist/assets/cpp-B-x6veTx.js +1 -0
  78. package/dist/diff_tool/app/dist/assets/{crystal-wh93mtUe.js → crystal-S06EUmKn.js} +1 -1
  79. package/dist/diff_tool/app/dist/assets/{css-CCfuUqEr.js → css-DA4RYriG.js} +1 -1
  80. package/dist/diff_tool/app/dist/assets/{edge-DP-spcJf.js → edge-7dx6BjGp.js} +1 -1
  81. package/dist/diff_tool/app/dist/assets/{elixir-BXBkaEtJ.js → elixir-DPywG97a.js} +1 -1
  82. package/dist/diff_tool/app/dist/assets/{elm-BXr8OwKP.js → elm-Dgo_WnqC.js} +1 -1
  83. package/dist/diff_tool/app/dist/assets/emacs-lisp-c_oH4hRZ.js +1 -0
  84. package/dist/diff_tool/app/dist/assets/{erb-Cu5Zacs_.js → erb-CVW4PjFl.js} +1 -1
  85. package/dist/diff_tool/app/dist/assets/{gdresource-C0sCabJj.js → gdresource-xMC7jr7x.js} +1 -1
  86. package/dist/diff_tool/app/dist/assets/gdscript-DYvRD3hg.js +1 -0
  87. package/dist/diff_tool/app/dist/assets/{git-rebase-DO8LWld4.js → git-rebase-CtU0gmBJ.js} +1 -1
  88. package/dist/diff_tool/app/dist/assets/{glimmer-js-Bh-OAIDW.js → glimmer-js-twAYiPP2.js} +1 -1
  89. package/dist/diff_tool/app/dist/assets/{glimmer-ts-DI9lHU4q.js → glimmer-ts-BfNoXayN.js} +1 -1
  90. package/dist/diff_tool/app/dist/assets/{glsl--zoY4RCO.js → glsl-D_XrtFF7.js} +1 -1
  91. package/dist/diff_tool/app/dist/assets/{graphql-C8h2T_SC.js → graphql-B_GeapzM.js} +1 -1
  92. package/dist/diff_tool/app/dist/assets/hack-BCaCVoSX.js +1 -0
  93. package/dist/diff_tool/app/dist/assets/{haml-C2BBBsDW.js → haml-z9Mz7I1O.js} +1 -1
  94. package/dist/diff_tool/app/dist/assets/{handlebars-cZMztphK.js → handlebars-D0FVYagc.js} +1 -1
  95. package/dist/diff_tool/app/dist/assets/haxe-C8oCnwJJ.js +1 -0
  96. package/dist/diff_tool/app/dist/assets/{html-BtccomkJ.js → html-BOM4tb7u.js} +1 -1
  97. package/dist/diff_tool/app/dist/assets/{html-derivative-qjeUe52-.js → html-derivative-CsSlhJgr.js} +1 -1
  98. package/dist/diff_tool/app/dist/assets/{http-Dv8OQO33.js → http-Cjy9oaQn.js} +1 -1
  99. package/dist/diff_tool/app/dist/assets/{hurl-B6Fnr2ae.js → hurl-CjLQ7ql5.js} +1 -1
  100. package/dist/diff_tool/app/dist/assets/hxml-Dcm88srW.js +1 -0
  101. package/dist/diff_tool/app/dist/assets/index-QO81yN6b.js +1550 -0
  102. package/dist/diff_tool/app/dist/assets/{java-BuadWMcp.js → java-cn8DiFD8.js} +1 -1
  103. package/dist/diff_tool/app/dist/assets/{javascript-BIKxmHeL.js → javascript-CEnHZaZM.js} +1 -1
  104. package/dist/diff_tool/app/dist/assets/{jinja-Cm_guvgu.js → jinja-DIp6kVk7.js} +1 -1
  105. package/dist/diff_tool/app/dist/assets/{jison-Sst29gJb.js → jison-Dx116ito.js} +1 -1
  106. package/dist/diff_tool/app/dist/assets/{json-Bg6l2vym.js → json-C6B9h0n5.js} +1 -1
  107. package/dist/diff_tool/app/dist/assets/{jsx-BiREAxkr.js → jsx-CDEGT2B2.js} +1 -1
  108. package/dist/diff_tool/app/dist/assets/{julia-DAhrWFzr.js → julia-CsIJA3Km.js} +1 -1
  109. package/dist/diff_tool/app/dist/assets/{just-xBwbf5aT.js → just-DZRYvkQw.js} +1 -1
  110. package/dist/diff_tool/app/dist/assets/kanagawa-dragon-Bozd7klA.js +1 -0
  111. package/dist/diff_tool/app/dist/assets/kanagawa-lotus-BmuOG9ZW.js +1 -0
  112. package/dist/diff_tool/app/dist/assets/kanagawa-wave-BML5mF2J.js +1 -0
  113. package/dist/diff_tool/app/dist/assets/latex-CeR-RQOI.js +1 -0
  114. package/dist/diff_tool/app/dist/assets/{liquid-BTsCzVvF.js → liquid-Dhf8N4mn.js} +1 -1
  115. package/dist/diff_tool/app/dist/assets/{llvm-Cm23YOpf.js → llvm-DqHOMS-s.js} +1 -1
  116. package/dist/diff_tool/app/dist/assets/{lua-BJt9x0JP.js → lua-zVTVaJzn.js} +1 -1
  117. package/dist/diff_tool/app/dist/assets/luau-C2pBCSgt.js +1 -0
  118. package/dist/diff_tool/app/dist/assets/{marko-CWdJkbvC.js → marko-BGPq5r3o.js} +1 -1
  119. package/dist/diff_tool/app/dist/assets/mdc-D8K78bym.js +1 -0
  120. package/dist/diff_tool/app/dist/assets/mermaid-BxpfTIzt.js +1 -0
  121. package/dist/diff_tool/app/dist/assets/mojo-CFuIV2fl.js +1 -0
  122. package/dist/diff_tool/app/dist/assets/monokai-B_bV9PQ9.js +1 -0
  123. package/dist/diff_tool/app/dist/assets/moonbit-DgjMoLWr.js +1 -0
  124. package/dist/diff_tool/app/dist/assets/move-BYnGhZoM.js +1 -0
  125. package/dist/diff_tool/app/dist/assets/{nginx-BwS0G4IK.js → nginx-Bo-bEa75.js} +1 -1
  126. package/dist/diff_tool/app/dist/assets/{nim-B2VFbcs9.js → nim-Bfy5M54r.js} +1 -1
  127. package/dist/diff_tool/app/dist/assets/nsis-CjNLYCLg.js +1 -0
  128. package/dist/diff_tool/app/dist/assets/nushell-DHYfO66s.js +1 -0
  129. package/dist/diff_tool/app/dist/assets/org-BKetN7sT.js +1 -0
  130. package/dist/diff_tool/app/dist/assets/{perl-BTeqR-l8.js → perl-WiwTOQTV.js} +1 -1
  131. package/dist/diff_tool/app/dist/assets/{php-Crua7nbA.js → php-CM2FzhGV.js} +1 -1
  132. package/dist/diff_tool/app/dist/assets/{powershell-DshXNtvi.js → powershell-CCSX75yM.js} +1 -1
  133. package/dist/diff_tool/app/dist/assets/prisma-DMgNhnYS.js +1 -0
  134. package/dist/diff_tool/app/dist/assets/{pug-CUlgPjMU.js → pug-D2WvUHZ-.js} +1 -1
  135. package/dist/diff_tool/app/dist/assets/{qml-DI0IjNUw.js → qml-DGPbc6TL.js} +1 -1
  136. package/dist/diff_tool/app/dist/assets/r-CCFYJ_KM.js +1 -0
  137. package/dist/diff_tool/app/dist/assets/{razor-DrkKtFm5.js → razor-D1JuQWQz.js} +1 -1
  138. package/dist/diff_tool/app/dist/assets/rbs-C0MpOrj4.js +1 -0
  139. package/dist/diff_tool/app/dist/assets/red-DX1BQOs8.js +1 -0
  140. package/dist/diff_tool/app/dist/assets/{regexp-DRmxJil7.js → regexp-zTiHwMow.js} +1 -1
  141. package/dist/diff_tool/app/dist/assets/rose-pine-aMsaMD1D.js +1 -0
  142. package/dist/diff_tool/app/dist/assets/rose-pine-dawn-8PwUyIlP.js +1 -0
  143. package/dist/diff_tool/app/dist/assets/rose-pine-moon-DO-qXg-I.js +1 -0
  144. package/dist/diff_tool/app/dist/assets/{rst-DiRke36z.js → rst-CuUAArfH.js} +1 -1
  145. package/dist/diff_tool/app/dist/assets/{ruby-t7r9jzAg.js → ruby-DznrLCoG.js} +1 -1
  146. package/dist/diff_tool/app/dist/assets/{sas-CR7Z4kg-.js → sas-D2hJmLva.js} +1 -1
  147. package/dist/diff_tool/app/dist/assets/{scala-DKOlJaKm.js → scala-BiFt_7mu.js} +1 -1
  148. package/dist/diff_tool/app/dist/assets/{scss--CnPWaDv.js → scss-Cjb3p_6n.js} +1 -1
  149. package/dist/diff_tool/app/dist/assets/{shellscript-Bz7H5174.js → shellscript-BtwI-tfX.js} +1 -1
  150. package/dist/diff_tool/app/dist/assets/{shellsession-mlKnHJfN.js → shellsession-BYirS1xP.js} +1 -1
  151. package/dist/diff_tool/app/dist/assets/smalltalk-BHpQb5nM.js +1 -0
  152. package/dist/diff_tool/app/dist/assets/smithy-Dgaz7aur.js +1 -0
  153. package/dist/diff_tool/app/dist/assets/solarized-dark-UdsmMDCL.js +1 -0
  154. package/dist/diff_tool/app/dist/assets/solarized-light-C1IUL_tW.js +1 -0
  155. package/dist/diff_tool/app/dist/assets/solidity-Bj7E1mRn.js +1 -0
  156. package/dist/diff_tool/app/dist/assets/{soy-CKu9y9G1.js → soy-D4Ndk7-j.js} +1 -1
  157. package/dist/diff_tool/app/dist/assets/{sql-DcvKi3Jj.js → sql-DbLQ5SJl.js} +1 -1
  158. package/dist/diff_tool/app/dist/assets/{stata-Yo25QZyV.js → stata-BXoNBosJ.js} +1 -1
  159. package/dist/diff_tool/app/dist/assets/surrealql-toyTYnAL.js +1 -0
  160. package/dist/diff_tool/app/dist/assets/{svelte-BIhEVbnP.js → svelte-BEpa7pAW.js} +1 -1
  161. package/dist/diff_tool/app/dist/assets/swift-CyEgAFGc.js +1 -0
  162. package/dist/diff_tool/app/dist/assets/system-verilog-Dh5ihWbf.js +1 -0
  163. package/dist/diff_tool/app/dist/assets/{templ-D6FrV4mZ.js → templ-CZfW_RJI.js} +1 -1
  164. package/dist/diff_tool/app/dist/assets/tex-COemmIIu.js +1 -0
  165. package/dist/diff_tool/app/dist/assets/theming-B5HubD5i.js +1 -0
  166. package/dist/diff_tool/app/dist/assets/theming-BTK0wyKj.js +1 -0
  167. package/dist/diff_tool/app/dist/assets/theming-BTUlzJFw.js +1 -0
  168. package/dist/diff_tool/app/dist/assets/theming-BURFlYfV.js +1 -0
  169. package/dist/diff_tool/app/dist/assets/theming-BVZjihoZ.js +1 -0
  170. package/dist/diff_tool/app/dist/assets/theming-BWSkzMBn.js +1 -0
  171. package/dist/diff_tool/app/dist/assets/theming-BchIqPOb.js +1 -0
  172. package/dist/diff_tool/app/dist/assets/theming-CeLfRn2P.js +1 -0
  173. package/dist/diff_tool/app/dist/assets/theming-DMjwMSwU.js +1 -0
  174. package/dist/diff_tool/app/dist/assets/theming-QWGGdlwd.js +1 -0
  175. package/dist/diff_tool/app/dist/assets/{ts-tags-Kqn1PP6m.js → ts-tags-CMVUY_BA.js} +1 -1
  176. package/dist/diff_tool/app/dist/assets/{tsx-L3TEJWGL.js → tsx-BTvP6uzd.js} +1 -1
  177. package/dist/diff_tool/app/dist/assets/twig-DzP5RjJc.js +1 -0
  178. package/dist/diff_tool/app/dist/assets/{typescript-Dvc5RX4H.js → typescript-CQaGlMoX.js} +1 -1
  179. package/dist/diff_tool/app/dist/assets/{v-DETTlOr0.js → v-DBj4K9d_.js} +1 -1
  180. package/dist/diff_tool/app/dist/assets/{vb-Djn5o6TS.js → vb-DOwzaHZ0.js} +1 -1
  181. package/dist/diff_tool/app/dist/assets/verilog-B2gwz-sJ.js +1 -0
  182. package/dist/diff_tool/app/dist/assets/{vue-X1uI3I2A.js → vue-DaVWTtvb.js} +1 -1
  183. package/dist/diff_tool/app/dist/assets/{vue-html-BMpHEoeQ.js → vue-html-BA_OH0Xt.js} +1 -1
  184. package/dist/diff_tool/app/dist/assets/{vue-vine-DnTGaA4r.js → vue-vine-C_H4XbNR.js} +1 -1
  185. package/dist/diff_tool/app/dist/assets/{xml-QlPQXP0d.js → xml-1JLzpunp.js} +1 -1
  186. package/dist/diff_tool/app/dist/assets/{xsl-JpRU16Li.js → xsl-GtZi0Erj.js} +1 -1
  187. package/dist/diff_tool/app/dist/assets/{yaml-Djukn3_s.js → yaml-LueTtDDo.js} +1 -1
  188. package/dist/diff_tool/app/dist/index.html +1 -1
  189. package/dist/host/client_tool_broker.js +6 -1
  190. package/dist/host/client_tool_broker.js.map +1 -1
  191. package/dist/host/hosted_ephemeral_agent_session.js +5 -0
  192. package/dist/host/hosted_ephemeral_agent_session.js.map +1 -1
  193. package/dist/host/local_session_host.js +422 -97
  194. package/dist/host/local_session_host.js.map +1 -1
  195. package/dist/host/session_host.js +2 -0
  196. package/dist/host/session_host.js.map +1 -1
  197. package/dist/host/session_protocol_handler.js +257 -240
  198. package/dist/host/session_protocol_handler.js.map +1 -1
  199. package/dist/protocol/index.d.ts +1 -1
  200. package/dist/protocol/index.js.map +1 -1
  201. package/dist/protocol/session_protocol.d.ts +79 -18
  202. package/dist/protocol/session_protocol.js +138 -25
  203. package/dist/protocol/session_protocol.js.map +1 -1
  204. package/dist/sdk/index.d.ts +1 -1
  205. package/dist/sdk/index.js.map +1 -1
  206. package/dist/sdk/session.js +24 -4
  207. package/dist/sdk/session.js.map +1 -1
  208. package/dist/sdk/types.d.ts +9 -3
  209. package/dist/starter/prompts/approval-review-branch.md +7 -0
  210. package/dist/starter/prompts/approval-review-current-changes.md +7 -0
  211. package/dist/starter/prompts/approval-review-last-commit.md +7 -0
  212. package/dist/starter/skills/approval-review/SKILL.md +219 -0
  213. package/dist/store/session_snapshot_migrations.js +29 -1
  214. package/dist/store/session_snapshot_migrations.js.map +1 -1
  215. package/dist/tui/chat_view.js +1 -0
  216. package/dist/tui/chat_view.js.map +1 -1
  217. package/dist/tui/session_chat_controller.js +71 -69
  218. package/dist/tui/session_chat_controller.js.map +1 -1
  219. package/dist/tui/ui/footer.js +7 -3
  220. package/dist/tui/ui/footer.js.map +1 -1
  221. package/dist/tui/ui/subagent_panel.js +24 -28
  222. package/dist/tui/ui/subagent_panel.js.map +1 -1
  223. package/dist/tui/ui/tool_ui_registry.js +71 -22
  224. package/dist/tui/ui/tool_ui_registry.js.map +1 -1
  225. package/package.json +4 -4
  226. package/dist/core/tools/terminate_agent.js +0 -155
  227. package/dist/core/tools/terminate_agent.js.map +0 -1
  228. package/dist/diff_tool/app/dist/assets/actionscript-3--17pq3dv.js +0 -1
  229. package/dist/diff_tool/app/dist/assets/apex-VAyPSnFM.js +0 -1
  230. package/dist/diff_tool/app/dist/assets/asciidoc-DE70LPWp.js +0 -1
  231. package/dist/diff_tool/app/dist/assets/bird2-C6vDhewU.js +0 -1
  232. package/dist/diff_tool/app/dist/assets/bsl-BkkzgIyY.js +0 -1
  233. package/dist/diff_tool/app/dist/assets/c3-BFHwR3_K.js +0 -1
  234. package/dist/diff_tool/app/dist/assets/catppuccin-frappe-3VR1Za6u.js +0 -1
  235. package/dist/diff_tool/app/dist/assets/catppuccin-latte-DwIHMF0Q.js +0 -1
  236. package/dist/diff_tool/app/dist/assets/catppuccin-macchiato-DYnBP6_5.js +0 -1
  237. package/dist/diff_tool/app/dist/assets/catppuccin-mocha-DYhrFGRu.js +0 -1
  238. package/dist/diff_tool/app/dist/assets/clarity-SemFz856.js +0 -1
  239. package/dist/diff_tool/app/dist/assets/coq-BrsZFFmf.js +0 -1
  240. package/dist/diff_tool/app/dist/assets/cpp-BcU9r9kv.js +0 -1
  241. package/dist/diff_tool/app/dist/assets/emacs-lisp-B4R74twV.js +0 -1
  242. package/dist/diff_tool/app/dist/assets/gdscript-Cp2uCuqX.js +0 -1
  243. package/dist/diff_tool/app/dist/assets/hack-DAsjGmmw.js +0 -1
  244. package/dist/diff_tool/app/dist/assets/haxe-OTjmBuCE.js +0 -1
  245. package/dist/diff_tool/app/dist/assets/hxml-B0Qn7Nwc.js +0 -1
  246. package/dist/diff_tool/app/dist/assets/index-U7G4V3LV.js +0 -1579
  247. package/dist/diff_tool/app/dist/assets/kanagawa-dragon-CXtmUGW6.js +0 -1
  248. package/dist/diff_tool/app/dist/assets/kanagawa-lotus-BN08jTvb.js +0 -1
  249. package/dist/diff_tool/app/dist/assets/kanagawa-wave-CTweb8Dz.js +0 -1
  250. package/dist/diff_tool/app/dist/assets/latex-Bydg2zYo.js +0 -1
  251. package/dist/diff_tool/app/dist/assets/luau-FMPmPwt6.js +0 -1
  252. package/dist/diff_tool/app/dist/assets/mdc-B6ddHTKx.js +0 -1
  253. package/dist/diff_tool/app/dist/assets/mermaid-Bk4SNUv9.js +0 -1
  254. package/dist/diff_tool/app/dist/assets/mojo-BgCJLMeH.js +0 -1
  255. package/dist/diff_tool/app/dist/assets/monokai-CdkpiU2Y.js +0 -1
  256. package/dist/diff_tool/app/dist/assets/moonbit-CaWjb8XO.js +0 -1
  257. package/dist/diff_tool/app/dist/assets/move-B1IS1UjX.js +0 -1
  258. package/dist/diff_tool/app/dist/assets/nushell-DcLAeLz5.js +0 -1
  259. package/dist/diff_tool/app/dist/assets/pierre-dark-CpLgRqie.js +0 -1
  260. package/dist/diff_tool/app/dist/assets/pierre-dark-protanopia-deuteranopia-B35FxJx-.js +0 -1
  261. package/dist/diff_tool/app/dist/assets/pierre-dark-soft-kZQmAZld.js +0 -1
  262. package/dist/diff_tool/app/dist/assets/pierre-dark-tritanopia-CpjhbsIL.js +0 -1
  263. package/dist/diff_tool/app/dist/assets/pierre-dark-vibrant-CpQYzh95.js +0 -1
  264. package/dist/diff_tool/app/dist/assets/pierre-light-CoaEpmwp.js +0 -1
  265. package/dist/diff_tool/app/dist/assets/pierre-light-protanopia-deuteranopia-0fSaH845.js +0 -1
  266. package/dist/diff_tool/app/dist/assets/pierre-light-soft-lWLdNTOI.js +0 -1
  267. package/dist/diff_tool/app/dist/assets/pierre-light-tritanopia-CEbqgOJL.js +0 -1
  268. package/dist/diff_tool/app/dist/assets/pierre-light-vibrant-D80Fkn33.js +0 -1
  269. package/dist/diff_tool/app/dist/assets/prisma-BsRQq5mF.js +0 -1
  270. package/dist/diff_tool/app/dist/assets/r-DRexFFDh.js +0 -1
  271. package/dist/diff_tool/app/dist/assets/red-CJ3rzSJv.js +0 -1
  272. package/dist/diff_tool/app/dist/assets/rose-pine-BthvhNj6.js +0 -1
  273. package/dist/diff_tool/app/dist/assets/rose-pine-dawn-Dg85fqjY.js +0 -1
  274. package/dist/diff_tool/app/dist/assets/rose-pine-moon-hon4tzzS.js +0 -1
  275. package/dist/diff_tool/app/dist/assets/smalltalk-B16xEiuN.js +0 -1
  276. package/dist/diff_tool/app/dist/assets/solarized-dark-DV17i1UV.js +0 -1
  277. package/dist/diff_tool/app/dist/assets/solarized-light-DSh2HLQt.js +0 -1
  278. package/dist/diff_tool/app/dist/assets/solidity-CKzVLygQ.js +0 -1
  279. package/dist/diff_tool/app/dist/assets/surrealql-CUddZ4Qk.js +0 -1
  280. package/dist/diff_tool/app/dist/assets/swift-DonLKvLd.js +0 -1
  281. package/dist/diff_tool/app/dist/assets/system-verilog-DJ5XKQeo.js +0 -1
  282. package/dist/diff_tool/app/dist/assets/tex-BOTYELrL.js +0 -1
  283. package/dist/diff_tool/app/dist/assets/twig-BpzmhnWz.js +0 -1
  284. package/dist/diff_tool/app/dist/assets/verilog-CiiDBU1e.js +0 -1
package/README.md CHANGED
@@ -136,7 +136,7 @@ For stdio attach, use `--session <id>` before `--`:
136
136
  tau attach --session 0195d6e4-4cf9-7f44-a2d8-f8f7f49ee9d3 -- ssh vps 'cd /path/to/repo && tau rpc'
137
137
  ```
138
138
 
139
- Session attach renders the authoritative session snapshot, streams recoverable `session.delta` updates and independently revisioned, non-persisted `session.pendingUserMessages` replacements, submits normal user input through `session.submit`, `session.queue`, and `session.steer`, supports steering/interruption, runs `!`/`!!` Bash commands in the session execution environment, records `/listen` from the local microphone, speaks `/speak` locally, reloads session content with `/reload`, switches session personas with `/persona:<id>` or `Ctrl+P`, inserts session prompt templates with `/prompt:<id>`, compacts the session with `/compact:*`, creates a new session with `/new`, and exits with `/exit` or `Ctrl+C` twice.
139
+ Session attach renders the authoritative session snapshot, streams recoverable `session.delta` updates and independently revisioned, non-persisted `session.pendingUserMessages` replacements, submits normal user input through `session.submit`, `session.queue`, and `session.steer`, supports steering/interruption, runs `!`/`!!` Bash commands in the session execution environment, records `/listen` from the local microphone, speaks `/speak` locally, reloads session content with `/reload`, switches session personas with `/persona:<id>` or `Ctrl+P`, inserts session prompt templates with `/prompt:<id>`, manages persistent autonomous goals with `/goal`, compacts the session with `/compact:*`, creates a new session with `/new`, and exits with `/exit` or `Ctrl+C` twice.
140
140
 
141
141
  Model `bash` tool calls, `!`/`!!`, `session.exec`, and Tau-controlled command helpers each run in a fresh, non-interactive login Bash belonging to the session execution environment. Tau sets `HOME` to the execution environment home, so Bash reads `/etc/profile` and then the first available user login file (`~/.bash_profile`, `~/.bash_login`, or `~/.profile`). Bash also reads inherited `BASH_ENV` when set; otherwise `.bashrc` is loaded only when the login configuration sources it. Login startup files must be automation-safe: they must not write to stdout or stderr, read stdin, require a TTY, or terminate the shell unexpectedly. Tau does not filter or frame startup output. Commands start from the backend's target-side environment and apply explicit execution-environment overrides; the local backend filters sensitive variables inherited from the Tau host. Node, Git, and other helper executables resolve from the same login-configured `PATH` as model commands. Shell state such as `cd`, exports, aliases, functions, and `nvm use` does not persist between calls.
142
142
 
@@ -266,7 +266,7 @@ for full API details (options, methods, events, and errors), see [docs/sdk.md](d
266
266
 
267
267
  ## install starter prompts and skills
268
268
 
269
- tau ships starter prompt and skill templates as markdown content in this repository, including guided-review templates for splitting changes into focused review chunks. install them with:
269
+ tau ships starter prompt and skill templates as markdown content in this repository, including `guided-review` for focused diff walkthroughs and `approval-review` for decision-oriented approval without reading the implementation. install them with:
270
270
 
271
271
  ```sh
272
272
  tau install
@@ -374,13 +374,15 @@ tau --persona opus-4.8-coder
374
374
 
375
375
  ## sub-agents
376
376
 
377
- some personas can run isolated sub-agents via the `spawn_agent`, `send_input_to_agent`, `wait_for_agents`, and `terminate_agent` tools. sub-agents report progress in the subagent panel, and `wait_for_agents` returns final responses as soon as at least one requested agent finishes.
377
+ main-session models always receive `get_goal`, `create_goal`, and `update_goal` independently of persona tool allowlists. `create_goal` must only be used for explicit user, system, or developer goal requests, never inferred from ordinary work.
378
+
379
+ some personas can run isolated sub-agents via the `spawn_agent`, `send_input_to_agent`, `wait_for_agents`, `list_agents`, and `interrupt_agent` tools. `list_agents` reports each spawned thread's runtime, latest run, usage, context pressure, and response availability. `wait_for_agents` returns retained latest responses as soon as at least one requested agent finishes, and completed responses can be read repeatedly.
378
380
 
379
381
  the built-in `default` sub-agent is available unless disabled. it inherits the main persona's model, settings, tool access (minus sub-agent management tools), and system prompt. the inherited main prompt is wrapped with default sub-agent-specific rules, and those wrapper rules take precedence on conflicts. custom sub-agents can override model, reasoning, and tools.
380
382
 
381
383
  `spawn_agent` supports an optional launch override string (`model: "<provider>/<model>:<effort>"`) and an optional `workingDirectory`. when `workingDirectory` is set, the sub-agent runs from that directory and its config, model catalog, repository metadata, AGENTS.md context, and skills are resolved through the session execution environment as if tau was started there. launch overrides are allowlisted per subagent. custom subagents can define `launchModels` in persona frontmatter, and the built-in `default` sub-agent uses `subagents.defaultLaunchModels` from config.
382
384
 
383
- sub-agent progress appears in a sticky panel. use `alt+down` to cycle active subagents and `ctrl+g` to terminate the selected one. tau caps active subagents at 8.
385
+ sub-agent progress appears in a sticky panel. use `alt+down` to cycle active subagents and `ctrl+g` to interrupt the selected one's current run. tau caps active subagents at 8.
384
386
 
385
387
  `web.discover` works without an API key. to use `web.search` and `web.fetch`, set `apiKeys.exa` in `~/.config/tau/config.json` (see above) or export `EXA_API_KEY`. `web` is available to main agents and sub-agents, and runs one-shot JavaScript with bounded `web.discover`, `web.search`, and `web.fetch` APIs; search and fetch are backed by Exa. for direct URLs, the tool description asks the model to run discovery first and decide in the next turn whether to use `curl`, `web.fetch`, or another approach. discovery runs ordinary bounded requests through the session execution environment and reports metadata for direct Markdown representations and `llms.txt` files at every path prefix without returning page content or parsing links, leaving direct retrieval to a later explicit `curl` call. search and fetch remain host-owned so Exa credentials stay outside the sandbox, default to highlights, cap provider responses at 16 MiB before parsing, and omit provider-specific details. generated code runs in a capability-limited SES compartment inside a host Worker. the tool description limits use to requests that ask for or clearly imply web access, asks the model to prefer concise plain text over raw JSON dumps even when all response fields are needed, and tells it how to print the bundled API documentation.
386
388
 
@@ -458,6 +460,7 @@ tau supports slash commands for common actions:
458
460
  | `/listen` | start microphone recording and transcribe into the editor (macOS only) |
459
461
  | `/speak` | speak the last assistant message aloud (macOS only) |
460
462
  | `/diff [git diff args...]` | open the local diff review tool for the current session; git snapshot and review-agent work run on the session host |
463
+ | `/goal [objective\|resume\|clear]` | show, start, resume, or clear a persistent autonomous goal |
461
464
  | `/compact:summary-only` | compress history into one synthetic user summary message |
462
465
  | `/compact:summary-and-last` | compress history and include the last assistant message verbatim when present |
463
466
  | `/persona:<id>` | switch to a different persona |
@@ -466,7 +469,9 @@ tau supports slash commands for common actions:
466
469
  | `!<cmd>` | run a login Bash command directly |
467
470
  | `!!<cmd>` | run a login Bash command without adding output to the model context |
468
471
 
469
- tau automatically compacts long sessions when the latest successful provider-reported usage from the active model plus Tau's estimate of model-visible content added since that response approaches the model context limit. Tau checks before every model subturn, so one user turn can compact more than once. automatic compaction summarizes older context, asks the compaction model to select original user messages to append verbatim inside the summary by history id, retains a recent tail verbatim, and inserts a hidden continuation note so the assistant continues without asking you to repeat context.
472
+ `/goal <objective>` starts a persisted autonomous goal. Tau keeps the full objective in the session snapshot, reinjects it after compaction, and starts another ordinary turn when the assistant returns while the goal remains active. The model can inspect, create, revise, complete, or block goals through `get_goal`, `create_goal`, and `update_goal`; `create_goal` is only for explicit user, system, or developer goal requests and never inferred from ordinary tasks. Completion clears the goal. Interruption, terminal failure, and process recovery leave it blocked until `/goal resume`; `/goal clear` removes it. Bare `/goal` and `/goal clear` remain available while work is active, while starting or resuming a goal requires an idle session. Steering received while Tau is preparing the next goal continuation is applied before autonomous work resumes. Goal-controlled turns cannot use empty-input retry because their persisted policy may no longer match the current goal; use `/goal resume` for a blocked goal. The footer shows `pursuing goal` beside the activity indicator while autonomous goal work is active.
473
+
474
+ tau automatically compacts long sessions when the latest successful provider-reported usage from the active model plus Tau's estimate of model-visible content added since that response approaches the model context limit. Tau checks before every model subturn, so one user turn can compact more than once. automatic compaction summarizes older context, retrying the summary call once on failure, asks the compaction model to select original user messages to append verbatim inside the summary by history id, retains a recent tail while middle-truncating individual textual tool and recovery results above roughly 8,192 estimated tokens, and inserts a hidden continuation note so the assistant continues without asking you to repeat context. before replacing history, Tau best-effort archives the pre-compaction conversation as ordered `.txt` and `.json` pairs in an agent-specific execution-environment temp directory. assistant thinking is omitted. the text file middle-truncates tool results for easier lookup, while JSON retains untruncated archived content. every archivable summarized record is labeled with its history entry id, so the compaction model may cite an id for bulky exact details and the continuing assistant can resolve it from the archive. the continuation note includes the temporary paths when archiving succeeds.
470
475
 
471
476
  the compact commands are manual and useful when you want to force context replacement. they replace prior context with a single synthetic user summary message, including compaction-model-selected original user messages verbatim inside that summary, and do not retain a recent tail. compaction prompts middle-truncate each textual tool result to roughly 2,048 estimated tokens without changing live history. `/compact:summary-and-last` also includes the last assistant message verbatim when present.
472
477
 
@@ -488,7 +493,7 @@ the compact commands are manual and useful when you want to force context replac
488
493
  | `ctrl+o` | toggle compact tool display |
489
494
  | `ctrl+s` | stash input to clipboard |
490
495
  | `ctrl+y` | toggle voice recording (`/listen`) |
491
- | `ctrl+g` | terminate selected sub-agent |
496
+ | `ctrl+g` | interrupt selected sub-agent |
492
497
  | `ctrl+enter` | steer running assistant with editor input |
493
498
  | `enter x2` | retry last response on empty input |
494
499
  | `esc x2` | clear current prompt |
@@ -584,7 +589,7 @@ supported built-in diff tool code themes are: `andromeeda`, `aurora-x`, `ayu-dar
584
589
 
585
590
  the `subagents.defaultLaunchModels` field configures allowed `spawn_agent` launch overrides for the built-in `default` sub-agent. values must use `<provider>/<model>:<effort>`.
586
591
 
587
- `autoCompact` controls automatic session compaction and merges field-by-field across config levels. it is enabled by default with `reserveTokens: 16384` and `keepRecentTokens: 20000`. before every model subturn, Tau compares the latest successful provider-reported assistant usage from the active model plus an estimated token count for model-visible messages appended since that response against the model context window minus the reserve. when the threshold is crossed, Tau summarizes older context, asks the compaction model to select original user messages to append verbatim inside the summary by history id, and retains recent messages verbatim (capped at that threshold). manual `/compact:*` commands remain summary-replacement commands.
592
+ `autoCompact` controls automatic session compaction and merges field-by-field across config levels. it is enabled by default with `reserveTokens: 16384` and `keepRecentTokens: 20000`. before every model subturn, Tau compares the latest successful provider-reported assistant usage from the active model plus an estimated token count for model-visible messages appended since that response against the model context window minus the reserve. when the threshold is crossed, Tau summarizes older context with at most two summary attempts, asks the compaction model to select original user messages to append verbatim inside the summary by history id, retains recent messages while middle-truncating individual textual tool and recovery results above roughly 8,192 estimated tokens, and best-effort archives the untruncated pre-compaction conversation, excluding assistant thinking, in the execution environment's OS temp directory. archivable summarized records carry history entry ids that the compaction model may cite when bulky exact details are better retrieved from the archive than copied into the summary. manual `/compact:*` commands remain summary-replacement commands and do not create these archives.
588
593
 
589
594
  the `modelSystemNotices` field maps `<provider>/<model>` to a notice string. provider ids must be known and model ids are exact/case-sensitive against the merged configured model catalog (built-in + layered `models.json`). when Tau commits a main-session or sub-agent input, it prepends the notice for the active model as an ordinary `<system>...</system>` block. the persisted block is subsequently treated like any other system prefix, so compaction sees notices already present in the source history. tau does not prepend the current notice to the compaction prompt or to synthetic compaction messages, and the generated summary is not required to reproduce it. ephemeral agents never receive model system notices, and maintenance model calls do not resolve or add fresh notices.
590
595
 
@@ -678,7 +683,7 @@ optional frontmatter fields:
678
683
  - openai/gpt-5.5:high
679
684
  - anthropic/claude-haiku-4-5:medium
680
685
  ```
681
- - `tools`: list of tool names to enable for this persona. allowed: `bash`, `write`, `edit`, `view_image`, `web`, `nook`, `spawn_agent`, `send_input_to_agent`, `wait_for_agents`, `terminate_agent`. if omitted, defaults to `bash`, `write`, `edit`, `view_image`, `web`, `nook` (and subagent tools when subagents are enabled). `nook` is available only when effective Nook configuration is also present.
686
+ - `tools`: list of tool names to enable for this persona. allowed: `bash`, `write`, `edit`, `view_image`, `web`, `nook`, `spawn_agent`, `send_input_to_agent`, `wait_for_agents`, `list_agents`, `interrupt_agent`. if omitted, defaults to `bash`, `write`, `edit`, `view_image`, `web`, `nook` (and subagent tools when subagents are enabled). `nook` is available only when effective Nook configuration is also present.
682
687
 
683
688
  the markdown body becomes the system prompt.
684
689
 
@@ -3,7 +3,7 @@ import { createHash, randomUUID } from "node:crypto";
3
3
  import { isDeepStrictEqual } from "node:util";
4
4
  import { formatSteeringUserMessage } from "../runtime/steering.js";
5
5
  import { buildAutoCompactionContinuationMessage, buildAutoCompactionPrompt, buildCompactionSummary, buildSessionCompactionMessage, buildSessionCompactionPrompt, COMPACTION_SUMMARIZATION_SYSTEM_PROMPT, parseCompactionSummaryResponse, prepareAutoCompaction, prepareSessionCompaction, } from "../session/compaction.js";
6
- import { runModelSubturn, SequentialToolCallRunner } from "../session/runner.js";
6
+ import { ProviderStreamError, runModelSubturn, SequentialToolCallRunner, } from "../session/runner.js";
7
7
  import { shouldAutoRetry } from "../utils/auto_retry.js";
8
8
  import { buildCompactionUserMessage } from "../utils/compact.js";
9
9
  import { extractAssistantText } from "../utils/messages.js";
@@ -11,6 +11,7 @@ import { prependModelNotice } from "../utils/model_notices.js";
11
11
  import { bytesToTokens } from "../utils/token.js";
12
12
  import { formatTauUserText, getAutoCompactionMetadataFromMessage, hasAutoCompactionContinuationMetadata, isTauUserMessageHidden, prependTauHiddenSystemMessages, prependTauUserMetadata, stripTauUserDisplayText, stripTauUserMetadata, stripTauUserMetadataFromMessage, } from "../utils/user_metadata.js";
13
13
  const DEFAULT_RETRY_POLICY = { maxRetries: 1, delayMs: 3_000 };
14
+ const COMPACTION_MAX_ATTEMPTS = 2;
14
15
  const DEFAULT_MAX_MODEL_SUBTURNS = 1024;
15
16
  export function createAgentSpec(options) {
16
17
  return {
@@ -124,6 +125,7 @@ export class AgentRuntime {
124
125
  currentSpec;
125
126
  clock;
126
127
  eventSink;
128
+ archiveAutoCompaction;
127
129
  getCompactionContinuationSystemMessages;
128
130
  historyEntries;
129
131
  revision;
@@ -139,6 +141,7 @@ export class AgentRuntime {
139
141
  this.currentSpec = options.spec;
140
142
  this.eventSink = options.eventSink;
141
143
  this.clock = options.clock;
144
+ this.archiveAutoCompaction = options.archiveAutoCompaction;
142
145
  this.getCompactionContinuationSystemMessages = options.getCompactionContinuationSystemMessages;
143
146
  const contextEpoch = getContextEpoch(options.spec);
144
147
  if (options.state) {
@@ -330,13 +333,16 @@ export class AgentRuntime {
330
333
  return this.visibleHistoryEntries.map((entry) => structuredClone(stripTauUserMetadataFromMessage(entry.message)));
331
334
  }
332
335
  get modelHistory() {
336
+ return this.modelHistoryEntries.map((entry) => entry.message);
337
+ }
338
+ get modelHistoryEntries() {
333
339
  return this.historyEntries.flatMap((entry) => {
334
340
  const message = stripTauUserMetadataFromMessage(entry.message);
335
341
  if (message.role === "assistant" &&
336
342
  (message.stopReason === "error" || message.stopReason === "aborted")) {
337
343
  return [];
338
344
  }
339
- return [message];
345
+ return [{ id: entry.id, message }];
340
346
  });
341
347
  }
342
348
  get visibleHistoryEntries() {
@@ -375,7 +381,7 @@ export class AgentRuntime {
375
381
  this.submitPending = false;
376
382
  }
377
383
  }
378
- steer(text) {
384
+ steer(text, options = {}) {
379
385
  if (this.status !== "running") {
380
386
  throw new Error("cannot steer an idle agent");
381
387
  }
@@ -400,6 +406,7 @@ export class AgentRuntime {
400
406
  this.pendingSteering.push({
401
407
  id,
402
408
  text: normalized,
409
+ metadata: structuredClone([...(options.metadata ?? [])]),
403
410
  resolveApplied,
404
411
  resolveResult,
405
412
  rejectApplied,
@@ -476,7 +483,7 @@ export class AgentRuntime {
476
483
  throw error;
477
484
  }
478
485
  initialResult ??= result;
479
- const outcome = result.limitReached
486
+ const outcome = result.limitReached || result.finalMessage?.stopReason === "error"
480
487
  ? "failed"
481
488
  : result.blocked
482
489
  ? "blocked"
@@ -505,11 +512,11 @@ export class AgentRuntime {
505
512
  if (this.pendingSteering.length > 0) {
506
513
  this.rejectPendingSteering(new Error("steering was not applied before the turn ended"));
507
514
  }
508
- return initialResult;
515
+ return { ...initialResult, terminalResult: result };
509
516
  }
510
517
  associatedSteering = this.pendingSteering.splice(0);
511
518
  this.stopAtBoundaryRequested = false;
512
- await this.commitUserTextWithModelNotice(formatSteeringUserMessage(associatedSteering.map((item) => item.text)), turnSpec.modelNotice);
519
+ await this.commitUserTextWithModelNotice(formatSteeringUserMessage(associatedSteering.map((item) => item.text), associatedSteering.flatMap((item) => item.metadata)), turnSpec.modelNotice);
513
520
  turnSpec = this.continueTurnSettings(turnSpec);
514
521
  for (const submission of associatedSteering) {
515
522
  submission.resolveApplied({
@@ -634,27 +641,46 @@ export class AgentRuntime {
634
641
  }
635
642
  async runCompactionSummary(summaryPrompt, options, model = this.currentSpec.model) {
636
643
  try {
637
- const stream = model.stream({
638
- systemPrompt: COMPACTION_SUMMARIZATION_SYSTEM_PROMPT,
639
- messages: [
640
- {
641
- role: "user",
642
- content: [{ type: "text", text: summaryPrompt }],
643
- timestamp: this.clock.now(),
644
- },
645
- ],
646
- }, {
647
- ...options.streamOptions,
648
- reasoning: "high",
649
- sessionId: options.sessionId,
650
- ...(options.signal ? { signal: options.signal } : {}),
651
- });
652
- const final = await stream.result();
653
- const summary = extractAssistantText(final).trim();
654
- if (!summary) {
655
- throw new Error("summarization returned an empty response.");
644
+ for (let attempt = 1; attempt <= COMPACTION_MAX_ATTEMPTS; attempt += 1) {
645
+ options.signal?.throwIfAborted();
646
+ let final;
647
+ try {
648
+ const stream = model.stream({
649
+ systemPrompt: COMPACTION_SUMMARIZATION_SYSTEM_PROMPT,
650
+ messages: [
651
+ {
652
+ role: "user",
653
+ content: [{ type: "text", text: summaryPrompt }],
654
+ timestamp: this.clock.now(),
655
+ },
656
+ ],
657
+ }, {
658
+ ...options.streamOptions,
659
+ sessionId: options.sessionId,
660
+ ...(options.signal ? { signal: options.signal } : {}),
661
+ });
662
+ final = await stream.result();
663
+ }
664
+ catch (error) {
665
+ if (options.signal?.aborted || attempt === COMPACTION_MAX_ATTEMPTS) {
666
+ throw error;
667
+ }
668
+ continue;
669
+ }
670
+ if (final.stopReason === "aborted") {
671
+ options.signal?.throwIfAborted();
672
+ throw new Error(final.errorMessage || "summarization was aborted.");
673
+ }
674
+ const summary = extractAssistantText(final).trim();
675
+ if (final.stopReason !== "error" && summary) {
676
+ return summary;
677
+ }
678
+ if (attempt === COMPACTION_MAX_ATTEMPTS) {
679
+ throw new Error(final.errorMessage ||
680
+ (summary ? "summarization failed." : "summarization returned an empty response."));
681
+ }
656
682
  }
657
- return summary;
683
+ throw new Error("summarization failed.");
658
684
  }
659
685
  finally {
660
686
  model.cleanupSession(options.sessionId);
@@ -860,14 +886,15 @@ export class AgentRuntime {
860
886
  response: summaryResponse,
861
887
  userMessageCandidates: preparation.userMessageCandidates,
862
888
  });
889
+ const archive = await this.tryArchiveAutoCompaction(signal);
890
+ signal.throwIfAborted();
863
891
  const compactionSummary = buildCompactionSummary({
864
892
  summary: summaryResult.summary,
865
893
  preservedUserMessages: summaryResult.preservedUserMessages,
866
894
  });
867
895
  const compactionMessage = buildCompactionUserMessage({ summary: compactionSummary });
868
896
  const retainedMessageCount = preparation.retainedEntries.length;
869
- const textWithContext = this.prependCompactionContext(compactionMessage);
870
- const textWithMetadata = prependTauUserMetadata(textWithContext, [
897
+ const textWithMetadata = prependTauUserMetadata(compactionMessage, [
871
898
  {
872
899
  type: "auto-compaction",
873
900
  version: 1,
@@ -890,6 +917,8 @@ export class AgentRuntime {
890
917
  message: buildAutoCompactionContinuationMessage({
891
918
  cutType: preparation.cutType,
892
919
  now: this.clock.now(),
920
+ archive,
921
+ systemMessages: this.getCompactionContinuationSystemMessages?.() ?? [],
893
922
  }),
894
923
  };
895
924
  this.replaceHistoryEntries([summaryEntry, ...preparation.retainedEntries, continuationEntry]);
@@ -901,6 +930,20 @@ export class AgentRuntime {
901
930
  retainedMessageCount,
902
931
  };
903
932
  }
933
+ async tryArchiveAutoCompaction(signal) {
934
+ try {
935
+ return await this.archiveAutoCompaction({
936
+ agentId: this.agentId,
937
+ createdAt: this.clock.now(),
938
+ historyEntries: structuredClone(this.modelHistoryEntries),
939
+ signal,
940
+ });
941
+ }
942
+ catch {
943
+ signal.throwIfAborted();
944
+ return undefined;
945
+ }
946
+ }
904
947
  prependCompactionContext(text) {
905
948
  return prependTauHiddenSystemMessages(text, this.getCompactionContinuationSystemMessages?.() ?? []);
906
949
  }
@@ -1025,12 +1068,14 @@ export class AgentRuntime {
1025
1068
  ...(toolDone ? [] : [toolNext]),
1026
1069
  ]);
1027
1070
  if (next.source === "model_error") {
1028
- if (admittedToolCalls.length === 0) {
1029
- shouldNoteProviderError = true;
1071
+ if (!(next.error instanceof ProviderStreamError)) {
1030
1072
  throw next.error;
1031
1073
  }
1032
- const errorMessage = next.error instanceof Error ? next.error.message : String(next.error);
1033
- finalMessage = createToolRecoveryAssistantMessage({
1074
+ if (signal.aborted && admittedToolCalls.length === 0) {
1075
+ throw next.error;
1076
+ }
1077
+ const errorMessage = next.error.message;
1078
+ finalMessage = createFailedAssistantMessage({
1034
1079
  model: turnSettings.model.model,
1035
1080
  snapshot: latestAssistantSnapshot,
1036
1081
  toolCalls: admittedToolCalls,
@@ -1040,12 +1085,14 @@ export class AgentRuntime {
1040
1085
  });
1041
1086
  modelDone = true;
1042
1087
  void toolRunner.finish().catch(() => undefined);
1043
- toolRecoveryMode = signal.aborted
1044
- ? "stop"
1045
- : consumeSubturnRetry(retryBudget)
1046
- ? "continue"
1047
- : "stop";
1048
- recoveryToolResults.push(...pendingToolResults.splice(0));
1088
+ if (admittedToolCalls.length > 0) {
1089
+ toolRecoveryMode = signal.aborted
1090
+ ? "stop"
1091
+ : consumeSubturnRetry(retryBudget)
1092
+ ? "continue"
1093
+ : "stop";
1094
+ recoveryToolResults.push(...pendingToolResults.splice(0));
1095
+ }
1049
1096
  this.addMessage(finalMessage, { historyEntryId });
1050
1097
  yield {
1051
1098
  type: "assistant_final",
@@ -1374,7 +1421,7 @@ export class AgentRuntime {
1374
1421
  }
1375
1422
  }
1376
1423
  }
1377
- function createToolRecoveryAssistantMessage(options) {
1424
+ function createFailedAssistantMessage(options) {
1378
1425
  const content = [];
1379
1426
  if (options.snapshot?.thinking.trim()) {
1380
1427
  content.push({ type: "thinking", thinking: options.snapshot.thinking });
@@ -1 +1 @@
1
- {"version":3,"file":"agent_runtime.js","sourceRoot":"","sources":["../../../src/core/agent/agent_runtime.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACrD,OAAO,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAc9C,OAAO,EAAE,yBAAyB,EAAE,MAAM,wBAAwB,CAAC;AACnE,OAAO,EACL,sCAAsC,EACtC,yBAAyB,EACzB,sBAAsB,EACtB,6BAA6B,EAC7B,4BAA4B,EAC5B,sCAAsC,EACtC,8BAA8B,EAC9B,qBAAqB,EACrB,wBAAwB,GAEzB,MAAM,0BAA0B,CAAC;AAElC,OAAO,EAAE,eAAe,EAAE,wBAAwB,EAAE,MAAM,sBAAsB,CAAC;AAGjF,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,0BAA0B,EAAE,MAAM,qBAAqB,CAAC;AACjE,OAAO,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAC5D,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAE/D,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,EACL,iBAAiB,EACjB,oCAAoC,EACpC,qCAAqC,EACrC,sBAAsB,EACtB,8BAA8B,EAC9B,sBAAsB,EACtB,uBAAuB,EACvB,oBAAoB,EACpB,+BAA+B,GAChC,MAAM,2BAA2B,CAAC;AAOnC,MAAM,oBAAoB,GAAG,EAAE,UAAU,EAAE,CAAC,EAAE,OAAO,EAAE,KAAK,EAAW,CAAC;AACxE,MAAM,0BAA0B,GAAG,IAAI,CAAC;AA0IxC,MAAM,UAAU,eAAe,CAAC,OAQ/B;IACC,OAAO;QACL,KAAK,EAAE,OAAO,CAAC,KAAK;QACpB,GAAG,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACpE,WAAW,EAAE,EAAE,GAAG,OAAO,CAAC,WAAW,EAAE;QACvC,YAAY,EAAE,OAAO,CAAC,YAAY;QAClC,KAAK,EAAE,OAAO,CAAC,KAAK;QACpB,aAAa,EAAE,eAAe,CAAC,OAAO,CAAC,aAAa,CAAC;QACrD,WAAW,EAAE,EAAE,GAAG,oBAAoB,EAAE;QACxC,gBAAgB,EAAE,EAAE,GAAG,OAAO,CAAC,gBAAgB,EAAE;QACjD,gBAAgB,EAAE,0BAA0B;KAC7C,CAAC;AACJ,CAAC;AAED,SAAS,eAAe,CAAC,IAAe;IACtC,OAAO,UAAU,CAAC,QAAQ,CAAC;SACxB,MAAM,CACL,IAAI,CAAC,SAAS,CAAC;QACb,YAAY,EAAE,IAAI,CAAC,YAAY;QAC/B,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,QAAQ;QACnC,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE;QAC1B,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,OAAO;KAC1B,CAAC,CACH;SACA,MAAM,CAAC,KAAK,CAAC,CAAC;AACnB,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,KAAiB,EAAE,SAAiB;IACpE,MAAM,aAAa,GAAG,eAAe,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;IAC5D,MAAM,cAAc,GAAmB,EAAE,CAAC;IAC1C,MAAM,oBAAoB,GAA+C,EAAE,CAAC;IAC5E,MAAM,eAAe,GAAG,IAAI,GAAG,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC;IACxE,MAAM,4BAA4B,GAAG,GAAG,EAAE;QACxC,IAAI,EAAU,CAAC;QACf,GAAG,CAAC;YACF,EAAE,GAAG,WAAW,UAAU,EAAE,EAAE,CAAC;QACjC,CAAC,QAAQ,eAAe,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE;QAClC,eAAe,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACxB,OAAO,EAAE,CAAC;IACZ,CAAC,CAAC;IAEF,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,aAAa,CAAC,MAAM,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC;QAC7D,MAAM,KAAK,GAAG,aAAa,CAAC,KAAK,CAAE,CAAC;QACpC,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC3B,IACE,KAAK,CAAC,OAAO,CAAC,IAAI,KAAK,WAAW;YAClC,KAAK,CAAC,OAAO,CAAC,UAAU,KAAK,OAAO;YACpC,KAAK,CAAC,OAAO,CAAC,UAAU,KAAK,SAAS,EACtC,CAAC;YACD,SAAS;QACX,CAAC;QAED,MAAM,SAAS,GAAG,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAC5C,CAAC,OAAO,EAAuB,EAAE,CAAC,OAAO,CAAC,IAAI,KAAK,UAAU,CAC9D,CAAC;QACF,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC3B,SAAS;QACX,CAAC;QAED,MAAM,WAAW,GAAG,IAAI,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC;QACtE,MAAM,mBAAmB,GAAG,IAAI,GAAG,EAA6B,CAAC;QACjE,OAAO,aAAa,CAAC,KAAK,GAAG,CAAC,CAAC,EAAE,OAAO,CAAC,IAAI,KAAK,YAAY,EAAE,CAAC;YAC/D,MAAM,WAAW,GAAG,aAAa,CAAC,KAAK,GAAG,CAAC,CAAE,CAAC;YAC9C,MAAM,UAAU,GAAG,WAAW,CAAC,OAA4B,CAAC;YAC5D,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;gBAC5C,MAAM;YACR,CAAC;YACD,KAAK,IAAI,CAAC,CAAC;YACX,cAAc,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;YACjC,mBAAmB,CAAC,GAAG,CAAC,UAAU,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;QAC7D,CAAC;QAED,MAAM,gBAAgB,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,mBAAmB,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC;QAC/F,IAAI,gBAAgB,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAClC,SAAS;QACX,CAAC;QAED,KAAK,MAAM,QAAQ,IAAI,gBAAgB,EAAE,CAAC;YACxC,MAAM,OAAO,GAAsB;gBACjC,IAAI,EAAE,YAAY;gBAClB,UAAU,EAAE,QAAQ,CAAC,EAAE;gBACvB,QAAQ,EAAE,QAAQ,CAAC,IAAI;gBACvB,OAAO,EAAE;oBACP;wBACE,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,6FAA6F;qBACpG;iBACF;gBACD,OAAO,EAAE,IAAI;gBACb,SAAS;aACV,CAAC;YACF,MAAM,cAAc,GAAG,4BAA4B,EAAE,CAAC;YACtD,cAAc,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,cAAc,EAAE,OAAO,EAAE,CAAC,CAAC;YACrD,oBAAoB,CAAC,IAAI,CAAC,EAAE,cAAc,EAAE,OAAO,EAAE,CAAC,CAAC;YACvD,mBAAmB,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC;QAChD,CAAC;QAED,cAAc,CAAC,IAAI,CAAC;YAClB,EAAE,EAAE,4BAA4B,EAAE;YAClC,OAAO,EAAE,4BAA4B,CAAC;gBACpC,YAAY,EAAE,8DAA8D;gBAC5E,SAAS;gBACT,WAAW,EAAE,SAAS,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,mBAAmB,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAE,CAAC;gBAC/E,uBAAuB,EAAE,KAAK;gBAC9B,SAAS;aACV,CAAC;SACH,CAAC,CAAC;IACL,CAAC;IAED,IAAI,oBAAoB,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACtC,OAAO,EAAE,KAAK,EAAE,EAAE,GAAG,KAAK,EAAE,cAAc,EAAE,aAAa,EAAE,EAAE,oBAAoB,EAAE,CAAC;IACtF,CAAC;IAED,OAAO;QACL,KAAK,EAAE;YACL,OAAO,EAAE,KAAK,CAAC,OAAO;YACtB,QAAQ,EAAE,KAAK,CAAC,QAAQ,GAAG,cAAc,CAAC,MAAM,GAAG,aAAa,CAAC,MAAM;YACvE,cAAc;YACd,YAAY,EAAE,KAAK,CAAC,YAAY;YAChC,GAAG,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE,eAAe,EAAE,EAAE,GAAG,KAAK,CAAC,eAAe,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACpF;QACD,oBAAoB;KACrB,CAAC;AACJ,CAAC;AAED,MAAM,OAAO,YAAY;IACf,WAAW,CAAY;IACd,KAAK,CAAY;IACjB,SAAS,CAAiB;IAC1B,uCAAuC,CAA2B;IAC3E,cAAc,CAAiB;IAC/B,QAAQ,CAAS;IACjB,YAAY,CAAS;IACrB,eAAe,CAAwB;IACvC,qBAAqB,CAAmB;IACxC,aAAa,GAAG,KAAK,CAAC;IACtB,uBAAuB,GAAG,KAAK,CAAC;IAChC,eAAe,GAOlB,EAAE,CAAC;IACA,QAAQ,GAAG,KAAK,CAAC;IACjB,OAAO,CAAS;IAExB,YAAY,OAA4B;QACtC,IAAI,CAAC,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC;QAChC,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC;QACnC,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;QAC3B,IAAI,CAAC,uCAAuC,GAAG,OAAO,CAAC,uCAAuC,CAAC;QAC/F,MAAM,YAAY,GAAG,eAAe,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QACnD,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;YAClB,MAAM,SAAS,GAAG,iBAAiB,CAAC,OAAO,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,KAAK,CAAC;YAC3E,IAAI,CAAC,OAAO,GAAG,SAAS,CAAC,OAAO,CAAC;YACjC,IAAI,CAAC,QAAQ,GAAG,SAAS,CAAC,QAAQ,CAAC;YACnC,IAAI,CAAC,cAAc,GAAG,SAAS,CAAC,cAAc,CAAC;YAC/C,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;YACjC,IAAI,CAAC,eAAe;gBAClB,SAAS,CAAC,YAAY,KAAK,YAAY,IAAI,SAAS,CAAC,eAAe;oBAClE,CAAC,CAAC,EAAE,GAAG,SAAS,CAAC,eAAe,EAAE;oBAClC,CAAC,CAAC,SAAS,CAAC;QAClB,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,OAAO,GAAG,UAAU,EAAE,CAAC;YAC5B,IAAI,CAAC,QAAQ,GAAG,CAAC,CAAC;YAClB,IAAI,CAAC,cAAc,GAAG,EAAE,CAAC;YACzB,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;QACnC,CAAC;IACH,CAAC;IAED,IAAI,MAAM;QACR,OAAO,IAAI,CAAC,qBAAqB,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC;IACzD,CAAC;IAED,IAAI,KAAK;QACP,OAAO,IAAI,CAAC,QAAQ,EAAE,CAAC;IACzB,CAAC;IAED,IAAI,IAAI;QACN,OAAO,IAAI,CAAC,WAAW,CAAC;IAC1B,CAAC;IAED,QAAQ;QACN,OAAO;YACL,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,cAAc,EAAE,eAAe,CAAC,IAAI,CAAC,cAAc,CAAC;YACpD,YAAY,EAAE,IAAI,CAAC,YAAY;YAC/B,GAAG,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE,eAAe,EAAE,EAAE,GAAG,IAAI,CAAC,eAAe,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAClF,CAAC;IACJ,CAAC;IAED,UAAU,CAAC,IAAe;QACxB,IAAI,CAAC,YAAY,EAAE,CAAC;QACpB,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;QACxB,IAAI,CAAC,YAAY,GAAG,eAAe,CAAC,IAAI,CAAC,CAAC;QAC1C,IAAI,IAAI,CAAC,eAAe,EAAE,YAAY,KAAK,IAAI,CAAC,YAAY,EAAE,CAAC;YAC7D,IAAI,CAAC,eAAe,GAAG,SAAS,CAAC;QACnC,CAAC;IACH,CAAC;IAED,KAAK;QACH,IAAI,IAAI,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;YAC9B,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAC;QAClD,CAAC;QACD,IAAI,CAAC,qBAAqB,EAAE,CAAC;QAC7B,IAAI,CAAC,cAAc,GAAG,EAAE,CAAC;QACzB,IAAI,CAAC,QAAQ,GAAG,CAAC,CAAC;QAClB,IAAI,CAAC,eAAe,GAAG,SAAS,CAAC;QACjC,IAAI,CAAC,OAAO,GAAG,UAAU,EAAE,CAAC;IAC9B,CAAC;IAED,YAAY,CAAC,KAAiB;QAC5B,IAAI,IAAI,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;YAC9B,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAC;QACpD,CAAC;QACD,IAAI,CAAC,qBAAqB,EAAE,CAAC;QAC7B,MAAM,QAAQ,GAAG,iBAAiB,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC;QAC5D,IAAI,CAAC,OAAO,GAAG,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC;QACtC,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC;QACxC,IAAI,CAAC,cAAc,GAAG,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC;QACpD,IAAI,CAAC,eAAe;YAClB,QAAQ,CAAC,KAAK,CAAC,YAAY,KAAK,IAAI,CAAC,YAAY,IAAI,QAAQ,CAAC,KAAK,CAAC,eAAe;gBACjF,CAAC,CAAC,EAAE,GAAG,QAAQ,CAAC,KAAK,CAAC,eAAe,EAAE;gBACvC,CAAC,CAAC,SAAS,CAAC;QAChB,OAAO,QAAQ,CAAC;IAClB,CAAC;IAEO,qBAAqB,CAAC,OAAgC;QAC5D,IAAI,CAAC,qBAAqB,EAAE,CAAC;QAC7B,IAAI,CAAC,cAAc,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC,CAAC;QACrE,IAAI,CAAC,QAAQ,IAAI,CAAC,CAAC;QACnB,IAAI,CAAC,eAAe,GAAG,SAAS,CAAC;IACnC,CAAC;IAED,OAAO;QACL,IAAI,IAAI,CAAC,QAAQ;YAAE,OAAO;QAC1B,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;QACrB,IAAI,CAAC,SAAS,EAAE,CAAC;QACjB,IAAI,CAAC,qBAAqB,EAAE,CAAC;IAC/B,CAAC;IAEO,qBAAqB;QAC3B,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACtD,CAAC;IAEO,YAAY;QAClB,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAClB,MAAM,IAAI,KAAK,CAAC,UAAU,IAAI,CAAC,OAAO,eAAe,CAAC,CAAC;QACzD,CAAC;IACH,CAAC;IAED,KAAK,CAAC,cAAc,CAClB,YAAoB,EACpB,OAAqC;QAErC,OAAO,MAAM,IAAI,CAAC,6BAA6B,CAC7C,YAAY,EACZ,IAAI,CAAC,WAAW,CAAC,WAAW,EAC5B,OAAO,CACR,CAAC;IACJ,CAAC;IAEO,KAAK,CAAC,6BAA6B,CACzC,YAAoB,EACpB,WAA+B,EAC/B,OAAqC;QAErC,IAAI,CAAC,YAAY,EAAE,CAAC;QACpB,MAAM,OAAO,GAAgB;YAC3B,IAAI,EAAE,MAAM;YACZ,OAAO,EAAE;gBACP;oBACE,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE,kBAAkB,CAAC,YAAY,EAAE,WAAW,CAAC;iBACpD;aACF;YACD,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE;SAC5B,CAAC;QACF,MAAM,KAAK,GAAG,IAAI,CAAC,kBAAkB,CAAC,OAAO,EAAE,OAAO,EAAE,cAAc,CAAC,CAAC;QACxE,MAAM,IAAI,CAAC,OAAO,CAAC;YACjB,IAAI,EAAE,cAAc;YACpB,cAAc,EAAE,KAAK,CAAC,EAAE;YACxB,OAAO;YACP,QAAQ,EAAE,IAAI,CAAC,QAAQ;SACxB,CAAC,CAAC;QACH,OAAO,KAAK,CAAC,EAAE,CAAC;IAClB,CAAC;IAEO,UAAU,CAAC,OAAgB,EAAE,OAAqC;QACxE,OAAO,IAAI,CAAC,kBAAkB,CAAC,OAAO,EAAE,OAAO,EAAE,cAAc,CAAC,CAAC,EAAE,CAAC;IACtE,CAAC;IAED,KAAK,CAAC,0BAA0B,CAC9B,OAAyB,EACzB,cAAsB;QAEtB,IAAI,IAAI,CAAC,MAAM,KAAK,MAAM,IAAI,OAAO,CAAC,UAAU,KAAK,SAAS,EAAE,CAAC;YAC/D,MAAM,IAAI,KAAK,CAAC,gEAAgE,CAAC,CAAC;QACpF,CAAC;QACD,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,cAAc,EAAE,CAAC,CAAC;QAC7C,MAAM,IAAI,CAAC,OAAO,CAAC;YACjB,IAAI,EAAE,iBAAiB;YACvB,cAAc;YACd,OAAO;YACP,SAAS,EAAE,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,SAAS;YACjD,eAAe,EAAE,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,eAAe;YAC7D,QAAQ,EAAE,IAAI,CAAC,QAAQ;SACxB,CAAC,CAAC;IACL,CAAC;IAED,oBAAoB;QAClB,OAAO,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE;YAClD,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,KAAK,MAAM,IAAI,CAAC,IAAI,CAAC,wBAAwB,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC3E,OAAO,EAAE,CAAC;YACZ,CAAC;YACD,OAAO,CAAC,EAAE,cAAc,EAAE,KAAK,CAAC,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,qBAAqB,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QACzF,CAAC,CAAC,CAAC;IACL,CAAC;IAEO,wBAAwB,CAAC,KAAa;QAC5C,MAAM,KAAK,GAAG,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;QACzC,IACE,CAAC,KAAK;YACN,qCAAqC,CAAC,KAAK,CAAC,OAAO,CAAC;YACpD,sBAAsB,CAAC,KAAK,CAAC,OAAO,CAAC,EACrC,CAAC;YACD,OAAO,KAAK,CAAC;QACf,CAAC;QAED,KAAK,IAAI,CAAC,GAAG,KAAK,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;YACvC,MAAM,OAAO,GAAG,IAAI,CAAC,cAAc,CAAC,CAAC,CAAE,CAAC,OAAO,CAAC;YAChD,IAAI,qCAAqC,CAAC,OAAO,CAAC,EAAE,CAAC;gBACnD,OAAO,IAAI,CAAC;YACd,CAAC;YACD,MAAM,QAAQ,GAAG,oCAAoC,CAAC,OAAO,CAAC,CAAC;YAC/D,IAAI,QAAQ,EAAE,CAAC;gBACb,OAAO,KAAK,CAAC;YACf,CAAC;QACH,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAED,KAAK,CAAC,sBAAsB,CAAC,cAAsB;QACjD,IAAI,CAAC,YAAY,EAAE,CAAC;QACpB,IAAI,IAAI,CAAC,MAAM,KAAK,MAAM,EAAE,CAAC;YAC3B,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAC;QACnD,CAAC;QAED,MAAM,YAAY,GAAG,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,KAAK,cAAc,CAAC,CAAC;QAC3F,IAAI,YAAY,GAAG,CAAC,EAAE,CAAC;YACrB,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,MAAM,KAAK,GAAG,IAAI,CAAC,cAAc,CAAC,YAAY,CAAC,CAAC;QAChD,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,MAAM,IAAI,KAAK,CAAC,kCAAkC,YAAY,EAAE,CAAC,CAAC;QACpE,CAAC;QACD,IACE,KAAK,CAAC,OAAO,CAAC,IAAI,KAAK,MAAM;YAC7B,qCAAqC,CAAC,KAAK,CAAC,OAAO,CAAC;YACpD,sBAAsB,CAAC,KAAK,CAAC,OAAO,CAAC,EACrC,CAAC;YACD,OAAO,SAAS,CAAC;QACnB,CAAC;QACD,MAAM,MAAM,GAAG;YACb,cAAc,EAAE,KAAK,CAAC,EAAE;YACxB,IAAI,EAAE,IAAI,CAAC,qBAAqB,CAAC,KAAK,CAAC,OAAO,CAAC;YAC/C,eAAe,EAAE,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;SAChF,CAAC;QACF,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,EAAE,YAAY,CAAC,CAAC,CAAC;QACvE,MAAM,IAAI,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,iBAAiB,EAAE,GAAG,MAAM,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;QACpF,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,IAAI,OAAO;QACT,OAAO,IAAI,CAAC,qBAAqB,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAC9C,eAAe,CAAC,+BAA+B,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAChE,CAAC;IACJ,CAAC;IAED,IAAY,YAAY;QACtB,OAAO,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE;YAC3C,MAAM,OAAO,GAAG,+BAA+B,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;YAC/D,IACE,OAAO,CAAC,IAAI,KAAK,WAAW;gBAC5B,CAAC,OAAO,CAAC,UAAU,KAAK,OAAO,IAAI,OAAO,CAAC,UAAU,KAAK,SAAS,CAAC,EACpE,CAAC;gBACD,OAAO,EAAE,CAAC;YACZ,CAAC;YACD,OAAO,CAAC,OAAO,CAAC,CAAC;QACnB,CAAC,CAAC,CAAC;IACL,CAAC;IAED,IAAY,qBAAqB;QAC/B,OAAO,IAAI,CAAC,cAAc,CAAC,MAAM,CAC/B,CAAC,KAAK,EAAE,EAAE,CACR,CAAC,qCAAqC,CAAC,KAAK,CAAC,OAAO,CAAC;YACrD,CAAC,sBAAsB,CAAC,KAAK,CAAC,OAAO,CAAC,CACzC,CAAC;IACJ,CAAC;IAED,IAAI,UAAU;QACZ,OAAO,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,eAAe,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;IAC5E,CAAC;IAED,IAAI,yBAAyB;QAC3B,OAAO,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;YACzC,EAAE,EAAE,KAAK,CAAC,EAAE;YACZ,OAAO,EAAE,eAAe,CAAC,KAAK,CAAC,OAAO,CAAC;SACxC,CAAC,CAAC,CAAC;IACN,CAAC;IAED,IAAI,sBAAsB;QACxB,OAAO,IAAI,CAAC,qBAAqB,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;YAChD,GAAG,KAAK;YACR,OAAO,EAAE,eAAe,CAAC,+BAA+B,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;SACzE,CAAC,CAAC,CAAC;IACN,CAAC;IAED,IAAI,YAAY;QACd,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,IAAY,EAAE,OAAqC;QAC9D,IAAI,CAAC,YAAY,EAAE,CAAC;QACpB,IAAI,IAAI,CAAC,MAAM,KAAK,SAAS,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;YACpD,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAC;QAC9C,CAAC;QACD,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;QAC1B,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;YACzC,OAAO,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC;QAC9B,CAAC;gBAAS,CAAC;YACT,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;QAC7B,CAAC;IACH,CAAC;IAED,KAAK,CAAC,IAAY;QAChB,IAAI,IAAI,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;YAC9B,MAAM,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAC;QAChD,CAAC;QACD,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;QAC/B,IAAI,CAAC,UAAU,EAAE,CAAC;YAChB,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAC;QACtD,CAAC;QACD,IAAI,CAAC,uBAAuB,GAAG,IAAI,CAAC;QACpC,IAAI,cAA2D,CAAC;QAChE,IAAI,aAAsC,CAAC;QAC3C,MAAM,OAAO,GAAG,IAAI,OAAO,CAAsB,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACnE,cAAc,GAAG,OAAO,CAAC;YACzB,aAAa,GAAG,MAAM,CAAC;QACzB,CAAC,CAAC,CAAC;QACH,IAAI,aAAgD,CAAC;QACrD,IAAI,YAAqC,CAAC;QAC1C,MAAM,MAAM,GAAG,IAAI,OAAO,CAAiB,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YAC7D,aAAa,GAAG,OAAO,CAAC;YACxB,YAAY,GAAG,MAAM,CAAC;QACxB,CAAC,CAAC,CAAC;QACH,MAAM,EAAE,GAAG,YAAY,UAAU,EAAE,EAAE,CAAC;QACtC,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC;YACxB,EAAE;YACF,IAAI,EAAE,UAAU;YAChB,cAAc;YACd,aAAa;YACb,aAAa;YACb,YAAY;SACb,CAAC,CAAC;QACH,OAAO,EAAE,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC;IACjC,CAAC;IAED,cAAc;QACZ,MAAM,SAAS,GAAG,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;QACjD,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACzB,IAAI,CAAC,uBAAuB,GAAG,KAAK,CAAC;YACrC,MAAM,KAAK,GAAG,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAC;YAC7D,KAAK,MAAM,UAAU,IAAI,SAAS,EAAE,CAAC;gBACnC,UAAU,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;gBAChC,UAAU,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;YACjC,CAAC;QACH,CAAC;QACD,OAAO,SAAS,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;IACzD,CAAC;IAED,qBAAqB;QACnB,IAAI,IAAI,CAAC,MAAM,KAAK,SAAS;YAAE,OAAO,KAAK,CAAC;QAC5C,IAAI,CAAC,uBAAuB,GAAG,IAAI,CAAC;QACpC,OAAO,IAAI,CAAC;IACd,CAAC;IAED,oBAAoB;QAClB,IAAI,IAAI,CAAC,MAAM,KAAK,SAAS,IAAI,CAAC,IAAI,CAAC,uBAAuB;YAAE,OAAO,KAAK,CAAC;QAC7E,IAAI,IAAI,CAAC,eAAe,CAAC,MAAM,GAAG,CAAC;YAAE,OAAO,KAAK,CAAC;QAClD,IAAI,CAAC,uBAAuB,GAAG,KAAK,CAAC;QACrC,OAAO,IAAI,CAAC;IACd,CAAC;IAED,SAAS;QACP,MAAM,UAAU,GAAG,IAAI,CAAC,qBAAqB,CAAC;QAC9C,IAAI,CAAC,UAAU,IAAI,UAAU,CAAC,MAAM,CAAC,OAAO;YAAE,OAAO,KAAK,CAAC;QAC3D,UAAU,CAAC,KAAK,EAAE,CAAC;QACnB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,KAAK,CAAC,OAAO;QACX,IAAI,CAAC,YAAY,EAAE,CAAC;QACpB,IAAI,IAAI,CAAC,qBAAqB,EAAE,CAAC;YAC/B,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAC;QAC9C,CAAC;QACD,IAAI,CAAC,gCAAgC,EAAE,CAAC;QAExC,MAAM,UAAU,GAAG,IAAI,eAAe,EAAE,CAAC;QACzC,IAAI,CAAC,qBAAqB,GAAG,UAAU,CAAC;QACxC,IAAI,aAA0C,CAAC;QAC/C,IAAI,kBAAkB,GAAgC,EAAE,CAAC;QACzD,IAAI,QAAQ,GAAG,IAAI,CAAC,mBAAmB,EAAE,CAAC;QAE1C,IAAI,CAAC;YACH,OAAO,IAAI,EAAE,CAAC;gBACZ,MAAM,IAAI,CAAC,OAAO,CAAC;oBACjB,IAAI,EAAE,cAAc;oBACpB,MAAM,EAAE,QAAQ,CAAC,MAAM;oBACvB,cAAc,EAAE,QAAQ,CAAC,cAAc;iBACxC,CAAC,CAAC;gBACH,MAAM,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;gBAC7D,IAAI,MAAuB,CAAC;gBAC5B,IAAI,CAAC;oBACH,OAAO,IAAI,EAAE,CAAC;wBACZ,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,IAAI,EAAE,CAAC;wBACjC,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;4BACd,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC;4BACpB,MAAM;wBACR,CAAC;wBACD,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;oBACjC,CAAC;gBACH,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,UAAU,CAAC,KAAK,EAAE,CAAC;oBACnB,MAAM,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;oBACzC,MAAM,KAAK,CAAC;gBACd,CAAC;gBAED,aAAa,KAAK,MAAM,CAAC;gBACzB,MAAM,OAAO,GAAG,MAAM,CAAC,YAAY;oBACjC,CAAC,CAAC,QAAQ;oBACV,CAAC,CAAC,MAAM,CAAC,OAAO;wBACd,CAAC,CAAC,SAAS;wBACX,CAAC,CAAC,MAAM,CAAC,OAAO;4BACd,CAAC,CAAC,aAAa;4BACf,CAAC,CAAC,IAAI,CAAC,uBAAuB;gCAC5B,CAAC,CAAC,SAAS;gCACX,CAAC,CAAC,WAAW,CAAC;gBACtB,MAAM,IAAI,CAAC,OAAO,CAAC;oBACjB,IAAI,EAAE,eAAe;oBACrB,MAAM,EAAE,QAAQ,CAAC,MAAM;oBACvB,cAAc,EAAE,QAAQ,CAAC,cAAc;oBACvC,OAAO;iBACR,CAAC,CAAC;gBACH,KAAK,MAAM,UAAU,IAAI,kBAAkB,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;oBACtD,UAAU,CAAC,aAAa,CAAC;wBACvB,MAAM,EAAE,QAAQ,CAAC,MAAM;wBACvB,cAAc,EAAE,QAAQ,CAAC,cAAc;wBACvC,MAAM;qBACP,CAAC,CAAC;gBACL,CAAC;gBAED,IACE,UAAU,CAAC,MAAM,CAAC,OAAO;oBACzB,MAAM,CAAC,OAAO;oBACd,MAAM,CAAC,YAAY;oBACnB,IAAI,CAAC,eAAe,CAAC,MAAM,KAAK,CAAC,EACjC,CAAC;oBACD,IAAI,IAAI,CAAC,eAAe,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;wBACpC,IAAI,CAAC,qBAAqB,CAAC,IAAI,KAAK,CAAC,gDAAgD,CAAC,CAAC,CAAC;oBAC1F,CAAC;oBACD,OAAO,aAAa,CAAC;gBACvB,CAAC;gBAED,kBAAkB,GAAG,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;gBACpD,IAAI,CAAC,uBAAuB,GAAG,KAAK,CAAC;gBACrC,MAAM,IAAI,CAAC,6BAA6B,CACtC,yBAAyB,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EACtE,QAAQ,CAAC,WAAW,CACrB,CAAC;gBACF,QAAQ,GAAG,IAAI,CAAC,oBAAoB,CAAC,QAAQ,CAAC,CAAC;gBAC/C,KAAK,MAAM,UAAU,IAAI,kBAAkB,EAAE,CAAC;oBAC5C,UAAU,CAAC,cAAc,CAAC;wBACxB,MAAM,EAAE,QAAQ,CAAC,MAAM;wBACvB,cAAc,EAAE,QAAQ,CAAC,cAAc;qBACxC,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,aAAa,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;YAChF,KAAK,MAAM,UAAU,IAAI,kBAAkB,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;gBACtD,UAAU,CAAC,aAAa,CAAC,aAAa,CAAC,CAAC;gBACxC,UAAU,CAAC,YAAY,CAAC,aAAa,CAAC,CAAC;YACzC,CAAC;YACD,IAAI,CAAC,qBAAqB,CAAC,aAAa,CAAC,CAAC;YAC1C,MAAM,KAAK,CAAC;QACd,CAAC;gBAAS,CAAC;YACT,IAAI,IAAI,CAAC,qBAAqB,KAAK,UAAU,EAAE,CAAC;gBAC9C,IAAI,CAAC,qBAAqB,GAAG,SAAS,CAAC;gBACvC,IAAI,CAAC,uBAAuB,GAAG,KAAK,CAAC;YACvC,CAAC;QACH,CAAC;IACH,CAAC;IAEO,qBAAqB,CAAC,KAAY;QACxC,KAAK,MAAM,UAAU,IAAI,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;YACxD,UAAU,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;YAChC,UAAU,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;QACjC,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,OAAO,CAAC,KAAiB;QACrC,MAAM,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;IAC9B,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,OAA+B;QAC3C,IAAI,CAAC,YAAY,EAAE,CAAC;QACpB,IAAI,IAAI,CAAC,MAAM,KAAK,MAAM,EAAE,CAAC;YAC3B,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAC;QACpD,CAAC;QACD,MAAM,IAAI,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,kBAAkB,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,CAAC;QACnE,IAAI,MAA6B,CAAC;QAClC,IAAI,CAAC;YACH,MAAM,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;QAC1C,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,OAAO,GAAG,OAAO,CAAC,MAAM,EAAE,OAAO,KAAK,IAAI,CAAC;YACjD,MAAM,IAAI,CAAC,OAAO,CAChB,OAAO;gBACL,CAAC,CAAC,EAAE,IAAI,EAAE,gBAAgB,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,SAAS,EAAE;gBAClE,CAAC,CAAC;oBACE,IAAI,EAAE,gBAAgB;oBACtB,MAAM,EAAE,QAAQ;oBAChB,OAAO,EAAE,QAAQ;oBACjB,YAAY,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;iBACrE,CACN,CAAC;YACF,MAAM,KAAK,CAAC;QACd,CAAC;QAED,MAAM,qBAAqB,GAAG,IAAI,CAAC,cAAc,CAAC,CAAC,CAAE,CAAC,EAAE,CAAC;QACzD,MAAM,IAAI,CAAC,OAAO,CAAC;YACjB,IAAI,EAAE,gBAAgB;YACtB,MAAM,EAAE,QAAQ;YAChB,OAAO,EAAE,WAAW;YACpB,MAAM,EAAE;gBACN,qBAAqB;gBACrB,0BAA0B,EAAE,qBAAqB;gBACjD,iBAAiB,EAAE,MAAM,CAAC,iBAAiB;gBAC3C,OAAO,EAAE,eAAe;gBACxB,oBAAoB,EAAE,CAAC;aACxB;YACD,QAAQ,EAAE,IAAI,CAAC,QAAQ;SACxB,CAAC,CAAC;QACH,OAAO,MAAM,CAAC;IAChB,CAAC;IAEO,KAAK,CAAC,UAAU,CAAC,OAA+B;QACtD,MAAM,WAAW,GAAG,wBAAwB,CAAC,IAAI,CAAC,cAAc,EAAE;YAChE,YAAY,EAAE,IAAI,CAAC,WAAW,CAAC,YAAY;SAC5C,CAAC,CAAC;QACH,IAAI,CAAC,WAAW,EAAE,CAAC;YACjB,MAAM,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAC;QACjD,CAAC;QAED,MAAM,aAAa,GAAG,4BAA4B,CAAC;YACjD,WAAW;YACX,QAAQ,EAAE,OAAO,CAAC,QAAQ;SAC3B,CAAC,CAAC;QAEH,MAAM,eAAe,GAAG,MAAM,IAAI,CAAC,oBAAoB,CAAC,aAAa,EAAE;YACrE,SAAS,EAAE,WAAW,UAAU,EAAE,EAAE;YACpC,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,aAAa,EAAE,IAAI,CAAC,WAAW,CAAC,aAAa;SAC9C,CAAC,CAAC;QACH,MAAM,aAAa,GAAG,8BAA8B,CAAC;YACnD,QAAQ,EAAE,eAAe;YACzB,qBAAqB,EAAE,WAAW,CAAC,qBAAqB;SACzD,CAAC,CAAC;QAEH,MAAM,EAAE,iBAAiB,EAAE,qBAAqB,EAAE,GAAG,6BAA6B,CAAC;YACjF,OAAO,EAAE,aAAa,CAAC,OAAO;YAC9B,IAAI,EAAE,OAAO,CAAC,IAAI;YAClB,mBAAmB,EAAE,WAAW,CAAC,mBAAmB;YACpD,qBAAqB,EAAE,aAAa,CAAC,qBAAqB;SAC3D,CAAC,CAAC;QAEH,MAAM,eAAe,GAAG,IAAI,CAAC,wBAAwB,CAAC,iBAAiB,CAAC,CAAC;QACzE,MAAM,gBAAgB,GAAG,sBAAsB,CAAC,eAAe,EAAE;YAC/D;gBACE,IAAI,EAAE,YAAY;gBAClB,OAAO,EAAE,CAAC;gBACV,OAAO,EAAE,aAAa,CAAC,OAAO;gBAC9B,qBAAqB,EAAE,aAAa,CAAC,qBAAqB;aAC3D;SACF,CAAC,CAAC;QAEH,MAAM,YAAY,GAAiB;YACjC,EAAE,EAAE,IAAI,CAAC,oBAAoB,EAAE;YAC/B,OAAO,EAAE;gBACP,IAAI,EAAE,MAAM;gBACZ,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,gBAAgB,EAAE,CAAC;gBACnD,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE;aAC5B;SACF,CAAC;QACF,OAAO,CAAC,MAAM,EAAE,cAAc,EAAE,CAAC;QACjC,IAAI,CAAC,qBAAqB,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC;QAE3C,OAAO;YACL,iBAAiB;YACjB,qBAAqB;SACtB,CAAC;IACJ,CAAC;IAEO,KAAK,CAAC,oBAAoB,CAChC,aAAqB,EACrB,OAIC,EACD,KAAK,GAAkB,IAAI,CAAC,WAAW,CAAC,KAAK;QAE7C,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,CACzB;gBACE,YAAY,EAAE,sCAAsC;gBACpD,QAAQ,EAAE;oBACR;wBACE,IAAI,EAAE,MAAM;wBACZ,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,aAAa,EAAE,CAAC;wBAChD,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE;qBAC5B;iBACF;aACF,EACD;gBACE,GAAG,OAAO,CAAC,aAAa;gBACxB,SAAS,EAAE,MAAM;gBACjB,SAAS,EAAE,OAAO,CAAC,SAAS;gBAC5B,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aACtD,CACF,CAAC;YACF,MAAM,KAAK,GAAG,MAAM,MAAM,CAAC,MAAM,EAAE,CAAC;YACpC,MAAM,OAAO,GAAG,oBAAoB,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,CAAC;YACnD,IAAI,CAAC,OAAO,EAAE,CAAC;gBACb,MAAM,IAAI,KAAK,CAAC,2CAA2C,CAAC,CAAC;YAC/D,CAAC;YAED,OAAO,OAAO,CAAC;QACjB,CAAC;gBAAS,CAAC;YACT,KAAK,CAAC,cAAc,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QAC1C,CAAC;IACH,CAAC;IAEO,kBAAkB,CAAC,OAAgB,EAAE,WAAoB;QAC/D,MAAM,EAAE,GAAG,IAAI,CAAC,oBAAoB,CAAC,WAAW,CAAC,CAAC;QAClD,MAAM,KAAK,GAAiB,EAAE,EAAE,EAAE,OAAO,EAAE,eAAe,CAAC,OAAO,CAAC,EAAE,CAAC;QACtE,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAChC,IAAI,CAAC,QAAQ,IAAI,CAAC,CAAC;QACnB,OAAO,KAAK,CAAC;IACf,CAAC;IAEO,oBAAoB,CAAC,WAAoB;QAC/C,IAAI,WAAW,KAAK,SAAS,EAAE,CAAC;YAC9B,MAAM,SAAS,GAAG,WAAW,CAAC,IAAI,EAAE,CAAC;YACrC,IAAI,CAAC,SAAS,EAAE,CAAC;gBACf,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAC;YACxD,CAAC;YACD,IAAI,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,KAAK,SAAS,CAAC,EAAE,CAAC;gBAChE,MAAM,IAAI,KAAK,CAAC,qBAAqB,SAAS,kBAAkB,CAAC,CAAC;YACpE,CAAC;YACD,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,IAAI,SAAS,GAAG,WAAW,UAAU,EAAE,EAAE,CAAC;QAC1C,OAAO,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,KAAK,SAAS,CAAC,EAAE,CAAC;YACnE,SAAS,GAAG,WAAW,UAAU,EAAE,EAAE,CAAC;QACxC,CAAC;QACD,OAAO,SAAS,CAAC;IACnB,CAAC;IAEO,eAAe,CAAC,OAAgB;QACtC,IAAI,OAAO,OAAO,CAAC,OAAO,KAAK,QAAQ,EAAE,CAAC;YACxC,OAAO,oBAAoB,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QAC/C,CAAC;QAED,MAAM,KAAK,GAAa,EAAE,CAAC;QAC3B,KAAK,MAAM,KAAK,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;YACpC,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;gBAC9B,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACpB,CAAC;iBAAM,IAAI,KAAK,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;gBACjC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;YAC/B,CAAC;QACH,CAAC;QAED,OAAO,oBAAoB,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;IAClD,CAAC;IAEO,qBAAqB,CAAC,OAAgB;QAC5C,OAAO,uBAAuB,CAAC,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC,CAAC;IAChE,CAAC;IAEO,gCAAgC;QACtC,KAAK,IAAI,CAAC,GAAG,IAAI,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;YAC5D,MAAM,KAAK,GAAG,IAAI,CAAC,cAAc,CAAC,CAAC,CAAE,CAAC;YACtC,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;gBAClC,OAAO,KAAK,CAAC,EAAE,CAAC;YAClB,CAAC;QACH,CAAC;QAED,MAAM,IAAI,KAAK,CAAC,kDAAkD,CAAC,CAAC;IACtE,CAAC;IAEO,mBAAmB;QACzB,OAAO;YACL,MAAM,EAAE,QAAQ,UAAU,EAAE,EAAE;YAC9B,cAAc,EAAE,IAAI,CAAC,gCAAgC,EAAE;YACvD,YAAY,EAAE,eAAe,CAAC,IAAI,CAAC,WAAW,CAAC;YAC/C,KAAK,EAAE,IAAI,CAAC,WAAW,CAAC,KAAK;YAC7B,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,IAAI,CAAC,WAAW,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACtF,WAAW,EAAE,EAAE,GAAG,IAAI,CAAC,WAAW,CAAC,WAAW,EAAE;YAChD,YAAY,EAAE,IAAI,CAAC,WAAW,CAAC,YAAY;YAC3C,KAAK,EAAE,IAAI,CAAC,WAAW,CAAC,KAAK;YAC7B,aAAa,EAAE,eAAe,CAAC,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC;YAC9D,WAAW,EAAE,EAAE,GAAG,IAAI,CAAC,WAAW,CAAC,WAAW,EAAE;YAChD,gBAAgB,EAAE,EAAE,GAAG,IAAI,CAAC,WAAW,CAAC,gBAAgB,EAAE;YAC1D,gBAAgB,EAAE,IAAI,CAAC,WAAW,CAAC,gBAAgB;SACpD,CAAC;IACJ,CAAC;IAEO,oBAAoB,CAAC,YAA2B;QACtD,OAAO;YACL,GAAG,YAAY;YACf,MAAM,EAAE,QAAQ,UAAU,EAAE,EAAE;YAC9B,cAAc,EAAE,IAAI,CAAC,gCAAgC,EAAE;SACxD,CAAC;IACJ,CAAC;IAEO,KAAK,CAAC,CAAC,WAAW,CACxB,MAAmB,EACnB,YAA2B;QAE3B,IAAI,QAAQ,GAAG,CAAC,CAAC;QACjB,IAAI,mBAAmB,GAAG,KAAK,CAAC;QAChC,IAAI,gBAA8C,CAAC;QACnD,IAAI,WAAW,GAAuB,EAAE,SAAS,EAAE,YAAY,CAAC,WAAW,CAAC,UAAU,EAAE,CAAC;QAEzF,OAAO,QAAQ,GAAG,YAAY,CAAC,gBAAgB,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;YACnE,mBAAmB,GAAG,KAAK,CAAC;YAC5B,IAAI,IAAI,CAAC,uBAAuB,CAAC,YAAY,CAAC,EAAE,CAAC;gBAC/C,MAAM,gBAAgB,GAAG,KAAK,CAAC,CAAC,IAAI,CAAC,yBAAyB,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;gBACrF,IAAI,gBAAgB,CAAC,OAAO,IAAI,gBAAgB,CAAC,OAAO,EAAE,CAAC;oBACzD,OAAO,gBAAgB,CAAC;gBAC1B,CAAC;YACH,CAAC;YAED,QAAQ,IAAI,CAAC,CAAC;YACd,MAAM,EAAE,YAAY,EAAE,yBAAyB,EAAE,GAAG,KAAK,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAC9E,MAAM,EACN,YAAY,EACZ,WAAW,CACZ,CAAC;YACF,IAAI,YAAY;gBAAE,gBAAgB,GAAG,YAAY,CAAC;YAElD,IAAI,MAAM,CAAC,OAAO;gBAAE,MAAM;YAC1B,IAAI,yBAAyB,EAAE,CAAC;gBAC9B,IAAI,IAAI,CAAC,uBAAuB;oBAAE,MAAM;gBACxC,mBAAmB,GAAG,IAAI,CAAC;gBAC3B,SAAS;YACX,CAAC;YACD,IAAI,YAAY,EAAE,UAAU,KAAK,SAAS;gBAAE,MAAM;YAClD,MAAM,SAAS,GAAG,YAAY,CAAC,OAAO,CAAC,MAAM,CAC3C,CAAC,OAAO,EAAuB,EAAE,CAAC,OAAO,CAAC,IAAI,KAAK,UAAU,CAC9D,CAAC;YACF,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC;gBAAE,MAAM;YAClC,IAAI,IAAI,CAAC,uBAAuB;gBAAE,MAAM;YAExC,mBAAmB,GAAG,IAAI,CAAC;YAC3B,WAAW,GAAG,EAAE,SAAS,EAAE,YAAY,CAAC,WAAW,CAAC,UAAU,EAAE,CAAC;QACnE,CAAC;QAED,MAAM,YAAY,GAChB,mBAAmB,IAAI,QAAQ,IAAI,YAAY,CAAC,gBAAgB,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC;QACtF,MAAM,YAAY,GAAG,YAAY;YAC/B,CAAC,CAAC,iBAAiB,YAAY,CAAC,gBAAgB,iBAAiB,YAAY,CAAC,gBAAgB,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,sCAAsC;YACrJ,CAAC,CAAC,SAAS,CAAC;QACd,IAAI,YAAY,EAAE,CAAC;YACjB,MAAM;gBACJ,IAAI,EAAE,QAAQ;gBACd,QAAQ,EAAE,OAAO;gBACjB,IAAI,EAAE,YAAY;aACnB,CAAC;QACJ,CAAC;QAED,OAAO;YACL,OAAO,EAAE,MAAM,CAAC,OAAO;YACvB,GAAG,CAAC,YAAY;gBACd,CAAC,CAAC,EAAE,YAAY,EAAE,EAAE,MAAM,EAAE,qBAA8B,EAAE,OAAO,EAAE,YAAY,EAAE,EAAE;gBACrF,CAAC,CAAC,EAAE,CAAC;YACP,GAAG,CAAC,gBAAgB,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,gBAAgB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAChE,CAAC;IACJ,CAAC;IAEO,KAAK,CAAC,CAAC,yBAAyB,CACtC,MAAmB,EACnB,YAA2B;QAE3B,IAAI,CAAC,IAAI,CAAC,uBAAuB,CAAC,YAAY,CAAC,EAAE,CAAC;YAChD,OAAO,EAAE,OAAO,EAAE,MAAM,CAAC,OAAO,EAAE,CAAC;QACrC,CAAC;QAED,MAAM,UAAU,GAAe,EAAE,IAAI,EAAE,kBAAkB,EAAE,MAAM,EAAE,WAAW,EAAE,CAAC;QACjF,MAAM,UAAU,CAAC;QAEjB,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;YAClE,IAAI,CAAC,MAAM,EAAE,CAAC;gBACZ,MAAM,QAAQ,GAAe;oBAC3B,IAAI,EAAE,gBAAgB;oBACtB,MAAM,EAAE,WAAW;oBACnB,OAAO,EAAE,SAAS;iBACnB,CAAC;gBACF,MAAM,QAAQ,CAAC;gBACf,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;YAC5B,CAAC;YAED,MAAM,QAAQ,GAAe;gBAC3B,IAAI,EAAE,gBAAgB;gBACtB,MAAM,EAAE,WAAW;gBACnB,OAAO,EAAE,WAAW;gBACpB,MAAM;gBACN,QAAQ,EAAE,IAAI,CAAC,QAAQ;aACxB,CAAC;YACF,MAAM,QAAQ,CAAC;YACf,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;QAC5B,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;gBACnB,MAAM,QAAQ,GAAe;oBAC3B,IAAI,EAAE,gBAAgB;oBACtB,MAAM,EAAE,WAAW;oBACnB,OAAO,EAAE,SAAS;iBACnB,CAAC;gBACF,MAAM,QAAQ,CAAC;gBACf,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;YAC3B,CAAC;YAED,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YACvE,MAAM,QAAQ,GAAe;gBAC3B,IAAI,EAAE,gBAAgB;gBACtB,MAAM,EAAE,WAAW;gBACnB,OAAO,EAAE,QAAQ;gBACjB,YAAY,EAAE,OAAO;aACtB,CAAC;YACF,MAAM,QAAQ,CAAC;YACf,OAAO;gBACL,OAAO,EAAE,KAAK;gBACd,OAAO,EAAE;oBACP,MAAM,EAAE,wBAAwB;oBAChC,OAAO;iBACR;aACF,CAAC;QACJ,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,iBAAiB,CAC7B,MAAmB,EACnB,YAA2B;QAE3B,MAAM,QAAQ,GAAG,YAAY,CAAC,gBAAgB,CAAC;QAC/C,MAAM,WAAW,GAAG,qBAAqB,CAAC,IAAI,CAAC,cAAc,EAAE;YAC7D,gBAAgB,EAAE,IAAI,CAAC,GAAG,CACxB,QAAQ,CAAC,gBAAgB,EACzB,IAAI,CAAC,gCAAgC,CAAC,QAAQ,EAAE,YAAY,CAAC,CAC9D;YACD,YAAY,EAAE,YAAY,CAAC,YAAY;SACxC,CAAC,CAAC;QACH,IAAI,CAAC,WAAW,EAAE,CAAC;YACjB,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,MAAM,eAAe,GAAG,MAAM,IAAI,CAAC,oBAAoB,CACrD,yBAAyB,CAAC,WAAW,CAAC,EACtC;YACE,SAAS,EAAE,gBAAgB,UAAU,EAAE,EAAE;YACzC,MAAM;YACN,aAAa,EAAE,YAAY,CAAC,aAAa;SAC1C,EACD,YAAY,CAAC,KAAK,CACnB,CAAC;QACF,MAAM,aAAa,GAAG,8BAA8B,CAAC;YACnD,QAAQ,EAAE,eAAe;YACzB,qBAAqB,EAAE,WAAW,CAAC,qBAAqB;SACzD,CAAC,CAAC;QAEH,MAAM,iBAAiB,GAAG,sBAAsB,CAAC;YAC/C,OAAO,EAAE,aAAa,CAAC,OAAO;YAC9B,qBAAqB,EAAE,aAAa,CAAC,qBAAqB;SAC3D,CAAC,CAAC;QACH,MAAM,iBAAiB,GAAG,0BAA0B,CAAC,EAAE,OAAO,EAAE,iBAAiB,EAAE,CAAC,CAAC;QACrF,MAAM,oBAAoB,GAAG,WAAW,CAAC,eAAe,CAAC,MAAM,CAAC;QAChE,MAAM,eAAe,GAAG,IAAI,CAAC,wBAAwB,CAAC,iBAAiB,CAAC,CAAC;QACzE,MAAM,gBAAgB,GAAG,sBAAsB,CAAC,eAAe,EAAE;YAC/D;gBACE,IAAI,EAAE,iBAAiB;gBACvB,OAAO,EAAE,CAAC;gBACV,OAAO,EAAE,aAAa,CAAC,OAAO;gBAC9B,qBAAqB,EAAE,aAAa,CAAC,qBAAqB;gBAC1D,OAAO,EAAE,WAAW,CAAC,OAAO;gBAC5B,oBAAoB;aACrB;SACF,CAAC,CAAC;QAEH,MAAM,YAAY,GAAiB;YACjC,EAAE,EAAE,IAAI,CAAC,oBAAoB,EAAE;YAC/B,OAAO,EAAE;gBACP,IAAI,EAAE,MAAM;gBACZ,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,gBAAgB,EAAE,CAAC;gBACnD,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE;aAC5B;SACF,CAAC;QACF,MAAM,iBAAiB,GAAiB;YACtC,EAAE,EAAE,IAAI,CAAC,oBAAoB,EAAE;YAC/B,OAAO,EAAE,sCAAsC,CAAC;gBAC9C,OAAO,EAAE,WAAW,CAAC,OAAO;gBAC5B,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE;aACtB,CAAC;SACH,CAAC;QAEF,IAAI,CAAC,qBAAqB,CAAC,CAAC,YAAY,EAAE,GAAG,WAAW,CAAC,eAAe,EAAE,iBAAiB,CAAC,CAAC,CAAC;QAE9F,OAAO;YACL,qBAAqB,EAAE,YAAY,CAAC,EAAE;YACtC,0BAA0B,EAAE,iBAAiB,CAAC,EAAE;YAChD,iBAAiB;YACjB,OAAO,EAAE,WAAW,CAAC,OAAO;YAC5B,oBAAoB;SACrB,CAAC;IACJ,CAAC;IAEO,wBAAwB,CAAC,IAAY;QAC3C,OAAO,8BAA8B,CACnC,IAAI,EACJ,IAAI,CAAC,uCAAuC,EAAE,EAAE,IAAI,EAAE,CACvD,CAAC;IACJ,CAAC;IAEO,uBAAuB,CAAC,YAA2B;QACzD,MAAM,QAAQ,GAAG,YAAY,CAAC,gBAAgB,CAAC;QAC/C,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC;YACtB,OAAO,KAAK,CAAC;QACf,CAAC;QAED,MAAM,eAAe,GAAG,IAAI,CAAC,gCAAgC,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;QACtF,IAAI,eAAe,IAAI,CAAC,EAAE,CAAC;YACzB,OAAO,KAAK,CAAC;QACf,CAAC;QAED,MAAM,WAAW,GAAG,IAAI,CAAC,kCAAkC,CAAC,YAAY,CAAC,YAAY,CAAC,CAAC;QACvF,OAAO,WAAW,KAAK,SAAS,IAAI,WAAW,GAAG,eAAe,CAAC;IACpE,CAAC;IAEO,gCAAgC,CACtC,QAAqC,EACrC,YAA2B;QAE3B,OAAO,CAAC,YAAY,CAAC,KAAK,CAAC,KAAK,CAAC,aAAa,IAAI,CAAC,CAAC,GAAG,QAAQ,CAAC,aAAa,CAAC;IAChF,CAAC;IAEO,kCAAkC,CAAC,YAAoB;QAC7D,MAAM,UAAU,GAAG,IAAI,CAAC,eAAe,CAAC;QACxC,IAAI,CAAC,UAAU,IAAI,UAAU,CAAC,YAAY,KAAK,YAAY,EAAE,CAAC;YAC5D,OAAO,SAAS,CAAC;QACnB,CAAC;QACD,MAAM,eAAe,GAAG,IAAI,CAAC,cAAc,CAAC,SAAS,CACnD,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,KAAK,UAAU,CAAC,cAAc,CAClD,CAAC;QACF,IAAI,eAAe,IAAI,IAAI,CAAC,yCAAyC,EAAE,EAAE,CAAC;YACxE,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,OAAO,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,eAAe,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE;YAC5E,MAAM,OAAO,GAAG,+BAA+B,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;YAC/D,IACE,OAAO,CAAC,IAAI,KAAK,WAAW;gBAC5B,CAAC,OAAO,CAAC,UAAU,KAAK,OAAO,IAAI,OAAO,CAAC,UAAU,KAAK,SAAS,CAAC,EACpE,CAAC;gBACD,OAAO,KAAK,CAAC;YACf,CAAC;YACD,MAAM,YAAY,GAAG,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC,CAAC;YAChF,OAAO,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,aAAa,CAAC,YAAY,CAAC,CAAC,CAAC;QAC1D,CAAC,EAAE,UAAU,CAAC,MAAM,CAAC,CAAC;IACxB,CAAC;IAEO,yCAAyC;QAC/C,KAAK,IAAI,KAAK,GAAG,IAAI,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE,KAAK,IAAI,CAAC,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC;YACxE,IAAI,qCAAqC,CAAC,IAAI,CAAC,cAAc,CAAC,KAAK,CAAE,CAAC,OAAO,CAAC,EAAE,CAAC;gBAC/E,OAAO,KAAK,CAAC;YACf,CAAC;QACH,CAAC;QAED,OAAO,CAAC,CAAC,CAAC;IACZ,CAAC;IAEO,KAAK,CAAC,iBAAiB,CAAC,KAAoB,EAAE,OAAgB;QACpE,IAAI,CAAC;YACH,MAAM,KAAK,CAAC,iBAAiB,CAAC;gBAC5B,SAAS,EAAE,IAAI,CAAC,OAAO;gBACvB,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS;aAChD,CAAC,CAAC;QACL,CAAC;QAAC,MAAM,CAAC,CAAA,CAAC;IACZ,CAAC;IAEO,KAAK,CAAC,CAAC,gBAAgB,CAC7B,MAAmB,EACnB,YAA2B,EAC3B,WAA+B;QAE/B,MAAM,cAAc,GAAG,IAAI,CAAC,oBAAoB,EAAE,CAAC;QACnD,MAAM,UAAU,GAAe,EAAE,IAAI,EAAE,iBAAiB,EAAE,cAAc,EAAE,CAAC;QAC3E,MAAM,UAAU,CAAC;QACjB,MAAM,OAAO,GAAY;YACvB,YAAY,EAAE,YAAY,CAAC,YAAY;YACvC,QAAQ,EAAE,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC;YAChC,KAAK,EAAE,YAAY,CAAC,KAAK,CAAC,OAAO;SAClC,CAAC;QAEF,MAAM,WAAW,GAAqB;YACpC,GAAG,YAAY,CAAC,aAAa;YAC7B,MAAM;YACN,SAAS,EAAE,IAAI,CAAC,OAAO;SACxB,CAAC;QAEF,MAAM,sBAAsB,GAAG,IAAI,eAAe,EAAE,CAAC;QACrD,MAAM,YAAY,GAAG,GAAG,EAAE,CAAC,sBAAsB,CAAC,KAAK,EAAE,CAAC;QAC1D,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;YACnB,YAAY,EAAE,CAAC;QACjB,CAAC;aAAM,CAAC;YACN,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,YAAY,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;QACjE,CAAC;QACD,WAAW,CAAC,MAAM,GAAG,sBAAsB,CAAC,MAAM,CAAC;QACnD,MAAM,WAAW,GAAG,eAAe,CAAC;YAClC,KAAK,EAAE,YAAY,CAAC,KAAK,CAAC,KAAK;YAC/B,WAAW,EAAE,CAAC,YAAY,EAAE,OAAO,EAAE,EAAE,CAAC,YAAY,CAAC,KAAK,CAAC,MAAM,CAAC,YAAY,EAAE,OAAO,CAAC;YACxF,OAAO;YACP,aAAa,EAAE,WAAW;YAC1B,MAAM,EAAE,sBAAsB,CAAC,MAAM;YACrC,YAAY,EAAE,IAAI;YAClB,KAAK,EAAE;gBACL,qBAAqB,EAAE,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,eAAe,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;gBAC9E,OAAO,EAAE,GAAG,EAAE,CAAC,mBAAmB,CAAC,WAAW,CAAC;gBAC/C,UAAU,EAAE,WAAW,CAAC,SAAS;gBACjC,OAAO,EAAE,YAAY,CAAC,WAAW,CAAC,OAAO;gBACzC,MAAM,EAAE,EAAE,IAAI,EAAE,qCAAqC,EAAE,QAAQ,EAAE,MAAM,EAAE;aAC1E;SACF,CAAC,CAAC;QACH,MAAM,UAAU,GAAG,IAAI,wBAAwB,CAC7C;YACE,YAAY,EAAE,YAAY,CAAC,KAAK;YAChC,gBAAgB,EAAE;gBAChB,OAAO,EAAE,IAAI,CAAC,OAAO;gBACrB,MAAM,EAAE,YAAY,CAAC,MAAM;gBAC3B,kBAAkB,EAAE,cAAc;aACnC;YACD,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG;SACpB,EACD,sBAAsB,CAAC,MAAM,CAC9B,CAAC;QACF,MAAM,UAAU,GAAG,UAAU,CAAC,MAAM,CAAC,aAAa,CAAC,EAAE,CAAC;QACtD,MAAM,kBAAkB,GAAwB,EAAE,CAAC;QACnD,MAAM,mBAAmB,GAAwB,EAAE,CAAC;QACpD,MAAM,iBAAiB,GAAe,EAAE,CAAC;QACzC,MAAM,mBAAmB,GAAG,IAAI,GAAG,EAAU,CAAC;QAC9C,MAAM,kCAAkC,GAAG,IAAI,GAAG,EAAkB,CAAC;QACrE,IAAI,SAAS,GAAG,KAAK,CAAC;QACtB,IAAI,QAAQ,GAAG,KAAK,CAAC;QACrB,IAAI,uBAAuB,GAAG,KAAK,CAAC;QACpC,IAAI,gBAAiD,CAAC;QACtD,IAAI,YAA0C,CAAC;QAC/C,IAAI,uBAA6D,CAAC;QAClE,MAAM,cAAc,GAAG,GAAG,EAAE,CAC1B,WAAW,CAAC,IAAI,EAAE,CAAC,IAAI,CACrB,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,OAAgB,EAAE,MAAM,EAAE,CAAC,EAClD,CAAC,KAAc,EAAE,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,aAAsB,EAAE,KAAK,EAAE,CAAC,CAChE,CAAC;QACJ,MAAM,aAAa,GAAG,GAAG,EAAE,CACzB,UAAU,CAAC,IAAI,EAAE,CAAC,IAAI,CACpB,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,MAAe,EAAE,MAAM,EAAE,CAAC,EACjD,CAAC,KAAc,EAAE,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,YAAqB,EAAE,KAAK,EAAE,CAAC,CAC/D,CAAC;QACJ,IAAI,SAAS,GAAG,cAAc,EAAE,CAAC;QACjC,IAAI,QAAQ,GAAG,aAAa,EAAE,CAAC;QAE/B,IAAI,CAAC;YACH,OAAO,CAAC,SAAS,IAAI,CAAC,QAAQ,EAAE,CAAC;gBAC/B,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC;oBAC9B,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;oBACjC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;iBAChC,CAAC,CAAC;gBAEH,IAAI,IAAI,CAAC,MAAM,KAAK,aAAa,EAAE,CAAC;oBAClC,IAAI,iBAAiB,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;wBACnC,uBAAuB,GAAG,IAAI,CAAC;wBAC/B,MAAM,IAAI,CAAC,KAAK,CAAC;oBACnB,CAAC;oBAED,MAAM,YAAY,GAChB,IAAI,CAAC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;oBACxE,YAAY,GAAG,kCAAkC,CAAC;wBAChD,KAAK,EAAE,YAAY,CAAC,KAAK,CAAC,KAAK;wBAC/B,QAAQ,EAAE,uBAAuB;wBACjC,SAAS,EAAE,iBAAiB;wBAC5B,YAAY;wBACZ,OAAO,EAAE,MAAM,CAAC,OAAO;wBACvB,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE;qBAC5B,CAAC,CAAC;oBACH,SAAS,GAAG,IAAI,CAAC;oBACjB,KAAK,UAAU,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;oBAChD,gBAAgB,GAAG,MAAM,CAAC,OAAO;wBAC/B,CAAC,CAAC,MAAM;wBACR,CAAC,CAAC,mBAAmB,CAAC,WAAW,CAAC;4BAChC,CAAC,CAAC,UAAU;4BACZ,CAAC,CAAC,MAAM,CAAC;oBACb,mBAAmB,CAAC,IAAI,CAAC,GAAG,kBAAkB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;oBAC1D,IAAI,CAAC,UAAU,CAAC,YAAY,EAAE,EAAE,cAAc,EAAE,CAAC,CAAC;oBAClD,MAAM;wBACJ,IAAI,EAAE,iBAAiB;wBACvB,cAAc;wBACd,OAAO,EAAE,YAAY;wBACrB,SAAS,EAAE,YAAY,CAAC,WAAW,CAAC,SAAS;wBAC7C,eAAe,EAAE,YAAY,CAAC,WAAW,CAAC,eAAe;wBACzD,QAAQ,EAAE,IAAI,CAAC,QAAQ;qBACxB,CAAC;oBACF,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;wBACpB,MAAM,IAAI,CAAC,iBAAiB,CAAC,YAAY,CAAC,KAAK,EAAE,YAAY,CAAC,CAAC;oBACjE,CAAC;oBACD,IAAI,gBAAgB,KAAK,UAAU,EAAE,CAAC;wBACpC,MAAM;4BACJ,IAAI,EAAE,QAAQ;4BACd,QAAQ,EAAE,OAAO;4BACjB,IAAI,EAAE,6CAA6C,YAAY,EAAE;yBAClE,CAAC;oBACJ,CAAC;oBACD,SAAS;gBACX,CAAC;gBACD,IAAI,IAAI,CAAC,MAAM,KAAK,YAAY,EAAE,CAAC;oBACjC,MAAM,IAAI,CAAC,KAAK,CAAC;gBACnB,CAAC;gBAED,IAAI,IAAI,CAAC,MAAM,KAAK,OAAO,EAAE,CAAC;oBAC5B,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;wBACrB,SAAS,GAAG,IAAI,CAAC;wBACjB,YAAY,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC;wBACjC,KAAK,UAAU,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;wBAEhD,IAAI,CAAC;4BACH,MAAM,cAAc,GAAG,0BAA0B,CAAC,YAAY,EAAE,iBAAiB,CAAC,CAAC;4BACnF,YAAY,GAAG,cAAc,CAAC,OAAO,CAAC;4BACtC,gBAAgB,GAAG,cAAc,CAAC,OAAO;gCACvC,CAAC,CAAC,YAAY,CAAC,UAAU,KAAK,SAAS,IAAI,MAAM,CAAC,OAAO;oCACvD,CAAC,CAAC,MAAM;oCACR,CAAC,CAAC,mBAAmB,CAAC,WAAW,CAAC;wCAChC,CAAC,CAAC,UAAU;wCACZ,CAAC,CAAC,MAAM;gCACZ,CAAC,CAAC,SAAS,CAAC;wBAChB,CAAC;wBAAC,OAAO,KAAK,EAAE,CAAC;4BACf,uBAAuB,GAAG,IAAI,CAAC;4BAC/B,MAAM,KAAK,CAAC;wBACd,CAAC;wBACD,IAAI,YAAY,CAAC,UAAU,KAAK,OAAO,EAAE,CAAC;4BACxC,MAAM,IAAI,CAAC,iBAAiB,CAAC,YAAY,CAAC,KAAK,EAAE,YAAY,CAAC,YAAY,CAAC,CAAC;wBAC9E,CAAC;wBACD,IAAI,gBAAgB,EAAE,CAAC;4BACrB,mBAAmB,CAAC,IAAI,CAAC,GAAG,kBAAkB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;wBAC5D,CAAC;wBAED,IAAI,CAAC,UAAU,CAAC,YAAY,EAAE,EAAE,cAAc,EAAE,CAAC,CAAC;wBAClD,MAAM,KAAK,GAAG,YAAY,CAAC,KAAK,CAAC;wBACjC,IACE,YAAY,CAAC,UAAU,KAAK,OAAO;4BACnC,YAAY,CAAC,UAAU,KAAK,SAAS;4BACrC,KAAK;4BACL,YAAY,CAAC,YAAY,KAAK,IAAI,CAAC,YAAY;4BAC/C,YAAY,CAAC,QAAQ,KAAK,YAAY,CAAC,KAAK,CAAC,KAAK,CAAC,QAAQ;4BAC3D,YAAY,CAAC,KAAK,KAAK,YAAY,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,EAClD,CAAC;4BACD,IAAI,CAAC,eAAe,GAAG;gCACrB,cAAc;gCACd,YAAY,EAAE,YAAY,CAAC,YAAY;gCACvC,MAAM,EACJ,CAAC,KAAK,CAAC,KAAK,IAAI,CAAC,CAAC;oCAClB,CAAC,KAAK,CAAC,SAAS,IAAI,CAAC,CAAC;oCACtB,CAAC,KAAK,CAAC,UAAU,IAAI,CAAC,CAAC;oCACvB,CAAC,KAAK,CAAC,MAAM,IAAI,CAAC,CAAC;6BACtB,CAAC;wBACJ,CAAC;wBACD,MAAM;4BACJ,IAAI,EAAE,iBAAiB;4BACvB,cAAc;4BACd,OAAO,EAAE,YAAY;4BACrB,SAAS,EAAE,YAAY,CAAC,WAAW,CAAC,SAAS;4BAC7C,eAAe,EAAE,YAAY,CAAC,WAAW,CAAC,eAAe;4BACzD,QAAQ,EAAE,IAAI,CAAC,QAAQ;yBACxB,CAAC;wBACF,IAAI,IAAI,CAAC,eAAe,EAAE,cAAc,KAAK,cAAc,EAAE,CAAC;4BAC5D,MAAM;gCACJ,IAAI,EAAE,kBAAkB;gCACxB,cAAc;gCACd,YAAY,EAAE,IAAI,CAAC,eAAe,CAAC,YAAY;gCAC/C,MAAM,EAAE,IAAI,CAAC,eAAe,CAAC,MAAM;gCACnC,QAAQ,EAAE,IAAI,CAAC,QAAQ;6BACxB,CAAC;wBACJ,CAAC;wBAED,IAAI,gBAAgB,KAAK,UAAU,EAAE,CAAC;4BACpC,MAAM,MAAM,GAAe;gCACzB,IAAI,EAAE,QAAQ;gCACd,QAAQ,EAAE,OAAO;gCACjB,IAAI,EAAE,6CAA6C,YAAY,CAAC,YAAY,IAAI,wBAAwB,EAAE;6BAC3G,CAAC;4BACF,MAAM,MAAM,CAAC;wBACf,CAAC;wBACD,IAAI,CAAC,gBAAgB,EAAE,CAAC;4BACtB,KAAK,MAAM,UAAU,IAAI,kBAAkB,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;gCACtD,MAAM,kBAAkB,GAAG,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;gCACvD,MAAM,SAAS,GAAe;oCAC5B,IAAI,EAAE,aAAa;oCACnB,cAAc,EAAE,kBAAkB;oCAClC,OAAO,EAAE,UAAU;oCACnB,QAAQ,EAAE,IAAI,CAAC,QAAQ;iCACxB,CAAC;gCACF,MAAM,SAAS,CAAC;4BAClB,CAAC;wBACH,CAAC;wBACD,SAAS;oBACX,CAAC;oBAED,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC;oBAChC,IAAI,CAAC;wBACH,IAAI,KAAK,CAAC,IAAI,KAAK,qBAAqB,EAAE,CAAC;4BACzC,MAAM,kBAAkB,GAAG,kCAAkC,CAAC,GAAG,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;4BACtF,IAAI,MAAM,CAAC,OAAO,IAAI,mBAAmB,CAAC,GAAG,CAAC,KAAK,CAAC,UAAU,CAAC,EAAE,CAAC;gCAChE,IAAI,kBAAkB,EAAE,CAAC;oCACvB,kCAAkC,CAAC,MAAM,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;oCAC9D,MAAM,cAAc,GAAe;wCACjC,IAAI,EAAE,qBAAqB;wCAC3B,cAAc;wCACd,UAAU,EAAE,kBAAkB;wCAC9B,YAAY,EAAE,KAAK,CAAC,YAAY;qCACjC,CAAC;oCACF,MAAM,cAAc,CAAC;gCACvB,CAAC;gCACD,SAAS;4BACX,CAAC;4BACD,kCAAkC,CAAC,GAAG,CAAC,KAAK,CAAC,YAAY,EAAE,KAAK,CAAC,UAAU,CAAC,CAAC;4BAC7E,MAAM,cAAc,GAAe;gCACjC,IAAI,EAAE,qBAAqB;gCAC3B,cAAc;gCACd,UAAU,EAAE,KAAK,CAAC,UAAU;gCAC5B,QAAQ,EAAE,KAAK,CAAC,QAAQ;gCACxB,YAAY,EAAE,KAAK,CAAC,YAAY;gCAChC,GAAG,CAAC,kBAAkB,CAAC,CAAC,CAAC,EAAE,kBAAkB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;6BACtD,CAAC;4BACF,MAAM,cAAc,CAAC;4BACrB,SAAS;wBACX,CAAC;wBACD,IAAI,KAAK,CAAC,IAAI,KAAK,qBAAqB,EAAE,CAAC;4BACzC,IAAI,kCAAkC,CAAC,GAAG,CAAC,KAAK,CAAC,YAAY,CAAC,KAAK,KAAK,CAAC,UAAU,EAAE,CAAC;gCACpF,SAAS;4BACX,CAAC;4BACD,kCAAkC,CAAC,MAAM,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;4BAC9D,MAAM,cAAc,GAAe;gCACjC,IAAI,EAAE,qBAAqB;gCAC3B,cAAc;gCACd,UAAU,EAAE,KAAK,CAAC,UAAU;gCAC5B,YAAY,EAAE,KAAK,CAAC,YAAY;6BACjC,CAAC;4BACF,MAAM,cAAc,CAAC;4BACrB,SAAS;wBACX,CAAC;wBACD,IAAI,KAAK,CAAC,IAAI,KAAK,mBAAmB,EAAE,CAAC;4BACvC,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;gCACnB,SAAS;4BACX,CAAC;4BACD,MAAM,UAAU,GAAuD,EAAE,CAAC;4BAC1E,KAAK,MAAM,gBAAgB,IAAI,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,KAAK,CAC3D,iBAAiB,CAAC,MAAM,CACzB,EAAE,CAAC;gCACF,MAAM,SAAS,GAAG,CAAC,gBAAgB,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC;gCAC9C,MAAM,WAAW,GAAG,mBAAmB,CAAC,GAAG,CAAC,gBAAgB,CAAC,EAAE,CAAC,CAAC;gCACjE,IAAI,CAAC,SAAS,IAAI,CAAC,WAAW,EAAE,CAAC;oCAC/B,mBAAmB,CAAC,GAAG,CAAC,gBAAgB,CAAC,EAAE,CAAC,CAAC;oCAC7C,iBAAiB,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;oCACzC,KAAK,MAAM,CAAC,YAAY,EAAE,UAAU,CAAC,IAAI,kCAAkC,EAAE,CAAC;wCAC5E,IAAI,UAAU,KAAK,gBAAgB,CAAC,EAAE,EAAE,CAAC;4CACvC,kCAAkC,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;4CACxD,MAAM;wCACR,CAAC;oCACH,CAAC;oCACD,MAAM,SAAS,GAAG,UAAU,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC;oCACvD,UAAU,CAAC,IAAI,CAAC;wCACd,MAAM,EAAE;4CACN;gDACE,IAAI,EAAE,oBAAoB;gDAC1B,cAAc;gDACd,QAAQ,EAAE,gBAAgB;6CAC3B;4CACD,SAAS,CAAC,cAAc;4CACxB,SAAS,CAAC,aAAa;yCACxB;wCACD,KAAK,EAAE,SAAS,CAAC,KAAK;qCACvB,CAAC,CAAC;oCACH,SAAS;gCACX,CAAC;gCAED,MAAM,QAAQ,GAAG;oCACf,GAAG,gBAAgB;oCACnB,EAAE,EAAE,qBAAqB,UAAU,EAAE,EAAE;iCACxC,CAAC;gCACF,MAAM,OAAO,GAAG,SAAS;oCACvB,CAAC,CAAC,8CAA8C;oCAChD,CAAC,CAAC,0CAA0C,gBAAgB,CAAC,EAAE,IAAI,CAAC;gCACtE,iBAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;gCACjC,MAAM,SAAS,GAAG,UAAU,CAAC,eAAe,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;gCAChE,UAAU,CAAC,IAAI,CAAC;oCACd,MAAM,EAAE,CAAC,SAAS,CAAC,cAAc,EAAE,SAAS,CAAC,aAAa,CAAC;oCAC3D,KAAK,EAAE,SAAS,CAAC,KAAK;iCACvB,CAAC,CAAC;4BACL,CAAC;4BACD,uBAAuB,GAAG;gCACxB,GAAG,KAAK,CAAC,QAAQ;gCACjB,SAAS,EAAE,CAAC,GAAG,iBAAiB,CAAC;6BAClC,CAAC;4BACF,MAAM,YAAY,GAAe;gCAC/B,IAAI,EAAE,mBAAmB;gCACzB,cAAc;gCACd,QAAQ,EAAE,uBAAuB;6BAClC,CAAC;4BACF,MAAM,YAAY,CAAC;4BACnB,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;gCACnC,KAAK,MAAM,cAAc,IAAI,SAAS,CAAC,MAAM,EAAE,CAAC;oCAC9C,MAAM,cAAc,CAAC;gCACvB,CAAC;gCACD,SAAS,CAAC,KAAK,EAAE,CAAC;4BACpB,CAAC;4BACD,SAAS;wBACX,CAAC;wBACD,MAAM,KAAK,CAAC;oBACd,CAAC;4BAAS,CAAC;wBACT,SAAS,GAAG,cAAc,EAAE,CAAC;oBAC/B,CAAC;oBACD,SAAS;gBACX,CAAC;gBAED,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;oBACrB,QAAQ,GAAG,IAAI,CAAC;oBAChB,SAAS;gBACX,CAAC;gBAED,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC;gBAChC,IAAI,CAAC;oBACH,IAAI,aAAa,IAAI,KAAK,EAAE,CAAC;wBAC3B,MAAM,EAAE,WAAW,EAAE,GAAG,aAAa,EAAE,GAAG,KAAK,CAAC;wBAChD,IAAI,SAAS,GAAG,KAAK,CAAC;wBACtB,IAAI,CAAC;4BACH,MAAM,aAAa,CAAC;4BACpB,SAAS,GAAG,IAAI,CAAC;wBACnB,CAAC;gCAAS,CAAC;4BACT,WAAW,CACT,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,8CAA8C,CAAC,CAClF,CAAC;wBACJ,CAAC;wBACD,SAAS;oBACX,CAAC;oBACD,IAAI,KAAK,CAAC,IAAI,KAAK,aAAa,EAAE,CAAC;wBACjC,IAAI,CAAC,SAAS,EAAE,CAAC;4BACf,kBAAkB,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;4BACvC,SAAS;wBACX,CAAC;wBACD,IAAI,gBAAgB,EAAE,CAAC;4BACrB,mBAAmB,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;4BACxC,SAAS;wBACX,CAAC;wBAED,MAAM,kBAAkB,GAAG,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;wBAC1D,MAAM,SAAS,GAAe;4BAC5B,GAAG,KAAK;4BACR,cAAc,EAAE,kBAAkB;4BAClC,QAAQ,EAAE,IAAI,CAAC,QAAQ;yBACxB,CAAC;wBACF,MAAM,SAAS,CAAC;wBAChB,SAAS;oBACX,CAAC;oBACD,MAAM,KAAK,CAAC;gBACd,CAAC;wBAAS,CAAC;oBACT,QAAQ,GAAG,aAAa,EAAE,CAAC;gBAC7B,CAAC;YACH,CAAC;YAED,IAAI,gBAAgB,IAAI,YAAY,EAAE,CAAC;gBACrC,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC;gBACnC,MAAM,2BAA2B,GAAG,IAAI,GAAG,CACzC,mBAAmB,CAAC,GAAG,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC,UAAU,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC,CAC7E,CAAC;gBACF,MAAM,2BAA2B,GAAG,iBAAiB,CAAC,GAAG,CACvD,CAAC,QAAQ,EAAqB,EAAE,CAC9B,2BAA2B,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC,IAAI;oBAC9C,IAAI,EAAE,YAAY;oBAClB,UAAU,EAAE,QAAQ,CAAC,EAAE;oBACvB,QAAQ,EAAE,QAAQ,CAAC,IAAI;oBACvB,OAAO,EAAE;wBACP;4BACE,IAAI,EAAE,MAAM;4BACZ,IAAI,EAAE,4FAA4F;yBACnG;qBACF;oBACD,OAAO,EAAE,IAAI;oBACb,SAAS;iBACV,CACJ,CAAC;gBACF,MAAM,eAAe,GAAG,4BAA4B,CAAC;oBACnD,YAAY,EAAE,YAAY,CAAC,YAAY;oBACvC,SAAS,EAAE,iBAAiB;oBAC5B,WAAW,EAAE,2BAA2B;oBACxC,uBAAuB,EAAE,gBAAgB,KAAK,UAAU;oBACxD,SAAS;iBACV,CAAC,CAAC;gBACH,MAAM,sBAAsB,GAAG,IAAI,CAAC,UAAU,CAAC,eAAe,CAAC,CAAC;gBAChE,MAAM,aAAa,GAAe;oBAChC,IAAI,EAAE,eAAe;oBACrB,cAAc,EAAE,sBAAsB;oBACtC,OAAO,EAAE,eAAe;oBACxB,WAAW,EAAE,2BAA2B;oBACxC,QAAQ,EAAE,IAAI,CAAC,QAAQ;iBACxB,CAAC;gBACF,MAAM,aAAa,CAAC;YACtB,CAAC;YAED,OAAO;gBACL,YAAY;gBACZ,yBAAyB,EAAE,gBAAgB,KAAK,UAAU;aAC3D,CAAC;QACJ,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,YAAY,EAAE,CAAC;YACf,UAAU,CAAC,6BAA6B,CAAC,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;YAC9F,IAAI,CAAC;gBACH,MAAM,UAAU,CAAC,MAAM,EAAE,CAAC;YAC5B,CAAC;YAAC,MAAM,CAAC,CAAA,CAAC;YACV,IAAI,CAAC,MAAM,CAAC,OAAO,IAAI,uBAAuB,EAAE,CAAC;gBAC/C,MAAM,IAAI,CAAC,iBAAiB,CAC1B,YAAY,CAAC,KAAK,EAClB,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CACjD,CAAC;YACJ,CAAC;YACD,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;gBACnB,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,yBAAyB,EAAE,KAAK,EAAE,CAAC;YACvE,CAAC;YACD,MAAM,GAAG,CAAC;QACZ,CAAC;gBAAS,CAAC;YACT,MAAM,CAAC,mBAAmB,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;YAClD,IAAI,CAAC,SAAS,IAAI,CAAC,QAAQ,EAAE,CAAC;gBAC5B,YAAY,EAAE,CAAC;gBACf,UAAU,CAAC,6BAA6B,CACtC,IAAI,KAAK,CAAC,uDAAuD,CAAC,CACnE,CAAC;gBACF,IAAI,CAAC;oBACH,MAAM,UAAU,CAAC,MAAM,EAAE,CAAC;gBAC5B,CAAC;gBAAC,MAAM,CAAC,CAAA,CAAC;YACZ,CAAC;QACH,CAAC;IACH,CAAC;CACF;AAED,SAAS,kCAAkC,CAAC,OAO3C;IACC,MAAM,OAAO,GAAgC,EAAE,CAAC;IAChD,IAAI,OAAO,CAAC,QAAQ,EAAE,QAAQ,CAAC,IAAI,EAAE,EAAE,CAAC;QACtC,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC,CAAC;IAC1E,CAAC;IACD,IAAI,OAAO,CAAC,QAAQ,EAAE,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC;QAClC,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC;IAC9D,CAAC;IACD,OAAO,CAAC,IAAI,CAAC,GAAG,eAAe,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC;IAEpD,OAAO;QACL,IAAI,EAAE,WAAW;QACjB,OAAO;QACP,GAAG,EAAE,OAAO,CAAC,KAAK,CAAC,GAAG;QACtB,QAAQ,EAAE,OAAO,CAAC,KAAK,CAAC,QAAQ;QAChC,KAAK,EAAE,OAAO,CAAC,KAAK,CAAC,EAAE;QACvB,KAAK,EAAE;YACL,KAAK,EAAE,CAAC;YACR,MAAM,EAAE,CAAC;YACT,SAAS,EAAE,CAAC;YACZ,UAAU,EAAE,CAAC;YACb,WAAW,EAAE,CAAC;YACd,IAAI,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE;SACrE;QACD,UAAU,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO;QACjD,YAAY,EAAE,OAAO,CAAC,YAAY;QAClC,SAAS,EAAE,OAAO,CAAC,SAAS;KAC7B,CAAC;AACJ,CAAC;AAED,SAAS,mBAAmB,CAAC,MAA0B;IACrD,IAAI,MAAM,CAAC,SAAS,KAAK,CAAC,EAAE,CAAC;QAC3B,OAAO,KAAK,CAAC;IACf,CAAC;IACD,MAAM,CAAC,SAAS,IAAI,CAAC,CAAC;IACtB,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,0BAA0B,CACjC,OAAyB,EACzB,iBAAsC;IAEtC,MAAM,cAAc,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,CAC3C,CAAC,OAAO,EAAuB,EAAE,CAAC,OAAO,CAAC,IAAI,KAAK,UAAU,CAC9D,CAAC;IACF,MAAM,iBAAiB,GAAG,OAAO,CAAC,UAAU,KAAK,OAAO,IAAI,OAAO,CAAC,UAAU,KAAK,SAAS,CAAC;IAE7F,IAAI,iBAAiB,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACnC,IAAI,CAAC,iBAAiB,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACpD,MAAM,IAAI,KAAK,CAAC,oDAAoD,cAAc,CAAC,CAAC,CAAE,CAAC,EAAE,GAAG,CAAC,CAAC;QAChG,CAAC;QACD,OAAO;YACL,OAAO,EAAE,iBAAiB;gBACxB,CAAC,CAAC;oBACE,GAAG,OAAO;oBACV,OAAO,EAAE,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,KAAK,UAAU,CAAC;iBAC1E;gBACH,CAAC,CAAC,OAAO;YACX,OAAO,EAAE,KAAK;SACf,CAAC;IACJ,CAAC;IAED,IAAI,OAAO,CAAC,UAAU,KAAK,SAAS,IAAI,iBAAiB,CAAC,cAAc,EAAE,iBAAiB,CAAC,EAAE,CAAC;QAC7F,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;IACrC,CAAC;IAED,MAAM,YAAY,GAAG,iBAAiB;QACpC,CAAC,CAAC,CAAC,OAAO,CAAC,YAAY,IAAI,wCAAwC,OAAO,CAAC,UAAU,GAAG,CAAC;QACzF,CAAC,CAAC,OAAO,CAAC,UAAU,KAAK,SAAS;YAChC,CAAC,CAAC,mEAAmE;YACrE,CAAC,CAAC,wCAAwC,OAAO,CAAC,UAAU,wBAAwB,CAAC;IACzF,OAAO;QACL,OAAO,EAAE;YACP,GAAG,OAAO;YACV,OAAO,EAAE;gBACP,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,KAAK,UAAU,CAAC;gBACnE,GAAG,iBAAiB;aACrB;YACD,GAAG,CAAC,iBAAiB,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,OAAgB,EAAE,YAAY,EAAE,CAAC;SAC7E;QACD,OAAO,EAAE,IAAI;KACd,CAAC;AACJ,CAAC;AAED,SAAS,4BAA4B,CAAC,OAMrC;IACC,MAAM,mBAAmB,GAAG,IAAI,GAAG,CACjC,OAAO,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC,UAAU,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC,CAC7E,CAAC;IACF,MAAM,OAAO,GAAG,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE;QACjD,MAAM,UAAU,GAAG,mBAAmB,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAE,CAAC;QACzD,MAAM,UAAU,GAAG,UAAU,CAAC,OAAO;aAClC,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,KAAK,MAAM,CAAC;aAC5C,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC;aAC9B,IAAI,CAAC,IAAI,CAAC,CAAC;QACd,MAAM,UAAU,GAAG,UAAU,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC,MAAM,CAAC;QAC3F,OAAO;YACL,0CAA0C,kBAAkB,CAAC,QAAQ,CAAC,EAAE,CAAC,gBAAgB,kBAAkB,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI;YAC9H,uBAAuB,aAAa,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,mBAAmB;YAC3F,iBAAiB,UAAU,CAAC,OAAO,aAAa;YAChD,oBAAoB,aAAa,CAAC,UAAU,IAAI,8BAA8B,CAAC,gBAAgB;YAC/F,GAAG,CAAC,UAAU,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,sBAAsB,UAAU,kBAAkB,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YAC/E,4BAA4B;SAC7B,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACf,CAAC,CAAC,CAAC;IACH,MAAM,oBAAoB,GAAG;QAC3B,0EAA0E;QAC1E,yGAAyG;QACzG,sGAAsG;QACtG,oEAAoE;QACpE,mBAAmB,aAAa,CAAC,OAAO,CAAC,YAAY,IAAI,wBAAwB,CAAC,EAAE;QACpF,0BAA0B;QAC1B,GAAG,OAAO;QACV,2BAA2B;QAC3B,OAAO,CAAC,uBAAuB;YAC7B,CAAC,CAAC,8DAA8D;YAChE,CAAC,CAAC,yHAAyH;KAC9H,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACb,MAAM,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,UAAU,EAAE,EAAE,CACxD,UAAU,CAAC,OAAO;SACf,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,KAAK,OAAO,CAAC;SAC7C,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC,CAC9C,CAAC;IAEF,OAAO;QACL,IAAI,EAAE,MAAM;QACZ,OAAO,EAAE;YACP;gBACE,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,iBAAiB,CAAC;oBACtB,IAAI,EAAE,EAAE;oBACR,QAAQ,EAAE,CAAC,EAAE,IAAI,EAAE,eAAe,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;oBACjD,oBAAoB,EAAE,CAAC,oBAAoB,CAAC;iBAC7C,CAAC;aACH;YACD,GAAG,MAAM;SACV;QACD,SAAS,EAAE,OAAO,CAAC,SAAS;KAC7B,CAAC;AACJ,CAAC;AAED,SAAS,aAAa,CAAC,IAAY;IACjC,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;AACjF,CAAC;AAED,SAAS,kBAAkB,CAAC,IAAY;IACtC,OAAO,aAAa,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;AAC7E,CAAC"}
1
+ {"version":3,"file":"agent_runtime.js","sourceRoot":"","sources":["../../../src/core/agent/agent_runtime.ts"],"names":[],"mappings":"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"}