alchemylab-opencode 1.0.6 → 1.0.8

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 (413) hide show
  1. package/dist/arktype-aI7TBD0R-HX4BR3RX.js +21 -0
  2. package/dist/arktype-aI7TBD0R-HX4BR3RX.js.map +7 -0
  3. package/dist/{chunk-UWZSRZHA.js → chunk-23UYOGZG.js} +817 -315
  4. package/dist/chunk-23UYOGZG.js.map +7 -0
  5. package/dist/chunk-3AF5MXLF.js +49 -0
  6. package/dist/chunk-3AF5MXLF.js.map +7 -0
  7. package/dist/chunk-FMP3YLWX.js +30 -0
  8. package/dist/chunk-FMP3YLWX.js.map +7 -0
  9. package/dist/{chunk-ANDTK76Q.js → chunk-GSE2T5UY.js} +3 -3
  10. package/dist/{chunk-CYXMV3J3.js → chunk-LU5XVQUD.js} +4 -4
  11. package/dist/chunk-O5VWOPCL.js +106 -0
  12. package/dist/chunk-O5VWOPCL.js.map +7 -0
  13. package/dist/chunk-PWFRMDDF.js +12 -0
  14. package/dist/{chunk-DSPC5QIG.js → chunk-SM6WZDN6.js} +9 -9
  15. package/dist/{chunk-MCWTARFP.js → chunk-TASPMBUL.js} +4 -4
  16. package/dist/chunk-VL3RSEZ2.js +160 -0
  17. package/dist/chunk-VL3RSEZ2.js.map +7 -0
  18. package/dist/default-u_dwuiYb-WOFHQQ3K.js +22 -0
  19. package/dist/effect-QlVUlMFu-UERLUUQW.js +29 -0
  20. package/dist/effect-QlVUlMFu-UERLUUQW.js.map +7 -0
  21. package/dist/{mcp-VAU4RMWH.js → mcp-XFGN3FWW.js} +2 -2
  22. package/dist/{registry-PYMN6L3G.js → registry-W4MBVBYD.js} +3 -3
  23. package/dist/{run-YFVCQJQM.js → run-73HUV4H3.js} +9 -6
  24. package/dist/{run-YFVCQJQM.js.map → run-73HUV4H3.js.map} +1 -1
  25. package/dist/run.js +1 -1
  26. package/dist/serve.js +1 -1
  27. package/dist/{server-K3UGWASP.js → server-2CPOG3LS.js} +9 -6
  28. package/dist/{session-HJFWTM7C.js → session-M6HOZ56B.js} +3 -3
  29. package/dist/session-M6HOZ56B.js.map +7 -0
  30. package/dist/{share-next-55VCIMUH.js → share-next-QRBVSD37.js} +4 -4
  31. package/dist/share-next-QRBVSD37.js.map +7 -0
  32. package/dist/sury-CWZTCd75-XC3NCMTP.js +29 -0
  33. package/dist/sury-CWZTCd75-XC3NCMTP.js.map +7 -0
  34. package/dist/typebox-Dei93FPO-QOBKW4L7.js +21 -0
  35. package/dist/typebox-Dei93FPO-QOBKW4L7.js.map +7 -0
  36. package/dist/valibot--1zFm7rT-LHHLSLYY.js +29 -0
  37. package/dist/valibot--1zFm7rT-LHHLSLYY.js.map +7 -0
  38. package/dist/valibot-D_HTw1Gn-UR62BIDY.js +60 -0
  39. package/dist/valibot-D_HTw1Gn-UR62BIDY.js.map +7 -0
  40. package/dist/{worktree-6GGDLADY.js → worktree-3GUHT2P7.js} +5 -5
  41. package/dist/zod-Bwrt9trS-J2GOMA2R.js +43 -0
  42. package/dist/zod-Bwrt9trS-J2GOMA2R.js.map +7 -0
  43. package/dist/zod-DSgpEGAE-VTXQW6SB.js +56 -0
  44. package/dist/zod-DSgpEGAE-VTXQW6SB.js.map +7 -0
  45. package/package.json +2 -15
  46. package/build.mjs +0 -182
  47. package/dist/chunk-UWZSRZHA.js.map +0 -7
  48. package/packages/opencode/package.json +0 -138
  49. package/packages/opencode/src/account/account.sql.ts +0 -39
  50. package/packages/opencode/src/account/index.ts +0 -463
  51. package/packages/opencode/src/account/repo.ts +0 -163
  52. package/packages/opencode/src/account/schema.ts +0 -91
  53. package/packages/opencode/src/acp/README.md +0 -174
  54. package/packages/opencode/src/acp/agent.ts +0 -1847
  55. package/packages/opencode/src/acp/session.ts +0 -116
  56. package/packages/opencode/src/acp/types.ts +0 -24
  57. package/packages/opencode/src/agent/agent.ts +0 -420
  58. package/packages/opencode/src/agent/generate.txt +0 -75
  59. package/packages/opencode/src/agent/prompt/compaction.txt +0 -15
  60. package/packages/opencode/src/agent/prompt/explore.txt +0 -18
  61. package/packages/opencode/src/agent/prompt/summary.txt +0 -11
  62. package/packages/opencode/src/agent/prompt/title.txt +0 -44
  63. package/packages/opencode/src/auth/index.ts +0 -110
  64. package/packages/opencode/src/bus/bus-event.ts +0 -40
  65. package/packages/opencode/src/bus/global.ts +0 -10
  66. package/packages/opencode/src/bus/index.ts +0 -185
  67. package/packages/opencode/src/cli/bootstrap.ts +0 -17
  68. package/packages/opencode/src/cli/cmd/cmd.ts +0 -7
  69. package/packages/opencode/src/cli/cmd/run.ts +0 -689
  70. package/packages/opencode/src/cli/cmd/serve.ts +0 -24
  71. package/packages/opencode/src/cli/cmd/tui/event.ts +0 -49
  72. package/packages/opencode/src/cli/effect/prompt.ts +0 -25
  73. package/packages/opencode/src/cli/error.ts +0 -46
  74. package/packages/opencode/src/cli/heap.ts +0 -59
  75. package/packages/opencode/src/cli/logo.ts +0 -6
  76. package/packages/opencode/src/cli/network.ts +0 -60
  77. package/packages/opencode/src/cli/ui.ts +0 -133
  78. package/packages/opencode/src/cli/upgrade.ts +0 -31
  79. package/packages/opencode/src/command/index.ts +0 -195
  80. package/packages/opencode/src/command/template/initialize.txt +0 -66
  81. package/packages/opencode/src/command/template/review.txt +0 -101
  82. package/packages/opencode/src/config/config.ts +0 -1599
  83. package/packages/opencode/src/config/console-state.ts +0 -15
  84. package/packages/opencode/src/config/markdown.ts +0 -99
  85. package/packages/opencode/src/config/paths.ts +0 -167
  86. package/packages/opencode/src/config/tui-migrate.ts +0 -155
  87. package/packages/opencode/src/config/tui-schema.ts +0 -37
  88. package/packages/opencode/src/config/tui.ts +0 -179
  89. package/packages/opencode/src/control-plane/adaptors/index.ts +0 -20
  90. package/packages/opencode/src/control-plane/adaptors/worktree.ts +0 -42
  91. package/packages/opencode/src/control-plane/schema.ts +0 -17
  92. package/packages/opencode/src/control-plane/sse.ts +0 -66
  93. package/packages/opencode/src/control-plane/types.ts +0 -32
  94. package/packages/opencode/src/control-plane/workspace.sql.ts +0 -17
  95. package/packages/opencode/src/control-plane/workspace.ts +0 -168
  96. package/packages/opencode/src/effect/cross-spawn-spawner.ts +0 -502
  97. package/packages/opencode/src/effect/instance-ref.ts +0 -6
  98. package/packages/opencode/src/effect/instance-registry.ts +0 -12
  99. package/packages/opencode/src/effect/instance-state.ts +0 -82
  100. package/packages/opencode/src/effect/run-service.ts +0 -33
  101. package/packages/opencode/src/effect/runner.ts +0 -216
  102. package/packages/opencode/src/env/index.ts +0 -28
  103. package/packages/opencode/src/file/ignore.ts +0 -82
  104. package/packages/opencode/src/file/index.ts +0 -686
  105. package/packages/opencode/src/file/protected.ts +0 -59
  106. package/packages/opencode/src/file/ripgrep.ts +0 -376
  107. package/packages/opencode/src/file/time.ts +0 -133
  108. package/packages/opencode/src/file/watcher.ts +0 -173
  109. package/packages/opencode/src/filesystem/index.ts +0 -236
  110. package/packages/opencode/src/flag/flag.ts +0 -156
  111. package/packages/opencode/src/format/formatter.ts +0 -413
  112. package/packages/opencode/src/format/index.ts +0 -203
  113. package/packages/opencode/src/git/index.ts +0 -303
  114. package/packages/opencode/src/global/index.ts +0 -56
  115. package/packages/opencode/src/id/id.ts +0 -85
  116. package/packages/opencode/src/ide/index.ts +0 -74
  117. package/packages/opencode/src/installation/index.ts +0 -355
  118. package/packages/opencode/src/installation/meta.ts +0 -7
  119. package/packages/opencode/src/lsp/client.ts +0 -252
  120. package/packages/opencode/src/lsp/index.ts +0 -558
  121. package/packages/opencode/src/lsp/language.ts +0 -120
  122. package/packages/opencode/src/lsp/launch.ts +0 -21
  123. package/packages/opencode/src/lsp/server.ts +0 -1968
  124. package/packages/opencode/src/mcp/auth.ts +0 -173
  125. package/packages/opencode/src/mcp/index.ts +0 -931
  126. package/packages/opencode/src/mcp/oauth-callback.ts +0 -216
  127. package/packages/opencode/src/mcp/oauth-provider.ts +0 -185
  128. package/packages/opencode/src/node-loader.mjs +0 -104
  129. package/packages/opencode/src/node-preload.mjs +0 -39
  130. package/packages/opencode/src/node.ts +0 -1
  131. package/packages/opencode/src/npm/index.ts +0 -188
  132. package/packages/opencode/src/patch/index.ts +0 -680
  133. package/packages/opencode/src/permission/arity.ts +0 -163
  134. package/packages/opencode/src/permission/evaluate.ts +0 -15
  135. package/packages/opencode/src/permission/index.ts +0 -325
  136. package/packages/opencode/src/permission/schema.ts +0 -17
  137. package/packages/opencode/src/plugin/cloudflare.ts +0 -67
  138. package/packages/opencode/src/plugin/codex.ts +0 -608
  139. package/packages/opencode/src/plugin/github-copilot/copilot.ts +0 -361
  140. package/packages/opencode/src/plugin/github-copilot/models.ts +0 -144
  141. package/packages/opencode/src/plugin/index.ts +0 -299
  142. package/packages/opencode/src/plugin/install.ts +0 -439
  143. package/packages/opencode/src/plugin/loader.ts +0 -174
  144. package/packages/opencode/src/plugin/meta.ts +0 -188
  145. package/packages/opencode/src/plugin/shared.ts +0 -323
  146. package/packages/opencode/src/project/bootstrap.ts +0 -31
  147. package/packages/opencode/src/project/instance.ts +0 -175
  148. package/packages/opencode/src/project/project.sql.ts +0 -16
  149. package/packages/opencode/src/project/project.ts +0 -519
  150. package/packages/opencode/src/project/schema.ts +0 -16
  151. package/packages/opencode/src/project/state.ts +0 -70
  152. package/packages/opencode/src/project/vcs.ts +0 -240
  153. package/packages/opencode/src/provider/auth.ts +0 -253
  154. package/packages/opencode/src/provider/error.ts +0 -197
  155. package/packages/opencode/src/provider/models.ts +0 -162
  156. package/packages/opencode/src/provider/provider.ts +0 -1709
  157. package/packages/opencode/src/provider/schema.ts +0 -38
  158. package/packages/opencode/src/provider/sdk/copilot/README.md +0 -5
  159. package/packages/opencode/src/provider/sdk/copilot/chat/convert-to-openai-compatible-chat-messages.ts +0 -170
  160. package/packages/opencode/src/provider/sdk/copilot/chat/get-response-metadata.ts +0 -15
  161. package/packages/opencode/src/provider/sdk/copilot/chat/map-openai-compatible-finish-reason.ts +0 -19
  162. package/packages/opencode/src/provider/sdk/copilot/chat/openai-compatible-api-types.ts +0 -64
  163. package/packages/opencode/src/provider/sdk/copilot/chat/openai-compatible-chat-language-model.ts +0 -815
  164. package/packages/opencode/src/provider/sdk/copilot/chat/openai-compatible-chat-options.ts +0 -28
  165. package/packages/opencode/src/provider/sdk/copilot/chat/openai-compatible-metadata-extractor.ts +0 -44
  166. package/packages/opencode/src/provider/sdk/copilot/chat/openai-compatible-prepare-tools.ts +0 -83
  167. package/packages/opencode/src/provider/sdk/copilot/copilot-provider.ts +0 -100
  168. package/packages/opencode/src/provider/sdk/copilot/index.ts +0 -2
  169. package/packages/opencode/src/provider/sdk/copilot/openai-compatible-error.ts +0 -27
  170. package/packages/opencode/src/provider/sdk/copilot/responses/convert-to-openai-responses-input.ts +0 -335
  171. package/packages/opencode/src/provider/sdk/copilot/responses/map-openai-responses-finish-reason.ts +0 -22
  172. package/packages/opencode/src/provider/sdk/copilot/responses/openai-config.ts +0 -18
  173. package/packages/opencode/src/provider/sdk/copilot/responses/openai-error.ts +0 -22
  174. package/packages/opencode/src/provider/sdk/copilot/responses/openai-responses-api-types.ts +0 -214
  175. package/packages/opencode/src/provider/sdk/copilot/responses/openai-responses-language-model.ts +0 -1769
  176. package/packages/opencode/src/provider/sdk/copilot/responses/openai-responses-prepare-tools.ts +0 -173
  177. package/packages/opencode/src/provider/sdk/copilot/responses/openai-responses-settings.ts +0 -1
  178. package/packages/opencode/src/provider/sdk/copilot/responses/tool/code-interpreter.ts +0 -87
  179. package/packages/opencode/src/provider/sdk/copilot/responses/tool/file-search.ts +0 -127
  180. package/packages/opencode/src/provider/sdk/copilot/responses/tool/image-generation.ts +0 -114
  181. package/packages/opencode/src/provider/sdk/copilot/responses/tool/local-shell.ts +0 -64
  182. package/packages/opencode/src/provider/sdk/copilot/responses/tool/web-search-preview.ts +0 -103
  183. package/packages/opencode/src/provider/sdk/copilot/responses/tool/web-search.ts +0 -102
  184. package/packages/opencode/src/provider/transform.ts +0 -1050
  185. package/packages/opencode/src/pty/index.ts +0 -397
  186. package/packages/opencode/src/pty/pty.node.ts +0 -27
  187. package/packages/opencode/src/pty/pty.ts +0 -25
  188. package/packages/opencode/src/pty/schema.ts +0 -17
  189. package/packages/opencode/src/question/index.ts +0 -224
  190. package/packages/opencode/src/question/schema.ts +0 -17
  191. package/packages/opencode/src/run.ts +0 -28
  192. package/packages/opencode/src/serve.ts +0 -45
  193. package/packages/opencode/src/server/error.ts +0 -36
  194. package/packages/opencode/src/server/event.ts +0 -7
  195. package/packages/opencode/src/server/instance.ts +0 -324
  196. package/packages/opencode/src/server/mdns.ts +0 -60
  197. package/packages/opencode/src/server/middleware.ts +0 -33
  198. package/packages/opencode/src/server/projectors.ts +0 -28
  199. package/packages/opencode/src/server/proxy.ts +0 -131
  200. package/packages/opencode/src/server/router.ts +0 -105
  201. package/packages/opencode/src/server/routes/config.ts +0 -92
  202. package/packages/opencode/src/server/routes/event.ts +0 -83
  203. package/packages/opencode/src/server/routes/experimental.ts +0 -374
  204. package/packages/opencode/src/server/routes/file.ts +0 -197
  205. package/packages/opencode/src/server/routes/global.ts +0 -312
  206. package/packages/opencode/src/server/routes/mcp.ts +0 -225
  207. package/packages/opencode/src/server/routes/permission.ts +0 -69
  208. package/packages/opencode/src/server/routes/project.ts +0 -118
  209. package/packages/opencode/src/server/routes/provider.ts +0 -171
  210. package/packages/opencode/src/server/routes/pty.ts +0 -210
  211. package/packages/opencode/src/server/routes/question.ts +0 -99
  212. package/packages/opencode/src/server/routes/session.ts +0 -1030
  213. package/packages/opencode/src/server/routes/tui.ts +0 -379
  214. package/packages/opencode/src/server/routes/workspace.ts +0 -94
  215. package/packages/opencode/src/server/server.ts +0 -353
  216. package/packages/opencode/src/session/compaction.ts +0 -428
  217. package/packages/opencode/src/session/index.ts +0 -887
  218. package/packages/opencode/src/session/instruction.ts +0 -258
  219. package/packages/opencode/src/session/llm.ts +0 -354
  220. package/packages/opencode/src/session/message-v2.ts +0 -1031
  221. package/packages/opencode/src/session/message.ts +0 -191
  222. package/packages/opencode/src/session/overflow.ts +0 -22
  223. package/packages/opencode/src/session/processor.ts +0 -523
  224. package/packages/opencode/src/session/projectors.ts +0 -135
  225. package/packages/opencode/src/session/prompt/anthropic.txt +0 -105
  226. package/packages/opencode/src/session/prompt/beast.txt +0 -147
  227. package/packages/opencode/src/session/prompt/build-switch.txt +0 -5
  228. package/packages/opencode/src/session/prompt/codex.txt +0 -79
  229. package/packages/opencode/src/session/prompt/copilot-gpt-5.txt +0 -143
  230. package/packages/opencode/src/session/prompt/default.txt +0 -105
  231. package/packages/opencode/src/session/prompt/gemini.txt +0 -155
  232. package/packages/opencode/src/session/prompt/gpt.txt +0 -107
  233. package/packages/opencode/src/session/prompt/kimi.txt +0 -95
  234. package/packages/opencode/src/session/prompt/max-steps.txt +0 -16
  235. package/packages/opencode/src/session/prompt/plan-reminder-anthropic.txt +0 -67
  236. package/packages/opencode/src/session/prompt/plan.txt +0 -26
  237. package/packages/opencode/src/session/prompt/trinity.txt +0 -97
  238. package/packages/opencode/src/session/prompt.ts +0 -1911
  239. package/packages/opencode/src/session/retry.ts +0 -106
  240. package/packages/opencode/src/session/revert.ts +0 -176
  241. package/packages/opencode/src/session/schema.ts +0 -38
  242. package/packages/opencode/src/session/session.sql.ts +0 -103
  243. package/packages/opencode/src/session/status.ts +0 -102
  244. package/packages/opencode/src/session/summary.ts +0 -177
  245. package/packages/opencode/src/session/system.ts +0 -76
  246. package/packages/opencode/src/session/todo.ts +0 -95
  247. package/packages/opencode/src/share/share-next.ts +0 -369
  248. package/packages/opencode/src/share/share.sql.ts +0 -13
  249. package/packages/opencode/src/shell/shell.ts +0 -110
  250. package/packages/opencode/src/skill/discovery.ts +0 -116
  251. package/packages/opencode/src/skill/index.ts +0 -277
  252. package/packages/opencode/src/snapshot/index.ts +0 -726
  253. package/packages/opencode/src/sql.d.ts +0 -4
  254. package/packages/opencode/src/storage/db.node.ts +0 -8
  255. package/packages/opencode/src/storage/db.ts +0 -177
  256. package/packages/opencode/src/storage/json-migration.ts +0 -425
  257. package/packages/opencode/src/storage/schema.sql.ts +0 -10
  258. package/packages/opencode/src/storage/schema.ts +0 -5
  259. package/packages/opencode/src/storage/storage.ts +0 -353
  260. package/packages/opencode/src/sync/README.md +0 -179
  261. package/packages/opencode/src/sync/event.sql.ts +0 -16
  262. package/packages/opencode/src/sync/index.ts +0 -263
  263. package/packages/opencode/src/sync/schema.ts +0 -14
  264. package/packages/opencode/src/tool/apply_patch.ts +0 -281
  265. package/packages/opencode/src/tool/apply_patch.txt +0 -33
  266. package/packages/opencode/src/tool/bash.ts +0 -496
  267. package/packages/opencode/src/tool/bash.txt +0 -117
  268. package/packages/opencode/src/tool/batch.ts +0 -183
  269. package/packages/opencode/src/tool/batch.txt +0 -24
  270. package/packages/opencode/src/tool/codesearch.ts +0 -132
  271. package/packages/opencode/src/tool/codesearch.txt +0 -12
  272. package/packages/opencode/src/tool/edit.ts +0 -667
  273. package/packages/opencode/src/tool/edit.txt +0 -10
  274. package/packages/opencode/src/tool/external-directory.ts +0 -46
  275. package/packages/opencode/src/tool/glob.ts +0 -78
  276. package/packages/opencode/src/tool/glob.txt +0 -6
  277. package/packages/opencode/src/tool/grep.ts +0 -156
  278. package/packages/opencode/src/tool/grep.txt +0 -8
  279. package/packages/opencode/src/tool/invalid.ts +0 -17
  280. package/packages/opencode/src/tool/ls.ts +0 -121
  281. package/packages/opencode/src/tool/ls.txt +0 -1
  282. package/packages/opencode/src/tool/lsp.ts +0 -97
  283. package/packages/opencode/src/tool/lsp.txt +0 -19
  284. package/packages/opencode/src/tool/multiedit.ts +0 -46
  285. package/packages/opencode/src/tool/multiedit.txt +0 -41
  286. package/packages/opencode/src/tool/plan-enter.txt +0 -14
  287. package/packages/opencode/src/tool/plan-exit.txt +0 -13
  288. package/packages/opencode/src/tool/plan.ts +0 -131
  289. package/packages/opencode/src/tool/question.ts +0 -46
  290. package/packages/opencode/src/tool/question.txt +0 -10
  291. package/packages/opencode/src/tool/read.ts +0 -332
  292. package/packages/opencode/src/tool/read.txt +0 -14
  293. package/packages/opencode/src/tool/registry.ts +0 -265
  294. package/packages/opencode/src/tool/schema.ts +0 -17
  295. package/packages/opencode/src/tool/skill.ts +0 -105
  296. package/packages/opencode/src/tool/task.ts +0 -166
  297. package/packages/opencode/src/tool/task.txt +0 -60
  298. package/packages/opencode/src/tool/todo.ts +0 -48
  299. package/packages/opencode/src/tool/todowrite.txt +0 -167
  300. package/packages/opencode/src/tool/tool.ts +0 -112
  301. package/packages/opencode/src/tool/truncate.ts +0 -144
  302. package/packages/opencode/src/tool/truncation-dir.ts +0 -4
  303. package/packages/opencode/src/tool/webfetch.ts +0 -206
  304. package/packages/opencode/src/tool/webfetch.txt +0 -13
  305. package/packages/opencode/src/tool/websearch.ts +0 -150
  306. package/packages/opencode/src/tool/websearch.txt +0 -14
  307. package/packages/opencode/src/tool/write.ts +0 -84
  308. package/packages/opencode/src/tool/write.txt +0 -8
  309. package/packages/opencode/src/util/abort.ts +0 -35
  310. package/packages/opencode/src/util/archive.ts +0 -17
  311. package/packages/opencode/src/util/color.ts +0 -19
  312. package/packages/opencode/src/util/context.ts +0 -25
  313. package/packages/opencode/src/util/data-url.ts +0 -9
  314. package/packages/opencode/src/util/defer.ts +0 -12
  315. package/packages/opencode/src/util/effect-http-client.ts +0 -11
  316. package/packages/opencode/src/util/effect-zod.ts +0 -98
  317. package/packages/opencode/src/util/error.ts +0 -77
  318. package/packages/opencode/src/util/filesystem.ts +0 -245
  319. package/packages/opencode/src/util/flock.ts +0 -333
  320. package/packages/opencode/src/util/fn.ts +0 -21
  321. package/packages/opencode/src/util/format.ts +0 -20
  322. package/packages/opencode/src/util/glob.ts +0 -34
  323. package/packages/opencode/src/util/hash.ts +0 -7
  324. package/packages/opencode/src/util/iife.ts +0 -3
  325. package/packages/opencode/src/util/keybind.ts +0 -103
  326. package/packages/opencode/src/util/lazy.ts +0 -23
  327. package/packages/opencode/src/util/locale.ts +0 -81
  328. package/packages/opencode/src/util/lock.ts +0 -98
  329. package/packages/opencode/src/util/log.ts +0 -182
  330. package/packages/opencode/src/util/network.ts +0 -9
  331. package/packages/opencode/src/util/process.ts +0 -176
  332. package/packages/opencode/src/util/queue.ts +0 -32
  333. package/packages/opencode/src/util/record.ts +0 -3
  334. package/packages/opencode/src/util/rpc.ts +0 -66
  335. package/packages/opencode/src/util/schema.ts +0 -53
  336. package/packages/opencode/src/util/scrap.ts +0 -10
  337. package/packages/opencode/src/util/signal.ts +0 -12
  338. package/packages/opencode/src/util/timeout.ts +0 -14
  339. package/packages/opencode/src/util/token.ts +0 -7
  340. package/packages/opencode/src/util/update-schema.ts +0 -13
  341. package/packages/opencode/src/util/which.ts +0 -14
  342. package/packages/opencode/src/util/wildcard.ts +0 -59
  343. package/packages/opencode/src/worktree/index.ts +0 -612
  344. package/packages/plugin/package.json +0 -38
  345. package/packages/plugin/src/example.ts +0 -18
  346. package/packages/plugin/src/index.ts +0 -282
  347. package/packages/plugin/src/shell.ts +0 -136
  348. package/packages/plugin/src/tool.ts +0 -38
  349. package/packages/plugin/src/tui.ts +0 -508
  350. package/packages/script/package.json +0 -16
  351. package/packages/script/src/index.ts +0 -77
  352. package/packages/sdk/package.json +0 -33
  353. package/packages/sdk/src/client.ts +0 -55
  354. package/packages/sdk/src/gen/client/client.gen.ts +0 -212
  355. package/packages/sdk/src/gen/client/index.ts +0 -25
  356. package/packages/sdk/src/gen/client/types.gen.ts +0 -222
  357. package/packages/sdk/src/gen/client/utils.gen.ts +0 -287
  358. package/packages/sdk/src/gen/client.gen.ts +0 -22
  359. package/packages/sdk/src/gen/core/auth.gen.ts +0 -41
  360. package/packages/sdk/src/gen/core/bodySerializer.gen.ts +0 -74
  361. package/packages/sdk/src/gen/core/params.gen.ts +0 -144
  362. package/packages/sdk/src/gen/core/pathSerializer.gen.ts +0 -167
  363. package/packages/sdk/src/gen/core/queryKeySerializer.gen.ts +0 -111
  364. package/packages/sdk/src/gen/core/serverSentEvents.gen.ts +0 -210
  365. package/packages/sdk/src/gen/core/types.gen.ts +0 -91
  366. package/packages/sdk/src/gen/core/utils.gen.ts +0 -109
  367. package/packages/sdk/src/gen/sdk.gen.ts +0 -1197
  368. package/packages/sdk/src/gen/types.gen.ts +0 -3904
  369. package/packages/sdk/src/index.ts +0 -21
  370. package/packages/sdk/src/process.ts +0 -31
  371. package/packages/sdk/src/server.ts +0 -134
  372. package/packages/sdk/src/v2/client.ts +0 -81
  373. package/packages/sdk/src/v2/gen/client/client.gen.ts +0 -285
  374. package/packages/sdk/src/v2/gen/client/index.ts +0 -25
  375. package/packages/sdk/src/v2/gen/client/types.gen.ts +0 -202
  376. package/packages/sdk/src/v2/gen/client/utils.gen.ts +0 -289
  377. package/packages/sdk/src/v2/gen/client.gen.ts +0 -18
  378. package/packages/sdk/src/v2/gen/core/auth.gen.ts +0 -41
  379. package/packages/sdk/src/v2/gen/core/bodySerializer.gen.ts +0 -82
  380. package/packages/sdk/src/v2/gen/core/params.gen.ts +0 -169
  381. package/packages/sdk/src/v2/gen/core/pathSerializer.gen.ts +0 -167
  382. package/packages/sdk/src/v2/gen/core/queryKeySerializer.gen.ts +0 -111
  383. package/packages/sdk/src/v2/gen/core/serverSentEvents.gen.ts +0 -239
  384. package/packages/sdk/src/v2/gen/core/types.gen.ts +0 -86
  385. package/packages/sdk/src/v2/gen/core/utils.gen.ts +0 -137
  386. package/packages/sdk/src/v2/gen/sdk.gen.ts +0 -4223
  387. package/packages/sdk/src/v2/gen/types.gen.ts +0 -5265
  388. package/packages/sdk/src/v2/index.ts +0 -21
  389. package/packages/sdk/src/v2/server.ts +0 -134
  390. package/packages/util/package.json +0 -20
  391. package/packages/util/src/array.ts +0 -10
  392. package/packages/util/src/binary.ts +0 -41
  393. package/packages/util/src/encode.ts +0 -51
  394. package/packages/util/src/error.ts +0 -54
  395. package/packages/util/src/fn.ts +0 -11
  396. package/packages/util/src/identifier.ts +0 -48
  397. package/packages/util/src/iife.ts +0 -3
  398. package/packages/util/src/lazy.ts +0 -11
  399. package/packages/util/src/module.ts +0 -10
  400. package/packages/util/src/path.ts +0 -37
  401. package/packages/util/src/retry.ts +0 -41
  402. package/packages/util/src/slug.ts +0 -74
  403. package/postinstall.cjs +0 -55
  404. /package/dist/{chunk-ANDTK76Q.js.map → chunk-GSE2T5UY.js.map} +0 -0
  405. /package/dist/{chunk-CYXMV3J3.js.map → chunk-LU5XVQUD.js.map} +0 -0
  406. /package/dist/{mcp-VAU4RMWH.js.map → chunk-PWFRMDDF.js.map} +0 -0
  407. /package/dist/{chunk-DSPC5QIG.js.map → chunk-SM6WZDN6.js.map} +0 -0
  408. /package/dist/{chunk-MCWTARFP.js.map → chunk-TASPMBUL.js.map} +0 -0
  409. /package/dist/{registry-PYMN6L3G.js.map → default-u_dwuiYb-WOFHQQ3K.js.map} +0 -0
  410. /package/dist/{server-K3UGWASP.js.map → mcp-XFGN3FWW.js.map} +0 -0
  411. /package/dist/{session-HJFWTM7C.js.map → registry-W4MBVBYD.js.map} +0 -0
  412. /package/dist/{share-next-55VCIMUH.js.map → server-2CPOG3LS.js.map} +0 -0
  413. /package/dist/{worktree-6GGDLADY.js.map → worktree-3GUHT2P7.js.map} +0 -0
@@ -2,6 +2,6 @@
2
2
  "version": 3,
3
3
  "sources": ["../packages/opencode/src/cli/cmd/run.ts", "../packages/opencode/src/cli/ui.ts", "../packages/opencode/src/cli/logo.ts", "../packages/opencode/src/cli/cmd/cmd.ts", "../packages/opencode/src/cli/bootstrap.ts", "../packages/sdk/src/v2/gen/core/serverSentEvents.gen.ts", "../packages/sdk/src/v2/gen/core/pathSerializer.gen.ts", "../packages/sdk/src/v2/gen/core/utils.gen.ts", "../packages/sdk/src/v2/gen/core/auth.gen.ts", "../packages/sdk/src/v2/gen/core/bodySerializer.gen.ts", "../packages/sdk/src/v2/gen/client/utils.gen.ts", "../packages/sdk/src/v2/gen/client/client.gen.ts", "../packages/sdk/src/v2/gen/core/params.gen.ts", "../packages/sdk/src/v2/gen/client.gen.ts", "../packages/sdk/src/v2/gen/sdk.gen.ts", "../packages/sdk/src/v2/client.ts", "../packages/sdk/src/v2/server.ts", "../packages/opencode/src/util/locale.ts"],
4
4
  "sourcesContent": ["import type { Argv } from \"yargs\"\nimport path from \"path\"\nimport { pathToFileURL } from \"url\"\nimport { UI } from \"../ui\"\nimport { cmd } from \"./cmd\"\nimport { Flag } from \"../../flag/flag\"\nimport { bootstrap } from \"../bootstrap\"\nimport { EOL } from \"os\"\nimport { Filesystem } from \"../../util/filesystem\"\nimport { createOpencodeClient, type Message, type OpencodeClient, type ToolPart } from \"@opencode-ai/sdk/v2\"\nimport { Server } from \"../../server/server\"\nimport { Provider } from \"../../provider/provider\"\nimport { Agent } from \"../../agent/agent\"\nimport { Permission } from \"../../permission\"\nimport { Tool } from \"../../tool/tool\"\nimport { GlobTool } from \"../../tool/glob\"\nimport { GrepTool } from \"../../tool/grep\"\nimport { ListTool } from \"../../tool/ls\"\nimport { ReadTool } from \"../../tool/read\"\nimport { WebFetchTool } from \"../../tool/webfetch\"\nimport { EditTool } from \"../../tool/edit\"\nimport { WriteTool } from \"../../tool/write\"\nimport { CodeSearchTool } from \"../../tool/codesearch\"\nimport { WebSearchTool } from \"../../tool/websearch\"\nimport { TaskTool } from \"../../tool/task\"\nimport { SkillTool } from \"../../tool/skill\"\nimport { BashTool } from \"../../tool/bash\"\nimport { TodoWriteTool } from \"../../tool/todo\"\nimport { Locale } from \"../../util/locale\"\n\ntype ToolProps<T> = {\n input: Tool.InferParameters<T>\n metadata: Tool.InferMetadata<T>\n part: ToolPart\n}\n\nfunction props<T>(part: ToolPart): ToolProps<T> {\n const state = part.state\n return {\n input: state.input as Tool.InferParameters<T>,\n metadata: (\"metadata\" in state ? state.metadata : {}) as Tool.InferMetadata<T>,\n part,\n }\n}\n\ntype Inline = {\n icon: string\n title: string\n description?: string\n}\n\nfunction inline(info: Inline) {\n const suffix = info.description ? UI.Style.TEXT_DIM + ` ${info.description}` + UI.Style.TEXT_NORMAL : \"\"\n UI.println(UI.Style.TEXT_NORMAL + info.icon, UI.Style.TEXT_NORMAL + info.title + suffix)\n}\n\nfunction block(info: Inline, output?: string) {\n UI.empty()\n inline(info)\n if (!output?.trim()) return\n UI.println(output)\n UI.empty()\n}\n\nfunction fallback(part: ToolPart) {\n const state = part.state\n const input = \"input\" in state ? state.input : undefined\n const title =\n (\"title\" in state && state.title ? state.title : undefined) ||\n (input && typeof input === \"object\" && Object.keys(input).length > 0 ? JSON.stringify(input) : \"Unknown\")\n inline({\n icon: \"\u2699\",\n title: `${part.tool} ${title}`,\n })\n}\n\nfunction glob(info: ToolProps<typeof GlobTool>) {\n const root = info.input.path ?? \"\"\n const title = `Glob \"${info.input.pattern}\"`\n const suffix = root ? `in ${normalizePath(root)}` : \"\"\n const num = info.metadata.count\n const description =\n num === undefined ? suffix : `${suffix}${suffix ? \" \u00B7 \" : \"\"}${num} ${num === 1 ? \"match\" : \"matches\"}`\n inline({\n icon: \"\u2731\",\n title,\n ...(description && { description }),\n })\n}\n\nfunction grep(info: ToolProps<typeof GrepTool>) {\n const root = info.input.path ?? \"\"\n const title = `Grep \"${info.input.pattern}\"`\n const suffix = root ? `in ${normalizePath(root)}` : \"\"\n const num = info.metadata.matches\n const description =\n num === undefined ? suffix : `${suffix}${suffix ? \" \u00B7 \" : \"\"}${num} ${num === 1 ? \"match\" : \"matches\"}`\n inline({\n icon: \"\u2731\",\n title,\n ...(description && { description }),\n })\n}\n\nfunction list(info: ToolProps<typeof ListTool>) {\n const dir = info.input.path ? normalizePath(info.input.path) : \"\"\n inline({\n icon: \"\u2192\",\n title: dir ? `List ${dir}` : \"List\",\n })\n}\n\nfunction read(info: ToolProps<typeof ReadTool>) {\n const file = normalizePath(info.input.filePath)\n const pairs = Object.entries(info.input).filter(([key, value]) => {\n if (key === \"filePath\") return false\n return typeof value === \"string\" || typeof value === \"number\" || typeof value === \"boolean\"\n })\n const description = pairs.length ? `[${pairs.map(([key, value]) => `${key}=${value}`).join(\", \")}]` : undefined\n inline({\n icon: \"\u2192\",\n title: `Read ${file}`,\n ...(description && { description }),\n })\n}\n\nfunction write(info: ToolProps<typeof WriteTool>) {\n block(\n {\n icon: \"\u2190\",\n title: `Write ${normalizePath(info.input.filePath)}`,\n },\n info.part.state.status === \"completed\" ? info.part.state.output : undefined,\n )\n}\n\nfunction webfetch(info: ToolProps<typeof WebFetchTool>) {\n inline({\n icon: \"%\",\n title: `WebFetch ${info.input.url}`,\n })\n}\n\nfunction edit(info: ToolProps<typeof EditTool>) {\n const title = normalizePath(info.input.filePath)\n const diff = info.metadata.diff\n block(\n {\n icon: \"\u2190\",\n title: `Edit ${title}`,\n },\n diff,\n )\n}\n\nfunction codesearch(info: ToolProps<typeof CodeSearchTool>) {\n inline({\n icon: \"\u25C7\",\n title: `Exa Code Search \"${info.input.query}\"`,\n })\n}\n\nfunction websearch(info: ToolProps<typeof WebSearchTool>) {\n inline({\n icon: \"\u25C8\",\n title: `Exa Web Search \"${info.input.query}\"`,\n })\n}\n\nfunction task(info: ToolProps<typeof TaskTool>) {\n const input = info.part.state.input\n const status = info.part.state.status\n const subagent =\n typeof input.subagent_type === \"string\" && input.subagent_type.trim().length > 0 ? input.subagent_type : \"unknown\"\n const agent = Locale.titlecase(subagent)\n const desc =\n typeof input.description === \"string\" && input.description.trim().length > 0 ? input.description : undefined\n const icon = status === \"error\" ? \"\u2717\" : status === \"running\" ? \"\u2022\" : \"\u2713\"\n const name = desc ?? `${agent} Task`\n inline({\n icon,\n title: name,\n description: desc ? `${agent} Agent` : undefined,\n })\n}\n\nfunction skill(info: ToolProps<typeof SkillTool>) {\n inline({\n icon: \"\u2192\",\n title: `Skill \"${info.input.name}\"`,\n })\n}\n\nfunction bash(info: ToolProps<typeof BashTool>) {\n const output = info.part.state.status === \"completed\" ? info.part.state.output?.trim() : undefined\n block(\n {\n icon: \"$\",\n title: `${info.input.command}`,\n },\n output,\n )\n}\n\nfunction todo(info: ToolProps<typeof TodoWriteTool>) {\n block(\n {\n icon: \"#\",\n title: \"Todos\",\n },\n info.input.todos.map((item) => `${item.status === \"completed\" ? \"[x]\" : \"[ ]\"} ${item.content}`).join(\"\\n\"),\n )\n}\n\nfunction normalizePath(input?: string) {\n if (!input) return \"\"\n if (path.isAbsolute(input)) return path.relative(process.cwd(), input) || \".\"\n return input\n}\n\nexport const RunCommand = cmd({\n command: \"run [message..]\",\n describe: \"run opencode with a message\",\n builder: (yargs: Argv) => {\n return yargs\n .positional(\"message\", {\n describe: \"message to send\",\n type: \"string\",\n array: true,\n default: [],\n })\n .option(\"command\", {\n describe: \"the command to run, use message for args\",\n type: \"string\",\n })\n .option(\"continue\", {\n alias: [\"c\"],\n describe: \"continue the last session\",\n type: \"boolean\",\n })\n .option(\"session\", {\n alias: [\"s\"],\n describe: \"session id to continue\",\n type: \"string\",\n })\n .option(\"fork\", {\n describe: \"fork the session before continuing (requires --continue or --session)\",\n type: \"boolean\",\n })\n .option(\"share\", {\n type: \"boolean\",\n describe: \"share the session\",\n })\n .option(\"model\", {\n type: \"string\",\n alias: [\"m\"],\n describe: \"model to use in the format of provider/model\",\n })\n .option(\"agent\", {\n type: \"string\",\n describe: \"agent to use\",\n })\n .option(\"format\", {\n type: \"string\",\n choices: [\"default\", \"json\"],\n default: \"default\",\n describe: \"format: default (formatted) or json (raw JSON events)\",\n })\n .option(\"file\", {\n alias: [\"f\"],\n type: \"string\",\n array: true,\n describe: \"file(s) to attach to message\",\n })\n .option(\"title\", {\n type: \"string\",\n describe: \"title for the session (uses truncated prompt if no value provided)\",\n })\n .option(\"attach\", {\n type: \"string\",\n describe: \"attach to a running opencode server (e.g., http://localhost:4096)\",\n })\n .option(\"password\", {\n alias: [\"p\"],\n type: \"string\",\n describe: \"basic auth password (defaults to OPENCODE_SERVER_PASSWORD)\",\n })\n .option(\"dir\", {\n type: \"string\",\n describe: \"directory to run in, path on remote server if attaching\",\n })\n .option(\"port\", {\n type: \"number\",\n describe: \"port for the local server (defaults to random port if no value provided)\",\n })\n .option(\"variant\", {\n type: \"string\",\n describe: \"model variant (provider-specific reasoning effort, e.g., high, max, minimal)\",\n })\n .option(\"thinking\", {\n type: \"boolean\",\n describe: \"show thinking blocks\",\n default: false,\n })\n .option(\"dangerously-skip-permissions\", {\n type: \"boolean\",\n describe: \"auto-approve permissions that are not explicitly denied (dangerous!)\",\n default: false,\n })\n },\n handler: async (args) => {\n let message = [...args.message, ...(args[\"--\"] || [])]\n .map((arg) => (arg.includes(\" \") ? `\"${arg.replace(/\"/g, '\\\\\"')}\"` : arg))\n .join(\" \")\n\n const directory = (() => {\n if (!args.dir) return undefined\n if (args.attach) return args.dir\n try {\n process.chdir(args.dir)\n return process.cwd()\n } catch {\n UI.error(\"Failed to change directory to \" + args.dir)\n process.exit(1)\n }\n })()\n\n const files: { type: \"file\"; url: string; filename: string; mime: string }[] = []\n if (args.file) {\n const list = Array.isArray(args.file) ? args.file : [args.file]\n\n for (const filePath of list) {\n const resolvedPath = path.resolve(process.cwd(), filePath)\n if (!(await Filesystem.exists(resolvedPath))) {\n UI.error(`File not found: ${filePath}`)\n process.exit(1)\n }\n\n const mime = (await Filesystem.isDir(resolvedPath)) ? \"application/x-directory\" : \"text/plain\"\n\n files.push({\n type: \"file\",\n url: pathToFileURL(resolvedPath).href,\n filename: path.basename(resolvedPath),\n mime,\n })\n }\n }\n\n if (!process.stdin.isTTY) message += \"\\n\" + (await Bun.stdin.text())\n\n if (message.trim().length === 0 && !args.command) {\n UI.error(\"You must provide a message or a command\")\n process.exit(1)\n }\n\n if (args.fork && !args.continue && !args.session) {\n UI.error(\"--fork requires --continue or --session\")\n process.exit(1)\n }\n\n const rules: Permission.Ruleset = [\n {\n permission: \"question\",\n action: \"deny\",\n pattern: \"*\",\n },\n {\n permission: \"plan_enter\",\n action: \"deny\",\n pattern: \"*\",\n },\n {\n permission: \"plan_exit\",\n action: \"deny\",\n pattern: \"*\",\n },\n ]\n\n function title() {\n if (args.title === undefined) return\n if (args.title !== \"\") return args.title\n return message.slice(0, 50) + (message.length > 50 ? \"...\" : \"\")\n }\n\n async function session(sdk: OpencodeClient) {\n const baseID = args.continue ? (await sdk.session.list()).data?.find((s) => !s.parentID)?.id : args.session\n\n if (baseID && args.fork) {\n const forked = await sdk.session.fork({ sessionID: baseID })\n return forked.data?.id\n }\n\n if (baseID) return baseID\n\n const name = title()\n const result = await sdk.session.create({ title: name, permission: rules })\n return result.data?.id\n }\n\n async function share(sdk: OpencodeClient, sessionID: string) {\n const cfg = await sdk.config.get()\n if (!cfg.data) return\n if (cfg.data.share !== \"auto\" && !Flag.OPENCODE_AUTO_SHARE && !args.share) return\n const res = await sdk.session.share({ sessionID }).catch((error) => {\n if (error instanceof Error && error.message.includes(\"disabled\")) {\n UI.println(UI.Style.TEXT_DANGER_BOLD + \"! \" + error.message)\n }\n return { error }\n })\n if (!res.error && \"data\" in res && res.data?.share?.url) {\n UI.println(UI.Style.TEXT_INFO_BOLD + \"~ \" + res.data.share.url)\n }\n }\n\n async function execute(sdk: OpencodeClient) {\n function tool(part: ToolPart) {\n try {\n if (part.tool === \"bash\") return bash(props<typeof BashTool>(part))\n if (part.tool === \"glob\") return glob(props<typeof GlobTool>(part))\n if (part.tool === \"grep\") return grep(props<typeof GrepTool>(part))\n if (part.tool === \"list\") return list(props<typeof ListTool>(part))\n if (part.tool === \"read\") return read(props<typeof ReadTool>(part))\n if (part.tool === \"write\") return write(props<typeof WriteTool>(part))\n if (part.tool === \"webfetch\") return webfetch(props<typeof WebFetchTool>(part))\n if (part.tool === \"edit\") return edit(props<typeof EditTool>(part))\n if (part.tool === \"codesearch\") return codesearch(props<typeof CodeSearchTool>(part))\n if (part.tool === \"websearch\") return websearch(props<typeof WebSearchTool>(part))\n if (part.tool === \"task\") return task(props<typeof TaskTool>(part))\n if (part.tool === \"todowrite\") return todo(props<typeof TodoWriteTool>(part))\n if (part.tool === \"skill\") return skill(props<typeof SkillTool>(part))\n return fallback(part)\n } catch {\n return fallback(part)\n }\n }\n\n function emit(type: string, data: Record<string, unknown>) {\n if (args.format === \"json\") {\n process.stdout.write(JSON.stringify({ type, timestamp: Date.now(), sessionID, ...data }) + EOL)\n return true\n }\n return false\n }\n\n const events = await sdk.event.subscribe()\n let error: string | undefined\n\n async function loop() {\n const toggles = new Map<string, boolean>()\n\n for await (const event of events.stream) {\n if (\n event.type === \"message.updated\" &&\n event.properties.info.role === \"assistant\" &&\n args.format !== \"json\" &&\n toggles.get(\"start\") !== true\n ) {\n UI.empty()\n UI.println(`> ${event.properties.info.agent} \u00B7 ${event.properties.info.modelID}`)\n UI.empty()\n toggles.set(\"start\", true)\n }\n\n if (event.type === \"message.part.updated\") {\n const part = event.properties.part\n if (part.sessionID !== sessionID) continue\n\n if (part.type === \"tool\" && (part.state.status === \"completed\" || part.state.status === \"error\")) {\n if (emit(\"tool_use\", { part })) continue\n if (part.state.status === \"completed\") {\n tool(part)\n continue\n }\n inline({\n icon: \"\u2717\",\n title: `${part.tool} failed`,\n })\n UI.error(part.state.error)\n }\n\n if (\n part.type === \"tool\" &&\n part.tool === \"task\" &&\n part.state.status === \"running\" &&\n args.format !== \"json\"\n ) {\n if (toggles.get(part.id) === true) continue\n task(props<typeof TaskTool>(part))\n toggles.set(part.id, true)\n }\n\n if (part.type === \"step-start\") {\n if (emit(\"step_start\", { part })) continue\n }\n\n if (part.type === \"step-finish\") {\n if (emit(\"step_finish\", { part })) continue\n }\n\n if (part.type === \"text\" && part.time?.end) {\n if (emit(\"text\", { part })) continue\n const text = part.text.trim()\n if (!text) continue\n if (!process.stdout.isTTY) {\n process.stdout.write(text + EOL)\n continue\n }\n UI.empty()\n UI.println(text)\n UI.empty()\n }\n\n if (part.type === \"reasoning\" && part.time?.end && args.thinking) {\n if (emit(\"reasoning\", { part })) continue\n const text = part.text.trim()\n if (!text) continue\n const line = `Thinking: ${text}`\n if (process.stdout.isTTY) {\n UI.empty()\n UI.println(`${UI.Style.TEXT_DIM}\\u001b[3m${line}\\u001b[0m${UI.Style.TEXT_NORMAL}`)\n UI.empty()\n continue\n }\n process.stdout.write(line + EOL)\n }\n }\n\n if (event.type === \"session.error\") {\n const props = event.properties\n if (props.sessionID !== sessionID || !props.error) continue\n let err = String(props.error.name)\n if (\"data\" in props.error && props.error.data && \"message\" in props.error.data) {\n err = String(props.error.data.message)\n }\n error = error ? error + EOL + err : err\n if (emit(\"error\", { error: props.error })) continue\n UI.error(err)\n }\n\n if (\n event.type === \"session.status\" &&\n event.properties.sessionID === sessionID &&\n event.properties.status.type === \"idle\"\n ) {\n break\n }\n\n if (event.type === \"permission.asked\") {\n const permission = event.properties\n if (permission.sessionID !== sessionID) continue\n\n if (args[\"dangerously-skip-permissions\"]) {\n await sdk.permission.reply({\n requestID: permission.id,\n reply: \"once\",\n })\n } else {\n UI.println(\n UI.Style.TEXT_WARNING_BOLD + \"!\",\n UI.Style.TEXT_NORMAL +\n `permission requested: ${permission.permission} (${permission.patterns.join(\", \")}); auto-rejecting`,\n )\n await sdk.permission.reply({\n requestID: permission.id,\n reply: \"reject\",\n })\n }\n }\n }\n }\n\n // Validate agent if specified\n const agent = await (async () => {\n if (!args.agent) return undefined\n\n // When attaching, validate against the running server instead of local Instance state.\n if (args.attach) {\n const modes = await sdk.app\n .agents(undefined, { throwOnError: true })\n .then((x) => x.data ?? [])\n .catch(() => undefined)\n\n if (!modes) {\n UI.println(\n UI.Style.TEXT_WARNING_BOLD + \"!\",\n UI.Style.TEXT_NORMAL,\n `failed to list agents from ${args.attach}. Falling back to default agent`,\n )\n return undefined\n }\n\n const agent = modes.find((a) => a.name === args.agent)\n if (!agent) {\n UI.println(\n UI.Style.TEXT_WARNING_BOLD + \"!\",\n UI.Style.TEXT_NORMAL,\n `agent \"${args.agent}\" not found. Falling back to default agent`,\n )\n return undefined\n }\n\n if (agent.mode === \"subagent\") {\n UI.println(\n UI.Style.TEXT_WARNING_BOLD + \"!\",\n UI.Style.TEXT_NORMAL,\n `agent \"${args.agent}\" is a subagent, not a primary agent. Falling back to default agent`,\n )\n return undefined\n }\n\n return args.agent\n }\n\n const entry = await Agent.get(args.agent)\n if (!entry) {\n UI.println(\n UI.Style.TEXT_WARNING_BOLD + \"!\",\n UI.Style.TEXT_NORMAL,\n `agent \"${args.agent}\" not found. Falling back to default agent`,\n )\n return undefined\n }\n if (entry.mode === \"subagent\") {\n UI.println(\n UI.Style.TEXT_WARNING_BOLD + \"!\",\n UI.Style.TEXT_NORMAL,\n `agent \"${args.agent}\" is a subagent, not a primary agent. Falling back to default agent`,\n )\n return undefined\n }\n return args.agent\n })()\n\n const sessionID = await session(sdk)\n if (!sessionID) {\n UI.error(\"Session not found\")\n process.exit(1)\n }\n await share(sdk, sessionID)\n\n loop().catch((e) => {\n console.error(e)\n process.exit(1)\n })\n\n if (args.command) {\n await sdk.session.command({\n sessionID,\n agent,\n model: args.model,\n command: args.command,\n arguments: message,\n variant: args.variant,\n })\n } else {\n const model = args.model ? Provider.parseModel(args.model) : undefined\n await sdk.session.prompt({\n sessionID,\n agent,\n model,\n variant: args.variant,\n parts: [...files, { type: \"text\", text: message }],\n })\n }\n }\n\n if (args.attach) {\n const headers = (() => {\n const password = args.password ?? process.env.OPENCODE_SERVER_PASSWORD\n if (!password) return undefined\n const username = process.env.OPENCODE_SERVER_USERNAME ?? \"opencode\"\n const auth = `Basic ${Buffer.from(`${username}:${password}`).toString(\"base64\")}`\n return { Authorization: auth }\n })()\n const sdk = createOpencodeClient({ baseUrl: args.attach, directory, headers })\n return await execute(sdk)\n }\n\n await bootstrap(process.cwd(), async () => {\n const fetchFn = (async (input: RequestInfo | URL, init?: RequestInit) => {\n const request = new Request(input, init)\n return Server.Default().fetch(request)\n }) as typeof globalThis.fetch\n const sdk = createOpencodeClient({ baseUrl: \"http://opencode.internal\", fetch: fetchFn })\n await execute(sdk)\n })\n },\n})\n", "import z from \"zod\"\nimport { EOL } from \"os\"\nimport { NamedError } from \"@opencode-ai/util/error\"\nimport { logo as glyphs } from \"./logo\"\n\nexport namespace UI {\n const wordmark = [\n `\u2800 \u2584 `,\n `\u2588\u2580\u2580\u2588 \u2588\u2580\u2580\u2588 \u2588\u2580\u2580\u2588 \u2588\u2580\u2580\u2584 \u2588\u2580\u2580\u2580 \u2588\u2580\u2580\u2588 \u2588\u2580\u2580\u2588 \u2588\u2580\u2580\u2588`,\n `\u2588 \u2588 \u2588 \u2588 \u2588\u2580\u2580\u2580 \u2588 \u2588 \u2588 \u2588 \u2588 \u2588 \u2588 \u2588\u2580\u2580\u2580`,\n `\u2580\u2580\u2580\u2580 \u2588\u2580\u2580\u2580 \u2580\u2580\u2580\u2580 \u2580 \u2580 \u2580\u2580\u2580\u2580 \u2580\u2580\u2580\u2580 \u2580\u2580\u2580\u2580 \u2580\u2580\u2580\u2580`,\n ]\n\n export const CancelledError = NamedError.create(\"UICancelledError\", z.void())\n\n export const Style = {\n TEXT_HIGHLIGHT: \"\\x1b[96m\",\n TEXT_HIGHLIGHT_BOLD: \"\\x1b[96m\\x1b[1m\",\n TEXT_DIM: \"\\x1b[90m\",\n TEXT_DIM_BOLD: \"\\x1b[90m\\x1b[1m\",\n TEXT_NORMAL: \"\\x1b[0m\",\n TEXT_NORMAL_BOLD: \"\\x1b[1m\",\n TEXT_WARNING: \"\\x1b[93m\",\n TEXT_WARNING_BOLD: \"\\x1b[93m\\x1b[1m\",\n TEXT_DANGER: \"\\x1b[91m\",\n TEXT_DANGER_BOLD: \"\\x1b[91m\\x1b[1m\",\n TEXT_SUCCESS: \"\\x1b[92m\",\n TEXT_SUCCESS_BOLD: \"\\x1b[92m\\x1b[1m\",\n TEXT_INFO: \"\\x1b[94m\",\n TEXT_INFO_BOLD: \"\\x1b[94m\\x1b[1m\",\n }\n\n export function println(...message: string[]) {\n print(...message)\n process.stderr.write(EOL)\n }\n\n export function print(...message: string[]) {\n blank = false\n process.stderr.write(message.join(\" \"))\n }\n\n let blank = false\n export function empty() {\n if (blank) return\n println(\"\" + Style.TEXT_NORMAL)\n blank = true\n }\n\n export function logo(pad?: string) {\n if (!process.stdout.isTTY && !process.stderr.isTTY) {\n const result = []\n for (const row of wordmark) {\n if (pad) result.push(pad)\n result.push(row)\n result.push(EOL)\n }\n return result.join(\"\").trimEnd()\n }\n\n const result: string[] = []\n const reset = \"\\x1b[0m\"\n const left = {\n fg: \"\\x1b[90m\",\n shadow: \"\\x1b[38;5;235m\",\n bg: \"\\x1b[48;5;235m\",\n }\n const right = {\n fg: reset,\n shadow: \"\\x1b[38;5;238m\",\n bg: \"\\x1b[48;5;238m\",\n }\n const gap = \" \"\n const draw = (line: string, fg: string, shadow: string, bg: string) => {\n const parts: string[] = []\n for (const char of line) {\n if (char === \"_\") {\n parts.push(bg, \" \", reset)\n continue\n }\n if (char === \"^\") {\n parts.push(fg, bg, \"\u2580\", reset)\n continue\n }\n if (char === \"~\") {\n parts.push(shadow, \"\u2580\", reset)\n continue\n }\n if (char === \" \") {\n parts.push(\" \")\n continue\n }\n parts.push(fg, char, reset)\n }\n return parts.join(\"\")\n }\n glyphs.left.forEach((row, index) => {\n if (pad) result.push(pad)\n result.push(draw(row, left.fg, left.shadow, left.bg))\n result.push(gap)\n const other = glyphs.right[index] ?? \"\"\n result.push(draw(other, right.fg, right.shadow, right.bg))\n result.push(EOL)\n })\n return result.join(\"\").trimEnd()\n }\n\n export async function input(prompt: string): Promise<string> {\n const readline = require(\"readline\")\n const rl = readline.createInterface({\n input: process.stdin,\n output: process.stdout,\n })\n\n return new Promise((resolve) => {\n rl.question(prompt, (answer: string) => {\n rl.close()\n resolve(answer.trim())\n })\n })\n }\n\n export function error(message: string) {\n if (message.startsWith(\"Error: \")) {\n message = message.slice(\"Error: \".length)\n }\n println(Style.TEXT_DANGER_BOLD + \"Error: \" + Style.TEXT_NORMAL + message)\n }\n\n export function markdown(text: string): string {\n return text\n }\n}\n", "export const logo = {\n left: [\" \", \"\u2588\u2580\u2580\u2588 \u2588\u2580\u2580\u2588 \u2588\u2580\u2580\u2588 \u2588\u2580\u2580\u2584\", \"\u2588__\u2588 \u2588__\u2588 \u2588^^^ \u2588__\u2588\", \"\u2580\u2580\u2580\u2580 \u2588\u2580\u2580\u2580 \u2580\u2580\u2580\u2580 \u2580~~\u2580\"],\n right: [\" \u2584 \", \"\u2588\u2580\u2580\u2580 \u2588\u2580\u2580\u2588 \u2588\u2580\u2580\u2588 \u2588\u2580\u2580\u2588\", \"\u2588___ \u2588__\u2588 \u2588__\u2588 \u2588^^^\", \"\u2580\u2580\u2580\u2580 \u2580\u2580\u2580\u2580 \u2580\u2580\u2580\u2580 \u2580\u2580\u2580\u2580\"],\n}\n\nexport const marks = \"_^~\"\n", "import type { CommandModule } from \"yargs\"\n\ntype WithDoubleDash<T> = T & { \"--\"?: string[] }\n\nexport function cmd<T, U>(input: CommandModule<T, WithDoubleDash<U>>) {\n return input\n}\n", "import { InstanceBootstrap } from \"../project/bootstrap\"\nimport { Instance } from \"../project/instance\"\n\nexport async function bootstrap<T>(directory: string, cb: () => Promise<T>) {\n return Instance.provide({\n directory,\n init: InstanceBootstrap,\n fn: async () => {\n try {\n const result = await cb()\n return result\n } finally {\n await Instance.dispose()\n }\n },\n })\n}\n", "// This file is auto-generated by @hey-api/openapi-ts\n\nimport type { Config } from \"./types.gen.js\"\n\nexport type ServerSentEventsOptions<TData = unknown> = Omit<RequestInit, \"method\"> &\n Pick<Config, \"method\" | \"responseTransformer\" | \"responseValidator\"> & {\n /**\n * Fetch API implementation. You can use this option to provide a custom\n * fetch instance.\n *\n * @default globalThis.fetch\n */\n fetch?: typeof fetch\n /**\n * Implementing clients can call request interceptors inside this hook.\n */\n onRequest?: (url: string, init: RequestInit) => Promise<Request>\n /**\n * Callback invoked when a network or parsing error occurs during streaming.\n *\n * This option applies only if the endpoint returns a stream of events.\n *\n * @param error The error that occurred.\n */\n onSseError?: (error: unknown) => void\n /**\n * Callback invoked when an event is streamed from the server.\n *\n * This option applies only if the endpoint returns a stream of events.\n *\n * @param event Event streamed from the server.\n * @returns Nothing (void).\n */\n onSseEvent?: (event: StreamEvent<TData>) => void\n serializedBody?: RequestInit[\"body\"]\n /**\n * Default retry delay in milliseconds.\n *\n * This option applies only if the endpoint returns a stream of events.\n *\n * @default 3000\n */\n sseDefaultRetryDelay?: number\n /**\n * Maximum number of retry attempts before giving up.\n */\n sseMaxRetryAttempts?: number\n /**\n * Maximum retry delay in milliseconds.\n *\n * Applies only when exponential backoff is used.\n *\n * This option applies only if the endpoint returns a stream of events.\n *\n * @default 30000\n */\n sseMaxRetryDelay?: number\n /**\n * Optional sleep function for retry backoff.\n *\n * Defaults to using `setTimeout`.\n */\n sseSleepFn?: (ms: number) => Promise<void>\n url: string\n }\n\nexport interface StreamEvent<TData = unknown> {\n data: TData\n event?: string\n id?: string\n retry?: number\n}\n\nexport type ServerSentEventsResult<TData = unknown, TReturn = void, TNext = unknown> = {\n stream: AsyncGenerator<TData extends Record<string, unknown> ? TData[keyof TData] : TData, TReturn, TNext>\n}\n\nexport const createSseClient = <TData = unknown>({\n onRequest,\n onSseError,\n onSseEvent,\n responseTransformer,\n responseValidator,\n sseDefaultRetryDelay,\n sseMaxRetryAttempts,\n sseMaxRetryDelay,\n sseSleepFn,\n url,\n ...options\n}: ServerSentEventsOptions): ServerSentEventsResult<TData> => {\n let lastEventId: string | undefined\n\n const sleep = sseSleepFn ?? ((ms: number) => new Promise((resolve) => setTimeout(resolve, ms)))\n\n const createStream = async function* () {\n let retryDelay: number = sseDefaultRetryDelay ?? 3000\n let attempt = 0\n const signal = options.signal ?? new AbortController().signal\n\n while (true) {\n if (signal.aborted) break\n\n attempt++\n\n const headers =\n options.headers instanceof Headers\n ? options.headers\n : new Headers(options.headers as Record<string, string> | undefined)\n\n if (lastEventId !== undefined) {\n headers.set(\"Last-Event-ID\", lastEventId)\n }\n\n try {\n const requestInit: RequestInit = {\n redirect: \"follow\",\n ...options,\n body: options.serializedBody,\n headers,\n signal,\n }\n let request = new Request(url, requestInit)\n if (onRequest) {\n request = await onRequest(url, requestInit)\n }\n // fetch must be assigned here, otherwise it would throw the error:\n // TypeError: Failed to execute 'fetch' on 'Window': Illegal invocation\n const _fetch = options.fetch ?? globalThis.fetch\n const response = await _fetch(request)\n\n if (!response.ok) throw new Error(`SSE failed: ${response.status} ${response.statusText}`)\n\n if (!response.body) throw new Error(\"No body in SSE response\")\n\n const reader = response.body.pipeThrough(new TextDecoderStream()).getReader()\n\n let buffer = \"\"\n\n const abortHandler = () => {\n try {\n reader.cancel()\n } catch {\n // noop\n }\n }\n\n signal.addEventListener(\"abort\", abortHandler)\n\n try {\n while (true) {\n const { done, value } = await reader.read()\n if (done) break\n buffer += value\n // Normalize line endings: CRLF -> LF, then CR -> LF\n buffer = buffer.replace(/\\r\\n/g, \"\\n\").replace(/\\r/g, \"\\n\")\n\n const chunks = buffer.split(\"\\n\\n\")\n buffer = chunks.pop() ?? \"\"\n\n for (const chunk of chunks) {\n const lines = chunk.split(\"\\n\")\n const dataLines: Array<string> = []\n let eventName: string | undefined\n\n for (const line of lines) {\n if (line.startsWith(\"data:\")) {\n dataLines.push(line.replace(/^data:\\s*/, \"\"))\n } else if (line.startsWith(\"event:\")) {\n eventName = line.replace(/^event:\\s*/, \"\")\n } else if (line.startsWith(\"id:\")) {\n lastEventId = line.replace(/^id:\\s*/, \"\")\n } else if (line.startsWith(\"retry:\")) {\n const parsed = Number.parseInt(line.replace(/^retry:\\s*/, \"\"), 10)\n if (!Number.isNaN(parsed)) {\n retryDelay = parsed\n }\n }\n }\n\n let data: unknown\n let parsedJson = false\n\n if (dataLines.length) {\n const rawData = dataLines.join(\"\\n\")\n try {\n data = JSON.parse(rawData)\n parsedJson = true\n } catch {\n data = rawData\n }\n }\n\n if (parsedJson) {\n if (responseValidator) {\n await responseValidator(data)\n }\n\n if (responseTransformer) {\n data = await responseTransformer(data)\n }\n }\n\n onSseEvent?.({\n data,\n event: eventName,\n id: lastEventId,\n retry: retryDelay,\n })\n\n if (dataLines.length) {\n yield data as any\n }\n }\n }\n } finally {\n signal.removeEventListener(\"abort\", abortHandler)\n reader.releaseLock()\n }\n\n break // exit loop on normal completion\n } catch (error) {\n // connection failed or aborted; retry after delay\n onSseError?.(error)\n\n if (sseMaxRetryAttempts !== undefined && attempt >= sseMaxRetryAttempts) {\n break // stop after firing error\n }\n\n // exponential backoff: double retry each attempt, cap at 30s\n const backoff = Math.min(retryDelay * 2 ** (attempt - 1), sseMaxRetryDelay ?? 30000)\n await sleep(backoff)\n }\n }\n }\n\n const stream = createStream()\n\n return { stream }\n}\n", "// This file is auto-generated by @hey-api/openapi-ts\n\ninterface SerializeOptions<T> extends SerializePrimitiveOptions, SerializerOptions<T> {}\n\ninterface SerializePrimitiveOptions {\n allowReserved?: boolean\n name: string\n}\n\nexport interface SerializerOptions<T> {\n /**\n * @default true\n */\n explode: boolean\n style: T\n}\n\nexport type ArrayStyle = \"form\" | \"spaceDelimited\" | \"pipeDelimited\"\nexport type ArraySeparatorStyle = ArrayStyle | MatrixStyle\ntype MatrixStyle = \"label\" | \"matrix\" | \"simple\"\nexport type ObjectStyle = \"form\" | \"deepObject\"\ntype ObjectSeparatorStyle = ObjectStyle | MatrixStyle\n\ninterface SerializePrimitiveParam extends SerializePrimitiveOptions {\n value: string\n}\n\nexport const separatorArrayExplode = (style: ArraySeparatorStyle) => {\n switch (style) {\n case \"label\":\n return \".\"\n case \"matrix\":\n return \";\"\n case \"simple\":\n return \",\"\n default:\n return \"&\"\n }\n}\n\nexport const separatorArrayNoExplode = (style: ArraySeparatorStyle) => {\n switch (style) {\n case \"form\":\n return \",\"\n case \"pipeDelimited\":\n return \"|\"\n case \"spaceDelimited\":\n return \"%20\"\n default:\n return \",\"\n }\n}\n\nexport const separatorObjectExplode = (style: ObjectSeparatorStyle) => {\n switch (style) {\n case \"label\":\n return \".\"\n case \"matrix\":\n return \";\"\n case \"simple\":\n return \",\"\n default:\n return \"&\"\n }\n}\n\nexport const serializeArrayParam = ({\n allowReserved,\n explode,\n name,\n style,\n value,\n}: SerializeOptions<ArraySeparatorStyle> & {\n value: unknown[]\n}) => {\n if (!explode) {\n const joinedValues = (allowReserved ? value : value.map((v) => encodeURIComponent(v as string))).join(\n separatorArrayNoExplode(style),\n )\n switch (style) {\n case \"label\":\n return `.${joinedValues}`\n case \"matrix\":\n return `;${name}=${joinedValues}`\n case \"simple\":\n return joinedValues\n default:\n return `${name}=${joinedValues}`\n }\n }\n\n const separator = separatorArrayExplode(style)\n const joinedValues = value\n .map((v) => {\n if (style === \"label\" || style === \"simple\") {\n return allowReserved ? v : encodeURIComponent(v as string)\n }\n\n return serializePrimitiveParam({\n allowReserved,\n name,\n value: v as string,\n })\n })\n .join(separator)\n return style === \"label\" || style === \"matrix\" ? separator + joinedValues : joinedValues\n}\n\nexport const serializePrimitiveParam = ({ allowReserved, name, value }: SerializePrimitiveParam) => {\n if (value === undefined || value === null) {\n return \"\"\n }\n\n if (typeof value === \"object\") {\n throw new Error(\n \"Deeply-nested arrays/objects aren\u2019t supported. Provide your own `querySerializer()` to handle these.\",\n )\n }\n\n return `${name}=${allowReserved ? value : encodeURIComponent(value)}`\n}\n\nexport const serializeObjectParam = ({\n allowReserved,\n explode,\n name,\n style,\n value,\n valueOnly,\n}: SerializeOptions<ObjectSeparatorStyle> & {\n value: Record<string, unknown> | Date\n valueOnly?: boolean\n}) => {\n if (value instanceof Date) {\n return valueOnly ? value.toISOString() : `${name}=${value.toISOString()}`\n }\n\n if (style !== \"deepObject\" && !explode) {\n let values: string[] = []\n Object.entries(value).forEach(([key, v]) => {\n values = [...values, key, allowReserved ? (v as string) : encodeURIComponent(v as string)]\n })\n const joinedValues = values.join(\",\")\n switch (style) {\n case \"form\":\n return `${name}=${joinedValues}`\n case \"label\":\n return `.${joinedValues}`\n case \"matrix\":\n return `;${name}=${joinedValues}`\n default:\n return joinedValues\n }\n }\n\n const separator = separatorObjectExplode(style)\n const joinedValues = Object.entries(value)\n .map(([key, v]) =>\n serializePrimitiveParam({\n allowReserved,\n name: style === \"deepObject\" ? `${name}[${key}]` : key,\n value: v as string,\n }),\n )\n .join(separator)\n return style === \"label\" || style === \"matrix\" ? separator + joinedValues : joinedValues\n}\n", "// This file is auto-generated by @hey-api/openapi-ts\n\nimport type { BodySerializer, QuerySerializer } from \"./bodySerializer.gen.js\"\nimport {\n type ArraySeparatorStyle,\n serializeArrayParam,\n serializeObjectParam,\n serializePrimitiveParam,\n} from \"./pathSerializer.gen.js\"\n\nexport interface PathSerializer {\n path: Record<string, unknown>\n url: string\n}\n\nexport const PATH_PARAM_RE = /\\{[^{}]+\\}/g\n\nexport const defaultPathSerializer = ({ path, url: _url }: PathSerializer) => {\n let url = _url\n const matches = _url.match(PATH_PARAM_RE)\n if (matches) {\n for (const match of matches) {\n let explode = false\n let name = match.substring(1, match.length - 1)\n let style: ArraySeparatorStyle = \"simple\"\n\n if (name.endsWith(\"*\")) {\n explode = true\n name = name.substring(0, name.length - 1)\n }\n\n if (name.startsWith(\".\")) {\n name = name.substring(1)\n style = \"label\"\n } else if (name.startsWith(\";\")) {\n name = name.substring(1)\n style = \"matrix\"\n }\n\n const value = path[name]\n\n if (value === undefined || value === null) {\n continue\n }\n\n if (Array.isArray(value)) {\n url = url.replace(match, serializeArrayParam({ explode, name, style, value }))\n continue\n }\n\n if (typeof value === \"object\") {\n url = url.replace(\n match,\n serializeObjectParam({\n explode,\n name,\n style,\n value: value as Record<string, unknown>,\n valueOnly: true,\n }),\n )\n continue\n }\n\n if (style === \"matrix\") {\n url = url.replace(\n match,\n `;${serializePrimitiveParam({\n name,\n value: value as string,\n })}`,\n )\n continue\n }\n\n const replaceValue = encodeURIComponent(style === \"label\" ? `.${value as string}` : (value as string))\n url = url.replace(match, replaceValue)\n }\n }\n return url\n}\n\nexport const getUrl = ({\n baseUrl,\n path,\n query,\n querySerializer,\n url: _url,\n}: {\n baseUrl?: string\n path?: Record<string, unknown>\n query?: Record<string, unknown>\n querySerializer: QuerySerializer\n url: string\n}) => {\n const pathUrl = _url.startsWith(\"/\") ? _url : `/${_url}`\n let url = (baseUrl ?? \"\") + pathUrl\n if (path) {\n url = defaultPathSerializer({ path, url })\n }\n let search = query ? querySerializer(query) : \"\"\n if (search.startsWith(\"?\")) {\n search = search.substring(1)\n }\n if (search) {\n url += `?${search}`\n }\n return url\n}\n\nexport function getValidRequestBody(options: {\n body?: unknown\n bodySerializer?: BodySerializer | null\n serializedBody?: unknown\n}) {\n const hasBody = options.body !== undefined\n const isSerializedBody = hasBody && options.bodySerializer\n\n if (isSerializedBody) {\n if (\"serializedBody\" in options) {\n const hasSerializedBody = options.serializedBody !== undefined && options.serializedBody !== \"\"\n\n return hasSerializedBody ? options.serializedBody : null\n }\n\n // not all clients implement a serializedBody property (i.e. client-axios)\n return options.body !== \"\" ? options.body : null\n }\n\n // plain/text body\n if (hasBody) {\n return options.body\n }\n\n // no body was provided\n return undefined\n}\n", "// This file is auto-generated by @hey-api/openapi-ts\n\nexport type AuthToken = string | undefined\n\nexport interface Auth {\n /**\n * Which part of the request do we use to send the auth?\n *\n * @default 'header'\n */\n in?: \"header\" | \"query\" | \"cookie\"\n /**\n * Header or query parameter name.\n *\n * @default 'Authorization'\n */\n name?: string\n scheme?: \"basic\" | \"bearer\"\n type: \"apiKey\" | \"http\"\n}\n\nexport const getAuthToken = async (\n auth: Auth,\n callback: ((auth: Auth) => Promise<AuthToken> | AuthToken) | AuthToken,\n): Promise<string | undefined> => {\n const token = typeof callback === \"function\" ? await callback(auth) : callback\n\n if (!token) {\n return\n }\n\n if (auth.scheme === \"bearer\") {\n return `Bearer ${token}`\n }\n\n if (auth.scheme === \"basic\") {\n return `Basic ${btoa(token)}`\n }\n\n return token\n}\n", "// This file is auto-generated by @hey-api/openapi-ts\n\nimport type { ArrayStyle, ObjectStyle, SerializerOptions } from \"./pathSerializer.gen.js\"\n\nexport type QuerySerializer = (query: Record<string, unknown>) => string\n\nexport type BodySerializer = (body: any) => any\n\ntype QuerySerializerOptionsObject = {\n allowReserved?: boolean\n array?: Partial<SerializerOptions<ArrayStyle>>\n object?: Partial<SerializerOptions<ObjectStyle>>\n}\n\nexport type QuerySerializerOptions = QuerySerializerOptionsObject & {\n /**\n * Per-parameter serialization overrides. When provided, these settings\n * override the global array/object settings for specific parameter names.\n */\n parameters?: Record<string, QuerySerializerOptionsObject>\n}\n\nconst serializeFormDataPair = (data: FormData, key: string, value: unknown): void => {\n if (typeof value === \"string\" || value instanceof Blob) {\n data.append(key, value)\n } else if (value instanceof Date) {\n data.append(key, value.toISOString())\n } else {\n data.append(key, JSON.stringify(value))\n }\n}\n\nconst serializeUrlSearchParamsPair = (data: URLSearchParams, key: string, value: unknown): void => {\n if (typeof value === \"string\") {\n data.append(key, value)\n } else {\n data.append(key, JSON.stringify(value))\n }\n}\n\nexport const formDataBodySerializer = {\n bodySerializer: <T extends Record<string, any> | Array<Record<string, any>>>(body: T): FormData => {\n const data = new FormData()\n\n Object.entries(body).forEach(([key, value]) => {\n if (value === undefined || value === null) {\n return\n }\n if (Array.isArray(value)) {\n value.forEach((v) => serializeFormDataPair(data, key, v))\n } else {\n serializeFormDataPair(data, key, value)\n }\n })\n\n return data\n },\n}\n\nexport const jsonBodySerializer = {\n bodySerializer: <T>(body: T): string =>\n JSON.stringify(body, (_key, value) => (typeof value === \"bigint\" ? value.toString() : value)),\n}\n\nexport const urlSearchParamsBodySerializer = {\n bodySerializer: <T extends Record<string, any> | Array<Record<string, any>>>(body: T): string => {\n const data = new URLSearchParams()\n\n Object.entries(body).forEach(([key, value]) => {\n if (value === undefined || value === null) {\n return\n }\n if (Array.isArray(value)) {\n value.forEach((v) => serializeUrlSearchParamsPair(data, key, v))\n } else {\n serializeUrlSearchParamsPair(data, key, value)\n }\n })\n\n return data.toString()\n },\n}\n", "// This file is auto-generated by @hey-api/openapi-ts\n\nimport { getAuthToken } from \"../core/auth.gen.js\"\nimport type { QuerySerializerOptions } from \"../core/bodySerializer.gen.js\"\nimport { jsonBodySerializer } from \"../core/bodySerializer.gen.js\"\nimport { serializeArrayParam, serializeObjectParam, serializePrimitiveParam } from \"../core/pathSerializer.gen.js\"\nimport { getUrl } from \"../core/utils.gen.js\"\nimport type { Client, ClientOptions, Config, RequestOptions } from \"./types.gen.js\"\n\nexport const createQuerySerializer = <T = unknown>({ parameters = {}, ...args }: QuerySerializerOptions = {}) => {\n const querySerializer = (queryParams: T) => {\n const search: string[] = []\n if (queryParams && typeof queryParams === \"object\") {\n for (const name in queryParams) {\n const value = queryParams[name]\n\n if (value === undefined || value === null) {\n continue\n }\n\n const options = parameters[name] || args\n\n if (Array.isArray(value)) {\n const serializedArray = serializeArrayParam({\n allowReserved: options.allowReserved,\n explode: true,\n name,\n style: \"form\",\n value,\n ...options.array,\n })\n if (serializedArray) search.push(serializedArray)\n } else if (typeof value === \"object\") {\n const serializedObject = serializeObjectParam({\n allowReserved: options.allowReserved,\n explode: true,\n name,\n style: \"deepObject\",\n value: value as Record<string, unknown>,\n ...options.object,\n })\n if (serializedObject) search.push(serializedObject)\n } else {\n const serializedPrimitive = serializePrimitiveParam({\n allowReserved: options.allowReserved,\n name,\n value: value as string,\n })\n if (serializedPrimitive) search.push(serializedPrimitive)\n }\n }\n }\n return search.join(\"&\")\n }\n return querySerializer\n}\n\n/**\n * Infers parseAs value from provided Content-Type header.\n */\nexport const getParseAs = (contentType: string | null): Exclude<Config[\"parseAs\"], \"auto\"> => {\n if (!contentType) {\n // If no Content-Type header is provided, the best we can do is return the raw response body,\n // which is effectively the same as the 'stream' option.\n return \"stream\"\n }\n\n const cleanContent = contentType.split(\";\")[0]?.trim()\n\n if (!cleanContent) {\n return\n }\n\n if (cleanContent.startsWith(\"application/json\") || cleanContent.endsWith(\"+json\")) {\n return \"json\"\n }\n\n if (cleanContent === \"multipart/form-data\") {\n return \"formData\"\n }\n\n if ([\"application/\", \"audio/\", \"image/\", \"video/\"].some((type) => cleanContent.startsWith(type))) {\n return \"blob\"\n }\n\n if (cleanContent.startsWith(\"text/\")) {\n return \"text\"\n }\n\n return\n}\n\nconst checkForExistence = (\n options: Pick<RequestOptions, \"auth\" | \"query\"> & {\n headers: Headers\n },\n name?: string,\n): boolean => {\n if (!name) {\n return false\n }\n if (options.headers.has(name) || options.query?.[name] || options.headers.get(\"Cookie\")?.includes(`${name}=`)) {\n return true\n }\n return false\n}\n\nexport const setAuthParams = async ({\n security,\n ...options\n}: Pick<Required<RequestOptions>, \"security\"> &\n Pick<RequestOptions, \"auth\" | \"query\"> & {\n headers: Headers\n }) => {\n for (const auth of security) {\n if (checkForExistence(options, auth.name)) {\n continue\n }\n\n const token = await getAuthToken(auth, options.auth)\n\n if (!token) {\n continue\n }\n\n const name = auth.name ?? \"Authorization\"\n\n switch (auth.in) {\n case \"query\":\n if (!options.query) {\n options.query = {}\n }\n options.query[name] = token\n break\n case \"cookie\":\n options.headers.append(\"Cookie\", `${name}=${token}`)\n break\n case \"header\":\n default:\n options.headers.set(name, token)\n break\n }\n }\n}\n\nexport const buildUrl: Client[\"buildUrl\"] = (options) =>\n getUrl({\n baseUrl: options.baseUrl as string,\n path: options.path,\n query: options.query,\n querySerializer:\n typeof options.querySerializer === \"function\"\n ? options.querySerializer\n : createQuerySerializer(options.querySerializer),\n url: options.url,\n })\n\nexport const mergeConfigs = (a: Config, b: Config): Config => {\n const config = { ...a, ...b }\n if (config.baseUrl?.endsWith(\"/\")) {\n config.baseUrl = config.baseUrl.substring(0, config.baseUrl.length - 1)\n }\n config.headers = mergeHeaders(a.headers, b.headers)\n return config\n}\n\nconst headersEntries = (headers: Headers): Array<[string, string]> => {\n const entries: Array<[string, string]> = []\n headers.forEach((value, key) => {\n entries.push([key, value])\n })\n return entries\n}\n\nexport const mergeHeaders = (...headers: Array<Required<Config>[\"headers\"] | undefined>): Headers => {\n const mergedHeaders = new Headers()\n for (const header of headers) {\n if (!header) {\n continue\n }\n\n const iterator = header instanceof Headers ? headersEntries(header) : Object.entries(header)\n\n for (const [key, value] of iterator) {\n if (value === null) {\n mergedHeaders.delete(key)\n } else if (Array.isArray(value)) {\n for (const v of value) {\n mergedHeaders.append(key, v as string)\n }\n } else if (value !== undefined) {\n // assume object headers are meant to be JSON stringified, i.e. their\n // content value in OpenAPI specification is 'application/json'\n mergedHeaders.set(key, typeof value === \"object\" ? JSON.stringify(value) : (value as string))\n }\n }\n }\n return mergedHeaders\n}\n\ntype ErrInterceptor<Err, Res, Req, Options> = (\n error: Err,\n response: Res,\n request: Req,\n options: Options,\n) => Err | Promise<Err>\n\ntype ReqInterceptor<Req, Options> = (request: Req, options: Options) => Req | Promise<Req>\n\ntype ResInterceptor<Res, Req, Options> = (response: Res, request: Req, options: Options) => Res | Promise<Res>\n\nclass Interceptors<Interceptor> {\n fns: Array<Interceptor | null> = []\n\n clear(): void {\n this.fns = []\n }\n\n eject(id: number | Interceptor): void {\n const index = this.getInterceptorIndex(id)\n if (this.fns[index]) {\n this.fns[index] = null\n }\n }\n\n exists(id: number | Interceptor): boolean {\n const index = this.getInterceptorIndex(id)\n return Boolean(this.fns[index])\n }\n\n getInterceptorIndex(id: number | Interceptor): number {\n if (typeof id === \"number\") {\n return this.fns[id] ? id : -1\n }\n return this.fns.indexOf(id)\n }\n\n update(id: number | Interceptor, fn: Interceptor): number | Interceptor | false {\n const index = this.getInterceptorIndex(id)\n if (this.fns[index]) {\n this.fns[index] = fn\n return id\n }\n return false\n }\n\n use(fn: Interceptor): number {\n this.fns.push(fn)\n return this.fns.length - 1\n }\n}\n\nexport interface Middleware<Req, Res, Err, Options> {\n error: Interceptors<ErrInterceptor<Err, Res, Req, Options>>\n request: Interceptors<ReqInterceptor<Req, Options>>\n response: Interceptors<ResInterceptor<Res, Req, Options>>\n}\n\nexport const createInterceptors = <Req, Res, Err, Options>(): Middleware<Req, Res, Err, Options> => ({\n error: new Interceptors<ErrInterceptor<Err, Res, Req, Options>>(),\n request: new Interceptors<ReqInterceptor<Req, Options>>(),\n response: new Interceptors<ResInterceptor<Res, Req, Options>>(),\n})\n\nconst defaultQuerySerializer = createQuerySerializer({\n allowReserved: false,\n array: {\n explode: true,\n style: \"form\",\n },\n object: {\n explode: true,\n style: \"deepObject\",\n },\n})\n\nconst defaultHeaders = {\n \"Content-Type\": \"application/json\",\n}\n\nexport const createConfig = <T extends ClientOptions = ClientOptions>(\n override: Config<Omit<ClientOptions, keyof T> & T> = {},\n): Config<Omit<ClientOptions, keyof T> & T> => ({\n ...jsonBodySerializer,\n headers: defaultHeaders,\n parseAs: \"auto\",\n querySerializer: defaultQuerySerializer,\n ...override,\n})\n", "// This file is auto-generated by @hey-api/openapi-ts\n\nimport { createSseClient } from \"../core/serverSentEvents.gen.js\"\nimport type { HttpMethod } from \"../core/types.gen.js\"\nimport { getValidRequestBody } from \"../core/utils.gen.js\"\nimport type { Client, Config, RequestOptions, ResolvedRequestOptions } from \"./types.gen.js\"\nimport {\n buildUrl,\n createConfig,\n createInterceptors,\n getParseAs,\n mergeConfigs,\n mergeHeaders,\n setAuthParams,\n} from \"./utils.gen.js\"\n\ntype ReqInit = Omit<RequestInit, \"body\" | \"headers\"> & {\n body?: any\n headers: ReturnType<typeof mergeHeaders>\n}\n\nexport const createClient = (config: Config = {}): Client => {\n let _config = mergeConfigs(createConfig(), config)\n\n const getConfig = (): Config => ({ ..._config })\n\n const setConfig = (config: Config): Config => {\n _config = mergeConfigs(_config, config)\n return getConfig()\n }\n\n const interceptors = createInterceptors<Request, Response, unknown, ResolvedRequestOptions>()\n\n const beforeRequest = async (options: RequestOptions) => {\n const opts = {\n ..._config,\n ...options,\n fetch: options.fetch ?? _config.fetch ?? globalThis.fetch,\n headers: mergeHeaders(_config.headers, options.headers),\n serializedBody: undefined,\n }\n\n if (opts.security) {\n await setAuthParams({\n ...opts,\n security: opts.security,\n })\n }\n\n if (opts.requestValidator) {\n await opts.requestValidator(opts)\n }\n\n if (opts.body !== undefined && opts.bodySerializer) {\n opts.serializedBody = opts.bodySerializer(opts.body)\n }\n\n // remove Content-Type header if body is empty to avoid sending invalid requests\n if (opts.body === undefined || opts.serializedBody === \"\") {\n opts.headers.delete(\"Content-Type\")\n }\n\n const url = buildUrl(opts)\n\n return { opts, url }\n }\n\n const request: Client[\"request\"] = async (options) => {\n // @ts-expect-error\n const { opts, url } = await beforeRequest(options)\n const requestInit: ReqInit = {\n redirect: \"follow\",\n ...opts,\n body: getValidRequestBody(opts),\n }\n\n let request = new Request(url, requestInit)\n\n for (const fn of interceptors.request.fns) {\n if (fn) {\n request = await fn(request, opts)\n }\n }\n\n // fetch must be assigned here, otherwise it would throw the error:\n // TypeError: Failed to execute 'fetch' on 'Window': Illegal invocation\n const _fetch = opts.fetch!\n let response: Response\n\n try {\n response = await _fetch(request)\n } catch (error) {\n // Handle fetch exceptions (AbortError, network errors, etc.)\n let finalError = error\n\n for (const fn of interceptors.error.fns) {\n if (fn) {\n finalError = (await fn(error, undefined as any, request, opts)) as unknown\n }\n }\n\n finalError = finalError || ({} as unknown)\n\n if (opts.throwOnError) {\n throw finalError\n }\n\n // Return error response\n return opts.responseStyle === \"data\"\n ? undefined\n : {\n error: finalError,\n request,\n response: undefined as any,\n }\n }\n\n for (const fn of interceptors.response.fns) {\n if (fn) {\n response = await fn(response, request, opts)\n }\n }\n\n const result = {\n request,\n response,\n }\n\n if (response.ok) {\n const parseAs =\n (opts.parseAs === \"auto\" ? getParseAs(response.headers.get(\"Content-Type\")) : opts.parseAs) ?? \"json\"\n\n if (response.status === 204 || response.headers.get(\"Content-Length\") === \"0\") {\n let emptyData: any\n switch (parseAs) {\n case \"arrayBuffer\":\n case \"blob\":\n case \"text\":\n emptyData = await response[parseAs]()\n break\n case \"formData\":\n emptyData = new FormData()\n break\n case \"stream\":\n emptyData = response.body\n break\n case \"json\":\n default:\n emptyData = {}\n break\n }\n return opts.responseStyle === \"data\"\n ? emptyData\n : {\n data: emptyData,\n ...result,\n }\n }\n\n let data: any\n switch (parseAs) {\n case \"arrayBuffer\":\n case \"blob\":\n case \"formData\":\n case \"text\":\n data = await response[parseAs]()\n break\n case \"json\": {\n // Some servers return 200 with no Content-Length and empty body.\n // response.json() would throw; read as text and parse if non-empty.\n const text = await response.text()\n data = text ? JSON.parse(text) : {}\n break\n }\n case \"stream\":\n return opts.responseStyle === \"data\"\n ? response.body\n : {\n data: response.body,\n ...result,\n }\n }\n\n if (parseAs === \"json\") {\n if (opts.responseValidator) {\n await opts.responseValidator(data)\n }\n\n if (opts.responseTransformer) {\n data = await opts.responseTransformer(data)\n }\n }\n\n return opts.responseStyle === \"data\"\n ? data\n : {\n data,\n ...result,\n }\n }\n\n const textError = await response.text()\n let jsonError: unknown\n\n try {\n jsonError = JSON.parse(textError)\n } catch {\n // noop\n }\n\n const error = jsonError ?? textError\n let finalError = error\n\n for (const fn of interceptors.error.fns) {\n if (fn) {\n finalError = (await fn(error, response, request, opts)) as string\n }\n }\n\n finalError = finalError || ({} as string)\n\n if (opts.throwOnError) {\n throw finalError\n }\n\n // TODO: we probably want to return error and improve types\n return opts.responseStyle === \"data\"\n ? undefined\n : {\n error: finalError,\n ...result,\n }\n }\n\n const makeMethodFn = (method: Uppercase<HttpMethod>) => (options: RequestOptions) => request({ ...options, method })\n\n const makeSseFn = (method: Uppercase<HttpMethod>) => async (options: RequestOptions) => {\n const { opts, url } = await beforeRequest(options)\n return createSseClient({\n ...opts,\n body: opts.body as BodyInit | null | undefined,\n headers: opts.headers as unknown as Record<string, string>,\n method,\n onRequest: async (url, init) => {\n let request = new Request(url, init)\n for (const fn of interceptors.request.fns) {\n if (fn) {\n request = await fn(request, opts)\n }\n }\n return request\n },\n serializedBody: getValidRequestBody(opts) as BodyInit | null | undefined,\n url,\n })\n }\n\n return {\n buildUrl,\n connect: makeMethodFn(\"CONNECT\"),\n delete: makeMethodFn(\"DELETE\"),\n get: makeMethodFn(\"GET\"),\n getConfig,\n head: makeMethodFn(\"HEAD\"),\n interceptors,\n options: makeMethodFn(\"OPTIONS\"),\n patch: makeMethodFn(\"PATCH\"),\n post: makeMethodFn(\"POST\"),\n put: makeMethodFn(\"PUT\"),\n request,\n setConfig,\n sse: {\n connect: makeSseFn(\"CONNECT\"),\n delete: makeSseFn(\"DELETE\"),\n get: makeSseFn(\"GET\"),\n head: makeSseFn(\"HEAD\"),\n options: makeSseFn(\"OPTIONS\"),\n patch: makeSseFn(\"PATCH\"),\n post: makeSseFn(\"POST\"),\n put: makeSseFn(\"PUT\"),\n trace: makeSseFn(\"TRACE\"),\n },\n trace: makeMethodFn(\"TRACE\"),\n } as Client\n}\n", "// This file is auto-generated by @hey-api/openapi-ts\n\ntype Slot = \"body\" | \"headers\" | \"path\" | \"query\"\n\nexport type Field =\n | {\n in: Exclude<Slot, \"body\">\n /**\n * Field name. This is the name we want the user to see and use.\n */\n key: string\n /**\n * Field mapped name. This is the name we want to use in the request.\n * If omitted, we use the same value as `key`.\n */\n map?: string\n }\n | {\n in: Extract<Slot, \"body\">\n /**\n * Key isn't required for bodies.\n */\n key?: string\n map?: string\n }\n | {\n /**\n * Field name. This is the name we want the user to see and use.\n */\n key: string\n /**\n * Field mapped name. This is the name we want to use in the request.\n * If `in` is omitted, `map` aliases `key` to the transport layer.\n */\n map: Slot\n }\n\nexport interface Fields {\n allowExtra?: Partial<Record<Slot, boolean>>\n args?: ReadonlyArray<Field>\n}\n\nexport type FieldsConfig = ReadonlyArray<Field | Fields>\n\nconst extraPrefixesMap: Record<string, Slot> = {\n $body_: \"body\",\n $headers_: \"headers\",\n $path_: \"path\",\n $query_: \"query\",\n}\nconst extraPrefixes = Object.entries(extraPrefixesMap)\n\ntype KeyMap = Map<\n string,\n | {\n in: Slot\n map?: string\n }\n | {\n in?: never\n map: Slot\n }\n>\n\nconst buildKeyMap = (fields: FieldsConfig, map?: KeyMap): KeyMap => {\n if (!map) {\n map = new Map()\n }\n\n for (const config of fields) {\n if (\"in\" in config) {\n if (config.key) {\n map.set(config.key, {\n in: config.in,\n map: config.map,\n })\n }\n } else if (\"key\" in config) {\n map.set(config.key, {\n map: config.map,\n })\n } else if (config.args) {\n buildKeyMap(config.args, map)\n }\n }\n\n return map\n}\n\ninterface Params {\n body: unknown\n headers: Record<string, unknown>\n path: Record<string, unknown>\n query: Record<string, unknown>\n}\n\nconst stripEmptySlots = (params: Params) => {\n for (const [slot, value] of Object.entries(params)) {\n if (value && typeof value === \"object\" && !Object.keys(value).length) {\n delete params[slot as Slot]\n }\n }\n}\n\nexport const buildClientParams = (args: ReadonlyArray<unknown>, fields: FieldsConfig) => {\n const params: Params = {\n body: {},\n headers: {},\n path: {},\n query: {},\n }\n\n const map = buildKeyMap(fields)\n\n let config: FieldsConfig[number] | undefined\n\n for (const [index, arg] of args.entries()) {\n if (fields[index]) {\n config = fields[index]\n }\n\n if (!config) {\n continue\n }\n\n if (\"in\" in config) {\n if (config.key) {\n const field = map.get(config.key)!\n const name = field.map || config.key\n if (field.in) {\n ;(params[field.in] as Record<string, unknown>)[name] = arg\n }\n } else {\n params.body = arg\n }\n } else {\n for (const [key, value] of Object.entries(arg ?? {})) {\n const field = map.get(key)\n\n if (field) {\n if (field.in) {\n const name = field.map || key\n ;(params[field.in] as Record<string, unknown>)[name] = value\n } else {\n params[field.map] = value\n }\n } else {\n const extra = extraPrefixes.find(([prefix]) => key.startsWith(prefix))\n\n if (extra) {\n const [prefix, slot] = extra\n ;(params[slot] as Record<string, unknown>)[key.slice(prefix.length)] = value\n } else if (\"allowExtra\" in config && config.allowExtra) {\n for (const [slot, allowed] of Object.entries(config.allowExtra)) {\n if (allowed) {\n ;(params[slot as Slot] as Record<string, unknown>)[key] = value\n break\n }\n }\n }\n }\n }\n }\n }\n\n stripEmptySlots(params)\n\n return params\n}\n", "// This file is auto-generated by @hey-api/openapi-ts\n\nimport { type ClientOptions, type Config, createClient, createConfig } from \"./client/index.js\"\nimport type { ClientOptions as ClientOptions2 } from \"./types.gen.js\"\n\n/**\n * The `createClientConfig()` function will be called on client initialization\n * and the returned object will become the client's initial configuration.\n *\n * You may want to initialize your client this way instead of calling\n * `setConfig()`. This is useful for example if you're using Next.js\n * to ensure your client always has the correct values.\n */\nexport type CreateClientConfig<T extends ClientOptions = ClientOptions2> = (\n override?: Config<ClientOptions & T>,\n) => Config<Required<ClientOptions> & T>\n\nexport const client = createClient(createConfig<ClientOptions2>({ baseUrl: \"http://localhost:4096\" }))\n", "// This file is auto-generated by @hey-api/openapi-ts\n\nimport { client } from \"./client.gen.js\"\nimport { buildClientParams, type Client, type Options as Options2, type TDataShape } from \"./client/index.js\"\nimport type {\n AgentPartInput,\n AppAgentsResponses,\n AppLogErrors,\n AppLogResponses,\n AppSkillsResponses,\n Auth as Auth3,\n AuthRemoveErrors,\n AuthRemoveResponses,\n AuthSetErrors,\n AuthSetResponses,\n CommandListResponses,\n Config as Config3,\n ConfigGetResponses,\n ConfigProvidersResponses,\n ConfigUpdateErrors,\n ConfigUpdateResponses,\n EventSubscribeResponses,\n EventTuiCommandExecute,\n EventTuiPromptAppend,\n EventTuiSessionSelect,\n EventTuiToastShow,\n ExperimentalConsoleGetResponses,\n ExperimentalConsoleListOrgsResponses,\n ExperimentalConsoleSwitchOrgResponses,\n ExperimentalResourceListResponses,\n ExperimentalSessionListResponses,\n ExperimentalWorkspaceCreateErrors,\n ExperimentalWorkspaceCreateResponses,\n ExperimentalWorkspaceListResponses,\n ExperimentalWorkspaceRemoveErrors,\n ExperimentalWorkspaceRemoveResponses,\n FileListResponses,\n FilePartInput,\n FilePartSource,\n FileReadResponses,\n FileStatusResponses,\n FindFilesResponses,\n FindSymbolsResponses,\n FindTextResponses,\n FormatterStatusResponses,\n GlobalConfigGetResponses,\n GlobalConfigUpdateErrors,\n GlobalConfigUpdateResponses,\n GlobalDisposeResponses,\n GlobalEventResponses,\n GlobalHealthResponses,\n GlobalSyncEventSubscribeResponses,\n GlobalUpgradeErrors,\n GlobalUpgradeResponses,\n InstanceDisposeResponses,\n LspStatusResponses,\n McpAddErrors,\n McpAddResponses,\n McpAuthAuthenticateErrors,\n McpAuthAuthenticateResponses,\n McpAuthCallbackErrors,\n McpAuthCallbackResponses,\n McpAuthRemoveErrors,\n McpAuthRemoveResponses,\n McpAuthStartErrors,\n McpAuthStartResponses,\n McpConnectResponses,\n McpDisconnectResponses,\n McpLocalConfig,\n McpRemoteConfig,\n McpStatusResponses,\n OutputFormat,\n Part as Part2,\n PartDeleteErrors,\n PartDeleteResponses,\n PartUpdateErrors,\n PartUpdateResponses,\n PathGetResponses,\n PermissionListResponses,\n PermissionReplyErrors,\n PermissionReplyResponses,\n PermissionRespondErrors,\n PermissionRespondResponses,\n PermissionRuleset,\n ProjectCurrentResponses,\n ProjectInitGitResponses,\n ProjectListResponses,\n ProjectUpdateErrors,\n ProjectUpdateResponses,\n ProviderAuthResponses,\n ProviderListResponses,\n ProviderOauthAuthorizeErrors,\n ProviderOauthAuthorizeResponses,\n ProviderOauthCallbackErrors,\n ProviderOauthCallbackResponses,\n PtyConnectErrors,\n PtyConnectResponses,\n PtyCreateErrors,\n PtyCreateResponses,\n PtyGetErrors,\n PtyGetResponses,\n PtyListResponses,\n PtyRemoveErrors,\n PtyRemoveResponses,\n PtyUpdateErrors,\n PtyUpdateResponses,\n QuestionAnswer,\n QuestionListResponses,\n QuestionRejectErrors,\n QuestionRejectResponses,\n QuestionReplyErrors,\n QuestionReplyResponses,\n SessionAbortErrors,\n SessionAbortResponses,\n SessionChildrenErrors,\n SessionChildrenResponses,\n SessionCommandErrors,\n SessionCommandResponses,\n SessionCreateErrors,\n SessionCreateResponses,\n SessionDeleteErrors,\n SessionDeleteMessageErrors,\n SessionDeleteMessageResponses,\n SessionDeleteResponses,\n SessionDiffResponses,\n SessionForkResponses,\n SessionGetErrors,\n SessionGetResponses,\n SessionInitErrors,\n SessionInitResponses,\n SessionListResponses,\n SessionMessageErrors,\n SessionMessageResponses,\n SessionMessagesErrors,\n SessionMessagesResponses,\n SessionPromptAsyncErrors,\n SessionPromptAsyncResponses,\n SessionPromptErrors,\n SessionPromptResponses,\n SessionRevertErrors,\n SessionRevertResponses,\n SessionShareErrors,\n SessionShareResponses,\n SessionShellErrors,\n SessionShellResponses,\n SessionStatusErrors,\n SessionStatusResponses,\n SessionSummarizeErrors,\n SessionSummarizeResponses,\n SessionTodoErrors,\n SessionTodoResponses,\n SessionUnrevertErrors,\n SessionUnrevertResponses,\n SessionUnshareErrors,\n SessionUnshareResponses,\n SessionUpdateErrors,\n SessionUpdateResponses,\n SubtaskPartInput,\n TextPartInput,\n ToolIdsErrors,\n ToolIdsResponses,\n ToolListErrors,\n ToolListResponses,\n TuiAppendPromptErrors,\n TuiAppendPromptResponses,\n TuiClearPromptResponses,\n TuiControlNextResponses,\n TuiControlResponseResponses,\n TuiExecuteCommandErrors,\n TuiExecuteCommandResponses,\n TuiOpenHelpResponses,\n TuiOpenModelsResponses,\n TuiOpenSessionsResponses,\n TuiOpenThemesResponses,\n TuiPublishErrors,\n TuiPublishResponses,\n TuiSelectSessionErrors,\n TuiSelectSessionResponses,\n TuiShowToastResponses,\n TuiSubmitPromptResponses,\n VcsDiffResponses,\n VcsGetResponses,\n WorktreeCreateErrors,\n WorktreeCreateInput,\n WorktreeCreateResponses,\n WorktreeListResponses,\n WorktreeRemoveErrors,\n WorktreeRemoveInput,\n WorktreeRemoveResponses,\n WorktreeResetErrors,\n WorktreeResetInput,\n WorktreeResetResponses,\n} from \"./types.gen.js\"\n\nexport type Options<TData extends TDataShape = TDataShape, ThrowOnError extends boolean = boolean> = Options2<\n TData,\n ThrowOnError\n> & {\n /**\n * You can provide a client instance returned by `createClient()` instead of\n * individual options. This might be also useful if you want to implement a\n * custom client.\n */\n client?: Client\n /**\n * You can pass arbitrary values through the `meta` object. This can be\n * used to access values that aren't defined as part of the SDK function.\n */\n meta?: Record<string, unknown>\n}\n\nclass HeyApiClient {\n protected client: Client\n\n constructor(args?: { client?: Client }) {\n this.client = args?.client ?? client\n }\n}\n\nclass HeyApiRegistry<T> {\n private readonly defaultKey = \"default\"\n\n private readonly instances: Map<string, T> = new Map()\n\n get(key?: string): T {\n const instance = this.instances.get(key ?? this.defaultKey)\n if (!instance) {\n throw new Error(`No SDK client found. Create one with \"new OpencodeClient()\" to fix this error.`)\n }\n return instance\n }\n\n set(value: T, key?: string): void {\n this.instances.set(key ?? this.defaultKey, value)\n }\n}\n\nexport class SyncEvent extends HeyApiClient {\n /**\n * Subscribe to global sync events\n *\n * Get global sync events\n */\n public subscribe<ThrowOnError extends boolean = false>(options?: Options<never, ThrowOnError>) {\n return (options?.client ?? this.client).sse.get<GlobalSyncEventSubscribeResponses, unknown, ThrowOnError>({\n url: \"/global/sync-event\",\n ...options,\n })\n }\n}\n\nexport class Config extends HeyApiClient {\n /**\n * Get global configuration\n *\n * Retrieve the current global OpenCode configuration settings and preferences.\n */\n public get<ThrowOnError extends boolean = false>(options?: Options<never, ThrowOnError>) {\n return (options?.client ?? this.client).get<GlobalConfigGetResponses, unknown, ThrowOnError>({\n url: \"/global/config\",\n ...options,\n })\n }\n\n /**\n * Update global configuration\n *\n * Update global OpenCode configuration settings and preferences.\n */\n public update<ThrowOnError extends boolean = false>(\n parameters?: {\n config?: Config3\n },\n options?: Options<never, ThrowOnError>,\n ) {\n const params = buildClientParams([parameters], [{ args: [{ key: \"config\", map: \"body\" }] }])\n return (options?.client ?? this.client).patch<GlobalConfigUpdateResponses, GlobalConfigUpdateErrors, ThrowOnError>({\n url: \"/global/config\",\n ...options,\n ...params,\n headers: {\n \"Content-Type\": \"application/json\",\n ...options?.headers,\n ...params.headers,\n },\n })\n }\n}\n\nexport class Global extends HeyApiClient {\n /**\n * Get health\n *\n * Get health information about the OpenCode server.\n */\n public health<ThrowOnError extends boolean = false>(options?: Options<never, ThrowOnError>) {\n return (options?.client ?? this.client).get<GlobalHealthResponses, unknown, ThrowOnError>({\n url: \"/global/health\",\n ...options,\n })\n }\n\n /**\n * Get global events\n *\n * Subscribe to global events from the OpenCode system using server-sent events.\n */\n public event<ThrowOnError extends boolean = false>(options?: Options<never, ThrowOnError>) {\n return (options?.client ?? this.client).sse.get<GlobalEventResponses, unknown, ThrowOnError>({\n url: \"/global/event\",\n ...options,\n })\n }\n\n /**\n * Dispose instance\n *\n * Clean up and dispose all OpenCode instances, releasing all resources.\n */\n public dispose<ThrowOnError extends boolean = false>(options?: Options<never, ThrowOnError>) {\n return (options?.client ?? this.client).post<GlobalDisposeResponses, unknown, ThrowOnError>({\n url: \"/global/dispose\",\n ...options,\n })\n }\n\n /**\n * Upgrade opencode\n *\n * Upgrade opencode to the specified version or latest if not specified.\n */\n public upgrade<ThrowOnError extends boolean = false>(\n parameters?: {\n target?: string\n },\n options?: Options<never, ThrowOnError>,\n ) {\n const params = buildClientParams([parameters], [{ args: [{ in: \"body\", key: \"target\" }] }])\n return (options?.client ?? this.client).post<GlobalUpgradeResponses, GlobalUpgradeErrors, ThrowOnError>({\n url: \"/global/upgrade\",\n ...options,\n ...params,\n headers: {\n \"Content-Type\": \"application/json\",\n ...options?.headers,\n ...params.headers,\n },\n })\n }\n\n private _syncEvent?: SyncEvent\n get syncEvent(): SyncEvent {\n return (this._syncEvent ??= new SyncEvent({ client: this.client }))\n }\n\n private _config?: Config\n get config(): Config {\n return (this._config ??= new Config({ client: this.client }))\n }\n}\n\nexport class Auth extends HeyApiClient {\n /**\n * Remove auth credentials\n *\n * Remove authentication credentials\n */\n public remove<ThrowOnError extends boolean = false>(\n parameters: {\n providerID: string\n },\n options?: Options<never, ThrowOnError>,\n ) {\n const params = buildClientParams([parameters], [{ args: [{ in: \"path\", key: \"providerID\" }] }])\n return (options?.client ?? this.client).delete<AuthRemoveResponses, AuthRemoveErrors, ThrowOnError>({\n url: \"/auth/{providerID}\",\n ...options,\n ...params,\n })\n }\n\n /**\n * Set auth credentials\n *\n * Set authentication credentials\n */\n public set<ThrowOnError extends boolean = false>(\n parameters: {\n providerID: string\n auth?: Auth3\n },\n options?: Options<never, ThrowOnError>,\n ) {\n const params = buildClientParams(\n [parameters],\n [\n {\n args: [\n { in: \"path\", key: \"providerID\" },\n { key: \"auth\", map: \"body\" },\n ],\n },\n ],\n )\n return (options?.client ?? this.client).put<AuthSetResponses, AuthSetErrors, ThrowOnError>({\n url: \"/auth/{providerID}\",\n ...options,\n ...params,\n headers: {\n \"Content-Type\": \"application/json\",\n ...options?.headers,\n ...params.headers,\n },\n })\n }\n}\n\nexport class App extends HeyApiClient {\n /**\n * Write log\n *\n * Write a log entry to the server logs with specified level and metadata.\n */\n public log<ThrowOnError extends boolean = false>(\n parameters?: {\n directory?: string\n workspace?: string\n service?: string\n level?: \"debug\" | \"info\" | \"error\" | \"warn\"\n message?: string\n extra?: {\n [key: string]: unknown\n }\n },\n options?: Options<never, ThrowOnError>,\n ) {\n const params = buildClientParams(\n [parameters],\n [\n {\n args: [\n { in: \"query\", key: \"directory\" },\n { in: \"query\", key: \"workspace\" },\n { in: \"body\", key: \"service\" },\n { in: \"body\", key: \"level\" },\n { in: \"body\", key: \"message\" },\n { in: \"body\", key: \"extra\" },\n ],\n },\n ],\n )\n return (options?.client ?? this.client).post<AppLogResponses, AppLogErrors, ThrowOnError>({\n url: \"/log\",\n ...options,\n ...params,\n headers: {\n \"Content-Type\": \"application/json\",\n ...options?.headers,\n ...params.headers,\n },\n })\n }\n\n /**\n * List agents\n *\n * Get a list of all available AI agents in the OpenCode system.\n */\n public agents<ThrowOnError extends boolean = false>(\n parameters?: {\n directory?: string\n workspace?: string\n },\n options?: Options<never, ThrowOnError>,\n ) {\n const params = buildClientParams(\n [parameters],\n [\n {\n args: [\n { in: \"query\", key: \"directory\" },\n { in: \"query\", key: \"workspace\" },\n ],\n },\n ],\n )\n return (options?.client ?? this.client).get<AppAgentsResponses, unknown, ThrowOnError>({\n url: \"/agent\",\n ...options,\n ...params,\n })\n }\n\n /**\n * List skills\n *\n * Get a list of all available skills in the OpenCode system.\n */\n public skills<ThrowOnError extends boolean = false>(\n parameters?: {\n directory?: string\n workspace?: string\n },\n options?: Options<never, ThrowOnError>,\n ) {\n const params = buildClientParams(\n [parameters],\n [\n {\n args: [\n { in: \"query\", key: \"directory\" },\n { in: \"query\", key: \"workspace\" },\n ],\n },\n ],\n )\n return (options?.client ?? this.client).get<AppSkillsResponses, unknown, ThrowOnError>({\n url: \"/skill\",\n ...options,\n ...params,\n })\n }\n}\n\nexport class Project extends HeyApiClient {\n /**\n * List all projects\n *\n * Get a list of projects that have been opened with OpenCode.\n */\n public list<ThrowOnError extends boolean = false>(\n parameters?: {\n directory?: string\n workspace?: string\n },\n options?: Options<never, ThrowOnError>,\n ) {\n const params = buildClientParams(\n [parameters],\n [\n {\n args: [\n { in: \"query\", key: \"directory\" },\n { in: \"query\", key: \"workspace\" },\n ],\n },\n ],\n )\n return (options?.client ?? this.client).get<ProjectListResponses, unknown, ThrowOnError>({\n url: \"/project\",\n ...options,\n ...params,\n })\n }\n\n /**\n * Get current project\n *\n * Retrieve the currently active project that OpenCode is working with.\n */\n public current<ThrowOnError extends boolean = false>(\n parameters?: {\n directory?: string\n workspace?: string\n },\n options?: Options<never, ThrowOnError>,\n ) {\n const params = buildClientParams(\n [parameters],\n [\n {\n args: [\n { in: \"query\", key: \"directory\" },\n { in: \"query\", key: \"workspace\" },\n ],\n },\n ],\n )\n return (options?.client ?? this.client).get<ProjectCurrentResponses, unknown, ThrowOnError>({\n url: \"/project/current\",\n ...options,\n ...params,\n })\n }\n\n /**\n * Initialize git repository\n *\n * Create a git repository for the current project and return the refreshed project info.\n */\n public initGit<ThrowOnError extends boolean = false>(\n parameters?: {\n directory?: string\n workspace?: string\n },\n options?: Options<never, ThrowOnError>,\n ) {\n const params = buildClientParams(\n [parameters],\n [\n {\n args: [\n { in: \"query\", key: \"directory\" },\n { in: \"query\", key: \"workspace\" },\n ],\n },\n ],\n )\n return (options?.client ?? this.client).post<ProjectInitGitResponses, unknown, ThrowOnError>({\n url: \"/project/git/init\",\n ...options,\n ...params,\n })\n }\n\n /**\n * Update project\n *\n * Update project properties such as name, icon, and commands.\n */\n public update<ThrowOnError extends boolean = false>(\n parameters: {\n projectID: string\n directory?: string\n workspace?: string\n name?: string\n icon?: {\n url?: string\n override?: string\n color?: string\n }\n commands?: {\n /**\n * Startup script to run when creating a new workspace (worktree)\n */\n start?: string\n }\n },\n options?: Options<never, ThrowOnError>,\n ) {\n const params = buildClientParams(\n [parameters],\n [\n {\n args: [\n { in: \"path\", key: \"projectID\" },\n { in: \"query\", key: \"directory\" },\n { in: \"query\", key: \"workspace\" },\n { in: \"body\", key: \"name\" },\n { in: \"body\", key: \"icon\" },\n { in: \"body\", key: \"commands\" },\n ],\n },\n ],\n )\n return (options?.client ?? this.client).patch<ProjectUpdateResponses, ProjectUpdateErrors, ThrowOnError>({\n url: \"/project/{projectID}\",\n ...options,\n ...params,\n headers: {\n \"Content-Type\": \"application/json\",\n ...options?.headers,\n ...params.headers,\n },\n })\n }\n}\n\nexport class Pty extends HeyApiClient {\n /**\n * List PTY sessions\n *\n * Get a list of all active pseudo-terminal (PTY) sessions managed by OpenCode.\n */\n public list<ThrowOnError extends boolean = false>(\n parameters?: {\n directory?: string\n workspace?: string\n },\n options?: Options<never, ThrowOnError>,\n ) {\n const params = buildClientParams(\n [parameters],\n [\n {\n args: [\n { in: \"query\", key: \"directory\" },\n { in: \"query\", key: \"workspace\" },\n ],\n },\n ],\n )\n return (options?.client ?? this.client).get<PtyListResponses, unknown, ThrowOnError>({\n url: \"/pty\",\n ...options,\n ...params,\n })\n }\n\n /**\n * Create PTY session\n *\n * Create a new pseudo-terminal (PTY) session for running shell commands and processes.\n */\n public create<ThrowOnError extends boolean = false>(\n parameters?: {\n directory?: string\n workspace?: string\n command?: string\n args?: Array<string>\n cwd?: string\n title?: string\n env?: {\n [key: string]: string\n }\n },\n options?: Options<never, ThrowOnError>,\n ) {\n const params = buildClientParams(\n [parameters],\n [\n {\n args: [\n { in: \"query\", key: \"directory\" },\n { in: \"query\", key: \"workspace\" },\n { in: \"body\", key: \"command\" },\n { in: \"body\", key: \"args\" },\n { in: \"body\", key: \"cwd\" },\n { in: \"body\", key: \"title\" },\n { in: \"body\", key: \"env\" },\n ],\n },\n ],\n )\n return (options?.client ?? this.client).post<PtyCreateResponses, PtyCreateErrors, ThrowOnError>({\n url: \"/pty\",\n ...options,\n ...params,\n headers: {\n \"Content-Type\": \"application/json\",\n ...options?.headers,\n ...params.headers,\n },\n })\n }\n\n /**\n * Remove PTY session\n *\n * Remove and terminate a specific pseudo-terminal (PTY) session.\n */\n public remove<ThrowOnError extends boolean = false>(\n parameters: {\n ptyID: string\n directory?: string\n workspace?: string\n },\n options?: Options<never, ThrowOnError>,\n ) {\n const params = buildClientParams(\n [parameters],\n [\n {\n args: [\n { in: \"path\", key: \"ptyID\" },\n { in: \"query\", key: \"directory\" },\n { in: \"query\", key: \"workspace\" },\n ],\n },\n ],\n )\n return (options?.client ?? this.client).delete<PtyRemoveResponses, PtyRemoveErrors, ThrowOnError>({\n url: \"/pty/{ptyID}\",\n ...options,\n ...params,\n })\n }\n\n /**\n * Get PTY session\n *\n * Retrieve detailed information about a specific pseudo-terminal (PTY) session.\n */\n public get<ThrowOnError extends boolean = false>(\n parameters: {\n ptyID: string\n directory?: string\n workspace?: string\n },\n options?: Options<never, ThrowOnError>,\n ) {\n const params = buildClientParams(\n [parameters],\n [\n {\n args: [\n { in: \"path\", key: \"ptyID\" },\n { in: \"query\", key: \"directory\" },\n { in: \"query\", key: \"workspace\" },\n ],\n },\n ],\n )\n return (options?.client ?? this.client).get<PtyGetResponses, PtyGetErrors, ThrowOnError>({\n url: \"/pty/{ptyID}\",\n ...options,\n ...params,\n })\n }\n\n /**\n * Update PTY session\n *\n * Update properties of an existing pseudo-terminal (PTY) session.\n */\n public update<ThrowOnError extends boolean = false>(\n parameters: {\n ptyID: string\n directory?: string\n workspace?: string\n title?: string\n size?: {\n rows: number\n cols: number\n }\n },\n options?: Options<never, ThrowOnError>,\n ) {\n const params = buildClientParams(\n [parameters],\n [\n {\n args: [\n { in: \"path\", key: \"ptyID\" },\n { in: \"query\", key: \"directory\" },\n { in: \"query\", key: \"workspace\" },\n { in: \"body\", key: \"title\" },\n { in: \"body\", key: \"size\" },\n ],\n },\n ],\n )\n return (options?.client ?? this.client).put<PtyUpdateResponses, PtyUpdateErrors, ThrowOnError>({\n url: \"/pty/{ptyID}\",\n ...options,\n ...params,\n headers: {\n \"Content-Type\": \"application/json\",\n ...options?.headers,\n ...params.headers,\n },\n })\n }\n\n /**\n * Connect to PTY session\n *\n * Establish a WebSocket connection to interact with a pseudo-terminal (PTY) session in real-time.\n */\n public connect<ThrowOnError extends boolean = false>(\n parameters: {\n ptyID: string\n directory?: string\n workspace?: string\n },\n options?: Options<never, ThrowOnError>,\n ) {\n const params = buildClientParams(\n [parameters],\n [\n {\n args: [\n { in: \"path\", key: \"ptyID\" },\n { in: \"query\", key: \"directory\" },\n { in: \"query\", key: \"workspace\" },\n ],\n },\n ],\n )\n return (options?.client ?? this.client).get<PtyConnectResponses, PtyConnectErrors, ThrowOnError>({\n url: \"/pty/{ptyID}/connect\",\n ...options,\n ...params,\n })\n }\n}\n\nexport class Config2 extends HeyApiClient {\n /**\n * Get configuration\n *\n * Retrieve the current OpenCode configuration settings and preferences.\n */\n public get<ThrowOnError extends boolean = false>(\n parameters?: {\n directory?: string\n workspace?: string\n },\n options?: Options<never, ThrowOnError>,\n ) {\n const params = buildClientParams(\n [parameters],\n [\n {\n args: [\n { in: \"query\", key: \"directory\" },\n { in: \"query\", key: \"workspace\" },\n ],\n },\n ],\n )\n return (options?.client ?? this.client).get<ConfigGetResponses, unknown, ThrowOnError>({\n url: \"/config\",\n ...options,\n ...params,\n })\n }\n\n /**\n * Update configuration\n *\n * Update OpenCode configuration settings and preferences.\n */\n public update<ThrowOnError extends boolean = false>(\n parameters?: {\n directory?: string\n workspace?: string\n config?: Config3\n },\n options?: Options<never, ThrowOnError>,\n ) {\n const params = buildClientParams(\n [parameters],\n [\n {\n args: [\n { in: \"query\", key: \"directory\" },\n { in: \"query\", key: \"workspace\" },\n { key: \"config\", map: \"body\" },\n ],\n },\n ],\n )\n return (options?.client ?? this.client).patch<ConfigUpdateResponses, ConfigUpdateErrors, ThrowOnError>({\n url: \"/config\",\n ...options,\n ...params,\n headers: {\n \"Content-Type\": \"application/json\",\n ...options?.headers,\n ...params.headers,\n },\n })\n }\n\n /**\n * List config providers\n *\n * Get a list of all configured AI providers and their default models.\n */\n public providers<ThrowOnError extends boolean = false>(\n parameters?: {\n directory?: string\n workspace?: string\n },\n options?: Options<never, ThrowOnError>,\n ) {\n const params = buildClientParams(\n [parameters],\n [\n {\n args: [\n { in: \"query\", key: \"directory\" },\n { in: \"query\", key: \"workspace\" },\n ],\n },\n ],\n )\n return (options?.client ?? this.client).get<ConfigProvidersResponses, unknown, ThrowOnError>({\n url: \"/config/providers\",\n ...options,\n ...params,\n })\n }\n}\n\nexport class Console extends HeyApiClient {\n /**\n * Get active Console provider metadata\n *\n * Get the active Console org name and the set of provider IDs managed by that Console org.\n */\n public get<ThrowOnError extends boolean = false>(\n parameters?: {\n directory?: string\n workspace?: string\n },\n options?: Options<never, ThrowOnError>,\n ) {\n const params = buildClientParams(\n [parameters],\n [\n {\n args: [\n { in: \"query\", key: \"directory\" },\n { in: \"query\", key: \"workspace\" },\n ],\n },\n ],\n )\n return (options?.client ?? this.client).get<ExperimentalConsoleGetResponses, unknown, ThrowOnError>({\n url: \"/experimental/console\",\n ...options,\n ...params,\n })\n }\n\n /**\n * List switchable Console orgs\n *\n * Get the available Console orgs across logged-in accounts, including the current active org.\n */\n public listOrgs<ThrowOnError extends boolean = false>(\n parameters?: {\n directory?: string\n workspace?: string\n },\n options?: Options<never, ThrowOnError>,\n ) {\n const params = buildClientParams(\n [parameters],\n [\n {\n args: [\n { in: \"query\", key: \"directory\" },\n { in: \"query\", key: \"workspace\" },\n ],\n },\n ],\n )\n return (options?.client ?? this.client).get<ExperimentalConsoleListOrgsResponses, unknown, ThrowOnError>({\n url: \"/experimental/console/orgs\",\n ...options,\n ...params,\n })\n }\n\n /**\n * Switch active Console org\n *\n * Persist a new active Console account/org selection for the current local OpenCode state.\n */\n public switchOrg<ThrowOnError extends boolean = false>(\n parameters?: {\n directory?: string\n workspace?: string\n accountID?: string\n orgID?: string\n },\n options?: Options<never, ThrowOnError>,\n ) {\n const params = buildClientParams(\n [parameters],\n [\n {\n args: [\n { in: \"query\", key: \"directory\" },\n { in: \"query\", key: \"workspace\" },\n { in: \"body\", key: \"accountID\" },\n { in: \"body\", key: \"orgID\" },\n ],\n },\n ],\n )\n return (options?.client ?? this.client).post<ExperimentalConsoleSwitchOrgResponses, unknown, ThrowOnError>({\n url: \"/experimental/console/switch\",\n ...options,\n ...params,\n headers: {\n \"Content-Type\": \"application/json\",\n ...options?.headers,\n ...params.headers,\n },\n })\n }\n}\n\nexport class Workspace extends HeyApiClient {\n /**\n * List workspaces\n *\n * List all workspaces.\n */\n public list<ThrowOnError extends boolean = false>(\n parameters?: {\n directory?: string\n workspace?: string\n },\n options?: Options<never, ThrowOnError>,\n ) {\n const params = buildClientParams(\n [parameters],\n [\n {\n args: [\n { in: \"query\", key: \"directory\" },\n { in: \"query\", key: \"workspace\" },\n ],\n },\n ],\n )\n return (options?.client ?? this.client).get<ExperimentalWorkspaceListResponses, unknown, ThrowOnError>({\n url: \"/experimental/workspace\",\n ...options,\n ...params,\n })\n }\n\n /**\n * Create workspace\n *\n * Create a workspace for the current project.\n */\n public create<ThrowOnError extends boolean = false>(\n parameters?: {\n directory?: string\n workspace?: string\n id?: string\n type?: string\n branch?: string | null\n extra?: unknown | null\n },\n options?: Options<never, ThrowOnError>,\n ) {\n const params = buildClientParams(\n [parameters],\n [\n {\n args: [\n { in: \"query\", key: \"directory\" },\n { in: \"query\", key: \"workspace\" },\n { in: \"body\", key: \"id\" },\n { in: \"body\", key: \"type\" },\n { in: \"body\", key: \"branch\" },\n { in: \"body\", key: \"extra\" },\n ],\n },\n ],\n )\n return (options?.client ?? this.client).post<\n ExperimentalWorkspaceCreateResponses,\n ExperimentalWorkspaceCreateErrors,\n ThrowOnError\n >({\n url: \"/experimental/workspace\",\n ...options,\n ...params,\n headers: {\n \"Content-Type\": \"application/json\",\n ...options?.headers,\n ...params.headers,\n },\n })\n }\n\n /**\n * Remove workspace\n *\n * Remove an existing workspace.\n */\n public remove<ThrowOnError extends boolean = false>(\n parameters: {\n id: string\n directory?: string\n workspace?: string\n },\n options?: Options<never, ThrowOnError>,\n ) {\n const params = buildClientParams(\n [parameters],\n [\n {\n args: [\n { in: \"path\", key: \"id\" },\n { in: \"query\", key: \"directory\" },\n { in: \"query\", key: \"workspace\" },\n ],\n },\n ],\n )\n return (options?.client ?? this.client).delete<\n ExperimentalWorkspaceRemoveResponses,\n ExperimentalWorkspaceRemoveErrors,\n ThrowOnError\n >({\n url: \"/experimental/workspace/{id}\",\n ...options,\n ...params,\n })\n }\n}\n\nexport class Session extends HeyApiClient {\n /**\n * List sessions\n *\n * Get a list of all OpenCode sessions across projects, sorted by most recently updated. Archived sessions are excluded by default.\n */\n public list<ThrowOnError extends boolean = false>(\n parameters?: {\n directory?: string\n workspace?: string\n roots?: boolean\n start?: number\n cursor?: number\n search?: string\n limit?: number\n archived?: boolean\n },\n options?: Options<never, ThrowOnError>,\n ) {\n const params = buildClientParams(\n [parameters],\n [\n {\n args: [\n { in: \"query\", key: \"directory\" },\n { in: \"query\", key: \"workspace\" },\n { in: \"query\", key: \"roots\" },\n { in: \"query\", key: \"start\" },\n { in: \"query\", key: \"cursor\" },\n { in: \"query\", key: \"search\" },\n { in: \"query\", key: \"limit\" },\n { in: \"query\", key: \"archived\" },\n ],\n },\n ],\n )\n return (options?.client ?? this.client).get<ExperimentalSessionListResponses, unknown, ThrowOnError>({\n url: \"/experimental/session\",\n ...options,\n ...params,\n })\n }\n}\n\nexport class Resource extends HeyApiClient {\n /**\n * Get MCP resources\n *\n * Get all available MCP resources from connected servers. Optionally filter by name.\n */\n public list<ThrowOnError extends boolean = false>(\n parameters?: {\n directory?: string\n workspace?: string\n },\n options?: Options<never, ThrowOnError>,\n ) {\n const params = buildClientParams(\n [parameters],\n [\n {\n args: [\n { in: \"query\", key: \"directory\" },\n { in: \"query\", key: \"workspace\" },\n ],\n },\n ],\n )\n return (options?.client ?? this.client).get<ExperimentalResourceListResponses, unknown, ThrowOnError>({\n url: \"/experimental/resource\",\n ...options,\n ...params,\n })\n }\n}\n\nexport class Experimental extends HeyApiClient {\n private _console?: Console\n get console(): Console {\n return (this._console ??= new Console({ client: this.client }))\n }\n\n private _workspace?: Workspace\n get workspace(): Workspace {\n return (this._workspace ??= new Workspace({ client: this.client }))\n }\n\n private _session?: Session\n get session(): Session {\n return (this._session ??= new Session({ client: this.client }))\n }\n\n private _resource?: Resource\n get resource(): Resource {\n return (this._resource ??= new Resource({ client: this.client }))\n }\n}\n\nexport class Tool extends HeyApiClient {\n /**\n * List tool IDs\n *\n * Get a list of all available tool IDs, including both built-in tools and dynamically registered tools.\n */\n public ids<ThrowOnError extends boolean = false>(\n parameters?: {\n directory?: string\n workspace?: string\n },\n options?: Options<never, ThrowOnError>,\n ) {\n const params = buildClientParams(\n [parameters],\n [\n {\n args: [\n { in: \"query\", key: \"directory\" },\n { in: \"query\", key: \"workspace\" },\n ],\n },\n ],\n )\n return (options?.client ?? this.client).get<ToolIdsResponses, ToolIdsErrors, ThrowOnError>({\n url: \"/experimental/tool/ids\",\n ...options,\n ...params,\n })\n }\n\n /**\n * List tools\n *\n * Get a list of available tools with their JSON schema parameters for a specific provider and model combination.\n */\n public list<ThrowOnError extends boolean = false>(\n parameters: {\n directory?: string\n workspace?: string\n provider: string\n model: string\n },\n options?: Options<never, ThrowOnError>,\n ) {\n const params = buildClientParams(\n [parameters],\n [\n {\n args: [\n { in: \"query\", key: \"directory\" },\n { in: \"query\", key: \"workspace\" },\n { in: \"query\", key: \"provider\" },\n { in: \"query\", key: \"model\" },\n ],\n },\n ],\n )\n return (options?.client ?? this.client).get<ToolListResponses, ToolListErrors, ThrowOnError>({\n url: \"/experimental/tool\",\n ...options,\n ...params,\n })\n }\n}\n\nexport class Worktree extends HeyApiClient {\n /**\n * Remove worktree\n *\n * Remove a git worktree and delete its branch.\n */\n public remove<ThrowOnError extends boolean = false>(\n parameters?: {\n directory?: string\n workspace?: string\n worktreeRemoveInput?: WorktreeRemoveInput\n },\n options?: Options<never, ThrowOnError>,\n ) {\n const params = buildClientParams(\n [parameters],\n [\n {\n args: [\n { in: \"query\", key: \"directory\" },\n { in: \"query\", key: \"workspace\" },\n { key: \"worktreeRemoveInput\", map: \"body\" },\n ],\n },\n ],\n )\n return (options?.client ?? this.client).delete<WorktreeRemoveResponses, WorktreeRemoveErrors, ThrowOnError>({\n url: \"/experimental/worktree\",\n ...options,\n ...params,\n headers: {\n \"Content-Type\": \"application/json\",\n ...options?.headers,\n ...params.headers,\n },\n })\n }\n\n /**\n * List worktrees\n *\n * List all sandbox worktrees for the current project.\n */\n public list<ThrowOnError extends boolean = false>(\n parameters?: {\n directory?: string\n workspace?: string\n },\n options?: Options<never, ThrowOnError>,\n ) {\n const params = buildClientParams(\n [parameters],\n [\n {\n args: [\n { in: \"query\", key: \"directory\" },\n { in: \"query\", key: \"workspace\" },\n ],\n },\n ],\n )\n return (options?.client ?? this.client).get<WorktreeListResponses, unknown, ThrowOnError>({\n url: \"/experimental/worktree\",\n ...options,\n ...params,\n })\n }\n\n /**\n * Create worktree\n *\n * Create a new git worktree for the current project and run any configured startup scripts.\n */\n public create<ThrowOnError extends boolean = false>(\n parameters?: {\n directory?: string\n workspace?: string\n worktreeCreateInput?: WorktreeCreateInput\n },\n options?: Options<never, ThrowOnError>,\n ) {\n const params = buildClientParams(\n [parameters],\n [\n {\n args: [\n { in: \"query\", key: \"directory\" },\n { in: \"query\", key: \"workspace\" },\n { key: \"worktreeCreateInput\", map: \"body\" },\n ],\n },\n ],\n )\n return (options?.client ?? this.client).post<WorktreeCreateResponses, WorktreeCreateErrors, ThrowOnError>({\n url: \"/experimental/worktree\",\n ...options,\n ...params,\n headers: {\n \"Content-Type\": \"application/json\",\n ...options?.headers,\n ...params.headers,\n },\n })\n }\n\n /**\n * Reset worktree\n *\n * Reset a worktree branch to the primary default branch.\n */\n public reset<ThrowOnError extends boolean = false>(\n parameters?: {\n directory?: string\n workspace?: string\n worktreeResetInput?: WorktreeResetInput\n },\n options?: Options<never, ThrowOnError>,\n ) {\n const params = buildClientParams(\n [parameters],\n [\n {\n args: [\n { in: \"query\", key: \"directory\" },\n { in: \"query\", key: \"workspace\" },\n { key: \"worktreeResetInput\", map: \"body\" },\n ],\n },\n ],\n )\n return (options?.client ?? this.client).post<WorktreeResetResponses, WorktreeResetErrors, ThrowOnError>({\n url: \"/experimental/worktree/reset\",\n ...options,\n ...params,\n headers: {\n \"Content-Type\": \"application/json\",\n ...options?.headers,\n ...params.headers,\n },\n })\n }\n}\n\nexport class Session2 extends HeyApiClient {\n /**\n * List sessions\n *\n * Get a list of all OpenCode sessions, sorted by most recently updated.\n */\n public list<ThrowOnError extends boolean = false>(\n parameters?: {\n directory?: string\n workspace?: string\n roots?: boolean\n start?: number\n search?: string\n limit?: number\n },\n options?: Options<never, ThrowOnError>,\n ) {\n const params = buildClientParams(\n [parameters],\n [\n {\n args: [\n { in: \"query\", key: \"directory\" },\n { in: \"query\", key: \"workspace\" },\n { in: \"query\", key: \"roots\" },\n { in: \"query\", key: \"start\" },\n { in: \"query\", key: \"search\" },\n { in: \"query\", key: \"limit\" },\n ],\n },\n ],\n )\n return (options?.client ?? this.client).get<SessionListResponses, unknown, ThrowOnError>({\n url: \"/session\",\n ...options,\n ...params,\n })\n }\n\n /**\n * Create session\n *\n * Create a new OpenCode session for interacting with AI assistants and managing conversations.\n */\n public create<ThrowOnError extends boolean = false>(\n parameters?: {\n directory?: string\n workspace?: string\n parentID?: string\n title?: string\n permission?: PermissionRuleset\n workspaceID?: string\n },\n options?: Options<never, ThrowOnError>,\n ) {\n const params = buildClientParams(\n [parameters],\n [\n {\n args: [\n { in: \"query\", key: \"directory\" },\n { in: \"query\", key: \"workspace\" },\n { in: \"body\", key: \"parentID\" },\n { in: \"body\", key: \"title\" },\n { in: \"body\", key: \"permission\" },\n { in: \"body\", key: \"workspaceID\" },\n ],\n },\n ],\n )\n return (options?.client ?? this.client).post<SessionCreateResponses, SessionCreateErrors, ThrowOnError>({\n url: \"/session\",\n ...options,\n ...params,\n headers: {\n \"Content-Type\": \"application/json\",\n ...options?.headers,\n ...params.headers,\n },\n })\n }\n\n /**\n * Get session status\n *\n * Retrieve the current status of all sessions, including active, idle, and completed states.\n */\n public status<ThrowOnError extends boolean = false>(\n parameters?: {\n directory?: string\n workspace?: string\n },\n options?: Options<never, ThrowOnError>,\n ) {\n const params = buildClientParams(\n [parameters],\n [\n {\n args: [\n { in: \"query\", key: \"directory\" },\n { in: \"query\", key: \"workspace\" },\n ],\n },\n ],\n )\n return (options?.client ?? this.client).get<SessionStatusResponses, SessionStatusErrors, ThrowOnError>({\n url: \"/session/status\",\n ...options,\n ...params,\n })\n }\n\n /**\n * Delete session\n *\n * Delete a session and permanently remove all associated data, including messages and history.\n */\n public delete<ThrowOnError extends boolean = false>(\n parameters: {\n sessionID: string\n directory?: string\n workspace?: string\n },\n options?: Options<never, ThrowOnError>,\n ) {\n const params = buildClientParams(\n [parameters],\n [\n {\n args: [\n { in: \"path\", key: \"sessionID\" },\n { in: \"query\", key: \"directory\" },\n { in: \"query\", key: \"workspace\" },\n ],\n },\n ],\n )\n return (options?.client ?? this.client).delete<SessionDeleteResponses, SessionDeleteErrors, ThrowOnError>({\n url: \"/session/{sessionID}\",\n ...options,\n ...params,\n })\n }\n\n /**\n * Get session\n *\n * Retrieve detailed information about a specific OpenCode session.\n */\n public get<ThrowOnError extends boolean = false>(\n parameters: {\n sessionID: string\n directory?: string\n workspace?: string\n },\n options?: Options<never, ThrowOnError>,\n ) {\n const params = buildClientParams(\n [parameters],\n [\n {\n args: [\n { in: \"path\", key: \"sessionID\" },\n { in: \"query\", key: \"directory\" },\n { in: \"query\", key: \"workspace\" },\n ],\n },\n ],\n )\n return (options?.client ?? this.client).get<SessionGetResponses, SessionGetErrors, ThrowOnError>({\n url: \"/session/{sessionID}\",\n ...options,\n ...params,\n })\n }\n\n /**\n * Update session\n *\n * Update properties of an existing session, such as title or other metadata.\n */\n public update<ThrowOnError extends boolean = false>(\n parameters: {\n sessionID: string\n directory?: string\n workspace?: string\n title?: string\n time?: {\n archived?: number\n }\n },\n options?: Options<never, ThrowOnError>,\n ) {\n const params = buildClientParams(\n [parameters],\n [\n {\n args: [\n { in: \"path\", key: \"sessionID\" },\n { in: \"query\", key: \"directory\" },\n { in: \"query\", key: \"workspace\" },\n { in: \"body\", key: \"title\" },\n { in: \"body\", key: \"time\" },\n ],\n },\n ],\n )\n return (options?.client ?? this.client).patch<SessionUpdateResponses, SessionUpdateErrors, ThrowOnError>({\n url: \"/session/{sessionID}\",\n ...options,\n ...params,\n headers: {\n \"Content-Type\": \"application/json\",\n ...options?.headers,\n ...params.headers,\n },\n })\n }\n\n /**\n * Get session children\n *\n * Retrieve all child sessions that were forked from the specified parent session.\n */\n public children<ThrowOnError extends boolean = false>(\n parameters: {\n sessionID: string\n directory?: string\n workspace?: string\n },\n options?: Options<never, ThrowOnError>,\n ) {\n const params = buildClientParams(\n [parameters],\n [\n {\n args: [\n { in: \"path\", key: \"sessionID\" },\n { in: \"query\", key: \"directory\" },\n { in: \"query\", key: \"workspace\" },\n ],\n },\n ],\n )\n return (options?.client ?? this.client).get<SessionChildrenResponses, SessionChildrenErrors, ThrowOnError>({\n url: \"/session/{sessionID}/children\",\n ...options,\n ...params,\n })\n }\n\n /**\n * Get session todos\n *\n * Retrieve the todo list associated with a specific session, showing tasks and action items.\n */\n public todo<ThrowOnError extends boolean = false>(\n parameters: {\n sessionID: string\n directory?: string\n workspace?: string\n },\n options?: Options<never, ThrowOnError>,\n ) {\n const params = buildClientParams(\n [parameters],\n [\n {\n args: [\n { in: \"path\", key: \"sessionID\" },\n { in: \"query\", key: \"directory\" },\n { in: \"query\", key: \"workspace\" },\n ],\n },\n ],\n )\n return (options?.client ?? this.client).get<SessionTodoResponses, SessionTodoErrors, ThrowOnError>({\n url: \"/session/{sessionID}/todo\",\n ...options,\n ...params,\n })\n }\n\n /**\n * Initialize session\n *\n * Analyze the current application and create an AGENTS.md file with project-specific agent configurations.\n */\n public init<ThrowOnError extends boolean = false>(\n parameters: {\n sessionID: string\n directory?: string\n workspace?: string\n modelID?: string\n providerID?: string\n messageID?: string\n },\n options?: Options<never, ThrowOnError>,\n ) {\n const params = buildClientParams(\n [parameters],\n [\n {\n args: [\n { in: \"path\", key: \"sessionID\" },\n { in: \"query\", key: \"directory\" },\n { in: \"query\", key: \"workspace\" },\n { in: \"body\", key: \"modelID\" },\n { in: \"body\", key: \"providerID\" },\n { in: \"body\", key: \"messageID\" },\n ],\n },\n ],\n )\n return (options?.client ?? this.client).post<SessionInitResponses, SessionInitErrors, ThrowOnError>({\n url: \"/session/{sessionID}/init\",\n ...options,\n ...params,\n headers: {\n \"Content-Type\": \"application/json\",\n ...options?.headers,\n ...params.headers,\n },\n })\n }\n\n /**\n * Fork session\n *\n * Create a new session by forking an existing session at a specific message point.\n */\n public fork<ThrowOnError extends boolean = false>(\n parameters: {\n sessionID: string\n directory?: string\n workspace?: string\n messageID?: string\n },\n options?: Options<never, ThrowOnError>,\n ) {\n const params = buildClientParams(\n [parameters],\n [\n {\n args: [\n { in: \"path\", key: \"sessionID\" },\n { in: \"query\", key: \"directory\" },\n { in: \"query\", key: \"workspace\" },\n { in: \"body\", key: \"messageID\" },\n ],\n },\n ],\n )\n return (options?.client ?? this.client).post<SessionForkResponses, unknown, ThrowOnError>({\n url: \"/session/{sessionID}/fork\",\n ...options,\n ...params,\n headers: {\n \"Content-Type\": \"application/json\",\n ...options?.headers,\n ...params.headers,\n },\n })\n }\n\n /**\n * Abort session\n *\n * Abort an active session and stop any ongoing AI processing or command execution.\n */\n public abort<ThrowOnError extends boolean = false>(\n parameters: {\n sessionID: string\n directory?: string\n workspace?: string\n },\n options?: Options<never, ThrowOnError>,\n ) {\n const params = buildClientParams(\n [parameters],\n [\n {\n args: [\n { in: \"path\", key: \"sessionID\" },\n { in: \"query\", key: \"directory\" },\n { in: \"query\", key: \"workspace\" },\n ],\n },\n ],\n )\n return (options?.client ?? this.client).post<SessionAbortResponses, SessionAbortErrors, ThrowOnError>({\n url: \"/session/{sessionID}/abort\",\n ...options,\n ...params,\n })\n }\n\n /**\n * Unshare session\n *\n * Remove the shareable link for a session, making it private again.\n */\n public unshare<ThrowOnError extends boolean = false>(\n parameters: {\n sessionID: string\n directory?: string\n workspace?: string\n },\n options?: Options<never, ThrowOnError>,\n ) {\n const params = buildClientParams(\n [parameters],\n [\n {\n args: [\n { in: \"path\", key: \"sessionID\" },\n { in: \"query\", key: \"directory\" },\n { in: \"query\", key: \"workspace\" },\n ],\n },\n ],\n )\n return (options?.client ?? this.client).delete<SessionUnshareResponses, SessionUnshareErrors, ThrowOnError>({\n url: \"/session/{sessionID}/share\",\n ...options,\n ...params,\n })\n }\n\n /**\n * Share session\n *\n * Create a shareable link for a session, allowing others to view the conversation.\n */\n public share<ThrowOnError extends boolean = false>(\n parameters: {\n sessionID: string\n directory?: string\n workspace?: string\n },\n options?: Options<never, ThrowOnError>,\n ) {\n const params = buildClientParams(\n [parameters],\n [\n {\n args: [\n { in: \"path\", key: \"sessionID\" },\n { in: \"query\", key: \"directory\" },\n { in: \"query\", key: \"workspace\" },\n ],\n },\n ],\n )\n return (options?.client ?? this.client).post<SessionShareResponses, SessionShareErrors, ThrowOnError>({\n url: \"/session/{sessionID}/share\",\n ...options,\n ...params,\n })\n }\n\n /**\n * Get message diff\n *\n * Get the file changes (diff) that resulted from a specific user message in the session.\n */\n public diff<ThrowOnError extends boolean = false>(\n parameters: {\n sessionID: string\n directory?: string\n workspace?: string\n messageID?: string\n },\n options?: Options<never, ThrowOnError>,\n ) {\n const params = buildClientParams(\n [parameters],\n [\n {\n args: [\n { in: \"path\", key: \"sessionID\" },\n { in: \"query\", key: \"directory\" },\n { in: \"query\", key: \"workspace\" },\n { in: \"query\", key: \"messageID\" },\n ],\n },\n ],\n )\n return (options?.client ?? this.client).get<SessionDiffResponses, unknown, ThrowOnError>({\n url: \"/session/{sessionID}/diff\",\n ...options,\n ...params,\n })\n }\n\n /**\n * Summarize session\n *\n * Generate a concise summary of the session using AI compaction to preserve key information.\n */\n public summarize<ThrowOnError extends boolean = false>(\n parameters: {\n sessionID: string\n directory?: string\n workspace?: string\n providerID?: string\n modelID?: string\n auto?: boolean\n },\n options?: Options<never, ThrowOnError>,\n ) {\n const params = buildClientParams(\n [parameters],\n [\n {\n args: [\n { in: \"path\", key: \"sessionID\" },\n { in: \"query\", key: \"directory\" },\n { in: \"query\", key: \"workspace\" },\n { in: \"body\", key: \"providerID\" },\n { in: \"body\", key: \"modelID\" },\n { in: \"body\", key: \"auto\" },\n ],\n },\n ],\n )\n return (options?.client ?? this.client).post<SessionSummarizeResponses, SessionSummarizeErrors, ThrowOnError>({\n url: \"/session/{sessionID}/summarize\",\n ...options,\n ...params,\n headers: {\n \"Content-Type\": \"application/json\",\n ...options?.headers,\n ...params.headers,\n },\n })\n }\n\n /**\n * Get session messages\n *\n * Retrieve all messages in a session, including user prompts and AI responses.\n */\n public messages<ThrowOnError extends boolean = false>(\n parameters: {\n sessionID: string\n directory?: string\n workspace?: string\n limit?: number\n before?: string\n },\n options?: Options<never, ThrowOnError>,\n ) {\n const params = buildClientParams(\n [parameters],\n [\n {\n args: [\n { in: \"path\", key: \"sessionID\" },\n { in: \"query\", key: \"directory\" },\n { in: \"query\", key: \"workspace\" },\n { in: \"query\", key: \"limit\" },\n { in: \"query\", key: \"before\" },\n ],\n },\n ],\n )\n return (options?.client ?? this.client).get<SessionMessagesResponses, SessionMessagesErrors, ThrowOnError>({\n url: \"/session/{sessionID}/message\",\n ...options,\n ...params,\n })\n }\n\n /**\n * Send message\n *\n * Create and send a new message to a session, streaming the AI response.\n */\n public prompt<ThrowOnError extends boolean = false>(\n parameters: {\n sessionID: string\n directory?: string\n workspace?: string\n messageID?: string\n model?: {\n providerID: string\n modelID: string\n }\n agent?: string\n noReply?: boolean\n tools?: {\n [key: string]: boolean\n }\n format?: OutputFormat\n system?: string\n variant?: string\n parts?: Array<TextPartInput | FilePartInput | AgentPartInput | SubtaskPartInput>\n },\n options?: Options<never, ThrowOnError>,\n ) {\n const params = buildClientParams(\n [parameters],\n [\n {\n args: [\n { in: \"path\", key: \"sessionID\" },\n { in: \"query\", key: \"directory\" },\n { in: \"query\", key: \"workspace\" },\n { in: \"body\", key: \"messageID\" },\n { in: \"body\", key: \"model\" },\n { in: \"body\", key: \"agent\" },\n { in: \"body\", key: \"noReply\" },\n { in: \"body\", key: \"tools\" },\n { in: \"body\", key: \"format\" },\n { in: \"body\", key: \"system\" },\n { in: \"body\", key: \"variant\" },\n { in: \"body\", key: \"parts\" },\n ],\n },\n ],\n )\n return (options?.client ?? this.client).post<SessionPromptResponses, SessionPromptErrors, ThrowOnError>({\n url: \"/session/{sessionID}/message\",\n ...options,\n ...params,\n headers: {\n \"Content-Type\": \"application/json\",\n ...options?.headers,\n ...params.headers,\n },\n })\n }\n\n /**\n * Delete message\n *\n * Permanently delete a specific message (and all of its parts) from a session. This does not revert any file changes that may have been made while processing the message.\n */\n public deleteMessage<ThrowOnError extends boolean = false>(\n parameters: {\n sessionID: string\n messageID: string\n directory?: string\n workspace?: string\n },\n options?: Options<never, ThrowOnError>,\n ) {\n const params = buildClientParams(\n [parameters],\n [\n {\n args: [\n { in: \"path\", key: \"sessionID\" },\n { in: \"path\", key: \"messageID\" },\n { in: \"query\", key: \"directory\" },\n { in: \"query\", key: \"workspace\" },\n ],\n },\n ],\n )\n return (options?.client ?? this.client).delete<\n SessionDeleteMessageResponses,\n SessionDeleteMessageErrors,\n ThrowOnError\n >({\n url: \"/session/{sessionID}/message/{messageID}\",\n ...options,\n ...params,\n })\n }\n\n /**\n * Get message\n *\n * Retrieve a specific message from a session by its message ID.\n */\n public message<ThrowOnError extends boolean = false>(\n parameters: {\n sessionID: string\n messageID: string\n directory?: string\n workspace?: string\n },\n options?: Options<never, ThrowOnError>,\n ) {\n const params = buildClientParams(\n [parameters],\n [\n {\n args: [\n { in: \"path\", key: \"sessionID\" },\n { in: \"path\", key: \"messageID\" },\n { in: \"query\", key: \"directory\" },\n { in: \"query\", key: \"workspace\" },\n ],\n },\n ],\n )\n return (options?.client ?? this.client).get<SessionMessageResponses, SessionMessageErrors, ThrowOnError>({\n url: \"/session/{sessionID}/message/{messageID}\",\n ...options,\n ...params,\n })\n }\n\n /**\n * Send async message\n *\n * Create and send a new message to a session asynchronously, starting the session if needed and returning immediately.\n */\n public promptAsync<ThrowOnError extends boolean = false>(\n parameters: {\n sessionID: string\n directory?: string\n workspace?: string\n messageID?: string\n model?: {\n providerID: string\n modelID: string\n }\n agent?: string\n noReply?: boolean\n tools?: {\n [key: string]: boolean\n }\n format?: OutputFormat\n system?: string\n variant?: string\n parts?: Array<TextPartInput | FilePartInput | AgentPartInput | SubtaskPartInput>\n },\n options?: Options<never, ThrowOnError>,\n ) {\n const params = buildClientParams(\n [parameters],\n [\n {\n args: [\n { in: \"path\", key: \"sessionID\" },\n { in: \"query\", key: \"directory\" },\n { in: \"query\", key: \"workspace\" },\n { in: \"body\", key: \"messageID\" },\n { in: \"body\", key: \"model\" },\n { in: \"body\", key: \"agent\" },\n { in: \"body\", key: \"noReply\" },\n { in: \"body\", key: \"tools\" },\n { in: \"body\", key: \"format\" },\n { in: \"body\", key: \"system\" },\n { in: \"body\", key: \"variant\" },\n { in: \"body\", key: \"parts\" },\n ],\n },\n ],\n )\n return (options?.client ?? this.client).post<SessionPromptAsyncResponses, SessionPromptAsyncErrors, ThrowOnError>({\n url: \"/session/{sessionID}/prompt_async\",\n ...options,\n ...params,\n headers: {\n \"Content-Type\": \"application/json\",\n ...options?.headers,\n ...params.headers,\n },\n })\n }\n\n /**\n * Send command\n *\n * Send a new command to a session for execution by the AI assistant.\n */\n public command<ThrowOnError extends boolean = false>(\n parameters: {\n sessionID: string\n directory?: string\n workspace?: string\n messageID?: string\n agent?: string\n model?: string\n arguments?: string\n command?: string\n variant?: string\n parts?: Array<{\n id?: string\n type: \"file\"\n mime: string\n filename?: string\n url: string\n source?: FilePartSource\n }>\n },\n options?: Options<never, ThrowOnError>,\n ) {\n const params = buildClientParams(\n [parameters],\n [\n {\n args: [\n { in: \"path\", key: \"sessionID\" },\n { in: \"query\", key: \"directory\" },\n { in: \"query\", key: \"workspace\" },\n { in: \"body\", key: \"messageID\" },\n { in: \"body\", key: \"agent\" },\n { in: \"body\", key: \"model\" },\n { in: \"body\", key: \"arguments\" },\n { in: \"body\", key: \"command\" },\n { in: \"body\", key: \"variant\" },\n { in: \"body\", key: \"parts\" },\n ],\n },\n ],\n )\n return (options?.client ?? this.client).post<SessionCommandResponses, SessionCommandErrors, ThrowOnError>({\n url: \"/session/{sessionID}/command\",\n ...options,\n ...params,\n headers: {\n \"Content-Type\": \"application/json\",\n ...options?.headers,\n ...params.headers,\n },\n })\n }\n\n /**\n * Run shell command\n *\n * Execute a shell command within the session context and return the AI's response.\n */\n public shell<ThrowOnError extends boolean = false>(\n parameters: {\n sessionID: string\n directory?: string\n workspace?: string\n messageID?: string\n agent?: string\n model?: {\n providerID: string\n modelID: string\n }\n command?: string\n },\n options?: Options<never, ThrowOnError>,\n ) {\n const params = buildClientParams(\n [parameters],\n [\n {\n args: [\n { in: \"path\", key: \"sessionID\" },\n { in: \"query\", key: \"directory\" },\n { in: \"query\", key: \"workspace\" },\n { in: \"body\", key: \"messageID\" },\n { in: \"body\", key: \"agent\" },\n { in: \"body\", key: \"model\" },\n { in: \"body\", key: \"command\" },\n ],\n },\n ],\n )\n return (options?.client ?? this.client).post<SessionShellResponses, SessionShellErrors, ThrowOnError>({\n url: \"/session/{sessionID}/shell\",\n ...options,\n ...params,\n headers: {\n \"Content-Type\": \"application/json\",\n ...options?.headers,\n ...params.headers,\n },\n })\n }\n\n /**\n * Revert message\n *\n * Revert a specific message in a session, undoing its effects and restoring the previous state.\n */\n public revert<ThrowOnError extends boolean = false>(\n parameters: {\n sessionID: string\n directory?: string\n workspace?: string\n messageID?: string\n partID?: string\n },\n options?: Options<never, ThrowOnError>,\n ) {\n const params = buildClientParams(\n [parameters],\n [\n {\n args: [\n { in: \"path\", key: \"sessionID\" },\n { in: \"query\", key: \"directory\" },\n { in: \"query\", key: \"workspace\" },\n { in: \"body\", key: \"messageID\" },\n { in: \"body\", key: \"partID\" },\n ],\n },\n ],\n )\n return (options?.client ?? this.client).post<SessionRevertResponses, SessionRevertErrors, ThrowOnError>({\n url: \"/session/{sessionID}/revert\",\n ...options,\n ...params,\n headers: {\n \"Content-Type\": \"application/json\",\n ...options?.headers,\n ...params.headers,\n },\n })\n }\n\n /**\n * Restore reverted messages\n *\n * Restore all previously reverted messages in a session.\n */\n public unrevert<ThrowOnError extends boolean = false>(\n parameters: {\n sessionID: string\n directory?: string\n workspace?: string\n },\n options?: Options<never, ThrowOnError>,\n ) {\n const params = buildClientParams(\n [parameters],\n [\n {\n args: [\n { in: \"path\", key: \"sessionID\" },\n { in: \"query\", key: \"directory\" },\n { in: \"query\", key: \"workspace\" },\n ],\n },\n ],\n )\n return (options?.client ?? this.client).post<SessionUnrevertResponses, SessionUnrevertErrors, ThrowOnError>({\n url: \"/session/{sessionID}/unrevert\",\n ...options,\n ...params,\n })\n }\n}\n\nexport class Part extends HeyApiClient {\n /**\n * Delete a part from a message\n */\n public delete<ThrowOnError extends boolean = false>(\n parameters: {\n sessionID: string\n messageID: string\n partID: string\n directory?: string\n workspace?: string\n },\n options?: Options<never, ThrowOnError>,\n ) {\n const params = buildClientParams(\n [parameters],\n [\n {\n args: [\n { in: \"path\", key: \"sessionID\" },\n { in: \"path\", key: \"messageID\" },\n { in: \"path\", key: \"partID\" },\n { in: \"query\", key: \"directory\" },\n { in: \"query\", key: \"workspace\" },\n ],\n },\n ],\n )\n return (options?.client ?? this.client).delete<PartDeleteResponses, PartDeleteErrors, ThrowOnError>({\n url: \"/session/{sessionID}/message/{messageID}/part/{partID}\",\n ...options,\n ...params,\n })\n }\n\n /**\n * Update a part in a message\n */\n public update<ThrowOnError extends boolean = false>(\n parameters: {\n sessionID: string\n messageID: string\n partID: string\n directory?: string\n workspace?: string\n part?: Part2\n },\n options?: Options<never, ThrowOnError>,\n ) {\n const params = buildClientParams(\n [parameters],\n [\n {\n args: [\n { in: \"path\", key: \"sessionID\" },\n { in: \"path\", key: \"messageID\" },\n { in: \"path\", key: \"partID\" },\n { in: \"query\", key: \"directory\" },\n { in: \"query\", key: \"workspace\" },\n { key: \"part\", map: \"body\" },\n ],\n },\n ],\n )\n return (options?.client ?? this.client).patch<PartUpdateResponses, PartUpdateErrors, ThrowOnError>({\n url: \"/session/{sessionID}/message/{messageID}/part/{partID}\",\n ...options,\n ...params,\n headers: {\n \"Content-Type\": \"application/json\",\n ...options?.headers,\n ...params.headers,\n },\n })\n }\n}\n\nexport class Permission extends HeyApiClient {\n /**\n * Respond to permission\n *\n * Approve or deny a permission request from the AI assistant.\n *\n * @deprecated\n */\n public respond<ThrowOnError extends boolean = false>(\n parameters: {\n sessionID: string\n permissionID: string\n directory?: string\n workspace?: string\n response?: \"once\" | \"always\" | \"reject\"\n },\n options?: Options<never, ThrowOnError>,\n ) {\n const params = buildClientParams(\n [parameters],\n [\n {\n args: [\n { in: \"path\", key: \"sessionID\" },\n { in: \"path\", key: \"permissionID\" },\n { in: \"query\", key: \"directory\" },\n { in: \"query\", key: \"workspace\" },\n { in: \"body\", key: \"response\" },\n ],\n },\n ],\n )\n return (options?.client ?? this.client).post<PermissionRespondResponses, PermissionRespondErrors, ThrowOnError>({\n url: \"/session/{sessionID}/permissions/{permissionID}\",\n ...options,\n ...params,\n headers: {\n \"Content-Type\": \"application/json\",\n ...options?.headers,\n ...params.headers,\n },\n })\n }\n\n /**\n * Respond to permission request\n *\n * Approve or deny a permission request from the AI assistant.\n */\n public reply<ThrowOnError extends boolean = false>(\n parameters: {\n requestID: string\n directory?: string\n workspace?: string\n reply?: \"once\" | \"always\" | \"reject\"\n message?: string\n },\n options?: Options<never, ThrowOnError>,\n ) {\n const params = buildClientParams(\n [parameters],\n [\n {\n args: [\n { in: \"path\", key: \"requestID\" },\n { in: \"query\", key: \"directory\" },\n { in: \"query\", key: \"workspace\" },\n { in: \"body\", key: \"reply\" },\n { in: \"body\", key: \"message\" },\n ],\n },\n ],\n )\n return (options?.client ?? this.client).post<PermissionReplyResponses, PermissionReplyErrors, ThrowOnError>({\n url: \"/permission/{requestID}/reply\",\n ...options,\n ...params,\n headers: {\n \"Content-Type\": \"application/json\",\n ...options?.headers,\n ...params.headers,\n },\n })\n }\n\n /**\n * List pending permissions\n *\n * Get all pending permission requests across all sessions.\n */\n public list<ThrowOnError extends boolean = false>(\n parameters?: {\n directory?: string\n workspace?: string\n },\n options?: Options<never, ThrowOnError>,\n ) {\n const params = buildClientParams(\n [parameters],\n [\n {\n args: [\n { in: \"query\", key: \"directory\" },\n { in: \"query\", key: \"workspace\" },\n ],\n },\n ],\n )\n return (options?.client ?? this.client).get<PermissionListResponses, unknown, ThrowOnError>({\n url: \"/permission\",\n ...options,\n ...params,\n })\n }\n}\n\nexport class Question extends HeyApiClient {\n /**\n * List pending questions\n *\n * Get all pending question requests across all sessions.\n */\n public list<ThrowOnError extends boolean = false>(\n parameters?: {\n directory?: string\n workspace?: string\n },\n options?: Options<never, ThrowOnError>,\n ) {\n const params = buildClientParams(\n [parameters],\n [\n {\n args: [\n { in: \"query\", key: \"directory\" },\n { in: \"query\", key: \"workspace\" },\n ],\n },\n ],\n )\n return (options?.client ?? this.client).get<QuestionListResponses, unknown, ThrowOnError>({\n url: \"/question\",\n ...options,\n ...params,\n })\n }\n\n /**\n * Reply to question request\n *\n * Provide answers to a question request from the AI assistant.\n */\n public reply<ThrowOnError extends boolean = false>(\n parameters: {\n requestID: string\n directory?: string\n workspace?: string\n answers?: Array<QuestionAnswer>\n },\n options?: Options<never, ThrowOnError>,\n ) {\n const params = buildClientParams(\n [parameters],\n [\n {\n args: [\n { in: \"path\", key: \"requestID\" },\n { in: \"query\", key: \"directory\" },\n { in: \"query\", key: \"workspace\" },\n { in: \"body\", key: \"answers\" },\n ],\n },\n ],\n )\n return (options?.client ?? this.client).post<QuestionReplyResponses, QuestionReplyErrors, ThrowOnError>({\n url: \"/question/{requestID}/reply\",\n ...options,\n ...params,\n headers: {\n \"Content-Type\": \"application/json\",\n ...options?.headers,\n ...params.headers,\n },\n })\n }\n\n /**\n * Reject question request\n *\n * Reject a question request from the AI assistant.\n */\n public reject<ThrowOnError extends boolean = false>(\n parameters: {\n requestID: string\n directory?: string\n workspace?: string\n },\n options?: Options<never, ThrowOnError>,\n ) {\n const params = buildClientParams(\n [parameters],\n [\n {\n args: [\n { in: \"path\", key: \"requestID\" },\n { in: \"query\", key: \"directory\" },\n { in: \"query\", key: \"workspace\" },\n ],\n },\n ],\n )\n return (options?.client ?? this.client).post<QuestionRejectResponses, QuestionRejectErrors, ThrowOnError>({\n url: \"/question/{requestID}/reject\",\n ...options,\n ...params,\n })\n }\n}\n\nexport class Oauth extends HeyApiClient {\n /**\n * OAuth authorize\n *\n * Initiate OAuth authorization for a specific AI provider to get an authorization URL.\n */\n public authorize<ThrowOnError extends boolean = false>(\n parameters: {\n providerID: string\n directory?: string\n workspace?: string\n method?: number\n inputs?: {\n [key: string]: string\n }\n },\n options?: Options<never, ThrowOnError>,\n ) {\n const params = buildClientParams(\n [parameters],\n [\n {\n args: [\n { in: \"path\", key: \"providerID\" },\n { in: \"query\", key: \"directory\" },\n { in: \"query\", key: \"workspace\" },\n { in: \"body\", key: \"method\" },\n { in: \"body\", key: \"inputs\" },\n ],\n },\n ],\n )\n return (options?.client ?? this.client).post<\n ProviderOauthAuthorizeResponses,\n ProviderOauthAuthorizeErrors,\n ThrowOnError\n >({\n url: \"/provider/{providerID}/oauth/authorize\",\n ...options,\n ...params,\n headers: {\n \"Content-Type\": \"application/json\",\n ...options?.headers,\n ...params.headers,\n },\n })\n }\n\n /**\n * OAuth callback\n *\n * Handle the OAuth callback from a provider after user authorization.\n */\n public callback<ThrowOnError extends boolean = false>(\n parameters: {\n providerID: string\n directory?: string\n workspace?: string\n method?: number\n code?: string\n },\n options?: Options<never, ThrowOnError>,\n ) {\n const params = buildClientParams(\n [parameters],\n [\n {\n args: [\n { in: \"path\", key: \"providerID\" },\n { in: \"query\", key: \"directory\" },\n { in: \"query\", key: \"workspace\" },\n { in: \"body\", key: \"method\" },\n { in: \"body\", key: \"code\" },\n ],\n },\n ],\n )\n return (options?.client ?? this.client).post<\n ProviderOauthCallbackResponses,\n ProviderOauthCallbackErrors,\n ThrowOnError\n >({\n url: \"/provider/{providerID}/oauth/callback\",\n ...options,\n ...params,\n headers: {\n \"Content-Type\": \"application/json\",\n ...options?.headers,\n ...params.headers,\n },\n })\n }\n}\n\nexport class Provider extends HeyApiClient {\n /**\n * List providers\n *\n * Get a list of all available AI providers, including both available and connected ones.\n */\n public list<ThrowOnError extends boolean = false>(\n parameters?: {\n directory?: string\n workspace?: string\n },\n options?: Options<never, ThrowOnError>,\n ) {\n const params = buildClientParams(\n [parameters],\n [\n {\n args: [\n { in: \"query\", key: \"directory\" },\n { in: \"query\", key: \"workspace\" },\n ],\n },\n ],\n )\n return (options?.client ?? this.client).get<ProviderListResponses, unknown, ThrowOnError>({\n url: \"/provider\",\n ...options,\n ...params,\n })\n }\n\n /**\n * Get provider auth methods\n *\n * Retrieve available authentication methods for all AI providers.\n */\n public auth<ThrowOnError extends boolean = false>(\n parameters?: {\n directory?: string\n workspace?: string\n },\n options?: Options<never, ThrowOnError>,\n ) {\n const params = buildClientParams(\n [parameters],\n [\n {\n args: [\n { in: \"query\", key: \"directory\" },\n { in: \"query\", key: \"workspace\" },\n ],\n },\n ],\n )\n return (options?.client ?? this.client).get<ProviderAuthResponses, unknown, ThrowOnError>({\n url: \"/provider/auth\",\n ...options,\n ...params,\n })\n }\n\n private _oauth?: Oauth\n get oauth(): Oauth {\n return (this._oauth ??= new Oauth({ client: this.client }))\n }\n}\n\nexport class Find extends HeyApiClient {\n /**\n * Find text\n *\n * Search for text patterns across files in the project using ripgrep.\n */\n public text<ThrowOnError extends boolean = false>(\n parameters: {\n directory?: string\n workspace?: string\n pattern: string\n },\n options?: Options<never, ThrowOnError>,\n ) {\n const params = buildClientParams(\n [parameters],\n [\n {\n args: [\n { in: \"query\", key: \"directory\" },\n { in: \"query\", key: \"workspace\" },\n { in: \"query\", key: \"pattern\" },\n ],\n },\n ],\n )\n return (options?.client ?? this.client).get<FindTextResponses, unknown, ThrowOnError>({\n url: \"/find\",\n ...options,\n ...params,\n })\n }\n\n /**\n * Find files\n *\n * Search for files or directories by name or pattern in the project directory.\n */\n public files<ThrowOnError extends boolean = false>(\n parameters: {\n directory?: string\n workspace?: string\n query: string\n dirs?: \"true\" | \"false\"\n type?: \"file\" | \"directory\"\n limit?: number\n },\n options?: Options<never, ThrowOnError>,\n ) {\n const params = buildClientParams(\n [parameters],\n [\n {\n args: [\n { in: \"query\", key: \"directory\" },\n { in: \"query\", key: \"workspace\" },\n { in: \"query\", key: \"query\" },\n { in: \"query\", key: \"dirs\" },\n { in: \"query\", key: \"type\" },\n { in: \"query\", key: \"limit\" },\n ],\n },\n ],\n )\n return (options?.client ?? this.client).get<FindFilesResponses, unknown, ThrowOnError>({\n url: \"/find/file\",\n ...options,\n ...params,\n })\n }\n\n /**\n * Find symbols\n *\n * Search for workspace symbols like functions, classes, and variables using LSP.\n */\n public symbols<ThrowOnError extends boolean = false>(\n parameters: {\n directory?: string\n workspace?: string\n query: string\n },\n options?: Options<never, ThrowOnError>,\n ) {\n const params = buildClientParams(\n [parameters],\n [\n {\n args: [\n { in: \"query\", key: \"directory\" },\n { in: \"query\", key: \"workspace\" },\n { in: \"query\", key: \"query\" },\n ],\n },\n ],\n )\n return (options?.client ?? this.client).get<FindSymbolsResponses, unknown, ThrowOnError>({\n url: \"/find/symbol\",\n ...options,\n ...params,\n })\n }\n}\n\nexport class File extends HeyApiClient {\n /**\n * List files\n *\n * List files and directories in a specified path.\n */\n public list<ThrowOnError extends boolean = false>(\n parameters: {\n directory?: string\n workspace?: string\n path: string\n },\n options?: Options<never, ThrowOnError>,\n ) {\n const params = buildClientParams(\n [parameters],\n [\n {\n args: [\n { in: \"query\", key: \"directory\" },\n { in: \"query\", key: \"workspace\" },\n { in: \"query\", key: \"path\" },\n ],\n },\n ],\n )\n return (options?.client ?? this.client).get<FileListResponses, unknown, ThrowOnError>({\n url: \"/file\",\n ...options,\n ...params,\n })\n }\n\n /**\n * Read file\n *\n * Read the content of a specified file.\n */\n public read<ThrowOnError extends boolean = false>(\n parameters: {\n directory?: string\n workspace?: string\n path: string\n },\n options?: Options<never, ThrowOnError>,\n ) {\n const params = buildClientParams(\n [parameters],\n [\n {\n args: [\n { in: \"query\", key: \"directory\" },\n { in: \"query\", key: \"workspace\" },\n { in: \"query\", key: \"path\" },\n ],\n },\n ],\n )\n return (options?.client ?? this.client).get<FileReadResponses, unknown, ThrowOnError>({\n url: \"/file/content\",\n ...options,\n ...params,\n })\n }\n\n /**\n * Get file status\n *\n * Get the git status of all files in the project.\n */\n public status<ThrowOnError extends boolean = false>(\n parameters?: {\n directory?: string\n workspace?: string\n },\n options?: Options<never, ThrowOnError>,\n ) {\n const params = buildClientParams(\n [parameters],\n [\n {\n args: [\n { in: \"query\", key: \"directory\" },\n { in: \"query\", key: \"workspace\" },\n ],\n },\n ],\n )\n return (options?.client ?? this.client).get<FileStatusResponses, unknown, ThrowOnError>({\n url: \"/file/status\",\n ...options,\n ...params,\n })\n }\n}\n\nexport class Event extends HeyApiClient {\n /**\n * Subscribe to events\n *\n * Get events\n */\n public subscribe<ThrowOnError extends boolean = false>(\n parameters?: {\n directory?: string\n workspace?: string\n },\n options?: Options<never, ThrowOnError>,\n ) {\n const params = buildClientParams(\n [parameters],\n [\n {\n args: [\n { in: \"query\", key: \"directory\" },\n { in: \"query\", key: \"workspace\" },\n ],\n },\n ],\n )\n return (options?.client ?? this.client).sse.get<EventSubscribeResponses, unknown, ThrowOnError>({\n url: \"/event\",\n ...options,\n ...params,\n })\n }\n}\n\nexport class Auth2 extends HeyApiClient {\n /**\n * Remove MCP OAuth\n *\n * Remove OAuth credentials for an MCP server\n */\n public remove<ThrowOnError extends boolean = false>(\n parameters: {\n name: string\n directory?: string\n workspace?: string\n },\n options?: Options<never, ThrowOnError>,\n ) {\n const params = buildClientParams(\n [parameters],\n [\n {\n args: [\n { in: \"path\", key: \"name\" },\n { in: \"query\", key: \"directory\" },\n { in: \"query\", key: \"workspace\" },\n ],\n },\n ],\n )\n return (options?.client ?? this.client).delete<McpAuthRemoveResponses, McpAuthRemoveErrors, ThrowOnError>({\n url: \"/mcp/{name}/auth\",\n ...options,\n ...params,\n })\n }\n\n /**\n * Start MCP OAuth\n *\n * Start OAuth authentication flow for a Model Context Protocol (MCP) server.\n */\n public start<ThrowOnError extends boolean = false>(\n parameters: {\n name: string\n directory?: string\n workspace?: string\n },\n options?: Options<never, ThrowOnError>,\n ) {\n const params = buildClientParams(\n [parameters],\n [\n {\n args: [\n { in: \"path\", key: \"name\" },\n { in: \"query\", key: \"directory\" },\n { in: \"query\", key: \"workspace\" },\n ],\n },\n ],\n )\n return (options?.client ?? this.client).post<McpAuthStartResponses, McpAuthStartErrors, ThrowOnError>({\n url: \"/mcp/{name}/auth\",\n ...options,\n ...params,\n })\n }\n\n /**\n * Complete MCP OAuth\n *\n * Complete OAuth authentication for a Model Context Protocol (MCP) server using the authorization code.\n */\n public callback<ThrowOnError extends boolean = false>(\n parameters: {\n name: string\n directory?: string\n workspace?: string\n code?: string\n },\n options?: Options<never, ThrowOnError>,\n ) {\n const params = buildClientParams(\n [parameters],\n [\n {\n args: [\n { in: \"path\", key: \"name\" },\n { in: \"query\", key: \"directory\" },\n { in: \"query\", key: \"workspace\" },\n { in: \"body\", key: \"code\" },\n ],\n },\n ],\n )\n return (options?.client ?? this.client).post<McpAuthCallbackResponses, McpAuthCallbackErrors, ThrowOnError>({\n url: \"/mcp/{name}/auth/callback\",\n ...options,\n ...params,\n headers: {\n \"Content-Type\": \"application/json\",\n ...options?.headers,\n ...params.headers,\n },\n })\n }\n\n /**\n * Authenticate MCP OAuth\n *\n * Start OAuth flow and wait for callback (opens browser)\n */\n public authenticate<ThrowOnError extends boolean = false>(\n parameters: {\n name: string\n directory?: string\n workspace?: string\n },\n options?: Options<never, ThrowOnError>,\n ) {\n const params = buildClientParams(\n [parameters],\n [\n {\n args: [\n { in: \"path\", key: \"name\" },\n { in: \"query\", key: \"directory\" },\n { in: \"query\", key: \"workspace\" },\n ],\n },\n ],\n )\n return (options?.client ?? this.client).post<McpAuthAuthenticateResponses, McpAuthAuthenticateErrors, ThrowOnError>(\n {\n url: \"/mcp/{name}/auth/authenticate\",\n ...options,\n ...params,\n },\n )\n }\n}\n\nexport class Mcp extends HeyApiClient {\n /**\n * Get MCP status\n *\n * Get the status of all Model Context Protocol (MCP) servers.\n */\n public status<ThrowOnError extends boolean = false>(\n parameters?: {\n directory?: string\n workspace?: string\n },\n options?: Options<never, ThrowOnError>,\n ) {\n const params = buildClientParams(\n [parameters],\n [\n {\n args: [\n { in: \"query\", key: \"directory\" },\n { in: \"query\", key: \"workspace\" },\n ],\n },\n ],\n )\n return (options?.client ?? this.client).get<McpStatusResponses, unknown, ThrowOnError>({\n url: \"/mcp\",\n ...options,\n ...params,\n })\n }\n\n /**\n * Add MCP server\n *\n * Dynamically add a new Model Context Protocol (MCP) server to the system.\n */\n public add<ThrowOnError extends boolean = false>(\n parameters?: {\n directory?: string\n workspace?: string\n name?: string\n config?: McpLocalConfig | McpRemoteConfig\n },\n options?: Options<never, ThrowOnError>,\n ) {\n const params = buildClientParams(\n [parameters],\n [\n {\n args: [\n { in: \"query\", key: \"directory\" },\n { in: \"query\", key: \"workspace\" },\n { in: \"body\", key: \"name\" },\n { in: \"body\", key: \"config\" },\n ],\n },\n ],\n )\n return (options?.client ?? this.client).post<McpAddResponses, McpAddErrors, ThrowOnError>({\n url: \"/mcp\",\n ...options,\n ...params,\n headers: {\n \"Content-Type\": \"application/json\",\n ...options?.headers,\n ...params.headers,\n },\n })\n }\n\n /**\n * Connect an MCP server\n */\n public connect<ThrowOnError extends boolean = false>(\n parameters: {\n name: string\n directory?: string\n workspace?: string\n },\n options?: Options<never, ThrowOnError>,\n ) {\n const params = buildClientParams(\n [parameters],\n [\n {\n args: [\n { in: \"path\", key: \"name\" },\n { in: \"query\", key: \"directory\" },\n { in: \"query\", key: \"workspace\" },\n ],\n },\n ],\n )\n return (options?.client ?? this.client).post<McpConnectResponses, unknown, ThrowOnError>({\n url: \"/mcp/{name}/connect\",\n ...options,\n ...params,\n })\n }\n\n /**\n * Disconnect an MCP server\n */\n public disconnect<ThrowOnError extends boolean = false>(\n parameters: {\n name: string\n directory?: string\n workspace?: string\n },\n options?: Options<never, ThrowOnError>,\n ) {\n const params = buildClientParams(\n [parameters],\n [\n {\n args: [\n { in: \"path\", key: \"name\" },\n { in: \"query\", key: \"directory\" },\n { in: \"query\", key: \"workspace\" },\n ],\n },\n ],\n )\n return (options?.client ?? this.client).post<McpDisconnectResponses, unknown, ThrowOnError>({\n url: \"/mcp/{name}/disconnect\",\n ...options,\n ...params,\n })\n }\n\n private _auth?: Auth2\n get auth(): Auth2 {\n return (this._auth ??= new Auth2({ client: this.client }))\n }\n}\n\nexport class Control extends HeyApiClient {\n /**\n * Get next TUI request\n *\n * Retrieve the next TUI (Terminal User Interface) request from the queue for processing.\n */\n public next<ThrowOnError extends boolean = false>(\n parameters?: {\n directory?: string\n workspace?: string\n },\n options?: Options<never, ThrowOnError>,\n ) {\n const params = buildClientParams(\n [parameters],\n [\n {\n args: [\n { in: \"query\", key: \"directory\" },\n { in: \"query\", key: \"workspace\" },\n ],\n },\n ],\n )\n return (options?.client ?? this.client).get<TuiControlNextResponses, unknown, ThrowOnError>({\n url: \"/tui/control/next\",\n ...options,\n ...params,\n })\n }\n\n /**\n * Submit TUI response\n *\n * Submit a response to the TUI request queue to complete a pending request.\n */\n public response<ThrowOnError extends boolean = false>(\n parameters?: {\n directory?: string\n workspace?: string\n body?: unknown\n },\n options?: Options<never, ThrowOnError>,\n ) {\n const params = buildClientParams(\n [parameters],\n [\n {\n args: [\n { in: \"query\", key: \"directory\" },\n { in: \"query\", key: \"workspace\" },\n { key: \"body\", map: \"body\" },\n ],\n },\n ],\n )\n return (options?.client ?? this.client).post<TuiControlResponseResponses, unknown, ThrowOnError>({\n url: \"/tui/control/response\",\n ...options,\n ...params,\n headers: {\n \"Content-Type\": \"application/json\",\n ...options?.headers,\n ...params.headers,\n },\n })\n }\n}\n\nexport class Tui extends HeyApiClient {\n /**\n * Append TUI prompt\n *\n * Append prompt to the TUI\n */\n public appendPrompt<ThrowOnError extends boolean = false>(\n parameters?: {\n directory?: string\n workspace?: string\n text?: string\n },\n options?: Options<never, ThrowOnError>,\n ) {\n const params = buildClientParams(\n [parameters],\n [\n {\n args: [\n { in: \"query\", key: \"directory\" },\n { in: \"query\", key: \"workspace\" },\n { in: \"body\", key: \"text\" },\n ],\n },\n ],\n )\n return (options?.client ?? this.client).post<TuiAppendPromptResponses, TuiAppendPromptErrors, ThrowOnError>({\n url: \"/tui/append-prompt\",\n ...options,\n ...params,\n headers: {\n \"Content-Type\": \"application/json\",\n ...options?.headers,\n ...params.headers,\n },\n })\n }\n\n /**\n * Open help dialog\n *\n * Open the help dialog in the TUI to display user assistance information.\n */\n public openHelp<ThrowOnError extends boolean = false>(\n parameters?: {\n directory?: string\n workspace?: string\n },\n options?: Options<never, ThrowOnError>,\n ) {\n const params = buildClientParams(\n [parameters],\n [\n {\n args: [\n { in: \"query\", key: \"directory\" },\n { in: \"query\", key: \"workspace\" },\n ],\n },\n ],\n )\n return (options?.client ?? this.client).post<TuiOpenHelpResponses, unknown, ThrowOnError>({\n url: \"/tui/open-help\",\n ...options,\n ...params,\n })\n }\n\n /**\n * Open sessions dialog\n *\n * Open the session dialog\n */\n public openSessions<ThrowOnError extends boolean = false>(\n parameters?: {\n directory?: string\n workspace?: string\n },\n options?: Options<never, ThrowOnError>,\n ) {\n const params = buildClientParams(\n [parameters],\n [\n {\n args: [\n { in: \"query\", key: \"directory\" },\n { in: \"query\", key: \"workspace\" },\n ],\n },\n ],\n )\n return (options?.client ?? this.client).post<TuiOpenSessionsResponses, unknown, ThrowOnError>({\n url: \"/tui/open-sessions\",\n ...options,\n ...params,\n })\n }\n\n /**\n * Open themes dialog\n *\n * Open the theme dialog\n */\n public openThemes<ThrowOnError extends boolean = false>(\n parameters?: {\n directory?: string\n workspace?: string\n },\n options?: Options<never, ThrowOnError>,\n ) {\n const params = buildClientParams(\n [parameters],\n [\n {\n args: [\n { in: \"query\", key: \"directory\" },\n { in: \"query\", key: \"workspace\" },\n ],\n },\n ],\n )\n return (options?.client ?? this.client).post<TuiOpenThemesResponses, unknown, ThrowOnError>({\n url: \"/tui/open-themes\",\n ...options,\n ...params,\n })\n }\n\n /**\n * Open models dialog\n *\n * Open the model dialog\n */\n public openModels<ThrowOnError extends boolean = false>(\n parameters?: {\n directory?: string\n workspace?: string\n },\n options?: Options<never, ThrowOnError>,\n ) {\n const params = buildClientParams(\n [parameters],\n [\n {\n args: [\n { in: \"query\", key: \"directory\" },\n { in: \"query\", key: \"workspace\" },\n ],\n },\n ],\n )\n return (options?.client ?? this.client).post<TuiOpenModelsResponses, unknown, ThrowOnError>({\n url: \"/tui/open-models\",\n ...options,\n ...params,\n })\n }\n\n /**\n * Submit TUI prompt\n *\n * Submit the prompt\n */\n public submitPrompt<ThrowOnError extends boolean = false>(\n parameters?: {\n directory?: string\n workspace?: string\n },\n options?: Options<never, ThrowOnError>,\n ) {\n const params = buildClientParams(\n [parameters],\n [\n {\n args: [\n { in: \"query\", key: \"directory\" },\n { in: \"query\", key: \"workspace\" },\n ],\n },\n ],\n )\n return (options?.client ?? this.client).post<TuiSubmitPromptResponses, unknown, ThrowOnError>({\n url: \"/tui/submit-prompt\",\n ...options,\n ...params,\n })\n }\n\n /**\n * Clear TUI prompt\n *\n * Clear the prompt\n */\n public clearPrompt<ThrowOnError extends boolean = false>(\n parameters?: {\n directory?: string\n workspace?: string\n },\n options?: Options<never, ThrowOnError>,\n ) {\n const params = buildClientParams(\n [parameters],\n [\n {\n args: [\n { in: \"query\", key: \"directory\" },\n { in: \"query\", key: \"workspace\" },\n ],\n },\n ],\n )\n return (options?.client ?? this.client).post<TuiClearPromptResponses, unknown, ThrowOnError>({\n url: \"/tui/clear-prompt\",\n ...options,\n ...params,\n })\n }\n\n /**\n * Execute TUI command\n *\n * Execute a TUI command (e.g. agent_cycle)\n */\n public executeCommand<ThrowOnError extends boolean = false>(\n parameters?: {\n directory?: string\n workspace?: string\n command?: string\n },\n options?: Options<never, ThrowOnError>,\n ) {\n const params = buildClientParams(\n [parameters],\n [\n {\n args: [\n { in: \"query\", key: \"directory\" },\n { in: \"query\", key: \"workspace\" },\n { in: \"body\", key: \"command\" },\n ],\n },\n ],\n )\n return (options?.client ?? this.client).post<TuiExecuteCommandResponses, TuiExecuteCommandErrors, ThrowOnError>({\n url: \"/tui/execute-command\",\n ...options,\n ...params,\n headers: {\n \"Content-Type\": \"application/json\",\n ...options?.headers,\n ...params.headers,\n },\n })\n }\n\n /**\n * Show TUI toast\n *\n * Show a toast notification in the TUI\n */\n public showToast<ThrowOnError extends boolean = false>(\n parameters?: {\n directory?: string\n workspace?: string\n title?: string\n message?: string\n variant?: \"info\" | \"success\" | \"warning\" | \"error\"\n duration?: number\n },\n options?: Options<never, ThrowOnError>,\n ) {\n const params = buildClientParams(\n [parameters],\n [\n {\n args: [\n { in: \"query\", key: \"directory\" },\n { in: \"query\", key: \"workspace\" },\n { in: \"body\", key: \"title\" },\n { in: \"body\", key: \"message\" },\n { in: \"body\", key: \"variant\" },\n { in: \"body\", key: \"duration\" },\n ],\n },\n ],\n )\n return (options?.client ?? this.client).post<TuiShowToastResponses, unknown, ThrowOnError>({\n url: \"/tui/show-toast\",\n ...options,\n ...params,\n headers: {\n \"Content-Type\": \"application/json\",\n ...options?.headers,\n ...params.headers,\n },\n })\n }\n\n /**\n * Publish TUI event\n *\n * Publish a TUI event\n */\n public publish<ThrowOnError extends boolean = false>(\n parameters?: {\n directory?: string\n workspace?: string\n body?: EventTuiPromptAppend | EventTuiCommandExecute | EventTuiToastShow | EventTuiSessionSelect\n },\n options?: Options<never, ThrowOnError>,\n ) {\n const params = buildClientParams(\n [parameters],\n [\n {\n args: [\n { in: \"query\", key: \"directory\" },\n { in: \"query\", key: \"workspace\" },\n { key: \"body\", map: \"body\" },\n ],\n },\n ],\n )\n return (options?.client ?? this.client).post<TuiPublishResponses, TuiPublishErrors, ThrowOnError>({\n url: \"/tui/publish\",\n ...options,\n ...params,\n headers: {\n \"Content-Type\": \"application/json\",\n ...options?.headers,\n ...params.headers,\n },\n })\n }\n\n /**\n * Select session\n *\n * Navigate the TUI to display the specified session.\n */\n public selectSession<ThrowOnError extends boolean = false>(\n parameters?: {\n directory?: string\n workspace?: string\n sessionID?: string\n },\n options?: Options<never, ThrowOnError>,\n ) {\n const params = buildClientParams(\n [parameters],\n [\n {\n args: [\n { in: \"query\", key: \"directory\" },\n { in: \"query\", key: \"workspace\" },\n { in: \"body\", key: \"sessionID\" },\n ],\n },\n ],\n )\n return (options?.client ?? this.client).post<TuiSelectSessionResponses, TuiSelectSessionErrors, ThrowOnError>({\n url: \"/tui/select-session\",\n ...options,\n ...params,\n headers: {\n \"Content-Type\": \"application/json\",\n ...options?.headers,\n ...params.headers,\n },\n })\n }\n\n private _control?: Control\n get control(): Control {\n return (this._control ??= new Control({ client: this.client }))\n }\n}\n\nexport class Instance extends HeyApiClient {\n /**\n * Dispose instance\n *\n * Clean up and dispose the current OpenCode instance, releasing all resources.\n */\n public dispose<ThrowOnError extends boolean = false>(\n parameters?: {\n directory?: string\n workspace?: string\n },\n options?: Options<never, ThrowOnError>,\n ) {\n const params = buildClientParams(\n [parameters],\n [\n {\n args: [\n { in: \"query\", key: \"directory\" },\n { in: \"query\", key: \"workspace\" },\n ],\n },\n ],\n )\n return (options?.client ?? this.client).post<InstanceDisposeResponses, unknown, ThrowOnError>({\n url: \"/instance/dispose\",\n ...options,\n ...params,\n })\n }\n}\n\nexport class Path extends HeyApiClient {\n /**\n * Get paths\n *\n * Retrieve the current working directory and related path information for the OpenCode instance.\n */\n public get<ThrowOnError extends boolean = false>(\n parameters?: {\n directory?: string\n workspace?: string\n },\n options?: Options<never, ThrowOnError>,\n ) {\n const params = buildClientParams(\n [parameters],\n [\n {\n args: [\n { in: \"query\", key: \"directory\" },\n { in: \"query\", key: \"workspace\" },\n ],\n },\n ],\n )\n return (options?.client ?? this.client).get<PathGetResponses, unknown, ThrowOnError>({\n url: \"/path\",\n ...options,\n ...params,\n })\n }\n}\n\nexport class Vcs extends HeyApiClient {\n /**\n * Get VCS info\n *\n * Retrieve version control system (VCS) information for the current project, such as git branch.\n */\n public get<ThrowOnError extends boolean = false>(\n parameters?: {\n directory?: string\n workspace?: string\n },\n options?: Options<never, ThrowOnError>,\n ) {\n const params = buildClientParams(\n [parameters],\n [\n {\n args: [\n { in: \"query\", key: \"directory\" },\n { in: \"query\", key: \"workspace\" },\n ],\n },\n ],\n )\n return (options?.client ?? this.client).get<VcsGetResponses, unknown, ThrowOnError>({\n url: \"/vcs\",\n ...options,\n ...params,\n })\n }\n\n /**\n * Get VCS diff\n *\n * Retrieve the current git diff for the working tree or against the default branch.\n */\n public diff<ThrowOnError extends boolean = false>(\n parameters: {\n directory?: string\n workspace?: string\n mode: \"git\" | \"branch\"\n },\n options?: Options<never, ThrowOnError>,\n ) {\n const params = buildClientParams(\n [parameters],\n [\n {\n args: [\n { in: \"query\", key: \"directory\" },\n { in: \"query\", key: \"workspace\" },\n { in: \"query\", key: \"mode\" },\n ],\n },\n ],\n )\n return (options?.client ?? this.client).get<VcsDiffResponses, unknown, ThrowOnError>({\n url: \"/vcs/diff\",\n ...options,\n ...params,\n })\n }\n}\n\nexport class Command extends HeyApiClient {\n /**\n * List commands\n *\n * Get a list of all available commands in the OpenCode system.\n */\n public list<ThrowOnError extends boolean = false>(\n parameters?: {\n directory?: string\n workspace?: string\n },\n options?: Options<never, ThrowOnError>,\n ) {\n const params = buildClientParams(\n [parameters],\n [\n {\n args: [\n { in: \"query\", key: \"directory\" },\n { in: \"query\", key: \"workspace\" },\n ],\n },\n ],\n )\n return (options?.client ?? this.client).get<CommandListResponses, unknown, ThrowOnError>({\n url: \"/command\",\n ...options,\n ...params,\n })\n }\n}\n\nexport class Lsp extends HeyApiClient {\n /**\n * Get LSP status\n *\n * Get LSP server status\n */\n public status<ThrowOnError extends boolean = false>(\n parameters?: {\n directory?: string\n workspace?: string\n },\n options?: Options<never, ThrowOnError>,\n ) {\n const params = buildClientParams(\n [parameters],\n [\n {\n args: [\n { in: \"query\", key: \"directory\" },\n { in: \"query\", key: \"workspace\" },\n ],\n },\n ],\n )\n return (options?.client ?? this.client).get<LspStatusResponses, unknown, ThrowOnError>({\n url: \"/lsp\",\n ...options,\n ...params,\n })\n }\n}\n\nexport class Formatter extends HeyApiClient {\n /**\n * Get formatter status\n *\n * Get formatter status\n */\n public status<ThrowOnError extends boolean = false>(\n parameters?: {\n directory?: string\n workspace?: string\n },\n options?: Options<never, ThrowOnError>,\n ) {\n const params = buildClientParams(\n [parameters],\n [\n {\n args: [\n { in: \"query\", key: \"directory\" },\n { in: \"query\", key: \"workspace\" },\n ],\n },\n ],\n )\n return (options?.client ?? this.client).get<FormatterStatusResponses, unknown, ThrowOnError>({\n url: \"/formatter\",\n ...options,\n ...params,\n })\n }\n}\n\nexport class OpencodeClient extends HeyApiClient {\n public static readonly __registry = new HeyApiRegistry<OpencodeClient>()\n\n constructor(args?: { client?: Client; key?: string }) {\n super(args)\n OpencodeClient.__registry.set(this, args?.key)\n }\n\n private _global?: Global\n get global(): Global {\n return (this._global ??= new Global({ client: this.client }))\n }\n\n private _auth?: Auth\n get auth(): Auth {\n return (this._auth ??= new Auth({ client: this.client }))\n }\n\n private _app?: App\n get app(): App {\n return (this._app ??= new App({ client: this.client }))\n }\n\n private _project?: Project\n get project(): Project {\n return (this._project ??= new Project({ client: this.client }))\n }\n\n private _pty?: Pty\n get pty(): Pty {\n return (this._pty ??= new Pty({ client: this.client }))\n }\n\n private _config?: Config2\n get config(): Config2 {\n return (this._config ??= new Config2({ client: this.client }))\n }\n\n private _experimental?: Experimental\n get experimental(): Experimental {\n return (this._experimental ??= new Experimental({ client: this.client }))\n }\n\n private _tool?: Tool\n get tool(): Tool {\n return (this._tool ??= new Tool({ client: this.client }))\n }\n\n private _worktree?: Worktree\n get worktree(): Worktree {\n return (this._worktree ??= new Worktree({ client: this.client }))\n }\n\n private _session?: Session2\n get session(): Session2 {\n return (this._session ??= new Session2({ client: this.client }))\n }\n\n private _part?: Part\n get part(): Part {\n return (this._part ??= new Part({ client: this.client }))\n }\n\n private _permission?: Permission\n get permission(): Permission {\n return (this._permission ??= new Permission({ client: this.client }))\n }\n\n private _question?: Question\n get question(): Question {\n return (this._question ??= new Question({ client: this.client }))\n }\n\n private _provider?: Provider\n get provider(): Provider {\n return (this._provider ??= new Provider({ client: this.client }))\n }\n\n private _find?: Find\n get find(): Find {\n return (this._find ??= new Find({ client: this.client }))\n }\n\n private _file?: File\n get file(): File {\n return (this._file ??= new File({ client: this.client }))\n }\n\n private _event?: Event\n get event(): Event {\n return (this._event ??= new Event({ client: this.client }))\n }\n\n private _mcp?: Mcp\n get mcp(): Mcp {\n return (this._mcp ??= new Mcp({ client: this.client }))\n }\n\n private _tui?: Tui\n get tui(): Tui {\n return (this._tui ??= new Tui({ client: this.client }))\n }\n\n private _instance?: Instance\n get instance(): Instance {\n return (this._instance ??= new Instance({ client: this.client }))\n }\n\n private _path?: Path\n get path(): Path {\n return (this._path ??= new Path({ client: this.client }))\n }\n\n private _vcs?: Vcs\n get vcs(): Vcs {\n return (this._vcs ??= new Vcs({ client: this.client }))\n }\n\n private _command?: Command\n get command(): Command {\n return (this._command ??= new Command({ client: this.client }))\n }\n\n private _lsp?: Lsp\n get lsp(): Lsp {\n return (this._lsp ??= new Lsp({ client: this.client }))\n }\n\n private _formatter?: Formatter\n get formatter(): Formatter {\n return (this._formatter ??= new Formatter({ client: this.client }))\n }\n}\n", "export * from \"./gen/types.gen.js\"\n\nimport { createClient } from \"./gen/client/client.gen.js\"\nimport { type Config } from \"./gen/client/types.gen.js\"\nimport { OpencodeClient } from \"./gen/sdk.gen.js\"\nexport { type Config as OpencodeClientConfig, OpencodeClient }\n\nfunction pick(value: string | null, fallback?: string, encode?: (value: string) => string) {\n if (!value) return\n if (!fallback) return value\n if (value === fallback) return fallback\n if (encode && value === encode(fallback)) return fallback\n return value\n}\n\nfunction rewrite(request: Request, values: { directory?: string; workspace?: string }) {\n if (request.method !== \"GET\" && request.method !== \"HEAD\") return request\n\n const url = new URL(request.url)\n let changed = false\n\n for (const [name, key] of [\n [\"x-opencode-directory\", \"directory\"],\n [\"x-opencode-workspace\", \"workspace\"],\n ] as const) {\n const value = pick(\n request.headers.get(name),\n key === \"directory\" ? values.directory : values.workspace,\n key === \"directory\" ? encodeURIComponent : undefined,\n )\n if (!value) continue\n if (!url.searchParams.has(key)) {\n url.searchParams.set(key, value)\n }\n changed = true\n }\n\n if (!changed) return request\n\n const next = new Request(url, request)\n next.headers.delete(\"x-opencode-directory\")\n next.headers.delete(\"x-opencode-workspace\")\n return next\n}\n\nexport function createOpencodeClient(config?: Config & { directory?: string; experimental_workspaceID?: string }) {\n if (!config?.fetch) {\n const customFetch: any = (req: any) => {\n // @ts-ignore\n req.timeout = false\n return fetch(req)\n }\n config = {\n ...config,\n fetch: customFetch,\n }\n }\n\n if (config?.directory) {\n config.headers = {\n ...config.headers,\n \"x-opencode-directory\": encodeURIComponent(config.directory),\n }\n }\n\n if (config?.experimental_workspaceID) {\n config.headers = {\n ...config.headers,\n \"x-opencode-workspace\": config.experimental_workspaceID,\n }\n }\n\n const client = createClient(config)\n client.interceptors.request.use((request) =>\n rewrite(request, {\n directory: config?.directory,\n workspace: config?.experimental_workspaceID,\n }),\n )\n return new OpencodeClient({ client })\n}\n", "import launch from \"cross-spawn\"\nimport { type Config } from \"./gen/types.gen.js\"\nimport { stop, bindAbort } from \"../process.js\"\n\nexport type ServerOptions = {\n hostname?: string\n port?: number\n signal?: AbortSignal\n timeout?: number\n config?: Config\n}\n\nexport type TuiOptions = {\n project?: string\n model?: string\n session?: string\n agent?: string\n signal?: AbortSignal\n config?: Config\n}\n\nexport async function createOpencodeServer(options?: ServerOptions) {\n options = Object.assign(\n {\n hostname: \"127.0.0.1\",\n port: 4096,\n timeout: 5000,\n },\n options ?? {},\n )\n\n const args = [`serve`, `--hostname=${options.hostname}`, `--port=${options.port}`]\n if (options.config?.logLevel) args.push(`--log-level=${options.config.logLevel}`)\n\n const proc = launch(`opencode`, args, {\n env: {\n ...process.env,\n OPENCODE_CONFIG_CONTENT: JSON.stringify(options.config ?? {}),\n },\n })\n let clear = () => {}\n\n const url = await new Promise<string>((resolve, reject) => {\n const id = setTimeout(() => {\n clear()\n stop(proc)\n reject(new Error(`Timeout waiting for server to start after ${options.timeout}ms`))\n }, options.timeout)\n let output = \"\"\n let resolved = false\n proc.stdout?.on(\"data\", (chunk) => {\n if (resolved) return\n output += chunk.toString()\n const lines = output.split(\"\\n\")\n for (const line of lines) {\n if (line.startsWith(\"opencode server listening\")) {\n const match = line.match(/on\\s+(https?:\\/\\/[^\\s]+)/)\n if (!match) {\n clear()\n stop(proc)\n clearTimeout(id)\n reject(new Error(`Failed to parse server url from output: ${line}`))\n return\n }\n clearTimeout(id)\n resolved = true\n resolve(match[1]!)\n return\n }\n }\n })\n proc.stderr?.on(\"data\", (chunk) => {\n output += chunk.toString()\n })\n proc.on(\"exit\", (code) => {\n clearTimeout(id)\n let msg = `Server exited with code ${code}`\n if (output.trim()) {\n msg += `\\nServer output: ${output}`\n }\n reject(new Error(msg))\n })\n proc.on(\"error\", (error) => {\n clearTimeout(id)\n reject(error)\n })\n clear = bindAbort(proc, options.signal, () => {\n clearTimeout(id)\n reject(options.signal?.reason)\n })\n })\n\n return {\n url,\n close() {\n clear()\n stop(proc)\n },\n }\n}\n\nexport function createOpencodeTui(options?: TuiOptions) {\n const args = []\n\n if (options?.project) {\n args.push(`--project=${options.project}`)\n }\n if (options?.model) {\n args.push(`--model=${options.model}`)\n }\n if (options?.session) {\n args.push(`--session=${options.session}`)\n }\n if (options?.agent) {\n args.push(`--agent=${options.agent}`)\n }\n\n const proc = launch(`opencode`, args, {\n stdio: \"inherit\",\n env: {\n ...process.env,\n OPENCODE_CONFIG_CONTENT: JSON.stringify(options?.config ?? {}),\n },\n })\n\n const clear = bindAbort(proc, options?.signal)\n\n return {\n close() {\n clear()\n stop(proc)\n },\n }\n}\n", "export namespace Locale {\n export function titlecase(str: string) {\n return str.replace(/\\b\\w/g, (c) => c.toUpperCase())\n }\n\n export function time(input: number): string {\n const date = new Date(input)\n return date.toLocaleTimeString(undefined, { timeStyle: \"short\" })\n }\n\n export function datetime(input: number): string {\n const date = new Date(input)\n const localTime = time(input)\n const localDate = date.toLocaleDateString()\n return `${localTime} \u00B7 ${localDate}`\n }\n\n export function todayTimeOrDateTime(input: number): string {\n const date = new Date(input)\n const now = new Date()\n const isToday =\n date.getFullYear() === now.getFullYear() && date.getMonth() === now.getMonth() && date.getDate() === now.getDate()\n\n if (isToday) {\n return time(input)\n } else {\n return datetime(input)\n }\n }\n\n export function number(num: number): string {\n if (num >= 1000000) {\n return (num / 1000000).toFixed(1) + \"M\"\n } else if (num >= 1000) {\n return (num / 1000).toFixed(1) + \"K\"\n }\n return num.toString()\n }\n\n export function duration(input: number) {\n if (input < 1000) {\n return `${input}ms`\n }\n if (input < 60000) {\n return `${(input / 1000).toFixed(1)}s`\n }\n if (input < 3600000) {\n const minutes = Math.floor(input / 60000)\n const seconds = Math.floor((input % 60000) / 1000)\n return `${minutes}m ${seconds}s`\n }\n if (input < 86400000) {\n const hours = Math.floor(input / 3600000)\n const minutes = Math.floor((input % 3600000) / 60000)\n return `${hours}h ${minutes}m`\n }\n const hours = Math.floor(input / 3600000)\n const days = Math.floor((input % 3600000) / 86400000)\n return `${days}d ${hours}h`\n }\n\n export function truncate(str: string, len: number): string {\n if (str.length <= len) return str\n return str.slice(0, len - 1) + \"\u2026\"\n }\n\n export function truncateMiddle(str: string, maxLength: number = 35): string {\n if (str.length <= maxLength) return str\n\n const ellipsis = \"\u2026\"\n const keepStart = Math.ceil((maxLength - ellipsis.length) / 2)\n const keepEnd = Math.floor((maxLength - ellipsis.length) / 2)\n\n return str.slice(0, keepStart) + ellipsis + str.slice(-keepEnd)\n }\n\n export function pluralize(count: number, singular: string, plural: string): string {\n const template = count === 1 ? singular : plural\n return template.replace(\"{}\", count.toString())\n }\n}\n"],
5
- "mappings": "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",
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,OAAO,UAAU;AACjB,SAAS,qBAAqB;;;ACF9B,OAAO,OAAO;AACd,SAAS,WAAW;;;ACDb,IAAM,OAAO;AAAA,EAClB,MAAM,CAAC,uBAAuB,uGAAuB,0DAAuB,2FAAqB;AAAA,EACjG,OAAO,CAAC,4BAAuB,uGAAuB,qDAAuB,qGAAqB;AACpG;;;ADEO,IAAU;AAAA,CAAV,CAAUA,QAAV;AACL,QAAM,WAAW;AAAA,IACf;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF;AAEO,EAAMA,IAAA,iBAAiB,WAAW,OAAO,oBAAoB,EAAE,KAAK,CAAC;AAErE,EAAMA,IAAA,QAAQ;AAAA,IACnB,gBAAgB;AAAA,IAChB,qBAAqB;AAAA,IACrB,UAAU;AAAA,IACV,eAAe;AAAA,IACf,aAAa;AAAA,IACb,kBAAkB;AAAA,IAClB,cAAc;AAAA,IACd,mBAAmB;AAAA,IACnB,aAAa;AAAA,IACb,kBAAkB;AAAA,IAClB,cAAc;AAAA,IACd,mBAAmB;AAAA,IACnB,WAAW;AAAA,IACX,gBAAgB;AAAA,EAClB;AAEO,WAAS,WAAW,SAAmB;AAC5C,UAAM,GAAG,OAAO;AAChB,YAAQ,OAAO,MAAM,GAAG;AAAA,EAC1B;AAHO,EAAAA,IAAS;AAKT,WAAS,SAAS,SAAmB;AAC1C,YAAQ;AACR,YAAQ,OAAO,MAAM,QAAQ,KAAK,GAAG,CAAC;AAAA,EACxC;AAHO,EAAAA,IAAS;AAKhB,MAAI,QAAQ;AACL,WAAS,QAAQ;AACtB,QAAI,MAAO;AACX,YAAQ,KAAKA,IAAA,MAAM,WAAW;AAC9B,YAAQ;AAAA,EACV;AAJO,EAAAA,IAAS;AAMT,WAASC,MAAK,KAAc;AACjC,QAAI,CAAC,QAAQ,OAAO,SAAS,CAAC,QAAQ,OAAO,OAAO;AAClD,YAAMC,UAAS,CAAC;AAChB,iBAAW,OAAO,UAAU;AAC1B,YAAI,IAAK,CAAAA,QAAO,KAAK,GAAG;AACxB,QAAAA,QAAO,KAAK,GAAG;AACf,QAAAA,QAAO,KAAK,GAAG;AAAA,MACjB;AACA,aAAOA,QAAO,KAAK,EAAE,EAAE,QAAQ;AAAA,IACjC;AAEA,UAAM,SAAmB,CAAC;AAC1B,UAAM,QAAQ;AACd,UAAM,OAAO;AAAA,MACX,IAAI;AAAA,MACJ,QAAQ;AAAA,MACR,IAAI;AAAA,IACN;AACA,UAAM,QAAQ;AAAA,MACZ,IAAI;AAAA,MACJ,QAAQ;AAAA,MACR,IAAI;AAAA,IACN;AACA,UAAM,MAAM;AACZ,UAAM,OAAO,CAAC,MAAc,IAAY,QAAgB,OAAe;AACrE,YAAM,QAAkB,CAAC;AACzB,iBAAW,QAAQ,MAAM;AACvB,YAAI,SAAS,KAAK;AAChB,gBAAM,KAAK,IAAI,KAAK,KAAK;AACzB;AAAA,QACF;AACA,YAAI,SAAS,KAAK;AAChB,gBAAM,KAAK,IAAI,IAAI,UAAK,KAAK;AAC7B;AAAA,QACF;AACA,YAAI,SAAS,KAAK;AAChB,gBAAM,KAAK,QAAQ,UAAK,KAAK;AAC7B;AAAA,QACF;AACA,YAAI,SAAS,KAAK;AAChB,gBAAM,KAAK,GAAG;AACd;AAAA,QACF;AACA,cAAM,KAAK,IAAI,MAAM,KAAK;AAAA,MAC5B;AACA,aAAO,MAAM,KAAK,EAAE;AAAA,IACtB;AACA,SAAO,KAAK,QAAQ,CAAC,KAAK,UAAU;AAClC,UAAI,IAAK,QAAO,KAAK,GAAG;AACxB,aAAO,KAAK,KAAK,KAAK,KAAK,IAAI,KAAK,QAAQ,KAAK,EAAE,CAAC;AACpD,aAAO,KAAK,GAAG;AACf,YAAM,QAAQ,KAAO,MAAM,KAAK,KAAK;AACrC,aAAO,KAAK,KAAK,OAAO,MAAM,IAAI,MAAM,QAAQ,MAAM,EAAE,CAAC;AACzD,aAAO,KAAK,GAAG;AAAA,IACjB,CAAC;AACD,WAAO,OAAO,KAAK,EAAE,EAAE,QAAQ;AAAA,EACjC;AAxDO,EAAAF,IAAS,OAAAC;AA0DhB,iBAAsB,MAAM,QAAiC;AAC3D,UAAM,WAAW,UAAQ,UAAU;AACnC,UAAM,KAAK,SAAS,gBAAgB;AAAA,MAClC,OAAO,QAAQ;AAAA,MACf,QAAQ,QAAQ;AAAA,IAClB,CAAC;AAED,WAAO,IAAI,QAAQ,CAAC,YAAY;AAC9B,SAAG,SAAS,QAAQ,CAAC,WAAmB;AACtC,WAAG,MAAM;AACT,gBAAQ,OAAO,KAAK,CAAC;AAAA,MACvB,CAAC;AAAA,IACH,CAAC;AAAA,EACH;AAbA,EAAAD,IAAsB;AAef,WAAS,MAAM,SAAiB;AACrC,QAAI,QAAQ,WAAW,SAAS,GAAG;AACjC,gBAAU,QAAQ,MAAM,UAAU,MAAM;AAAA,IAC1C;AACA,YAAQA,IAAA,MAAM,mBAAmB,YAAYA,IAAA,MAAM,cAAc,OAAO;AAAA,EAC1E;AALO,EAAAA,IAAS;AAOT,WAAS,SAAS,MAAsB;AAC7C,WAAO;AAAA,EACT;AAFO,EAAAA,IAAS;AAAA,GA5HD;;;AEDV,SAAS,IAAU,OAA4C;AACpE,SAAO;AACT;;;ACHA,eAAsB,UAAa,WAAmB,IAAsB;AAC1E,SAAO,SAAS,QAAQ;AAAA,IACtB;AAAA,IACA,MAAM;AAAA,IACN,IAAI,YAAY;AACd,UAAI;AACF,cAAM,SAAS,MAAM,GAAG;AACxB,eAAO;AAAA,MACT,UAAE;AACA,cAAM,SAAS,QAAQ;AAAA,MACzB;AAAA,IACF;AAAA,EACF,CAAC;AACH;;;AJTA,SAAS,OAAAG,YAAW;;;AKsEb,IAAM,kBAAkB,CAAkB;AAAA,EAC/C;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,GAAG;AACL,MAA8D;AAC5D,MAAI;AAEJ,QAAM,QAAQ,eAAe,CAAC,OAAe,IAAI,QAAQ,CAAC,YAAY,WAAW,SAAS,EAAE,CAAC;AAE7F,QAAM,eAAe,mBAAmB;AACtC,QAAI,aAAqB,wBAAwB;AACjD,QAAI,UAAU;AACd,UAAM,SAAS,QAAQ,UAAU,IAAI,gBAAgB,EAAE;AAEvD,WAAO,MAAM;AACX,UAAI,OAAO,QAAS;AAEpB;AAEA,YAAM,UACJ,QAAQ,mBAAmB,UACvB,QAAQ,UACR,IAAI,QAAQ,QAAQ,OAA6C;AAEvE,UAAI,gBAAgB,QAAW;AAC7B,gBAAQ,IAAI,iBAAiB,WAAW;AAAA,MAC1C;AAEA,UAAI;AACF,cAAM,cAA2B;AAAA,UAC/B,UAAU;AAAA,UACV,GAAG;AAAA,UACH,MAAM,QAAQ;AAAA,UACd;AAAA,UACA;AAAA,QACF;AACA,YAAI,UAAU,IAAI,QAAQ,KAAK,WAAW;AAC1C,YAAI,WAAW;AACb,oBAAU,MAAM,UAAU,KAAK,WAAW;AAAA,QAC5C;AAGA,cAAM,SAAS,QAAQ,SAAS,WAAW;AAC3C,cAAM,WAAW,MAAM,OAAO,OAAO;AAErC,YAAI,CAAC,SAAS,GAAI,OAAM,IAAI,MAAM,eAAe,SAAS,MAAM,IAAI,SAAS,UAAU,EAAE;AAEzF,YAAI,CAAC,SAAS,KAAM,OAAM,IAAI,MAAM,yBAAyB;AAE7D,cAAM,SAAS,SAAS,KAAK,YAAY,IAAI,kBAAkB,CAAC,EAAE,UAAU;AAE5E,YAAI,SAAS;AAEb,cAAM,eAAe,MAAM;AACzB,cAAI;AACF,mBAAO,OAAO;AAAA,UAChB,QAAQ;AAAA,UAER;AAAA,QACF;AAEA,eAAO,iBAAiB,SAAS,YAAY;AAE7C,YAAI;AACF,iBAAO,MAAM;AACX,kBAAM,EAAE,MAAM,MAAM,IAAI,MAAM,OAAO,KAAK;AAC1C,gBAAI,KAAM;AACV,sBAAU;AAEV,qBAAS,OAAO,QAAQ,SAAS,IAAI,EAAE,QAAQ,OAAO,IAAI;AAE1D,kBAAM,SAAS,OAAO,MAAM,MAAM;AAClC,qBAAS,OAAO,IAAI,KAAK;AAEzB,uBAAW,SAAS,QAAQ;AAC1B,oBAAM,QAAQ,MAAM,MAAM,IAAI;AAC9B,oBAAM,YAA2B,CAAC;AAClC,kBAAI;AAEJ,yBAAW,QAAQ,OAAO;AACxB,oBAAI,KAAK,WAAW,OAAO,GAAG;AAC5B,4BAAU,KAAK,KAAK,QAAQ,aAAa,EAAE,CAAC;AAAA,gBAC9C,WAAW,KAAK,WAAW,QAAQ,GAAG;AACpC,8BAAY,KAAK,QAAQ,cAAc,EAAE;AAAA,gBAC3C,WAAW,KAAK,WAAW,KAAK,GAAG;AACjC,gCAAc,KAAK,QAAQ,WAAW,EAAE;AAAA,gBAC1C,WAAW,KAAK,WAAW,QAAQ,GAAG;AACpC,wBAAM,SAAS,OAAO,SAAS,KAAK,QAAQ,cAAc,EAAE,GAAG,EAAE;AACjE,sBAAI,CAAC,OAAO,MAAM,MAAM,GAAG;AACzB,iCAAa;AAAA,kBACf;AAAA,gBACF;AAAA,cACF;AAEA,kBAAI;AACJ,kBAAI,aAAa;AAEjB,kBAAI,UAAU,QAAQ;AACpB,sBAAM,UAAU,UAAU,KAAK,IAAI;AACnC,oBAAI;AACF,yBAAO,KAAK,MAAM,OAAO;AACzB,+BAAa;AAAA,gBACf,QAAQ;AACN,yBAAO;AAAA,gBACT;AAAA,cACF;AAEA,kBAAI,YAAY;AACd,oBAAI,mBAAmB;AACrB,wBAAM,kBAAkB,IAAI;AAAA,gBAC9B;AAEA,oBAAI,qBAAqB;AACvB,yBAAO,MAAM,oBAAoB,IAAI;AAAA,gBACvC;AAAA,cACF;AAEA,2BAAa;AAAA,gBACX;AAAA,gBACA,OAAO;AAAA,gBACP,IAAI;AAAA,gBACJ,OAAO;AAAA,cACT,CAAC;AAED,kBAAI,UAAU,QAAQ;AACpB,sBAAM;AAAA,cACR;AAAA,YACF;AAAA,UACF;AAAA,QACF,UAAE;AACA,iBAAO,oBAAoB,SAAS,YAAY;AAChD,iBAAO,YAAY;AAAA,QACrB;AAEA;AAAA,MACF,SAAS,OAAO;AAEd,qBAAa,KAAK;AAElB,YAAI,wBAAwB,UAAa,WAAW,qBAAqB;AACvE;AAAA,QACF;AAGA,cAAM,UAAU,KAAK,IAAI,aAAa,MAAM,UAAU,IAAI,oBAAoB,GAAK;AACnF,cAAM,MAAM,OAAO;AAAA,MACrB;AAAA,IACF;AAAA,EACF;AAEA,QAAM,SAAS,aAAa;AAE5B,SAAO,EAAE,OAAO;AAClB;;;ACnNO,IAAM,wBAAwB,CAAC,UAA+B;AACnE,UAAQ,OAAO;AAAA,IACb,KAAK;AACH,aAAO;AAAA,IACT,KAAK;AACH,aAAO;AAAA,IACT,KAAK;AACH,aAAO;AAAA,IACT;AACE,aAAO;AAAA,EACX;AACF;AAEO,IAAM,0BAA0B,CAAC,UAA+B;AACrE,UAAQ,OAAO;AAAA,IACb,KAAK;AACH,aAAO;AAAA,IACT,KAAK;AACH,aAAO;AAAA,IACT,KAAK;AACH,aAAO;AAAA,IACT;AACE,aAAO;AAAA,EACX;AACF;AAEO,IAAM,yBAAyB,CAAC,UAAgC;AACrE,UAAQ,OAAO;AAAA,IACb,KAAK;AACH,aAAO;AAAA,IACT,KAAK;AACH,aAAO;AAAA,IACT,KAAK;AACH,aAAO;AAAA,IACT;AACE,aAAO;AAAA,EACX;AACF;AAEO,IAAM,sBAAsB,CAAC;AAAA,EAClC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,MAEM;AACJ,MAAI,CAAC,SAAS;AACZ,UAAMC,iBAAgB,gBAAgB,QAAQ,MAAM,IAAI,CAAC,MAAM,mBAAmB,CAAW,CAAC,GAAG;AAAA,MAC/F,wBAAwB,KAAK;AAAA,IAC/B;AACA,YAAQ,OAAO;AAAA,MACb,KAAK;AACH,eAAO,IAAIA,aAAY;AAAA,MACzB,KAAK;AACH,eAAO,IAAI,IAAI,IAAIA,aAAY;AAAA,MACjC,KAAK;AACH,eAAOA;AAAA,MACT;AACE,eAAO,GAAG,IAAI,IAAIA,aAAY;AAAA,IAClC;AAAA,EACF;AAEA,QAAM,YAAY,sBAAsB,KAAK;AAC7C,QAAM,eAAe,MAClB,IAAI,CAAC,MAAM;AACV,QAAI,UAAU,WAAW,UAAU,UAAU;AAC3C,aAAO,gBAAgB,IAAI,mBAAmB,CAAW;AAAA,IAC3D;AAEA,WAAO,wBAAwB;AAAA,MAC7B;AAAA,MACA;AAAA,MACA,OAAO;AAAA,IACT,CAAC;AAAA,EACH,CAAC,EACA,KAAK,SAAS;AACjB,SAAO,UAAU,WAAW,UAAU,WAAW,YAAY,eAAe;AAC9E;AAEO,IAAM,0BAA0B,CAAC,EAAE,eAAe,MAAM,MAAM,MAA+B;AAClG,MAAI,UAAU,UAAa,UAAU,MAAM;AACzC,WAAO;AAAA,EACT;AAEA,MAAI,OAAO,UAAU,UAAU;AAC7B,UAAM,IAAI;AAAA,MACR;AAAA,IACF;AAAA,EACF;AAEA,SAAO,GAAG,IAAI,IAAI,gBAAgB,QAAQ,mBAAmB,KAAK,CAAC;AACrE;AAEO,IAAM,uBAAuB,CAAC;AAAA,EACnC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,MAGM;AACJ,MAAI,iBAAiB,MAAM;AACzB,WAAO,YAAY,MAAM,YAAY,IAAI,GAAG,IAAI,IAAI,MAAM,YAAY,CAAC;AAAA,EACzE;AAEA,MAAI,UAAU,gBAAgB,CAAC,SAAS;AACtC,QAAI,SAAmB,CAAC;AACxB,WAAO,QAAQ,KAAK,EAAE,QAAQ,CAAC,CAAC,KAAK,CAAC,MAAM;AAC1C,eAAS,CAAC,GAAG,QAAQ,KAAK,gBAAiB,IAAe,mBAAmB,CAAW,CAAC;AAAA,IAC3F,CAAC;AACD,UAAMA,gBAAe,OAAO,KAAK,GAAG;AACpC,YAAQ,OAAO;AAAA,MACb,KAAK;AACH,eAAO,GAAG,IAAI,IAAIA,aAAY;AAAA,MAChC,KAAK;AACH,eAAO,IAAIA,aAAY;AAAA,MACzB,KAAK;AACH,eAAO,IAAI,IAAI,IAAIA,aAAY;AAAA,MACjC;AACE,eAAOA;AAAA,IACX;AAAA,EACF;AAEA,QAAM,YAAY,uBAAuB,KAAK;AAC9C,QAAM,eAAe,OAAO,QAAQ,KAAK,EACtC;AAAA,IAAI,CAAC,CAAC,KAAK,CAAC,MACX,wBAAwB;AAAA,MACtB;AAAA,MACA,MAAM,UAAU,eAAe,GAAG,IAAI,IAAI,GAAG,MAAM;AAAA,MACnD,OAAO;AAAA,IACT,CAAC;AAAA,EACH,EACC,KAAK,SAAS;AACjB,SAAO,UAAU,WAAW,UAAU,WAAW,YAAY,eAAe;AAC9E;;;ACvJO,IAAM,gBAAgB;AAEtB,IAAM,wBAAwB,CAAC,EAAE,MAAAC,OAAM,KAAK,KAAK,MAAsB;AAC5E,MAAI,MAAM;AACV,QAAM,UAAU,KAAK,MAAM,aAAa;AACxC,MAAI,SAAS;AACX,eAAW,SAAS,SAAS;AAC3B,UAAI,UAAU;AACd,UAAI,OAAO,MAAM,UAAU,GAAG,MAAM,SAAS,CAAC;AAC9C,UAAI,QAA6B;AAEjC,UAAI,KAAK,SAAS,GAAG,GAAG;AACtB,kBAAU;AACV,eAAO,KAAK,UAAU,GAAG,KAAK,SAAS,CAAC;AAAA,MAC1C;AAEA,UAAI,KAAK,WAAW,GAAG,GAAG;AACxB,eAAO,KAAK,UAAU,CAAC;AACvB,gBAAQ;AAAA,MACV,WAAW,KAAK,WAAW,GAAG,GAAG;AAC/B,eAAO,KAAK,UAAU,CAAC;AACvB,gBAAQ;AAAA,MACV;AAEA,YAAM,QAAQA,MAAK,IAAI;AAEvB,UAAI,UAAU,UAAa,UAAU,MAAM;AACzC;AAAA,MACF;AAEA,UAAI,MAAM,QAAQ,KAAK,GAAG;AACxB,cAAM,IAAI,QAAQ,OAAO,oBAAoB,EAAE,SAAS,MAAM,OAAO,MAAM,CAAC,CAAC;AAC7E;AAAA,MACF;AAEA,UAAI,OAAO,UAAU,UAAU;AAC7B,cAAM,IAAI;AAAA,UACR;AAAA,UACA,qBAAqB;AAAA,YACnB;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA,WAAW;AAAA,UACb,CAAC;AAAA,QACH;AACA;AAAA,MACF;AAEA,UAAI,UAAU,UAAU;AACtB,cAAM,IAAI;AAAA,UACR;AAAA,UACA,IAAI,wBAAwB;AAAA,YAC1B;AAAA,YACA;AAAA,UACF,CAAC,CAAC;AAAA,QACJ;AACA;AAAA,MACF;AAEA,YAAM,eAAe,mBAAmB,UAAU,UAAU,IAAI,KAAe,KAAM,KAAgB;AACrG,YAAM,IAAI,QAAQ,OAAO,YAAY;AAAA,IACvC;AAAA,EACF;AACA,SAAO;AACT;AAEO,IAAM,SAAS,CAAC;AAAA,EACrB;AAAA,EACA,MAAAA;AAAA,EACA;AAAA,EACA;AAAA,EACA,KAAK;AACP,MAMM;AACJ,QAAM,UAAU,KAAK,WAAW,GAAG,IAAI,OAAO,IAAI,IAAI;AACtD,MAAI,OAAO,WAAW,MAAM;AAC5B,MAAIA,OAAM;AACR,UAAM,sBAAsB,EAAE,MAAAA,OAAM,IAAI,CAAC;AAAA,EAC3C;AACA,MAAI,SAAS,QAAQ,gBAAgB,KAAK,IAAI;AAC9C,MAAI,OAAO,WAAW,GAAG,GAAG;AAC1B,aAAS,OAAO,UAAU,CAAC;AAAA,EAC7B;AACA,MAAI,QAAQ;AACV,WAAO,IAAI,MAAM;AAAA,EACnB;AACA,SAAO;AACT;AAEO,SAAS,oBAAoB,SAIjC;AACD,QAAM,UAAU,QAAQ,SAAS;AACjC,QAAM,mBAAmB,WAAW,QAAQ;AAE5C,MAAI,kBAAkB;AACpB,QAAI,oBAAoB,SAAS;AAC/B,YAAM,oBAAoB,QAAQ,mBAAmB,UAAa,QAAQ,mBAAmB;AAE7F,aAAO,oBAAoB,QAAQ,iBAAiB;AAAA,IACtD;AAGA,WAAO,QAAQ,SAAS,KAAK,QAAQ,OAAO;AAAA,EAC9C;AAGA,MAAI,SAAS;AACX,WAAO,QAAQ;AAAA,EACjB;AAGA,SAAO;AACT;;;ACnHO,IAAM,eAAe,OAC1B,MACA,aACgC;AAChC,QAAM,QAAQ,OAAO,aAAa,aAAa,MAAM,SAAS,IAAI,IAAI;AAEtE,MAAI,CAAC,OAAO;AACV;AAAA,EACF;AAEA,MAAI,KAAK,WAAW,UAAU;AAC5B,WAAO,UAAU,KAAK;AAAA,EACxB;AAEA,MAAI,KAAK,WAAW,SAAS;AAC3B,WAAO,SAAS,KAAK,KAAK,CAAC;AAAA,EAC7B;AAEA,SAAO;AACT;;;ACmBO,IAAM,qBAAqB;AAAA,EAChC,gBAAgB,CAAI,SAClB,KAAK,UAAU,MAAM,CAAC,MAAM,UAAW,OAAO,UAAU,WAAW,MAAM,SAAS,IAAI,KAAM;AAChG;;;ACrDO,IAAM,wBAAwB,CAAc,EAAE,aAAa,CAAC,GAAG,GAAG,KAAK,IAA4B,CAAC,MAAM;AAC/G,QAAM,kBAAkB,CAAC,gBAAmB;AAC1C,UAAM,SAAmB,CAAC;AAC1B,QAAI,eAAe,OAAO,gBAAgB,UAAU;AAClD,iBAAW,QAAQ,aAAa;AAC9B,cAAM,QAAQ,YAAY,IAAI;AAE9B,YAAI,UAAU,UAAa,UAAU,MAAM;AACzC;AAAA,QACF;AAEA,cAAM,UAAU,WAAW,IAAI,KAAK;AAEpC,YAAI,MAAM,QAAQ,KAAK,GAAG;AACxB,gBAAM,kBAAkB,oBAAoB;AAAA,YAC1C,eAAe,QAAQ;AAAA,YACvB,SAAS;AAAA,YACT;AAAA,YACA,OAAO;AAAA,YACP;AAAA,YACA,GAAG,QAAQ;AAAA,UACb,CAAC;AACD,cAAI,gBAAiB,QAAO,KAAK,eAAe;AAAA,QAClD,WAAW,OAAO,UAAU,UAAU;AACpC,gBAAM,mBAAmB,qBAAqB;AAAA,YAC5C,eAAe,QAAQ;AAAA,YACvB,SAAS;AAAA,YACT;AAAA,YACA,OAAO;AAAA,YACP;AAAA,YACA,GAAG,QAAQ;AAAA,UACb,CAAC;AACD,cAAI,iBAAkB,QAAO,KAAK,gBAAgB;AAAA,QACpD,OAAO;AACL,gBAAM,sBAAsB,wBAAwB;AAAA,YAClD,eAAe,QAAQ;AAAA,YACvB;AAAA,YACA;AAAA,UACF,CAAC;AACD,cAAI,oBAAqB,QAAO,KAAK,mBAAmB;AAAA,QAC1D;AAAA,MACF;AAAA,IACF;AACA,WAAO,OAAO,KAAK,GAAG;AAAA,EACxB;AACA,SAAO;AACT;AAKO,IAAM,aAAa,CAAC,gBAAmE;AAC5F,MAAI,CAAC,aAAa;AAGhB,WAAO;AAAA,EACT;AAEA,QAAM,eAAe,YAAY,MAAM,GAAG,EAAE,CAAC,GAAG,KAAK;AAErD,MAAI,CAAC,cAAc;AACjB;AAAA,EACF;AAEA,MAAI,aAAa,WAAW,kBAAkB,KAAK,aAAa,SAAS,OAAO,GAAG;AACjF,WAAO;AAAA,EACT;AAEA,MAAI,iBAAiB,uBAAuB;AAC1C,WAAO;AAAA,EACT;AAEA,MAAI,CAAC,gBAAgB,UAAU,UAAU,QAAQ,EAAE,KAAK,CAAC,SAAS,aAAa,WAAW,IAAI,CAAC,GAAG;AAChG,WAAO;AAAA,EACT;AAEA,MAAI,aAAa,WAAW,OAAO,GAAG;AACpC,WAAO;AAAA,EACT;AAEA;AACF;AAEA,IAAM,oBAAoB,CACxB,SAGA,SACY;AACZ,MAAI,CAAC,MAAM;AACT,WAAO;AAAA,EACT;AACA,MAAI,QAAQ,QAAQ,IAAI,IAAI,KAAK,QAAQ,QAAQ,IAAI,KAAK,QAAQ,QAAQ,IAAI,QAAQ,GAAG,SAAS,GAAG,IAAI,GAAG,GAAG;AAC7G,WAAO;AAAA,EACT;AACA,SAAO;AACT;AAEO,IAAM,gBAAgB,OAAO;AAAA,EAClC;AAAA,EACA,GAAG;AACL,MAGQ;AACN,aAAW,QAAQ,UAAU;AAC3B,QAAI,kBAAkB,SAAS,KAAK,IAAI,GAAG;AACzC;AAAA,IACF;AAEA,UAAM,QAAQ,MAAM,aAAa,MAAM,QAAQ,IAAI;AAEnD,QAAI,CAAC,OAAO;AACV;AAAA,IACF;AAEA,UAAM,OAAO,KAAK,QAAQ;AAE1B,YAAQ,KAAK,IAAI;AAAA,MACf,KAAK;AACH,YAAI,CAAC,QAAQ,OAAO;AAClB,kBAAQ,QAAQ,CAAC;AAAA,QACnB;AACA,gBAAQ,MAAM,IAAI,IAAI;AACtB;AAAA,MACF,KAAK;AACH,gBAAQ,QAAQ,OAAO,UAAU,GAAG,IAAI,IAAI,KAAK,EAAE;AACnD;AAAA,MACF,KAAK;AAAA,MACL;AACE,gBAAQ,QAAQ,IAAI,MAAM,KAAK;AAC/B;AAAA,IACJ;AAAA,EACF;AACF;AAEO,IAAM,WAA+B,CAAC,YAC3C,OAAO;AAAA,EACL,SAAS,QAAQ;AAAA,EACjB,MAAM,QAAQ;AAAA,EACd,OAAO,QAAQ;AAAA,EACf,iBACE,OAAO,QAAQ,oBAAoB,aAC/B,QAAQ,kBACR,sBAAsB,QAAQ,eAAe;AAAA,EACnD,KAAK,QAAQ;AACf,CAAC;AAEI,IAAM,eAAe,CAAC,GAAW,MAAsB;AAC5D,QAAM,SAAS,EAAE,GAAG,GAAG,GAAG,EAAE;AAC5B,MAAI,OAAO,SAAS,SAAS,GAAG,GAAG;AACjC,WAAO,UAAU,OAAO,QAAQ,UAAU,GAAG,OAAO,QAAQ,SAAS,CAAC;AAAA,EACxE;AACA,SAAO,UAAU,aAAa,EAAE,SAAS,EAAE,OAAO;AAClD,SAAO;AACT;AAEA,IAAM,iBAAiB,CAAC,YAA8C;AACpE,QAAM,UAAmC,CAAC;AAC1C,UAAQ,QAAQ,CAAC,OAAO,QAAQ;AAC9B,YAAQ,KAAK,CAAC,KAAK,KAAK,CAAC;AAAA,EAC3B,CAAC;AACD,SAAO;AACT;AAEO,IAAM,eAAe,IAAI,YAAqE;AACnG,QAAM,gBAAgB,IAAI,QAAQ;AAClC,aAAW,UAAU,SAAS;AAC5B,QAAI,CAAC,QAAQ;AACX;AAAA,IACF;AAEA,UAAM,WAAW,kBAAkB,UAAU,eAAe,MAAM,IAAI,OAAO,QAAQ,MAAM;AAE3F,eAAW,CAAC,KAAK,KAAK,KAAK,UAAU;AACnC,UAAI,UAAU,MAAM;AAClB,sBAAc,OAAO,GAAG;AAAA,MAC1B,WAAW,MAAM,QAAQ,KAAK,GAAG;AAC/B,mBAAW,KAAK,OAAO;AACrB,wBAAc,OAAO,KAAK,CAAW;AAAA,QACvC;AAAA,MACF,WAAW,UAAU,QAAW;AAG9B,sBAAc,IAAI,KAAK,OAAO,UAAU,WAAW,KAAK,UAAU,KAAK,IAAK,KAAgB;AAAA,MAC9F;AAAA,IACF;AAAA,EACF;AACA,SAAO;AACT;AAaA,IAAM,eAAN,MAAgC;AAAA,EAC9B,MAAiC,CAAC;AAAA,EAElC,QAAc;AACZ,SAAK,MAAM,CAAC;AAAA,EACd;AAAA,EAEA,MAAM,IAAgC;AACpC,UAAM,QAAQ,KAAK,oBAAoB,EAAE;AACzC,QAAI,KAAK,IAAI,KAAK,GAAG;AACnB,WAAK,IAAI,KAAK,IAAI;AAAA,IACpB;AAAA,EACF;AAAA,EAEA,OAAO,IAAmC;AACxC,UAAM,QAAQ,KAAK,oBAAoB,EAAE;AACzC,WAAO,QAAQ,KAAK,IAAI,KAAK,CAAC;AAAA,EAChC;AAAA,EAEA,oBAAoB,IAAkC;AACpD,QAAI,OAAO,OAAO,UAAU;AAC1B,aAAO,KAAK,IAAI,EAAE,IAAI,KAAK;AAAA,IAC7B;AACA,WAAO,KAAK,IAAI,QAAQ,EAAE;AAAA,EAC5B;AAAA,EAEA,OAAO,IAA0B,IAA+C;AAC9E,UAAM,QAAQ,KAAK,oBAAoB,EAAE;AACzC,QAAI,KAAK,IAAI,KAAK,GAAG;AACnB,WAAK,IAAI,KAAK,IAAI;AAClB,aAAO;AAAA,IACT;AACA,WAAO;AAAA,EACT;AAAA,EAEA,IAAI,IAAyB;AAC3B,SAAK,IAAI,KAAK,EAAE;AAChB,WAAO,KAAK,IAAI,SAAS;AAAA,EAC3B;AACF;AAQO,IAAM,qBAAqB,OAAmE;AAAA,EACnG,OAAO,IAAI,aAAqD;AAAA,EAChE,SAAS,IAAI,aAA2C;AAAA,EACxD,UAAU,IAAI,aAAgD;AAChE;AAEA,IAAM,yBAAyB,sBAAsB;AAAA,EACnD,eAAe;AAAA,EACf,OAAO;AAAA,IACL,SAAS;AAAA,IACT,OAAO;AAAA,EACT;AAAA,EACA,QAAQ;AAAA,IACN,SAAS;AAAA,IACT,OAAO;AAAA,EACT;AACF,CAAC;AAED,IAAM,iBAAiB;AAAA,EACrB,gBAAgB;AAClB;AAEO,IAAM,eAAe,CAC1B,WAAqD,CAAC,OACR;AAAA,EAC9C,GAAG;AAAA,EACH,SAAS;AAAA,EACT,SAAS;AAAA,EACT,iBAAiB;AAAA,EACjB,GAAG;AACL;;;AC3QO,IAAM,eAAe,CAAC,SAAiB,CAAC,MAAc;AAC3D,MAAI,UAAU,aAAa,aAAa,GAAG,MAAM;AAEjD,QAAM,YAAY,OAAe,EAAE,GAAG,QAAQ;AAE9C,QAAM,YAAY,CAACC,YAA2B;AAC5C,cAAU,aAAa,SAASA,OAAM;AACtC,WAAO,UAAU;AAAA,EACnB;AAEA,QAAM,eAAe,mBAAuE;AAE5F,QAAM,gBAAgB,OAAO,YAA4B;AACvD,UAAM,OAAO;AAAA,MACX,GAAG;AAAA,MACH,GAAG;AAAA,MACH,OAAO,QAAQ,SAAS,QAAQ,SAAS,WAAW;AAAA,MACpD,SAAS,aAAa,QAAQ,SAAS,QAAQ,OAAO;AAAA,MACtD,gBAAgB;AAAA,IAClB;AAEA,QAAI,KAAK,UAAU;AACjB,YAAM,cAAc;AAAA,QAClB,GAAG;AAAA,QACH,UAAU,KAAK;AAAA,MACjB,CAAC;AAAA,IACH;AAEA,QAAI,KAAK,kBAAkB;AACzB,YAAM,KAAK,iBAAiB,IAAI;AAAA,IAClC;AAEA,QAAI,KAAK,SAAS,UAAa,KAAK,gBAAgB;AAClD,WAAK,iBAAiB,KAAK,eAAe,KAAK,IAAI;AAAA,IACrD;AAGA,QAAI,KAAK,SAAS,UAAa,KAAK,mBAAmB,IAAI;AACzD,WAAK,QAAQ,OAAO,cAAc;AAAA,IACpC;AAEA,UAAM,MAAM,SAAS,IAAI;AAEzB,WAAO,EAAE,MAAM,IAAI;AAAA,EACrB;AAEA,QAAM,UAA6B,OAAO,YAAY;AAEpD,UAAM,EAAE,MAAM,IAAI,IAAI,MAAM,cAAc,OAAO;AACjD,UAAM,cAAuB;AAAA,MAC3B,UAAU;AAAA,MACV,GAAG;AAAA,MACH,MAAM,oBAAoB,IAAI;AAAA,IAChC;AAEA,QAAIC,WAAU,IAAI,QAAQ,KAAK,WAAW;AAE1C,eAAW,MAAM,aAAa,QAAQ,KAAK;AACzC,UAAI,IAAI;AACN,QAAAA,WAAU,MAAM,GAAGA,UAAS,IAAI;AAAA,MAClC;AAAA,IACF;AAIA,UAAM,SAAS,KAAK;AACpB,QAAI;AAEJ,QAAI;AACF,iBAAW,MAAM,OAAOA,QAAO;AAAA,IACjC,SAASC,QAAO;AAEd,UAAIC,cAAaD;AAEjB,iBAAW,MAAM,aAAa,MAAM,KAAK;AACvC,YAAI,IAAI;AACN,UAAAC,cAAc,MAAM,GAAGD,QAAO,QAAkBD,UAAS,IAAI;AAAA,QAC/D;AAAA,MACF;AAEA,MAAAE,cAAaA,eAAe,CAAC;AAE7B,UAAI,KAAK,cAAc;AACrB,cAAMA;AAAA,MACR;AAGA,aAAO,KAAK,kBAAkB,SAC1B,SACA;AAAA,QACE,OAAOA;AAAA,QACP,SAAAF;AAAA,QACA,UAAU;AAAA,MACZ;AAAA,IACN;AAEA,eAAW,MAAM,aAAa,SAAS,KAAK;AAC1C,UAAI,IAAI;AACN,mBAAW,MAAM,GAAG,UAAUA,UAAS,IAAI;AAAA,MAC7C;AAAA,IACF;AAEA,UAAM,SAAS;AAAA,MACb,SAAAA;AAAA,MACA;AAAA,IACF;AAEA,QAAI,SAAS,IAAI;AACf,YAAM,WACH,KAAK,YAAY,SAAS,WAAW,SAAS,QAAQ,IAAI,cAAc,CAAC,IAAI,KAAK,YAAY;AAEjG,UAAI,SAAS,WAAW,OAAO,SAAS,QAAQ,IAAI,gBAAgB,MAAM,KAAK;AAC7E,YAAI;AACJ,gBAAQ,SAAS;AAAA,UACf,KAAK;AAAA,UACL,KAAK;AAAA,UACL,KAAK;AACH,wBAAY,MAAM,SAAS,OAAO,EAAE;AACpC;AAAA,UACF,KAAK;AACH,wBAAY,IAAI,SAAS;AACzB;AAAA,UACF,KAAK;AACH,wBAAY,SAAS;AACrB;AAAA,UACF,KAAK;AAAA,UACL;AACE,wBAAY,CAAC;AACb;AAAA,QACJ;AACA,eAAO,KAAK,kBAAkB,SAC1B,YACA;AAAA,UACE,MAAM;AAAA,UACN,GAAG;AAAA,QACL;AAAA,MACN;AAEA,UAAI;AACJ,cAAQ,SAAS;AAAA,QACf,KAAK;AAAA,QACL,KAAK;AAAA,QACL,KAAK;AAAA,QACL,KAAK;AACH,iBAAO,MAAM,SAAS,OAAO,EAAE;AAC/B;AAAA,QACF,KAAK,QAAQ;AAGX,gBAAM,OAAO,MAAM,SAAS,KAAK;AACjC,iBAAO,OAAO,KAAK,MAAM,IAAI,IAAI,CAAC;AAClC;AAAA,QACF;AAAA,QACA,KAAK;AACH,iBAAO,KAAK,kBAAkB,SAC1B,SAAS,OACT;AAAA,YACE,MAAM,SAAS;AAAA,YACf,GAAG;AAAA,UACL;AAAA,MACR;AAEA,UAAI,YAAY,QAAQ;AACtB,YAAI,KAAK,mBAAmB;AAC1B,gBAAM,KAAK,kBAAkB,IAAI;AAAA,QACnC;AAEA,YAAI,KAAK,qBAAqB;AAC5B,iBAAO,MAAM,KAAK,oBAAoB,IAAI;AAAA,QAC5C;AAAA,MACF;AAEA,aAAO,KAAK,kBAAkB,SAC1B,OACA;AAAA,QACE;AAAA,QACA,GAAG;AAAA,MACL;AAAA,IACN;AAEA,UAAM,YAAY,MAAM,SAAS,KAAK;AACtC,QAAI;AAEJ,QAAI;AACF,kBAAY,KAAK,MAAM,SAAS;AAAA,IAClC,QAAQ;AAAA,IAER;AAEA,UAAM,QAAQ,aAAa;AAC3B,QAAI,aAAa;AAEjB,eAAW,MAAM,aAAa,MAAM,KAAK;AACvC,UAAI,IAAI;AACN,qBAAc,MAAM,GAAG,OAAO,UAAUA,UAAS,IAAI;AAAA,MACvD;AAAA,IACF;AAEA,iBAAa,cAAe,CAAC;AAE7B,QAAI,KAAK,cAAc;AACrB,YAAM;AAAA,IACR;AAGA,WAAO,KAAK,kBAAkB,SAC1B,SACA;AAAA,MACE,OAAO;AAAA,MACP,GAAG;AAAA,IACL;AAAA,EACN;AAEA,QAAM,eAAe,CAAC,WAAkC,CAAC,YAA4B,QAAQ,EAAE,GAAG,SAAS,OAAO,CAAC;AAEnH,QAAM,YAAY,CAAC,WAAkC,OAAO,YAA4B;AACtF,UAAM,EAAE,MAAM,IAAI,IAAI,MAAM,cAAc,OAAO;AACjD,WAAO,gBAAgB;AAAA,MACrB,GAAG;AAAA,MACH,MAAM,KAAK;AAAA,MACX,SAAS,KAAK;AAAA,MACd;AAAA,MACA,WAAW,OAAOG,MAAK,SAAS;AAC9B,YAAIH,WAAU,IAAI,QAAQG,MAAK,IAAI;AACnC,mBAAW,MAAM,aAAa,QAAQ,KAAK;AACzC,cAAI,IAAI;AACN,YAAAH,WAAU,MAAM,GAAGA,UAAS,IAAI;AAAA,UAClC;AAAA,QACF;AACA,eAAOA;AAAA,MACT;AAAA,MACA,gBAAgB,oBAAoB,IAAI;AAAA,MACxC;AAAA,IACF,CAAC;AAAA,EACH;AAEA,SAAO;AAAA,IACL;AAAA,IACA,SAAS,aAAa,SAAS;AAAA,IAC/B,QAAQ,aAAa,QAAQ;AAAA,IAC7B,KAAK,aAAa,KAAK;AAAA,IACvB;AAAA,IACA,MAAM,aAAa,MAAM;AAAA,IACzB;AAAA,IACA,SAAS,aAAa,SAAS;AAAA,IAC/B,OAAO,aAAa,OAAO;AAAA,IAC3B,MAAM,aAAa,MAAM;AAAA,IACzB,KAAK,aAAa,KAAK;AAAA,IACvB;AAAA,IACA;AAAA,IACA,KAAK;AAAA,MACH,SAAS,UAAU,SAAS;AAAA,MAC5B,QAAQ,UAAU,QAAQ;AAAA,MAC1B,KAAK,UAAU,KAAK;AAAA,MACpB,MAAM,UAAU,MAAM;AAAA,MACtB,SAAS,UAAU,SAAS;AAAA,MAC5B,OAAO,UAAU,OAAO;AAAA,MACxB,MAAM,UAAU,MAAM;AAAA,MACtB,KAAK,UAAU,KAAK;AAAA,MACpB,OAAO,UAAU,OAAO;AAAA,IAC1B;AAAA,IACA,OAAO,aAAa,OAAO;AAAA,EAC7B;AACF;;;AChPA,IAAM,mBAAyC;AAAA,EAC7C,QAAQ;AAAA,EACR,WAAW;AAAA,EACX,QAAQ;AAAA,EACR,SAAS;AACX;AACA,IAAM,gBAAgB,OAAO,QAAQ,gBAAgB;AAcrD,IAAM,cAAc,CAAC,QAAsB,QAAyB;AAClE,MAAI,CAAC,KAAK;AACR,UAAM,oBAAI,IAAI;AAAA,EAChB;AAEA,aAAW,UAAU,QAAQ;AAC3B,QAAI,QAAQ,QAAQ;AAClB,UAAI,OAAO,KAAK;AACd,YAAI,IAAI,OAAO,KAAK;AAAA,UAClB,IAAI,OAAO;AAAA,UACX,KAAK,OAAO;AAAA,QACd,CAAC;AAAA,MACH;AAAA,IACF,WAAW,SAAS,QAAQ;AAC1B,UAAI,IAAI,OAAO,KAAK;AAAA,QAClB,KAAK,OAAO;AAAA,MACd,CAAC;AAAA,IACH,WAAW,OAAO,MAAM;AACtB,kBAAY,OAAO,MAAM,GAAG;AAAA,IAC9B;AAAA,EACF;AAEA,SAAO;AACT;AASA,IAAM,kBAAkB,CAAC,WAAmB;AAC1C,aAAW,CAAC,MAAM,KAAK,KAAK,OAAO,QAAQ,MAAM,GAAG;AAClD,QAAI,SAAS,OAAO,UAAU,YAAY,CAAC,OAAO,KAAK,KAAK,EAAE,QAAQ;AACpE,aAAO,OAAO,IAAY;AAAA,IAC5B;AAAA,EACF;AACF;AAEO,IAAM,oBAAoB,CAAC,MAA8B,WAAyB;AACvF,QAAM,SAAiB;AAAA,IACrB,MAAM,CAAC;AAAA,IACP,SAAS,CAAC;AAAA,IACV,MAAM,CAAC;AAAA,IACP,OAAO,CAAC;AAAA,EACV;AAEA,QAAM,MAAM,YAAY,MAAM;AAE9B,MAAI;AAEJ,aAAW,CAAC,OAAO,GAAG,KAAK,KAAK,QAAQ,GAAG;AACzC,QAAI,OAAO,KAAK,GAAG;AACjB,eAAS,OAAO,KAAK;AAAA,IACvB;AAEA,QAAI,CAAC,QAAQ;AACX;AAAA,IACF;AAEA,QAAI,QAAQ,QAAQ;AAClB,UAAI,OAAO,KAAK;AACd,cAAM,QAAQ,IAAI,IAAI,OAAO,GAAG;AAChC,cAAM,OAAO,MAAM,OAAO,OAAO;AACjC,YAAI,MAAM,IAAI;AACZ;AAAC,UAAC,OAAO,MAAM,EAAE,EAA8B,IAAI,IAAI;AAAA,QACzD;AAAA,MACF,OAAO;AACL,eAAO,OAAO;AAAA,MAChB;AAAA,IACF,OAAO;AACL,iBAAW,CAAC,KAAK,KAAK,KAAK,OAAO,QAAQ,OAAO,CAAC,CAAC,GAAG;AACpD,cAAM,QAAQ,IAAI,IAAI,GAAG;AAEzB,YAAI,OAAO;AACT,cAAI,MAAM,IAAI;AACZ,kBAAM,OAAO,MAAM,OAAO;AACzB,YAAC,OAAO,MAAM,EAAE,EAA8B,IAAI,IAAI;AAAA,UACzD,OAAO;AACL,mBAAO,MAAM,GAAG,IAAI;AAAA,UACtB;AAAA,QACF,OAAO;AACL,gBAAM,QAAQ,cAAc,KAAK,CAAC,CAAC,MAAM,MAAM,IAAI,WAAW,MAAM,CAAC;AAErE,cAAI,OAAO;AACT,kBAAM,CAAC,QAAQ,IAAI,IAAI;AACtB,YAAC,OAAO,IAAI,EAA8B,IAAI,MAAM,OAAO,MAAM,CAAC,IAAI;AAAA,UACzE,WAAW,gBAAgB,UAAU,OAAO,YAAY;AACtD,uBAAW,CAAC,MAAM,OAAO,KAAK,OAAO,QAAQ,OAAO,UAAU,GAAG;AAC/D,kBAAI,SAAS;AACX;AAAC,gBAAC,OAAO,IAAY,EAA8B,GAAG,IAAI;AAC1D;AAAA,cACF;AAAA,YACF;AAAA,UACF;AAAA,QACF;AAAA,MACF;AAAA,IACF;AAAA,EACF;AAEA,kBAAgB,MAAM;AAEtB,SAAO;AACT;;;ACvJO,IAAM,SAAS,aAAa,aAA6B,EAAE,SAAS,wBAAwB,CAAC,CAAC;;;ACkMrG,IAAM,eAAN,MAAmB;AAAA,EACP;AAAA,EAEV,YAAY,MAA4B;AACtC,SAAK,SAAS,MAAM,UAAU;AAAA,EAChC;AACF;AAEA,IAAM,iBAAN,MAAwB;AAAA,EACL,aAAa;AAAA,EAEb,YAA4B,oBAAI,IAAI;AAAA,EAErD,IAAI,KAAiB;AACnB,UAAM,WAAW,KAAK,UAAU,IAAI,OAAO,KAAK,UAAU;AAC1D,QAAI,CAAC,UAAU;AACb,YAAM,IAAI,MAAM,gFAAgF;AAAA,IAClG;AACA,WAAO;AAAA,EACT;AAAA,EAEA,IAAI,OAAU,KAAoB;AAChC,SAAK,UAAU,IAAI,OAAO,KAAK,YAAY,KAAK;AAAA,EAClD;AACF;AAEO,IAAM,YAAN,cAAwB,aAAa;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAMnC,UAAgD,SAAwC;AAC7F,YAAQ,SAAS,UAAU,KAAK,QAAQ,IAAI,IAA8D;AAAA,MACxG,KAAK;AAAA,MACL,GAAG;AAAA,IACL,CAAC;AAAA,EACH;AACF;AAEO,IAAM,SAAN,cAAqB,aAAa;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAMhC,IAA0C,SAAwC;AACvF,YAAQ,SAAS,UAAU,KAAK,QAAQ,IAAqD;AAAA,MAC3F,KAAK;AAAA,MACL,GAAG;AAAA,IACL,CAAC;AAAA,EACH;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOO,OACL,YAGA,SACA;AACA,UAAM,SAAS,kBAAkB,CAAC,UAAU,GAAG,CAAC,EAAE,MAAM,CAAC,EAAE,KAAK,UAAU,KAAK,OAAO,CAAC,EAAE,CAAC,CAAC;AAC3F,YAAQ,SAAS,UAAU,KAAK,QAAQ,MAA2E;AAAA,MACjH,KAAK;AAAA,MACL,GAAG;AAAA,MACH,GAAG;AAAA,MACH,SAAS;AAAA,QACP,gBAAgB;AAAA,QAChB,GAAG,SAAS;AAAA,QACZ,GAAG,OAAO;AAAA,MACZ;AAAA,IACF,CAAC;AAAA,EACH;AACF;AAEO,IAAM,SAAN,cAAqB,aAAa;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAMhC,OAA6C,SAAwC;AAC1F,YAAQ,SAAS,UAAU,KAAK,QAAQ,IAAkD;AAAA,MACxF,KAAK;AAAA,MACL,GAAG;AAAA,IACL,CAAC;AAAA,EACH;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOO,MAA4C,SAAwC;AACzF,YAAQ,SAAS,UAAU,KAAK,QAAQ,IAAI,IAAiD;AAAA,MAC3F,KAAK;AAAA,MACL,GAAG;AAAA,IACL,CAAC;AAAA,EACH;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOO,QAA8C,SAAwC;AAC3F,YAAQ,SAAS,UAAU,KAAK,QAAQ,KAAoD;AAAA,MAC1F,KAAK;AAAA,MACL,GAAG;AAAA,IACL,CAAC;AAAA,EACH;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOO,QACL,YAGA,SACA;AACA,UAAM,SAAS,kBAAkB,CAAC,UAAU,GAAG,CAAC,EAAE,MAAM,CAAC,EAAE,IAAI,QAAQ,KAAK,SAAS,CAAC,EAAE,CAAC,CAAC;AAC1F,YAAQ,SAAS,UAAU,KAAK,QAAQ,KAAgE;AAAA,MACtG,KAAK;AAAA,MACL,GAAG;AAAA,MACH,GAAG;AAAA,MACH,SAAS;AAAA,QACP,gBAAgB;AAAA,QAChB,GAAG,SAAS;AAAA,QACZ,GAAG,OAAO;AAAA,MACZ;AAAA,IACF,CAAC;AAAA,EACH;AAAA,EAEQ;AAAA,EACR,IAAI,YAAuB;AACzB,WAAQ,KAAK,eAAe,IAAI,UAAU,EAAE,QAAQ,KAAK,OAAO,CAAC;AAAA,EACnE;AAAA,EAEQ;AAAA,EACR,IAAI,SAAiB;AACnB,WAAQ,KAAK,YAAY,IAAI,OAAO,EAAE,QAAQ,KAAK,OAAO,CAAC;AAAA,EAC7D;AACF;AAEO,IAAM,OAAN,cAAmB,aAAa;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAM9B,OACL,YAGA,SACA;AACA,UAAM,SAAS,kBAAkB,CAAC,UAAU,GAAG,CAAC,EAAE,MAAM,CAAC,EAAE,IAAI,QAAQ,KAAK,aAAa,CAAC,EAAE,CAAC,CAAC;AAC9F,YAAQ,SAAS,UAAU,KAAK,QAAQ,OAA4D;AAAA,MAClG,KAAK;AAAA,MACL,GAAG;AAAA,MACH,GAAG;AAAA,IACL,CAAC;AAAA,EACH;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOO,IACL,YAIA,SACA;AACA,UAAM,SAAS;AAAA,MACb,CAAC,UAAU;AAAA,MACX;AAAA,QACE;AAAA,UACE,MAAM;AAAA,YACJ,EAAE,IAAI,QAAQ,KAAK,aAAa;AAAA,YAChC,EAAE,KAAK,QAAQ,KAAK,OAAO;AAAA,UAC7B;AAAA,QACF;AAAA,MACF;AAAA,IACF;AACA,YAAQ,SAAS,UAAU,KAAK,QAAQ,IAAmD;AAAA,MACzF,KAAK;AAAA,MACL,GAAG;AAAA,MACH,GAAG;AAAA,MACH,SAAS;AAAA,QACP,gBAAgB;AAAA,QAChB,GAAG,SAAS;AAAA,QACZ,GAAG,OAAO;AAAA,MACZ;AAAA,IACF,CAAC;AAAA,EACH;AACF;AAEO,IAAM,MAAN,cAAkB,aAAa;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAM7B,IACL,YAUA,SACA;AACA,UAAM,SAAS;AAAA,MACb,CAAC,UAAU;AAAA,MACX;AAAA,QACE;AAAA,UACE,MAAM;AAAA,YACJ,EAAE,IAAI,SAAS,KAAK,YAAY;AAAA,YAChC,EAAE,IAAI,SAAS,KAAK,YAAY;AAAA,YAChC,EAAE,IAAI,QAAQ,KAAK,UAAU;AAAA,YAC7B,EAAE,IAAI,QAAQ,KAAK,QAAQ;AAAA,YAC3B,EAAE,IAAI,QAAQ,KAAK,UAAU;AAAA,YAC7B,EAAE,IAAI,QAAQ,KAAK,QAAQ;AAAA,UAC7B;AAAA,QACF;AAAA,MACF;AAAA,IACF;AACA,YAAQ,SAAS,UAAU,KAAK,QAAQ,KAAkD;AAAA,MACxF,KAAK;AAAA,MACL,GAAG;AAAA,MACH,GAAG;AAAA,MACH,SAAS;AAAA,QACP,gBAAgB;AAAA,QAChB,GAAG,SAAS;AAAA,QACZ,GAAG,OAAO;AAAA,MACZ;AAAA,IACF,CAAC;AAAA,EACH;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOO,OACL,YAIA,SACA;AACA,UAAM,SAAS;AAAA,MACb,CAAC,UAAU;AAAA,MACX;AAAA,QACE;AAAA,UACE,MAAM;AAAA,YACJ,EAAE,IAAI,SAAS,KAAK,YAAY;AAAA,YAChC,EAAE,IAAI,SAAS,KAAK,YAAY;AAAA,UAClC;AAAA,QACF;AAAA,MACF;AAAA,IACF;AACA,YAAQ,SAAS,UAAU,KAAK,QAAQ,IAA+C;AAAA,MACrF,KAAK;AAAA,MACL,GAAG;AAAA,MACH,GAAG;AAAA,IACL,CAAC;AAAA,EACH;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOO,OACL,YAIA,SACA;AACA,UAAM,SAAS;AAAA,MACb,CAAC,UAAU;AAAA,MACX;AAAA,QACE;AAAA,UACE,MAAM;AAAA,YACJ,EAAE,IAAI,SAAS,KAAK,YAAY;AAAA,YAChC,EAAE,IAAI,SAAS,KAAK,YAAY;AAAA,UAClC;AAAA,QACF;AAAA,MACF;AAAA,IACF;AACA,YAAQ,SAAS,UAAU,KAAK,QAAQ,IAA+C;AAAA,MACrF,KAAK;AAAA,MACL,GAAG;AAAA,MACH,GAAG;AAAA,IACL,CAAC;AAAA,EACH;AACF;AAEO,IAAM,UAAN,cAAsB,aAAa;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAMjC,KACL,YAIA,SACA;AACA,UAAM,SAAS;AAAA,MACb,CAAC,UAAU;AAAA,MACX;AAAA,QACE;AAAA,UACE,MAAM;AAAA,YACJ,EAAE,IAAI,SAAS,KAAK,YAAY;AAAA,YAChC,EAAE,IAAI,SAAS,KAAK,YAAY;AAAA,UAClC;AAAA,QACF;AAAA,MACF;AAAA,IACF;AACA,YAAQ,SAAS,UAAU,KAAK,QAAQ,IAAiD;AAAA,MACvF,KAAK;AAAA,MACL,GAAG;AAAA,MACH,GAAG;AAAA,IACL,CAAC;AAAA,EACH;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOO,QACL,YAIA,SACA;AACA,UAAM,SAAS;AAAA,MACb,CAAC,UAAU;AAAA,MACX;AAAA,QACE;AAAA,UACE,MAAM;AAAA,YACJ,EAAE,IAAI,SAAS,KAAK,YAAY;AAAA,YAChC,EAAE,IAAI,SAAS,KAAK,YAAY;AAAA,UAClC;AAAA,QACF;AAAA,MACF;AAAA,IACF;AACA,YAAQ,SAAS,UAAU,KAAK,QAAQ,IAAoD;AAAA,MAC1F,KAAK;AAAA,MACL,GAAG;AAAA,MACH,GAAG;AAAA,IACL,CAAC;AAAA,EACH;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOO,QACL,YAIA,SACA;AACA,UAAM,SAAS;AAAA,MACb,CAAC,UAAU;AAAA,MACX;AAAA,QACE;AAAA,UACE,MAAM;AAAA,YACJ,EAAE,IAAI,SAAS,KAAK,YAAY;AAAA,YAChC,EAAE,IAAI,SAAS,KAAK,YAAY;AAAA,UAClC;AAAA,QACF;AAAA,MACF;AAAA,IACF;AACA,YAAQ,SAAS,UAAU,KAAK,QAAQ,KAAqD;AAAA,MAC3F,KAAK;AAAA,MACL,GAAG;AAAA,MACH,GAAG;AAAA,IACL,CAAC;AAAA,EACH;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOO,OACL,YAiBA,SACA;AACA,UAAM,SAAS;AAAA,MACb,CAAC,UAAU;AAAA,MACX;AAAA,QACE;AAAA,UACE,MAAM;AAAA,YACJ,EAAE,IAAI,QAAQ,KAAK,YAAY;AAAA,YAC/B,EAAE,IAAI,SAAS,KAAK,YAAY;AAAA,YAChC,EAAE,IAAI,SAAS,KAAK,YAAY;AAAA,YAChC,EAAE,IAAI,QAAQ,KAAK,OAAO;AAAA,YAC1B,EAAE,IAAI,QAAQ,KAAK,OAAO;AAAA,YAC1B,EAAE,IAAI,QAAQ,KAAK,WAAW;AAAA,UAChC;AAAA,QACF;AAAA,MACF;AAAA,IACF;AACA,YAAQ,SAAS,UAAU,KAAK,QAAQ,MAAiE;AAAA,MACvG,KAAK;AAAA,MACL,GAAG;AAAA,MACH,GAAG;AAAA,MACH,SAAS;AAAA,QACP,gBAAgB;AAAA,QAChB,GAAG,SAAS;AAAA,QACZ,GAAG,OAAO;AAAA,MACZ;AAAA,IACF,CAAC;AAAA,EACH;AACF;AAEO,IAAM,MAAN,cAAkB,aAAa;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAM7B,KACL,YAIA,SACA;AACA,UAAM,SAAS;AAAA,MACb,CAAC,UAAU;AAAA,MACX;AAAA,QACE;AAAA,UACE,MAAM;AAAA,YACJ,EAAE,IAAI,SAAS,KAAK,YAAY;AAAA,YAChC,EAAE,IAAI,SAAS,KAAK,YAAY;AAAA,UAClC;AAAA,QACF;AAAA,MACF;AAAA,IACF;AACA,YAAQ,SAAS,UAAU,KAAK,QAAQ,IAA6C;AAAA,MACnF,KAAK;AAAA,MACL,GAAG;AAAA,MACH,GAAG;AAAA,IACL,CAAC;AAAA,EACH;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOO,OACL,YAWA,SACA;AACA,UAAM,SAAS;AAAA,MACb,CAAC,UAAU;AAAA,MACX;AAAA,QACE;AAAA,UACE,MAAM;AAAA,YACJ,EAAE,IAAI,SAAS,KAAK,YAAY;AAAA,YAChC,EAAE,IAAI,SAAS,KAAK,YAAY;AAAA,YAChC,EAAE,IAAI,QAAQ,KAAK,UAAU;AAAA,YAC7B,EAAE,IAAI,QAAQ,KAAK,OAAO;AAAA,YAC1B,EAAE,IAAI,QAAQ,KAAK,MAAM;AAAA,YACzB,EAAE,IAAI,QAAQ,KAAK,QAAQ;AAAA,YAC3B,EAAE,IAAI,QAAQ,KAAK,MAAM;AAAA,UAC3B;AAAA,QACF;AAAA,MACF;AAAA,IACF;AACA,YAAQ,SAAS,UAAU,KAAK,QAAQ,KAAwD;AAAA,MAC9F,KAAK;AAAA,MACL,GAAG;AAAA,MACH,GAAG;AAAA,MACH,SAAS;AAAA,QACP,gBAAgB;AAAA,QAChB,GAAG,SAAS;AAAA,QACZ,GAAG,OAAO;AAAA,MACZ;AAAA,IACF,CAAC;AAAA,EACH;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOO,OACL,YAKA,SACA;AACA,UAAM,SAAS;AAAA,MACb,CAAC,UAAU;AAAA,MACX;AAAA,QACE;AAAA,UACE,MAAM;AAAA,YACJ,EAAE,IAAI,QAAQ,KAAK,QAAQ;AAAA,YAC3B,EAAE,IAAI,SAAS,KAAK,YAAY;AAAA,YAChC,EAAE,IAAI,SAAS,KAAK,YAAY;AAAA,UAClC;AAAA,QACF;AAAA,MACF;AAAA,IACF;AACA,YAAQ,SAAS,UAAU,KAAK,QAAQ,OAA0D;AAAA,MAChG,KAAK;AAAA,MACL,GAAG;AAAA,MACH,GAAG;AAAA,IACL,CAAC;AAAA,EACH;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOO,IACL,YAKA,SACA;AACA,UAAM,SAAS;AAAA,MACb,CAAC,UAAU;AAAA,MACX;AAAA,QACE;AAAA,UACE,MAAM;AAAA,YACJ,EAAE,IAAI,QAAQ,KAAK,QAAQ;AAAA,YAC3B,EAAE,IAAI,SAAS,KAAK,YAAY;AAAA,YAChC,EAAE,IAAI,SAAS,KAAK,YAAY;AAAA,UAClC;AAAA,QACF;AAAA,MACF;AAAA,IACF;AACA,YAAQ,SAAS,UAAU,KAAK,QAAQ,IAAiD;AAAA,MACvF,KAAK;AAAA,MACL,GAAG;AAAA,MACH,GAAG;AAAA,IACL,CAAC;AAAA,EACH;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOO,OACL,YAUA,SACA;AACA,UAAM,SAAS;AAAA,MACb,CAAC,UAAU;AAAA,MACX;AAAA,QACE;AAAA,UACE,MAAM;AAAA,YACJ,EAAE,IAAI,QAAQ,KAAK,QAAQ;AAAA,YAC3B,EAAE,IAAI,SAAS,KAAK,YAAY;AAAA,YAChC,EAAE,IAAI,SAAS,KAAK,YAAY;AAAA,YAChC,EAAE,IAAI,QAAQ,KAAK,QAAQ;AAAA,YAC3B,EAAE,IAAI,QAAQ,KAAK,OAAO;AAAA,UAC5B;AAAA,QACF;AAAA,MACF;AAAA,IACF;AACA,YAAQ,SAAS,UAAU,KAAK,QAAQ,IAAuD;AAAA,MAC7F,KAAK;AAAA,MACL,GAAG;AAAA,MACH,GAAG;AAAA,MACH,SAAS;AAAA,QACP,gBAAgB;AAAA,QAChB,GAAG,SAAS;AAAA,QACZ,GAAG,OAAO;AAAA,MACZ;AAAA,IACF,CAAC;AAAA,EACH;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOO,QACL,YAKA,SACA;AACA,UAAM,SAAS;AAAA,MACb,CAAC,UAAU;AAAA,MACX;AAAA,QACE;AAAA,UACE,MAAM;AAAA,YACJ,EAAE,IAAI,QAAQ,KAAK,QAAQ;AAAA,YAC3B,EAAE,IAAI,SAAS,KAAK,YAAY;AAAA,YAChC,EAAE,IAAI,SAAS,KAAK,YAAY;AAAA,UAClC;AAAA,QACF;AAAA,MACF;AAAA,IACF;AACA,YAAQ,SAAS,UAAU,KAAK,QAAQ,IAAyD;AAAA,MAC/F,KAAK;AAAA,MACL,GAAG;AAAA,MACH,GAAG;AAAA,IACL,CAAC;AAAA,EACH;AACF;AAEO,IAAM,UAAN,cAAsB,aAAa;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAMjC,IACL,YAIA,SACA;AACA,UAAM,SAAS;AAAA,MACb,CAAC,UAAU;AAAA,MACX;AAAA,QACE;AAAA,UACE,MAAM;AAAA,YACJ,EAAE,IAAI,SAAS,KAAK,YAAY;AAAA,YAChC,EAAE,IAAI,SAAS,KAAK,YAAY;AAAA,UAClC;AAAA,QACF;AAAA,MACF;AAAA,IACF;AACA,YAAQ,SAAS,UAAU,KAAK,QAAQ,IAA+C;AAAA,MACrF,KAAK;AAAA,MACL,GAAG;AAAA,MACH,GAAG;AAAA,IACL,CAAC;AAAA,EACH;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOO,OACL,YAKA,SACA;AACA,UAAM,SAAS;AAAA,MACb,CAAC,UAAU;AAAA,MACX;AAAA,QACE;AAAA,UACE,MAAM;AAAA,YACJ,EAAE,IAAI,SAAS,KAAK,YAAY;AAAA,YAChC,EAAE,IAAI,SAAS,KAAK,YAAY;AAAA,YAChC,EAAE,KAAK,UAAU,KAAK,OAAO;AAAA,UAC/B;AAAA,QACF;AAAA,MACF;AAAA,IACF;AACA,YAAQ,SAAS,UAAU,KAAK,QAAQ,MAA+D;AAAA,MACrG,KAAK;AAAA,MACL,GAAG;AAAA,MACH,GAAG;AAAA,MACH,SAAS;AAAA,QACP,gBAAgB;AAAA,QAChB,GAAG,SAAS;AAAA,QACZ,GAAG,OAAO;AAAA,MACZ;AAAA,IACF,CAAC;AAAA,EACH;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOO,UACL,YAIA,SACA;AACA,UAAM,SAAS;AAAA,MACb,CAAC,UAAU;AAAA,MACX;AAAA,QACE;AAAA,UACE,MAAM;AAAA,YACJ,EAAE,IAAI,SAAS,KAAK,YAAY;AAAA,YAChC,EAAE,IAAI,SAAS,KAAK,YAAY;AAAA,UAClC;AAAA,QACF;AAAA,MACF;AAAA,IACF;AACA,YAAQ,SAAS,UAAU,KAAK,QAAQ,IAAqD;AAAA,MAC3F,KAAK;AAAA,MACL,GAAG;AAAA,MACH,GAAG;AAAA,IACL,CAAC;AAAA,EACH;AACF;AAEO,IAAM,UAAN,cAAsB,aAAa;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAMjC,IACL,YAIA,SACA;AACA,UAAM,SAAS;AAAA,MACb,CAAC,UAAU;AAAA,MACX;AAAA,QACE;AAAA,UACE,MAAM;AAAA,YACJ,EAAE,IAAI,SAAS,KAAK,YAAY;AAAA,YAChC,EAAE,IAAI,SAAS,KAAK,YAAY;AAAA,UAClC;AAAA,QACF;AAAA,MACF;AAAA,IACF;AACA,YAAQ,SAAS,UAAU,KAAK,QAAQ,IAA4D;AAAA,MAClG,KAAK;AAAA,MACL,GAAG;AAAA,MACH,GAAG;AAAA,IACL,CAAC;AAAA,EACH;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOO,SACL,YAIA,SACA;AACA,UAAM,SAAS;AAAA,MACb,CAAC,UAAU;AAAA,MACX;AAAA,QACE;AAAA,UACE,MAAM;AAAA,YACJ,EAAE,IAAI,SAAS,KAAK,YAAY;AAAA,YAChC,EAAE,IAAI,SAAS,KAAK,YAAY;AAAA,UAClC;AAAA,QACF;AAAA,MACF;AAAA,IACF;AACA,YAAQ,SAAS,UAAU,KAAK,QAAQ,IAAiE;AAAA,MACvG,KAAK;AAAA,MACL,GAAG;AAAA,MACH,GAAG;AAAA,IACL,CAAC;AAAA,EACH;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOO,UACL,YAMA,SACA;AACA,UAAM,SAAS;AAAA,MACb,CAAC,UAAU;AAAA,MACX;AAAA,QACE;AAAA,UACE,MAAM;AAAA,YACJ,EAAE,IAAI,SAAS,KAAK,YAAY;AAAA,YAChC,EAAE,IAAI,SAAS,KAAK,YAAY;AAAA,YAChC,EAAE,IAAI,QAAQ,KAAK,YAAY;AAAA,YAC/B,EAAE,IAAI,QAAQ,KAAK,QAAQ;AAAA,UAC7B;AAAA,QACF;AAAA,MACF;AAAA,IACF;AACA,YAAQ,SAAS,UAAU,KAAK,QAAQ,KAAmE;AAAA,MACzG,KAAK;AAAA,MACL,GAAG;AAAA,MACH,GAAG;AAAA,MACH,SAAS;AAAA,QACP,gBAAgB;AAAA,QAChB,GAAG,SAAS;AAAA,QACZ,GAAG,OAAO;AAAA,MACZ;AAAA,IACF,CAAC;AAAA,EACH;AACF;AAEO,IAAM,YAAN,cAAwB,aAAa;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAMnC,KACL,YAIA,SACA;AACA,UAAM,SAAS;AAAA,MACb,CAAC,UAAU;AAAA,MACX;AAAA,QACE;AAAA,UACE,MAAM;AAAA,YACJ,EAAE,IAAI,SAAS,KAAK,YAAY;AAAA,YAChC,EAAE,IAAI,SAAS,KAAK,YAAY;AAAA,UAClC;AAAA,QACF;AAAA,MACF;AAAA,IACF;AACA,YAAQ,SAAS,UAAU,KAAK,QAAQ,IAA+D;AAAA,MACrG,KAAK;AAAA,MACL,GAAG;AAAA,MACH,GAAG;AAAA,IACL,CAAC;AAAA,EACH;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOO,OACL,YAQA,SACA;AACA,UAAM,SAAS;AAAA,MACb,CAAC,UAAU;AAAA,MACX;AAAA,QACE;AAAA,UACE,MAAM;AAAA,YACJ,EAAE,IAAI,SAAS,KAAK,YAAY;AAAA,YAChC,EAAE,IAAI,SAAS,KAAK,YAAY;AAAA,YAChC,EAAE,IAAI,QAAQ,KAAK,KAAK;AAAA,YACxB,EAAE,IAAI,QAAQ,KAAK,OAAO;AAAA,YAC1B,EAAE,IAAI,QAAQ,KAAK,SAAS;AAAA,YAC5B,EAAE,IAAI,QAAQ,KAAK,QAAQ;AAAA,UAC7B;AAAA,QACF;AAAA,MACF;AAAA,IACF;AACA,YAAQ,SAAS,UAAU,KAAK,QAAQ,KAItC;AAAA,MACA,KAAK;AAAA,MACL,GAAG;AAAA,MACH,GAAG;AAAA,MACH,SAAS;AAAA,QACP,gBAAgB;AAAA,QAChB,GAAG,SAAS;AAAA,QACZ,GAAG,OAAO;AAAA,MACZ;AAAA,IACF,CAAC;AAAA,EACH;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOO,OACL,YAKA,SACA;AACA,UAAM,SAAS;AAAA,MACb,CAAC,UAAU;AAAA,MACX;AAAA,QACE;AAAA,UACE,MAAM;AAAA,YACJ,EAAE,IAAI,QAAQ,KAAK,KAAK;AAAA,YACxB,EAAE,IAAI,SAAS,KAAK,YAAY;AAAA,YAChC,EAAE,IAAI,SAAS,KAAK,YAAY;AAAA,UAClC;AAAA,QACF;AAAA,MACF;AAAA,IACF;AACA,YAAQ,SAAS,UAAU,KAAK,QAAQ,OAItC;AAAA,MACA,KAAK;AAAA,MACL,GAAG;AAAA,MACH,GAAG;AAAA,IACL,CAAC;AAAA,EACH;AACF;AAEO,IAAM,UAAN,cAAsB,aAAa;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAMjC,KACL,YAUA,SACA;AACA,UAAM,SAAS;AAAA,MACb,CAAC,UAAU;AAAA,MACX;AAAA,QACE;AAAA,UACE,MAAM;AAAA,YACJ,EAAE,IAAI,SAAS,KAAK,YAAY;AAAA,YAChC,EAAE,IAAI,SAAS,KAAK,YAAY;AAAA,YAChC,EAAE,IAAI,SAAS,KAAK,QAAQ;AAAA,YAC5B,EAAE,IAAI,SAAS,KAAK,QAAQ;AAAA,YAC5B,EAAE,IAAI,SAAS,KAAK,SAAS;AAAA,YAC7B,EAAE,IAAI,SAAS,KAAK,SAAS;AAAA,YAC7B,EAAE,IAAI,SAAS,KAAK,QAAQ;AAAA,YAC5B,EAAE,IAAI,SAAS,KAAK,WAAW;AAAA,UACjC;AAAA,QACF;AAAA,MACF;AAAA,IACF;AACA,YAAQ,SAAS,UAAU,KAAK,QAAQ,IAA6D;AAAA,MACnG,KAAK;AAAA,MACL,GAAG;AAAA,MACH,GAAG;AAAA,IACL,CAAC;AAAA,EACH;AACF;AAEO,IAAM,WAAN,cAAuB,aAAa;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAMlC,KACL,YAIA,SACA;AACA,UAAM,SAAS;AAAA,MACb,CAAC,UAAU;AAAA,MACX;AAAA,QACE;AAAA,UACE,MAAM;AAAA,YACJ,EAAE,IAAI,SAAS,KAAK,YAAY;AAAA,YAChC,EAAE,IAAI,SAAS,KAAK,YAAY;AAAA,UAClC;AAAA,QACF;AAAA,MACF;AAAA,IACF;AACA,YAAQ,SAAS,UAAU,KAAK,QAAQ,IAA8D;AAAA,MACpG,KAAK;AAAA,MACL,GAAG;AAAA,MACH,GAAG;AAAA,IACL,CAAC;AAAA,EACH;AACF;AAEO,IAAM,eAAN,cAA2B,aAAa;AAAA,EACrC;AAAA,EACR,IAAI,UAAmB;AACrB,WAAQ,KAAK,aAAa,IAAI,QAAQ,EAAE,QAAQ,KAAK,OAAO,CAAC;AAAA,EAC/D;AAAA,EAEQ;AAAA,EACR,IAAI,YAAuB;AACzB,WAAQ,KAAK,eAAe,IAAI,UAAU,EAAE,QAAQ,KAAK,OAAO,CAAC;AAAA,EACnE;AAAA,EAEQ;AAAA,EACR,IAAI,UAAmB;AACrB,WAAQ,KAAK,aAAa,IAAI,QAAQ,EAAE,QAAQ,KAAK,OAAO,CAAC;AAAA,EAC/D;AAAA,EAEQ;AAAA,EACR,IAAI,WAAqB;AACvB,WAAQ,KAAK,cAAc,IAAI,SAAS,EAAE,QAAQ,KAAK,OAAO,CAAC;AAAA,EACjE;AACF;AAEO,IAAM,OAAN,cAAmB,aAAa;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAM9B,IACL,YAIA,SACA;AACA,UAAM,SAAS;AAAA,MACb,CAAC,UAAU;AAAA,MACX;AAAA,QACE;AAAA,UACE,MAAM;AAAA,YACJ,EAAE,IAAI,SAAS,KAAK,YAAY;AAAA,YAChC,EAAE,IAAI,SAAS,KAAK,YAAY;AAAA,UAClC;AAAA,QACF;AAAA,MACF;AAAA,IACF;AACA,YAAQ,SAAS,UAAU,KAAK,QAAQ,IAAmD;AAAA,MACzF,KAAK;AAAA,MACL,GAAG;AAAA,MACH,GAAG;AAAA,IACL,CAAC;AAAA,EACH;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOO,KACL,YAMA,SACA;AACA,UAAM,SAAS;AAAA,MACb,CAAC,UAAU;AAAA,MACX;AAAA,QACE;AAAA,UACE,MAAM;AAAA,YACJ,EAAE,IAAI,SAAS,KAAK,YAAY;AAAA,YAChC,EAAE,IAAI,SAAS,KAAK,YAAY;AAAA,YAChC,EAAE,IAAI,SAAS,KAAK,WAAW;AAAA,YAC/B,EAAE,IAAI,SAAS,KAAK,QAAQ;AAAA,UAC9B;AAAA,QACF;AAAA,MACF;AAAA,IACF;AACA,YAAQ,SAAS,UAAU,KAAK,QAAQ,IAAqD;AAAA,MAC3F,KAAK;AAAA,MACL,GAAG;AAAA,MACH,GAAG;AAAA,IACL,CAAC;AAAA,EACH;AACF;AAEO,IAAM,WAAN,cAAuB,aAAa;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAMlC,OACL,YAKA,SACA;AACA,UAAM,SAAS;AAAA,MACb,CAAC,UAAU;AAAA,MACX;AAAA,QACE;AAAA,UACE,MAAM;AAAA,YACJ,EAAE,IAAI,SAAS,KAAK,YAAY;AAAA,YAChC,EAAE,IAAI,SAAS,KAAK,YAAY;AAAA,YAChC,EAAE,KAAK,uBAAuB,KAAK,OAAO;AAAA,UAC5C;AAAA,QACF;AAAA,MACF;AAAA,IACF;AACA,YAAQ,SAAS,UAAU,KAAK,QAAQ,OAAoE;AAAA,MAC1G,KAAK;AAAA,MACL,GAAG;AAAA,MACH,GAAG;AAAA,MACH,SAAS;AAAA,QACP,gBAAgB;AAAA,QAChB,GAAG,SAAS;AAAA,QACZ,GAAG,OAAO;AAAA,MACZ;AAAA,IACF,CAAC;AAAA,EACH;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOO,KACL,YAIA,SACA;AACA,UAAM,SAAS;AAAA,MACb,CAAC,UAAU;AAAA,MACX;AAAA,QACE;AAAA,UACE,MAAM;AAAA,YACJ,EAAE,IAAI,SAAS,KAAK,YAAY;AAAA,YAChC,EAAE,IAAI,SAAS,KAAK,YAAY;AAAA,UAClC;AAAA,QACF;AAAA,MACF;AAAA,IACF;AACA,YAAQ,SAAS,UAAU,KAAK,QAAQ,IAAkD;AAAA,MACxF,KAAK;AAAA,MACL,GAAG;AAAA,MACH,GAAG;AAAA,IACL,CAAC;AAAA,EACH;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOO,OACL,YAKA,SACA;AACA,UAAM,SAAS;AAAA,MACb,CAAC,UAAU;AAAA,MACX;AAAA,QACE;AAAA,UACE,MAAM;AAAA,YACJ,EAAE,IAAI,SAAS,KAAK,YAAY;AAAA,YAChC,EAAE,IAAI,SAAS,KAAK,YAAY;AAAA,YAChC,EAAE,KAAK,uBAAuB,KAAK,OAAO;AAAA,UAC5C;AAAA,QACF;AAAA,MACF;AAAA,IACF;AACA,YAAQ,SAAS,UAAU,KAAK,QAAQ,KAAkE;AAAA,MACxG,KAAK;AAAA,MACL,GAAG;AAAA,MACH,GAAG;AAAA,MACH,SAAS;AAAA,QACP,gBAAgB;AAAA,QAChB,GAAG,SAAS;AAAA,QACZ,GAAG,OAAO;AAAA,MACZ;AAAA,IACF,CAAC;AAAA,EACH;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOO,MACL,YAKA,SACA;AACA,UAAM,SAAS;AAAA,MACb,CAAC,UAAU;AAAA,MACX;AAAA,QACE;AAAA,UACE,MAAM;AAAA,YACJ,EAAE,IAAI,SAAS,KAAK,YAAY;AAAA,YAChC,EAAE,IAAI,SAAS,KAAK,YAAY;AAAA,YAChC,EAAE,KAAK,sBAAsB,KAAK,OAAO;AAAA,UAC3C;AAAA,QACF;AAAA,MACF;AAAA,IACF;AACA,YAAQ,SAAS,UAAU,KAAK,QAAQ,KAAgE;AAAA,MACtG,KAAK;AAAA,MACL,GAAG;AAAA,MACH,GAAG;AAAA,MACH,SAAS;AAAA,QACP,gBAAgB;AAAA,QAChB,GAAG,SAAS;AAAA,QACZ,GAAG,OAAO;AAAA,MACZ;AAAA,IACF,CAAC;AAAA,EACH;AACF;AAEO,IAAM,WAAN,cAAuB,aAAa;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAMlC,KACL,YAQA,SACA;AACA,UAAM,SAAS;AAAA,MACb,CAAC,UAAU;AAAA,MACX;AAAA,QACE;AAAA,UACE,MAAM;AAAA,YACJ,EAAE,IAAI,SAAS,KAAK,YAAY;AAAA,YAChC,EAAE,IAAI,SAAS,KAAK,YAAY;AAAA,YAChC,EAAE,IAAI,SAAS,KAAK,QAAQ;AAAA,YAC5B,EAAE,IAAI,SAAS,KAAK,QAAQ;AAAA,YAC5B,EAAE,IAAI,SAAS,KAAK,SAAS;AAAA,YAC7B,EAAE,IAAI,SAAS,KAAK,QAAQ;AAAA,UAC9B;AAAA,QACF;AAAA,MACF;AAAA,IACF;AACA,YAAQ,SAAS,UAAU,KAAK,QAAQ,IAAiD;AAAA,MACvF,KAAK;AAAA,MACL,GAAG;AAAA,MACH,GAAG;AAAA,IACL,CAAC;AAAA,EACH;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOO,OACL,YAQA,SACA;AACA,UAAM,SAAS;AAAA,MACb,CAAC,UAAU;AAAA,MACX;AAAA,QACE;AAAA,UACE,MAAM;AAAA,YACJ,EAAE,IAAI,SAAS,KAAK,YAAY;AAAA,YAChC,EAAE,IAAI,SAAS,KAAK,YAAY;AAAA,YAChC,EAAE,IAAI,QAAQ,KAAK,WAAW;AAAA,YAC9B,EAAE,IAAI,QAAQ,KAAK,QAAQ;AAAA,YAC3B,EAAE,IAAI,QAAQ,KAAK,aAAa;AAAA,YAChC,EAAE,IAAI,QAAQ,KAAK,cAAc;AAAA,UACnC;AAAA,QACF;AAAA,MACF;AAAA,IACF;AACA,YAAQ,SAAS,UAAU,KAAK,QAAQ,KAAgE;AAAA,MACtG,KAAK;AAAA,MACL,GAAG;AAAA,MACH,GAAG;AAAA,MACH,SAAS;AAAA,QACP,gBAAgB;AAAA,QAChB,GAAG,SAAS;AAAA,QACZ,GAAG,OAAO;AAAA,MACZ;AAAA,IACF,CAAC;AAAA,EACH;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOO,OACL,YAIA,SACA;AACA,UAAM,SAAS;AAAA,MACb,CAAC,UAAU;AAAA,MACX;AAAA,QACE;AAAA,UACE,MAAM;AAAA,YACJ,EAAE,IAAI,SAAS,KAAK,YAAY;AAAA,YAChC,EAAE,IAAI,SAAS,KAAK,YAAY;AAAA,UAClC;AAAA,QACF;AAAA,MACF;AAAA,IACF;AACA,YAAQ,SAAS,UAAU,KAAK,QAAQ,IAA+D;AAAA,MACrG,KAAK;AAAA,MACL,GAAG;AAAA,MACH,GAAG;AAAA,IACL,CAAC;AAAA,EACH;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOO,OACL,YAKA,SACA;AACA,UAAM,SAAS;AAAA,MACb,CAAC,UAAU;AAAA,MACX;AAAA,QACE;AAAA,UACE,MAAM;AAAA,YACJ,EAAE,IAAI,QAAQ,KAAK,YAAY;AAAA,YAC/B,EAAE,IAAI,SAAS,KAAK,YAAY;AAAA,YAChC,EAAE,IAAI,SAAS,KAAK,YAAY;AAAA,UAClC;AAAA,QACF;AAAA,MACF;AAAA,IACF;AACA,YAAQ,SAAS,UAAU,KAAK,QAAQ,OAAkE;AAAA,MACxG,KAAK;AAAA,MACL,GAAG;AAAA,MACH,GAAG;AAAA,IACL,CAAC;AAAA,EACH;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOO,IACL,YAKA,SACA;AACA,UAAM,SAAS;AAAA,MACb,CAAC,UAAU;AAAA,MACX;AAAA,QACE;AAAA,UACE,MAAM;AAAA,YACJ,EAAE,IAAI,QAAQ,KAAK,YAAY;AAAA,YAC/B,EAAE,IAAI,SAAS,KAAK,YAAY;AAAA,YAChC,EAAE,IAAI,SAAS,KAAK,YAAY;AAAA,UAClC;AAAA,QACF;AAAA,MACF;AAAA,IACF;AACA,YAAQ,SAAS,UAAU,KAAK,QAAQ,IAAyD;AAAA,MAC/F,KAAK;AAAA,MACL,GAAG;AAAA,MACH,GAAG;AAAA,IACL,CAAC;AAAA,EACH;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOO,OACL,YASA,SACA;AACA,UAAM,SAAS;AAAA,MACb,CAAC,UAAU;AAAA,MACX;AAAA,QACE;AAAA,UACE,MAAM;AAAA,YACJ,EAAE,IAAI,QAAQ,KAAK,YAAY;AAAA,YAC/B,EAAE,IAAI,SAAS,KAAK,YAAY;AAAA,YAChC,EAAE,IAAI,SAAS,KAAK,YAAY;AAAA,YAChC,EAAE,IAAI,QAAQ,KAAK,QAAQ;AAAA,YAC3B,EAAE,IAAI,QAAQ,KAAK,OAAO;AAAA,UAC5B;AAAA,QACF;AAAA,MACF;AAAA,IACF;AACA,YAAQ,SAAS,UAAU,KAAK,QAAQ,MAAiE;AAAA,MACvG,KAAK;AAAA,MACL,GAAG;AAAA,MACH,GAAG;AAAA,MACH,SAAS;AAAA,QACP,gBAAgB;AAAA,QAChB,GAAG,SAAS;AAAA,QACZ,GAAG,OAAO;AAAA,MACZ;AAAA,IACF,CAAC;AAAA,EACH;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOO,SACL,YAKA,SACA;AACA,UAAM,SAAS;AAAA,MACb,CAAC,UAAU;AAAA,MACX;AAAA,QACE;AAAA,UACE,MAAM;AAAA,YACJ,EAAE,IAAI,QAAQ,KAAK,YAAY;AAAA,YAC/B,EAAE,IAAI,SAAS,KAAK,YAAY;AAAA,YAChC,EAAE,IAAI,SAAS,KAAK,YAAY;AAAA,UAClC;AAAA,QACF;AAAA,MACF;AAAA,IACF;AACA,YAAQ,SAAS,UAAU,KAAK,QAAQ,IAAmE;AAAA,MACzG,KAAK;AAAA,MACL,GAAG;AAAA,MACH,GAAG;AAAA,IACL,CAAC;AAAA,EACH;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOO,KACL,YAKA,SACA;AACA,UAAM,SAAS;AAAA,MACb,CAAC,UAAU;AAAA,MACX;AAAA,QACE;AAAA,UACE,MAAM;AAAA,YACJ,EAAE,IAAI,QAAQ,KAAK,YAAY;AAAA,YAC/B,EAAE,IAAI,SAAS,KAAK,YAAY;AAAA,YAChC,EAAE,IAAI,SAAS,KAAK,YAAY;AAAA,UAClC;AAAA,QACF;AAAA,MACF;AAAA,IACF;AACA,YAAQ,SAAS,UAAU,KAAK,QAAQ,IAA2D;AAAA,MACjG,KAAK;AAAA,MACL,GAAG;AAAA,MACH,GAAG;AAAA,IACL,CAAC;AAAA,EACH;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOO,KACL,YAQA,SACA;AACA,UAAM,SAAS;AAAA,MACb,CAAC,UAAU;AAAA,MACX;AAAA,QACE;AAAA,UACE,MAAM;AAAA,YACJ,EAAE,IAAI,QAAQ,KAAK,YAAY;AAAA,YAC/B,EAAE,IAAI,SAAS,KAAK,YAAY;AAAA,YAChC,EAAE,IAAI,SAAS,KAAK,YAAY;AAAA,YAChC,EAAE,IAAI,QAAQ,KAAK,UAAU;AAAA,YAC7B,EAAE,IAAI,QAAQ,KAAK,aAAa;AAAA,YAChC,EAAE,IAAI,QAAQ,KAAK,YAAY;AAAA,UACjC;AAAA,QACF;AAAA,MACF;AAAA,IACF;AACA,YAAQ,SAAS,UAAU,KAAK,QAAQ,KAA4D;AAAA,MAClG,KAAK;AAAA,MACL,GAAG;AAAA,MACH,GAAG;AAAA,MACH,SAAS;AAAA,QACP,gBAAgB;AAAA,QAChB,GAAG,SAAS;AAAA,QACZ,GAAG,OAAO;AAAA,MACZ;AAAA,IACF,CAAC;AAAA,EACH;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOO,KACL,YAMA,SACA;AACA,UAAM,SAAS;AAAA,MACb,CAAC,UAAU;AAAA,MACX;AAAA,QACE;AAAA,UACE,MAAM;AAAA,YACJ,EAAE,IAAI,QAAQ,KAAK,YAAY;AAAA,YAC/B,EAAE,IAAI,SAAS,KAAK,YAAY;AAAA,YAChC,EAAE,IAAI,SAAS,KAAK,YAAY;AAAA,YAChC,EAAE,IAAI,QAAQ,KAAK,YAAY;AAAA,UACjC;AAAA,QACF;AAAA,MACF;AAAA,IACF;AACA,YAAQ,SAAS,UAAU,KAAK,QAAQ,KAAkD;AAAA,MACxF,KAAK;AAAA,MACL,GAAG;AAAA,MACH,GAAG;AAAA,MACH,SAAS;AAAA,QACP,gBAAgB;AAAA,QAChB,GAAG,SAAS;AAAA,QACZ,GAAG,OAAO;AAAA,MACZ;AAAA,IACF,CAAC;AAAA,EACH;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOO,MACL,YAKA,SACA;AACA,UAAM,SAAS;AAAA,MACb,CAAC,UAAU;AAAA,MACX;AAAA,QACE;AAAA,UACE,MAAM;AAAA,YACJ,EAAE,IAAI,QAAQ,KAAK,YAAY;AAAA,YAC/B,EAAE,IAAI,SAAS,KAAK,YAAY;AAAA,YAChC,EAAE,IAAI,SAAS,KAAK,YAAY;AAAA,UAClC;AAAA,QACF;AAAA,MACF;AAAA,IACF;AACA,YAAQ,SAAS,UAAU,KAAK,QAAQ,KAA8D;AAAA,MACpG,KAAK;AAAA,MACL,GAAG;AAAA,MACH,GAAG;AAAA,IACL,CAAC;AAAA,EACH;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOO,QACL,YAKA,SACA;AACA,UAAM,SAAS;AAAA,MACb,CAAC,UAAU;AAAA,MACX;AAAA,QACE;AAAA,UACE,MAAM;AAAA,YACJ,EAAE,IAAI,QAAQ,KAAK,YAAY;AAAA,YAC/B,EAAE,IAAI,SAAS,KAAK,YAAY;AAAA,YAChC,EAAE,IAAI,SAAS,KAAK,YAAY;AAAA,UAClC;AAAA,QACF;AAAA,MACF;AAAA,IACF;AACA,YAAQ,SAAS,UAAU,KAAK,QAAQ,OAAoE;AAAA,MAC1G,KAAK;AAAA,MACL,GAAG;AAAA,MACH,GAAG;AAAA,IACL,CAAC;AAAA,EACH;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOO,MACL,YAKA,SACA;AACA,UAAM,SAAS;AAAA,MACb,CAAC,UAAU;AAAA,MACX;AAAA,QACE;AAAA,UACE,MAAM;AAAA,YACJ,EAAE,IAAI,QAAQ,KAAK,YAAY;AAAA,YAC/B,EAAE,IAAI,SAAS,KAAK,YAAY;AAAA,YAChC,EAAE,IAAI,SAAS,KAAK,YAAY;AAAA,UAClC;AAAA,QACF;AAAA,MACF;AAAA,IACF;AACA,YAAQ,SAAS,UAAU,KAAK,QAAQ,KAA8D;AAAA,MACpG,KAAK;AAAA,MACL,GAAG;AAAA,MACH,GAAG;AAAA,IACL,CAAC;AAAA,EACH;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOO,KACL,YAMA,SACA;AACA,UAAM,SAAS;AAAA,MACb,CAAC,UAAU;AAAA,MACX;AAAA,QACE;AAAA,UACE,MAAM;AAAA,YACJ,EAAE,IAAI,QAAQ,KAAK,YAAY;AAAA,YAC/B,EAAE,IAAI,SAAS,KAAK,YAAY;AAAA,YAChC,EAAE,IAAI,SAAS,KAAK,YAAY;AAAA,YAChC,EAAE,IAAI,SAAS,KAAK,YAAY;AAAA,UAClC;AAAA,QACF;AAAA,MACF;AAAA,IACF;AACA,YAAQ,SAAS,UAAU,KAAK,QAAQ,IAAiD;AAAA,MACvF,KAAK;AAAA,MACL,GAAG;AAAA,MACH,GAAG;AAAA,IACL,CAAC;AAAA,EACH;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOO,UACL,YAQA,SACA;AACA,UAAM,SAAS;AAAA,MACb,CAAC,UAAU;AAAA,MACX;AAAA,QACE;AAAA,UACE,MAAM;AAAA,YACJ,EAAE,IAAI,QAAQ,KAAK,YAAY;AAAA,YAC/B,EAAE,IAAI,SAAS,KAAK,YAAY;AAAA,YAChC,EAAE,IAAI,SAAS,KAAK,YAAY;AAAA,YAChC,EAAE,IAAI,QAAQ,KAAK,aAAa;AAAA,YAChC,EAAE,IAAI,QAAQ,KAAK,UAAU;AAAA,YAC7B,EAAE,IAAI,QAAQ,KAAK,OAAO;AAAA,UAC5B;AAAA,QACF;AAAA,MACF;AAAA,IACF;AACA,YAAQ,SAAS,UAAU,KAAK,QAAQ,KAAsE;AAAA,MAC5G,KAAK;AAAA,MACL,GAAG;AAAA,MACH,GAAG;AAAA,MACH,SAAS;AAAA,QACP,gBAAgB;AAAA,QAChB,GAAG,SAAS;AAAA,QACZ,GAAG,OAAO;AAAA,MACZ;AAAA,IACF,CAAC;AAAA,EACH;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOO,SACL,YAOA,SACA;AACA,UAAM,SAAS;AAAA,MACb,CAAC,UAAU;AAAA,MACX;AAAA,QACE;AAAA,UACE,MAAM;AAAA,YACJ,EAAE,IAAI,QAAQ,KAAK,YAAY;AAAA,YAC/B,EAAE,IAAI,SAAS,KAAK,YAAY;AAAA,YAChC,EAAE,IAAI,SAAS,KAAK,YAAY;AAAA,YAChC,EAAE,IAAI,SAAS,KAAK,QAAQ;AAAA,YAC5B,EAAE,IAAI,SAAS,KAAK,SAAS;AAAA,UAC/B;AAAA,QACF;AAAA,MACF;AAAA,IACF;AACA,YAAQ,SAAS,UAAU,KAAK,QAAQ,IAAmE;AAAA,MACzG,KAAK;AAAA,MACL,GAAG;AAAA,MACH,GAAG;AAAA,IACL,CAAC;AAAA,EACH;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOO,OACL,YAmBA,SACA;AACA,UAAM,SAAS;AAAA,MACb,CAAC,UAAU;AAAA,MACX;AAAA,QACE;AAAA,UACE,MAAM;AAAA,YACJ,EAAE,IAAI,QAAQ,KAAK,YAAY;AAAA,YAC/B,EAAE,IAAI,SAAS,KAAK,YAAY;AAAA,YAChC,EAAE,IAAI,SAAS,KAAK,YAAY;AAAA,YAChC,EAAE,IAAI,QAAQ,KAAK,YAAY;AAAA,YAC/B,EAAE,IAAI,QAAQ,KAAK,QAAQ;AAAA,YAC3B,EAAE,IAAI,QAAQ,KAAK,QAAQ;AAAA,YAC3B,EAAE,IAAI,QAAQ,KAAK,UAAU;AAAA,YAC7B,EAAE,IAAI,QAAQ,KAAK,QAAQ;AAAA,YAC3B,EAAE,IAAI,QAAQ,KAAK,SAAS;AAAA,YAC5B,EAAE,IAAI,QAAQ,KAAK,SAAS;AAAA,YAC5B,EAAE,IAAI,QAAQ,KAAK,UAAU;AAAA,YAC7B,EAAE,IAAI,QAAQ,KAAK,QAAQ;AAAA,UAC7B;AAAA,QACF;AAAA,MACF;AAAA,IACF;AACA,YAAQ,SAAS,UAAU,KAAK,QAAQ,KAAgE;AAAA,MACtG,KAAK;AAAA,MACL,GAAG;AAAA,MACH,GAAG;AAAA,MACH,SAAS;AAAA,QACP,gBAAgB;AAAA,QAChB,GAAG,SAAS;AAAA,QACZ,GAAG,OAAO;AAAA,MACZ;AAAA,IACF,CAAC;AAAA,EACH;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOO,cACL,YAMA,SACA;AACA,UAAM,SAAS;AAAA,MACb,CAAC,UAAU;AAAA,MACX;AAAA,QACE;AAAA,UACE,MAAM;AAAA,YACJ,EAAE,IAAI,QAAQ,KAAK,YAAY;AAAA,YAC/B,EAAE,IAAI,QAAQ,KAAK,YAAY;AAAA,YAC/B,EAAE,IAAI,SAAS,KAAK,YAAY;AAAA,YAChC,EAAE,IAAI,SAAS,KAAK,YAAY;AAAA,UAClC;AAAA,QACF;AAAA,MACF;AAAA,IACF;AACA,YAAQ,SAAS,UAAU,KAAK,QAAQ,OAItC;AAAA,MACA,KAAK;AAAA,MACL,GAAG;AAAA,MACH,GAAG;AAAA,IACL,CAAC;AAAA,EACH;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOO,QACL,YAMA,SACA;AACA,UAAM,SAAS;AAAA,MACb,CAAC,UAAU;AAAA,MACX;AAAA,QACE;AAAA,UACE,MAAM;AAAA,YACJ,EAAE,IAAI,QAAQ,KAAK,YAAY;AAAA,YAC/B,EAAE,IAAI,QAAQ,KAAK,YAAY;AAAA,YAC/B,EAAE,IAAI,SAAS,KAAK,YAAY;AAAA,YAChC,EAAE,IAAI,SAAS,KAAK,YAAY;AAAA,UAClC;AAAA,QACF;AAAA,MACF;AAAA,IACF;AACA,YAAQ,SAAS,UAAU,KAAK,QAAQ,IAAiE;AAAA,MACvG,KAAK;AAAA,MACL,GAAG;AAAA,MACH,GAAG;AAAA,IACL,CAAC;AAAA,EACH;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOO,YACL,YAmBA,SACA;AACA,UAAM,SAAS;AAAA,MACb,CAAC,UAAU;AAAA,MACX;AAAA,QACE;AAAA,UACE,MAAM;AAAA,YACJ,EAAE,IAAI,QAAQ,KAAK,YAAY;AAAA,YAC/B,EAAE,IAAI,SAAS,KAAK,YAAY;AAAA,YAChC,EAAE,IAAI,SAAS,KAAK,YAAY;AAAA,YAChC,EAAE,IAAI,QAAQ,KAAK,YAAY;AAAA,YAC/B,EAAE,IAAI,QAAQ,KAAK,QAAQ;AAAA,YAC3B,EAAE,IAAI,QAAQ,KAAK,QAAQ;AAAA,YAC3B,EAAE,IAAI,QAAQ,KAAK,UAAU;AAAA,YAC7B,EAAE,IAAI,QAAQ,KAAK,QAAQ;AAAA,YAC3B,EAAE,IAAI,QAAQ,KAAK,SAAS;AAAA,YAC5B,EAAE,IAAI,QAAQ,KAAK,SAAS;AAAA,YAC5B,EAAE,IAAI,QAAQ,KAAK,UAAU;AAAA,YAC7B,EAAE,IAAI,QAAQ,KAAK,QAAQ;AAAA,UAC7B;AAAA,QACF;AAAA,MACF;AAAA,IACF;AACA,YAAQ,SAAS,UAAU,KAAK,QAAQ,KAA0E;AAAA,MAChH,KAAK;AAAA,MACL,GAAG;AAAA,MACH,GAAG;AAAA,MACH,SAAS;AAAA,QACP,gBAAgB;AAAA,QAChB,GAAG,SAAS;AAAA,QACZ,GAAG,OAAO;AAAA,MACZ;AAAA,IACF,CAAC;AAAA,EACH;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOO,QACL,YAmBA,SACA;AACA,UAAM,SAAS;AAAA,MACb,CAAC,UAAU;AAAA,MACX;AAAA,QACE;AAAA,UACE,MAAM;AAAA,YACJ,EAAE,IAAI,QAAQ,KAAK,YAAY;AAAA,YAC/B,EAAE,IAAI,SAAS,KAAK,YAAY;AAAA,YAChC,EAAE,IAAI,SAAS,KAAK,YAAY;AAAA,YAChC,EAAE,IAAI,QAAQ,KAAK,YAAY;AAAA,YAC/B,EAAE,IAAI,QAAQ,KAAK,QAAQ;AAAA,YAC3B,EAAE,IAAI,QAAQ,KAAK,QAAQ;AAAA,YAC3B,EAAE,IAAI,QAAQ,KAAK,YAAY;AAAA,YAC/B,EAAE,IAAI,QAAQ,KAAK,UAAU;AAAA,YAC7B,EAAE,IAAI,QAAQ,KAAK,UAAU;AAAA,YAC7B,EAAE,IAAI,QAAQ,KAAK,QAAQ;AAAA,UAC7B;AAAA,QACF;AAAA,MACF;AAAA,IACF;AACA,YAAQ,SAAS,UAAU,KAAK,QAAQ,KAAkE;AAAA,MACxG,KAAK;AAAA,MACL,GAAG;AAAA,MACH,GAAG;AAAA,MACH,SAAS;AAAA,QACP,gBAAgB;AAAA,QAChB,GAAG,SAAS;AAAA,QACZ,GAAG,OAAO;AAAA,MACZ;AAAA,IACF,CAAC;AAAA,EACH;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOO,MACL,YAYA,SACA;AACA,UAAM,SAAS;AAAA,MACb,CAAC,UAAU;AAAA,MACX;AAAA,QACE;AAAA,UACE,MAAM;AAAA,YACJ,EAAE,IAAI,QAAQ,KAAK,YAAY;AAAA,YAC/B,EAAE,IAAI,SAAS,KAAK,YAAY;AAAA,YAChC,EAAE,IAAI,SAAS,KAAK,YAAY;AAAA,YAChC,EAAE,IAAI,QAAQ,KAAK,YAAY;AAAA,YAC/B,EAAE,IAAI,QAAQ,KAAK,QAAQ;AAAA,YAC3B,EAAE,IAAI,QAAQ,KAAK,QAAQ;AAAA,YAC3B,EAAE,IAAI,QAAQ,KAAK,UAAU;AAAA,UAC/B;AAAA,QACF;AAAA,MACF;AAAA,IACF;AACA,YAAQ,SAAS,UAAU,KAAK,QAAQ,KAA8D;AAAA,MACpG,KAAK;AAAA,MACL,GAAG;AAAA,MACH,GAAG;AAAA,MACH,SAAS;AAAA,QACP,gBAAgB;AAAA,QAChB,GAAG,SAAS;AAAA,QACZ,GAAG,OAAO;AAAA,MACZ;AAAA,IACF,CAAC;AAAA,EACH;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOO,OACL,YAOA,SACA;AACA,UAAM,SAAS;AAAA,MACb,CAAC,UAAU;AAAA,MACX;AAAA,QACE;AAAA,UACE,MAAM;AAAA,YACJ,EAAE,IAAI,QAAQ,KAAK,YAAY;AAAA,YAC/B,EAAE,IAAI,SAAS,KAAK,YAAY;AAAA,YAChC,EAAE,IAAI,SAAS,KAAK,YAAY;AAAA,YAChC,EAAE,IAAI,QAAQ,KAAK,YAAY;AAAA,YAC/B,EAAE,IAAI,QAAQ,KAAK,SAAS;AAAA,UAC9B;AAAA,QACF;AAAA,MACF;AAAA,IACF;AACA,YAAQ,SAAS,UAAU,KAAK,QAAQ,KAAgE;AAAA,MACtG,KAAK;AAAA,MACL,GAAG;AAAA,MACH,GAAG;AAAA,MACH,SAAS;AAAA,QACP,gBAAgB;AAAA,QAChB,GAAG,SAAS;AAAA,QACZ,GAAG,OAAO;AAAA,MACZ;AAAA,IACF,CAAC;AAAA,EACH;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOO,SACL,YAKA,SACA;AACA,UAAM,SAAS;AAAA,MACb,CAAC,UAAU;AAAA,MACX;AAAA,QACE;AAAA,UACE,MAAM;AAAA,YACJ,EAAE,IAAI,QAAQ,KAAK,YAAY;AAAA,YAC/B,EAAE,IAAI,SAAS,KAAK,YAAY;AAAA,YAChC,EAAE,IAAI,SAAS,KAAK,YAAY;AAAA,UAClC;AAAA,QACF;AAAA,MACF;AAAA,IACF;AACA,YAAQ,SAAS,UAAU,KAAK,QAAQ,KAAoE;AAAA,MAC1G,KAAK;AAAA,MACL,GAAG;AAAA,MACH,GAAG;AAAA,IACL,CAAC;AAAA,EACH;AACF;AAEO,IAAM,OAAN,cAAmB,aAAa;AAAA;AAAA;AAAA;AAAA,EAI9B,OACL,YAOA,SACA;AACA,UAAM,SAAS;AAAA,MACb,CAAC,UAAU;AAAA,MACX;AAAA,QACE;AAAA,UACE,MAAM;AAAA,YACJ,EAAE,IAAI,QAAQ,KAAK,YAAY;AAAA,YAC/B,EAAE,IAAI,QAAQ,KAAK,YAAY;AAAA,YAC/B,EAAE,IAAI,QAAQ,KAAK,SAAS;AAAA,YAC5B,EAAE,IAAI,SAAS,KAAK,YAAY;AAAA,YAChC,EAAE,IAAI,SAAS,KAAK,YAAY;AAAA,UAClC;AAAA,QACF;AAAA,MACF;AAAA,IACF;AACA,YAAQ,SAAS,UAAU,KAAK,QAAQ,OAA4D;AAAA,MAClG,KAAK;AAAA,MACL,GAAG;AAAA,MACH,GAAG;AAAA,IACL,CAAC;AAAA,EACH;AAAA;AAAA;AAAA;AAAA,EAKO,OACL,YAQA,SACA;AACA,UAAM,SAAS;AAAA,MACb,CAAC,UAAU;AAAA,MACX;AAAA,QACE;AAAA,UACE,MAAM;AAAA,YACJ,EAAE,IAAI,QAAQ,KAAK,YAAY;AAAA,YAC/B,EAAE,IAAI,QAAQ,KAAK,YAAY;AAAA,YAC/B,EAAE,IAAI,QAAQ,KAAK,SAAS;AAAA,YAC5B,EAAE,IAAI,SAAS,KAAK,YAAY;AAAA,YAChC,EAAE,IAAI,SAAS,KAAK,YAAY;AAAA,YAChC,EAAE,KAAK,QAAQ,KAAK,OAAO;AAAA,UAC7B;AAAA,QACF;AAAA,MACF;AAAA,IACF;AACA,YAAQ,SAAS,UAAU,KAAK,QAAQ,MAA2D;AAAA,MACjG,KAAK;AAAA,MACL,GAAG;AAAA,MACH,GAAG;AAAA,MACH,SAAS;AAAA,QACP,gBAAgB;AAAA,QAChB,GAAG,SAAS;AAAA,QACZ,GAAG,OAAO;AAAA,MACZ;AAAA,IACF,CAAC;AAAA,EACH;AACF;AAEO,IAAM,aAAN,cAAyB,aAAa;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAQpC,QACL,YAOA,SACA;AACA,UAAM,SAAS;AAAA,MACb,CAAC,UAAU;AAAA,MACX;AAAA,QACE;AAAA,UACE,MAAM;AAAA,YACJ,EAAE,IAAI,QAAQ,KAAK,YAAY;AAAA,YAC/B,EAAE,IAAI,QAAQ,KAAK,eAAe;AAAA,YAClC,EAAE,IAAI,SAAS,KAAK,YAAY;AAAA,YAChC,EAAE,IAAI,SAAS,KAAK,YAAY;AAAA,YAChC,EAAE,IAAI,QAAQ,KAAK,WAAW;AAAA,UAChC;AAAA,QACF;AAAA,MACF;AAAA,IACF;AACA,YAAQ,SAAS,UAAU,KAAK,QAAQ,KAAwE;AAAA,MAC9G,KAAK;AAAA,MACL,GAAG;AAAA,MACH,GAAG;AAAA,MACH,SAAS;AAAA,QACP,gBAAgB;AAAA,QAChB,GAAG,SAAS;AAAA,QACZ,GAAG,OAAO;AAAA,MACZ;AAAA,IACF,CAAC;AAAA,EACH;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOO,MACL,YAOA,SACA;AACA,UAAM,SAAS;AAAA,MACb,CAAC,UAAU;AAAA,MACX;AAAA,QACE;AAAA,UACE,MAAM;AAAA,YACJ,EAAE,IAAI,QAAQ,KAAK,YAAY;AAAA,YAC/B,EAAE,IAAI,SAAS,KAAK,YAAY;AAAA,YAChC,EAAE,IAAI,SAAS,KAAK,YAAY;AAAA,YAChC,EAAE,IAAI,QAAQ,KAAK,QAAQ;AAAA,YAC3B,EAAE,IAAI,QAAQ,KAAK,UAAU;AAAA,UAC/B;AAAA,QACF;AAAA,MACF;AAAA,IACF;AACA,YAAQ,SAAS,UAAU,KAAK,QAAQ,KAAoE;AAAA,MAC1G,KAAK;AAAA,MACL,GAAG;AAAA,MACH,GAAG;AAAA,MACH,SAAS;AAAA,QACP,gBAAgB;AAAA,QAChB,GAAG,SAAS;AAAA,QACZ,GAAG,OAAO;AAAA,MACZ;AAAA,IACF,CAAC;AAAA,EACH;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOO,KACL,YAIA,SACA;AACA,UAAM,SAAS;AAAA,MACb,CAAC,UAAU;AAAA,MACX;AAAA,QACE;AAAA,UACE,MAAM;AAAA,YACJ,EAAE,IAAI,SAAS,KAAK,YAAY;AAAA,YAChC,EAAE,IAAI,SAAS,KAAK,YAAY;AAAA,UAClC;AAAA,QACF;AAAA,MACF;AAAA,IACF;AACA,YAAQ,SAAS,UAAU,KAAK,QAAQ,IAAoD;AAAA,MAC1F,KAAK;AAAA,MACL,GAAG;AAAA,MACH,GAAG;AAAA,IACL,CAAC;AAAA,EACH;AACF;AAEO,IAAM,WAAN,cAAuB,aAAa;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAMlC,KACL,YAIA,SACA;AACA,UAAM,SAAS;AAAA,MACb,CAAC,UAAU;AAAA,MACX;AAAA,QACE;AAAA,UACE,MAAM;AAAA,YACJ,EAAE,IAAI,SAAS,KAAK,YAAY;AAAA,YAChC,EAAE,IAAI,SAAS,KAAK,YAAY;AAAA,UAClC;AAAA,QACF;AAAA,MACF;AAAA,IACF;AACA,YAAQ,SAAS,UAAU,KAAK,QAAQ,IAAkD;AAAA,MACxF,KAAK;AAAA,MACL,GAAG;AAAA,MACH,GAAG;AAAA,IACL,CAAC;AAAA,EACH;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOO,MACL,YAMA,SACA;AACA,UAAM,SAAS;AAAA,MACb,CAAC,UAAU;AAAA,MACX;AAAA,QACE;AAAA,UACE,MAAM;AAAA,YACJ,EAAE,IAAI,QAAQ,KAAK,YAAY;AAAA,YAC/B,EAAE,IAAI,SAAS,KAAK,YAAY;AAAA,YAChC,EAAE,IAAI,SAAS,KAAK,YAAY;AAAA,YAChC,EAAE,IAAI,QAAQ,KAAK,UAAU;AAAA,UAC/B;AAAA,QACF;AAAA,MACF;AAAA,IACF;AACA,YAAQ,SAAS,UAAU,KAAK,QAAQ,KAAgE;AAAA,MACtG,KAAK;AAAA,MACL,GAAG;AAAA,MACH,GAAG;AAAA,MACH,SAAS;AAAA,QACP,gBAAgB;AAAA,QAChB,GAAG,SAAS;AAAA,QACZ,GAAG,OAAO;AAAA,MACZ;AAAA,IACF,CAAC;AAAA,EACH;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOO,OACL,YAKA,SACA;AACA,UAAM,SAAS;AAAA,MACb,CAAC,UAAU;AAAA,MACX;AAAA,QACE;AAAA,UACE,MAAM;AAAA,YACJ,EAAE,IAAI,QAAQ,KAAK,YAAY;AAAA,YAC/B,EAAE,IAAI,SAAS,KAAK,YAAY;AAAA,YAChC,EAAE,IAAI,SAAS,KAAK,YAAY;AAAA,UAClC;AAAA,QACF;AAAA,MACF;AAAA,IACF;AACA,YAAQ,SAAS,UAAU,KAAK,QAAQ,KAAkE;AAAA,MACxG,KAAK;AAAA,MACL,GAAG;AAAA,MACH,GAAG;AAAA,IACL,CAAC;AAAA,EACH;AACF;AAEO,IAAM,QAAN,cAAoB,aAAa;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAM/B,UACL,YASA,SACA;AACA,UAAM,SAAS;AAAA,MACb,CAAC,UAAU;AAAA,MACX;AAAA,QACE;AAAA,UACE,MAAM;AAAA,YACJ,EAAE,IAAI,QAAQ,KAAK,aAAa;AAAA,YAChC,EAAE,IAAI,SAAS,KAAK,YAAY;AAAA,YAChC,EAAE,IAAI,SAAS,KAAK,YAAY;AAAA,YAChC,EAAE,IAAI,QAAQ,KAAK,SAAS;AAAA,YAC5B,EAAE,IAAI,QAAQ,KAAK,SAAS;AAAA,UAC9B;AAAA,QACF;AAAA,MACF;AAAA,IACF;AACA,YAAQ,SAAS,UAAU,KAAK,QAAQ,KAItC;AAAA,MACA,KAAK;AAAA,MACL,GAAG;AAAA,MACH,GAAG;AAAA,MACH,SAAS;AAAA,QACP,gBAAgB;AAAA,QAChB,GAAG,SAAS;AAAA,QACZ,GAAG,OAAO;AAAA,MACZ;AAAA,IACF,CAAC;AAAA,EACH;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOO,SACL,YAOA,SACA;AACA,UAAM,SAAS;AAAA,MACb,CAAC,UAAU;AAAA,MACX;AAAA,QACE;AAAA,UACE,MAAM;AAAA,YACJ,EAAE,IAAI,QAAQ,KAAK,aAAa;AAAA,YAChC,EAAE,IAAI,SAAS,KAAK,YAAY;AAAA,YAChC,EAAE,IAAI,SAAS,KAAK,YAAY;AAAA,YAChC,EAAE,IAAI,QAAQ,KAAK,SAAS;AAAA,YAC5B,EAAE,IAAI,QAAQ,KAAK,OAAO;AAAA,UAC5B;AAAA,QACF;AAAA,MACF;AAAA,IACF;AACA,YAAQ,SAAS,UAAU,KAAK,QAAQ,KAItC;AAAA,MACA,KAAK;AAAA,MACL,GAAG;AAAA,MACH,GAAG;AAAA,MACH,SAAS;AAAA,QACP,gBAAgB;AAAA,QAChB,GAAG,SAAS;AAAA,QACZ,GAAG,OAAO;AAAA,MACZ;AAAA,IACF,CAAC;AAAA,EACH;AACF;AAEO,IAAMI,YAAN,cAAuB,aAAa;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAMlC,KACL,YAIA,SACA;AACA,UAAM,SAAS;AAAA,MACb,CAAC,UAAU;AAAA,MACX;AAAA,QACE;AAAA,UACE,MAAM;AAAA,YACJ,EAAE,IAAI,SAAS,KAAK,YAAY;AAAA,YAChC,EAAE,IAAI,SAAS,KAAK,YAAY;AAAA,UAClC;AAAA,QACF;AAAA,MACF;AAAA,IACF;AACA,YAAQ,SAAS,UAAU,KAAK,QAAQ,IAAkD;AAAA,MACxF,KAAK;AAAA,MACL,GAAG;AAAA,MACH,GAAG;AAAA,IACL,CAAC;AAAA,EACH;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOO,KACL,YAIA,SACA;AACA,UAAM,SAAS;AAAA,MACb,CAAC,UAAU;AAAA,MACX;AAAA,QACE;AAAA,UACE,MAAM;AAAA,YACJ,EAAE,IAAI,SAAS,KAAK,YAAY;AAAA,YAChC,EAAE,IAAI,SAAS,KAAK,YAAY;AAAA,UAClC;AAAA,QACF;AAAA,MACF;AAAA,IACF;AACA,YAAQ,SAAS,UAAU,KAAK,QAAQ,IAAkD;AAAA,MACxF,KAAK;AAAA,MACL,GAAG;AAAA,MACH,GAAG;AAAA,IACL,CAAC;AAAA,EACH;AAAA,EAEQ;AAAA,EACR,IAAI,QAAe;AACjB,WAAQ,KAAK,WAAW,IAAI,MAAM,EAAE,QAAQ,KAAK,OAAO,CAAC;AAAA,EAC3D;AACF;AAEO,IAAM,OAAN,cAAmB,aAAa;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAM9B,KACL,YAKA,SACA;AACA,UAAM,SAAS;AAAA,MACb,CAAC,UAAU;AAAA,MACX;AAAA,QACE;AAAA,UACE,MAAM;AAAA,YACJ,EAAE,IAAI,SAAS,KAAK,YAAY;AAAA,YAChC,EAAE,IAAI,SAAS,KAAK,YAAY;AAAA,YAChC,EAAE,IAAI,SAAS,KAAK,UAAU;AAAA,UAChC;AAAA,QACF;AAAA,MACF;AAAA,IACF;AACA,YAAQ,SAAS,UAAU,KAAK,QAAQ,IAA8C;AAAA,MACpF,KAAK;AAAA,MACL,GAAG;AAAA,MACH,GAAG;AAAA,IACL,CAAC;AAAA,EACH;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOO,MACL,YAQA,SACA;AACA,UAAM,SAAS;AAAA,MACb,CAAC,UAAU;AAAA,MACX;AAAA,QACE;AAAA,UACE,MAAM;AAAA,YACJ,EAAE,IAAI,SAAS,KAAK,YAAY;AAAA,YAChC,EAAE,IAAI,SAAS,KAAK,YAAY;AAAA,YAChC,EAAE,IAAI,SAAS,KAAK,QAAQ;AAAA,YAC5B,EAAE,IAAI,SAAS,KAAK,OAAO;AAAA,YAC3B,EAAE,IAAI,SAAS,KAAK,OAAO;AAAA,YAC3B,EAAE,IAAI,SAAS,KAAK,QAAQ;AAAA,UAC9B;AAAA,QACF;AAAA,MACF;AAAA,IACF;AACA,YAAQ,SAAS,UAAU,KAAK,QAAQ,IAA+C;AAAA,MACrF,KAAK;AAAA,MACL,GAAG;AAAA,MACH,GAAG;AAAA,IACL,CAAC;AAAA,EACH;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOO,QACL,YAKA,SACA;AACA,UAAM,SAAS;AAAA,MACb,CAAC,UAAU;AAAA,MACX;AAAA,QACE;AAAA,UACE,MAAM;AAAA,YACJ,EAAE,IAAI,SAAS,KAAK,YAAY;AAAA,YAChC,EAAE,IAAI,SAAS,KAAK,YAAY;AAAA,YAChC,EAAE,IAAI,SAAS,KAAK,QAAQ;AAAA,UAC9B;AAAA,QACF;AAAA,MACF;AAAA,IACF;AACA,YAAQ,SAAS,UAAU,KAAK,QAAQ,IAAiD;AAAA,MACvF,KAAK;AAAA,MACL,GAAG;AAAA,MACH,GAAG;AAAA,IACL,CAAC;AAAA,EACH;AACF;AAEO,IAAM,OAAN,cAAmB,aAAa;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAM9B,KACL,YAKA,SACA;AACA,UAAM,SAAS;AAAA,MACb,CAAC,UAAU;AAAA,MACX;AAAA,QACE;AAAA,UACE,MAAM;AAAA,YACJ,EAAE,IAAI,SAAS,KAAK,YAAY;AAAA,YAChC,EAAE,IAAI,SAAS,KAAK,YAAY;AAAA,YAChC,EAAE,IAAI,SAAS,KAAK,OAAO;AAAA,UAC7B;AAAA,QACF;AAAA,MACF;AAAA,IACF;AACA,YAAQ,SAAS,UAAU,KAAK,QAAQ,IAA8C;AAAA,MACpF,KAAK;AAAA,MACL,GAAG;AAAA,MACH,GAAG;AAAA,IACL,CAAC;AAAA,EACH;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOO,KACL,YAKA,SACA;AACA,UAAM,SAAS;AAAA,MACb,CAAC,UAAU;AAAA,MACX;AAAA,QACE;AAAA,UACE,MAAM;AAAA,YACJ,EAAE,IAAI,SAAS,KAAK,YAAY;AAAA,YAChC,EAAE,IAAI,SAAS,KAAK,YAAY;AAAA,YAChC,EAAE,IAAI,SAAS,KAAK,OAAO;AAAA,UAC7B;AAAA,QACF;AAAA,MACF;AAAA,IACF;AACA,YAAQ,SAAS,UAAU,KAAK,QAAQ,IAA8C;AAAA,MACpF,KAAK;AAAA,MACL,GAAG;AAAA,MACH,GAAG;AAAA,IACL,CAAC;AAAA,EACH;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOO,OACL,YAIA,SACA;AACA,UAAM,SAAS;AAAA,MACb,CAAC,UAAU;AAAA,MACX;AAAA,QACE;AAAA,UACE,MAAM;AAAA,YACJ,EAAE,IAAI,SAAS,KAAK,YAAY;AAAA,YAChC,EAAE,IAAI,SAAS,KAAK,YAAY;AAAA,UAClC;AAAA,QACF;AAAA,MACF;AAAA,IACF;AACA,YAAQ,SAAS,UAAU,KAAK,QAAQ,IAAgD;AAAA,MACtF,KAAK;AAAA,MACL,GAAG;AAAA,MACH,GAAG;AAAA,IACL,CAAC;AAAA,EACH;AACF;AAEO,IAAM,QAAN,cAAoB,aAAa;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAM/B,UACL,YAIA,SACA;AACA,UAAM,SAAS;AAAA,MACb,CAAC,UAAU;AAAA,MACX;AAAA,QACE;AAAA,UACE,MAAM;AAAA,YACJ,EAAE,IAAI,SAAS,KAAK,YAAY;AAAA,YAChC,EAAE,IAAI,SAAS,KAAK,YAAY;AAAA,UAClC;AAAA,QACF;AAAA,MACF;AAAA,IACF;AACA,YAAQ,SAAS,UAAU,KAAK,QAAQ,IAAI,IAAoD;AAAA,MAC9F,KAAK;AAAA,MACL,GAAG;AAAA,MACH,GAAG;AAAA,IACL,CAAC;AAAA,EACH;AACF;AAEO,IAAM,QAAN,cAAoB,aAAa;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAM/B,OACL,YAKA,SACA;AACA,UAAM,SAAS;AAAA,MACb,CAAC,UAAU;AAAA,MACX;AAAA,QACE;AAAA,UACE,MAAM;AAAA,YACJ,EAAE,IAAI,QAAQ,KAAK,OAAO;AAAA,YAC1B,EAAE,IAAI,SAAS,KAAK,YAAY;AAAA,YAChC,EAAE,IAAI,SAAS,KAAK,YAAY;AAAA,UAClC;AAAA,QACF;AAAA,MACF;AAAA,IACF;AACA,YAAQ,SAAS,UAAU,KAAK,QAAQ,OAAkE;AAAA,MACxG,KAAK;AAAA,MACL,GAAG;AAAA,MACH,GAAG;AAAA,IACL,CAAC;AAAA,EACH;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOO,MACL,YAKA,SACA;AACA,UAAM,SAAS;AAAA,MACb,CAAC,UAAU;AAAA,MACX;AAAA,QACE;AAAA,UACE,MAAM;AAAA,YACJ,EAAE,IAAI,QAAQ,KAAK,OAAO;AAAA,YAC1B,EAAE,IAAI,SAAS,KAAK,YAAY;AAAA,YAChC,EAAE,IAAI,SAAS,KAAK,YAAY;AAAA,UAClC;AAAA,QACF;AAAA,MACF;AAAA,IACF;AACA,YAAQ,SAAS,UAAU,KAAK,QAAQ,KAA8D;AAAA,MACpG,KAAK;AAAA,MACL,GAAG;AAAA,MACH,GAAG;AAAA,IACL,CAAC;AAAA,EACH;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOO,SACL,YAMA,SACA;AACA,UAAM,SAAS;AAAA,MACb,CAAC,UAAU;AAAA,MACX;AAAA,QACE;AAAA,UACE,MAAM;AAAA,YACJ,EAAE,IAAI,QAAQ,KAAK,OAAO;AAAA,YAC1B,EAAE,IAAI,SAAS,KAAK,YAAY;AAAA,YAChC,EAAE,IAAI,SAAS,KAAK,YAAY;AAAA,YAChC,EAAE,IAAI,QAAQ,KAAK,OAAO;AAAA,UAC5B;AAAA,QACF;AAAA,MACF;AAAA,IACF;AACA,YAAQ,SAAS,UAAU,KAAK,QAAQ,KAAoE;AAAA,MAC1G,KAAK;AAAA,MACL,GAAG;AAAA,MACH,GAAG;AAAA,MACH,SAAS;AAAA,QACP,gBAAgB;AAAA,QAChB,GAAG,SAAS;AAAA,QACZ,GAAG,OAAO;AAAA,MACZ;AAAA,IACF,CAAC;AAAA,EACH;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOO,aACL,YAKA,SACA;AACA,UAAM,SAAS;AAAA,MACb,CAAC,UAAU;AAAA,MACX;AAAA,QACE;AAAA,UACE,MAAM;AAAA,YACJ,EAAE,IAAI,QAAQ,KAAK,OAAO;AAAA,YAC1B,EAAE,IAAI,SAAS,KAAK,YAAY;AAAA,YAChC,EAAE,IAAI,SAAS,KAAK,YAAY;AAAA,UAClC;AAAA,QACF;AAAA,MACF;AAAA,IACF;AACA,YAAQ,SAAS,UAAU,KAAK,QAAQ;AAAA,MACtC;AAAA,QACE,KAAK;AAAA,QACL,GAAG;AAAA,QACH,GAAG;AAAA,MACL;AAAA,IACF;AAAA,EACF;AACF;AAEO,IAAM,MAAN,cAAkB,aAAa;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAM7B,OACL,YAIA,SACA;AACA,UAAM,SAAS;AAAA,MACb,CAAC,UAAU;AAAA,MACX;AAAA,QACE;AAAA,UACE,MAAM;AAAA,YACJ,EAAE,IAAI,SAAS,KAAK,YAAY;AAAA,YAChC,EAAE,IAAI,SAAS,KAAK,YAAY;AAAA,UAClC;AAAA,QACF;AAAA,MACF;AAAA,IACF;AACA,YAAQ,SAAS,UAAU,KAAK,QAAQ,IAA+C;AAAA,MACrF,KAAK;AAAA,MACL,GAAG;AAAA,MACH,GAAG;AAAA,IACL,CAAC;AAAA,EACH;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOO,IACL,YAMA,SACA;AACA,UAAM,SAAS;AAAA,MACb,CAAC,UAAU;AAAA,MACX;AAAA,QACE;AAAA,UACE,MAAM;AAAA,YACJ,EAAE,IAAI,SAAS,KAAK,YAAY;AAAA,YAChC,EAAE,IAAI,SAAS,KAAK,YAAY;AAAA,YAChC,EAAE,IAAI,QAAQ,KAAK,OAAO;AAAA,YAC1B,EAAE,IAAI,QAAQ,KAAK,SAAS;AAAA,UAC9B;AAAA,QACF;AAAA,MACF;AAAA,IACF;AACA,YAAQ,SAAS,UAAU,KAAK,QAAQ,KAAkD;AAAA,MACxF,KAAK;AAAA,MACL,GAAG;AAAA,MACH,GAAG;AAAA,MACH,SAAS;AAAA,QACP,gBAAgB;AAAA,QAChB,GAAG,SAAS;AAAA,QACZ,GAAG,OAAO;AAAA,MACZ;AAAA,IACF,CAAC;AAAA,EACH;AAAA;AAAA;AAAA;AAAA,EAKO,QACL,YAKA,SACA;AACA,UAAM,SAAS;AAAA,MACb,CAAC,UAAU;AAAA,MACX;AAAA,QACE;AAAA,UACE,MAAM;AAAA,YACJ,EAAE,IAAI,QAAQ,KAAK,OAAO;AAAA,YAC1B,EAAE,IAAI,SAAS,KAAK,YAAY;AAAA,YAChC,EAAE,IAAI,SAAS,KAAK,YAAY;AAAA,UAClC;AAAA,QACF;AAAA,MACF;AAAA,IACF;AACA,YAAQ,SAAS,UAAU,KAAK,QAAQ,KAAiD;AAAA,MACvF,KAAK;AAAA,MACL,GAAG;AAAA,MACH,GAAG;AAAA,IACL,CAAC;AAAA,EACH;AAAA;AAAA;AAAA;AAAA,EAKO,WACL,YAKA,SACA;AACA,UAAM,SAAS;AAAA,MACb,CAAC,UAAU;AAAA,MACX;AAAA,QACE;AAAA,UACE,MAAM;AAAA,YACJ,EAAE,IAAI,QAAQ,KAAK,OAAO;AAAA,YAC1B,EAAE,IAAI,SAAS,KAAK,YAAY;AAAA,YAChC,EAAE,IAAI,SAAS,KAAK,YAAY;AAAA,UAClC;AAAA,QACF;AAAA,MACF;AAAA,IACF;AACA,YAAQ,SAAS,UAAU,KAAK,QAAQ,KAAoD;AAAA,MAC1F,KAAK;AAAA,MACL,GAAG;AAAA,MACH,GAAG;AAAA,IACL,CAAC;AAAA,EACH;AAAA,EAEQ;AAAA,EACR,IAAI,OAAc;AAChB,WAAQ,KAAK,UAAU,IAAI,MAAM,EAAE,QAAQ,KAAK,OAAO,CAAC;AAAA,EAC1D;AACF;AAEO,IAAM,UAAN,cAAsB,aAAa;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAMjC,KACL,YAIA,SACA;AACA,UAAM,SAAS;AAAA,MACb,CAAC,UAAU;AAAA,MACX;AAAA,QACE;AAAA,UACE,MAAM;AAAA,YACJ,EAAE,IAAI,SAAS,KAAK,YAAY;AAAA,YAChC,EAAE,IAAI,SAAS,KAAK,YAAY;AAAA,UAClC;AAAA,QACF;AAAA,MACF;AAAA,IACF;AACA,YAAQ,SAAS,UAAU,KAAK,QAAQ,IAAoD;AAAA,MAC1F,KAAK;AAAA,MACL,GAAG;AAAA,MACH,GAAG;AAAA,IACL,CAAC;AAAA,EACH;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOO,SACL,YAKA,SACA;AACA,UAAM,SAAS;AAAA,MACb,CAAC,UAAU;AAAA,MACX;AAAA,QACE;AAAA,UACE,MAAM;AAAA,YACJ,EAAE,IAAI,SAAS,KAAK,YAAY;AAAA,YAChC,EAAE,IAAI,SAAS,KAAK,YAAY;AAAA,YAChC,EAAE,KAAK,QAAQ,KAAK,OAAO;AAAA,UAC7B;AAAA,QACF;AAAA,MACF;AAAA,IACF;AACA,YAAQ,SAAS,UAAU,KAAK,QAAQ,KAAyD;AAAA,MAC/F,KAAK;AAAA,MACL,GAAG;AAAA,MACH,GAAG;AAAA,MACH,SAAS;AAAA,QACP,gBAAgB;AAAA,QAChB,GAAG,SAAS;AAAA,QACZ,GAAG,OAAO;AAAA,MACZ;AAAA,IACF,CAAC;AAAA,EACH;AACF;AAEO,IAAM,MAAN,cAAkB,aAAa;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAM7B,aACL,YAKA,SACA;AACA,UAAM,SAAS;AAAA,MACb,CAAC,UAAU;AAAA,MACX;AAAA,QACE;AAAA,UACE,MAAM;AAAA,YACJ,EAAE,IAAI,SAAS,KAAK,YAAY;AAAA,YAChC,EAAE,IAAI,SAAS,KAAK,YAAY;AAAA,YAChC,EAAE,IAAI,QAAQ,KAAK,OAAO;AAAA,UAC5B;AAAA,QACF;AAAA,MACF;AAAA,IACF;AACA,YAAQ,SAAS,UAAU,KAAK,QAAQ,KAAoE;AAAA,MAC1G,KAAK;AAAA,MACL,GAAG;AAAA,MACH,GAAG;AAAA,MACH,SAAS;AAAA,QACP,gBAAgB;AAAA,QAChB,GAAG,SAAS;AAAA,QACZ,GAAG,OAAO;AAAA,MACZ;AAAA,IACF,CAAC;AAAA,EACH;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOO,SACL,YAIA,SACA;AACA,UAAM,SAAS;AAAA,MACb,CAAC,UAAU;AAAA,MACX;AAAA,QACE;AAAA,UACE,MAAM;AAAA,YACJ,EAAE,IAAI,SAAS,KAAK,YAAY;AAAA,YAChC,EAAE,IAAI,SAAS,KAAK,YAAY;AAAA,UAClC;AAAA,QACF;AAAA,MACF;AAAA,IACF;AACA,YAAQ,SAAS,UAAU,KAAK,QAAQ,KAAkD;AAAA,MACxF,KAAK;AAAA,MACL,GAAG;AAAA,MACH,GAAG;AAAA,IACL,CAAC;AAAA,EACH;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOO,aACL,YAIA,SACA;AACA,UAAM,SAAS;AAAA,MACb,CAAC,UAAU;AAAA,MACX;AAAA,QACE;AAAA,UACE,MAAM;AAAA,YACJ,EAAE,IAAI,SAAS,KAAK,YAAY;AAAA,YAChC,EAAE,IAAI,SAAS,KAAK,YAAY;AAAA,UAClC;AAAA,QACF;AAAA,MACF;AAAA,IACF;AACA,YAAQ,SAAS,UAAU,KAAK,QAAQ,KAAsD;AAAA,MAC5F,KAAK;AAAA,MACL,GAAG;AAAA,MACH,GAAG;AAAA,IACL,CAAC;AAAA,EACH;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOO,WACL,YAIA,SACA;AACA,UAAM,SAAS;AAAA,MACb,CAAC,UAAU;AAAA,MACX;AAAA,QACE;AAAA,UACE,MAAM;AAAA,YACJ,EAAE,IAAI,SAAS,KAAK,YAAY;AAAA,YAChC,EAAE,IAAI,SAAS,KAAK,YAAY;AAAA,UAClC;AAAA,QACF;AAAA,MACF;AAAA,IACF;AACA,YAAQ,SAAS,UAAU,KAAK,QAAQ,KAAoD;AAAA,MAC1F,KAAK;AAAA,MACL,GAAG;AAAA,MACH,GAAG;AAAA,IACL,CAAC;AAAA,EACH;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOO,WACL,YAIA,SACA;AACA,UAAM,SAAS;AAAA,MACb,CAAC,UAAU;AAAA,MACX;AAAA,QACE;AAAA,UACE,MAAM;AAAA,YACJ,EAAE,IAAI,SAAS,KAAK,YAAY;AAAA,YAChC,EAAE,IAAI,SAAS,KAAK,YAAY;AAAA,UAClC;AAAA,QACF;AAAA,MACF;AAAA,IACF;AACA,YAAQ,SAAS,UAAU,KAAK,QAAQ,KAAoD;AAAA,MAC1F,KAAK;AAAA,MACL,GAAG;AAAA,MACH,GAAG;AAAA,IACL,CAAC;AAAA,EACH;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOO,aACL,YAIA,SACA;AACA,UAAM,SAAS;AAAA,MACb,CAAC,UAAU;AAAA,MACX;AAAA,QACE;AAAA,UACE,MAAM;AAAA,YACJ,EAAE,IAAI,SAAS,KAAK,YAAY;AAAA,YAChC,EAAE,IAAI,SAAS,KAAK,YAAY;AAAA,UAClC;AAAA,QACF;AAAA,MACF;AAAA,IACF;AACA,YAAQ,SAAS,UAAU,KAAK,QAAQ,KAAsD;AAAA,MAC5F,KAAK;AAAA,MACL,GAAG;AAAA,MACH,GAAG;AAAA,IACL,CAAC;AAAA,EACH;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOO,YACL,YAIA,SACA;AACA,UAAM,SAAS;AAAA,MACb,CAAC,UAAU;AAAA,MACX;AAAA,QACE;AAAA,UACE,MAAM;AAAA,YACJ,EAAE,IAAI,SAAS,KAAK,YAAY;AAAA,YAChC,EAAE,IAAI,SAAS,KAAK,YAAY;AAAA,UAClC;AAAA,QACF;AAAA,MACF;AAAA,IACF;AACA,YAAQ,SAAS,UAAU,KAAK,QAAQ,KAAqD;AAAA,MAC3F,KAAK;AAAA,MACL,GAAG;AAAA,MACH,GAAG;AAAA,IACL,CAAC;AAAA,EACH;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOO,eACL,YAKA,SACA;AACA,UAAM,SAAS;AAAA,MACb,CAAC,UAAU;AAAA,MACX;AAAA,QACE;AAAA,UACE,MAAM;AAAA,YACJ,EAAE,IAAI,SAAS,KAAK,YAAY;AAAA,YAChC,EAAE,IAAI,SAAS,KAAK,YAAY;AAAA,YAChC,EAAE,IAAI,QAAQ,KAAK,UAAU;AAAA,UAC/B;AAAA,QACF;AAAA,MACF;AAAA,IACF;AACA,YAAQ,SAAS,UAAU,KAAK,QAAQ,KAAwE;AAAA,MAC9G,KAAK;AAAA,MACL,GAAG;AAAA,MACH,GAAG;AAAA,MACH,SAAS;AAAA,QACP,gBAAgB;AAAA,QAChB,GAAG,SAAS;AAAA,QACZ,GAAG,OAAO;AAAA,MACZ;AAAA,IACF,CAAC;AAAA,EACH;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOO,UACL,YAQA,SACA;AACA,UAAM,SAAS;AAAA,MACb,CAAC,UAAU;AAAA,MACX;AAAA,QACE;AAAA,UACE,MAAM;AAAA,YACJ,EAAE,IAAI,SAAS,KAAK,YAAY;AAAA,YAChC,EAAE,IAAI,SAAS,KAAK,YAAY;AAAA,YAChC,EAAE,IAAI,QAAQ,KAAK,QAAQ;AAAA,YAC3B,EAAE,IAAI,QAAQ,KAAK,UAAU;AAAA,YAC7B,EAAE,IAAI,QAAQ,KAAK,UAAU;AAAA,YAC7B,EAAE,IAAI,QAAQ,KAAK,WAAW;AAAA,UAChC;AAAA,QACF;AAAA,MACF;AAAA,IACF;AACA,YAAQ,SAAS,UAAU,KAAK,QAAQ,KAAmD;AAAA,MACzF,KAAK;AAAA,MACL,GAAG;AAAA,MACH,GAAG;AAAA,MACH,SAAS;AAAA,QACP,gBAAgB;AAAA,QAChB,GAAG,SAAS;AAAA,QACZ,GAAG,OAAO;AAAA,MACZ;AAAA,IACF,CAAC;AAAA,EACH;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOO,QACL,YAKA,SACA;AACA,UAAM,SAAS;AAAA,MACb,CAAC,UAAU;AAAA,MACX;AAAA,QACE;AAAA,UACE,MAAM;AAAA,YACJ,EAAE,IAAI,SAAS,KAAK,YAAY;AAAA,YAChC,EAAE,IAAI,SAAS,KAAK,YAAY;AAAA,YAChC,EAAE,KAAK,QAAQ,KAAK,OAAO;AAAA,UAC7B;AAAA,QACF;AAAA,MACF;AAAA,IACF;AACA,YAAQ,SAAS,UAAU,KAAK,QAAQ,KAA0D;AAAA,MAChG,KAAK;AAAA,MACL,GAAG;AAAA,MACH,GAAG;AAAA,MACH,SAAS;AAAA,QACP,gBAAgB;AAAA,QAChB,GAAG,SAAS;AAAA,QACZ,GAAG,OAAO;AAAA,MACZ;AAAA,IACF,CAAC;AAAA,EACH;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOO,cACL,YAKA,SACA;AACA,UAAM,SAAS;AAAA,MACb,CAAC,UAAU;AAAA,MACX;AAAA,QACE;AAAA,UACE,MAAM;AAAA,YACJ,EAAE,IAAI,SAAS,KAAK,YAAY;AAAA,YAChC,EAAE,IAAI,SAAS,KAAK,YAAY;AAAA,YAChC,EAAE,IAAI,QAAQ,KAAK,YAAY;AAAA,UACjC;AAAA,QACF;AAAA,MACF;AAAA,IACF;AACA,YAAQ,SAAS,UAAU,KAAK,QAAQ,KAAsE;AAAA,MAC5G,KAAK;AAAA,MACL,GAAG;AAAA,MACH,GAAG;AAAA,MACH,SAAS;AAAA,QACP,gBAAgB;AAAA,QAChB,GAAG,SAAS;AAAA,QACZ,GAAG,OAAO;AAAA,MACZ;AAAA,IACF,CAAC;AAAA,EACH;AAAA,EAEQ;AAAA,EACR,IAAI,UAAmB;AACrB,WAAQ,KAAK,aAAa,IAAI,QAAQ,EAAE,QAAQ,KAAK,OAAO,CAAC;AAAA,EAC/D;AACF;AAEO,IAAMC,YAAN,cAAuB,aAAa;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAMlC,QACL,YAIA,SACA;AACA,UAAM,SAAS;AAAA,MACb,CAAC,UAAU;AAAA,MACX;AAAA,QACE;AAAA,UACE,MAAM;AAAA,YACJ,EAAE,IAAI,SAAS,KAAK,YAAY;AAAA,YAChC,EAAE,IAAI,SAAS,KAAK,YAAY;AAAA,UAClC;AAAA,QACF;AAAA,MACF;AAAA,IACF;AACA,YAAQ,SAAS,UAAU,KAAK,QAAQ,KAAsD;AAAA,MAC5F,KAAK;AAAA,MACL,GAAG;AAAA,MACH,GAAG;AAAA,IACL,CAAC;AAAA,EACH;AACF;AAEO,IAAM,OAAN,cAAmB,aAAa;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAM9B,IACL,YAIA,SACA;AACA,UAAM,SAAS;AAAA,MACb,CAAC,UAAU;AAAA,MACX;AAAA,QACE;AAAA,UACE,MAAM;AAAA,YACJ,EAAE,IAAI,SAAS,KAAK,YAAY;AAAA,YAChC,EAAE,IAAI,SAAS,KAAK,YAAY;AAAA,UAClC;AAAA,QACF;AAAA,MACF;AAAA,IACF;AACA,YAAQ,SAAS,UAAU,KAAK,QAAQ,IAA6C;AAAA,MACnF,KAAK;AAAA,MACL,GAAG;AAAA,MACH,GAAG;AAAA,IACL,CAAC;AAAA,EACH;AACF;AAEO,IAAM,MAAN,cAAkB,aAAa;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAM7B,IACL,YAIA,SACA;AACA,UAAM,SAAS;AAAA,MACb,CAAC,UAAU;AAAA,MACX;AAAA,QACE;AAAA,UACE,MAAM;AAAA,YACJ,EAAE,IAAI,SAAS,KAAK,YAAY;AAAA,YAChC,EAAE,IAAI,SAAS,KAAK,YAAY;AAAA,UAClC;AAAA,QACF;AAAA,MACF;AAAA,IACF;AACA,YAAQ,SAAS,UAAU,KAAK,QAAQ,IAA4C;AAAA,MAClF,KAAK;AAAA,MACL,GAAG;AAAA,MACH,GAAG;AAAA,IACL,CAAC;AAAA,EACH;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOO,KACL,YAKA,SACA;AACA,UAAM,SAAS;AAAA,MACb,CAAC,UAAU;AAAA,MACX;AAAA,QACE;AAAA,UACE,MAAM;AAAA,YACJ,EAAE,IAAI,SAAS,KAAK,YAAY;AAAA,YAChC,EAAE,IAAI,SAAS,KAAK,YAAY;AAAA,YAChC,EAAE,IAAI,SAAS,KAAK,OAAO;AAAA,UAC7B;AAAA,QACF;AAAA,MACF;AAAA,IACF;AACA,YAAQ,SAAS,UAAU,KAAK,QAAQ,IAA6C;AAAA,MACnF,KAAK;AAAA,MACL,GAAG;AAAA,MACH,GAAG;AAAA,IACL,CAAC;AAAA,EACH;AACF;AAEO,IAAM,UAAN,cAAsB,aAAa;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAMjC,KACL,YAIA,SACA;AACA,UAAM,SAAS;AAAA,MACb,CAAC,UAAU;AAAA,MACX;AAAA,QACE;AAAA,UACE,MAAM;AAAA,YACJ,EAAE,IAAI,SAAS,KAAK,YAAY;AAAA,YAChC,EAAE,IAAI,SAAS,KAAK,YAAY;AAAA,UAClC;AAAA,QACF;AAAA,MACF;AAAA,IACF;AACA,YAAQ,SAAS,UAAU,KAAK,QAAQ,IAAiD;AAAA,MACvF,KAAK;AAAA,MACL,GAAG;AAAA,MACH,GAAG;AAAA,IACL,CAAC;AAAA,EACH;AACF;AAEO,IAAM,MAAN,cAAkB,aAAa;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAM7B,OACL,YAIA,SACA;AACA,UAAM,SAAS;AAAA,MACb,CAAC,UAAU;AAAA,MACX;AAAA,QACE;AAAA,UACE,MAAM;AAAA,YACJ,EAAE,IAAI,SAAS,KAAK,YAAY;AAAA,YAChC,EAAE,IAAI,SAAS,KAAK,YAAY;AAAA,UAClC;AAAA,QACF;AAAA,MACF;AAAA,IACF;AACA,YAAQ,SAAS,UAAU,KAAK,QAAQ,IAA+C;AAAA,MACrF,KAAK;AAAA,MACL,GAAG;AAAA,MACH,GAAG;AAAA,IACL,CAAC;AAAA,EACH;AACF;AAEO,IAAM,YAAN,cAAwB,aAAa;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAMnC,OACL,YAIA,SACA;AACA,UAAM,SAAS;AAAA,MACb,CAAC,UAAU;AAAA,MACX;AAAA,QACE;AAAA,UACE,MAAM;AAAA,YACJ,EAAE,IAAI,SAAS,KAAK,YAAY;AAAA,YAChC,EAAE,IAAI,SAAS,KAAK,YAAY;AAAA,UAClC;AAAA,QACF;AAAA,MACF;AAAA,IACF;AACA,YAAQ,SAAS,UAAU,KAAK,QAAQ,IAAqD;AAAA,MAC3F,KAAK;AAAA,MACL,GAAG;AAAA,MACH,GAAG;AAAA,IACL,CAAC;AAAA,EACH;AACF;AAEO,IAAM,iBAAN,MAAM,wBAAuB,aAAa;AAAA,EAC/C,OAAuB,aAAa,IAAI,eAA+B;AAAA,EAEvE,YAAY,MAA0C;AACpD,UAAM,IAAI;AACV,oBAAe,WAAW,IAAI,MAAM,MAAM,GAAG;AAAA,EAC/C;AAAA,EAEQ;AAAA,EACR,IAAI,SAAiB;AACnB,WAAQ,KAAK,YAAY,IAAI,OAAO,EAAE,QAAQ,KAAK,OAAO,CAAC;AAAA,EAC7D;AAAA,EAEQ;AAAA,EACR,IAAI,OAAa;AACf,WAAQ,KAAK,UAAU,IAAI,KAAK,EAAE,QAAQ,KAAK,OAAO,CAAC;AAAA,EACzD;AAAA,EAEQ;AAAA,EACR,IAAI,MAAW;AACb,WAAQ,KAAK,SAAS,IAAI,IAAI,EAAE,QAAQ,KAAK,OAAO,CAAC;AAAA,EACvD;AAAA,EAEQ;AAAA,EACR,IAAI,UAAmB;AACrB,WAAQ,KAAK,aAAa,IAAI,QAAQ,EAAE,QAAQ,KAAK,OAAO,CAAC;AAAA,EAC/D;AAAA,EAEQ;AAAA,EACR,IAAI,MAAW;AACb,WAAQ,KAAK,SAAS,IAAI,IAAI,EAAE,QAAQ,KAAK,OAAO,CAAC;AAAA,EACvD;AAAA,EAEQ;AAAA,EACR,IAAI,SAAkB;AACpB,WAAQ,KAAK,YAAY,IAAI,QAAQ,EAAE,QAAQ,KAAK,OAAO,CAAC;AAAA,EAC9D;AAAA,EAEQ;AAAA,EACR,IAAI,eAA6B;AAC/B,WAAQ,KAAK,kBAAkB,IAAI,aAAa,EAAE,QAAQ,KAAK,OAAO,CAAC;AAAA,EACzE;AAAA,EAEQ;AAAA,EACR,IAAI,OAAa;AACf,WAAQ,KAAK,UAAU,IAAI,KAAK,EAAE,QAAQ,KAAK,OAAO,CAAC;AAAA,EACzD;AAAA,EAEQ;AAAA,EACR,IAAI,WAAqB;AACvB,WAAQ,KAAK,cAAc,IAAI,SAAS,EAAE,QAAQ,KAAK,OAAO,CAAC;AAAA,EACjE;AAAA,EAEQ;AAAA,EACR,IAAI,UAAoB;AACtB,WAAQ,KAAK,aAAa,IAAI,SAAS,EAAE,QAAQ,KAAK,OAAO,CAAC;AAAA,EAChE;AAAA,EAEQ;AAAA,EACR,IAAI,OAAa;AACf,WAAQ,KAAK,UAAU,IAAI,KAAK,EAAE,QAAQ,KAAK,OAAO,CAAC;AAAA,EACzD;AAAA,EAEQ;AAAA,EACR,IAAI,aAAyB;AAC3B,WAAQ,KAAK,gBAAgB,IAAI,WAAW,EAAE,QAAQ,KAAK,OAAO,CAAC;AAAA,EACrE;AAAA,EAEQ;AAAA,EACR,IAAI,WAAqB;AACvB,WAAQ,KAAK,cAAc,IAAI,SAAS,EAAE,QAAQ,KAAK,OAAO,CAAC;AAAA,EACjE;AAAA,EAEQ;AAAA,EACR,IAAI,WAAqB;AACvB,WAAQ,KAAK,cAAc,IAAID,UAAS,EAAE,QAAQ,KAAK,OAAO,CAAC;AAAA,EACjE;AAAA,EAEQ;AAAA,EACR,IAAI,OAAa;AACf,WAAQ,KAAK,UAAU,IAAI,KAAK,EAAE,QAAQ,KAAK,OAAO,CAAC;AAAA,EACzD;AAAA,EAEQ;AAAA,EACR,IAAI,OAAa;AACf,WAAQ,KAAK,UAAU,IAAI,KAAK,EAAE,QAAQ,KAAK,OAAO,CAAC;AAAA,EACzD;AAAA,EAEQ;AAAA,EACR,IAAI,QAAe;AACjB,WAAQ,KAAK,WAAW,IAAI,MAAM,EAAE,QAAQ,KAAK,OAAO,CAAC;AAAA,EAC3D;AAAA,EAEQ;AAAA,EACR,IAAI,MAAW;AACb,WAAQ,KAAK,SAAS,IAAI,IAAI,EAAE,QAAQ,KAAK,OAAO,CAAC;AAAA,EACvD;AAAA,EAEQ;AAAA,EACR,IAAI,MAAW;AACb,WAAQ,KAAK,SAAS,IAAI,IAAI,EAAE,QAAQ,KAAK,OAAO,CAAC;AAAA,EACvD;AAAA,EAEQ;AAAA,EACR,IAAI,WAAqB;AACvB,WAAQ,KAAK,cAAc,IAAIC,UAAS,EAAE,QAAQ,KAAK,OAAO,CAAC;AAAA,EACjE;AAAA,EAEQ;AAAA,EACR,IAAI,OAAa;AACf,WAAQ,KAAK,UAAU,IAAI,KAAK,EAAE,QAAQ,KAAK,OAAO,CAAC;AAAA,EACzD;AAAA,EAEQ;AAAA,EACR,IAAI,MAAW;AACb,WAAQ,KAAK,SAAS,IAAI,IAAI,EAAE,QAAQ,KAAK,OAAO,CAAC;AAAA,EACvD;AAAA,EAEQ;AAAA,EACR,IAAI,UAAmB;AACrB,WAAQ,KAAK,aAAa,IAAI,QAAQ,EAAE,QAAQ,KAAK,OAAO,CAAC;AAAA,EAC/D;AAAA,EAEQ;AAAA,EACR,IAAI,MAAW;AACb,WAAQ,KAAK,SAAS,IAAI,IAAI,EAAE,QAAQ,KAAK,OAAO,CAAC;AAAA,EACvD;AAAA,EAEQ;AAAA,EACR,IAAI,YAAuB;AACzB,WAAQ,KAAK,eAAe,IAAI,UAAU,EAAE,QAAQ,KAAK,OAAO,CAAC;AAAA,EACnE;AACF;;;ACvnIA,SAAS,KAAK,OAAsBC,WAAmB,QAAoC;AACzF,MAAI,CAAC,MAAO;AACZ,MAAI,CAACA,UAAU,QAAO;AACtB,MAAI,UAAUA,UAAU,QAAOA;AAC/B,MAAI,UAAU,UAAU,OAAOA,SAAQ,EAAG,QAAOA;AACjD,SAAO;AACT;AAEA,SAAS,QAAQ,SAAkB,QAAoD;AACrF,MAAI,QAAQ,WAAW,SAAS,QAAQ,WAAW,OAAQ,QAAO;AAElE,QAAM,MAAM,IAAI,IAAI,QAAQ,GAAG;AAC/B,MAAI,UAAU;AAEd,aAAW,CAAC,MAAM,GAAG,KAAK;AAAA,IACxB,CAAC,wBAAwB,WAAW;AAAA,IACpC,CAAC,wBAAwB,WAAW;AAAA,EACtC,GAAY;AACV,UAAM,QAAQ;AAAA,MACZ,QAAQ,QAAQ,IAAI,IAAI;AAAA,MACxB,QAAQ,cAAc,OAAO,YAAY,OAAO;AAAA,MAChD,QAAQ,cAAc,qBAAqB;AAAA,IAC7C;AACA,QAAI,CAAC,MAAO;AACZ,QAAI,CAAC,IAAI,aAAa,IAAI,GAAG,GAAG;AAC9B,UAAI,aAAa,IAAI,KAAK,KAAK;AAAA,IACjC;AACA,cAAU;AAAA,EACZ;AAEA,MAAI,CAAC,QAAS,QAAO;AAErB,QAAM,OAAO,IAAI,QAAQ,KAAK,OAAO;AACrC,OAAK,QAAQ,OAAO,sBAAsB;AAC1C,OAAK,QAAQ,OAAO,sBAAsB;AAC1C,SAAO;AACT;AAEO,SAAS,qBAAqB,QAA6E;AAChH,MAAI,CAAC,QAAQ,OAAO;AAClB,UAAM,cAAmB,CAAC,QAAa;AAErC,UAAI,UAAU;AACd,aAAO,MAAM,GAAG;AAAA,IAClB;AACA,aAAS;AAAA,MACP,GAAG;AAAA,MACH,OAAO;AAAA,IACT;AAAA,EACF;AAEA,MAAI,QAAQ,WAAW;AACrB,WAAO,UAAU;AAAA,MACf,GAAG,OAAO;AAAA,MACV,wBAAwB,mBAAmB,OAAO,SAAS;AAAA,IAC7D;AAAA,EACF;AAEA,MAAI,QAAQ,0BAA0B;AACpC,WAAO,UAAU;AAAA,MACf,GAAG,OAAO;AAAA,MACV,wBAAwB,OAAO;AAAA,IACjC;AAAA,EACF;AAEA,QAAMC,UAAS,aAAa,MAAM;AAClC,EAAAA,QAAO,aAAa,QAAQ;AAAA,IAAI,CAAC,YAC/B,QAAQ,SAAS;AAAA,MACf,WAAW,QAAQ;AAAA,MACnB,WAAW,QAAQ;AAAA,IACrB,CAAC;AAAA,EACH;AACA,SAAO,IAAI,eAAe,EAAE,QAAAA,QAAO,CAAC;AACtC;;;AChFA,OAAO,YAAY;;;ACAZ,IAAU;AAAA,CAAV,CAAUC,YAAV;AACE,WAAS,UAAU,KAAa;AACrC,WAAO,IAAI,QAAQ,SAAS,CAAC,MAAM,EAAE,YAAY,CAAC;AAAA,EACpD;AAFO,EAAAA,QAAS;AAIT,WAAS,KAAK,OAAuB;AAC1C,UAAM,OAAO,IAAI,KAAK,KAAK;AAC3B,WAAO,KAAK,mBAAmB,QAAW,EAAE,WAAW,QAAQ,CAAC;AAAA,EAClE;AAHO,EAAAA,QAAS;AAKT,WAAS,SAAS,OAAuB;AAC9C,UAAM,OAAO,IAAI,KAAK,KAAK;AAC3B,UAAM,YAAY,KAAK,KAAK;AAC5B,UAAM,YAAY,KAAK,mBAAmB;AAC1C,WAAO,GAAG,SAAS,SAAM,SAAS;AAAA,EACpC;AALO,EAAAA,QAAS;AAOT,WAAS,oBAAoB,OAAuB;AACzD,UAAM,OAAO,IAAI,KAAK,KAAK;AAC3B,UAAM,MAAM,oBAAI,KAAK;AACrB,UAAM,UACJ,KAAK,YAAY,MAAM,IAAI,YAAY,KAAK,KAAK,SAAS,MAAM,IAAI,SAAS,KAAK,KAAK,QAAQ,MAAM,IAAI,QAAQ;AAEnH,QAAI,SAAS;AACX,aAAO,KAAK,KAAK;AAAA,IACnB,OAAO;AACL,aAAO,SAAS,KAAK;AAAA,IACvB;AAAA,EACF;AAXO,EAAAA,QAAS;AAaT,WAAS,OAAO,KAAqB;AAC1C,QAAI,OAAO,KAAS;AAClB,cAAQ,MAAM,KAAS,QAAQ,CAAC,IAAI;AAAA,IACtC,WAAW,OAAO,KAAM;AACtB,cAAQ,MAAM,KAAM,QAAQ,CAAC,IAAI;AAAA,IACnC;AACA,WAAO,IAAI,SAAS;AAAA,EACtB;AAPO,EAAAA,QAAS;AAST,WAAS,SAAS,OAAe;AACtC,QAAI,QAAQ,KAAM;AAChB,aAAO,GAAG,KAAK;AAAA,IACjB;AACA,QAAI,QAAQ,KAAO;AACjB,aAAO,IAAI,QAAQ,KAAM,QAAQ,CAAC,CAAC;AAAA,IACrC;AACA,QAAI,QAAQ,MAAS;AACnB,YAAM,UAAU,KAAK,MAAM,QAAQ,GAAK;AACxC,YAAM,UAAU,KAAK,MAAO,QAAQ,MAAS,GAAI;AACjD,aAAO,GAAG,OAAO,KAAK,OAAO;AAAA,IAC/B;AACA,QAAI,QAAQ,OAAU;AACpB,YAAMC,SAAQ,KAAK,MAAM,QAAQ,IAAO;AACxC,YAAM,UAAU,KAAK,MAAO,QAAQ,OAAW,GAAK;AACpD,aAAO,GAAGA,MAAK,KAAK,OAAO;AAAA,IAC7B;AACA,UAAM,QAAQ,KAAK,MAAM,QAAQ,IAAO;AACxC,UAAM,OAAO,KAAK,MAAO,QAAQ,OAAW,KAAQ;AACpD,WAAO,GAAG,IAAI,KAAK,KAAK;AAAA,EAC1B;AApBO,EAAAD,QAAS;AAsBT,WAAS,SAAS,KAAa,KAAqB;AACzD,QAAI,IAAI,UAAU,IAAK,QAAO;AAC9B,WAAO,IAAI,MAAM,GAAG,MAAM,CAAC,IAAI;AAAA,EACjC;AAHO,EAAAA,QAAS;AAKT,WAAS,eAAe,KAAa,YAAoB,IAAY;AAC1E,QAAI,IAAI,UAAU,UAAW,QAAO;AAEpC,UAAM,WAAW;AACjB,UAAM,YAAY,KAAK,MAAM,YAAY,SAAS,UAAU,CAAC;AAC7D,UAAM,UAAU,KAAK,OAAO,YAAY,SAAS,UAAU,CAAC;AAE5D,WAAO,IAAI,MAAM,GAAG,SAAS,IAAI,WAAW,IAAI,MAAM,CAAC,OAAO;AAAA,EAChE;AARO,EAAAA,QAAS;AAUT,WAAS,UAAU,OAAe,UAAkB,QAAwB;AACjF,UAAM,WAAW,UAAU,IAAI,WAAW;AAC1C,WAAO,SAAS,QAAQ,MAAM,MAAM,SAAS,CAAC;AAAA,EAChD;AAHO,EAAAA,QAAS;AAAA,GA5ED;;;AjBoCjB,SAAS,MAAS,MAA8B;AAC9C,QAAM,QAAQ,KAAK;AACnB,SAAO;AAAA,IACL,OAAO,MAAM;AAAA,IACb,UAAW,cAAc,QAAQ,MAAM,WAAW,CAAC;AAAA,IACnD;AAAA,EACF;AACF;AAQA,SAAS,OAAO,MAAc;AAC5B,QAAM,SAAS,KAAK,cAAc,GAAG,MAAM,WAAW,IAAI,KAAK,WAAW,KAAK,GAAG,MAAM,cAAc;AACtG,KAAG,QAAQ,GAAG,MAAM,cAAc,KAAK,MAAM,GAAG,MAAM,cAAc,KAAK,QAAQ,MAAM;AACzF;AAEA,SAAS,MAAM,MAAc,QAAiB;AAC5C,KAAG,MAAM;AACT,SAAO,IAAI;AACX,MAAI,CAAC,QAAQ,KAAK,EAAG;AACrB,KAAG,QAAQ,MAAM;AACjB,KAAG,MAAM;AACX;AAEA,SAAS,SAAS,MAAgB;AAChC,QAAM,QAAQ,KAAK;AACnB,QAAM,QAAQ,WAAW,QAAQ,MAAM,QAAQ;AAC/C,QAAM,SACH,WAAW,SAAS,MAAM,QAAQ,MAAM,QAAQ,YAChD,SAAS,OAAO,UAAU,YAAY,OAAO,KAAK,KAAK,EAAE,SAAS,IAAI,KAAK,UAAU,KAAK,IAAI;AACjG,SAAO;AAAA,IACL,MAAM;AAAA,IACN,OAAO,GAAG,KAAK,IAAI,IAAI,KAAK;AAAA,EAC9B,CAAC;AACH;AAEA,SAAS,KAAK,MAAkC;AAC9C,QAAM,OAAO,KAAK,MAAM,QAAQ;AAChC,QAAM,QAAQ,SAAS,KAAK,MAAM,OAAO;AACzC,QAAM,SAAS,OAAO,MAAM,cAAc,IAAI,CAAC,KAAK;AACpD,QAAM,MAAM,KAAK,SAAS;AAC1B,QAAM,cACJ,QAAQ,SAAY,SAAS,GAAG,MAAM,GAAG,SAAS,WAAQ,EAAE,GAAG,GAAG,IAAI,QAAQ,IAAI,UAAU,SAAS;AACvG,SAAO;AAAA,IACL,MAAM;AAAA,IACN;AAAA,IACA,GAAI,eAAe,EAAE,YAAY;AAAA,EACnC,CAAC;AACH;AAEA,SAAS,KAAK,MAAkC;AAC9C,QAAM,OAAO,KAAK,MAAM,QAAQ;AAChC,QAAM,QAAQ,SAAS,KAAK,MAAM,OAAO;AACzC,QAAM,SAAS,OAAO,MAAM,cAAc,IAAI,CAAC,KAAK;AACpD,QAAM,MAAM,KAAK,SAAS;AAC1B,QAAM,cACJ,QAAQ,SAAY,SAAS,GAAG,MAAM,GAAG,SAAS,WAAQ,EAAE,GAAG,GAAG,IAAI,QAAQ,IAAI,UAAU,SAAS;AACvG,SAAO;AAAA,IACL,MAAM;AAAA,IACN;AAAA,IACA,GAAI,eAAe,EAAE,YAAY;AAAA,EACnC,CAAC;AACH;AAEA,SAAS,KAAK,MAAkC;AAC9C,QAAM,MAAM,KAAK,MAAM,OAAO,cAAc,KAAK,MAAM,IAAI,IAAI;AAC/D,SAAO;AAAA,IACL,MAAM;AAAA,IACN,OAAO,MAAM,QAAQ,GAAG,KAAK;AAAA,EAC/B,CAAC;AACH;AAEA,SAAS,KAAK,MAAkC;AAC9C,QAAM,OAAO,cAAc,KAAK,MAAM,QAAQ;AAC9C,QAAM,QAAQ,OAAO,QAAQ,KAAK,KAAK,EAAE,OAAO,CAAC,CAAC,KAAK,KAAK,MAAM;AAChE,QAAI,QAAQ,WAAY,QAAO;AAC/B,WAAO,OAAO,UAAU,YAAY,OAAO,UAAU,YAAY,OAAO,UAAU;AAAA,EACpF,CAAC;AACD,QAAM,cAAc,MAAM,SAAS,IAAI,MAAM,IAAI,CAAC,CAAC,KAAK,KAAK,MAAM,GAAG,GAAG,IAAI,KAAK,EAAE,EAAE,KAAK,IAAI,CAAC,MAAM;AACtG,SAAO;AAAA,IACL,MAAM;AAAA,IACN,OAAO,QAAQ,IAAI;AAAA,IACnB,GAAI,eAAe,EAAE,YAAY;AAAA,EACnC,CAAC;AACH;AAEA,SAAS,MAAM,MAAmC;AAChD;AAAA,IACE;AAAA,MACE,MAAM;AAAA,MACN,OAAO,SAAS,cAAc,KAAK,MAAM,QAAQ,CAAC;AAAA,IACpD;AAAA,IACA,KAAK,KAAK,MAAM,WAAW,cAAc,KAAK,KAAK,MAAM,SAAS;AAAA,EACpE;AACF;AAEA,SAAS,SAAS,MAAsC;AACtD,SAAO;AAAA,IACL,MAAM;AAAA,IACN,OAAO,YAAY,KAAK,MAAM,GAAG;AAAA,EACnC,CAAC;AACH;AAEA,SAAS,KAAK,MAAkC;AAC9C,QAAM,QAAQ,cAAc,KAAK,MAAM,QAAQ;AAC/C,QAAM,OAAO,KAAK,SAAS;AAC3B;AAAA,IACE;AAAA,MACE,MAAM;AAAA,MACN,OAAO,QAAQ,KAAK;AAAA,IACtB;AAAA,IACA;AAAA,EACF;AACF;AAEA,SAAS,WAAW,MAAwC;AAC1D,SAAO;AAAA,IACL,MAAM;AAAA,IACN,OAAO,oBAAoB,KAAK,MAAM,KAAK;AAAA,EAC7C,CAAC;AACH;AAEA,SAAS,UAAU,MAAuC;AACxD,SAAO;AAAA,IACL,MAAM;AAAA,IACN,OAAO,mBAAmB,KAAK,MAAM,KAAK;AAAA,EAC5C,CAAC;AACH;AAEA,SAAS,KAAK,MAAkC;AAC9C,QAAM,QAAQ,KAAK,KAAK,MAAM;AAC9B,QAAM,SAAS,KAAK,KAAK,MAAM;AAC/B,QAAM,WACJ,OAAO,MAAM,kBAAkB,YAAY,MAAM,cAAc,KAAK,EAAE,SAAS,IAAI,MAAM,gBAAgB;AAC3G,QAAM,QAAQ,OAAO,UAAU,QAAQ;AACvC,QAAM,OACJ,OAAO,MAAM,gBAAgB,YAAY,MAAM,YAAY,KAAK,EAAE,SAAS,IAAI,MAAM,cAAc;AACrG,QAAM,OAAO,WAAW,UAAU,WAAM,WAAW,YAAY,WAAM;AACrE,QAAM,OAAO,QAAQ,GAAG,KAAK;AAC7B,SAAO;AAAA,IACL;AAAA,IACA,OAAO;AAAA,IACP,aAAa,OAAO,GAAG,KAAK,WAAW;AAAA,EACzC,CAAC;AACH;AAEA,SAAS,MAAM,MAAmC;AAChD,SAAO;AAAA,IACL,MAAM;AAAA,IACN,OAAO,UAAU,KAAK,MAAM,IAAI;AAAA,EAClC,CAAC;AACH;AAEA,SAAS,KAAK,MAAkC;AAC9C,QAAM,SAAS,KAAK,KAAK,MAAM,WAAW,cAAc,KAAK,KAAK,MAAM,QAAQ,KAAK,IAAI;AACzF;AAAA,IACE;AAAA,MACE,MAAM;AAAA,MACN,OAAO,GAAG,KAAK,MAAM,OAAO;AAAA,IAC9B;AAAA,IACA;AAAA,EACF;AACF;AAEA,SAAS,KAAK,MAAuC;AACnD;AAAA,IACE;AAAA,MACE,MAAM;AAAA,MACN,OAAO;AAAA,IACT;AAAA,IACA,KAAK,MAAM,MAAM,IAAI,CAAC,SAAS,GAAG,KAAK,WAAW,cAAc,QAAQ,KAAK,IAAI,KAAK,OAAO,EAAE,EAAE,KAAK,IAAI;AAAA,EAC5G;AACF;AAEA,SAAS,cAAc,OAAgB;AACrC,MAAI,CAAC,MAAO,QAAO;AACnB,MAAI,KAAK,WAAW,KAAK,EAAG,QAAO,KAAK,SAAS,QAAQ,IAAI,GAAG,KAAK,KAAK;AAC1E,SAAO;AACT;AAEO,IAAM,aAAa,IAAI;AAAA,EAC5B,SAAS;AAAA,EACT,UAAU;AAAA,EACV,SAAS,CAAC,UAAgB;AACxB,WAAO,MACJ,WAAW,WAAW;AAAA,MACrB,UAAU;AAAA,MACV,MAAM;AAAA,MACN,OAAO;AAAA,MACP,SAAS,CAAC;AAAA,IACZ,CAAC,EACA,OAAO,WAAW;AAAA,MACjB,UAAU;AAAA,MACV,MAAM;AAAA,IACR,CAAC,EACA,OAAO,YAAY;AAAA,MAClB,OAAO,CAAC,GAAG;AAAA,MACX,UAAU;AAAA,MACV,MAAM;AAAA,IACR,CAAC,EACA,OAAO,WAAW;AAAA,MACjB,OAAO,CAAC,GAAG;AAAA,MACX,UAAU;AAAA,MACV,MAAM;AAAA,IACR,CAAC,EACA,OAAO,QAAQ;AAAA,MACd,UAAU;AAAA,MACV,MAAM;AAAA,IACR,CAAC,EACA,OAAO,SAAS;AAAA,MACf,MAAM;AAAA,MACN,UAAU;AAAA,IACZ,CAAC,EACA,OAAO,SAAS;AAAA,MACf,MAAM;AAAA,MACN,OAAO,CAAC,GAAG;AAAA,MACX,UAAU;AAAA,IACZ,CAAC,EACA,OAAO,SAAS;AAAA,MACf,MAAM;AAAA,MACN,UAAU;AAAA,IACZ,CAAC,EACA,OAAO,UAAU;AAAA,MAChB,MAAM;AAAA,MACN,SAAS,CAAC,WAAW,MAAM;AAAA,MAC3B,SAAS;AAAA,MACT,UAAU;AAAA,IACZ,CAAC,EACA,OAAO,QAAQ;AAAA,MACd,OAAO,CAAC,GAAG;AAAA,MACX,MAAM;AAAA,MACN,OAAO;AAAA,MACP,UAAU;AAAA,IACZ,CAAC,EACA,OAAO,SAAS;AAAA,MACf,MAAM;AAAA,MACN,UAAU;AAAA,IACZ,CAAC,EACA,OAAO,UAAU;AAAA,MAChB,MAAM;AAAA,MACN,UAAU;AAAA,IACZ,CAAC,EACA,OAAO,YAAY;AAAA,MAClB,OAAO,CAAC,GAAG;AAAA,MACX,MAAM;AAAA,MACN,UAAU;AAAA,IACZ,CAAC,EACA,OAAO,OAAO;AAAA,MACb,MAAM;AAAA,MACN,UAAU;AAAA,IACZ,CAAC,EACA,OAAO,QAAQ;AAAA,MACd,MAAM;AAAA,MACN,UAAU;AAAA,IACZ,CAAC,EACA,OAAO,WAAW;AAAA,MACjB,MAAM;AAAA,MACN,UAAU;AAAA,IACZ,CAAC,EACA,OAAO,YAAY;AAAA,MAClB,MAAM;AAAA,MACN,UAAU;AAAA,MACV,SAAS;AAAA,IACX,CAAC,EACA,OAAO,gCAAgC;AAAA,MACtC,MAAM;AAAA,MACN,UAAU;AAAA,MACV,SAAS;AAAA,IACX,CAAC;AAAA,EACL;AAAA,EACA,SAAS,OAAO,SAAS;AACvB,QAAI,UAAU,CAAC,GAAG,KAAK,SAAS,GAAI,KAAK,IAAI,KAAK,CAAC,CAAE,EAClD,IAAI,CAAC,QAAS,IAAI,SAAS,GAAG,IAAI,IAAI,IAAI,QAAQ,MAAM,KAAK,CAAC,MAAM,GAAI,EACxE,KAAK,GAAG;AAEX,UAAM,aAAa,MAAM;AACvB,UAAI,CAAC,KAAK,IAAK,QAAO;AACtB,UAAI,KAAK,OAAQ,QAAO,KAAK;AAC7B,UAAI;AACF,gBAAQ,MAAM,KAAK,GAAG;AACtB,eAAO,QAAQ,IAAI;AAAA,MACrB,QAAQ;AACN,WAAG,MAAM,mCAAmC,KAAK,GAAG;AACpD,gBAAQ,KAAK,CAAC;AAAA,MAChB;AAAA,IACF,GAAG;AAEH,UAAM,QAAyE,CAAC;AAChF,QAAI,KAAK,MAAM;AACb,YAAME,QAAO,MAAM,QAAQ,KAAK,IAAI,IAAI,KAAK,OAAO,CAAC,KAAK,IAAI;AAE9D,iBAAW,YAAYA,OAAM;AAC3B,cAAM,eAAe,KAAK,QAAQ,QAAQ,IAAI,GAAG,QAAQ;AACzD,YAAI,CAAE,MAAM,WAAW,OAAO,YAAY,GAAI;AAC5C,aAAG,MAAM,mBAAmB,QAAQ,EAAE;AACtC,kBAAQ,KAAK,CAAC;AAAA,QAChB;AAEA,cAAM,OAAQ,MAAM,WAAW,MAAM,YAAY,IAAK,4BAA4B;AAElF,cAAM,KAAK;AAAA,UACT,MAAM;AAAA,UACN,KAAK,cAAc,YAAY,EAAE;AAAA,UACjC,UAAU,KAAK,SAAS,YAAY;AAAA,UACpC;AAAA,QACF,CAAC;AAAA,MACH;AAAA,IACF;AAEA,QAAI,CAAC,QAAQ,MAAM,MAAO,YAAW,OAAQ,MAAM,IAAI,MAAM,KAAK;AAElE,QAAI,QAAQ,KAAK,EAAE,WAAW,KAAK,CAAC,KAAK,SAAS;AAChD,SAAG,MAAM,yCAAyC;AAClD,cAAQ,KAAK,CAAC;AAAA,IAChB;AAEA,QAAI,KAAK,QAAQ,CAAC,KAAK,YAAY,CAAC,KAAK,SAAS;AAChD,SAAG,MAAM,yCAAyC;AAClD,cAAQ,KAAK,CAAC;AAAA,IAChB;AAEA,UAAM,QAA4B;AAAA,MAChC;AAAA,QACE,YAAY;AAAA,QACZ,QAAQ;AAAA,QACR,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,YAAY;AAAA,QACZ,QAAQ;AAAA,QACR,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,YAAY;AAAA,QACZ,QAAQ;AAAA,QACR,SAAS;AAAA,MACX;AAAA,IACF;AAEA,aAAS,QAAQ;AACf,UAAI,KAAK,UAAU,OAAW;AAC9B,UAAI,KAAK,UAAU,GAAI,QAAO,KAAK;AACnC,aAAO,QAAQ,MAAM,GAAG,EAAE,KAAK,QAAQ,SAAS,KAAK,QAAQ;AAAA,IAC/D;AAEA,mBAAe,QAAQ,KAAqB;AAC1C,YAAM,SAAS,KAAK,YAAY,MAAM,IAAI,QAAQ,KAAK,GAAG,MAAM,KAAK,CAAC,MAAM,CAAC,EAAE,QAAQ,GAAG,KAAK,KAAK;AAEpG,UAAI,UAAU,KAAK,MAAM;AACvB,cAAM,SAAS,MAAM,IAAI,QAAQ,KAAK,EAAE,WAAW,OAAO,CAAC;AAC3D,eAAO,OAAO,MAAM;AAAA,MACtB;AAEA,UAAI,OAAQ,QAAO;AAEnB,YAAM,OAAO,MAAM;AACnB,YAAM,SAAS,MAAM,IAAI,QAAQ,OAAO,EAAE,OAAO,MAAM,YAAY,MAAM,CAAC;AAC1E,aAAO,OAAO,MAAM;AAAA,IACtB;AAEA,mBAAe,MAAM,KAAqB,WAAmB;AAC3D,YAAM,MAAM,MAAM,IAAI,OAAO,IAAI;AACjC,UAAI,CAAC,IAAI,KAAM;AACf,UAAI,IAAI,KAAK,UAAU,UAAU,CAAC,KAAK,uBAAuB,CAAC,KAAK,MAAO;AAC3E,YAAM,MAAM,MAAM,IAAI,QAAQ,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,CAAC,UAAU;AAClE,YAAI,iBAAiB,SAAS,MAAM,QAAQ,SAAS,UAAU,GAAG;AAChE,aAAG,QAAQ,GAAG,MAAM,mBAAmB,QAAQ,MAAM,OAAO;AAAA,QAC9D;AACA,eAAO,EAAE,MAAM;AAAA,MACjB,CAAC;AACD,UAAI,CAAC,IAAI,SAAS,UAAU,OAAO,IAAI,MAAM,OAAO,KAAK;AACvD,WAAG,QAAQ,GAAG,MAAM,iBAAiB,QAAQ,IAAI,KAAK,MAAM,GAAG;AAAA,MACjE;AAAA,IACF;AAEA,mBAAe,QAAQ,KAAqB;AAC1C,eAAS,KAAK,MAAgB;AAC5B,YAAI;AACF,cAAI,KAAK,SAAS,OAAQ,QAAO,KAAK,MAAuB,IAAI,CAAC;AAClE,cAAI,KAAK,SAAS,OAAQ,QAAO,KAAK,MAAuB,IAAI,CAAC;AAClE,cAAI,KAAK,SAAS,OAAQ,QAAO,KAAK,MAAuB,IAAI,CAAC;AAClE,cAAI,KAAK,SAAS,OAAQ,QAAO,KAAK,MAAuB,IAAI,CAAC;AAClE,cAAI,KAAK,SAAS,OAAQ,QAAO,KAAK,MAAuB,IAAI,CAAC;AAClE,cAAI,KAAK,SAAS,QAAS,QAAO,MAAM,MAAwB,IAAI,CAAC;AACrE,cAAI,KAAK,SAAS,WAAY,QAAO,SAAS,MAA2B,IAAI,CAAC;AAC9E,cAAI,KAAK,SAAS,OAAQ,QAAO,KAAK,MAAuB,IAAI,CAAC;AAClE,cAAI,KAAK,SAAS,aAAc,QAAO,WAAW,MAA6B,IAAI,CAAC;AACpF,cAAI,KAAK,SAAS,YAAa,QAAO,UAAU,MAA4B,IAAI,CAAC;AACjF,cAAI,KAAK,SAAS,OAAQ,QAAO,KAAK,MAAuB,IAAI,CAAC;AAClE,cAAI,KAAK,SAAS,YAAa,QAAO,KAAK,MAA4B,IAAI,CAAC;AAC5E,cAAI,KAAK,SAAS,QAAS,QAAO,MAAM,MAAwB,IAAI,CAAC;AACrE,iBAAO,SAAS,IAAI;AAAA,QACtB,QAAQ;AACN,iBAAO,SAAS,IAAI;AAAA,QACtB;AAAA,MACF;AAEA,eAAS,KAAK,MAAc,MAA+B;AACzD,YAAI,KAAK,WAAW,QAAQ;AAC1B,kBAAQ,OAAO,MAAM,KAAK,UAAU,EAAE,MAAM,WAAW,KAAK,IAAI,GAAG,WAAW,GAAG,KAAK,CAAC,IAAIC,IAAG;AAC9F,iBAAO;AAAA,QACT;AACA,eAAO;AAAA,MACT;AAEA,YAAM,SAAS,MAAM,IAAI,MAAM,UAAU;AACzC,UAAI;AAEJ,qBAAe,OAAO;AACpB,cAAM,UAAU,oBAAI,IAAqB;AAEzC,yBAAiB,SAAS,OAAO,QAAQ;AACvC,cACE,MAAM,SAAS,qBACf,MAAM,WAAW,KAAK,SAAS,eAC/B,KAAK,WAAW,UAChB,QAAQ,IAAI,OAAO,MAAM,MACzB;AACA,eAAG,MAAM;AACT,eAAG,QAAQ,KAAK,MAAM,WAAW,KAAK,KAAK,SAAM,MAAM,WAAW,KAAK,OAAO,EAAE;AAChF,eAAG,MAAM;AACT,oBAAQ,IAAI,SAAS,IAAI;AAAA,UAC3B;AAEA,cAAI,MAAM,SAAS,wBAAwB;AACzC,kBAAM,OAAO,MAAM,WAAW;AAC9B,gBAAI,KAAK,cAAc,UAAW;AAElC,gBAAI,KAAK,SAAS,WAAW,KAAK,MAAM,WAAW,eAAe,KAAK,MAAM,WAAW,UAAU;AAChG,kBAAI,KAAK,YAAY,EAAE,KAAK,CAAC,EAAG;AAChC,kBAAI,KAAK,MAAM,WAAW,aAAa;AACrC,qBAAK,IAAI;AACT;AAAA,cACF;AACA,qBAAO;AAAA,gBACL,MAAM;AAAA,gBACN,OAAO,GAAG,KAAK,IAAI;AAAA,cACrB,CAAC;AACD,iBAAG,MAAM,KAAK,MAAM,KAAK;AAAA,YAC3B;AAEA,gBACE,KAAK,SAAS,UACd,KAAK,SAAS,UACd,KAAK,MAAM,WAAW,aACtB,KAAK,WAAW,QAChB;AACA,kBAAI,QAAQ,IAAI,KAAK,EAAE,MAAM,KAAM;AACnC,mBAAK,MAAuB,IAAI,CAAC;AACjC,sBAAQ,IAAI,KAAK,IAAI,IAAI;AAAA,YAC3B;AAEA,gBAAI,KAAK,SAAS,cAAc;AAC9B,kBAAI,KAAK,cAAc,EAAE,KAAK,CAAC,EAAG;AAAA,YACpC;AAEA,gBAAI,KAAK,SAAS,eAAe;AAC/B,kBAAI,KAAK,eAAe,EAAE,KAAK,CAAC,EAAG;AAAA,YACrC;AAEA,gBAAI,KAAK,SAAS,UAAU,KAAK,MAAM,KAAK;AAC1C,kBAAI,KAAK,QAAQ,EAAE,KAAK,CAAC,EAAG;AAC5B,oBAAM,OAAO,KAAK,KAAK,KAAK;AAC5B,kBAAI,CAAC,KAAM;AACX,kBAAI,CAAC,QAAQ,OAAO,OAAO;AACzB,wBAAQ,OAAO,MAAM,OAAOA,IAAG;AAC/B;AAAA,cACF;AACA,iBAAG,MAAM;AACT,iBAAG,QAAQ,IAAI;AACf,iBAAG,MAAM;AAAA,YACX;AAEA,gBAAI,KAAK,SAAS,eAAe,KAAK,MAAM,OAAO,KAAK,UAAU;AAChE,kBAAI,KAAK,aAAa,EAAE,KAAK,CAAC,EAAG;AACjC,oBAAM,OAAO,KAAK,KAAK,KAAK;AAC5B,kBAAI,CAAC,KAAM;AACX,oBAAM,OAAO,aAAa,IAAI;AAC9B,kBAAI,QAAQ,OAAO,OAAO;AACxB,mBAAG,MAAM;AACT,mBAAG,QAAQ,GAAG,GAAG,MAAM,QAAQ,UAAY,IAAI,UAAY,GAAG,MAAM,WAAW,EAAE;AACjF,mBAAG,MAAM;AACT;AAAA,cACF;AACA,sBAAQ,OAAO,MAAM,OAAOA,IAAG;AAAA,YACjC;AAAA,UACF;AAEA,cAAI,MAAM,SAAS,iBAAiB;AAClC,kBAAMC,SAAQ,MAAM;AACpB,gBAAIA,OAAM,cAAc,aAAa,CAACA,OAAM,MAAO;AACnD,gBAAI,MAAM,OAAOA,OAAM,MAAM,IAAI;AACjC,gBAAI,UAAUA,OAAM,SAASA,OAAM,MAAM,QAAQ,aAAaA,OAAM,MAAM,MAAM;AAC9E,oBAAM,OAAOA,OAAM,MAAM,KAAK,OAAO;AAAA,YACvC;AACA,oBAAQ,QAAQ,QAAQD,OAAM,MAAM;AACpC,gBAAI,KAAK,SAAS,EAAE,OAAOC,OAAM,MAAM,CAAC,EAAG;AAC3C,eAAG,MAAM,GAAG;AAAA,UACd;AAEA,cACE,MAAM,SAAS,oBACf,MAAM,WAAW,cAAc,aAC/B,MAAM,WAAW,OAAO,SAAS,QACjC;AACA;AAAA,UACF;AAEA,cAAI,MAAM,SAAS,oBAAoB;AACrC,kBAAM,aAAa,MAAM;AACzB,gBAAI,WAAW,cAAc,UAAW;AAExC,gBAAI,KAAK,8BAA8B,GAAG;AACxC,oBAAM,IAAI,WAAW,MAAM;AAAA,gBACzB,WAAW,WAAW;AAAA,gBACtB,OAAO;AAAA,cACT,CAAC;AAAA,YACH,OAAO;AACL,iBAAG;AAAA,gBACD,GAAG,MAAM,oBAAoB;AAAA,gBAC7B,GAAG,MAAM,cACP,yBAAyB,WAAW,UAAU,KAAK,WAAW,SAAS,KAAK,IAAI,CAAC;AAAA,cACrF;AACA,oBAAM,IAAI,WAAW,MAAM;AAAA,gBACzB,WAAW,WAAW;AAAA,gBACtB,OAAO;AAAA,cACT,CAAC;AAAA,YACH;AAAA,UACF;AAAA,QACF;AAAA,MACF;AAGA,YAAM,QAAQ,OAAO,YAAY;AAC/B,YAAI,CAAC,KAAK,MAAO,QAAO;AAGxB,YAAI,KAAK,QAAQ;AACf,gBAAM,QAAQ,MAAM,IAAI,IACrB,OAAO,QAAW,EAAE,cAAc,KAAK,CAAC,EACxC,KAAK,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC,EACxB,MAAM,MAAM,MAAS;AAExB,cAAI,CAAC,OAAO;AACV,eAAG;AAAA,cACD,GAAG,MAAM,oBAAoB;AAAA,cAC7B,GAAG,MAAM;AAAA,cACT,8BAA8B,KAAK,MAAM;AAAA,YAC3C;AACA,mBAAO;AAAA,UACT;AAEA,gBAAMC,SAAQ,MAAM,KAAK,CAAC,MAAM,EAAE,SAAS,KAAK,KAAK;AACrD,cAAI,CAACA,QAAO;AACV,eAAG;AAAA,cACD,GAAG,MAAM,oBAAoB;AAAA,cAC7B,GAAG,MAAM;AAAA,cACT,UAAU,KAAK,KAAK;AAAA,YACtB;AACA,mBAAO;AAAA,UACT;AAEA,cAAIA,OAAM,SAAS,YAAY;AAC7B,eAAG;AAAA,cACD,GAAG,MAAM,oBAAoB;AAAA,cAC7B,GAAG,MAAM;AAAA,cACT,UAAU,KAAK,KAAK;AAAA,YACtB;AACA,mBAAO;AAAA,UACT;AAEA,iBAAO,KAAK;AAAA,QACd;AAEA,cAAM,QAAQ,MAAM,MAAM,IAAI,KAAK,KAAK;AACxC,YAAI,CAAC,OAAO;AACV,aAAG;AAAA,YACD,GAAG,MAAM,oBAAoB;AAAA,YAC7B,GAAG,MAAM;AAAA,YACT,UAAU,KAAK,KAAK;AAAA,UACtB;AACA,iBAAO;AAAA,QACT;AACA,YAAI,MAAM,SAAS,YAAY;AAC7B,aAAG;AAAA,YACD,GAAG,MAAM,oBAAoB;AAAA,YAC7B,GAAG,MAAM;AAAA,YACT,UAAU,KAAK,KAAK;AAAA,UACtB;AACA,iBAAO;AAAA,QACT;AACA,eAAO,KAAK;AAAA,MACd,GAAG;AAEH,YAAM,YAAY,MAAM,QAAQ,GAAG;AACnC,UAAI,CAAC,WAAW;AACd,WAAG,MAAM,mBAAmB;AAC5B,gBAAQ,KAAK,CAAC;AAAA,MAChB;AACA,YAAM,MAAM,KAAK,SAAS;AAE1B,WAAK,EAAE,MAAM,CAAC,MAAM;AAClB,gBAAQ,MAAM,CAAC;AACf,gBAAQ,KAAK,CAAC;AAAA,MAChB,CAAC;AAED,UAAI,KAAK,SAAS;AAChB,cAAM,IAAI,QAAQ,QAAQ;AAAA,UACxB;AAAA,UACA;AAAA,UACA,OAAO,KAAK;AAAA,UACZ,SAAS,KAAK;AAAA,UACd,WAAW;AAAA,UACX,SAAS,KAAK;AAAA,QAChB,CAAC;AAAA,MACH,OAAO;AACL,cAAM,QAAQ,KAAK,QAAQ,SAAS,WAAW,KAAK,KAAK,IAAI;AAC7D,cAAM,IAAI,QAAQ,OAAO;AAAA,UACvB;AAAA,UACA;AAAA,UACA;AAAA,UACA,SAAS,KAAK;AAAA,UACd,OAAO,CAAC,GAAG,OAAO,EAAE,MAAM,QAAQ,MAAM,QAAQ,CAAC;AAAA,QACnD,CAAC;AAAA,MACH;AAAA,IACF;AAEA,QAAI,KAAK,QAAQ;AACf,YAAM,WAAW,MAAM;AACrB,cAAM,WAAW,KAAK,YAAY,QAAQ,IAAI;AAC9C,YAAI,CAAC,SAAU,QAAO;AACtB,cAAM,WAAW,QAAQ,IAAI,4BAA4B;AACzD,cAAM,OAAO,SAAS,OAAO,KAAK,GAAG,QAAQ,IAAI,QAAQ,EAAE,EAAE,SAAS,QAAQ,CAAC;AAC/E,eAAO,EAAE,eAAe,KAAK;AAAA,MAC/B,GAAG;AACH,YAAM,MAAM,qBAAqB,EAAE,SAAS,KAAK,QAAQ,WAAW,QAAQ,CAAC;AAC7E,aAAO,MAAM,QAAQ,GAAG;AAAA,IAC1B;AAEA,UAAM,UAAU,QAAQ,IAAI,GAAG,YAAY;AACzC,YAAM,WAAW,OAAO,OAA0B,SAAuB;AACvE,cAAM,UAAU,IAAI,QAAQ,OAAO,IAAI;AACvC,eAAO,OAAO,QAAQ,EAAE,MAAM,OAAO;AAAA,MACvC;AACA,YAAM,MAAM,qBAAqB,EAAE,SAAS,4BAA4B,OAAO,QAAQ,CAAC;AACxF,YAAM,QAAQ,GAAG;AAAA,IACnB,CAAC;AAAA,EACH;AACF,CAAC;",
6
6
  "names": ["UI", "logo", "result", "EOL", "joinedValues", "path", "config", "request", "error", "finalError", "url", "Provider", "Instance", "fallback", "client", "Locale", "hours", "list", "EOL", "props", "agent"]
7
7
  }