agentstudio 0.1.18 → 0.1.21

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 (664) hide show
  1. package/README.md +26 -505
  2. package/bin/agentstudio.js +305 -0
  3. package/bin/agentstudio.js.map +1 -0
  4. package/bin/serviceManager.d.ts +16 -0
  5. package/bin/serviceManager.d.ts.map +1 -0
  6. package/bin/serviceManager.js +434 -0
  7. package/bin/serviceManager.js.map +1 -0
  8. package/config/index.d.ts +74 -0
  9. package/config/index.d.ts.map +1 -0
  10. package/config/index.js +166 -0
  11. package/config/index.js.map +1 -0
  12. package/config/paths.d.ts +81 -0
  13. package/config/paths.d.ts.map +1 -0
  14. package/config/paths.js +98 -0
  15. package/config/paths.js.map +1 -0
  16. package/index.d.ts +4 -0
  17. package/index.d.ts.map +1 -0
  18. package/index.js +369 -0
  19. package/index.js.map +1 -0
  20. package/jobs/taskTimeoutMonitor.d.ts +25 -0
  21. package/jobs/taskTimeoutMonitor.d.ts.map +1 -0
  22. package/jobs/taskTimeoutMonitor.js +94 -0
  23. package/jobs/taskTimeoutMonitor.js.map +1 -0
  24. package/middleware/a2aAuth.d.ts +38 -0
  25. package/middleware/a2aAuth.d.ts.map +1 -0
  26. package/middleware/a2aAuth.js +134 -0
  27. package/middleware/a2aAuth.js.map +1 -0
  28. package/{backend/dist/middleware → middleware}/auth.d.ts +3 -1
  29. package/middleware/auth.d.ts.map +1 -0
  30. package/middleware/auth.js +35 -0
  31. package/middleware/auth.js.map +1 -0
  32. package/middleware/httpsOnly.d.ts +38 -0
  33. package/middleware/httpsOnly.d.ts.map +1 -0
  34. package/middleware/httpsOnly.js +105 -0
  35. package/middleware/httpsOnly.js.map +1 -0
  36. package/middleware/rateLimiting.d.ts +37 -0
  37. package/middleware/rateLimiting.d.ts.map +1 -0
  38. package/middleware/rateLimiting.js +118 -0
  39. package/middleware/rateLimiting.js.map +1 -0
  40. package/package.json +43 -38
  41. package/public/assets/AgentsPage-Nvg2xu6K.js +10 -0
  42. package/public/assets/Button-Co56C389.js +1 -0
  43. package/public/assets/ChatPage-D6sol0ad.js +442 -0
  44. package/public/assets/CommandForm-Bk7F_HU8.js +7 -0
  45. package/public/assets/CommandsPage-DZHyOdKd.js +1 -0
  46. package/public/assets/DashboardPage-29qC7Ev1.js +15 -0
  47. package/public/assets/FileBrowser-BYweUPH4.js +6 -0
  48. package/public/assets/FileExplorer-DNYj6Tsx.js +1 -0
  49. package/public/assets/GeneralSettingsPage-D9Xa7Nd8.js +1 -0
  50. package/public/assets/LandingPage-CjnT-cvO.js +1 -0
  51. package/public/assets/LoginPage-DcaGNCXH.js +16 -0
  52. package/public/assets/McpAdminSettingsPage-DgR3E2Bd.js +7 -0
  53. package/public/assets/McpPage-CtWf1CoL.js +40 -0
  54. package/public/assets/MemorySettingsPage-JTry4Ccp.js +1 -0
  55. package/public/assets/PluginsPage-D-BHjQ3P.js +1 -0
  56. package/public/assets/ProjectSelector-DSXOjMQC.js +1 -0
  57. package/public/assets/ProjectsPage-lLUk4-Xa.js +21 -0
  58. package/public/assets/ScheduledTasksPage-5hPbd9Vs.js +1 -0
  59. package/public/assets/SettingsLayout-DGJspXLp.js +1 -0
  60. package/public/assets/SkillsPage-DBw0m7D2.js +18 -0
  61. package/{backend/dist/frontend/assets/SubagentForm-DXtTTIKg.js → public/assets/SubagentForm-BdUK1U4y.js} +2 -2
  62. package/public/assets/SubagentsPage-Dnq70IFd.js +1 -0
  63. package/{backend/dist/frontend/assets/ToastTestPage-DT4wuN5C.js → public/assets/ToastTestPage-BfJQRFIm.js} +1 -1
  64. package/public/assets/ToolsList-Dl5F2fWk.js +1 -0
  65. package/public/assets/UnifiedToolSelector-CNbPsiuq.js +1 -0
  66. package/public/assets/VersionSettingsPage-BfoCcham.js +5 -0
  67. package/public/assets/_basePickBy-7C_e0Xv1.js +1 -0
  68. package/public/assets/_baseUniq-eGJNLBzx.js +1 -0
  69. package/public/assets/agents-ChrA1R0y.js +1 -0
  70. package/public/assets/arc-CuA752eE.js +1 -0
  71. package/public/assets/architectureDiagram-VXUJARFQ-BnPYh1OW.js +36 -0
  72. package/public/assets/blockDiagram-VD42YOAC-72nsMt_i.js +122 -0
  73. package/public/assets/c4Diagram-YG6GDRKO-BNJSAXcg.js +10 -0
  74. package/public/assets/channel-CIunGC5m.js +1 -0
  75. package/public/assets/chunk-4BX2VUAB-RPxkCWhH.js +1 -0
  76. package/public/assets/chunk-55IACEB6-3ePDt0kp.js +1 -0
  77. package/public/assets/chunk-B4BG7PRW-CBg_BBfl.js +165 -0
  78. package/public/assets/chunk-DI55MBZ5-DIh69TUJ.js +220 -0
  79. package/public/assets/chunk-FMBD7UC4-BbjwhyTe.js +15 -0
  80. package/public/assets/chunk-QN33PNHL-BpH-o_YR.js +1 -0
  81. package/public/assets/chunk-QZHKN3VN-DYB7rh5Q.js +1 -0
  82. package/public/assets/chunk-TZMSLE5B-DPCYEVb3.js +1 -0
  83. package/public/assets/classDiagram-2ON5EDUG-aUQHFsTA.js +1 -0
  84. package/public/assets/classDiagram-v2-WZHVMYZB-aUQHFsTA.js +1 -0
  85. package/public/assets/clone-Ckf7tA1V.js +1 -0
  86. package/public/assets/cose-bilkent-S5V4N54A-CnpfmL-Y.js +1 -0
  87. package/public/assets/cytoscape.esm-DtBltrT8.js +331 -0
  88. package/public/assets/dagre-6UL2VRFP-DR9x77Xf.js +4 -0
  89. package/{backend/dist/frontend/assets/data-structures-DLJedtzx.js → public/assets/data-structures-C0h9Oap1.js} +1 -1
  90. package/public/assets/defaultLocale-C4B-KCzX.js +1 -0
  91. package/public/assets/diagram-PSM6KHXK-SONPsQNx.js +24 -0
  92. package/public/assets/diagram-QEK2KX5R-BKYFSfC1.js +43 -0
  93. package/public/assets/diagram-S2PKOQOG-CkM0APZj.js +24 -0
  94. package/public/assets/erDiagram-Q2GNP2WA-BX1DpOGx.js +60 -0
  95. package/public/assets/flowDiagram-NV44I4VS-HAAlzNbq.js +162 -0
  96. package/public/assets/ganttDiagram-LVOFAZNH-BqzWexqa.js +267 -0
  97. package/public/assets/gitGraphDiagram-NY62KEGX-CIPmSp43.js +65 -0
  98. package/public/assets/graph-m515btDj.js +1 -0
  99. package/public/assets/index-Bn3v3S9-.js +293 -0
  100. package/public/assets/index-DWieeYj4.css +1 -0
  101. package/public/assets/infoDiagram-F6ZHWCRC-Pn4yNWrF.js +2 -0
  102. package/public/assets/init-Gi6I4Gst.js +1 -0
  103. package/public/assets/journeyDiagram-XKPGCS4Q-BfzTomS0.js +139 -0
  104. package/public/assets/kanban-definition-3W4ZIXB7-Cgju7b-L.js +89 -0
  105. package/public/assets/katex-qrhCpa0F.js +261 -0
  106. package/public/assets/layout-BKQfQSxJ.js +1 -0
  107. package/public/assets/linear-DigtLz3B.js +1 -0
  108. package/public/assets/mindmap-definition-VGOIOE7T-qopraVFy.js +68 -0
  109. package/public/assets/monaco-editor-DHKm5-VF.js +19 -0
  110. package/public/assets/ordinal-Cboi1Yqb.js +1 -0
  111. package/public/assets/pieDiagram-ADFJNKIX-BcoaAI-L.js +30 -0
  112. package/public/assets/quadrantDiagram-AYHSOK5B-D-DwcoSd.js +7 -0
  113. package/public/assets/requirementDiagram-UZGBJVZJ-DbQCpx77.js +64 -0
  114. package/public/assets/sankeyDiagram-TZEHDZUN-BVk8387S.js +10 -0
  115. package/public/assets/sequenceDiagram-WL72ISMW-BdzICjxO.js +145 -0
  116. package/public/assets/stateDiagram-FKZM4ZOC-CYY-uUvJ.js +1 -0
  117. package/public/assets/stateDiagram-v2-4FDKWEC3-Dh2Kvomq.js +1 -0
  118. package/{backend/dist/frontend/assets/syntax-highlighting-YWvMU4Hm.js → public/assets/syntax-highlighting-CnREyncB.js} +5 -5
  119. package/public/assets/tabManager-B2LQO_Ll.js +30 -0
  120. package/{backend/dist/frontend/assets/table-D6q1rytw.js → public/assets/table-D0L2RL5i.js} +1 -1
  121. package/public/assets/timeline-definition-IT6M3QCI-BAvjPYvX.js +61 -0
  122. package/public/assets/tools-IcPNZlPj.js +1 -0
  123. package/public/assets/treemap-KMMF4GRG-DtkpVA56.js +128 -0
  124. package/{backend/dist/frontend/assets/ui-components-Cw21Epuw.js → public/assets/ui-components-D1St49qC.js} +231 -96
  125. package/public/assets/useAgents-BnDTkOG8.js +2 -0
  126. package/public/assets/useClaudeVersions-CD59tFWM.js +1 -0
  127. package/public/assets/useCommands-mvMu3mMD.js +1 -0
  128. package/public/assets/useProjects-YXOjaOwL.js +1 -0
  129. package/public/assets/xychartDiagram-PRI3JC2R-ByBTDWE2.js +7 -0
  130. package/{backend/dist/frontend → public}/index.html +8 -8
  131. package/routes/__tests__/a2a.integration.test.d.ts +11 -0
  132. package/routes/__tests__/a2a.integration.test.d.ts.map +1 -0
  133. package/routes/__tests__/a2a.integration.test.js +314 -0
  134. package/routes/__tests__/a2a.integration.test.js.map +1 -0
  135. package/routes/__tests__/a2a.test.d.ts +6 -0
  136. package/routes/__tests__/a2a.test.d.ts.map +1 -0
  137. package/routes/__tests__/a2a.test.js +622 -0
  138. package/routes/__tests__/a2a.test.js.map +1 -0
  139. package/routes/__tests__/agents.test.d.ts +6 -0
  140. package/routes/__tests__/agents.test.d.ts.map +1 -0
  141. package/routes/__tests__/agents.test.js +315 -0
  142. package/routes/__tests__/agents.test.js.map +1 -0
  143. package/routes/__tests__/sessions.test.d.ts +7 -0
  144. package/routes/__tests__/sessions.test.d.ts.map +1 -0
  145. package/routes/__tests__/sessions.test.js +330 -0
  146. package/routes/__tests__/sessions.test.js.map +1 -0
  147. package/routes/a2a.d.ts +18 -0
  148. package/routes/a2a.d.ts.map +1 -0
  149. package/routes/a2a.js +649 -0
  150. package/routes/a2a.js.map +1 -0
  151. package/routes/a2a.streaming.test.d.ts +2 -0
  152. package/routes/a2a.streaming.test.d.ts.map +1 -0
  153. package/routes/a2a.streaming.test.js +167 -0
  154. package/routes/a2a.streaming.test.js.map +1 -0
  155. package/routes/a2aManagement.d.ts +21 -0
  156. package/routes/a2aManagement.d.ts.map +1 -0
  157. package/routes/a2aManagement.js +466 -0
  158. package/routes/a2aManagement.js.map +1 -0
  159. package/{backend/dist/routes → routes}/agents.d.ts.map +1 -1
  160. package/routes/agents.js +997 -0
  161. package/routes/agents.js.map +1 -0
  162. package/{backend/dist/routes → routes}/auth.d.ts.map +1 -1
  163. package/routes/auth.js +135 -0
  164. package/routes/auth.js.map +1 -0
  165. package/{backend/dist/routes → routes}/commands.d.ts.map +1 -1
  166. package/{backend/dist/routes → routes}/commands.js +115 -31
  167. package/routes/commands.js.map +1 -0
  168. package/routes/config.d.ts +4 -0
  169. package/routes/config.d.ts.map +1 -0
  170. package/routes/config.js +211 -0
  171. package/routes/config.js.map +1 -0
  172. package/{backend/dist/routes → routes}/files.d.ts.map +1 -1
  173. package/{backend/dist/routes → routes}/files.js +103 -43
  174. package/routes/files.js.map +1 -0
  175. package/routes/mcp.d.ts +27 -0
  176. package/routes/mcp.d.ts.map +1 -0
  177. package/{backend/dist/routes → routes}/mcp.js +195 -105
  178. package/routes/mcp.js.map +1 -0
  179. package/routes/mcpAdmin.d.ts +16 -0
  180. package/routes/mcpAdmin.d.ts.map +1 -0
  181. package/routes/mcpAdmin.js +308 -0
  182. package/routes/mcpAdmin.js.map +1 -0
  183. package/routes/mcpAdminManagement.d.ts +17 -0
  184. package/routes/mcpAdminManagement.d.ts.map +1 -0
  185. package/routes/mcpAdminManagement.js +345 -0
  186. package/routes/mcpAdminManagement.js.map +1 -0
  187. package/routes/media.d.ts.map +1 -0
  188. package/{backend/dist/routes → routes}/media.js +52 -42
  189. package/routes/media.js.map +1 -0
  190. package/routes/mediaAuth.d.ts +8 -0
  191. package/routes/mediaAuth.d.ts.map +1 -0
  192. package/routes/mediaAuth.js +136 -0
  193. package/routes/mediaAuth.js.map +1 -0
  194. package/routes/plugins.d.ts +4 -0
  195. package/routes/plugins.d.ts.map +1 -0
  196. package/routes/plugins.js +339 -0
  197. package/routes/plugins.js.map +1 -0
  198. package/{backend/dist/routes → routes}/projects.d.ts.map +1 -1
  199. package/routes/projects.js +884 -0
  200. package/routes/projects.js.map +1 -0
  201. package/routes/scheduledTasks.d.ts +9 -0
  202. package/routes/scheduledTasks.d.ts.map +1 -0
  203. package/routes/scheduledTasks.js +320 -0
  204. package/routes/scheduledTasks.js.map +1 -0
  205. package/{backend/dist/routes → routes}/sessions.d.ts.map +1 -1
  206. package/{backend/dist/routes → routes}/sessions.js +258 -39
  207. package/routes/sessions.js.map +1 -0
  208. package/{backend/dist/routes → routes}/settings.d.ts.map +1 -1
  209. package/{backend/dist/routes → routes}/settings.js +82 -241
  210. package/routes/settings.js.map +1 -0
  211. package/{backend/dist/routes/mcp.d.ts → routes/skills.d.ts} +1 -1
  212. package/routes/skills.d.ts.map +1 -0
  213. package/routes/skills.js +272 -0
  214. package/routes/skills.js.map +1 -0
  215. package/routes/slack.d.ts +10 -0
  216. package/routes/slack.d.ts.map +1 -0
  217. package/routes/slack.js +189 -0
  218. package/routes/slack.js.map +1 -0
  219. package/{backend/dist/routes → routes}/slides.d.ts.map +1 -1
  220. package/{backend/dist/routes → routes}/slides.js +29 -27
  221. package/routes/slides.js.map +1 -0
  222. package/{backend/dist/routes → routes}/subagents.js +27 -22
  223. package/routes/subagents.js.map +1 -0
  224. package/schemas/a2a.d.ts +858 -0
  225. package/schemas/a2a.d.ts.map +1 -0
  226. package/schemas/a2a.js +300 -0
  227. package/schemas/a2a.js.map +1 -0
  228. package/scripts/postinstall.js +10 -0
  229. package/services/__tests__/pluginInstaller.test.d.ts +5 -0
  230. package/services/__tests__/pluginInstaller.test.d.ts.map +1 -0
  231. package/services/__tests__/pluginInstaller.test.js +290 -0
  232. package/services/__tests__/pluginInstaller.test.js.map +1 -0
  233. package/services/__tests__/pluginParser.test.d.ts +5 -0
  234. package/services/__tests__/pluginParser.test.d.ts.map +1 -0
  235. package/services/__tests__/pluginParser.test.js +272 -0
  236. package/services/__tests__/pluginParser.test.js.map +1 -0
  237. package/services/__tests__/pluginPaths.test.d.ts +5 -0
  238. package/services/__tests__/pluginPaths.test.d.ts.map +1 -0
  239. package/services/__tests__/pluginPaths.test.js +221 -0
  240. package/services/__tests__/pluginPaths.test.js.map +1 -0
  241. package/services/__tests__/pluginScanner.test.d.ts +5 -0
  242. package/services/__tests__/pluginScanner.test.d.ts.map +1 -0
  243. package/services/__tests__/pluginScanner.test.js +272 -0
  244. package/services/__tests__/pluginScanner.test.js.map +1 -0
  245. package/services/__tests__/pluginSymlink.test.d.ts +5 -0
  246. package/services/__tests__/pluginSymlink.test.d.ts.map +1 -0
  247. package/services/__tests__/pluginSymlink.test.js +318 -0
  248. package/services/__tests__/pluginSymlink.test.js.map +1 -0
  249. package/services/__tests__/slackAIService.test.d.ts +5 -0
  250. package/services/__tests__/slackAIService.test.d.ts.map +1 -0
  251. package/services/__tests__/slackAIService.test.js +477 -0
  252. package/services/__tests__/slackAIService.test.js.map +1 -0
  253. package/services/__tests__/slackThreadMapper.test.d.ts +5 -0
  254. package/services/__tests__/slackThreadMapper.test.d.ts.map +1 -0
  255. package/services/__tests__/slackThreadMapper.test.js +194 -0
  256. package/services/__tests__/slackThreadMapper.test.js.map +1 -0
  257. package/services/a2a/__tests__/a2aClientTool.integration.test.d.ts +6 -0
  258. package/services/a2a/__tests__/a2aClientTool.integration.test.d.ts.map +1 -0
  259. package/services/a2a/__tests__/a2aClientTool.integration.test.js +264 -0
  260. package/services/a2a/__tests__/a2aClientTool.integration.test.js.map +1 -0
  261. package/services/a2a/__tests__/a2aClientTool.test.d.ts +6 -0
  262. package/services/a2a/__tests__/a2aClientTool.test.d.ts.map +1 -0
  263. package/services/a2a/__tests__/a2aClientTool.test.js +418 -0
  264. package/services/a2a/__tests__/a2aClientTool.test.js.map +1 -0
  265. package/services/a2a/__tests__/a2aConfigService.test.d.ts +6 -0
  266. package/services/a2a/__tests__/a2aConfigService.test.d.ts.map +1 -0
  267. package/services/a2a/__tests__/a2aConfigService.test.js +431 -0
  268. package/services/a2a/__tests__/a2aConfigService.test.js.map +1 -0
  269. package/services/a2a/__tests__/a2aConfigServicePath.test.d.ts +2 -0
  270. package/services/a2a/__tests__/a2aConfigServicePath.test.d.ts.map +1 -0
  271. package/services/a2a/__tests__/a2aConfigServicePath.test.js +49 -0
  272. package/services/a2a/__tests__/a2aConfigServicePath.test.js.map +1 -0
  273. package/services/a2a/__tests__/a2aSdkMcp.test.d.ts +10 -0
  274. package/services/a2a/__tests__/a2aSdkMcp.test.d.ts.map +1 -0
  275. package/services/a2a/__tests__/a2aSdkMcp.test.js +239 -0
  276. package/services/a2a/__tests__/a2aSdkMcp.test.js.map +1 -0
  277. package/services/a2a/__tests__/agentCardService.test.d.ts +6 -0
  278. package/services/a2a/__tests__/agentCardService.test.d.ts.map +1 -0
  279. package/services/a2a/__tests__/agentCardService.test.js +292 -0
  280. package/services/a2a/__tests__/agentCardService.test.js.map +1 -0
  281. package/services/a2a/__tests__/apiKeyService.test.d.ts +6 -0
  282. package/services/a2a/__tests__/apiKeyService.test.d.ts.map +1 -0
  283. package/services/a2a/__tests__/apiKeyService.test.js +284 -0
  284. package/services/a2a/__tests__/apiKeyService.test.js.map +1 -0
  285. package/services/a2a/__tests__/buildQueryOptionsIntegration.test.d.ts +2 -0
  286. package/services/a2a/__tests__/buildQueryOptionsIntegration.test.d.ts.map +1 -0
  287. package/services/a2a/__tests__/buildQueryOptionsIntegration.test.js +70 -0
  288. package/services/a2a/__tests__/buildQueryOptionsIntegration.test.js.map +1 -0
  289. package/services/a2a/__tests__/dynamic_config_verification.test.d.ts +2 -0
  290. package/services/a2a/__tests__/dynamic_config_verification.test.d.ts.map +1 -0
  291. package/services/a2a/__tests__/dynamic_config_verification.test.js +67 -0
  292. package/services/a2a/__tests__/dynamic_config_verification.test.js.map +1 -0
  293. package/services/a2a/__tests__/integrateA2AMcpServer.test.d.ts +2 -0
  294. package/services/a2a/__tests__/integrateA2AMcpServer.test.d.ts.map +1 -0
  295. package/services/a2a/__tests__/integrateA2AMcpServer.test.js +112 -0
  296. package/services/a2a/__tests__/integrateA2AMcpServer.test.js.map +1 -0
  297. package/services/a2a/__tests__/taskManager.integration.test.d.ts +7 -0
  298. package/services/a2a/__tests__/taskManager.integration.test.d.ts.map +1 -0
  299. package/services/a2a/__tests__/taskManager.integration.test.js +346 -0
  300. package/services/a2a/__tests__/taskManager.integration.test.js.map +1 -0
  301. package/services/a2a/__tests__/taskManager.test.d.ts +7 -0
  302. package/services/a2a/__tests__/taskManager.test.d.ts.map +1 -0
  303. package/services/a2a/__tests__/taskManager.test.js +423 -0
  304. package/services/a2a/__tests__/taskManager.test.js.map +1 -0
  305. package/services/a2a/a2aClientTool.d.ts +73 -0
  306. package/services/a2a/a2aClientTool.d.ts.map +1 -0
  307. package/services/a2a/a2aClientTool.js +572 -0
  308. package/services/a2a/a2aClientTool.js.map +1 -0
  309. package/services/a2a/a2aConfigService.d.ts +50 -0
  310. package/services/a2a/a2aConfigService.d.ts.map +1 -0
  311. package/services/a2a/a2aConfigService.js +186 -0
  312. package/services/a2a/a2aConfigService.js.map +1 -0
  313. package/services/a2a/a2aHistoryService.d.ts +32 -0
  314. package/services/a2a/a2aHistoryService.d.ts.map +1 -0
  315. package/services/a2a/a2aHistoryService.js +108 -0
  316. package/services/a2a/a2aHistoryService.js.map +1 -0
  317. package/services/a2a/a2aIntegration.d.ts +9 -0
  318. package/services/a2a/a2aIntegration.d.ts.map +1 -0
  319. package/services/a2a/a2aIntegration.js +41 -0
  320. package/services/a2a/a2aIntegration.js.map +1 -0
  321. package/services/a2a/a2aQueryService.d.ts +71 -0
  322. package/services/a2a/a2aQueryService.d.ts.map +1 -0
  323. package/services/a2a/a2aQueryService.js +166 -0
  324. package/services/a2a/a2aQueryService.js.map +1 -0
  325. package/services/a2a/a2aSdkMcp.d.ts +51 -0
  326. package/services/a2a/a2aSdkMcp.d.ts.map +1 -0
  327. package/services/a2a/a2aSdkMcp.js +185 -0
  328. package/services/a2a/a2aSdkMcp.js.map +1 -0
  329. package/services/a2a/a2aStreamEvents.d.ts +94 -0
  330. package/services/a2a/a2aStreamEvents.d.ts.map +1 -0
  331. package/services/a2a/a2aStreamEvents.js +92 -0
  332. package/services/a2a/a2aStreamEvents.js.map +1 -0
  333. package/services/a2a/agentCardService.d.ts +34 -0
  334. package/services/a2a/agentCardService.d.ts.map +1 -0
  335. package/services/a2a/agentCardService.js +228 -0
  336. package/services/a2a/agentCardService.js.map +1 -0
  337. package/services/a2a/agentMappingService.d.ts +53 -0
  338. package/services/a2a/agentMappingService.d.ts.map +1 -0
  339. package/services/a2a/agentMappingService.js +185 -0
  340. package/services/a2a/agentMappingService.js.map +1 -0
  341. package/services/a2a/apiKeyService.d.ts +101 -0
  342. package/services/a2a/apiKeyService.d.ts.map +1 -0
  343. package/services/a2a/apiKeyService.js +314 -0
  344. package/services/a2a/apiKeyService.js.map +1 -0
  345. package/services/a2a/taskCleanup.d.ts +30 -0
  346. package/services/a2a/taskCleanup.d.ts.map +1 -0
  347. package/services/a2a/taskCleanup.js +184 -0
  348. package/services/a2a/taskCleanup.js.map +1 -0
  349. package/services/a2a/taskManager.d.ts +86 -0
  350. package/services/a2a/taskManager.d.ts.map +1 -0
  351. package/services/a2a/taskManager.js +263 -0
  352. package/services/a2a/taskManager.js.map +1 -0
  353. package/services/agentStorage.d.ts +27 -0
  354. package/services/agentStorage.d.ts.map +1 -0
  355. package/services/agentStorage.js +487 -0
  356. package/services/agentStorage.js.map +1 -0
  357. package/services/askUserQuestion/askUserQuestionIntegration.d.ts +24 -0
  358. package/services/askUserQuestion/askUserQuestionIntegration.d.ts.map +1 -0
  359. package/services/askUserQuestion/askUserQuestionIntegration.js +52 -0
  360. package/services/askUserQuestion/askUserQuestionIntegration.js.map +1 -0
  361. package/services/askUserQuestion/askUserQuestionMcp.d.ts +103 -0
  362. package/services/askUserQuestion/askUserQuestionMcp.d.ts.map +1 -0
  363. package/services/askUserQuestion/askUserQuestionMcp.js +129 -0
  364. package/services/askUserQuestion/askUserQuestionMcp.js.map +1 -0
  365. package/services/askUserQuestion/index.d.ts +13 -0
  366. package/services/askUserQuestion/index.d.ts.map +1 -0
  367. package/services/askUserQuestion/index.js +35 -0
  368. package/services/askUserQuestion/index.js.map +1 -0
  369. package/services/askUserQuestion/init.d.ts +17 -0
  370. package/services/askUserQuestion/init.d.ts.map +1 -0
  371. package/services/askUserQuestion/init.js +47 -0
  372. package/services/askUserQuestion/init.js.map +1 -0
  373. package/services/askUserQuestion/notificationChannel.d.ts +97 -0
  374. package/services/askUserQuestion/notificationChannel.d.ts.map +1 -0
  375. package/services/askUserQuestion/notificationChannel.js +147 -0
  376. package/services/askUserQuestion/notificationChannel.js.map +1 -0
  377. package/services/askUserQuestion/slackNotificationChannel.d.ts +35 -0
  378. package/services/askUserQuestion/slackNotificationChannel.d.ts.map +1 -0
  379. package/services/askUserQuestion/slackNotificationChannel.js +129 -0
  380. package/services/askUserQuestion/slackNotificationChannel.js.map +1 -0
  381. package/services/askUserQuestion/sseNotificationChannel.d.ts +36 -0
  382. package/services/askUserQuestion/sseNotificationChannel.d.ts.map +1 -0
  383. package/services/askUserQuestion/sseNotificationChannel.js +88 -0
  384. package/services/askUserQuestion/sseNotificationChannel.js.map +1 -0
  385. package/services/askUserQuestion/userInputRegistry.d.ts +107 -0
  386. package/services/askUserQuestion/userInputRegistry.d.ts.map +1 -0
  387. package/services/askUserQuestion/userInputRegistry.js +253 -0
  388. package/services/askUserQuestion/userInputRegistry.js.map +1 -0
  389. package/{backend/dist/services → services}/claudeSession.d.ts +20 -5
  390. package/services/claudeSession.d.ts.map +1 -0
  391. package/{backend/dist/services → services}/claudeSession.js +123 -41
  392. package/services/claudeSession.js.map +1 -0
  393. package/services/claudeVersionStorage.d.ts +20 -0
  394. package/services/claudeVersionStorage.d.ts.map +1 -0
  395. package/services/claudeVersionStorage.js +331 -0
  396. package/services/claudeVersionStorage.js.map +1 -0
  397. package/services/mcpAdmin/__tests__/adminApiKeyService.test.d.ts +5 -0
  398. package/services/mcpAdmin/__tests__/adminApiKeyService.test.d.ts.map +1 -0
  399. package/services/mcpAdmin/__tests__/adminApiKeyService.test.js +289 -0
  400. package/services/mcpAdmin/__tests__/adminApiKeyService.test.js.map +1 -0
  401. package/services/mcpAdmin/__tests__/mcpAdminRoutes.test.d.ts +5 -0
  402. package/services/mcpAdmin/__tests__/mcpAdminRoutes.test.d.ts.map +1 -0
  403. package/services/mcpAdmin/__tests__/mcpAdminRoutes.test.js +345 -0
  404. package/services/mcpAdmin/__tests__/mcpAdminRoutes.test.js.map +1 -0
  405. package/services/mcpAdmin/__tests__/mcpAdminServer.test.d.ts +5 -0
  406. package/services/mcpAdmin/__tests__/mcpAdminServer.test.d.ts.map +1 -0
  407. package/services/mcpAdmin/__tests__/mcpAdminServer.test.js +453 -0
  408. package/services/mcpAdmin/__tests__/mcpAdminServer.test.js.map +1 -0
  409. package/services/mcpAdmin/__tests__/tools.test.d.ts +5 -0
  410. package/services/mcpAdmin/__tests__/tools.test.d.ts.map +1 -0
  411. package/services/mcpAdmin/__tests__/tools.test.js +371 -0
  412. package/services/mcpAdmin/__tests__/tools.test.js.map +1 -0
  413. package/services/mcpAdmin/adminApiKeyService.d.ts +61 -0
  414. package/services/mcpAdmin/adminApiKeyService.d.ts.map +1 -0
  415. package/services/mcpAdmin/adminApiKeyService.js +270 -0
  416. package/services/mcpAdmin/adminApiKeyService.js.map +1 -0
  417. package/services/mcpAdmin/index.d.ts +10 -0
  418. package/services/mcpAdmin/index.d.ts.map +1 -0
  419. package/services/mcpAdmin/index.js +43 -0
  420. package/services/mcpAdmin/index.js.map +1 -0
  421. package/services/mcpAdmin/mcpAdminServer.d.ts +76 -0
  422. package/services/mcpAdmin/mcpAdminServer.d.ts.map +1 -0
  423. package/services/mcpAdmin/mcpAdminServer.js +243 -0
  424. package/services/mcpAdmin/mcpAdminServer.js.map +1 -0
  425. package/services/mcpAdmin/tools/agentTools.d.ts +27 -0
  426. package/services/mcpAdmin/tools/agentTools.d.ts.map +1 -0
  427. package/services/mcpAdmin/tools/agentTools.js +359 -0
  428. package/services/mcpAdmin/tools/agentTools.js.map +1 -0
  429. package/services/mcpAdmin/tools/index.d.ts +15 -0
  430. package/services/mcpAdmin/tools/index.d.ts.map +1 -0
  431. package/services/mcpAdmin/tools/index.js +30 -0
  432. package/services/mcpAdmin/tools/index.js.map +1 -0
  433. package/services/mcpAdmin/tools/mcpServerTools.d.ts +27 -0
  434. package/services/mcpAdmin/tools/mcpServerTools.d.ts.map +1 -0
  435. package/services/mcpAdmin/tools/mcpServerTools.js +334 -0
  436. package/services/mcpAdmin/tools/mcpServerTools.js.map +1 -0
  437. package/services/mcpAdmin/tools/projectTools.d.ts +27 -0
  438. package/services/mcpAdmin/tools/projectTools.d.ts.map +1 -0
  439. package/services/mcpAdmin/tools/projectTools.js +353 -0
  440. package/services/mcpAdmin/tools/projectTools.js.map +1 -0
  441. package/services/mcpAdmin/tools/systemTools.d.ts +23 -0
  442. package/services/mcpAdmin/tools/systemTools.d.ts.map +1 -0
  443. package/services/mcpAdmin/tools/systemTools.js +241 -0
  444. package/services/mcpAdmin/tools/systemTools.js.map +1 -0
  445. package/services/mcpAdmin/types.d.ts +124 -0
  446. package/services/mcpAdmin/types.d.ts.map +1 -0
  447. package/services/mcpAdmin/types.js +18 -0
  448. package/services/mcpAdmin/types.js.map +1 -0
  449. package/{backend/dist/services → services}/messageQueue.d.ts.map +1 -1
  450. package/{backend/dist/services → services}/messageQueue.js +16 -3
  451. package/services/messageQueue.js.map +1 -0
  452. package/services/pluginInstaller.d.ts +58 -0
  453. package/services/pluginInstaller.d.ts.map +1 -0
  454. package/services/pluginInstaller.js +321 -0
  455. package/services/pluginInstaller.js.map +1 -0
  456. package/services/pluginParser.d.ts +45 -0
  457. package/services/pluginParser.d.ts.map +1 -0
  458. package/services/pluginParser.js +437 -0
  459. package/services/pluginParser.js.map +1 -0
  460. package/services/pluginPaths.d.ts +80 -0
  461. package/services/pluginPaths.d.ts.map +1 -0
  462. package/services/pluginPaths.js +274 -0
  463. package/services/pluginPaths.js.map +1 -0
  464. package/services/pluginScanner.d.ts +36 -0
  465. package/services/pluginScanner.d.ts.map +1 -0
  466. package/services/pluginScanner.js +251 -0
  467. package/services/pluginScanner.js.map +1 -0
  468. package/services/pluginSymlink.d.ts +54 -0
  469. package/services/pluginSymlink.d.ts.map +1 -0
  470. package/services/pluginSymlink.js +223 -0
  471. package/services/pluginSymlink.js.map +1 -0
  472. package/services/projectMetadataStorage.d.ts +114 -0
  473. package/services/projectMetadataStorage.d.ts.map +1 -0
  474. package/services/projectMetadataStorage.js +711 -0
  475. package/services/projectMetadataStorage.js.map +1 -0
  476. package/services/scheduledTaskStorage.d.ts +52 -0
  477. package/services/scheduledTaskStorage.d.ts.map +1 -0
  478. package/services/scheduledTaskStorage.js +285 -0
  479. package/services/scheduledTaskStorage.js.map +1 -0
  480. package/services/schedulerService.d.ts +81 -0
  481. package/services/schedulerService.d.ts.map +1 -0
  482. package/services/schedulerService.js +743 -0
  483. package/services/schedulerService.js.map +1 -0
  484. package/{backend/dist/services → services}/sessionManager.d.ts +6 -4
  485. package/services/sessionManager.d.ts.map +1 -0
  486. package/{backend/dist/services → services}/sessionManager.js +77 -16
  487. package/services/sessionManager.js.map +1 -0
  488. package/services/skillStorage.d.ts +60 -0
  489. package/services/skillStorage.d.ts.map +1 -0
  490. package/services/skillStorage.js +398 -0
  491. package/services/skillStorage.js.map +1 -0
  492. package/services/slackAIService.d.ts +81 -0
  493. package/services/slackAIService.d.ts.map +1 -0
  494. package/services/slackAIService.js +1091 -0
  495. package/services/slackAIService.js.map +1 -0
  496. package/services/slackClient.d.ts +46 -0
  497. package/services/slackClient.d.ts.map +1 -0
  498. package/services/slackClient.js +85 -0
  499. package/services/slackClient.js.map +1 -0
  500. package/services/slackSessionLock.d.ts +79 -0
  501. package/services/slackSessionLock.d.ts.map +1 -0
  502. package/services/slackSessionLock.js +353 -0
  503. package/services/slackSessionLock.js.map +1 -0
  504. package/services/slackThreadMapper.d.ts +57 -0
  505. package/services/slackThreadMapper.d.ts.map +1 -0
  506. package/services/slackThreadMapper.js +140 -0
  507. package/services/slackThreadMapper.js.map +1 -0
  508. package/types/a2a.d.ts +275 -0
  509. package/types/a2a.d.ts.map +1 -0
  510. package/types/a2a.js +23 -0
  511. package/types/a2a.js.map +1 -0
  512. package/types/agents.d.ts +95 -0
  513. package/types/agents.d.ts.map +1 -0
  514. package/types/agents.js +46 -0
  515. package/types/agents.js.map +1 -0
  516. package/types/claude-history.d.ts +62 -0
  517. package/types/claude-history.d.ts.map +1 -0
  518. package/types/claude-history.js +4 -0
  519. package/types/claude-history.js.map +1 -0
  520. package/types/claude-versions.d.ts +36 -0
  521. package/types/claude-versions.d.ts.map +1 -0
  522. package/types/claude-versions.js +3 -0
  523. package/types/claude-versions.js.map +1 -0
  524. package/types/commands.d.ts +50 -0
  525. package/types/commands.d.ts.map +1 -0
  526. package/types/commands.js +23 -0
  527. package/types/commands.js.map +1 -0
  528. package/types/plugins.d.ts +144 -0
  529. package/types/plugins.d.ts.map +1 -0
  530. package/types/plugins.js +8 -0
  531. package/types/plugins.js.map +1 -0
  532. package/types/projects.d.ts +42 -0
  533. package/types/projects.d.ts.map +1 -0
  534. package/types/projects.js +4 -0
  535. package/types/projects.js.map +1 -0
  536. package/types/scheduledTasks.d.ts +164 -0
  537. package/types/scheduledTasks.d.ts.map +1 -0
  538. package/types/scheduledTasks.js +17 -0
  539. package/types/scheduledTasks.js.map +1 -0
  540. package/types/skills.d.ts +91 -0
  541. package/types/skills.d.ts.map +1 -0
  542. package/types/skills.js +6 -0
  543. package/types/skills.js.map +1 -0
  544. package/types/slack.d.ts +97 -0
  545. package/types/slack.d.ts.map +1 -0
  546. package/types/slack.js +8 -0
  547. package/types/slack.js.map +1 -0
  548. package/types/streaming.d.ts +12 -0
  549. package/types/streaming.d.ts.map +1 -0
  550. package/types/streaming.js +8 -0
  551. package/types/streaming.js.map +1 -0
  552. package/types/subagents.d.ts +26 -0
  553. package/types/subagents.d.ts.map +1 -0
  554. package/types/subagents.js +3 -0
  555. package/types/subagents.js.map +1 -0
  556. package/utils/__tests__/claudeUtils.test.d.ts +5 -0
  557. package/utils/__tests__/claudeUtils.test.d.ts.map +1 -0
  558. package/utils/__tests__/claudeUtils.test.js +282 -0
  559. package/utils/__tests__/claudeUtils.test.js.map +1 -0
  560. package/utils/__tests__/sessionUtils.test.d.ts +5 -0
  561. package/utils/__tests__/sessionUtils.test.d.ts.map +1 -0
  562. package/utils/__tests__/sessionUtils.test.js +295 -0
  563. package/utils/__tests__/sessionUtils.test.js.map +1 -0
  564. package/utils/agentCardCache.d.ts +93 -0
  565. package/utils/agentCardCache.d.ts.map +1 -0
  566. package/utils/agentCardCache.js +212 -0
  567. package/utils/agentCardCache.js.map +1 -0
  568. package/utils/claudeUtils.d.ts +54 -0
  569. package/utils/claudeUtils.d.ts.map +1 -0
  570. package/utils/claudeUtils.js +387 -0
  571. package/utils/claudeUtils.js.map +1 -0
  572. package/utils/fileUtils.d.ts +2 -0
  573. package/utils/fileUtils.d.ts.map +1 -0
  574. package/utils/fileUtils.js +11 -0
  575. package/utils/fileUtils.js.map +1 -0
  576. package/utils/jwt.d.ts +30 -0
  577. package/utils/jwt.d.ts.map +1 -0
  578. package/utils/jwt.js +95 -0
  579. package/utils/jwt.js.map +1 -0
  580. package/utils/sessionUtils.d.ts +64 -0
  581. package/utils/sessionUtils.d.ts.map +1 -0
  582. package/utils/sessionUtils.js +266 -0
  583. package/utils/sessionUtils.js.map +1 -0
  584. package/README.zh-CN.md +0 -525
  585. package/backend/dist/bin/agentstudio.js +0 -120
  586. package/backend/dist/bin/agentstudio.js.map +0 -1
  587. package/backend/dist/frontend/assets/AgentsPage-Dqb_aqAA.js +0 -1
  588. package/backend/dist/frontend/assets/ChatPage-L8Paywyc.js +0 -91
  589. package/backend/dist/frontend/assets/CommandForm-DLl7EIMS.js +0 -7
  590. package/backend/dist/frontend/assets/CommandsPage-Bzavq0Ec.js +0 -1
  591. package/backend/dist/frontend/assets/DashboardPage-B3o4AYFT.js +0 -15
  592. package/backend/dist/frontend/assets/FileBrowser-DL3ayaqb.js +0 -1
  593. package/backend/dist/frontend/assets/GeneralSettingsPage-CBN_de-V.js +0 -1
  594. package/backend/dist/frontend/assets/LandingPage-Dl4ioKos.js +0 -1
  595. package/backend/dist/frontend/assets/LoginPage-4QqRdiSi.js +0 -12
  596. package/backend/dist/frontend/assets/McpPage-CY3tYiqj.js +0 -39
  597. package/backend/dist/frontend/assets/MemorySettingsPage-DGxrok5K.js +0 -1
  598. package/backend/dist/frontend/assets/ProjectSelector-hgmGYVFh.js +0 -1
  599. package/backend/dist/frontend/assets/ProjectsPage-D399IM0c.js +0 -14
  600. package/backend/dist/frontend/assets/SettingsLayout-CL_K-lzJ.js +0 -1
  601. package/backend/dist/frontend/assets/SubagentsPage-Chbhj8p2.js +0 -1
  602. package/backend/dist/frontend/assets/UnifiedToolSelector-CsM9qBvs.js +0 -1
  603. package/backend/dist/frontend/assets/VersionSettingsPage-74Q-LVgA.js +0 -5
  604. package/backend/dist/frontend/assets/agents-ClAzIJTw.js +0 -1
  605. package/backend/dist/frontend/assets/authFetch-BATQyPG5.js +0 -1
  606. package/backend/dist/frontend/assets/index-B9YHa7XT.css +0 -1
  607. package/backend/dist/frontend/assets/index-B_CTNvca.js +0 -268
  608. package/backend/dist/frontend/assets/monaco-editor-C7Z4sOhS.js +0 -19
  609. package/backend/dist/frontend/assets/tabManager-DV8urRBM.js +0 -30
  610. package/backend/dist/frontend/assets/tools-C4EPanYi.js +0 -1
  611. package/backend/dist/frontend/assets/useAgents-DwnOE1_k.js +0 -2
  612. package/backend/dist/frontend/assets/useClaudeVersions-CQdGnCqv.js +0 -1
  613. package/backend/dist/frontend/assets/useCommands-CCVaurbt.js +0 -1
  614. package/backend/dist/index.d.ts +0 -3
  615. package/backend/dist/index.d.ts.map +0 -1
  616. package/backend/dist/index.js +0 -157
  617. package/backend/dist/index.js.map +0 -1
  618. package/backend/dist/middleware/auth.d.ts.map +0 -1
  619. package/backend/dist/middleware/auth.js +0 -21
  620. package/backend/dist/middleware/auth.js.map +0 -1
  621. package/backend/dist/routes/agents.js +0 -803
  622. package/backend/dist/routes/agents.js.map +0 -1
  623. package/backend/dist/routes/auth.js +0 -60
  624. package/backend/dist/routes/auth.js.map +0 -1
  625. package/backend/dist/routes/commands.js.map +0 -1
  626. package/backend/dist/routes/files.js.map +0 -1
  627. package/backend/dist/routes/mcp.d.ts.map +0 -1
  628. package/backend/dist/routes/mcp.js.map +0 -1
  629. package/backend/dist/routes/media.d.ts.map +0 -1
  630. package/backend/dist/routes/media.js.map +0 -1
  631. package/backend/dist/routes/projects.js +0 -528
  632. package/backend/dist/routes/projects.js.map +0 -1
  633. package/backend/dist/routes/sessions.js.map +0 -1
  634. package/backend/dist/routes/settings.js.map +0 -1
  635. package/backend/dist/routes/slides.js.map +0 -1
  636. package/backend/dist/routes/subagents.js.map +0 -1
  637. package/backend/dist/services/claudeSession.d.ts.map +0 -1
  638. package/backend/dist/services/claudeSession.js.map +0 -1
  639. package/backend/dist/services/messageQueue.js.map +0 -1
  640. package/backend/dist/services/sessionManager.d.ts.map +0 -1
  641. package/backend/dist/services/sessionManager.js.map +0 -1
  642. package/backend/dist/utils/jwt.d.ts +0 -15
  643. package/backend/dist/utils/jwt.d.ts.map +0 -1
  644. package/backend/dist/utils/jwt.js +0 -28
  645. package/backend/dist/utils/jwt.js.map +0 -1
  646. /package/{backend/dist/bin → bin}/agentstudio.d.ts +0 -0
  647. /package/{backend/dist/bin → bin}/agentstudio.d.ts.map +0 -0
  648. /package/{backend/dist/frontend → public}/assets/ChatPage-BvQmXfcP.css +0 -0
  649. /package/{backend/dist/frontend → public}/assets/agents-DwCY2K8p.css +0 -0
  650. /package/{backend/dist/frontend → public}/assets/dateFormat-CXa8VnEC.js +0 -0
  651. /package/{backend/dist/frontend → public}/cc-studio.png +0 -0
  652. /package/{backend/dist/frontend → public}/vite.svg +0 -0
  653. /package/{backend/dist/routes → routes}/agents.d.ts +0 -0
  654. /package/{backend/dist/routes → routes}/auth.d.ts +0 -0
  655. /package/{backend/dist/routes → routes}/commands.d.ts +0 -0
  656. /package/{backend/dist/routes → routes}/files.d.ts +0 -0
  657. /package/{backend/dist/routes → routes}/media.d.ts +0 -0
  658. /package/{backend/dist/routes → routes}/projects.d.ts +0 -0
  659. /package/{backend/dist/routes → routes}/sessions.d.ts +0 -0
  660. /package/{backend/dist/routes → routes}/settings.d.ts +0 -0
  661. /package/{backend/dist/routes → routes}/slides.d.ts +0 -0
  662. /package/{backend/dist/routes → routes}/subagents.d.ts +0 -0
  663. /package/{backend/dist/routes → routes}/subagents.d.ts.map +0 -0
  664. /package/{backend/dist/services → services}/messageQueue.d.ts +0 -0
@@ -0,0 +1,293 @@
1
+ const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/DashboardPage-29qC7Ev1.js","assets/data-structures-C0h9Oap1.js","assets/monaco-editor-DHKm5-VF.js","assets/syntax-highlighting-CnREyncB.js","assets/useAgents-BnDTkOG8.js","assets/agents-ChrA1R0y.js","assets/tools-IcPNZlPj.js","assets/ui-components-D1St49qC.js","assets/agents-DwCY2K8p.css","assets/tabManager-B2LQO_Ll.js","assets/useClaudeVersions-CD59tFWM.js","assets/useProjects-YXOjaOwL.js","assets/useCommands-mvMu3mMD.js","assets/AgentsPage-Nvg2xu6K.js","assets/table-D0L2RL5i.js","assets/ProjectSelector-DSXOjMQC.js","assets/FileBrowser-BYweUPH4.js","assets/UnifiedToolSelector-CNbPsiuq.js","assets/ToolsList-Dl5F2fWk.js","assets/ProjectsPage-lLUk4-Xa.js","assets/dateFormat-CXa8VnEC.js","assets/CommandForm-Bk7F_HU8.js","assets/SubagentForm-BdUK1U4y.js","assets/McpPage-CtWf1CoL.js","assets/SettingsLayout-DGJspXLp.js","assets/GeneralSettingsPage-D9Xa7Nd8.js","assets/VersionSettingsPage-BfoCcham.js","assets/MemorySettingsPage-JTry4Ccp.js","assets/SubagentsPage-Dnq70IFd.js","assets/McpAdminSettingsPage-DgR3E2Bd.js","assets/CommandsPage-DZHyOdKd.js","assets/SkillsPage-DBw0m7D2.js","assets/Button-Co56C389.js","assets/FileExplorer-DNYj6Tsx.js","assets/PluginsPage-D-BHjQ3P.js","assets/ScheduledTasksPage-5hPbd9Vs.js","assets/ChatPage-D6sol0ad.js","assets/ChatPage-BvQmXfcP.css","assets/LandingPage-CjnT-cvO.js","assets/LoginPage-DcaGNCXH.js","assets/ToastTestPage-BfJQRFIm.js"])))=>i.map(i=>d[i]);
2
+ import{j as u}from"./data-structures-C0h9Oap1.js";import{a as Bp,r as h,g as Cv,W as xn,R as Av}from"./monaco-editor-DHKm5-VF.js";import{c as $e}from"./syntax-highlighting-CnREyncB.js";import{l as Tv,s as kv,d as Ev,e as Nv,r as Mv,f as jv,g as _t,h as Kc,j as Dc,k as sp,m as Qo,Q as Dv,n as Rv}from"./agents-ChrA1R0y.js";import{u as Ea,i as Ov,a as zv}from"./tools-IcPNZlPj.js";import{I as vi,aH as Pv,a2 as ts,C as Kt,n as Wo,X as gi,p as Rc,y as Lv,aI as Uv,a4 as rp,a6 as vc,aJ as _v,v as Fv,aK as Bv,J as Hv,E as qv,q as Hp,aL as Vv,f as Gv,Z as Kv,aG as Iv,$ as cp,al as Yv,m as Qv,aM as Xv,T as Zv,z as $v,K as Jv,k as Wv,l as eb,aN as tb,a8 as ab,e as nb,ar as lb,aO as ib,_ as ob,L as qp,ao as sb,j as rb,R as up,H as cb,t as dp,b as ub,aP as db}from"./ui-components-D1St49qC.js";(function(){const c=document.createElement("link").relList;if(c&&c.supports&&c.supports("modulepreload"))return;for(const f of document.querySelectorAll('link[rel="modulepreload"]'))r(f);new MutationObserver(f=>{for(const m of f)if(m.type==="childList")for(const y of m.addedNodes)y.tagName==="LINK"&&y.rel==="modulepreload"&&r(y)}).observe(document,{childList:!0,subtree:!0});function s(f){const m={};return f.integrity&&(m.integrity=f.integrity),f.referrerPolicy&&(m.referrerPolicy=f.referrerPolicy),f.crossOrigin==="use-credentials"?m.credentials="include":f.crossOrigin==="anonymous"?m.credentials="omit":m.credentials="same-origin",m}function r(f){if(f.ep)return;f.ep=!0;const m=s(f);fetch(f.href,m)}})();var bc={exports:{}},di={},Sc={exports:{}},xc={};/**
3
+ * @license React
4
+ * scheduler.production.js
5
+ *
6
+ * Copyright (c) Meta Platforms, Inc. and affiliates.
7
+ *
8
+ * This source code is licensed under the MIT license found in the
9
+ * LICENSE file in the root directory of this source tree.
10
+ */var fp;function fb(){return fp||(fp=1,(function(i){function c(j,K){var q=j.length;j.push(K);e:for(;0<q;){var de=q-1>>>1,he=j[de];if(0<f(he,K))j[de]=K,j[q]=he,q=de;else break e}}function s(j){return j.length===0?null:j[0]}function r(j){if(j.length===0)return null;var K=j[0],q=j.pop();if(q!==K){j[0]=q;e:for(var de=0,he=j.length,Le=he>>>1;de<Le;){var ye=2*(de+1)-1,te=j[ye],re=ye+1,Je=j[re];if(0>f(te,q))re<he&&0>f(Je,te)?(j[de]=Je,j[re]=q,de=re):(j[de]=te,j[ye]=q,de=ye);else if(re<he&&0>f(Je,q))j[de]=Je,j[re]=q,de=re;else break e}}return K}function f(j,K){var q=j.sortIndex-K.sortIndex;return q!==0?q:j.id-K.id}if(i.unstable_now=void 0,typeof performance=="object"&&typeof performance.now=="function"){var m=performance;i.unstable_now=function(){return m.now()}}else{var y=Date,b=y.now();i.unstable_now=function(){return y.now()-b}}var v=[],g=[],x=1,C=null,D=3,H=!1,O=!1,R=!1,N=!1,B=typeof setTimeout=="function"?setTimeout:null,P=typeof clearTimeout=="function"?clearTimeout:null,G=typeof setImmediate<"u"?setImmediate:null;function Z(j){for(var K=s(g);K!==null;){if(K.callback===null)r(g);else if(K.startTime<=j)r(g),K.sortIndex=K.expirationTime,c(v,K);else break;K=s(g)}}function I(j){if(R=!1,Z(j),!O)if(s(v)!==null)O=!0,V||(V=!0,Me());else{var K=s(g);K!==null&&we(I,K.startTime-j)}}var V=!1,_=-1,F=5,Q=-1;function le(){return N?!0:!(i.unstable_now()-Q<F)}function Oe(){if(N=!1,V){var j=i.unstable_now();Q=j;var K=!0;try{e:{O=!1,R&&(R=!1,P(_),_=-1),H=!0;var q=D;try{t:{for(Z(j),C=s(v);C!==null&&!(C.expirationTime>j&&le());){var de=C.callback;if(typeof de=="function"){C.callback=null,D=C.priorityLevel;var he=de(C.expirationTime<=j);if(j=i.unstable_now(),typeof he=="function"){C.callback=he,Z(j),K=!0;break t}C===s(v)&&r(v),Z(j)}else r(v);C=s(v)}if(C!==null)K=!0;else{var Le=s(g);Le!==null&&we(I,Le.startTime-j),K=!1}}break e}finally{C=null,D=q,H=!1}K=void 0}}finally{K?Me():V=!1}}}var Me;if(typeof G=="function")Me=function(){G(Oe)};else if(typeof MessageChannel<"u"){var Qe=new MessageChannel,ne=Qe.port2;Qe.port1.onmessage=Oe,Me=function(){ne.postMessage(null)}}else Me=function(){B(Oe,0)};function we(j,K){_=B(function(){j(i.unstable_now())},K)}i.unstable_IdlePriority=5,i.unstable_ImmediatePriority=1,i.unstable_LowPriority=4,i.unstable_NormalPriority=3,i.unstable_Profiling=null,i.unstable_UserBlockingPriority=2,i.unstable_cancelCallback=function(j){j.callback=null},i.unstable_forceFrameRate=function(j){0>j||125<j?console.error("forceFrameRate takes a positive int between 0 and 125, forcing frame rates higher than 125 fps is not supported"):F=0<j?Math.floor(1e3/j):5},i.unstable_getCurrentPriorityLevel=function(){return D},i.unstable_next=function(j){switch(D){case 1:case 2:case 3:var K=3;break;default:K=D}var q=D;D=K;try{return j()}finally{D=q}},i.unstable_requestPaint=function(){N=!0},i.unstable_runWithPriority=function(j,K){switch(j){case 1:case 2:case 3:case 4:case 5:break;default:j=3}var q=D;D=j;try{return K()}finally{D=q}},i.unstable_scheduleCallback=function(j,K,q){var de=i.unstable_now();switch(typeof q=="object"&&q!==null?(q=q.delay,q=typeof q=="number"&&0<q?de+q:de):q=de,j){case 1:var he=-1;break;case 2:he=250;break;case 5:he=1073741823;break;case 4:he=1e4;break;default:he=5e3}return he=q+he,j={id:x++,callback:K,priorityLevel:j,startTime:q,expirationTime:he,sortIndex:-1},q>de?(j.sortIndex=q,c(g,j),s(v)===null&&j===s(g)&&(R?(P(_),_=-1):R=!0,we(I,q-de))):(j.sortIndex=he,c(v,j),O||H||(O=!0,V||(V=!0,Me()))),j},i.unstable_shouldYield=le,i.unstable_wrapCallback=function(j){var K=D;return function(){var q=D;D=K;try{return j.apply(this,arguments)}finally{D=q}}}})(xc)),xc}var mp;function mb(){return mp||(mp=1,Sc.exports=fb()),Sc.exports}var wc={exports:{}},it={};/**
11
+ * @license React
12
+ * react-dom.production.js
13
+ *
14
+ * Copyright (c) Meta Platforms, Inc. and affiliates.
15
+ *
16
+ * This source code is licensed under the MIT license found in the
17
+ * LICENSE file in the root directory of this source tree.
18
+ */var pp;function pb(){if(pp)return it;pp=1;var i=Bp();function c(v){var g="https://react.dev/errors/"+v;if(1<arguments.length){g+="?args[]="+encodeURIComponent(arguments[1]);for(var x=2;x<arguments.length;x++)g+="&args[]="+encodeURIComponent(arguments[x])}return"Minified React error #"+v+"; visit "+g+" for the full message or use the non-minified dev environment for full errors and additional helpful warnings."}function s(){}var r={d:{f:s,r:function(){throw Error(c(522))},D:s,C:s,L:s,m:s,X:s,S:s,M:s},p:0,findDOMNode:null},f=Symbol.for("react.portal");function m(v,g,x){var C=3<arguments.length&&arguments[3]!==void 0?arguments[3]:null;return{$$typeof:f,key:C==null?null:""+C,children:v,containerInfo:g,implementation:x}}var y=i.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE;function b(v,g){if(v==="font")return"";if(typeof g=="string")return g==="use-credentials"?g:""}return it.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE=r,it.createPortal=function(v,g){var x=2<arguments.length&&arguments[2]!==void 0?arguments[2]:null;if(!g||g.nodeType!==1&&g.nodeType!==9&&g.nodeType!==11)throw Error(c(299));return m(v,g,null,x)},it.flushSync=function(v){var g=y.T,x=r.p;try{if(y.T=null,r.p=2,v)return v()}finally{y.T=g,r.p=x,r.d.f()}},it.preconnect=function(v,g){typeof v=="string"&&(g?(g=g.crossOrigin,g=typeof g=="string"?g==="use-credentials"?g:"":void 0):g=null,r.d.C(v,g))},it.prefetchDNS=function(v){typeof v=="string"&&r.d.D(v)},it.preinit=function(v,g){if(typeof v=="string"&&g&&typeof g.as=="string"){var x=g.as,C=b(x,g.crossOrigin),D=typeof g.integrity=="string"?g.integrity:void 0,H=typeof g.fetchPriority=="string"?g.fetchPriority:void 0;x==="style"?r.d.S(v,typeof g.precedence=="string"?g.precedence:void 0,{crossOrigin:C,integrity:D,fetchPriority:H}):x==="script"&&r.d.X(v,{crossOrigin:C,integrity:D,fetchPriority:H,nonce:typeof g.nonce=="string"?g.nonce:void 0})}},it.preinitModule=function(v,g){if(typeof v=="string")if(typeof g=="object"&&g!==null){if(g.as==null||g.as==="script"){var x=b(g.as,g.crossOrigin);r.d.M(v,{crossOrigin:x,integrity:typeof g.integrity=="string"?g.integrity:void 0,nonce:typeof g.nonce=="string"?g.nonce:void 0})}}else g==null&&r.d.M(v)},it.preload=function(v,g){if(typeof v=="string"&&typeof g=="object"&&g!==null&&typeof g.as=="string"){var x=g.as,C=b(x,g.crossOrigin);r.d.L(v,x,{crossOrigin:C,integrity:typeof g.integrity=="string"?g.integrity:void 0,nonce:typeof g.nonce=="string"?g.nonce:void 0,type:typeof g.type=="string"?g.type:void 0,fetchPriority:typeof g.fetchPriority=="string"?g.fetchPriority:void 0,referrerPolicy:typeof g.referrerPolicy=="string"?g.referrerPolicy:void 0,imageSrcSet:typeof g.imageSrcSet=="string"?g.imageSrcSet:void 0,imageSizes:typeof g.imageSizes=="string"?g.imageSizes:void 0,media:typeof g.media=="string"?g.media:void 0})}},it.preloadModule=function(v,g){if(typeof v=="string")if(g){var x=b(g.as,g.crossOrigin);r.d.m(v,{as:typeof g.as=="string"&&g.as!=="script"?g.as:void 0,crossOrigin:x,integrity:typeof g.integrity=="string"?g.integrity:void 0})}else r.d.m(v)},it.requestFormReset=function(v){r.d.r(v)},it.unstable_batchedUpdates=function(v,g){return v(g)},it.useFormState=function(v,g,x){return y.H.useFormState(v,g,x)},it.useFormStatus=function(){return y.H.useHostTransitionStatus()},it.version="19.2.0",it}var gp;function Vp(){if(gp)return wc.exports;gp=1;function i(){if(!(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(i)}catch(c){console.error(c)}}return i(),wc.exports=pb(),wc.exports}/**
19
+ * @license React
20
+ * react-dom-client.production.js
21
+ *
22
+ * Copyright (c) Meta Platforms, Inc. and affiliates.
23
+ *
24
+ * This source code is licensed under the MIT license found in the
25
+ * LICENSE file in the root directory of this source tree.
26
+ */var hp;function gb(){if(hp)return di;hp=1;var i=mb(),c=Bp(),s=Vp();function r(e){var t="https://react.dev/errors/"+e;if(1<arguments.length){t+="?args[]="+encodeURIComponent(arguments[1]);for(var a=2;a<arguments.length;a++)t+="&args[]="+encodeURIComponent(arguments[a])}return"Minified React error #"+e+"; visit "+t+" for the full message or use the non-minified dev environment for full errors and additional helpful warnings."}function f(e){return!(!e||e.nodeType!==1&&e.nodeType!==9&&e.nodeType!==11)}function m(e){var t=e,a=e;if(e.alternate)for(;t.return;)t=t.return;else{e=t;do t=e,(t.flags&4098)!==0&&(a=t.return),e=t.return;while(e)}return t.tag===3?a:null}function y(e){if(e.tag===13){var t=e.memoizedState;if(t===null&&(e=e.alternate,e!==null&&(t=e.memoizedState)),t!==null)return t.dehydrated}return null}function b(e){if(e.tag===31){var t=e.memoizedState;if(t===null&&(e=e.alternate,e!==null&&(t=e.memoizedState)),t!==null)return t.dehydrated}return null}function v(e){if(m(e)!==e)throw Error(r(188))}function g(e){var t=e.alternate;if(!t){if(t=m(e),t===null)throw Error(r(188));return t!==e?null:e}for(var a=e,n=t;;){var l=a.return;if(l===null)break;var o=l.alternate;if(o===null){if(n=l.return,n!==null){a=n;continue}break}if(l.child===o.child){for(o=l.child;o;){if(o===a)return v(l),e;if(o===n)return v(l),t;o=o.sibling}throw Error(r(188))}if(a.return!==n.return)a=l,n=o;else{for(var d=!1,p=l.child;p;){if(p===a){d=!0,a=l,n=o;break}if(p===n){d=!0,n=l,a=o;break}p=p.sibling}if(!d){for(p=o.child;p;){if(p===a){d=!0,a=o,n=l;break}if(p===n){d=!0,n=o,a=l;break}p=p.sibling}if(!d)throw Error(r(189))}}if(a.alternate!==n)throw Error(r(190))}if(a.tag!==3)throw Error(r(188));return a.stateNode.current===a?e:t}function x(e){var t=e.tag;if(t===5||t===26||t===27||t===6)return e;for(e=e.child;e!==null;){if(t=x(e),t!==null)return t;e=e.sibling}return null}var C=Object.assign,D=Symbol.for("react.element"),H=Symbol.for("react.transitional.element"),O=Symbol.for("react.portal"),R=Symbol.for("react.fragment"),N=Symbol.for("react.strict_mode"),B=Symbol.for("react.profiler"),P=Symbol.for("react.consumer"),G=Symbol.for("react.context"),Z=Symbol.for("react.forward_ref"),I=Symbol.for("react.suspense"),V=Symbol.for("react.suspense_list"),_=Symbol.for("react.memo"),F=Symbol.for("react.lazy"),Q=Symbol.for("react.activity"),le=Symbol.for("react.memo_cache_sentinel"),Oe=Symbol.iterator;function Me(e){return e===null||typeof e!="object"?null:(e=Oe&&e[Oe]||e["@@iterator"],typeof e=="function"?e:null)}var Qe=Symbol.for("react.client.reference");function ne(e){if(e==null)return null;if(typeof e=="function")return e.$$typeof===Qe?null:e.displayName||e.name||null;if(typeof e=="string")return e;switch(e){case R:return"Fragment";case B:return"Profiler";case N:return"StrictMode";case I:return"Suspense";case V:return"SuspenseList";case Q:return"Activity"}if(typeof e=="object")switch(e.$$typeof){case O:return"Portal";case G:return e.displayName||"Context";case P:return(e._context.displayName||"Context")+".Consumer";case Z:var t=e.render;return e=e.displayName,e||(e=t.displayName||t.name||"",e=e!==""?"ForwardRef("+e+")":"ForwardRef"),e;case _:return t=e.displayName||null,t!==null?t:ne(e.type)||"Memo";case F:t=e._payload,e=e._init;try{return ne(e(t))}catch{}}return null}var we=Array.isArray,j=c.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,K=s.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,q={pending:!1,data:null,method:null,action:null},de=[],he=-1;function Le(e){return{current:e}}function ye(e){0>he||(e.current=de[he],de[he]=null,he--)}function te(e,t){he++,de[he]=e.current,e.current=t}var re=Le(null),Je=Le(null),pt=Le(null),je=Le(null);function na(e,t){switch(te(pt,t),te(Je,e),te(re,null),t.nodeType){case 9:case 11:e=(e=t.documentElement)&&(e=e.namespaceURI)?jm(e):0;break;default:if(e=t.tagName,t=t.namespaceURI)t=jm(t),e=Dm(t,e);else switch(e){case"svg":e=1;break;case"math":e=2;break;default:e=0}}ye(re),te(re,e)}function gt(){ye(re),ye(Je),ye(pt)}function Qt(e){e.memoizedState!==null&&te(je,e);var t=re.current,a=Dm(t,e.type);t!==a&&(te(Je,e),te(re,a))}function Xt(e){Je.current===e&&(ye(re),ye(Je)),je.current===e&&(ye(je),si._currentValue=q)}var Zt,Ai;function la(e){if(Zt===void 0)try{throw Error()}catch(a){var t=a.stack.trim().match(/\n( *(at )?)/);Zt=t&&t[1]||"",Ai=-1<a.stack.indexOf(`
27
+ at`)?" (<anonymous>)":-1<a.stack.indexOf("@")?"@unknown:0:0":""}return`
28
+ `+Zt+e+Ai}var Y=!1;function fe(e,t){if(!e||Y)return"";Y=!0;var a=Error.prepareStackTrace;Error.prepareStackTrace=void 0;try{var n={DetermineComponentFrameRoot:function(){try{if(t){var U=function(){throw Error()};if(Object.defineProperty(U.prototype,"props",{set:function(){throw Error()}}),typeof Reflect=="object"&&Reflect.construct){try{Reflect.construct(U,[])}catch(M){var E=M}Reflect.construct(e,[],U)}else{try{U.call()}catch(M){E=M}e.call(U.prototype)}}else{try{throw Error()}catch(M){E=M}(U=e())&&typeof U.catch=="function"&&U.catch(function(){})}}catch(M){if(M&&E&&typeof M.stack=="string")return[M.stack,E.stack]}return[null,null]}};n.DetermineComponentFrameRoot.displayName="DetermineComponentFrameRoot";var l=Object.getOwnPropertyDescriptor(n.DetermineComponentFrameRoot,"name");l&&l.configurable&&Object.defineProperty(n.DetermineComponentFrameRoot,"name",{value:"DetermineComponentFrameRoot"});var o=n.DetermineComponentFrameRoot(),d=o[0],p=o[1];if(d&&p){var S=d.split(`
29
+ `),k=p.split(`
30
+ `);for(l=n=0;n<S.length&&!S[n].includes("DetermineComponentFrameRoot");)n++;for(;l<k.length&&!k[l].includes("DetermineComponentFrameRoot");)l++;if(n===S.length||l===k.length)for(n=S.length-1,l=k.length-1;1<=n&&0<=l&&S[n]!==k[l];)l--;for(;1<=n&&0<=l;n--,l--)if(S[n]!==k[l]){if(n!==1||l!==1)do if(n--,l--,0>l||S[n]!==k[l]){var z=`
31
+ `+S[n].replace(" at new "," at ");return e.displayName&&z.includes("<anonymous>")&&(z=z.replace("<anonymous>",e.displayName)),z}while(1<=n&&0<=l);break}}}finally{Y=!1,Error.prepareStackTrace=a}return(a=e?e.displayName||e.name:"")?la(a):""}function ve(e,t){switch(e.tag){case 26:case 27:case 5:return la(e.type);case 16:return la("Lazy");case 13:return e.child!==t&&t!==null?la("Suspense Fallback"):la("Suspense");case 19:return la("SuspenseList");case 0:case 15:return fe(e.type,!1);case 11:return fe(e.type.render,!1);case 1:return fe(e.type,!0);case 31:return la("Activity");default:return""}}function We(e){try{var t="",a=null;do t+=ve(e,a),a=e,e=e.return;while(e);return t}catch(n){return`
32
+ Error generating stack: `+n.message+`
33
+ `+n.stack}}var ht=Object.prototype.hasOwnProperty,ia=i.unstable_scheduleCallback,tn=i.unstable_cancelCallback,th=i.unstable_shouldYield,ah=i.unstable_requestPaint,yt=i.unstable_now,nh=i.unstable_getCurrentPriorityLevel,su=i.unstable_ImmediatePriority,ru=i.unstable_UserBlockingPriority,Ti=i.unstable_NormalPriority,lh=i.unstable_LowPriority,cu=i.unstable_IdlePriority,ih=i.log,oh=i.unstable_setDisableYieldValue,bl=null,vt=null;function Na(e){if(typeof ih=="function"&&oh(e),vt&&typeof vt.setStrictMode=="function")try{vt.setStrictMode(bl,e)}catch{}}var bt=Math.clz32?Math.clz32:ch,sh=Math.log,rh=Math.LN2;function ch(e){return e>>>=0,e===0?32:31-(sh(e)/rh|0)|0}var ki=256,Ei=262144,Ni=4194304;function an(e){var t=e&42;if(t!==0)return t;switch(e&-e){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:return 64;case 128:return 128;case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:return e&261888;case 262144:case 524288:case 1048576:case 2097152:return e&3932160;case 4194304:case 8388608:case 16777216:case 33554432:return e&62914560;case 67108864:return 67108864;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 0;default:return e}}function Mi(e,t,a){var n=e.pendingLanes;if(n===0)return 0;var l=0,o=e.suspendedLanes,d=e.pingedLanes;e=e.warmLanes;var p=n&134217727;return p!==0?(n=p&~o,n!==0?l=an(n):(d&=p,d!==0?l=an(d):a||(a=p&~e,a!==0&&(l=an(a))))):(p=n&~o,p!==0?l=an(p):d!==0?l=an(d):a||(a=n&~e,a!==0&&(l=an(a)))),l===0?0:t!==0&&t!==l&&(t&o)===0&&(o=l&-l,a=t&-t,o>=a||o===32&&(a&4194048)!==0)?t:l}function Sl(e,t){return(e.pendingLanes&~(e.suspendedLanes&~e.pingedLanes)&t)===0}function uh(e,t){switch(e){case 1:case 2:case 4:case 8:case 64:return t+250;case 16:case 32:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return t+5e3;case 4194304:case 8388608:case 16777216:case 33554432:return-1;case 67108864:case 134217728:case 268435456:case 536870912:case 1073741824:return-1;default:return-1}}function uu(){var e=Ni;return Ni<<=1,(Ni&62914560)===0&&(Ni=4194304),e}function os(e){for(var t=[],a=0;31>a;a++)t.push(e);return t}function xl(e,t){e.pendingLanes|=t,t!==268435456&&(e.suspendedLanes=0,e.pingedLanes=0,e.warmLanes=0)}function dh(e,t,a,n,l,o){var d=e.pendingLanes;e.pendingLanes=a,e.suspendedLanes=0,e.pingedLanes=0,e.warmLanes=0,e.expiredLanes&=a,e.entangledLanes&=a,e.errorRecoveryDisabledLanes&=a,e.shellSuspendCounter=0;var p=e.entanglements,S=e.expirationTimes,k=e.hiddenUpdates;for(a=d&~a;0<a;){var z=31-bt(a),U=1<<z;p[z]=0,S[z]=-1;var E=k[z];if(E!==null)for(k[z]=null,z=0;z<E.length;z++){var M=E[z];M!==null&&(M.lane&=-536870913)}a&=~U}n!==0&&du(e,n,0),o!==0&&l===0&&e.tag!==0&&(e.suspendedLanes|=o&~(d&~t))}function du(e,t,a){e.pendingLanes|=t,e.suspendedLanes&=~t;var n=31-bt(t);e.entangledLanes|=t,e.entanglements[n]=e.entanglements[n]|1073741824|a&261930}function fu(e,t){var a=e.entangledLanes|=t;for(e=e.entanglements;a;){var n=31-bt(a),l=1<<n;l&t|e[n]&t&&(e[n]|=t),a&=~l}}function mu(e,t){var a=t&-t;return a=(a&42)!==0?1:ss(a),(a&(e.suspendedLanes|t))!==0?0:a}function ss(e){switch(e){case 2:e=1;break;case 8:e=4;break;case 32:e=16;break;case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:case 4194304:case 8388608:case 16777216:case 33554432:e=128;break;case 268435456:e=134217728;break;default:e=0}return e}function rs(e){return e&=-e,2<e?8<e?(e&134217727)!==0?32:268435456:8:2}function pu(){var e=K.p;return e!==0?e:(e=window.event,e===void 0?32:ep(e.type))}function gu(e,t){var a=K.p;try{return K.p=e,t()}finally{K.p=a}}var Ma=Math.random().toString(36).slice(2),et="__reactFiber$"+Ma,st="__reactProps$"+Ma,Tn="__reactContainer$"+Ma,cs="__reactEvents$"+Ma,fh="__reactListeners$"+Ma,mh="__reactHandles$"+Ma,hu="__reactResources$"+Ma,wl="__reactMarker$"+Ma;function us(e){delete e[et],delete e[st],delete e[cs],delete e[fh],delete e[mh]}function kn(e){var t=e[et];if(t)return t;for(var a=e.parentNode;a;){if(t=a[Tn]||a[et]){if(a=t.alternate,t.child!==null||a!==null&&a.child!==null)for(e=_m(e);e!==null;){if(a=e[et])return a;e=_m(e)}return t}e=a,a=e.parentNode}return null}function En(e){if(e=e[et]||e[Tn]){var t=e.tag;if(t===5||t===6||t===13||t===31||t===26||t===27||t===3)return e}return null}function Cl(e){var t=e.tag;if(t===5||t===26||t===27||t===6)return e.stateNode;throw Error(r(33))}function Nn(e){var t=e[hu];return t||(t=e[hu]={hoistableStyles:new Map,hoistableScripts:new Map}),t}function Xe(e){e[wl]=!0}var yu=new Set,vu={};function nn(e,t){Mn(e,t),Mn(e+"Capture",t)}function Mn(e,t){for(vu[e]=t,e=0;e<t.length;e++)yu.add(t[e])}var ph=RegExp("^[:A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD][:A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD\\-.0-9\\u00B7\\u0300-\\u036F\\u203F-\\u2040]*$"),bu={},Su={};function gh(e){return ht.call(Su,e)?!0:ht.call(bu,e)?!1:ph.test(e)?Su[e]=!0:(bu[e]=!0,!1)}function ji(e,t,a){if(gh(t))if(a===null)e.removeAttribute(t);else{switch(typeof a){case"undefined":case"function":case"symbol":e.removeAttribute(t);return;case"boolean":var n=t.toLowerCase().slice(0,5);if(n!=="data-"&&n!=="aria-"){e.removeAttribute(t);return}}e.setAttribute(t,""+a)}}function Di(e,t,a){if(a===null)e.removeAttribute(t);else{switch(typeof a){case"undefined":case"function":case"symbol":case"boolean":e.removeAttribute(t);return}e.setAttribute(t,""+a)}}function oa(e,t,a,n){if(n===null)e.removeAttribute(a);else{switch(typeof n){case"undefined":case"function":case"symbol":case"boolean":e.removeAttribute(a);return}e.setAttributeNS(t,a,""+n)}}function Nt(e){switch(typeof e){case"bigint":case"boolean":case"number":case"string":case"undefined":return e;case"object":return e;default:return""}}function xu(e){var t=e.type;return(e=e.nodeName)&&e.toLowerCase()==="input"&&(t==="checkbox"||t==="radio")}function hh(e,t,a){var n=Object.getOwnPropertyDescriptor(e.constructor.prototype,t);if(!e.hasOwnProperty(t)&&typeof n<"u"&&typeof n.get=="function"&&typeof n.set=="function"){var l=n.get,o=n.set;return Object.defineProperty(e,t,{configurable:!0,get:function(){return l.call(this)},set:function(d){a=""+d,o.call(this,d)}}),Object.defineProperty(e,t,{enumerable:n.enumerable}),{getValue:function(){return a},setValue:function(d){a=""+d},stopTracking:function(){e._valueTracker=null,delete e[t]}}}}function ds(e){if(!e._valueTracker){var t=xu(e)?"checked":"value";e._valueTracker=hh(e,t,""+e[t])}}function wu(e){if(!e)return!1;var t=e._valueTracker;if(!t)return!0;var a=t.getValue(),n="";return e&&(n=xu(e)?e.checked?"true":"false":e.value),e=n,e!==a?(t.setValue(e),!0):!1}function Ri(e){if(e=e||(typeof document<"u"?document:void 0),typeof e>"u")return null;try{return e.activeElement||e.body}catch{return e.body}}var yh=/[\n"\\]/g;function Mt(e){return e.replace(yh,function(t){return"\\"+t.charCodeAt(0).toString(16)+" "})}function fs(e,t,a,n,l,o,d,p){e.name="",d!=null&&typeof d!="function"&&typeof d!="symbol"&&typeof d!="boolean"?e.type=d:e.removeAttribute("type"),t!=null?d==="number"?(t===0&&e.value===""||e.value!=t)&&(e.value=""+Nt(t)):e.value!==""+Nt(t)&&(e.value=""+Nt(t)):d!=="submit"&&d!=="reset"||e.removeAttribute("value"),t!=null?ms(e,d,Nt(t)):a!=null?ms(e,d,Nt(a)):n!=null&&e.removeAttribute("value"),l==null&&o!=null&&(e.defaultChecked=!!o),l!=null&&(e.checked=l&&typeof l!="function"&&typeof l!="symbol"),p!=null&&typeof p!="function"&&typeof p!="symbol"&&typeof p!="boolean"?e.name=""+Nt(p):e.removeAttribute("name")}function Cu(e,t,a,n,l,o,d,p){if(o!=null&&typeof o!="function"&&typeof o!="symbol"&&typeof o!="boolean"&&(e.type=o),t!=null||a!=null){if(!(o!=="submit"&&o!=="reset"||t!=null)){ds(e);return}a=a!=null?""+Nt(a):"",t=t!=null?""+Nt(t):a,p||t===e.value||(e.value=t),e.defaultValue=t}n=n??l,n=typeof n!="function"&&typeof n!="symbol"&&!!n,e.checked=p?e.checked:!!n,e.defaultChecked=!!n,d!=null&&typeof d!="function"&&typeof d!="symbol"&&typeof d!="boolean"&&(e.name=d),ds(e)}function ms(e,t,a){t==="number"&&Ri(e.ownerDocument)===e||e.defaultValue===""+a||(e.defaultValue=""+a)}function jn(e,t,a,n){if(e=e.options,t){t={};for(var l=0;l<a.length;l++)t["$"+a[l]]=!0;for(a=0;a<e.length;a++)l=t.hasOwnProperty("$"+e[a].value),e[a].selected!==l&&(e[a].selected=l),l&&n&&(e[a].defaultSelected=!0)}else{for(a=""+Nt(a),t=null,l=0;l<e.length;l++){if(e[l].value===a){e[l].selected=!0,n&&(e[l].defaultSelected=!0);return}t!==null||e[l].disabled||(t=e[l])}t!==null&&(t.selected=!0)}}function Au(e,t,a){if(t!=null&&(t=""+Nt(t),t!==e.value&&(e.value=t),a==null)){e.defaultValue!==t&&(e.defaultValue=t);return}e.defaultValue=a!=null?""+Nt(a):""}function Tu(e,t,a,n){if(t==null){if(n!=null){if(a!=null)throw Error(r(92));if(we(n)){if(1<n.length)throw Error(r(93));n=n[0]}a=n}a==null&&(a=""),t=a}a=Nt(t),e.defaultValue=a,n=e.textContent,n===a&&n!==""&&n!==null&&(e.value=n),ds(e)}function Dn(e,t){if(t){var a=e.firstChild;if(a&&a===e.lastChild&&a.nodeType===3){a.nodeValue=t;return}}e.textContent=t}var vh=new Set("animationIterationCount aspectRatio borderImageOutset borderImageSlice borderImageWidth boxFlex boxFlexGroup boxOrdinalGroup columnCount columns flex flexGrow flexPositive flexShrink flexNegative flexOrder gridArea gridRow gridRowEnd gridRowSpan gridRowStart gridColumn gridColumnEnd gridColumnSpan gridColumnStart fontWeight lineClamp lineHeight opacity order orphans scale tabSize widows zIndex zoom fillOpacity floodOpacity stopOpacity strokeDasharray strokeDashoffset strokeMiterlimit strokeOpacity strokeWidth MozAnimationIterationCount MozBoxFlex MozBoxFlexGroup MozLineClamp msAnimationIterationCount msFlex msZoom msFlexGrow msFlexNegative msFlexOrder msFlexPositive msFlexShrink msGridColumn msGridColumnSpan msGridRow msGridRowSpan WebkitAnimationIterationCount WebkitBoxFlex WebKitBoxFlexGroup WebkitBoxOrdinalGroup WebkitColumnCount WebkitColumns WebkitFlex WebkitFlexGrow WebkitFlexPositive WebkitFlexShrink WebkitLineClamp".split(" "));function ku(e,t,a){var n=t.indexOf("--")===0;a==null||typeof a=="boolean"||a===""?n?e.setProperty(t,""):t==="float"?e.cssFloat="":e[t]="":n?e.setProperty(t,a):typeof a!="number"||a===0||vh.has(t)?t==="float"?e.cssFloat=a:e[t]=(""+a).trim():e[t]=a+"px"}function Eu(e,t,a){if(t!=null&&typeof t!="object")throw Error(r(62));if(e=e.style,a!=null){for(var n in a)!a.hasOwnProperty(n)||t!=null&&t.hasOwnProperty(n)||(n.indexOf("--")===0?e.setProperty(n,""):n==="float"?e.cssFloat="":e[n]="");for(var l in t)n=t[l],t.hasOwnProperty(l)&&a[l]!==n&&ku(e,l,n)}else for(var o in t)t.hasOwnProperty(o)&&ku(e,o,t[o])}function ps(e){if(e.indexOf("-")===-1)return!1;switch(e){case"annotation-xml":case"color-profile":case"font-face":case"font-face-src":case"font-face-uri":case"font-face-format":case"font-face-name":case"missing-glyph":return!1;default:return!0}}var bh=new Map([["acceptCharset","accept-charset"],["htmlFor","for"],["httpEquiv","http-equiv"],["crossOrigin","crossorigin"],["accentHeight","accent-height"],["alignmentBaseline","alignment-baseline"],["arabicForm","arabic-form"],["baselineShift","baseline-shift"],["capHeight","cap-height"],["clipPath","clip-path"],["clipRule","clip-rule"],["colorInterpolation","color-interpolation"],["colorInterpolationFilters","color-interpolation-filters"],["colorProfile","color-profile"],["colorRendering","color-rendering"],["dominantBaseline","dominant-baseline"],["enableBackground","enable-background"],["fillOpacity","fill-opacity"],["fillRule","fill-rule"],["floodColor","flood-color"],["floodOpacity","flood-opacity"],["fontFamily","font-family"],["fontSize","font-size"],["fontSizeAdjust","font-size-adjust"],["fontStretch","font-stretch"],["fontStyle","font-style"],["fontVariant","font-variant"],["fontWeight","font-weight"],["glyphName","glyph-name"],["glyphOrientationHorizontal","glyph-orientation-horizontal"],["glyphOrientationVertical","glyph-orientation-vertical"],["horizAdvX","horiz-adv-x"],["horizOriginX","horiz-origin-x"],["imageRendering","image-rendering"],["letterSpacing","letter-spacing"],["lightingColor","lighting-color"],["markerEnd","marker-end"],["markerMid","marker-mid"],["markerStart","marker-start"],["overlinePosition","overline-position"],["overlineThickness","overline-thickness"],["paintOrder","paint-order"],["panose-1","panose-1"],["pointerEvents","pointer-events"],["renderingIntent","rendering-intent"],["shapeRendering","shape-rendering"],["stopColor","stop-color"],["stopOpacity","stop-opacity"],["strikethroughPosition","strikethrough-position"],["strikethroughThickness","strikethrough-thickness"],["strokeDasharray","stroke-dasharray"],["strokeDashoffset","stroke-dashoffset"],["strokeLinecap","stroke-linecap"],["strokeLinejoin","stroke-linejoin"],["strokeMiterlimit","stroke-miterlimit"],["strokeOpacity","stroke-opacity"],["strokeWidth","stroke-width"],["textAnchor","text-anchor"],["textDecoration","text-decoration"],["textRendering","text-rendering"],["transformOrigin","transform-origin"],["underlinePosition","underline-position"],["underlineThickness","underline-thickness"],["unicodeBidi","unicode-bidi"],["unicodeRange","unicode-range"],["unitsPerEm","units-per-em"],["vAlphabetic","v-alphabetic"],["vHanging","v-hanging"],["vIdeographic","v-ideographic"],["vMathematical","v-mathematical"],["vectorEffect","vector-effect"],["vertAdvY","vert-adv-y"],["vertOriginX","vert-origin-x"],["vertOriginY","vert-origin-y"],["wordSpacing","word-spacing"],["writingMode","writing-mode"],["xmlnsXlink","xmlns:xlink"],["xHeight","x-height"]]),Sh=/^[\u0000-\u001F ]*j[\r\n\t]*a[\r\n\t]*v[\r\n\t]*a[\r\n\t]*s[\r\n\t]*c[\r\n\t]*r[\r\n\t]*i[\r\n\t]*p[\r\n\t]*t[\r\n\t]*:/i;function Oi(e){return Sh.test(""+e)?"javascript:throw new Error('React has blocked a javascript: URL as a security precaution.')":e}function sa(){}var gs=null;function hs(e){return e=e.target||e.srcElement||window,e.correspondingUseElement&&(e=e.correspondingUseElement),e.nodeType===3?e.parentNode:e}var Rn=null,On=null;function Nu(e){var t=En(e);if(t&&(e=t.stateNode)){var a=e[st]||null;e:switch(e=t.stateNode,t.type){case"input":if(fs(e,a.value,a.defaultValue,a.defaultValue,a.checked,a.defaultChecked,a.type,a.name),t=a.name,a.type==="radio"&&t!=null){for(a=e;a.parentNode;)a=a.parentNode;for(a=a.querySelectorAll('input[name="'+Mt(""+t)+'"][type="radio"]'),t=0;t<a.length;t++){var n=a[t];if(n!==e&&n.form===e.form){var l=n[st]||null;if(!l)throw Error(r(90));fs(n,l.value,l.defaultValue,l.defaultValue,l.checked,l.defaultChecked,l.type,l.name)}}for(t=0;t<a.length;t++)n=a[t],n.form===e.form&&wu(n)}break e;case"textarea":Au(e,a.value,a.defaultValue);break e;case"select":t=a.value,t!=null&&jn(e,!!a.multiple,t,!1)}}}var ys=!1;function Mu(e,t,a){if(ys)return e(t,a);ys=!0;try{var n=e(t);return n}finally{if(ys=!1,(Rn!==null||On!==null)&&(xo(),Rn&&(t=Rn,e=On,On=Rn=null,Nu(t),e)))for(t=0;t<e.length;t++)Nu(e[t])}}function Al(e,t){var a=e.stateNode;if(a===null)return null;var n=a[st]||null;if(n===null)return null;a=n[t];e:switch(t){case"onClick":case"onClickCapture":case"onDoubleClick":case"onDoubleClickCapture":case"onMouseDown":case"onMouseDownCapture":case"onMouseMove":case"onMouseMoveCapture":case"onMouseUp":case"onMouseUpCapture":case"onMouseEnter":(n=!n.disabled)||(e=e.type,n=!(e==="button"||e==="input"||e==="select"||e==="textarea")),e=!n;break e;default:e=!1}if(e)return null;if(a&&typeof a!="function")throw Error(r(231,t,typeof a));return a}var ra=!(typeof window>"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),vs=!1;if(ra)try{var Tl={};Object.defineProperty(Tl,"passive",{get:function(){vs=!0}}),window.addEventListener("test",Tl,Tl),window.removeEventListener("test",Tl,Tl)}catch{vs=!1}var ja=null,bs=null,zi=null;function ju(){if(zi)return zi;var e,t=bs,a=t.length,n,l="value"in ja?ja.value:ja.textContent,o=l.length;for(e=0;e<a&&t[e]===l[e];e++);var d=a-e;for(n=1;n<=d&&t[a-n]===l[o-n];n++);return zi=l.slice(e,1<n?1-n:void 0)}function Pi(e){var t=e.keyCode;return"charCode"in e?(e=e.charCode,e===0&&t===13&&(e=13)):e=t,e===10&&(e=13),32<=e||e===13?e:0}function Li(){return!0}function Du(){return!1}function rt(e){function t(a,n,l,o,d){this._reactName=a,this._targetInst=l,this.type=n,this.nativeEvent=o,this.target=d,this.currentTarget=null;for(var p in e)e.hasOwnProperty(p)&&(a=e[p],this[p]=a?a(o):o[p]);return this.isDefaultPrevented=(o.defaultPrevented!=null?o.defaultPrevented:o.returnValue===!1)?Li:Du,this.isPropagationStopped=Du,this}return C(t.prototype,{preventDefault:function(){this.defaultPrevented=!0;var a=this.nativeEvent;a&&(a.preventDefault?a.preventDefault():typeof a.returnValue!="unknown"&&(a.returnValue=!1),this.isDefaultPrevented=Li)},stopPropagation:function(){var a=this.nativeEvent;a&&(a.stopPropagation?a.stopPropagation():typeof a.cancelBubble!="unknown"&&(a.cancelBubble=!0),this.isPropagationStopped=Li)},persist:function(){},isPersistent:Li}),t}var ln={eventPhase:0,bubbles:0,cancelable:0,timeStamp:function(e){return e.timeStamp||Date.now()},defaultPrevented:0,isTrusted:0},Ui=rt(ln),kl=C({},ln,{view:0,detail:0}),xh=rt(kl),Ss,xs,El,_i=C({},kl,{screenX:0,screenY:0,clientX:0,clientY:0,pageX:0,pageY:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,getModifierState:Cs,button:0,buttons:0,relatedTarget:function(e){return e.relatedTarget===void 0?e.fromElement===e.srcElement?e.toElement:e.fromElement:e.relatedTarget},movementX:function(e){return"movementX"in e?e.movementX:(e!==El&&(El&&e.type==="mousemove"?(Ss=e.screenX-El.screenX,xs=e.screenY-El.screenY):xs=Ss=0,El=e),Ss)},movementY:function(e){return"movementY"in e?e.movementY:xs}}),Ru=rt(_i),wh=C({},_i,{dataTransfer:0}),Ch=rt(wh),Ah=C({},kl,{relatedTarget:0}),ws=rt(Ah),Th=C({},ln,{animationName:0,elapsedTime:0,pseudoElement:0}),kh=rt(Th),Eh=C({},ln,{clipboardData:function(e){return"clipboardData"in e?e.clipboardData:window.clipboardData}}),Nh=rt(Eh),Mh=C({},ln,{data:0}),Ou=rt(Mh),jh={Esc:"Escape",Spacebar:" ",Left:"ArrowLeft",Up:"ArrowUp",Right:"ArrowRight",Down:"ArrowDown",Del:"Delete",Win:"OS",Menu:"ContextMenu",Apps:"ContextMenu",Scroll:"ScrollLock",MozPrintableKey:"Unidentified"},Dh={8:"Backspace",9:"Tab",12:"Clear",13:"Enter",16:"Shift",17:"Control",18:"Alt",19:"Pause",20:"CapsLock",27:"Escape",32:" ",33:"PageUp",34:"PageDown",35:"End",36:"Home",37:"ArrowLeft",38:"ArrowUp",39:"ArrowRight",40:"ArrowDown",45:"Insert",46:"Delete",112:"F1",113:"F2",114:"F3",115:"F4",116:"F5",117:"F6",118:"F7",119:"F8",120:"F9",121:"F10",122:"F11",123:"F12",144:"NumLock",145:"ScrollLock",224:"Meta"},Rh={Alt:"altKey",Control:"ctrlKey",Meta:"metaKey",Shift:"shiftKey"};function Oh(e){var t=this.nativeEvent;return t.getModifierState?t.getModifierState(e):(e=Rh[e])?!!t[e]:!1}function Cs(){return Oh}var zh=C({},kl,{key:function(e){if(e.key){var t=jh[e.key]||e.key;if(t!=="Unidentified")return t}return e.type==="keypress"?(e=Pi(e),e===13?"Enter":String.fromCharCode(e)):e.type==="keydown"||e.type==="keyup"?Dh[e.keyCode]||"Unidentified":""},code:0,location:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,repeat:0,locale:0,getModifierState:Cs,charCode:function(e){return e.type==="keypress"?Pi(e):0},keyCode:function(e){return e.type==="keydown"||e.type==="keyup"?e.keyCode:0},which:function(e){return e.type==="keypress"?Pi(e):e.type==="keydown"||e.type==="keyup"?e.keyCode:0}}),Ph=rt(zh),Lh=C({},_i,{pointerId:0,width:0,height:0,pressure:0,tangentialPressure:0,tiltX:0,tiltY:0,twist:0,pointerType:0,isPrimary:0}),zu=rt(Lh),Uh=C({},kl,{touches:0,targetTouches:0,changedTouches:0,altKey:0,metaKey:0,ctrlKey:0,shiftKey:0,getModifierState:Cs}),_h=rt(Uh),Fh=C({},ln,{propertyName:0,elapsedTime:0,pseudoElement:0}),Bh=rt(Fh),Hh=C({},_i,{deltaX:function(e){return"deltaX"in e?e.deltaX:"wheelDeltaX"in e?-e.wheelDeltaX:0},deltaY:function(e){return"deltaY"in e?e.deltaY:"wheelDeltaY"in e?-e.wheelDeltaY:"wheelDelta"in e?-e.wheelDelta:0},deltaZ:0,deltaMode:0}),qh=rt(Hh),Vh=C({},ln,{newState:0,oldState:0}),Gh=rt(Vh),Kh=[9,13,27,32],As=ra&&"CompositionEvent"in window,Nl=null;ra&&"documentMode"in document&&(Nl=document.documentMode);var Ih=ra&&"TextEvent"in window&&!Nl,Pu=ra&&(!As||Nl&&8<Nl&&11>=Nl),Lu=" ",Uu=!1;function _u(e,t){switch(e){case"keyup":return Kh.indexOf(t.keyCode)!==-1;case"keydown":return t.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function Fu(e){return e=e.detail,typeof e=="object"&&"data"in e?e.data:null}var zn=!1;function Yh(e,t){switch(e){case"compositionend":return Fu(t);case"keypress":return t.which!==32?null:(Uu=!0,Lu);case"textInput":return e=t.data,e===Lu&&Uu?null:e;default:return null}}function Qh(e,t){if(zn)return e==="compositionend"||!As&&_u(e,t)?(e=ju(),zi=bs=ja=null,zn=!1,e):null;switch(e){case"paste":return null;case"keypress":if(!(t.ctrlKey||t.altKey||t.metaKey)||t.ctrlKey&&t.altKey){if(t.char&&1<t.char.length)return t.char;if(t.which)return String.fromCharCode(t.which)}return null;case"compositionend":return Pu&&t.locale!=="ko"?null:t.data;default:return null}}var Xh={color:!0,date:!0,datetime:!0,"datetime-local":!0,email:!0,month:!0,number:!0,password:!0,range:!0,search:!0,tel:!0,text:!0,time:!0,url:!0,week:!0};function Bu(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t==="input"?!!Xh[e.type]:t==="textarea"}function Hu(e,t,a,n){Rn?On?On.push(n):On=[n]:Rn=n,t=No(t,"onChange"),0<t.length&&(a=new Ui("onChange","change",null,a,n),e.push({event:a,listeners:t}))}var Ml=null,jl=null;function Zh(e){Am(e,0)}function Fi(e){var t=Cl(e);if(wu(t))return e}function qu(e,t){if(e==="change")return t}var Vu=!1;if(ra){var Ts;if(ra){var ks="oninput"in document;if(!ks){var Gu=document.createElement("div");Gu.setAttribute("oninput","return;"),ks=typeof Gu.oninput=="function"}Ts=ks}else Ts=!1;Vu=Ts&&(!document.documentMode||9<document.documentMode)}function Ku(){Ml&&(Ml.detachEvent("onpropertychange",Iu),jl=Ml=null)}function Iu(e){if(e.propertyName==="value"&&Fi(jl)){var t=[];Hu(t,jl,e,hs(e)),Mu(Zh,t)}}function $h(e,t,a){e==="focusin"?(Ku(),Ml=t,jl=a,Ml.attachEvent("onpropertychange",Iu)):e==="focusout"&&Ku()}function Jh(e){if(e==="selectionchange"||e==="keyup"||e==="keydown")return Fi(jl)}function Wh(e,t){if(e==="click")return Fi(t)}function ey(e,t){if(e==="input"||e==="change")return Fi(t)}function ty(e,t){return e===t&&(e!==0||1/e===1/t)||e!==e&&t!==t}var St=typeof Object.is=="function"?Object.is:ty;function Dl(e,t){if(St(e,t))return!0;if(typeof e!="object"||e===null||typeof t!="object"||t===null)return!1;var a=Object.keys(e),n=Object.keys(t);if(a.length!==n.length)return!1;for(n=0;n<a.length;n++){var l=a[n];if(!ht.call(t,l)||!St(e[l],t[l]))return!1}return!0}function Yu(e){for(;e&&e.firstChild;)e=e.firstChild;return e}function Qu(e,t){var a=Yu(e);e=0;for(var n;a;){if(a.nodeType===3){if(n=e+a.textContent.length,e<=t&&n>=t)return{node:a,offset:t-e};e=n}e:{for(;a;){if(a.nextSibling){a=a.nextSibling;break e}a=a.parentNode}a=void 0}a=Yu(a)}}function Xu(e,t){return e&&t?e===t?!0:e&&e.nodeType===3?!1:t&&t.nodeType===3?Xu(e,t.parentNode):"contains"in e?e.contains(t):e.compareDocumentPosition?!!(e.compareDocumentPosition(t)&16):!1:!1}function Zu(e){e=e!=null&&e.ownerDocument!=null&&e.ownerDocument.defaultView!=null?e.ownerDocument.defaultView:window;for(var t=Ri(e.document);t instanceof e.HTMLIFrameElement;){try{var a=typeof t.contentWindow.location.href=="string"}catch{a=!1}if(a)e=t.contentWindow;else break;t=Ri(e.document)}return t}function Es(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t&&(t==="input"&&(e.type==="text"||e.type==="search"||e.type==="tel"||e.type==="url"||e.type==="password")||t==="textarea"||e.contentEditable==="true")}var ay=ra&&"documentMode"in document&&11>=document.documentMode,Pn=null,Ns=null,Rl=null,Ms=!1;function $u(e,t,a){var n=a.window===a?a.document:a.nodeType===9?a:a.ownerDocument;Ms||Pn==null||Pn!==Ri(n)||(n=Pn,"selectionStart"in n&&Es(n)?n={start:n.selectionStart,end:n.selectionEnd}:(n=(n.ownerDocument&&n.ownerDocument.defaultView||window).getSelection(),n={anchorNode:n.anchorNode,anchorOffset:n.anchorOffset,focusNode:n.focusNode,focusOffset:n.focusOffset}),Rl&&Dl(Rl,n)||(Rl=n,n=No(Ns,"onSelect"),0<n.length&&(t=new Ui("onSelect","select",null,t,a),e.push({event:t,listeners:n}),t.target=Pn)))}function on(e,t){var a={};return a[e.toLowerCase()]=t.toLowerCase(),a["Webkit"+e]="webkit"+t,a["Moz"+e]="moz"+t,a}var Ln={animationend:on("Animation","AnimationEnd"),animationiteration:on("Animation","AnimationIteration"),animationstart:on("Animation","AnimationStart"),transitionrun:on("Transition","TransitionRun"),transitionstart:on("Transition","TransitionStart"),transitioncancel:on("Transition","TransitionCancel"),transitionend:on("Transition","TransitionEnd")},js={},Ju={};ra&&(Ju=document.createElement("div").style,"AnimationEvent"in window||(delete Ln.animationend.animation,delete Ln.animationiteration.animation,delete Ln.animationstart.animation),"TransitionEvent"in window||delete Ln.transitionend.transition);function sn(e){if(js[e])return js[e];if(!Ln[e])return e;var t=Ln[e],a;for(a in t)if(t.hasOwnProperty(a)&&a in Ju)return js[e]=t[a];return e}var Wu=sn("animationend"),ed=sn("animationiteration"),td=sn("animationstart"),ny=sn("transitionrun"),ly=sn("transitionstart"),iy=sn("transitioncancel"),ad=sn("transitionend"),nd=new Map,Ds="abort auxClick beforeToggle cancel canPlay canPlayThrough click close contextMenu copy cut drag dragEnd dragEnter dragExit dragLeave dragOver dragStart drop durationChange emptied encrypted ended error gotPointerCapture input invalid keyDown keyPress keyUp load loadedData loadedMetadata loadStart lostPointerCapture mouseDown mouseMove mouseOut mouseOver mouseUp paste pause play playing pointerCancel pointerDown pointerMove pointerOut pointerOver pointerUp progress rateChange reset resize seeked seeking stalled submit suspend timeUpdate touchCancel touchEnd touchStart volumeChange scroll toggle touchMove waiting wheel".split(" ");Ds.push("scrollEnd");function Ht(e,t){nd.set(e,t),nn(t,[e])}var Bi=typeof reportError=="function"?reportError:function(e){if(typeof window=="object"&&typeof window.ErrorEvent=="function"){var t=new window.ErrorEvent("error",{bubbles:!0,cancelable:!0,message:typeof e=="object"&&e!==null&&typeof e.message=="string"?String(e.message):String(e),error:e});if(!window.dispatchEvent(t))return}else if(typeof process=="object"&&typeof process.emit=="function"){process.emit("uncaughtException",e);return}console.error(e)},jt=[],Un=0,Rs=0;function Hi(){for(var e=Un,t=Rs=Un=0;t<e;){var a=jt[t];jt[t++]=null;var n=jt[t];jt[t++]=null;var l=jt[t];jt[t++]=null;var o=jt[t];if(jt[t++]=null,n!==null&&l!==null){var d=n.pending;d===null?l.next=l:(l.next=d.next,d.next=l),n.pending=l}o!==0&&ld(a,l,o)}}function qi(e,t,a,n){jt[Un++]=e,jt[Un++]=t,jt[Un++]=a,jt[Un++]=n,Rs|=n,e.lanes|=n,e=e.alternate,e!==null&&(e.lanes|=n)}function Os(e,t,a,n){return qi(e,t,a,n),Vi(e)}function rn(e,t){return qi(e,null,null,t),Vi(e)}function ld(e,t,a){e.lanes|=a;var n=e.alternate;n!==null&&(n.lanes|=a);for(var l=!1,o=e.return;o!==null;)o.childLanes|=a,n=o.alternate,n!==null&&(n.childLanes|=a),o.tag===22&&(e=o.stateNode,e===null||e._visibility&1||(l=!0)),e=o,o=o.return;return e.tag===3?(o=e.stateNode,l&&t!==null&&(l=31-bt(a),e=o.hiddenUpdates,n=e[l],n===null?e[l]=[t]:n.push(t),t.lane=a|536870912),o):null}function Vi(e){if(50<ei)throw ei=0,qr=null,Error(r(185));for(var t=e.return;t!==null;)e=t,t=e.return;return e.tag===3?e.stateNode:null}var _n={};function oy(e,t,a,n){this.tag=e,this.key=a,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.refCleanup=this.ref=null,this.pendingProps=t,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=n,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function xt(e,t,a,n){return new oy(e,t,a,n)}function zs(e){return e=e.prototype,!(!e||!e.isReactComponent)}function ca(e,t){var a=e.alternate;return a===null?(a=xt(e.tag,t,e.key,e.mode),a.elementType=e.elementType,a.type=e.type,a.stateNode=e.stateNode,a.alternate=e,e.alternate=a):(a.pendingProps=t,a.type=e.type,a.flags=0,a.subtreeFlags=0,a.deletions=null),a.flags=e.flags&65011712,a.childLanes=e.childLanes,a.lanes=e.lanes,a.child=e.child,a.memoizedProps=e.memoizedProps,a.memoizedState=e.memoizedState,a.updateQueue=e.updateQueue,t=e.dependencies,a.dependencies=t===null?null:{lanes:t.lanes,firstContext:t.firstContext},a.sibling=e.sibling,a.index=e.index,a.ref=e.ref,a.refCleanup=e.refCleanup,a}function id(e,t){e.flags&=65011714;var a=e.alternate;return a===null?(e.childLanes=0,e.lanes=t,e.child=null,e.subtreeFlags=0,e.memoizedProps=null,e.memoizedState=null,e.updateQueue=null,e.dependencies=null,e.stateNode=null):(e.childLanes=a.childLanes,e.lanes=a.lanes,e.child=a.child,e.subtreeFlags=0,e.deletions=null,e.memoizedProps=a.memoizedProps,e.memoizedState=a.memoizedState,e.updateQueue=a.updateQueue,e.type=a.type,t=a.dependencies,e.dependencies=t===null?null:{lanes:t.lanes,firstContext:t.firstContext}),e}function Gi(e,t,a,n,l,o){var d=0;if(n=e,typeof e=="function")zs(e)&&(d=1);else if(typeof e=="string")d=dv(e,a,re.current)?26:e==="html"||e==="head"||e==="body"?27:5;else e:switch(e){case Q:return e=xt(31,a,t,l),e.elementType=Q,e.lanes=o,e;case R:return cn(a.children,l,o,t);case N:d=8,l|=24;break;case B:return e=xt(12,a,t,l|2),e.elementType=B,e.lanes=o,e;case I:return e=xt(13,a,t,l),e.elementType=I,e.lanes=o,e;case V:return e=xt(19,a,t,l),e.elementType=V,e.lanes=o,e;default:if(typeof e=="object"&&e!==null)switch(e.$$typeof){case G:d=10;break e;case P:d=9;break e;case Z:d=11;break e;case _:d=14;break e;case F:d=16,n=null;break e}d=29,a=Error(r(130,e===null?"null":typeof e,"")),n=null}return t=xt(d,a,t,l),t.elementType=e,t.type=n,t.lanes=o,t}function cn(e,t,a,n){return e=xt(7,e,n,t),e.lanes=a,e}function Ps(e,t,a){return e=xt(6,e,null,t),e.lanes=a,e}function od(e){var t=xt(18,null,null,0);return t.stateNode=e,t}function Ls(e,t,a){return t=xt(4,e.children!==null?e.children:[],e.key,t),t.lanes=a,t.stateNode={containerInfo:e.containerInfo,pendingChildren:null,implementation:e.implementation},t}var sd=new WeakMap;function Dt(e,t){if(typeof e=="object"&&e!==null){var a=sd.get(e);return a!==void 0?a:(t={value:e,source:t,stack:We(t)},sd.set(e,t),t)}return{value:e,source:t,stack:We(t)}}var Fn=[],Bn=0,Ki=null,Ol=0,Rt=[],Ot=0,Da=null,$t=1,Jt="";function ua(e,t){Fn[Bn++]=Ol,Fn[Bn++]=Ki,Ki=e,Ol=t}function rd(e,t,a){Rt[Ot++]=$t,Rt[Ot++]=Jt,Rt[Ot++]=Da,Da=e;var n=$t;e=Jt;var l=32-bt(n)-1;n&=~(1<<l),a+=1;var o=32-bt(t)+l;if(30<o){var d=l-l%5;o=(n&(1<<d)-1).toString(32),n>>=d,l-=d,$t=1<<32-bt(t)+l|a<<l|n,Jt=o+e}else $t=1<<o|a<<l|n,Jt=e}function Us(e){e.return!==null&&(ua(e,1),rd(e,1,0))}function _s(e){for(;e===Ki;)Ki=Fn[--Bn],Fn[Bn]=null,Ol=Fn[--Bn],Fn[Bn]=null;for(;e===Da;)Da=Rt[--Ot],Rt[Ot]=null,Jt=Rt[--Ot],Rt[Ot]=null,$t=Rt[--Ot],Rt[Ot]=null}function cd(e,t){Rt[Ot++]=$t,Rt[Ot++]=Jt,Rt[Ot++]=Da,$t=t.id,Jt=t.overflow,Da=e}var tt=null,De=null,ge=!1,Ra=null,zt=!1,Fs=Error(r(519));function Oa(e){var t=Error(r(418,1<arguments.length&&arguments[1]!==void 0&&arguments[1]?"text":"HTML",""));throw zl(Dt(t,e)),Fs}function ud(e){var t=e.stateNode,a=e.type,n=e.memoizedProps;switch(t[et]=e,t[st]=n,a){case"dialog":ue("cancel",t),ue("close",t);break;case"iframe":case"object":case"embed":ue("load",t);break;case"video":case"audio":for(a=0;a<ai.length;a++)ue(ai[a],t);break;case"source":ue("error",t);break;case"img":case"image":case"link":ue("error",t),ue("load",t);break;case"details":ue("toggle",t);break;case"input":ue("invalid",t),Cu(t,n.value,n.defaultValue,n.checked,n.defaultChecked,n.type,n.name,!0);break;case"select":ue("invalid",t);break;case"textarea":ue("invalid",t),Tu(t,n.value,n.defaultValue,n.children)}a=n.children,typeof a!="string"&&typeof a!="number"&&typeof a!="bigint"||t.textContent===""+a||n.suppressHydrationWarning===!0||Nm(t.textContent,a)?(n.popover!=null&&(ue("beforetoggle",t),ue("toggle",t)),n.onScroll!=null&&ue("scroll",t),n.onScrollEnd!=null&&ue("scrollend",t),n.onClick!=null&&(t.onclick=sa),t=!0):t=!1,t||Oa(e,!0)}function dd(e){for(tt=e.return;tt;)switch(tt.tag){case 5:case 31:case 13:zt=!1;return;case 27:case 3:zt=!0;return;default:tt=tt.return}}function Hn(e){if(e!==tt)return!1;if(!ge)return dd(e),ge=!0,!1;var t=e.tag,a;if((a=t!==3&&t!==27)&&((a=t===5)&&(a=e.type,a=!(a!=="form"&&a!=="button")||nc(e.type,e.memoizedProps)),a=!a),a&&De&&Oa(e),dd(e),t===13){if(e=e.memoizedState,e=e!==null?e.dehydrated:null,!e)throw Error(r(317));De=Um(e)}else if(t===31){if(e=e.memoizedState,e=e!==null?e.dehydrated:null,!e)throw Error(r(317));De=Um(e)}else t===27?(t=De,Ya(e.type)?(e=rc,rc=null,De=e):De=t):De=tt?Lt(e.stateNode.nextSibling):null;return!0}function un(){De=tt=null,ge=!1}function Bs(){var e=Ra;return e!==null&&(ft===null?ft=e:ft.push.apply(ft,e),Ra=null),e}function zl(e){Ra===null?Ra=[e]:Ra.push(e)}var Hs=Le(null),dn=null,da=null;function za(e,t,a){te(Hs,t._currentValue),t._currentValue=a}function fa(e){e._currentValue=Hs.current,ye(Hs)}function qs(e,t,a){for(;e!==null;){var n=e.alternate;if((e.childLanes&t)!==t?(e.childLanes|=t,n!==null&&(n.childLanes|=t)):n!==null&&(n.childLanes&t)!==t&&(n.childLanes|=t),e===a)break;e=e.return}}function Vs(e,t,a,n){var l=e.child;for(l!==null&&(l.return=e);l!==null;){var o=l.dependencies;if(o!==null){var d=l.child;o=o.firstContext;e:for(;o!==null;){var p=o;o=l;for(var S=0;S<t.length;S++)if(p.context===t[S]){o.lanes|=a,p=o.alternate,p!==null&&(p.lanes|=a),qs(o.return,a,e),n||(d=null);break e}o=p.next}}else if(l.tag===18){if(d=l.return,d===null)throw Error(r(341));d.lanes|=a,o=d.alternate,o!==null&&(o.lanes|=a),qs(d,a,e),d=null}else d=l.child;if(d!==null)d.return=l;else for(d=l;d!==null;){if(d===e){d=null;break}if(l=d.sibling,l!==null){l.return=d.return,d=l;break}d=d.return}l=d}}function qn(e,t,a,n){e=null;for(var l=t,o=!1;l!==null;){if(!o){if((l.flags&524288)!==0)o=!0;else if((l.flags&262144)!==0)break}if(l.tag===10){var d=l.alternate;if(d===null)throw Error(r(387));if(d=d.memoizedProps,d!==null){var p=l.type;St(l.pendingProps.value,d.value)||(e!==null?e.push(p):e=[p])}}else if(l===je.current){if(d=l.alternate,d===null)throw Error(r(387));d.memoizedState.memoizedState!==l.memoizedState.memoizedState&&(e!==null?e.push(si):e=[si])}l=l.return}e!==null&&Vs(t,e,a,n),t.flags|=262144}function Ii(e){for(e=e.firstContext;e!==null;){if(!St(e.context._currentValue,e.memoizedValue))return!0;e=e.next}return!1}function fn(e){dn=e,da=null,e=e.dependencies,e!==null&&(e.firstContext=null)}function at(e){return fd(dn,e)}function Yi(e,t){return dn===null&&fn(e),fd(e,t)}function fd(e,t){var a=t._currentValue;if(t={context:t,memoizedValue:a,next:null},da===null){if(e===null)throw Error(r(308));da=t,e.dependencies={lanes:0,firstContext:t},e.flags|=524288}else da=da.next=t;return a}var sy=typeof AbortController<"u"?AbortController:function(){var e=[],t=this.signal={aborted:!1,addEventListener:function(a,n){e.push(n)}};this.abort=function(){t.aborted=!0,e.forEach(function(a){return a()})}},ry=i.unstable_scheduleCallback,cy=i.unstable_NormalPriority,qe={$$typeof:G,Consumer:null,Provider:null,_currentValue:null,_currentValue2:null,_threadCount:0};function Gs(){return{controller:new sy,data:new Map,refCount:0}}function Pl(e){e.refCount--,e.refCount===0&&ry(cy,function(){e.controller.abort()})}var Ll=null,Ks=0,Vn=0,Gn=null;function uy(e,t){if(Ll===null){var a=Ll=[];Ks=0,Vn=Qr(),Gn={status:"pending",value:void 0,then:function(n){a.push(n)}}}return Ks++,t.then(md,md),t}function md(){if(--Ks===0&&Ll!==null){Gn!==null&&(Gn.status="fulfilled");var e=Ll;Ll=null,Vn=0,Gn=null;for(var t=0;t<e.length;t++)(0,e[t])()}}function dy(e,t){var a=[],n={status:"pending",value:null,reason:null,then:function(l){a.push(l)}};return e.then(function(){n.status="fulfilled",n.value=t;for(var l=0;l<a.length;l++)(0,a[l])(t)},function(l){for(n.status="rejected",n.reason=l,l=0;l<a.length;l++)(0,a[l])(void 0)}),n}var pd=j.S;j.S=function(e,t){Jf=yt(),typeof t=="object"&&t!==null&&typeof t.then=="function"&&uy(e,t),pd!==null&&pd(e,t)};var mn=Le(null);function Is(){var e=mn.current;return e!==null?e:Ne.pooledCache}function Qi(e,t){t===null?te(mn,mn.current):te(mn,t.pool)}function gd(){var e=Is();return e===null?null:{parent:qe._currentValue,pool:e}}var Kn=Error(r(460)),Ys=Error(r(474)),Xi=Error(r(542)),Zi={then:function(){}};function hd(e){return e=e.status,e==="fulfilled"||e==="rejected"}function yd(e,t,a){switch(a=e[a],a===void 0?e.push(t):a!==t&&(t.then(sa,sa),t=a),t.status){case"fulfilled":return t.value;case"rejected":throw e=t.reason,bd(e),e;default:if(typeof t.status=="string")t.then(sa,sa);else{if(e=Ne,e!==null&&100<e.shellSuspendCounter)throw Error(r(482));e=t,e.status="pending",e.then(function(n){if(t.status==="pending"){var l=t;l.status="fulfilled",l.value=n}},function(n){if(t.status==="pending"){var l=t;l.status="rejected",l.reason=n}})}switch(t.status){case"fulfilled":return t.value;case"rejected":throw e=t.reason,bd(e),e}throw gn=t,Kn}}function pn(e){try{var t=e._init;return t(e._payload)}catch(a){throw a!==null&&typeof a=="object"&&typeof a.then=="function"?(gn=a,Kn):a}}var gn=null;function vd(){if(gn===null)throw Error(r(459));var e=gn;return gn=null,e}function bd(e){if(e===Kn||e===Xi)throw Error(r(483))}var In=null,Ul=0;function $i(e){var t=Ul;return Ul+=1,In===null&&(In=[]),yd(In,e,t)}function _l(e,t){t=t.props.ref,e.ref=t!==void 0?t:null}function Ji(e,t){throw t.$$typeof===D?Error(r(525)):(e=Object.prototype.toString.call(t),Error(r(31,e==="[object Object]"?"object with keys {"+Object.keys(t).join(", ")+"}":e)))}function Sd(e){function t(A,w){if(e){var T=A.deletions;T===null?(A.deletions=[w],A.flags|=16):T.push(w)}}function a(A,w){if(!e)return null;for(;w!==null;)t(A,w),w=w.sibling;return null}function n(A){for(var w=new Map;A!==null;)A.key!==null?w.set(A.key,A):w.set(A.index,A),A=A.sibling;return w}function l(A,w){return A=ca(A,w),A.index=0,A.sibling=null,A}function o(A,w,T){return A.index=T,e?(T=A.alternate,T!==null?(T=T.index,T<w?(A.flags|=67108866,w):T):(A.flags|=67108866,w)):(A.flags|=1048576,w)}function d(A){return e&&A.alternate===null&&(A.flags|=67108866),A}function p(A,w,T,L){return w===null||w.tag!==6?(w=Ps(T,A.mode,L),w.return=A,w):(w=l(w,T),w.return=A,w)}function S(A,w,T,L){var ee=T.type;return ee===R?z(A,w,T.props.children,L,T.key):w!==null&&(w.elementType===ee||typeof ee=="object"&&ee!==null&&ee.$$typeof===F&&pn(ee)===w.type)?(w=l(w,T.props),_l(w,T),w.return=A,w):(w=Gi(T.type,T.key,T.props,null,A.mode,L),_l(w,T),w.return=A,w)}function k(A,w,T,L){return w===null||w.tag!==4||w.stateNode.containerInfo!==T.containerInfo||w.stateNode.implementation!==T.implementation?(w=Ls(T,A.mode,L),w.return=A,w):(w=l(w,T.children||[]),w.return=A,w)}function z(A,w,T,L,ee){return w===null||w.tag!==7?(w=cn(T,A.mode,L,ee),w.return=A,w):(w=l(w,T),w.return=A,w)}function U(A,w,T){if(typeof w=="string"&&w!==""||typeof w=="number"||typeof w=="bigint")return w=Ps(""+w,A.mode,T),w.return=A,w;if(typeof w=="object"&&w!==null){switch(w.$$typeof){case H:return T=Gi(w.type,w.key,w.props,null,A.mode,T),_l(T,w),T.return=A,T;case O:return w=Ls(w,A.mode,T),w.return=A,w;case F:return w=pn(w),U(A,w,T)}if(we(w)||Me(w))return w=cn(w,A.mode,T,null),w.return=A,w;if(typeof w.then=="function")return U(A,$i(w),T);if(w.$$typeof===G)return U(A,Yi(A,w),T);Ji(A,w)}return null}function E(A,w,T,L){var ee=w!==null?w.key:null;if(typeof T=="string"&&T!==""||typeof T=="number"||typeof T=="bigint")return ee!==null?null:p(A,w,""+T,L);if(typeof T=="object"&&T!==null){switch(T.$$typeof){case H:return T.key===ee?S(A,w,T,L):null;case O:return T.key===ee?k(A,w,T,L):null;case F:return T=pn(T),E(A,w,T,L)}if(we(T)||Me(T))return ee!==null?null:z(A,w,T,L,null);if(typeof T.then=="function")return E(A,w,$i(T),L);if(T.$$typeof===G)return E(A,w,Yi(A,T),L);Ji(A,T)}return null}function M(A,w,T,L,ee){if(typeof L=="string"&&L!==""||typeof L=="number"||typeof L=="bigint")return A=A.get(T)||null,p(w,A,""+L,ee);if(typeof L=="object"&&L!==null){switch(L.$$typeof){case H:return A=A.get(L.key===null?T:L.key)||null,S(w,A,L,ee);case O:return A=A.get(L.key===null?T:L.key)||null,k(w,A,L,ee);case F:return L=pn(L),M(A,w,T,L,ee)}if(we(L)||Me(L))return A=A.get(T)||null,z(w,A,L,ee,null);if(typeof L.then=="function")return M(A,w,T,$i(L),ee);if(L.$$typeof===G)return M(A,w,T,Yi(w,L),ee);Ji(w,L)}return null}function X(A,w,T,L){for(var ee=null,be=null,W=w,oe=w=0,pe=null;W!==null&&oe<T.length;oe++){W.index>oe?(pe=W,W=null):pe=W.sibling;var Se=E(A,W,T[oe],L);if(Se===null){W===null&&(W=pe);break}e&&W&&Se.alternate===null&&t(A,W),w=o(Se,w,oe),be===null?ee=Se:be.sibling=Se,be=Se,W=pe}if(oe===T.length)return a(A,W),ge&&ua(A,oe),ee;if(W===null){for(;oe<T.length;oe++)W=U(A,T[oe],L),W!==null&&(w=o(W,w,oe),be===null?ee=W:be.sibling=W,be=W);return ge&&ua(A,oe),ee}for(W=n(W);oe<T.length;oe++)pe=M(W,A,oe,T[oe],L),pe!==null&&(e&&pe.alternate!==null&&W.delete(pe.key===null?oe:pe.key),w=o(pe,w,oe),be===null?ee=pe:be.sibling=pe,be=pe);return e&&W.forEach(function(Ja){return t(A,Ja)}),ge&&ua(A,oe),ee}function ae(A,w,T,L){if(T==null)throw Error(r(151));for(var ee=null,be=null,W=w,oe=w=0,pe=null,Se=T.next();W!==null&&!Se.done;oe++,Se=T.next()){W.index>oe?(pe=W,W=null):pe=W.sibling;var Ja=E(A,W,Se.value,L);if(Ja===null){W===null&&(W=pe);break}e&&W&&Ja.alternate===null&&t(A,W),w=o(Ja,w,oe),be===null?ee=Ja:be.sibling=Ja,be=Ja,W=pe}if(Se.done)return a(A,W),ge&&ua(A,oe),ee;if(W===null){for(;!Se.done;oe++,Se=T.next())Se=U(A,Se.value,L),Se!==null&&(w=o(Se,w,oe),be===null?ee=Se:be.sibling=Se,be=Se);return ge&&ua(A,oe),ee}for(W=n(W);!Se.done;oe++,Se=T.next())Se=M(W,A,oe,Se.value,L),Se!==null&&(e&&Se.alternate!==null&&W.delete(Se.key===null?oe:Se.key),w=o(Se,w,oe),be===null?ee=Se:be.sibling=Se,be=Se);return e&&W.forEach(function(wv){return t(A,wv)}),ge&&ua(A,oe),ee}function Ee(A,w,T,L){if(typeof T=="object"&&T!==null&&T.type===R&&T.key===null&&(T=T.props.children),typeof T=="object"&&T!==null){switch(T.$$typeof){case H:e:{for(var ee=T.key;w!==null;){if(w.key===ee){if(ee=T.type,ee===R){if(w.tag===7){a(A,w.sibling),L=l(w,T.props.children),L.return=A,A=L;break e}}else if(w.elementType===ee||typeof ee=="object"&&ee!==null&&ee.$$typeof===F&&pn(ee)===w.type){a(A,w.sibling),L=l(w,T.props),_l(L,T),L.return=A,A=L;break e}a(A,w);break}else t(A,w);w=w.sibling}T.type===R?(L=cn(T.props.children,A.mode,L,T.key),L.return=A,A=L):(L=Gi(T.type,T.key,T.props,null,A.mode,L),_l(L,T),L.return=A,A=L)}return d(A);case O:e:{for(ee=T.key;w!==null;){if(w.key===ee)if(w.tag===4&&w.stateNode.containerInfo===T.containerInfo&&w.stateNode.implementation===T.implementation){a(A,w.sibling),L=l(w,T.children||[]),L.return=A,A=L;break e}else{a(A,w);break}else t(A,w);w=w.sibling}L=Ls(T,A.mode,L),L.return=A,A=L}return d(A);case F:return T=pn(T),Ee(A,w,T,L)}if(we(T))return X(A,w,T,L);if(Me(T)){if(ee=Me(T),typeof ee!="function")throw Error(r(150));return T=ee.call(T),ae(A,w,T,L)}if(typeof T.then=="function")return Ee(A,w,$i(T),L);if(T.$$typeof===G)return Ee(A,w,Yi(A,T),L);Ji(A,T)}return typeof T=="string"&&T!==""||typeof T=="number"||typeof T=="bigint"?(T=""+T,w!==null&&w.tag===6?(a(A,w.sibling),L=l(w,T),L.return=A,A=L):(a(A,w),L=Ps(T,A.mode,L),L.return=A,A=L),d(A)):a(A,w)}return function(A,w,T,L){try{Ul=0;var ee=Ee(A,w,T,L);return In=null,ee}catch(W){if(W===Kn||W===Xi)throw W;var be=xt(29,W,null,A.mode);return be.lanes=L,be.return=A,be}finally{}}}var hn=Sd(!0),xd=Sd(!1),Pa=!1;function Qs(e){e.updateQueue={baseState:e.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,lanes:0,hiddenCallbacks:null},callbacks:null}}function Xs(e,t){e=e.updateQueue,t.updateQueue===e&&(t.updateQueue={baseState:e.baseState,firstBaseUpdate:e.firstBaseUpdate,lastBaseUpdate:e.lastBaseUpdate,shared:e.shared,callbacks:null})}function La(e){return{lane:e,tag:0,payload:null,callback:null,next:null}}function Ua(e,t,a){var n=e.updateQueue;if(n===null)return null;if(n=n.shared,(xe&2)!==0){var l=n.pending;return l===null?t.next=t:(t.next=l.next,l.next=t),n.pending=t,t=Vi(e),ld(e,null,a),t}return qi(e,n,t,a),Vi(e)}function Fl(e,t,a){if(t=t.updateQueue,t!==null&&(t=t.shared,(a&4194048)!==0)){var n=t.lanes;n&=e.pendingLanes,a|=n,t.lanes=a,fu(e,a)}}function Zs(e,t){var a=e.updateQueue,n=e.alternate;if(n!==null&&(n=n.updateQueue,a===n)){var l=null,o=null;if(a=a.firstBaseUpdate,a!==null){do{var d={lane:a.lane,tag:a.tag,payload:a.payload,callback:null,next:null};o===null?l=o=d:o=o.next=d,a=a.next}while(a!==null);o===null?l=o=t:o=o.next=t}else l=o=t;a={baseState:n.baseState,firstBaseUpdate:l,lastBaseUpdate:o,shared:n.shared,callbacks:n.callbacks},e.updateQueue=a;return}e=a.lastBaseUpdate,e===null?a.firstBaseUpdate=t:e.next=t,a.lastBaseUpdate=t}var $s=!1;function Bl(){if($s){var e=Gn;if(e!==null)throw e}}function Hl(e,t,a,n){$s=!1;var l=e.updateQueue;Pa=!1;var o=l.firstBaseUpdate,d=l.lastBaseUpdate,p=l.shared.pending;if(p!==null){l.shared.pending=null;var S=p,k=S.next;S.next=null,d===null?o=k:d.next=k,d=S;var z=e.alternate;z!==null&&(z=z.updateQueue,p=z.lastBaseUpdate,p!==d&&(p===null?z.firstBaseUpdate=k:p.next=k,z.lastBaseUpdate=S))}if(o!==null){var U=l.baseState;d=0,z=k=S=null,p=o;do{var E=p.lane&-536870913,M=E!==p.lane;if(M?(me&E)===E:(n&E)===E){E!==0&&E===Vn&&($s=!0),z!==null&&(z=z.next={lane:0,tag:p.tag,payload:p.payload,callback:null,next:null});e:{var X=e,ae=p;E=t;var Ee=a;switch(ae.tag){case 1:if(X=ae.payload,typeof X=="function"){U=X.call(Ee,U,E);break e}U=X;break e;case 3:X.flags=X.flags&-65537|128;case 0:if(X=ae.payload,E=typeof X=="function"?X.call(Ee,U,E):X,E==null)break e;U=C({},U,E);break e;case 2:Pa=!0}}E=p.callback,E!==null&&(e.flags|=64,M&&(e.flags|=8192),M=l.callbacks,M===null?l.callbacks=[E]:M.push(E))}else M={lane:E,tag:p.tag,payload:p.payload,callback:p.callback,next:null},z===null?(k=z=M,S=U):z=z.next=M,d|=E;if(p=p.next,p===null){if(p=l.shared.pending,p===null)break;M=p,p=M.next,M.next=null,l.lastBaseUpdate=M,l.shared.pending=null}}while(!0);z===null&&(S=U),l.baseState=S,l.firstBaseUpdate=k,l.lastBaseUpdate=z,o===null&&(l.shared.lanes=0),qa|=d,e.lanes=d,e.memoizedState=U}}function wd(e,t){if(typeof e!="function")throw Error(r(191,e));e.call(t)}function Cd(e,t){var a=e.callbacks;if(a!==null)for(e.callbacks=null,e=0;e<a.length;e++)wd(a[e],t)}var Yn=Le(null),Wi=Le(0);function Ad(e,t){e=xa,te(Wi,e),te(Yn,t),xa=e|t.baseLanes}function Js(){te(Wi,xa),te(Yn,Yn.current)}function Ws(){xa=Wi.current,ye(Yn),ye(Wi)}var wt=Le(null),Pt=null;function _a(e){var t=e.alternate;te(Fe,Fe.current&1),te(wt,e),Pt===null&&(t===null||Yn.current!==null||t.memoizedState!==null)&&(Pt=e)}function er(e){te(Fe,Fe.current),te(wt,e),Pt===null&&(Pt=e)}function Td(e){e.tag===22?(te(Fe,Fe.current),te(wt,e),Pt===null&&(Pt=e)):Fa()}function Fa(){te(Fe,Fe.current),te(wt,wt.current)}function Ct(e){ye(wt),Pt===e&&(Pt=null),ye(Fe)}var Fe=Le(0);function eo(e){for(var t=e;t!==null;){if(t.tag===13){var a=t.memoizedState;if(a!==null&&(a=a.dehydrated,a===null||oc(a)||sc(a)))return t}else if(t.tag===19&&(t.memoizedProps.revealOrder==="forwards"||t.memoizedProps.revealOrder==="backwards"||t.memoizedProps.revealOrder==="unstable_legacy-backwards"||t.memoizedProps.revealOrder==="together")){if((t.flags&128)!==0)return t}else if(t.child!==null){t.child.return=t,t=t.child;continue}if(t===e)break;for(;t.sibling===null;){if(t.return===null||t.return===e)return null;t=t.return}t.sibling.return=t.return,t=t.sibling}return null}var ma=0,ie=null,Te=null,Ve=null,to=!1,Qn=!1,yn=!1,ao=0,ql=0,Xn=null,fy=0;function Ue(){throw Error(r(321))}function tr(e,t){if(t===null)return!1;for(var a=0;a<t.length&&a<e.length;a++)if(!St(e[a],t[a]))return!1;return!0}function ar(e,t,a,n,l,o){return ma=o,ie=t,t.memoizedState=null,t.updateQueue=null,t.lanes=0,j.H=e===null||e.memoizedState===null?cf:yr,yn=!1,o=a(n,l),yn=!1,Qn&&(o=Ed(t,a,n,l)),kd(e),o}function kd(e){j.H=Kl;var t=Te!==null&&Te.next!==null;if(ma=0,Ve=Te=ie=null,to=!1,ql=0,Xn=null,t)throw Error(r(300));e===null||Ge||(e=e.dependencies,e!==null&&Ii(e)&&(Ge=!0))}function Ed(e,t,a,n){ie=e;var l=0;do{if(Qn&&(Xn=null),ql=0,Qn=!1,25<=l)throw Error(r(301));if(l+=1,Ve=Te=null,e.updateQueue!=null){var o=e.updateQueue;o.lastEffect=null,o.events=null,o.stores=null,o.memoCache!=null&&(o.memoCache.index=0)}j.H=uf,o=t(a,n)}while(Qn);return o}function my(){var e=j.H,t=e.useState()[0];return t=typeof t.then=="function"?Vl(t):t,e=e.useState()[0],(Te!==null?Te.memoizedState:null)!==e&&(ie.flags|=1024),t}function nr(){var e=ao!==0;return ao=0,e}function lr(e,t,a){t.updateQueue=e.updateQueue,t.flags&=-2053,e.lanes&=~a}function ir(e){if(to){for(e=e.memoizedState;e!==null;){var t=e.queue;t!==null&&(t.pending=null),e=e.next}to=!1}ma=0,Ve=Te=ie=null,Qn=!1,ql=ao=0,Xn=null}function ot(){var e={memoizedState:null,baseState:null,baseQueue:null,queue:null,next:null};return Ve===null?ie.memoizedState=Ve=e:Ve=Ve.next=e,Ve}function Be(){if(Te===null){var e=ie.alternate;e=e!==null?e.memoizedState:null}else e=Te.next;var t=Ve===null?ie.memoizedState:Ve.next;if(t!==null)Ve=t,Te=e;else{if(e===null)throw ie.alternate===null?Error(r(467)):Error(r(310));Te=e,e={memoizedState:Te.memoizedState,baseState:Te.baseState,baseQueue:Te.baseQueue,queue:Te.queue,next:null},Ve===null?ie.memoizedState=Ve=e:Ve=Ve.next=e}return Ve}function no(){return{lastEffect:null,events:null,stores:null,memoCache:null}}function Vl(e){var t=ql;return ql+=1,Xn===null&&(Xn=[]),e=yd(Xn,e,t),t=ie,(Ve===null?t.memoizedState:Ve.next)===null&&(t=t.alternate,j.H=t===null||t.memoizedState===null?cf:yr),e}function lo(e){if(e!==null&&typeof e=="object"){if(typeof e.then=="function")return Vl(e);if(e.$$typeof===G)return at(e)}throw Error(r(438,String(e)))}function or(e){var t=null,a=ie.updateQueue;if(a!==null&&(t=a.memoCache),t==null){var n=ie.alternate;n!==null&&(n=n.updateQueue,n!==null&&(n=n.memoCache,n!=null&&(t={data:n.data.map(function(l){return l.slice()}),index:0})))}if(t==null&&(t={data:[],index:0}),a===null&&(a=no(),ie.updateQueue=a),a.memoCache=t,a=t.data[t.index],a===void 0)for(a=t.data[t.index]=Array(e),n=0;n<e;n++)a[n]=le;return t.index++,a}function pa(e,t){return typeof t=="function"?t(e):t}function io(e){var t=Be();return sr(t,Te,e)}function sr(e,t,a){var n=e.queue;if(n===null)throw Error(r(311));n.lastRenderedReducer=a;var l=e.baseQueue,o=n.pending;if(o!==null){if(l!==null){var d=l.next;l.next=o.next,o.next=d}t.baseQueue=l=o,n.pending=null}if(o=e.baseState,l===null)e.memoizedState=o;else{t=l.next;var p=d=null,S=null,k=t,z=!1;do{var U=k.lane&-536870913;if(U!==k.lane?(me&U)===U:(ma&U)===U){var E=k.revertLane;if(E===0)S!==null&&(S=S.next={lane:0,revertLane:0,gesture:null,action:k.action,hasEagerState:k.hasEagerState,eagerState:k.eagerState,next:null}),U===Vn&&(z=!0);else if((ma&E)===E){k=k.next,E===Vn&&(z=!0);continue}else U={lane:0,revertLane:k.revertLane,gesture:null,action:k.action,hasEagerState:k.hasEagerState,eagerState:k.eagerState,next:null},S===null?(p=S=U,d=o):S=S.next=U,ie.lanes|=E,qa|=E;U=k.action,yn&&a(o,U),o=k.hasEagerState?k.eagerState:a(o,U)}else E={lane:U,revertLane:k.revertLane,gesture:k.gesture,action:k.action,hasEagerState:k.hasEagerState,eagerState:k.eagerState,next:null},S===null?(p=S=E,d=o):S=S.next=E,ie.lanes|=U,qa|=U;k=k.next}while(k!==null&&k!==t);if(S===null?d=o:S.next=p,!St(o,e.memoizedState)&&(Ge=!0,z&&(a=Gn,a!==null)))throw a;e.memoizedState=o,e.baseState=d,e.baseQueue=S,n.lastRenderedState=o}return l===null&&(n.lanes=0),[e.memoizedState,n.dispatch]}function rr(e){var t=Be(),a=t.queue;if(a===null)throw Error(r(311));a.lastRenderedReducer=e;var n=a.dispatch,l=a.pending,o=t.memoizedState;if(l!==null){a.pending=null;var d=l=l.next;do o=e(o,d.action),d=d.next;while(d!==l);St(o,t.memoizedState)||(Ge=!0),t.memoizedState=o,t.baseQueue===null&&(t.baseState=o),a.lastRenderedState=o}return[o,n]}function Nd(e,t,a){var n=ie,l=Be(),o=ge;if(o){if(a===void 0)throw Error(r(407));a=a()}else a=t();var d=!St((Te||l).memoizedState,a);if(d&&(l.memoizedState=a,Ge=!0),l=l.queue,dr(Dd.bind(null,n,l,e),[e]),l.getSnapshot!==t||d||Ve!==null&&Ve.memoizedState.tag&1){if(n.flags|=2048,Zn(9,{destroy:void 0},jd.bind(null,n,l,a,t),null),Ne===null)throw Error(r(349));o||(ma&127)!==0||Md(n,t,a)}return a}function Md(e,t,a){e.flags|=16384,e={getSnapshot:t,value:a},t=ie.updateQueue,t===null?(t=no(),ie.updateQueue=t,t.stores=[e]):(a=t.stores,a===null?t.stores=[e]:a.push(e))}function jd(e,t,a,n){t.value=a,t.getSnapshot=n,Rd(t)&&Od(e)}function Dd(e,t,a){return a(function(){Rd(t)&&Od(e)})}function Rd(e){var t=e.getSnapshot;e=e.value;try{var a=t();return!St(e,a)}catch{return!0}}function Od(e){var t=rn(e,2);t!==null&&mt(t,e,2)}function cr(e){var t=ot();if(typeof e=="function"){var a=e;if(e=a(),yn){Na(!0);try{a()}finally{Na(!1)}}}return t.memoizedState=t.baseState=e,t.queue={pending:null,lanes:0,dispatch:null,lastRenderedReducer:pa,lastRenderedState:e},t}function zd(e,t,a,n){return e.baseState=a,sr(e,Te,typeof n=="function"?n:pa)}function py(e,t,a,n,l){if(ro(e))throw Error(r(485));if(e=t.action,e!==null){var o={payload:l,action:e,next:null,isTransition:!0,status:"pending",value:null,reason:null,listeners:[],then:function(d){o.listeners.push(d)}};j.T!==null?a(!0):o.isTransition=!1,n(o),a=t.pending,a===null?(o.next=t.pending=o,Pd(t,o)):(o.next=a.next,t.pending=a.next=o)}}function Pd(e,t){var a=t.action,n=t.payload,l=e.state;if(t.isTransition){var o=j.T,d={};j.T=d;try{var p=a(l,n),S=j.S;S!==null&&S(d,p),Ld(e,t,p)}catch(k){ur(e,t,k)}finally{o!==null&&d.types!==null&&(o.types=d.types),j.T=o}}else try{o=a(l,n),Ld(e,t,o)}catch(k){ur(e,t,k)}}function Ld(e,t,a){a!==null&&typeof a=="object"&&typeof a.then=="function"?a.then(function(n){Ud(e,t,n)},function(n){return ur(e,t,n)}):Ud(e,t,a)}function Ud(e,t,a){t.status="fulfilled",t.value=a,_d(t),e.state=a,t=e.pending,t!==null&&(a=t.next,a===t?e.pending=null:(a=a.next,t.next=a,Pd(e,a)))}function ur(e,t,a){var n=e.pending;if(e.pending=null,n!==null){n=n.next;do t.status="rejected",t.reason=a,_d(t),t=t.next;while(t!==n)}e.action=null}function _d(e){e=e.listeners;for(var t=0;t<e.length;t++)(0,e[t])()}function Fd(e,t){return t}function Bd(e,t){if(ge){var a=Ne.formState;if(a!==null){e:{var n=ie;if(ge){if(De){t:{for(var l=De,o=zt;l.nodeType!==8;){if(!o){l=null;break t}if(l=Lt(l.nextSibling),l===null){l=null;break t}}o=l.data,l=o==="F!"||o==="F"?l:null}if(l){De=Lt(l.nextSibling),n=l.data==="F!";break e}}Oa(n)}n=!1}n&&(t=a[0])}}return a=ot(),a.memoizedState=a.baseState=t,n={pending:null,lanes:0,dispatch:null,lastRenderedReducer:Fd,lastRenderedState:t},a.queue=n,a=of.bind(null,ie,n),n.dispatch=a,n=cr(!1),o=hr.bind(null,ie,!1,n.queue),n=ot(),l={state:t,dispatch:null,action:e,pending:null},n.queue=l,a=py.bind(null,ie,l,o,a),l.dispatch=a,n.memoizedState=e,[t,a,!1]}function Hd(e){var t=Be();return qd(t,Te,e)}function qd(e,t,a){if(t=sr(e,t,Fd)[0],e=io(pa)[0],typeof t=="object"&&t!==null&&typeof t.then=="function")try{var n=Vl(t)}catch(d){throw d===Kn?Xi:d}else n=t;t=Be();var l=t.queue,o=l.dispatch;return a!==t.memoizedState&&(ie.flags|=2048,Zn(9,{destroy:void 0},gy.bind(null,l,a),null)),[n,o,e]}function gy(e,t){e.action=t}function Vd(e){var t=Be(),a=Te;if(a!==null)return qd(t,a,e);Be(),t=t.memoizedState,a=Be();var n=a.queue.dispatch;return a.memoizedState=e,[t,n,!1]}function Zn(e,t,a,n){return e={tag:e,create:a,deps:n,inst:t,next:null},t=ie.updateQueue,t===null&&(t=no(),ie.updateQueue=t),a=t.lastEffect,a===null?t.lastEffect=e.next=e:(n=a.next,a.next=e,e.next=n,t.lastEffect=e),e}function Gd(){return Be().memoizedState}function oo(e,t,a,n){var l=ot();ie.flags|=e,l.memoizedState=Zn(1|t,{destroy:void 0},a,n===void 0?null:n)}function so(e,t,a,n){var l=Be();n=n===void 0?null:n;var o=l.memoizedState.inst;Te!==null&&n!==null&&tr(n,Te.memoizedState.deps)?l.memoizedState=Zn(t,o,a,n):(ie.flags|=e,l.memoizedState=Zn(1|t,o,a,n))}function Kd(e,t){oo(8390656,8,e,t)}function dr(e,t){so(2048,8,e,t)}function hy(e){ie.flags|=4;var t=ie.updateQueue;if(t===null)t=no(),ie.updateQueue=t,t.events=[e];else{var a=t.events;a===null?t.events=[e]:a.push(e)}}function Id(e){var t=Be().memoizedState;return hy({ref:t,nextImpl:e}),function(){if((xe&2)!==0)throw Error(r(440));return t.impl.apply(void 0,arguments)}}function Yd(e,t){return so(4,2,e,t)}function Qd(e,t){return so(4,4,e,t)}function Xd(e,t){if(typeof t=="function"){e=e();var a=t(e);return function(){typeof a=="function"?a():t(null)}}if(t!=null)return e=e(),t.current=e,function(){t.current=null}}function Zd(e,t,a){a=a!=null?a.concat([e]):null,so(4,4,Xd.bind(null,t,e),a)}function fr(){}function $d(e,t){var a=Be();t=t===void 0?null:t;var n=a.memoizedState;return t!==null&&tr(t,n[1])?n[0]:(a.memoizedState=[e,t],e)}function Jd(e,t){var a=Be();t=t===void 0?null:t;var n=a.memoizedState;if(t!==null&&tr(t,n[1]))return n[0];if(n=e(),yn){Na(!0);try{e()}finally{Na(!1)}}return a.memoizedState=[n,t],n}function mr(e,t,a){return a===void 0||(ma&1073741824)!==0&&(me&261930)===0?e.memoizedState=t:(e.memoizedState=a,e=em(),ie.lanes|=e,qa|=e,a)}function Wd(e,t,a,n){return St(a,t)?a:Yn.current!==null?(e=mr(e,a,n),St(e,t)||(Ge=!0),e):(ma&42)===0||(ma&1073741824)!==0&&(me&261930)===0?(Ge=!0,e.memoizedState=a):(e=em(),ie.lanes|=e,qa|=e,t)}function ef(e,t,a,n,l){var o=K.p;K.p=o!==0&&8>o?o:8;var d=j.T,p={};j.T=p,hr(e,!1,t,a);try{var S=l(),k=j.S;if(k!==null&&k(p,S),S!==null&&typeof S=="object"&&typeof S.then=="function"){var z=dy(S,n);Gl(e,t,z,kt(e))}else Gl(e,t,n,kt(e))}catch(U){Gl(e,t,{then:function(){},status:"rejected",reason:U},kt())}finally{K.p=o,d!==null&&p.types!==null&&(d.types=p.types),j.T=d}}function yy(){}function pr(e,t,a,n){if(e.tag!==5)throw Error(r(476));var l=tf(e).queue;ef(e,l,t,q,a===null?yy:function(){return af(e),a(n)})}function tf(e){var t=e.memoizedState;if(t!==null)return t;t={memoizedState:q,baseState:q,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:pa,lastRenderedState:q},next:null};var a={};return t.next={memoizedState:a,baseState:a,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:pa,lastRenderedState:a},next:null},e.memoizedState=t,e=e.alternate,e!==null&&(e.memoizedState=t),t}function af(e){var t=tf(e);t.next===null&&(t=e.alternate.memoizedState),Gl(e,t.next.queue,{},kt())}function gr(){return at(si)}function nf(){return Be().memoizedState}function lf(){return Be().memoizedState}function vy(e){for(var t=e.return;t!==null;){switch(t.tag){case 24:case 3:var a=kt();e=La(a);var n=Ua(t,e,a);n!==null&&(mt(n,t,a),Fl(n,t,a)),t={cache:Gs()},e.payload=t;return}t=t.return}}function by(e,t,a){var n=kt();a={lane:n,revertLane:0,gesture:null,action:a,hasEagerState:!1,eagerState:null,next:null},ro(e)?sf(t,a):(a=Os(e,t,a,n),a!==null&&(mt(a,e,n),rf(a,t,n)))}function of(e,t,a){var n=kt();Gl(e,t,a,n)}function Gl(e,t,a,n){var l={lane:n,revertLane:0,gesture:null,action:a,hasEagerState:!1,eagerState:null,next:null};if(ro(e))sf(t,l);else{var o=e.alternate;if(e.lanes===0&&(o===null||o.lanes===0)&&(o=t.lastRenderedReducer,o!==null))try{var d=t.lastRenderedState,p=o(d,a);if(l.hasEagerState=!0,l.eagerState=p,St(p,d))return qi(e,t,l,0),Ne===null&&Hi(),!1}catch{}finally{}if(a=Os(e,t,l,n),a!==null)return mt(a,e,n),rf(a,t,n),!0}return!1}function hr(e,t,a,n){if(n={lane:2,revertLane:Qr(),gesture:null,action:n,hasEagerState:!1,eagerState:null,next:null},ro(e)){if(t)throw Error(r(479))}else t=Os(e,a,n,2),t!==null&&mt(t,e,2)}function ro(e){var t=e.alternate;return e===ie||t!==null&&t===ie}function sf(e,t){Qn=to=!0;var a=e.pending;a===null?t.next=t:(t.next=a.next,a.next=t),e.pending=t}function rf(e,t,a){if((a&4194048)!==0){var n=t.lanes;n&=e.pendingLanes,a|=n,t.lanes=a,fu(e,a)}}var Kl={readContext:at,use:lo,useCallback:Ue,useContext:Ue,useEffect:Ue,useImperativeHandle:Ue,useLayoutEffect:Ue,useInsertionEffect:Ue,useMemo:Ue,useReducer:Ue,useRef:Ue,useState:Ue,useDebugValue:Ue,useDeferredValue:Ue,useTransition:Ue,useSyncExternalStore:Ue,useId:Ue,useHostTransitionStatus:Ue,useFormState:Ue,useActionState:Ue,useOptimistic:Ue,useMemoCache:Ue,useCacheRefresh:Ue};Kl.useEffectEvent=Ue;var cf={readContext:at,use:lo,useCallback:function(e,t){return ot().memoizedState=[e,t===void 0?null:t],e},useContext:at,useEffect:Kd,useImperativeHandle:function(e,t,a){a=a!=null?a.concat([e]):null,oo(4194308,4,Xd.bind(null,t,e),a)},useLayoutEffect:function(e,t){return oo(4194308,4,e,t)},useInsertionEffect:function(e,t){oo(4,2,e,t)},useMemo:function(e,t){var a=ot();t=t===void 0?null:t;var n=e();if(yn){Na(!0);try{e()}finally{Na(!1)}}return a.memoizedState=[n,t],n},useReducer:function(e,t,a){var n=ot();if(a!==void 0){var l=a(t);if(yn){Na(!0);try{a(t)}finally{Na(!1)}}}else l=t;return n.memoizedState=n.baseState=l,e={pending:null,lanes:0,dispatch:null,lastRenderedReducer:e,lastRenderedState:l},n.queue=e,e=e.dispatch=by.bind(null,ie,e),[n.memoizedState,e]},useRef:function(e){var t=ot();return e={current:e},t.memoizedState=e},useState:function(e){e=cr(e);var t=e.queue,a=of.bind(null,ie,t);return t.dispatch=a,[e.memoizedState,a]},useDebugValue:fr,useDeferredValue:function(e,t){var a=ot();return mr(a,e,t)},useTransition:function(){var e=cr(!1);return e=ef.bind(null,ie,e.queue,!0,!1),ot().memoizedState=e,[!1,e]},useSyncExternalStore:function(e,t,a){var n=ie,l=ot();if(ge){if(a===void 0)throw Error(r(407));a=a()}else{if(a=t(),Ne===null)throw Error(r(349));(me&127)!==0||Md(n,t,a)}l.memoizedState=a;var o={value:a,getSnapshot:t};return l.queue=o,Kd(Dd.bind(null,n,o,e),[e]),n.flags|=2048,Zn(9,{destroy:void 0},jd.bind(null,n,o,a,t),null),a},useId:function(){var e=ot(),t=Ne.identifierPrefix;if(ge){var a=Jt,n=$t;a=(n&~(1<<32-bt(n)-1)).toString(32)+a,t="_"+t+"R_"+a,a=ao++,0<a&&(t+="H"+a.toString(32)),t+="_"}else a=fy++,t="_"+t+"r_"+a.toString(32)+"_";return e.memoizedState=t},useHostTransitionStatus:gr,useFormState:Bd,useActionState:Bd,useOptimistic:function(e){var t=ot();t.memoizedState=t.baseState=e;var a={pending:null,lanes:0,dispatch:null,lastRenderedReducer:null,lastRenderedState:null};return t.queue=a,t=hr.bind(null,ie,!0,a),a.dispatch=t,[e,t]},useMemoCache:or,useCacheRefresh:function(){return ot().memoizedState=vy.bind(null,ie)},useEffectEvent:function(e){var t=ot(),a={impl:e};return t.memoizedState=a,function(){if((xe&2)!==0)throw Error(r(440));return a.impl.apply(void 0,arguments)}}},yr={readContext:at,use:lo,useCallback:$d,useContext:at,useEffect:dr,useImperativeHandle:Zd,useInsertionEffect:Yd,useLayoutEffect:Qd,useMemo:Jd,useReducer:io,useRef:Gd,useState:function(){return io(pa)},useDebugValue:fr,useDeferredValue:function(e,t){var a=Be();return Wd(a,Te.memoizedState,e,t)},useTransition:function(){var e=io(pa)[0],t=Be().memoizedState;return[typeof e=="boolean"?e:Vl(e),t]},useSyncExternalStore:Nd,useId:nf,useHostTransitionStatus:gr,useFormState:Hd,useActionState:Hd,useOptimistic:function(e,t){var a=Be();return zd(a,Te,e,t)},useMemoCache:or,useCacheRefresh:lf};yr.useEffectEvent=Id;var uf={readContext:at,use:lo,useCallback:$d,useContext:at,useEffect:dr,useImperativeHandle:Zd,useInsertionEffect:Yd,useLayoutEffect:Qd,useMemo:Jd,useReducer:rr,useRef:Gd,useState:function(){return rr(pa)},useDebugValue:fr,useDeferredValue:function(e,t){var a=Be();return Te===null?mr(a,e,t):Wd(a,Te.memoizedState,e,t)},useTransition:function(){var e=rr(pa)[0],t=Be().memoizedState;return[typeof e=="boolean"?e:Vl(e),t]},useSyncExternalStore:Nd,useId:nf,useHostTransitionStatus:gr,useFormState:Vd,useActionState:Vd,useOptimistic:function(e,t){var a=Be();return Te!==null?zd(a,Te,e,t):(a.baseState=e,[e,a.queue.dispatch])},useMemoCache:or,useCacheRefresh:lf};uf.useEffectEvent=Id;function vr(e,t,a,n){t=e.memoizedState,a=a(n,t),a=a==null?t:C({},t,a),e.memoizedState=a,e.lanes===0&&(e.updateQueue.baseState=a)}var br={enqueueSetState:function(e,t,a){e=e._reactInternals;var n=kt(),l=La(n);l.payload=t,a!=null&&(l.callback=a),t=Ua(e,l,n),t!==null&&(mt(t,e,n),Fl(t,e,n))},enqueueReplaceState:function(e,t,a){e=e._reactInternals;var n=kt(),l=La(n);l.tag=1,l.payload=t,a!=null&&(l.callback=a),t=Ua(e,l,n),t!==null&&(mt(t,e,n),Fl(t,e,n))},enqueueForceUpdate:function(e,t){e=e._reactInternals;var a=kt(),n=La(a);n.tag=2,t!=null&&(n.callback=t),t=Ua(e,n,a),t!==null&&(mt(t,e,a),Fl(t,e,a))}};function df(e,t,a,n,l,o,d){return e=e.stateNode,typeof e.shouldComponentUpdate=="function"?e.shouldComponentUpdate(n,o,d):t.prototype&&t.prototype.isPureReactComponent?!Dl(a,n)||!Dl(l,o):!0}function ff(e,t,a,n){e=t.state,typeof t.componentWillReceiveProps=="function"&&t.componentWillReceiveProps(a,n),typeof t.UNSAFE_componentWillReceiveProps=="function"&&t.UNSAFE_componentWillReceiveProps(a,n),t.state!==e&&br.enqueueReplaceState(t,t.state,null)}function vn(e,t){var a=t;if("ref"in t){a={};for(var n in t)n!=="ref"&&(a[n]=t[n])}if(e=e.defaultProps){a===t&&(a=C({},a));for(var l in e)a[l]===void 0&&(a[l]=e[l])}return a}function mf(e){Bi(e)}function pf(e){console.error(e)}function gf(e){Bi(e)}function co(e,t){try{var a=e.onUncaughtError;a(t.value,{componentStack:t.stack})}catch(n){setTimeout(function(){throw n})}}function hf(e,t,a){try{var n=e.onCaughtError;n(a.value,{componentStack:a.stack,errorBoundary:t.tag===1?t.stateNode:null})}catch(l){setTimeout(function(){throw l})}}function Sr(e,t,a){return a=La(a),a.tag=3,a.payload={element:null},a.callback=function(){co(e,t)},a}function yf(e){return e=La(e),e.tag=3,e}function vf(e,t,a,n){var l=a.type.getDerivedStateFromError;if(typeof l=="function"){var o=n.value;e.payload=function(){return l(o)},e.callback=function(){hf(t,a,n)}}var d=a.stateNode;d!==null&&typeof d.componentDidCatch=="function"&&(e.callback=function(){hf(t,a,n),typeof l!="function"&&(Va===null?Va=new Set([this]):Va.add(this));var p=n.stack;this.componentDidCatch(n.value,{componentStack:p!==null?p:""})})}function Sy(e,t,a,n,l){if(a.flags|=32768,n!==null&&typeof n=="object"&&typeof n.then=="function"){if(t=a.alternate,t!==null&&qn(t,a,l,!0),a=wt.current,a!==null){switch(a.tag){case 31:case 13:return Pt===null?wo():a.alternate===null&&_e===0&&(_e=3),a.flags&=-257,a.flags|=65536,a.lanes=l,n===Zi?a.flags|=16384:(t=a.updateQueue,t===null?a.updateQueue=new Set([n]):t.add(n),Kr(e,n,l)),!1;case 22:return a.flags|=65536,n===Zi?a.flags|=16384:(t=a.updateQueue,t===null?(t={transitions:null,markerInstances:null,retryQueue:new Set([n])},a.updateQueue=t):(a=t.retryQueue,a===null?t.retryQueue=new Set([n]):a.add(n)),Kr(e,n,l)),!1}throw Error(r(435,a.tag))}return Kr(e,n,l),wo(),!1}if(ge)return t=wt.current,t!==null?((t.flags&65536)===0&&(t.flags|=256),t.flags|=65536,t.lanes=l,n!==Fs&&(e=Error(r(422),{cause:n}),zl(Dt(e,a)))):(n!==Fs&&(t=Error(r(423),{cause:n}),zl(Dt(t,a))),e=e.current.alternate,e.flags|=65536,l&=-l,e.lanes|=l,n=Dt(n,a),l=Sr(e.stateNode,n,l),Zs(e,l),_e!==4&&(_e=2)),!1;var o=Error(r(520),{cause:n});if(o=Dt(o,a),Wl===null?Wl=[o]:Wl.push(o),_e!==4&&(_e=2),t===null)return!0;n=Dt(n,a),a=t;do{switch(a.tag){case 3:return a.flags|=65536,e=l&-l,a.lanes|=e,e=Sr(a.stateNode,n,e),Zs(a,e),!1;case 1:if(t=a.type,o=a.stateNode,(a.flags&128)===0&&(typeof t.getDerivedStateFromError=="function"||o!==null&&typeof o.componentDidCatch=="function"&&(Va===null||!Va.has(o))))return a.flags|=65536,l&=-l,a.lanes|=l,l=yf(l),vf(l,e,a,n),Zs(a,l),!1}a=a.return}while(a!==null);return!1}var xr=Error(r(461)),Ge=!1;function nt(e,t,a,n){t.child=e===null?xd(t,null,a,n):hn(t,e.child,a,n)}function bf(e,t,a,n,l){a=a.render;var o=t.ref;if("ref"in n){var d={};for(var p in n)p!=="ref"&&(d[p]=n[p])}else d=n;return fn(t),n=ar(e,t,a,d,o,l),p=nr(),e!==null&&!Ge?(lr(e,t,l),ga(e,t,l)):(ge&&p&&Us(t),t.flags|=1,nt(e,t,n,l),t.child)}function Sf(e,t,a,n,l){if(e===null){var o=a.type;return typeof o=="function"&&!zs(o)&&o.defaultProps===void 0&&a.compare===null?(t.tag=15,t.type=o,xf(e,t,o,n,l)):(e=Gi(a.type,null,n,t,t.mode,l),e.ref=t.ref,e.return=t,t.child=e)}if(o=e.child,!Mr(e,l)){var d=o.memoizedProps;if(a=a.compare,a=a!==null?a:Dl,a(d,n)&&e.ref===t.ref)return ga(e,t,l)}return t.flags|=1,e=ca(o,n),e.ref=t.ref,e.return=t,t.child=e}function xf(e,t,a,n,l){if(e!==null){var o=e.memoizedProps;if(Dl(o,n)&&e.ref===t.ref)if(Ge=!1,t.pendingProps=n=o,Mr(e,l))(e.flags&131072)!==0&&(Ge=!0);else return t.lanes=e.lanes,ga(e,t,l)}return wr(e,t,a,n,l)}function wf(e,t,a,n){var l=n.children,o=e!==null?e.memoizedState:null;if(e===null&&t.stateNode===null&&(t.stateNode={_visibility:1,_pendingMarkers:null,_retryCache:null,_transitions:null}),n.mode==="hidden"){if((t.flags&128)!==0){if(o=o!==null?o.baseLanes|a:a,e!==null){for(n=t.child=e.child,l=0;n!==null;)l=l|n.lanes|n.childLanes,n=n.sibling;n=l&~o}else n=0,t.child=null;return Cf(e,t,o,a,n)}if((a&536870912)!==0)t.memoizedState={baseLanes:0,cachePool:null},e!==null&&Qi(t,o!==null?o.cachePool:null),o!==null?Ad(t,o):Js(),Td(t);else return n=t.lanes=536870912,Cf(e,t,o!==null?o.baseLanes|a:a,a,n)}else o!==null?(Qi(t,o.cachePool),Ad(t,o),Fa(),t.memoizedState=null):(e!==null&&Qi(t,null),Js(),Fa());return nt(e,t,l,a),t.child}function Il(e,t){return e!==null&&e.tag===22||t.stateNode!==null||(t.stateNode={_visibility:1,_pendingMarkers:null,_retryCache:null,_transitions:null}),t.sibling}function Cf(e,t,a,n,l){var o=Is();return o=o===null?null:{parent:qe._currentValue,pool:o},t.memoizedState={baseLanes:a,cachePool:o},e!==null&&Qi(t,null),Js(),Td(t),e!==null&&qn(e,t,n,!0),t.childLanes=l,null}function uo(e,t){return t=mo({mode:t.mode,children:t.children},e.mode),t.ref=e.ref,e.child=t,t.return=e,t}function Af(e,t,a){return hn(t,e.child,null,a),e=uo(t,t.pendingProps),e.flags|=2,Ct(t),t.memoizedState=null,e}function xy(e,t,a){var n=t.pendingProps,l=(t.flags&128)!==0;if(t.flags&=-129,e===null){if(ge){if(n.mode==="hidden")return e=uo(t,n),t.lanes=536870912,Il(null,e);if(er(t),(e=De)?(e=Lm(e,zt),e=e!==null&&e.data==="&"?e:null,e!==null&&(t.memoizedState={dehydrated:e,treeContext:Da!==null?{id:$t,overflow:Jt}:null,retryLane:536870912,hydrationErrors:null},a=od(e),a.return=t,t.child=a,tt=t,De=null)):e=null,e===null)throw Oa(t);return t.lanes=536870912,null}return uo(t,n)}var o=e.memoizedState;if(o!==null){var d=o.dehydrated;if(er(t),l)if(t.flags&256)t.flags&=-257,t=Af(e,t,a);else if(t.memoizedState!==null)t.child=e.child,t.flags|=128,t=null;else throw Error(r(558));else if(Ge||qn(e,t,a,!1),l=(a&e.childLanes)!==0,Ge||l){if(n=Ne,n!==null&&(d=mu(n,a),d!==0&&d!==o.retryLane))throw o.retryLane=d,rn(e,d),mt(n,e,d),xr;wo(),t=Af(e,t,a)}else e=o.treeContext,De=Lt(d.nextSibling),tt=t,ge=!0,Ra=null,zt=!1,e!==null&&cd(t,e),t=uo(t,n),t.flags|=4096;return t}return e=ca(e.child,{mode:n.mode,children:n.children}),e.ref=t.ref,t.child=e,e.return=t,e}function fo(e,t){var a=t.ref;if(a===null)e!==null&&e.ref!==null&&(t.flags|=4194816);else{if(typeof a!="function"&&typeof a!="object")throw Error(r(284));(e===null||e.ref!==a)&&(t.flags|=4194816)}}function wr(e,t,a,n,l){return fn(t),a=ar(e,t,a,n,void 0,l),n=nr(),e!==null&&!Ge?(lr(e,t,l),ga(e,t,l)):(ge&&n&&Us(t),t.flags|=1,nt(e,t,a,l),t.child)}function Tf(e,t,a,n,l,o){return fn(t),t.updateQueue=null,a=Ed(t,n,a,l),kd(e),n=nr(),e!==null&&!Ge?(lr(e,t,o),ga(e,t,o)):(ge&&n&&Us(t),t.flags|=1,nt(e,t,a,o),t.child)}function kf(e,t,a,n,l){if(fn(t),t.stateNode===null){var o=_n,d=a.contextType;typeof d=="object"&&d!==null&&(o=at(d)),o=new a(n,o),t.memoizedState=o.state!==null&&o.state!==void 0?o.state:null,o.updater=br,t.stateNode=o,o._reactInternals=t,o=t.stateNode,o.props=n,o.state=t.memoizedState,o.refs={},Qs(t),d=a.contextType,o.context=typeof d=="object"&&d!==null?at(d):_n,o.state=t.memoizedState,d=a.getDerivedStateFromProps,typeof d=="function"&&(vr(t,a,d,n),o.state=t.memoizedState),typeof a.getDerivedStateFromProps=="function"||typeof o.getSnapshotBeforeUpdate=="function"||typeof o.UNSAFE_componentWillMount!="function"&&typeof o.componentWillMount!="function"||(d=o.state,typeof o.componentWillMount=="function"&&o.componentWillMount(),typeof o.UNSAFE_componentWillMount=="function"&&o.UNSAFE_componentWillMount(),d!==o.state&&br.enqueueReplaceState(o,o.state,null),Hl(t,n,o,l),Bl(),o.state=t.memoizedState),typeof o.componentDidMount=="function"&&(t.flags|=4194308),n=!0}else if(e===null){o=t.stateNode;var p=t.memoizedProps,S=vn(a,p);o.props=S;var k=o.context,z=a.contextType;d=_n,typeof z=="object"&&z!==null&&(d=at(z));var U=a.getDerivedStateFromProps;z=typeof U=="function"||typeof o.getSnapshotBeforeUpdate=="function",p=t.pendingProps!==p,z||typeof o.UNSAFE_componentWillReceiveProps!="function"&&typeof o.componentWillReceiveProps!="function"||(p||k!==d)&&ff(t,o,n,d),Pa=!1;var E=t.memoizedState;o.state=E,Hl(t,n,o,l),Bl(),k=t.memoizedState,p||E!==k||Pa?(typeof U=="function"&&(vr(t,a,U,n),k=t.memoizedState),(S=Pa||df(t,a,S,n,E,k,d))?(z||typeof o.UNSAFE_componentWillMount!="function"&&typeof o.componentWillMount!="function"||(typeof o.componentWillMount=="function"&&o.componentWillMount(),typeof o.UNSAFE_componentWillMount=="function"&&o.UNSAFE_componentWillMount()),typeof o.componentDidMount=="function"&&(t.flags|=4194308)):(typeof o.componentDidMount=="function"&&(t.flags|=4194308),t.memoizedProps=n,t.memoizedState=k),o.props=n,o.state=k,o.context=d,n=S):(typeof o.componentDidMount=="function"&&(t.flags|=4194308),n=!1)}else{o=t.stateNode,Xs(e,t),d=t.memoizedProps,z=vn(a,d),o.props=z,U=t.pendingProps,E=o.context,k=a.contextType,S=_n,typeof k=="object"&&k!==null&&(S=at(k)),p=a.getDerivedStateFromProps,(k=typeof p=="function"||typeof o.getSnapshotBeforeUpdate=="function")||typeof o.UNSAFE_componentWillReceiveProps!="function"&&typeof o.componentWillReceiveProps!="function"||(d!==U||E!==S)&&ff(t,o,n,S),Pa=!1,E=t.memoizedState,o.state=E,Hl(t,n,o,l),Bl();var M=t.memoizedState;d!==U||E!==M||Pa||e!==null&&e.dependencies!==null&&Ii(e.dependencies)?(typeof p=="function"&&(vr(t,a,p,n),M=t.memoizedState),(z=Pa||df(t,a,z,n,E,M,S)||e!==null&&e.dependencies!==null&&Ii(e.dependencies))?(k||typeof o.UNSAFE_componentWillUpdate!="function"&&typeof o.componentWillUpdate!="function"||(typeof o.componentWillUpdate=="function"&&o.componentWillUpdate(n,M,S),typeof o.UNSAFE_componentWillUpdate=="function"&&o.UNSAFE_componentWillUpdate(n,M,S)),typeof o.componentDidUpdate=="function"&&(t.flags|=4),typeof o.getSnapshotBeforeUpdate=="function"&&(t.flags|=1024)):(typeof o.componentDidUpdate!="function"||d===e.memoizedProps&&E===e.memoizedState||(t.flags|=4),typeof o.getSnapshotBeforeUpdate!="function"||d===e.memoizedProps&&E===e.memoizedState||(t.flags|=1024),t.memoizedProps=n,t.memoizedState=M),o.props=n,o.state=M,o.context=S,n=z):(typeof o.componentDidUpdate!="function"||d===e.memoizedProps&&E===e.memoizedState||(t.flags|=4),typeof o.getSnapshotBeforeUpdate!="function"||d===e.memoizedProps&&E===e.memoizedState||(t.flags|=1024),n=!1)}return o=n,fo(e,t),n=(t.flags&128)!==0,o||n?(o=t.stateNode,a=n&&typeof a.getDerivedStateFromError!="function"?null:o.render(),t.flags|=1,e!==null&&n?(t.child=hn(t,e.child,null,l),t.child=hn(t,null,a,l)):nt(e,t,a,l),t.memoizedState=o.state,e=t.child):e=ga(e,t,l),e}function Ef(e,t,a,n){return un(),t.flags|=256,nt(e,t,a,n),t.child}var Cr={dehydrated:null,treeContext:null,retryLane:0,hydrationErrors:null};function Ar(e){return{baseLanes:e,cachePool:gd()}}function Tr(e,t,a){return e=e!==null?e.childLanes&~a:0,t&&(e|=Tt),e}function Nf(e,t,a){var n=t.pendingProps,l=!1,o=(t.flags&128)!==0,d;if((d=o)||(d=e!==null&&e.memoizedState===null?!1:(Fe.current&2)!==0),d&&(l=!0,t.flags&=-129),d=(t.flags&32)!==0,t.flags&=-33,e===null){if(ge){if(l?_a(t):Fa(),(e=De)?(e=Lm(e,zt),e=e!==null&&e.data!=="&"?e:null,e!==null&&(t.memoizedState={dehydrated:e,treeContext:Da!==null?{id:$t,overflow:Jt}:null,retryLane:536870912,hydrationErrors:null},a=od(e),a.return=t,t.child=a,tt=t,De=null)):e=null,e===null)throw Oa(t);return sc(e)?t.lanes=32:t.lanes=536870912,null}var p=n.children;return n=n.fallback,l?(Fa(),l=t.mode,p=mo({mode:"hidden",children:p},l),n=cn(n,l,a,null),p.return=t,n.return=t,p.sibling=n,t.child=p,n=t.child,n.memoizedState=Ar(a),n.childLanes=Tr(e,d,a),t.memoizedState=Cr,Il(null,n)):(_a(t),kr(t,p))}var S=e.memoizedState;if(S!==null&&(p=S.dehydrated,p!==null)){if(o)t.flags&256?(_a(t),t.flags&=-257,t=Er(e,t,a)):t.memoizedState!==null?(Fa(),t.child=e.child,t.flags|=128,t=null):(Fa(),p=n.fallback,l=t.mode,n=mo({mode:"visible",children:n.children},l),p=cn(p,l,a,null),p.flags|=2,n.return=t,p.return=t,n.sibling=p,t.child=n,hn(t,e.child,null,a),n=t.child,n.memoizedState=Ar(a),n.childLanes=Tr(e,d,a),t.memoizedState=Cr,t=Il(null,n));else if(_a(t),sc(p)){if(d=p.nextSibling&&p.nextSibling.dataset,d)var k=d.dgst;d=k,n=Error(r(419)),n.stack="",n.digest=d,zl({value:n,source:null,stack:null}),t=Er(e,t,a)}else if(Ge||qn(e,t,a,!1),d=(a&e.childLanes)!==0,Ge||d){if(d=Ne,d!==null&&(n=mu(d,a),n!==0&&n!==S.retryLane))throw S.retryLane=n,rn(e,n),mt(d,e,n),xr;oc(p)||wo(),t=Er(e,t,a)}else oc(p)?(t.flags|=192,t.child=e.child,t=null):(e=S.treeContext,De=Lt(p.nextSibling),tt=t,ge=!0,Ra=null,zt=!1,e!==null&&cd(t,e),t=kr(t,n.children),t.flags|=4096);return t}return l?(Fa(),p=n.fallback,l=t.mode,S=e.child,k=S.sibling,n=ca(S,{mode:"hidden",children:n.children}),n.subtreeFlags=S.subtreeFlags&65011712,k!==null?p=ca(k,p):(p=cn(p,l,a,null),p.flags|=2),p.return=t,n.return=t,n.sibling=p,t.child=n,Il(null,n),n=t.child,p=e.child.memoizedState,p===null?p=Ar(a):(l=p.cachePool,l!==null?(S=qe._currentValue,l=l.parent!==S?{parent:S,pool:S}:l):l=gd(),p={baseLanes:p.baseLanes|a,cachePool:l}),n.memoizedState=p,n.childLanes=Tr(e,d,a),t.memoizedState=Cr,Il(e.child,n)):(_a(t),a=e.child,e=a.sibling,a=ca(a,{mode:"visible",children:n.children}),a.return=t,a.sibling=null,e!==null&&(d=t.deletions,d===null?(t.deletions=[e],t.flags|=16):d.push(e)),t.child=a,t.memoizedState=null,a)}function kr(e,t){return t=mo({mode:"visible",children:t},e.mode),t.return=e,e.child=t}function mo(e,t){return e=xt(22,e,null,t),e.lanes=0,e}function Er(e,t,a){return hn(t,e.child,null,a),e=kr(t,t.pendingProps.children),e.flags|=2,t.memoizedState=null,e}function Mf(e,t,a){e.lanes|=t;var n=e.alternate;n!==null&&(n.lanes|=t),qs(e.return,t,a)}function Nr(e,t,a,n,l,o){var d=e.memoizedState;d===null?e.memoizedState={isBackwards:t,rendering:null,renderingStartTime:0,last:n,tail:a,tailMode:l,treeForkCount:o}:(d.isBackwards=t,d.rendering=null,d.renderingStartTime=0,d.last=n,d.tail=a,d.tailMode=l,d.treeForkCount=o)}function jf(e,t,a){var n=t.pendingProps,l=n.revealOrder,o=n.tail;n=n.children;var d=Fe.current,p=(d&2)!==0;if(p?(d=d&1|2,t.flags|=128):d&=1,te(Fe,d),nt(e,t,n,a),n=ge?Ol:0,!p&&e!==null&&(e.flags&128)!==0)e:for(e=t.child;e!==null;){if(e.tag===13)e.memoizedState!==null&&Mf(e,a,t);else if(e.tag===19)Mf(e,a,t);else if(e.child!==null){e.child.return=e,e=e.child;continue}if(e===t)break e;for(;e.sibling===null;){if(e.return===null||e.return===t)break e;e=e.return}e.sibling.return=e.return,e=e.sibling}switch(l){case"forwards":for(a=t.child,l=null;a!==null;)e=a.alternate,e!==null&&eo(e)===null&&(l=a),a=a.sibling;a=l,a===null?(l=t.child,t.child=null):(l=a.sibling,a.sibling=null),Nr(t,!1,l,a,o,n);break;case"backwards":case"unstable_legacy-backwards":for(a=null,l=t.child,t.child=null;l!==null;){if(e=l.alternate,e!==null&&eo(e)===null){t.child=l;break}e=l.sibling,l.sibling=a,a=l,l=e}Nr(t,!0,a,null,o,n);break;case"together":Nr(t,!1,null,null,void 0,n);break;default:t.memoizedState=null}return t.child}function ga(e,t,a){if(e!==null&&(t.dependencies=e.dependencies),qa|=t.lanes,(a&t.childLanes)===0)if(e!==null){if(qn(e,t,a,!1),(a&t.childLanes)===0)return null}else return null;if(e!==null&&t.child!==e.child)throw Error(r(153));if(t.child!==null){for(e=t.child,a=ca(e,e.pendingProps),t.child=a,a.return=t;e.sibling!==null;)e=e.sibling,a=a.sibling=ca(e,e.pendingProps),a.return=t;a.sibling=null}return t.child}function Mr(e,t){return(e.lanes&t)!==0?!0:(e=e.dependencies,!!(e!==null&&Ii(e)))}function wy(e,t,a){switch(t.tag){case 3:na(t,t.stateNode.containerInfo),za(t,qe,e.memoizedState.cache),un();break;case 27:case 5:Qt(t);break;case 4:na(t,t.stateNode.containerInfo);break;case 10:za(t,t.type,t.memoizedProps.value);break;case 31:if(t.memoizedState!==null)return t.flags|=128,er(t),null;break;case 13:var n=t.memoizedState;if(n!==null)return n.dehydrated!==null?(_a(t),t.flags|=128,null):(a&t.child.childLanes)!==0?Nf(e,t,a):(_a(t),e=ga(e,t,a),e!==null?e.sibling:null);_a(t);break;case 19:var l=(e.flags&128)!==0;if(n=(a&t.childLanes)!==0,n||(qn(e,t,a,!1),n=(a&t.childLanes)!==0),l){if(n)return jf(e,t,a);t.flags|=128}if(l=t.memoizedState,l!==null&&(l.rendering=null,l.tail=null,l.lastEffect=null),te(Fe,Fe.current),n)break;return null;case 22:return t.lanes=0,wf(e,t,a,t.pendingProps);case 24:za(t,qe,e.memoizedState.cache)}return ga(e,t,a)}function Df(e,t,a){if(e!==null)if(e.memoizedProps!==t.pendingProps)Ge=!0;else{if(!Mr(e,a)&&(t.flags&128)===0)return Ge=!1,wy(e,t,a);Ge=(e.flags&131072)!==0}else Ge=!1,ge&&(t.flags&1048576)!==0&&rd(t,Ol,t.index);switch(t.lanes=0,t.tag){case 16:e:{var n=t.pendingProps;if(e=pn(t.elementType),t.type=e,typeof e=="function")zs(e)?(n=vn(e,n),t.tag=1,t=kf(null,t,e,n,a)):(t.tag=0,t=wr(null,t,e,n,a));else{if(e!=null){var l=e.$$typeof;if(l===Z){t.tag=11,t=bf(null,t,e,n,a);break e}else if(l===_){t.tag=14,t=Sf(null,t,e,n,a);break e}}throw t=ne(e)||e,Error(r(306,t,""))}}return t;case 0:return wr(e,t,t.type,t.pendingProps,a);case 1:return n=t.type,l=vn(n,t.pendingProps),kf(e,t,n,l,a);case 3:e:{if(na(t,t.stateNode.containerInfo),e===null)throw Error(r(387));n=t.pendingProps;var o=t.memoizedState;l=o.element,Xs(e,t),Hl(t,n,null,a);var d=t.memoizedState;if(n=d.cache,za(t,qe,n),n!==o.cache&&Vs(t,[qe],a,!0),Bl(),n=d.element,o.isDehydrated)if(o={element:n,isDehydrated:!1,cache:d.cache},t.updateQueue.baseState=o,t.memoizedState=o,t.flags&256){t=Ef(e,t,n,a);break e}else if(n!==l){l=Dt(Error(r(424)),t),zl(l),t=Ef(e,t,n,a);break e}else{switch(e=t.stateNode.containerInfo,e.nodeType){case 9:e=e.body;break;default:e=e.nodeName==="HTML"?e.ownerDocument.body:e}for(De=Lt(e.firstChild),tt=t,ge=!0,Ra=null,zt=!0,a=xd(t,null,n,a),t.child=a;a;)a.flags=a.flags&-3|4096,a=a.sibling}else{if(un(),n===l){t=ga(e,t,a);break e}nt(e,t,n,a)}t=t.child}return t;case 26:return fo(e,t),e===null?(a=qm(t.type,null,t.pendingProps,null))?t.memoizedState=a:ge||(a=t.type,e=t.pendingProps,n=Mo(pt.current).createElement(a),n[et]=t,n[st]=e,lt(n,a,e),Xe(n),t.stateNode=n):t.memoizedState=qm(t.type,e.memoizedProps,t.pendingProps,e.memoizedState),null;case 27:return Qt(t),e===null&&ge&&(n=t.stateNode=Fm(t.type,t.pendingProps,pt.current),tt=t,zt=!0,l=De,Ya(t.type)?(rc=l,De=Lt(n.firstChild)):De=l),nt(e,t,t.pendingProps.children,a),fo(e,t),e===null&&(t.flags|=4194304),t.child;case 5:return e===null&&ge&&((l=n=De)&&(n=Jy(n,t.type,t.pendingProps,zt),n!==null?(t.stateNode=n,tt=t,De=Lt(n.firstChild),zt=!1,l=!0):l=!1),l||Oa(t)),Qt(t),l=t.type,o=t.pendingProps,d=e!==null?e.memoizedProps:null,n=o.children,nc(l,o)?n=null:d!==null&&nc(l,d)&&(t.flags|=32),t.memoizedState!==null&&(l=ar(e,t,my,null,null,a),si._currentValue=l),fo(e,t),nt(e,t,n,a),t.child;case 6:return e===null&&ge&&((e=a=De)&&(a=Wy(a,t.pendingProps,zt),a!==null?(t.stateNode=a,tt=t,De=null,e=!0):e=!1),e||Oa(t)),null;case 13:return Nf(e,t,a);case 4:return na(t,t.stateNode.containerInfo),n=t.pendingProps,e===null?t.child=hn(t,null,n,a):nt(e,t,n,a),t.child;case 11:return bf(e,t,t.type,t.pendingProps,a);case 7:return nt(e,t,t.pendingProps,a),t.child;case 8:return nt(e,t,t.pendingProps.children,a),t.child;case 12:return nt(e,t,t.pendingProps.children,a),t.child;case 10:return n=t.pendingProps,za(t,t.type,n.value),nt(e,t,n.children,a),t.child;case 9:return l=t.type._context,n=t.pendingProps.children,fn(t),l=at(l),n=n(l),t.flags|=1,nt(e,t,n,a),t.child;case 14:return Sf(e,t,t.type,t.pendingProps,a);case 15:return xf(e,t,t.type,t.pendingProps,a);case 19:return jf(e,t,a);case 31:return xy(e,t,a);case 22:return wf(e,t,a,t.pendingProps);case 24:return fn(t),n=at(qe),e===null?(l=Is(),l===null&&(l=Ne,o=Gs(),l.pooledCache=o,o.refCount++,o!==null&&(l.pooledCacheLanes|=a),l=o),t.memoizedState={parent:n,cache:l},Qs(t),za(t,qe,l)):((e.lanes&a)!==0&&(Xs(e,t),Hl(t,null,null,a),Bl()),l=e.memoizedState,o=t.memoizedState,l.parent!==n?(l={parent:n,cache:n},t.memoizedState=l,t.lanes===0&&(t.memoizedState=t.updateQueue.baseState=l),za(t,qe,n)):(n=o.cache,za(t,qe,n),n!==l.cache&&Vs(t,[qe],a,!0))),nt(e,t,t.pendingProps.children,a),t.child;case 29:throw t.pendingProps}throw Error(r(156,t.tag))}function ha(e){e.flags|=4}function jr(e,t,a,n,l){if((t=(e.mode&32)!==0)&&(t=!1),t){if(e.flags|=16777216,(l&335544128)===l)if(e.stateNode.complete)e.flags|=8192;else if(lm())e.flags|=8192;else throw gn=Zi,Ys}else e.flags&=-16777217}function Rf(e,t){if(t.type!=="stylesheet"||(t.state.loading&4)!==0)e.flags&=-16777217;else if(e.flags|=16777216,!Ym(t))if(lm())e.flags|=8192;else throw gn=Zi,Ys}function po(e,t){t!==null&&(e.flags|=4),e.flags&16384&&(t=e.tag!==22?uu():536870912,e.lanes|=t,el|=t)}function Yl(e,t){if(!ge)switch(e.tailMode){case"hidden":t=e.tail;for(var a=null;t!==null;)t.alternate!==null&&(a=t),t=t.sibling;a===null?e.tail=null:a.sibling=null;break;case"collapsed":a=e.tail;for(var n=null;a!==null;)a.alternate!==null&&(n=a),a=a.sibling;n===null?t||e.tail===null?e.tail=null:e.tail.sibling=null:n.sibling=null}}function Re(e){var t=e.alternate!==null&&e.alternate.child===e.child,a=0,n=0;if(t)for(var l=e.child;l!==null;)a|=l.lanes|l.childLanes,n|=l.subtreeFlags&65011712,n|=l.flags&65011712,l.return=e,l=l.sibling;else for(l=e.child;l!==null;)a|=l.lanes|l.childLanes,n|=l.subtreeFlags,n|=l.flags,l.return=e,l=l.sibling;return e.subtreeFlags|=n,e.childLanes=a,t}function Cy(e,t,a){var n=t.pendingProps;switch(_s(t),t.tag){case 16:case 15:case 0:case 11:case 7:case 8:case 12:case 9:case 14:return Re(t),null;case 1:return Re(t),null;case 3:return a=t.stateNode,n=null,e!==null&&(n=e.memoizedState.cache),t.memoizedState.cache!==n&&(t.flags|=2048),fa(qe),gt(),a.pendingContext&&(a.context=a.pendingContext,a.pendingContext=null),(e===null||e.child===null)&&(Hn(t)?ha(t):e===null||e.memoizedState.isDehydrated&&(t.flags&256)===0||(t.flags|=1024,Bs())),Re(t),null;case 26:var l=t.type,o=t.memoizedState;return e===null?(ha(t),o!==null?(Re(t),Rf(t,o)):(Re(t),jr(t,l,null,n,a))):o?o!==e.memoizedState?(ha(t),Re(t),Rf(t,o)):(Re(t),t.flags&=-16777217):(e=e.memoizedProps,e!==n&&ha(t),Re(t),jr(t,l,e,n,a)),null;case 27:if(Xt(t),a=pt.current,l=t.type,e!==null&&t.stateNode!=null)e.memoizedProps!==n&&ha(t);else{if(!n){if(t.stateNode===null)throw Error(r(166));return Re(t),null}e=re.current,Hn(t)?ud(t):(e=Fm(l,n,a),t.stateNode=e,ha(t))}return Re(t),null;case 5:if(Xt(t),l=t.type,e!==null&&t.stateNode!=null)e.memoizedProps!==n&&ha(t);else{if(!n){if(t.stateNode===null)throw Error(r(166));return Re(t),null}if(o=re.current,Hn(t))ud(t);else{var d=Mo(pt.current);switch(o){case 1:o=d.createElementNS("http://www.w3.org/2000/svg",l);break;case 2:o=d.createElementNS("http://www.w3.org/1998/Math/MathML",l);break;default:switch(l){case"svg":o=d.createElementNS("http://www.w3.org/2000/svg",l);break;case"math":o=d.createElementNS("http://www.w3.org/1998/Math/MathML",l);break;case"script":o=d.createElement("div"),o.innerHTML="<script><\/script>",o=o.removeChild(o.firstChild);break;case"select":o=typeof n.is=="string"?d.createElement("select",{is:n.is}):d.createElement("select"),n.multiple?o.multiple=!0:n.size&&(o.size=n.size);break;default:o=typeof n.is=="string"?d.createElement(l,{is:n.is}):d.createElement(l)}}o[et]=t,o[st]=n;e:for(d=t.child;d!==null;){if(d.tag===5||d.tag===6)o.appendChild(d.stateNode);else if(d.tag!==4&&d.tag!==27&&d.child!==null){d.child.return=d,d=d.child;continue}if(d===t)break e;for(;d.sibling===null;){if(d.return===null||d.return===t)break e;d=d.return}d.sibling.return=d.return,d=d.sibling}t.stateNode=o;e:switch(lt(o,l,n),l){case"button":case"input":case"select":case"textarea":n=!!n.autoFocus;break e;case"img":n=!0;break e;default:n=!1}n&&ha(t)}}return Re(t),jr(t,t.type,e===null?null:e.memoizedProps,t.pendingProps,a),null;case 6:if(e&&t.stateNode!=null)e.memoizedProps!==n&&ha(t);else{if(typeof n!="string"&&t.stateNode===null)throw Error(r(166));if(e=pt.current,Hn(t)){if(e=t.stateNode,a=t.memoizedProps,n=null,l=tt,l!==null)switch(l.tag){case 27:case 5:n=l.memoizedProps}e[et]=t,e=!!(e.nodeValue===a||n!==null&&n.suppressHydrationWarning===!0||Nm(e.nodeValue,a)),e||Oa(t,!0)}else e=Mo(e).createTextNode(n),e[et]=t,t.stateNode=e}return Re(t),null;case 31:if(a=t.memoizedState,e===null||e.memoizedState!==null){if(n=Hn(t),a!==null){if(e===null){if(!n)throw Error(r(318));if(e=t.memoizedState,e=e!==null?e.dehydrated:null,!e)throw Error(r(557));e[et]=t}else un(),(t.flags&128)===0&&(t.memoizedState=null),t.flags|=4;Re(t),e=!1}else a=Bs(),e!==null&&e.memoizedState!==null&&(e.memoizedState.hydrationErrors=a),e=!0;if(!e)return t.flags&256?(Ct(t),t):(Ct(t),null);if((t.flags&128)!==0)throw Error(r(558))}return Re(t),null;case 13:if(n=t.memoizedState,e===null||e.memoizedState!==null&&e.memoizedState.dehydrated!==null){if(l=Hn(t),n!==null&&n.dehydrated!==null){if(e===null){if(!l)throw Error(r(318));if(l=t.memoizedState,l=l!==null?l.dehydrated:null,!l)throw Error(r(317));l[et]=t}else un(),(t.flags&128)===0&&(t.memoizedState=null),t.flags|=4;Re(t),l=!1}else l=Bs(),e!==null&&e.memoizedState!==null&&(e.memoizedState.hydrationErrors=l),l=!0;if(!l)return t.flags&256?(Ct(t),t):(Ct(t),null)}return Ct(t),(t.flags&128)!==0?(t.lanes=a,t):(a=n!==null,e=e!==null&&e.memoizedState!==null,a&&(n=t.child,l=null,n.alternate!==null&&n.alternate.memoizedState!==null&&n.alternate.memoizedState.cachePool!==null&&(l=n.alternate.memoizedState.cachePool.pool),o=null,n.memoizedState!==null&&n.memoizedState.cachePool!==null&&(o=n.memoizedState.cachePool.pool),o!==l&&(n.flags|=2048)),a!==e&&a&&(t.child.flags|=8192),po(t,t.updateQueue),Re(t),null);case 4:return gt(),e===null&&Jr(t.stateNode.containerInfo),Re(t),null;case 10:return fa(t.type),Re(t),null;case 19:if(ye(Fe),n=t.memoizedState,n===null)return Re(t),null;if(l=(t.flags&128)!==0,o=n.rendering,o===null)if(l)Yl(n,!1);else{if(_e!==0||e!==null&&(e.flags&128)!==0)for(e=t.child;e!==null;){if(o=eo(e),o!==null){for(t.flags|=128,Yl(n,!1),e=o.updateQueue,t.updateQueue=e,po(t,e),t.subtreeFlags=0,e=a,a=t.child;a!==null;)id(a,e),a=a.sibling;return te(Fe,Fe.current&1|2),ge&&ua(t,n.treeForkCount),t.child}e=e.sibling}n.tail!==null&&yt()>bo&&(t.flags|=128,l=!0,Yl(n,!1),t.lanes=4194304)}else{if(!l)if(e=eo(o),e!==null){if(t.flags|=128,l=!0,e=e.updateQueue,t.updateQueue=e,po(t,e),Yl(n,!0),n.tail===null&&n.tailMode==="hidden"&&!o.alternate&&!ge)return Re(t),null}else 2*yt()-n.renderingStartTime>bo&&a!==536870912&&(t.flags|=128,l=!0,Yl(n,!1),t.lanes=4194304);n.isBackwards?(o.sibling=t.child,t.child=o):(e=n.last,e!==null?e.sibling=o:t.child=o,n.last=o)}return n.tail!==null?(e=n.tail,n.rendering=e,n.tail=e.sibling,n.renderingStartTime=yt(),e.sibling=null,a=Fe.current,te(Fe,l?a&1|2:a&1),ge&&ua(t,n.treeForkCount),e):(Re(t),null);case 22:case 23:return Ct(t),Ws(),n=t.memoizedState!==null,e!==null?e.memoizedState!==null!==n&&(t.flags|=8192):n&&(t.flags|=8192),n?(a&536870912)!==0&&(t.flags&128)===0&&(Re(t),t.subtreeFlags&6&&(t.flags|=8192)):Re(t),a=t.updateQueue,a!==null&&po(t,a.retryQueue),a=null,e!==null&&e.memoizedState!==null&&e.memoizedState.cachePool!==null&&(a=e.memoizedState.cachePool.pool),n=null,t.memoizedState!==null&&t.memoizedState.cachePool!==null&&(n=t.memoizedState.cachePool.pool),n!==a&&(t.flags|=2048),e!==null&&ye(mn),null;case 24:return a=null,e!==null&&(a=e.memoizedState.cache),t.memoizedState.cache!==a&&(t.flags|=2048),fa(qe),Re(t),null;case 25:return null;case 30:return null}throw Error(r(156,t.tag))}function Ay(e,t){switch(_s(t),t.tag){case 1:return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 3:return fa(qe),gt(),e=t.flags,(e&65536)!==0&&(e&128)===0?(t.flags=e&-65537|128,t):null;case 26:case 27:case 5:return Xt(t),null;case 31:if(t.memoizedState!==null){if(Ct(t),t.alternate===null)throw Error(r(340));un()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 13:if(Ct(t),e=t.memoizedState,e!==null&&e.dehydrated!==null){if(t.alternate===null)throw Error(r(340));un()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 19:return ye(Fe),null;case 4:return gt(),null;case 10:return fa(t.type),null;case 22:case 23:return Ct(t),Ws(),e!==null&&ye(mn),e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 24:return fa(qe),null;case 25:return null;default:return null}}function Of(e,t){switch(_s(t),t.tag){case 3:fa(qe),gt();break;case 26:case 27:case 5:Xt(t);break;case 4:gt();break;case 31:t.memoizedState!==null&&Ct(t);break;case 13:Ct(t);break;case 19:ye(Fe);break;case 10:fa(t.type);break;case 22:case 23:Ct(t),Ws(),e!==null&&ye(mn);break;case 24:fa(qe)}}function Ql(e,t){try{var a=t.updateQueue,n=a!==null?a.lastEffect:null;if(n!==null){var l=n.next;a=l;do{if((a.tag&e)===e){n=void 0;var o=a.create,d=a.inst;n=o(),d.destroy=n}a=a.next}while(a!==l)}}catch(p){Ae(t,t.return,p)}}function Ba(e,t,a){try{var n=t.updateQueue,l=n!==null?n.lastEffect:null;if(l!==null){var o=l.next;n=o;do{if((n.tag&e)===e){var d=n.inst,p=d.destroy;if(p!==void 0){d.destroy=void 0,l=t;var S=a,k=p;try{k()}catch(z){Ae(l,S,z)}}}n=n.next}while(n!==o)}}catch(z){Ae(t,t.return,z)}}function zf(e){var t=e.updateQueue;if(t!==null){var a=e.stateNode;try{Cd(t,a)}catch(n){Ae(e,e.return,n)}}}function Pf(e,t,a){a.props=vn(e.type,e.memoizedProps),a.state=e.memoizedState;try{a.componentWillUnmount()}catch(n){Ae(e,t,n)}}function Xl(e,t){try{var a=e.ref;if(a!==null){switch(e.tag){case 26:case 27:case 5:var n=e.stateNode;break;case 30:n=e.stateNode;break;default:n=e.stateNode}typeof a=="function"?e.refCleanup=a(n):a.current=n}}catch(l){Ae(e,t,l)}}function Wt(e,t){var a=e.ref,n=e.refCleanup;if(a!==null)if(typeof n=="function")try{n()}catch(l){Ae(e,t,l)}finally{e.refCleanup=null,e=e.alternate,e!=null&&(e.refCleanup=null)}else if(typeof a=="function")try{a(null)}catch(l){Ae(e,t,l)}else a.current=null}function Lf(e){var t=e.type,a=e.memoizedProps,n=e.stateNode;try{e:switch(t){case"button":case"input":case"select":case"textarea":a.autoFocus&&n.focus();break e;case"img":a.src?n.src=a.src:a.srcSet&&(n.srcset=a.srcSet)}}catch(l){Ae(e,e.return,l)}}function Dr(e,t,a){try{var n=e.stateNode;Iy(n,e.type,a,t),n[st]=t}catch(l){Ae(e,e.return,l)}}function Uf(e){return e.tag===5||e.tag===3||e.tag===26||e.tag===27&&Ya(e.type)||e.tag===4}function Rr(e){e:for(;;){for(;e.sibling===null;){if(e.return===null||Uf(e.return))return null;e=e.return}for(e.sibling.return=e.return,e=e.sibling;e.tag!==5&&e.tag!==6&&e.tag!==18;){if(e.tag===27&&Ya(e.type)||e.flags&2||e.child===null||e.tag===4)continue e;e.child.return=e,e=e.child}if(!(e.flags&2))return e.stateNode}}function Or(e,t,a){var n=e.tag;if(n===5||n===6)e=e.stateNode,t?(a.nodeType===9?a.body:a.nodeName==="HTML"?a.ownerDocument.body:a).insertBefore(e,t):(t=a.nodeType===9?a.body:a.nodeName==="HTML"?a.ownerDocument.body:a,t.appendChild(e),a=a._reactRootContainer,a!=null||t.onclick!==null||(t.onclick=sa));else if(n!==4&&(n===27&&Ya(e.type)&&(a=e.stateNode,t=null),e=e.child,e!==null))for(Or(e,t,a),e=e.sibling;e!==null;)Or(e,t,a),e=e.sibling}function go(e,t,a){var n=e.tag;if(n===5||n===6)e=e.stateNode,t?a.insertBefore(e,t):a.appendChild(e);else if(n!==4&&(n===27&&Ya(e.type)&&(a=e.stateNode),e=e.child,e!==null))for(go(e,t,a),e=e.sibling;e!==null;)go(e,t,a),e=e.sibling}function _f(e){var t=e.stateNode,a=e.memoizedProps;try{for(var n=e.type,l=t.attributes;l.length;)t.removeAttributeNode(l[0]);lt(t,n,a),t[et]=e,t[st]=a}catch(o){Ae(e,e.return,o)}}var ya=!1,Ke=!1,zr=!1,Ff=typeof WeakSet=="function"?WeakSet:Set,Ze=null;function Ty(e,t){if(e=e.containerInfo,tc=Lo,e=Zu(e),Es(e)){if("selectionStart"in e)var a={start:e.selectionStart,end:e.selectionEnd};else e:{a=(a=e.ownerDocument)&&a.defaultView||window;var n=a.getSelection&&a.getSelection();if(n&&n.rangeCount!==0){a=n.anchorNode;var l=n.anchorOffset,o=n.focusNode;n=n.focusOffset;try{a.nodeType,o.nodeType}catch{a=null;break e}var d=0,p=-1,S=-1,k=0,z=0,U=e,E=null;t:for(;;){for(var M;U!==a||l!==0&&U.nodeType!==3||(p=d+l),U!==o||n!==0&&U.nodeType!==3||(S=d+n),U.nodeType===3&&(d+=U.nodeValue.length),(M=U.firstChild)!==null;)E=U,U=M;for(;;){if(U===e)break t;if(E===a&&++k===l&&(p=d),E===o&&++z===n&&(S=d),(M=U.nextSibling)!==null)break;U=E,E=U.parentNode}U=M}a=p===-1||S===-1?null:{start:p,end:S}}else a=null}a=a||{start:0,end:0}}else a=null;for(ac={focusedElem:e,selectionRange:a},Lo=!1,Ze=t;Ze!==null;)if(t=Ze,e=t.child,(t.subtreeFlags&1028)!==0&&e!==null)e.return=t,Ze=e;else for(;Ze!==null;){switch(t=Ze,o=t.alternate,e=t.flags,t.tag){case 0:if((e&4)!==0&&(e=t.updateQueue,e=e!==null?e.events:null,e!==null))for(a=0;a<e.length;a++)l=e[a],l.ref.impl=l.nextImpl;break;case 11:case 15:break;case 1:if((e&1024)!==0&&o!==null){e=void 0,a=t,l=o.memoizedProps,o=o.memoizedState,n=a.stateNode;try{var X=vn(a.type,l);e=n.getSnapshotBeforeUpdate(X,o),n.__reactInternalSnapshotBeforeUpdate=e}catch(ae){Ae(a,a.return,ae)}}break;case 3:if((e&1024)!==0){if(e=t.stateNode.containerInfo,a=e.nodeType,a===9)ic(e);else if(a===1)switch(e.nodeName){case"HEAD":case"HTML":case"BODY":ic(e);break;default:e.textContent=""}}break;case 5:case 26:case 27:case 6:case 4:case 17:break;default:if((e&1024)!==0)throw Error(r(163))}if(e=t.sibling,e!==null){e.return=t.return,Ze=e;break}Ze=t.return}}function Bf(e,t,a){var n=a.flags;switch(a.tag){case 0:case 11:case 15:ba(e,a),n&4&&Ql(5,a);break;case 1:if(ba(e,a),n&4)if(e=a.stateNode,t===null)try{e.componentDidMount()}catch(d){Ae(a,a.return,d)}else{var l=vn(a.type,t.memoizedProps);t=t.memoizedState;try{e.componentDidUpdate(l,t,e.__reactInternalSnapshotBeforeUpdate)}catch(d){Ae(a,a.return,d)}}n&64&&zf(a),n&512&&Xl(a,a.return);break;case 3:if(ba(e,a),n&64&&(e=a.updateQueue,e!==null)){if(t=null,a.child!==null)switch(a.child.tag){case 27:case 5:t=a.child.stateNode;break;case 1:t=a.child.stateNode}try{Cd(e,t)}catch(d){Ae(a,a.return,d)}}break;case 27:t===null&&n&4&&_f(a);case 26:case 5:ba(e,a),t===null&&n&4&&Lf(a),n&512&&Xl(a,a.return);break;case 12:ba(e,a);break;case 31:ba(e,a),n&4&&Vf(e,a);break;case 13:ba(e,a),n&4&&Gf(e,a),n&64&&(e=a.memoizedState,e!==null&&(e=e.dehydrated,e!==null&&(a=zy.bind(null,a),ev(e,a))));break;case 22:if(n=a.memoizedState!==null||ya,!n){t=t!==null&&t.memoizedState!==null||Ke,l=ya;var o=Ke;ya=n,(Ke=t)&&!o?Sa(e,a,(a.subtreeFlags&8772)!==0):ba(e,a),ya=l,Ke=o}break;case 30:break;default:ba(e,a)}}function Hf(e){var t=e.alternate;t!==null&&(e.alternate=null,Hf(t)),e.child=null,e.deletions=null,e.sibling=null,e.tag===5&&(t=e.stateNode,t!==null&&us(t)),e.stateNode=null,e.return=null,e.dependencies=null,e.memoizedProps=null,e.memoizedState=null,e.pendingProps=null,e.stateNode=null,e.updateQueue=null}var ze=null,ct=!1;function va(e,t,a){for(a=a.child;a!==null;)qf(e,t,a),a=a.sibling}function qf(e,t,a){if(vt&&typeof vt.onCommitFiberUnmount=="function")try{vt.onCommitFiberUnmount(bl,a)}catch{}switch(a.tag){case 26:Ke||Wt(a,t),va(e,t,a),a.memoizedState?a.memoizedState.count--:a.stateNode&&(a=a.stateNode,a.parentNode.removeChild(a));break;case 27:Ke||Wt(a,t);var n=ze,l=ct;Ya(a.type)&&(ze=a.stateNode,ct=!1),va(e,t,a),li(a.stateNode),ze=n,ct=l;break;case 5:Ke||Wt(a,t);case 6:if(n=ze,l=ct,ze=null,va(e,t,a),ze=n,ct=l,ze!==null)if(ct)try{(ze.nodeType===9?ze.body:ze.nodeName==="HTML"?ze.ownerDocument.body:ze).removeChild(a.stateNode)}catch(o){Ae(a,t,o)}else try{ze.removeChild(a.stateNode)}catch(o){Ae(a,t,o)}break;case 18:ze!==null&&(ct?(e=ze,zm(e.nodeType===9?e.body:e.nodeName==="HTML"?e.ownerDocument.body:e,a.stateNode),rl(e)):zm(ze,a.stateNode));break;case 4:n=ze,l=ct,ze=a.stateNode.containerInfo,ct=!0,va(e,t,a),ze=n,ct=l;break;case 0:case 11:case 14:case 15:Ba(2,a,t),Ke||Ba(4,a,t),va(e,t,a);break;case 1:Ke||(Wt(a,t),n=a.stateNode,typeof n.componentWillUnmount=="function"&&Pf(a,t,n)),va(e,t,a);break;case 21:va(e,t,a);break;case 22:Ke=(n=Ke)||a.memoizedState!==null,va(e,t,a),Ke=n;break;default:va(e,t,a)}}function Vf(e,t){if(t.memoizedState===null&&(e=t.alternate,e!==null&&(e=e.memoizedState,e!==null))){e=e.dehydrated;try{rl(e)}catch(a){Ae(t,t.return,a)}}}function Gf(e,t){if(t.memoizedState===null&&(e=t.alternate,e!==null&&(e=e.memoizedState,e!==null&&(e=e.dehydrated,e!==null))))try{rl(e)}catch(a){Ae(t,t.return,a)}}function ky(e){switch(e.tag){case 31:case 13:case 19:var t=e.stateNode;return t===null&&(t=e.stateNode=new Ff),t;case 22:return e=e.stateNode,t=e._retryCache,t===null&&(t=e._retryCache=new Ff),t;default:throw Error(r(435,e.tag))}}function ho(e,t){var a=ky(e);t.forEach(function(n){if(!a.has(n)){a.add(n);var l=Py.bind(null,e,n);n.then(l,l)}})}function ut(e,t){var a=t.deletions;if(a!==null)for(var n=0;n<a.length;n++){var l=a[n],o=e,d=t,p=d;e:for(;p!==null;){switch(p.tag){case 27:if(Ya(p.type)){ze=p.stateNode,ct=!1;break e}break;case 5:ze=p.stateNode,ct=!1;break e;case 3:case 4:ze=p.stateNode.containerInfo,ct=!0;break e}p=p.return}if(ze===null)throw Error(r(160));qf(o,d,l),ze=null,ct=!1,o=l.alternate,o!==null&&(o.return=null),l.return=null}if(t.subtreeFlags&13886)for(t=t.child;t!==null;)Kf(t,e),t=t.sibling}var qt=null;function Kf(e,t){var a=e.alternate,n=e.flags;switch(e.tag){case 0:case 11:case 14:case 15:ut(t,e),dt(e),n&4&&(Ba(3,e,e.return),Ql(3,e),Ba(5,e,e.return));break;case 1:ut(t,e),dt(e),n&512&&(Ke||a===null||Wt(a,a.return)),n&64&&ya&&(e=e.updateQueue,e!==null&&(n=e.callbacks,n!==null&&(a=e.shared.hiddenCallbacks,e.shared.hiddenCallbacks=a===null?n:a.concat(n))));break;case 26:var l=qt;if(ut(t,e),dt(e),n&512&&(Ke||a===null||Wt(a,a.return)),n&4){var o=a!==null?a.memoizedState:null;if(n=e.memoizedState,a===null)if(n===null)if(e.stateNode===null){e:{n=e.type,a=e.memoizedProps,l=l.ownerDocument||l;t:switch(n){case"title":o=l.getElementsByTagName("title")[0],(!o||o[wl]||o[et]||o.namespaceURI==="http://www.w3.org/2000/svg"||o.hasAttribute("itemprop"))&&(o=l.createElement(n),l.head.insertBefore(o,l.querySelector("head > title"))),lt(o,n,a),o[et]=e,Xe(o),n=o;break e;case"link":var d=Km("link","href",l).get(n+(a.href||""));if(d){for(var p=0;p<d.length;p++)if(o=d[p],o.getAttribute("href")===(a.href==null||a.href===""?null:a.href)&&o.getAttribute("rel")===(a.rel==null?null:a.rel)&&o.getAttribute("title")===(a.title==null?null:a.title)&&o.getAttribute("crossorigin")===(a.crossOrigin==null?null:a.crossOrigin)){d.splice(p,1);break t}}o=l.createElement(n),lt(o,n,a),l.head.appendChild(o);break;case"meta":if(d=Km("meta","content",l).get(n+(a.content||""))){for(p=0;p<d.length;p++)if(o=d[p],o.getAttribute("content")===(a.content==null?null:""+a.content)&&o.getAttribute("name")===(a.name==null?null:a.name)&&o.getAttribute("property")===(a.property==null?null:a.property)&&o.getAttribute("http-equiv")===(a.httpEquiv==null?null:a.httpEquiv)&&o.getAttribute("charset")===(a.charSet==null?null:a.charSet)){d.splice(p,1);break t}}o=l.createElement(n),lt(o,n,a),l.head.appendChild(o);break;default:throw Error(r(468,n))}o[et]=e,Xe(o),n=o}e.stateNode=n}else Im(l,e.type,e.stateNode);else e.stateNode=Gm(l,n,e.memoizedProps);else o!==n?(o===null?a.stateNode!==null&&(a=a.stateNode,a.parentNode.removeChild(a)):o.count--,n===null?Im(l,e.type,e.stateNode):Gm(l,n,e.memoizedProps)):n===null&&e.stateNode!==null&&Dr(e,e.memoizedProps,a.memoizedProps)}break;case 27:ut(t,e),dt(e),n&512&&(Ke||a===null||Wt(a,a.return)),a!==null&&n&4&&Dr(e,e.memoizedProps,a.memoizedProps);break;case 5:if(ut(t,e),dt(e),n&512&&(Ke||a===null||Wt(a,a.return)),e.flags&32){l=e.stateNode;try{Dn(l,"")}catch(X){Ae(e,e.return,X)}}n&4&&e.stateNode!=null&&(l=e.memoizedProps,Dr(e,l,a!==null?a.memoizedProps:l)),n&1024&&(zr=!0);break;case 6:if(ut(t,e),dt(e),n&4){if(e.stateNode===null)throw Error(r(162));n=e.memoizedProps,a=e.stateNode;try{a.nodeValue=n}catch(X){Ae(e,e.return,X)}}break;case 3:if(Ro=null,l=qt,qt=jo(t.containerInfo),ut(t,e),qt=l,dt(e),n&4&&a!==null&&a.memoizedState.isDehydrated)try{rl(t.containerInfo)}catch(X){Ae(e,e.return,X)}zr&&(zr=!1,If(e));break;case 4:n=qt,qt=jo(e.stateNode.containerInfo),ut(t,e),dt(e),qt=n;break;case 12:ut(t,e),dt(e);break;case 31:ut(t,e),dt(e),n&4&&(n=e.updateQueue,n!==null&&(e.updateQueue=null,ho(e,n)));break;case 13:ut(t,e),dt(e),e.child.flags&8192&&e.memoizedState!==null!=(a!==null&&a.memoizedState!==null)&&(vo=yt()),n&4&&(n=e.updateQueue,n!==null&&(e.updateQueue=null,ho(e,n)));break;case 22:l=e.memoizedState!==null;var S=a!==null&&a.memoizedState!==null,k=ya,z=Ke;if(ya=k||l,Ke=z||S,ut(t,e),Ke=z,ya=k,dt(e),n&8192)e:for(t=e.stateNode,t._visibility=l?t._visibility&-2:t._visibility|1,l&&(a===null||S||ya||Ke||bn(e)),a=null,t=e;;){if(t.tag===5||t.tag===26){if(a===null){S=a=t;try{if(o=S.stateNode,l)d=o.style,typeof d.setProperty=="function"?d.setProperty("display","none","important"):d.display="none";else{p=S.stateNode;var U=S.memoizedProps.style,E=U!=null&&U.hasOwnProperty("display")?U.display:null;p.style.display=E==null||typeof E=="boolean"?"":(""+E).trim()}}catch(X){Ae(S,S.return,X)}}}else if(t.tag===6){if(a===null){S=t;try{S.stateNode.nodeValue=l?"":S.memoizedProps}catch(X){Ae(S,S.return,X)}}}else if(t.tag===18){if(a===null){S=t;try{var M=S.stateNode;l?Pm(M,!0):Pm(S.stateNode,!1)}catch(X){Ae(S,S.return,X)}}}else if((t.tag!==22&&t.tag!==23||t.memoizedState===null||t===e)&&t.child!==null){t.child.return=t,t=t.child;continue}if(t===e)break e;for(;t.sibling===null;){if(t.return===null||t.return===e)break e;a===t&&(a=null),t=t.return}a===t&&(a=null),t.sibling.return=t.return,t=t.sibling}n&4&&(n=e.updateQueue,n!==null&&(a=n.retryQueue,a!==null&&(n.retryQueue=null,ho(e,a))));break;case 19:ut(t,e),dt(e),n&4&&(n=e.updateQueue,n!==null&&(e.updateQueue=null,ho(e,n)));break;case 30:break;case 21:break;default:ut(t,e),dt(e)}}function dt(e){var t=e.flags;if(t&2){try{for(var a,n=e.return;n!==null;){if(Uf(n)){a=n;break}n=n.return}if(a==null)throw Error(r(160));switch(a.tag){case 27:var l=a.stateNode,o=Rr(e);go(e,o,l);break;case 5:var d=a.stateNode;a.flags&32&&(Dn(d,""),a.flags&=-33);var p=Rr(e);go(e,p,d);break;case 3:case 4:var S=a.stateNode.containerInfo,k=Rr(e);Or(e,k,S);break;default:throw Error(r(161))}}catch(z){Ae(e,e.return,z)}e.flags&=-3}t&4096&&(e.flags&=-4097)}function If(e){if(e.subtreeFlags&1024)for(e=e.child;e!==null;){var t=e;If(t),t.tag===5&&t.flags&1024&&t.stateNode.reset(),e=e.sibling}}function ba(e,t){if(t.subtreeFlags&8772)for(t=t.child;t!==null;)Bf(e,t.alternate,t),t=t.sibling}function bn(e){for(e=e.child;e!==null;){var t=e;switch(t.tag){case 0:case 11:case 14:case 15:Ba(4,t,t.return),bn(t);break;case 1:Wt(t,t.return);var a=t.stateNode;typeof a.componentWillUnmount=="function"&&Pf(t,t.return,a),bn(t);break;case 27:li(t.stateNode);case 26:case 5:Wt(t,t.return),bn(t);break;case 22:t.memoizedState===null&&bn(t);break;case 30:bn(t);break;default:bn(t)}e=e.sibling}}function Sa(e,t,a){for(a=a&&(t.subtreeFlags&8772)!==0,t=t.child;t!==null;){var n=t.alternate,l=e,o=t,d=o.flags;switch(o.tag){case 0:case 11:case 15:Sa(l,o,a),Ql(4,o);break;case 1:if(Sa(l,o,a),n=o,l=n.stateNode,typeof l.componentDidMount=="function")try{l.componentDidMount()}catch(k){Ae(n,n.return,k)}if(n=o,l=n.updateQueue,l!==null){var p=n.stateNode;try{var S=l.shared.hiddenCallbacks;if(S!==null)for(l.shared.hiddenCallbacks=null,l=0;l<S.length;l++)wd(S[l],p)}catch(k){Ae(n,n.return,k)}}a&&d&64&&zf(o),Xl(o,o.return);break;case 27:_f(o);case 26:case 5:Sa(l,o,a),a&&n===null&&d&4&&Lf(o),Xl(o,o.return);break;case 12:Sa(l,o,a);break;case 31:Sa(l,o,a),a&&d&4&&Vf(l,o);break;case 13:Sa(l,o,a),a&&d&4&&Gf(l,o);break;case 22:o.memoizedState===null&&Sa(l,o,a),Xl(o,o.return);break;case 30:break;default:Sa(l,o,a)}t=t.sibling}}function Pr(e,t){var a=null;e!==null&&e.memoizedState!==null&&e.memoizedState.cachePool!==null&&(a=e.memoizedState.cachePool.pool),e=null,t.memoizedState!==null&&t.memoizedState.cachePool!==null&&(e=t.memoizedState.cachePool.pool),e!==a&&(e!=null&&e.refCount++,a!=null&&Pl(a))}function Lr(e,t){e=null,t.alternate!==null&&(e=t.alternate.memoizedState.cache),t=t.memoizedState.cache,t!==e&&(t.refCount++,e!=null&&Pl(e))}function Vt(e,t,a,n){if(t.subtreeFlags&10256)for(t=t.child;t!==null;)Yf(e,t,a,n),t=t.sibling}function Yf(e,t,a,n){var l=t.flags;switch(t.tag){case 0:case 11:case 15:Vt(e,t,a,n),l&2048&&Ql(9,t);break;case 1:Vt(e,t,a,n);break;case 3:Vt(e,t,a,n),l&2048&&(e=null,t.alternate!==null&&(e=t.alternate.memoizedState.cache),t=t.memoizedState.cache,t!==e&&(t.refCount++,e!=null&&Pl(e)));break;case 12:if(l&2048){Vt(e,t,a,n),e=t.stateNode;try{var o=t.memoizedProps,d=o.id,p=o.onPostCommit;typeof p=="function"&&p(d,t.alternate===null?"mount":"update",e.passiveEffectDuration,-0)}catch(S){Ae(t,t.return,S)}}else Vt(e,t,a,n);break;case 31:Vt(e,t,a,n);break;case 13:Vt(e,t,a,n);break;case 23:break;case 22:o=t.stateNode,d=t.alternate,t.memoizedState!==null?o._visibility&2?Vt(e,t,a,n):Zl(e,t):o._visibility&2?Vt(e,t,a,n):(o._visibility|=2,$n(e,t,a,n,(t.subtreeFlags&10256)!==0||!1)),l&2048&&Pr(d,t);break;case 24:Vt(e,t,a,n),l&2048&&Lr(t.alternate,t);break;default:Vt(e,t,a,n)}}function $n(e,t,a,n,l){for(l=l&&((t.subtreeFlags&10256)!==0||!1),t=t.child;t!==null;){var o=e,d=t,p=a,S=n,k=d.flags;switch(d.tag){case 0:case 11:case 15:$n(o,d,p,S,l),Ql(8,d);break;case 23:break;case 22:var z=d.stateNode;d.memoizedState!==null?z._visibility&2?$n(o,d,p,S,l):Zl(o,d):(z._visibility|=2,$n(o,d,p,S,l)),l&&k&2048&&Pr(d.alternate,d);break;case 24:$n(o,d,p,S,l),l&&k&2048&&Lr(d.alternate,d);break;default:$n(o,d,p,S,l)}t=t.sibling}}function Zl(e,t){if(t.subtreeFlags&10256)for(t=t.child;t!==null;){var a=e,n=t,l=n.flags;switch(n.tag){case 22:Zl(a,n),l&2048&&Pr(n.alternate,n);break;case 24:Zl(a,n),l&2048&&Lr(n.alternate,n);break;default:Zl(a,n)}t=t.sibling}}var $l=8192;function Jn(e,t,a){if(e.subtreeFlags&$l)for(e=e.child;e!==null;)Qf(e,t,a),e=e.sibling}function Qf(e,t,a){switch(e.tag){case 26:Jn(e,t,a),e.flags&$l&&e.memoizedState!==null&&fv(a,qt,e.memoizedState,e.memoizedProps);break;case 5:Jn(e,t,a);break;case 3:case 4:var n=qt;qt=jo(e.stateNode.containerInfo),Jn(e,t,a),qt=n;break;case 22:e.memoizedState===null&&(n=e.alternate,n!==null&&n.memoizedState!==null?(n=$l,$l=16777216,Jn(e,t,a),$l=n):Jn(e,t,a));break;default:Jn(e,t,a)}}function Xf(e){var t=e.alternate;if(t!==null&&(e=t.child,e!==null)){t.child=null;do t=e.sibling,e.sibling=null,e=t;while(e!==null)}}function Jl(e){var t=e.deletions;if((e.flags&16)!==0){if(t!==null)for(var a=0;a<t.length;a++){var n=t[a];Ze=n,$f(n,e)}Xf(e)}if(e.subtreeFlags&10256)for(e=e.child;e!==null;)Zf(e),e=e.sibling}function Zf(e){switch(e.tag){case 0:case 11:case 15:Jl(e),e.flags&2048&&Ba(9,e,e.return);break;case 3:Jl(e);break;case 12:Jl(e);break;case 22:var t=e.stateNode;e.memoizedState!==null&&t._visibility&2&&(e.return===null||e.return.tag!==13)?(t._visibility&=-3,yo(e)):Jl(e);break;default:Jl(e)}}function yo(e){var t=e.deletions;if((e.flags&16)!==0){if(t!==null)for(var a=0;a<t.length;a++){var n=t[a];Ze=n,$f(n,e)}Xf(e)}for(e=e.child;e!==null;){switch(t=e,t.tag){case 0:case 11:case 15:Ba(8,t,t.return),yo(t);break;case 22:a=t.stateNode,a._visibility&2&&(a._visibility&=-3,yo(t));break;default:yo(t)}e=e.sibling}}function $f(e,t){for(;Ze!==null;){var a=Ze;switch(a.tag){case 0:case 11:case 15:Ba(8,a,t);break;case 23:case 22:if(a.memoizedState!==null&&a.memoizedState.cachePool!==null){var n=a.memoizedState.cachePool.pool;n!=null&&n.refCount++}break;case 24:Pl(a.memoizedState.cache)}if(n=a.child,n!==null)n.return=a,Ze=n;else e:for(a=e;Ze!==null;){n=Ze;var l=n.sibling,o=n.return;if(Hf(n),n===a){Ze=null;break e}if(l!==null){l.return=o,Ze=l;break e}Ze=o}}}var Ey={getCacheForType:function(e){var t=at(qe),a=t.data.get(e);return a===void 0&&(a=e(),t.data.set(e,a)),a},cacheSignal:function(){return at(qe).controller.signal}},Ny=typeof WeakMap=="function"?WeakMap:Map,xe=0,Ne=null,ce=null,me=0,Ce=0,At=null,Ha=!1,Wn=!1,Ur=!1,xa=0,_e=0,qa=0,Sn=0,_r=0,Tt=0,el=0,Wl=null,ft=null,Fr=!1,vo=0,Jf=0,bo=1/0,So=null,Va=null,Ie=0,Ga=null,tl=null,wa=0,Br=0,Hr=null,Wf=null,ei=0,qr=null;function kt(){return(xe&2)!==0&&me!==0?me&-me:j.T!==null?Qr():pu()}function em(){if(Tt===0)if((me&536870912)===0||ge){var e=Ei;Ei<<=1,(Ei&3932160)===0&&(Ei=262144),Tt=e}else Tt=536870912;return e=wt.current,e!==null&&(e.flags|=32),Tt}function mt(e,t,a){(e===Ne&&(Ce===2||Ce===9)||e.cancelPendingCommit!==null)&&(al(e,0),Ka(e,me,Tt,!1)),xl(e,a),((xe&2)===0||e!==Ne)&&(e===Ne&&((xe&2)===0&&(Sn|=a),_e===4&&Ka(e,me,Tt,!1)),ea(e))}function tm(e,t,a){if((xe&6)!==0)throw Error(r(327));var n=!a&&(t&127)===0&&(t&e.expiredLanes)===0||Sl(e,t),l=n?Dy(e,t):Gr(e,t,!0),o=n;do{if(l===0){Wn&&!n&&Ka(e,t,0,!1);break}else{if(a=e.current.alternate,o&&!My(a)){l=Gr(e,t,!1),o=!1;continue}if(l===2){if(o=t,e.errorRecoveryDisabledLanes&o)var d=0;else d=e.pendingLanes&-536870913,d=d!==0?d:d&536870912?536870912:0;if(d!==0){t=d;e:{var p=e;l=Wl;var S=p.current.memoizedState.isDehydrated;if(S&&(al(p,d).flags|=256),d=Gr(p,d,!1),d!==2){if(Ur&&!S){p.errorRecoveryDisabledLanes|=o,Sn|=o,l=4;break e}o=ft,ft=l,o!==null&&(ft===null?ft=o:ft.push.apply(ft,o))}l=d}if(o=!1,l!==2)continue}}if(l===1){al(e,0),Ka(e,t,0,!0);break}e:{switch(n=e,o=l,o){case 0:case 1:throw Error(r(345));case 4:if((t&4194048)!==t)break;case 6:Ka(n,t,Tt,!Ha);break e;case 2:ft=null;break;case 3:case 5:break;default:throw Error(r(329))}if((t&62914560)===t&&(l=vo+300-yt(),10<l)){if(Ka(n,t,Tt,!Ha),Mi(n,0,!0)!==0)break e;wa=t,n.timeoutHandle=Rm(am.bind(null,n,a,ft,So,Fr,t,Tt,Sn,el,Ha,o,"Throttled",-0,0),l);break e}am(n,a,ft,So,Fr,t,Tt,Sn,el,Ha,o,null,-0,0)}}break}while(!0);ea(e)}function am(e,t,a,n,l,o,d,p,S,k,z,U,E,M){if(e.timeoutHandle=-1,U=t.subtreeFlags,U&8192||(U&16785408)===16785408){U={stylesheets:null,count:0,imgCount:0,imgBytes:0,suspenseyImages:[],waitingForImages:!0,waitingForViewTransition:!1,unsuspend:sa},Qf(t,o,U);var X=(o&62914560)===o?vo-yt():(o&4194048)===o?Jf-yt():0;if(X=mv(U,X),X!==null){wa=o,e.cancelPendingCommit=X(um.bind(null,e,t,o,a,n,l,d,p,S,z,U,null,E,M)),Ka(e,o,d,!k);return}}um(e,t,o,a,n,l,d,p,S)}function My(e){for(var t=e;;){var a=t.tag;if((a===0||a===11||a===15)&&t.flags&16384&&(a=t.updateQueue,a!==null&&(a=a.stores,a!==null)))for(var n=0;n<a.length;n++){var l=a[n],o=l.getSnapshot;l=l.value;try{if(!St(o(),l))return!1}catch{return!1}}if(a=t.child,t.subtreeFlags&16384&&a!==null)a.return=t,t=a;else{if(t===e)break;for(;t.sibling===null;){if(t.return===null||t.return===e)return!0;t=t.return}t.sibling.return=t.return,t=t.sibling}}return!0}function Ka(e,t,a,n){t&=~_r,t&=~Sn,e.suspendedLanes|=t,e.pingedLanes&=~t,n&&(e.warmLanes|=t),n=e.expirationTimes;for(var l=t;0<l;){var o=31-bt(l),d=1<<o;n[o]=-1,l&=~d}a!==0&&du(e,a,t)}function xo(){return(xe&6)===0?(ti(0),!1):!0}function Vr(){if(ce!==null){if(Ce===0)var e=ce.return;else e=ce,da=dn=null,ir(e),In=null,Ul=0,e=ce;for(;e!==null;)Of(e.alternate,e),e=e.return;ce=null}}function al(e,t){var a=e.timeoutHandle;a!==-1&&(e.timeoutHandle=-1,Xy(a)),a=e.cancelPendingCommit,a!==null&&(e.cancelPendingCommit=null,a()),wa=0,Vr(),Ne=e,ce=a=ca(e.current,null),me=t,Ce=0,At=null,Ha=!1,Wn=Sl(e,t),Ur=!1,el=Tt=_r=Sn=qa=_e=0,ft=Wl=null,Fr=!1,(t&8)!==0&&(t|=t&32);var n=e.entangledLanes;if(n!==0)for(e=e.entanglements,n&=t;0<n;){var l=31-bt(n),o=1<<l;t|=e[l],n&=~o}return xa=t,Hi(),a}function nm(e,t){ie=null,j.H=Kl,t===Kn||t===Xi?(t=vd(),Ce=3):t===Ys?(t=vd(),Ce=4):Ce=t===xr?8:t!==null&&typeof t=="object"&&typeof t.then=="function"?6:1,At=t,ce===null&&(_e=1,co(e,Dt(t,e.current)))}function lm(){var e=wt.current;return e===null?!0:(me&4194048)===me?Pt===null:(me&62914560)===me||(me&536870912)!==0?e===Pt:!1}function im(){var e=j.H;return j.H=Kl,e===null?Kl:e}function om(){var e=j.A;return j.A=Ey,e}function wo(){_e=4,Ha||(me&4194048)!==me&&wt.current!==null||(Wn=!0),(qa&134217727)===0&&(Sn&134217727)===0||Ne===null||Ka(Ne,me,Tt,!1)}function Gr(e,t,a){var n=xe;xe|=2;var l=im(),o=om();(Ne!==e||me!==t)&&(So=null,al(e,t)),t=!1;var d=_e;e:do try{if(Ce!==0&&ce!==null){var p=ce,S=At;switch(Ce){case 8:Vr(),d=6;break e;case 3:case 2:case 9:case 6:wt.current===null&&(t=!0);var k=Ce;if(Ce=0,At=null,nl(e,p,S,k),a&&Wn){d=0;break e}break;default:k=Ce,Ce=0,At=null,nl(e,p,S,k)}}jy(),d=_e;break}catch(z){nm(e,z)}while(!0);return t&&e.shellSuspendCounter++,da=dn=null,xe=n,j.H=l,j.A=o,ce===null&&(Ne=null,me=0,Hi()),d}function jy(){for(;ce!==null;)sm(ce)}function Dy(e,t){var a=xe;xe|=2;var n=im(),l=om();Ne!==e||me!==t?(So=null,bo=yt()+500,al(e,t)):Wn=Sl(e,t);e:do try{if(Ce!==0&&ce!==null){t=ce;var o=At;t:switch(Ce){case 1:Ce=0,At=null,nl(e,t,o,1);break;case 2:case 9:if(hd(o)){Ce=0,At=null,rm(t);break}t=function(){Ce!==2&&Ce!==9||Ne!==e||(Ce=7),ea(e)},o.then(t,t);break e;case 3:Ce=7;break e;case 4:Ce=5;break e;case 7:hd(o)?(Ce=0,At=null,rm(t)):(Ce=0,At=null,nl(e,t,o,7));break;case 5:var d=null;switch(ce.tag){case 26:d=ce.memoizedState;case 5:case 27:var p=ce;if(d?Ym(d):p.stateNode.complete){Ce=0,At=null;var S=p.sibling;if(S!==null)ce=S;else{var k=p.return;k!==null?(ce=k,Co(k)):ce=null}break t}}Ce=0,At=null,nl(e,t,o,5);break;case 6:Ce=0,At=null,nl(e,t,o,6);break;case 8:Vr(),_e=6;break e;default:throw Error(r(462))}}Ry();break}catch(z){nm(e,z)}while(!0);return da=dn=null,j.H=n,j.A=l,xe=a,ce!==null?0:(Ne=null,me=0,Hi(),_e)}function Ry(){for(;ce!==null&&!th();)sm(ce)}function sm(e){var t=Df(e.alternate,e,xa);e.memoizedProps=e.pendingProps,t===null?Co(e):ce=t}function rm(e){var t=e,a=t.alternate;switch(t.tag){case 15:case 0:t=Tf(a,t,t.pendingProps,t.type,void 0,me);break;case 11:t=Tf(a,t,t.pendingProps,t.type.render,t.ref,me);break;case 5:ir(t);default:Of(a,t),t=ce=id(t,xa),t=Df(a,t,xa)}e.memoizedProps=e.pendingProps,t===null?Co(e):ce=t}function nl(e,t,a,n){da=dn=null,ir(t),In=null,Ul=0;var l=t.return;try{if(Sy(e,l,t,a,me)){_e=1,co(e,Dt(a,e.current)),ce=null;return}}catch(o){if(l!==null)throw ce=l,o;_e=1,co(e,Dt(a,e.current)),ce=null;return}t.flags&32768?(ge||n===1?e=!0:Wn||(me&536870912)!==0?e=!1:(Ha=e=!0,(n===2||n===9||n===3||n===6)&&(n=wt.current,n!==null&&n.tag===13&&(n.flags|=16384))),cm(t,e)):Co(t)}function Co(e){var t=e;do{if((t.flags&32768)!==0){cm(t,Ha);return}e=t.return;var a=Cy(t.alternate,t,xa);if(a!==null){ce=a;return}if(t=t.sibling,t!==null){ce=t;return}ce=t=e}while(t!==null);_e===0&&(_e=5)}function cm(e,t){do{var a=Ay(e.alternate,e);if(a!==null){a.flags&=32767,ce=a;return}if(a=e.return,a!==null&&(a.flags|=32768,a.subtreeFlags=0,a.deletions=null),!t&&(e=e.sibling,e!==null)){ce=e;return}ce=e=a}while(e!==null);_e=6,ce=null}function um(e,t,a,n,l,o,d,p,S){e.cancelPendingCommit=null;do Ao();while(Ie!==0);if((xe&6)!==0)throw Error(r(327));if(t!==null){if(t===e.current)throw Error(r(177));if(o=t.lanes|t.childLanes,o|=Rs,dh(e,a,o,d,p,S),e===Ne&&(ce=Ne=null,me=0),tl=t,Ga=e,wa=a,Br=o,Hr=l,Wf=n,(t.subtreeFlags&10256)!==0||(t.flags&10256)!==0?(e.callbackNode=null,e.callbackPriority=0,Ly(Ti,function(){return gm(),null})):(e.callbackNode=null,e.callbackPriority=0),n=(t.flags&13878)!==0,(t.subtreeFlags&13878)!==0||n){n=j.T,j.T=null,l=K.p,K.p=2,d=xe,xe|=4;try{Ty(e,t,a)}finally{xe=d,K.p=l,j.T=n}}Ie=1,dm(),fm(),mm()}}function dm(){if(Ie===1){Ie=0;var e=Ga,t=tl,a=(t.flags&13878)!==0;if((t.subtreeFlags&13878)!==0||a){a=j.T,j.T=null;var n=K.p;K.p=2;var l=xe;xe|=4;try{Kf(t,e);var o=ac,d=Zu(e.containerInfo),p=o.focusedElem,S=o.selectionRange;if(d!==p&&p&&p.ownerDocument&&Xu(p.ownerDocument.documentElement,p)){if(S!==null&&Es(p)){var k=S.start,z=S.end;if(z===void 0&&(z=k),"selectionStart"in p)p.selectionStart=k,p.selectionEnd=Math.min(z,p.value.length);else{var U=p.ownerDocument||document,E=U&&U.defaultView||window;if(E.getSelection){var M=E.getSelection(),X=p.textContent.length,ae=Math.min(S.start,X),Ee=S.end===void 0?ae:Math.min(S.end,X);!M.extend&&ae>Ee&&(d=Ee,Ee=ae,ae=d);var A=Qu(p,ae),w=Qu(p,Ee);if(A&&w&&(M.rangeCount!==1||M.anchorNode!==A.node||M.anchorOffset!==A.offset||M.focusNode!==w.node||M.focusOffset!==w.offset)){var T=U.createRange();T.setStart(A.node,A.offset),M.removeAllRanges(),ae>Ee?(M.addRange(T),M.extend(w.node,w.offset)):(T.setEnd(w.node,w.offset),M.addRange(T))}}}}for(U=[],M=p;M=M.parentNode;)M.nodeType===1&&U.push({element:M,left:M.scrollLeft,top:M.scrollTop});for(typeof p.focus=="function"&&p.focus(),p=0;p<U.length;p++){var L=U[p];L.element.scrollLeft=L.left,L.element.scrollTop=L.top}}Lo=!!tc,ac=tc=null}finally{xe=l,K.p=n,j.T=a}}e.current=t,Ie=2}}function fm(){if(Ie===2){Ie=0;var e=Ga,t=tl,a=(t.flags&8772)!==0;if((t.subtreeFlags&8772)!==0||a){a=j.T,j.T=null;var n=K.p;K.p=2;var l=xe;xe|=4;try{Bf(e,t.alternate,t)}finally{xe=l,K.p=n,j.T=a}}Ie=3}}function mm(){if(Ie===4||Ie===3){Ie=0,ah();var e=Ga,t=tl,a=wa,n=Wf;(t.subtreeFlags&10256)!==0||(t.flags&10256)!==0?Ie=5:(Ie=0,tl=Ga=null,pm(e,e.pendingLanes));var l=e.pendingLanes;if(l===0&&(Va=null),rs(a),t=t.stateNode,vt&&typeof vt.onCommitFiberRoot=="function")try{vt.onCommitFiberRoot(bl,t,void 0,(t.current.flags&128)===128)}catch{}if(n!==null){t=j.T,l=K.p,K.p=2,j.T=null;try{for(var o=e.onRecoverableError,d=0;d<n.length;d++){var p=n[d];o(p.value,{componentStack:p.stack})}}finally{j.T=t,K.p=l}}(wa&3)!==0&&Ao(),ea(e),l=e.pendingLanes,(a&261930)!==0&&(l&42)!==0?e===qr?ei++:(ei=0,qr=e):ei=0,ti(0)}}function pm(e,t){(e.pooledCacheLanes&=t)===0&&(t=e.pooledCache,t!=null&&(e.pooledCache=null,Pl(t)))}function Ao(){return dm(),fm(),mm(),gm()}function gm(){if(Ie!==5)return!1;var e=Ga,t=Br;Br=0;var a=rs(wa),n=j.T,l=K.p;try{K.p=32>a?32:a,j.T=null,a=Hr,Hr=null;var o=Ga,d=wa;if(Ie=0,tl=Ga=null,wa=0,(xe&6)!==0)throw Error(r(331));var p=xe;if(xe|=4,Zf(o.current),Yf(o,o.current,d,a),xe=p,ti(0,!1),vt&&typeof vt.onPostCommitFiberRoot=="function")try{vt.onPostCommitFiberRoot(bl,o)}catch{}return!0}finally{K.p=l,j.T=n,pm(e,t)}}function hm(e,t,a){t=Dt(a,t),t=Sr(e.stateNode,t,2),e=Ua(e,t,2),e!==null&&(xl(e,2),ea(e))}function Ae(e,t,a){if(e.tag===3)hm(e,e,a);else for(;t!==null;){if(t.tag===3){hm(t,e,a);break}else if(t.tag===1){var n=t.stateNode;if(typeof t.type.getDerivedStateFromError=="function"||typeof n.componentDidCatch=="function"&&(Va===null||!Va.has(n))){e=Dt(a,e),a=yf(2),n=Ua(t,a,2),n!==null&&(vf(a,n,t,e),xl(n,2),ea(n));break}}t=t.return}}function Kr(e,t,a){var n=e.pingCache;if(n===null){n=e.pingCache=new Ny;var l=new Set;n.set(t,l)}else l=n.get(t),l===void 0&&(l=new Set,n.set(t,l));l.has(a)||(Ur=!0,l.add(a),e=Oy.bind(null,e,t,a),t.then(e,e))}function Oy(e,t,a){var n=e.pingCache;n!==null&&n.delete(t),e.pingedLanes|=e.suspendedLanes&a,e.warmLanes&=~a,Ne===e&&(me&a)===a&&(_e===4||_e===3&&(me&62914560)===me&&300>yt()-vo?(xe&2)===0&&al(e,0):_r|=a,el===me&&(el=0)),ea(e)}function ym(e,t){t===0&&(t=uu()),e=rn(e,t),e!==null&&(xl(e,t),ea(e))}function zy(e){var t=e.memoizedState,a=0;t!==null&&(a=t.retryLane),ym(e,a)}function Py(e,t){var a=0;switch(e.tag){case 31:case 13:var n=e.stateNode,l=e.memoizedState;l!==null&&(a=l.retryLane);break;case 19:n=e.stateNode;break;case 22:n=e.stateNode._retryCache;break;default:throw Error(r(314))}n!==null&&n.delete(t),ym(e,a)}function Ly(e,t){return ia(e,t)}var To=null,ll=null,Ir=!1,ko=!1,Yr=!1,Ia=0;function ea(e){e!==ll&&e.next===null&&(ll===null?To=ll=e:ll=ll.next=e),ko=!0,Ir||(Ir=!0,_y())}function ti(e,t){if(!Yr&&ko){Yr=!0;do for(var a=!1,n=To;n!==null;){if(e!==0){var l=n.pendingLanes;if(l===0)var o=0;else{var d=n.suspendedLanes,p=n.pingedLanes;o=(1<<31-bt(42|e)+1)-1,o&=l&~(d&~p),o=o&201326741?o&201326741|1:o?o|2:0}o!==0&&(a=!0,xm(n,o))}else o=me,o=Mi(n,n===Ne?o:0,n.cancelPendingCommit!==null||n.timeoutHandle!==-1),(o&3)===0||Sl(n,o)||(a=!0,xm(n,o));n=n.next}while(a);Yr=!1}}function Uy(){vm()}function vm(){ko=Ir=!1;var e=0;Ia!==0&&Qy()&&(e=Ia);for(var t=yt(),a=null,n=To;n!==null;){var l=n.next,o=bm(n,t);o===0?(n.next=null,a===null?To=l:a.next=l,l===null&&(ll=a)):(a=n,(e!==0||(o&3)!==0)&&(ko=!0)),n=l}Ie!==0&&Ie!==5||ti(e),Ia!==0&&(Ia=0)}function bm(e,t){for(var a=e.suspendedLanes,n=e.pingedLanes,l=e.expirationTimes,o=e.pendingLanes&-62914561;0<o;){var d=31-bt(o),p=1<<d,S=l[d];S===-1?((p&a)===0||(p&n)!==0)&&(l[d]=uh(p,t)):S<=t&&(e.expiredLanes|=p),o&=~p}if(t=Ne,a=me,a=Mi(e,e===t?a:0,e.cancelPendingCommit!==null||e.timeoutHandle!==-1),n=e.callbackNode,a===0||e===t&&(Ce===2||Ce===9)||e.cancelPendingCommit!==null)return n!==null&&n!==null&&tn(n),e.callbackNode=null,e.callbackPriority=0;if((a&3)===0||Sl(e,a)){if(t=a&-a,t===e.callbackPriority)return t;switch(n!==null&&tn(n),rs(a)){case 2:case 8:a=ru;break;case 32:a=Ti;break;case 268435456:a=cu;break;default:a=Ti}return n=Sm.bind(null,e),a=ia(a,n),e.callbackPriority=t,e.callbackNode=a,t}return n!==null&&n!==null&&tn(n),e.callbackPriority=2,e.callbackNode=null,2}function Sm(e,t){if(Ie!==0&&Ie!==5)return e.callbackNode=null,e.callbackPriority=0,null;var a=e.callbackNode;if(Ao()&&e.callbackNode!==a)return null;var n=me;return n=Mi(e,e===Ne?n:0,e.cancelPendingCommit!==null||e.timeoutHandle!==-1),n===0?null:(tm(e,n,t),bm(e,yt()),e.callbackNode!=null&&e.callbackNode===a?Sm.bind(null,e):null)}function xm(e,t){if(Ao())return null;tm(e,t,!0)}function _y(){Zy(function(){(xe&6)!==0?ia(su,Uy):vm()})}function Qr(){if(Ia===0){var e=Vn;e===0&&(e=ki,ki<<=1,(ki&261888)===0&&(ki=256)),Ia=e}return Ia}function wm(e){return e==null||typeof e=="symbol"||typeof e=="boolean"?null:typeof e=="function"?e:Oi(""+e)}function Cm(e,t){var a=t.ownerDocument.createElement("input");return a.name=t.name,a.value=t.value,e.id&&a.setAttribute("form",e.id),t.parentNode.insertBefore(a,t),e=new FormData(e),a.parentNode.removeChild(a),e}function Fy(e,t,a,n,l){if(t==="submit"&&a&&a.stateNode===l){var o=wm((l[st]||null).action),d=n.submitter;d&&(t=(t=d[st]||null)?wm(t.formAction):d.getAttribute("formAction"),t!==null&&(o=t,d=null));var p=new Ui("action","action",null,n,l);e.push({event:p,listeners:[{instance:null,listener:function(){if(n.defaultPrevented){if(Ia!==0){var S=d?Cm(l,d):new FormData(l);pr(a,{pending:!0,data:S,method:l.method,action:o},null,S)}}else typeof o=="function"&&(p.preventDefault(),S=d?Cm(l,d):new FormData(l),pr(a,{pending:!0,data:S,method:l.method,action:o},o,S))},currentTarget:l}]})}}for(var Xr=0;Xr<Ds.length;Xr++){var Zr=Ds[Xr],By=Zr.toLowerCase(),Hy=Zr[0].toUpperCase()+Zr.slice(1);Ht(By,"on"+Hy)}Ht(Wu,"onAnimationEnd"),Ht(ed,"onAnimationIteration"),Ht(td,"onAnimationStart"),Ht("dblclick","onDoubleClick"),Ht("focusin","onFocus"),Ht("focusout","onBlur"),Ht(ny,"onTransitionRun"),Ht(ly,"onTransitionStart"),Ht(iy,"onTransitionCancel"),Ht(ad,"onTransitionEnd"),Mn("onMouseEnter",["mouseout","mouseover"]),Mn("onMouseLeave",["mouseout","mouseover"]),Mn("onPointerEnter",["pointerout","pointerover"]),Mn("onPointerLeave",["pointerout","pointerover"]),nn("onChange","change click focusin focusout input keydown keyup selectionchange".split(" ")),nn("onSelect","focusout contextmenu dragend focusin keydown keyup mousedown mouseup selectionchange".split(" ")),nn("onBeforeInput",["compositionend","keypress","textInput","paste"]),nn("onCompositionEnd","compositionend focusout keydown keypress keyup mousedown".split(" ")),nn("onCompositionStart","compositionstart focusout keydown keypress keyup mousedown".split(" ")),nn("onCompositionUpdate","compositionupdate focusout keydown keypress keyup mousedown".split(" "));var ai="abort canplay canplaythrough durationchange emptied encrypted ended error loadeddata loadedmetadata loadstart pause play playing progress ratechange resize seeked seeking stalled suspend timeupdate volumechange waiting".split(" "),qy=new Set("beforetoggle cancel close invalid load scroll scrollend toggle".split(" ").concat(ai));function Am(e,t){t=(t&4)!==0;for(var a=0;a<e.length;a++){var n=e[a],l=n.event;n=n.listeners;e:{var o=void 0;if(t)for(var d=n.length-1;0<=d;d--){var p=n[d],S=p.instance,k=p.currentTarget;if(p=p.listener,S!==o&&l.isPropagationStopped())break e;o=p,l.currentTarget=k;try{o(l)}catch(z){Bi(z)}l.currentTarget=null,o=S}else for(d=0;d<n.length;d++){if(p=n[d],S=p.instance,k=p.currentTarget,p=p.listener,S!==o&&l.isPropagationStopped())break e;o=p,l.currentTarget=k;try{o(l)}catch(z){Bi(z)}l.currentTarget=null,o=S}}}}function ue(e,t){var a=t[cs];a===void 0&&(a=t[cs]=new Set);var n=e+"__bubble";a.has(n)||(Tm(t,e,2,!1),a.add(n))}function $r(e,t,a){var n=0;t&&(n|=4),Tm(a,e,n,t)}var Eo="_reactListening"+Math.random().toString(36).slice(2);function Jr(e){if(!e[Eo]){e[Eo]=!0,yu.forEach(function(a){a!=="selectionchange"&&(qy.has(a)||$r(a,!1,e),$r(a,!0,e))});var t=e.nodeType===9?e:e.ownerDocument;t===null||t[Eo]||(t[Eo]=!0,$r("selectionchange",!1,t))}}function Tm(e,t,a,n){switch(ep(t)){case 2:var l=hv;break;case 8:l=yv;break;default:l=mc}a=l.bind(null,t,a,e),l=void 0,!vs||t!=="touchstart"&&t!=="touchmove"&&t!=="wheel"||(l=!0),n?l!==void 0?e.addEventListener(t,a,{capture:!0,passive:l}):e.addEventListener(t,a,!0):l!==void 0?e.addEventListener(t,a,{passive:l}):e.addEventListener(t,a,!1)}function Wr(e,t,a,n,l){var o=n;if((t&1)===0&&(t&2)===0&&n!==null)e:for(;;){if(n===null)return;var d=n.tag;if(d===3||d===4){var p=n.stateNode.containerInfo;if(p===l)break;if(d===4)for(d=n.return;d!==null;){var S=d.tag;if((S===3||S===4)&&d.stateNode.containerInfo===l)return;d=d.return}for(;p!==null;){if(d=kn(p),d===null)return;if(S=d.tag,S===5||S===6||S===26||S===27){n=o=d;continue e}p=p.parentNode}}n=n.return}Mu(function(){var k=o,z=hs(a),U=[];e:{var E=nd.get(e);if(E!==void 0){var M=Ui,X=e;switch(e){case"keypress":if(Pi(a)===0)break e;case"keydown":case"keyup":M=Ph;break;case"focusin":X="focus",M=ws;break;case"focusout":X="blur",M=ws;break;case"beforeblur":case"afterblur":M=ws;break;case"click":if(a.button===2)break e;case"auxclick":case"dblclick":case"mousedown":case"mousemove":case"mouseup":case"mouseout":case"mouseover":case"contextmenu":M=Ru;break;case"drag":case"dragend":case"dragenter":case"dragexit":case"dragleave":case"dragover":case"dragstart":case"drop":M=Ch;break;case"touchcancel":case"touchend":case"touchmove":case"touchstart":M=_h;break;case Wu:case ed:case td:M=kh;break;case ad:M=Bh;break;case"scroll":case"scrollend":M=xh;break;case"wheel":M=qh;break;case"copy":case"cut":case"paste":M=Nh;break;case"gotpointercapture":case"lostpointercapture":case"pointercancel":case"pointerdown":case"pointermove":case"pointerout":case"pointerover":case"pointerup":M=zu;break;case"toggle":case"beforetoggle":M=Gh}var ae=(t&4)!==0,Ee=!ae&&(e==="scroll"||e==="scrollend"),A=ae?E!==null?E+"Capture":null:E;ae=[];for(var w=k,T;w!==null;){var L=w;if(T=L.stateNode,L=L.tag,L!==5&&L!==26&&L!==27||T===null||A===null||(L=Al(w,A),L!=null&&ae.push(ni(w,L,T))),Ee)break;w=w.return}0<ae.length&&(E=new M(E,X,null,a,z),U.push({event:E,listeners:ae}))}}if((t&7)===0){e:{if(E=e==="mouseover"||e==="pointerover",M=e==="mouseout"||e==="pointerout",E&&a!==gs&&(X=a.relatedTarget||a.fromElement)&&(kn(X)||X[Tn]))break e;if((M||E)&&(E=z.window===z?z:(E=z.ownerDocument)?E.defaultView||E.parentWindow:window,M?(X=a.relatedTarget||a.toElement,M=k,X=X?kn(X):null,X!==null&&(Ee=m(X),ae=X.tag,X!==Ee||ae!==5&&ae!==27&&ae!==6)&&(X=null)):(M=null,X=k),M!==X)){if(ae=Ru,L="onMouseLeave",A="onMouseEnter",w="mouse",(e==="pointerout"||e==="pointerover")&&(ae=zu,L="onPointerLeave",A="onPointerEnter",w="pointer"),Ee=M==null?E:Cl(M),T=X==null?E:Cl(X),E=new ae(L,w+"leave",M,a,z),E.target=Ee,E.relatedTarget=T,L=null,kn(z)===k&&(ae=new ae(A,w+"enter",X,a,z),ae.target=T,ae.relatedTarget=Ee,L=ae),Ee=L,M&&X)t:{for(ae=Vy,A=M,w=X,T=0,L=A;L;L=ae(L))T++;L=0;for(var ee=w;ee;ee=ae(ee))L++;for(;0<T-L;)A=ae(A),T--;for(;0<L-T;)w=ae(w),L--;for(;T--;){if(A===w||w!==null&&A===w.alternate){ae=A;break t}A=ae(A),w=ae(w)}ae=null}else ae=null;M!==null&&km(U,E,M,ae,!1),X!==null&&Ee!==null&&km(U,Ee,X,ae,!0)}}e:{if(E=k?Cl(k):window,M=E.nodeName&&E.nodeName.toLowerCase(),M==="select"||M==="input"&&E.type==="file")var be=qu;else if(Bu(E))if(Vu)be=ey;else{be=Jh;var W=$h}else M=E.nodeName,!M||M.toLowerCase()!=="input"||E.type!=="checkbox"&&E.type!=="radio"?k&&ps(k.elementType)&&(be=qu):be=Wh;if(be&&(be=be(e,k))){Hu(U,be,a,z);break e}W&&W(e,E,k),e==="focusout"&&k&&E.type==="number"&&k.memoizedProps.value!=null&&ms(E,"number",E.value)}switch(W=k?Cl(k):window,e){case"focusin":(Bu(W)||W.contentEditable==="true")&&(Pn=W,Ns=k,Rl=null);break;case"focusout":Rl=Ns=Pn=null;break;case"mousedown":Ms=!0;break;case"contextmenu":case"mouseup":case"dragend":Ms=!1,$u(U,a,z);break;case"selectionchange":if(ay)break;case"keydown":case"keyup":$u(U,a,z)}var oe;if(As)e:{switch(e){case"compositionstart":var pe="onCompositionStart";break e;case"compositionend":pe="onCompositionEnd";break e;case"compositionupdate":pe="onCompositionUpdate";break e}pe=void 0}else zn?_u(e,a)&&(pe="onCompositionEnd"):e==="keydown"&&a.keyCode===229&&(pe="onCompositionStart");pe&&(Pu&&a.locale!=="ko"&&(zn||pe!=="onCompositionStart"?pe==="onCompositionEnd"&&zn&&(oe=ju()):(ja=z,bs="value"in ja?ja.value:ja.textContent,zn=!0)),W=No(k,pe),0<W.length&&(pe=new Ou(pe,e,null,a,z),U.push({event:pe,listeners:W}),oe?pe.data=oe:(oe=Fu(a),oe!==null&&(pe.data=oe)))),(oe=Ih?Yh(e,a):Qh(e,a))&&(pe=No(k,"onBeforeInput"),0<pe.length&&(W=new Ou("onBeforeInput","beforeinput",null,a,z),U.push({event:W,listeners:pe}),W.data=oe)),Fy(U,e,k,a,z)}Am(U,t)})}function ni(e,t,a){return{instance:e,listener:t,currentTarget:a}}function No(e,t){for(var a=t+"Capture",n=[];e!==null;){var l=e,o=l.stateNode;if(l=l.tag,l!==5&&l!==26&&l!==27||o===null||(l=Al(e,a),l!=null&&n.unshift(ni(e,l,o)),l=Al(e,t),l!=null&&n.push(ni(e,l,o))),e.tag===3)return n;e=e.return}return[]}function Vy(e){if(e===null)return null;do e=e.return;while(e&&e.tag!==5&&e.tag!==27);return e||null}function km(e,t,a,n,l){for(var o=t._reactName,d=[];a!==null&&a!==n;){var p=a,S=p.alternate,k=p.stateNode;if(p=p.tag,S!==null&&S===n)break;p!==5&&p!==26&&p!==27||k===null||(S=k,l?(k=Al(a,o),k!=null&&d.unshift(ni(a,k,S))):l||(k=Al(a,o),k!=null&&d.push(ni(a,k,S)))),a=a.return}d.length!==0&&e.push({event:t,listeners:d})}var Gy=/\r\n?/g,Ky=/\u0000|\uFFFD/g;function Em(e){return(typeof e=="string"?e:""+e).replace(Gy,`
34
+ `).replace(Ky,"")}function Nm(e,t){return t=Em(t),Em(e)===t}function ke(e,t,a,n,l,o){switch(a){case"children":typeof n=="string"?t==="body"||t==="textarea"&&n===""||Dn(e,n):(typeof n=="number"||typeof n=="bigint")&&t!=="body"&&Dn(e,""+n);break;case"className":Di(e,"class",n);break;case"tabIndex":Di(e,"tabindex",n);break;case"dir":case"role":case"viewBox":case"width":case"height":Di(e,a,n);break;case"style":Eu(e,n,o);break;case"data":if(t!=="object"){Di(e,"data",n);break}case"src":case"href":if(n===""&&(t!=="a"||a!=="href")){e.removeAttribute(a);break}if(n==null||typeof n=="function"||typeof n=="symbol"||typeof n=="boolean"){e.removeAttribute(a);break}n=Oi(""+n),e.setAttribute(a,n);break;case"action":case"formAction":if(typeof n=="function"){e.setAttribute(a,"javascript:throw new Error('A React form was unexpectedly submitted. If you called form.submit() manually, consider using form.requestSubmit() instead. If you\\'re trying to use event.stopPropagation() in a submit event handler, consider also calling event.preventDefault().')");break}else typeof o=="function"&&(a==="formAction"?(t!=="input"&&ke(e,t,"name",l.name,l,null),ke(e,t,"formEncType",l.formEncType,l,null),ke(e,t,"formMethod",l.formMethod,l,null),ke(e,t,"formTarget",l.formTarget,l,null)):(ke(e,t,"encType",l.encType,l,null),ke(e,t,"method",l.method,l,null),ke(e,t,"target",l.target,l,null)));if(n==null||typeof n=="symbol"||typeof n=="boolean"){e.removeAttribute(a);break}n=Oi(""+n),e.setAttribute(a,n);break;case"onClick":n!=null&&(e.onclick=sa);break;case"onScroll":n!=null&&ue("scroll",e);break;case"onScrollEnd":n!=null&&ue("scrollend",e);break;case"dangerouslySetInnerHTML":if(n!=null){if(typeof n!="object"||!("__html"in n))throw Error(r(61));if(a=n.__html,a!=null){if(l.children!=null)throw Error(r(60));e.innerHTML=a}}break;case"multiple":e.multiple=n&&typeof n!="function"&&typeof n!="symbol";break;case"muted":e.muted=n&&typeof n!="function"&&typeof n!="symbol";break;case"suppressContentEditableWarning":case"suppressHydrationWarning":case"defaultValue":case"defaultChecked":case"innerHTML":case"ref":break;case"autoFocus":break;case"xlinkHref":if(n==null||typeof n=="function"||typeof n=="boolean"||typeof n=="symbol"){e.removeAttribute("xlink:href");break}a=Oi(""+n),e.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",a);break;case"contentEditable":case"spellCheck":case"draggable":case"value":case"autoReverse":case"externalResourcesRequired":case"focusable":case"preserveAlpha":n!=null&&typeof n!="function"&&typeof n!="symbol"?e.setAttribute(a,""+n):e.removeAttribute(a);break;case"inert":case"allowFullScreen":case"async":case"autoPlay":case"controls":case"default":case"defer":case"disabled":case"disablePictureInPicture":case"disableRemotePlayback":case"formNoValidate":case"hidden":case"loop":case"noModule":case"noValidate":case"open":case"playsInline":case"readOnly":case"required":case"reversed":case"scoped":case"seamless":case"itemScope":n&&typeof n!="function"&&typeof n!="symbol"?e.setAttribute(a,""):e.removeAttribute(a);break;case"capture":case"download":n===!0?e.setAttribute(a,""):n!==!1&&n!=null&&typeof n!="function"&&typeof n!="symbol"?e.setAttribute(a,n):e.removeAttribute(a);break;case"cols":case"rows":case"size":case"span":n!=null&&typeof n!="function"&&typeof n!="symbol"&&!isNaN(n)&&1<=n?e.setAttribute(a,n):e.removeAttribute(a);break;case"rowSpan":case"start":n==null||typeof n=="function"||typeof n=="symbol"||isNaN(n)?e.removeAttribute(a):e.setAttribute(a,n);break;case"popover":ue("beforetoggle",e),ue("toggle",e),ji(e,"popover",n);break;case"xlinkActuate":oa(e,"http://www.w3.org/1999/xlink","xlink:actuate",n);break;case"xlinkArcrole":oa(e,"http://www.w3.org/1999/xlink","xlink:arcrole",n);break;case"xlinkRole":oa(e,"http://www.w3.org/1999/xlink","xlink:role",n);break;case"xlinkShow":oa(e,"http://www.w3.org/1999/xlink","xlink:show",n);break;case"xlinkTitle":oa(e,"http://www.w3.org/1999/xlink","xlink:title",n);break;case"xlinkType":oa(e,"http://www.w3.org/1999/xlink","xlink:type",n);break;case"xmlBase":oa(e,"http://www.w3.org/XML/1998/namespace","xml:base",n);break;case"xmlLang":oa(e,"http://www.w3.org/XML/1998/namespace","xml:lang",n);break;case"xmlSpace":oa(e,"http://www.w3.org/XML/1998/namespace","xml:space",n);break;case"is":ji(e,"is",n);break;case"innerText":case"textContent":break;default:(!(2<a.length)||a[0]!=="o"&&a[0]!=="O"||a[1]!=="n"&&a[1]!=="N")&&(a=bh.get(a)||a,ji(e,a,n))}}function ec(e,t,a,n,l,o){switch(a){case"style":Eu(e,n,o);break;case"dangerouslySetInnerHTML":if(n!=null){if(typeof n!="object"||!("__html"in n))throw Error(r(61));if(a=n.__html,a!=null){if(l.children!=null)throw Error(r(60));e.innerHTML=a}}break;case"children":typeof n=="string"?Dn(e,n):(typeof n=="number"||typeof n=="bigint")&&Dn(e,""+n);break;case"onScroll":n!=null&&ue("scroll",e);break;case"onScrollEnd":n!=null&&ue("scrollend",e);break;case"onClick":n!=null&&(e.onclick=sa);break;case"suppressContentEditableWarning":case"suppressHydrationWarning":case"innerHTML":case"ref":break;case"innerText":case"textContent":break;default:if(!vu.hasOwnProperty(a))e:{if(a[0]==="o"&&a[1]==="n"&&(l=a.endsWith("Capture"),t=a.slice(2,l?a.length-7:void 0),o=e[st]||null,o=o!=null?o[a]:null,typeof o=="function"&&e.removeEventListener(t,o,l),typeof n=="function")){typeof o!="function"&&o!==null&&(a in e?e[a]=null:e.hasAttribute(a)&&e.removeAttribute(a)),e.addEventListener(t,n,l);break e}a in e?e[a]=n:n===!0?e.setAttribute(a,""):ji(e,a,n)}}}function lt(e,t,a){switch(t){case"div":case"span":case"svg":case"path":case"a":case"g":case"p":case"li":break;case"img":ue("error",e),ue("load",e);var n=!1,l=!1,o;for(o in a)if(a.hasOwnProperty(o)){var d=a[o];if(d!=null)switch(o){case"src":n=!0;break;case"srcSet":l=!0;break;case"children":case"dangerouslySetInnerHTML":throw Error(r(137,t));default:ke(e,t,o,d,a,null)}}l&&ke(e,t,"srcSet",a.srcSet,a,null),n&&ke(e,t,"src",a.src,a,null);return;case"input":ue("invalid",e);var p=o=d=l=null,S=null,k=null;for(n in a)if(a.hasOwnProperty(n)){var z=a[n];if(z!=null)switch(n){case"name":l=z;break;case"type":d=z;break;case"checked":S=z;break;case"defaultChecked":k=z;break;case"value":o=z;break;case"defaultValue":p=z;break;case"children":case"dangerouslySetInnerHTML":if(z!=null)throw Error(r(137,t));break;default:ke(e,t,n,z,a,null)}}Cu(e,o,p,S,k,d,l,!1);return;case"select":ue("invalid",e),n=d=o=null;for(l in a)if(a.hasOwnProperty(l)&&(p=a[l],p!=null))switch(l){case"value":o=p;break;case"defaultValue":d=p;break;case"multiple":n=p;default:ke(e,t,l,p,a,null)}t=o,a=d,e.multiple=!!n,t!=null?jn(e,!!n,t,!1):a!=null&&jn(e,!!n,a,!0);return;case"textarea":ue("invalid",e),o=l=n=null;for(d in a)if(a.hasOwnProperty(d)&&(p=a[d],p!=null))switch(d){case"value":n=p;break;case"defaultValue":l=p;break;case"children":o=p;break;case"dangerouslySetInnerHTML":if(p!=null)throw Error(r(91));break;default:ke(e,t,d,p,a,null)}Tu(e,n,l,o);return;case"option":for(S in a)if(a.hasOwnProperty(S)&&(n=a[S],n!=null))switch(S){case"selected":e.selected=n&&typeof n!="function"&&typeof n!="symbol";break;default:ke(e,t,S,n,a,null)}return;case"dialog":ue("beforetoggle",e),ue("toggle",e),ue("cancel",e),ue("close",e);break;case"iframe":case"object":ue("load",e);break;case"video":case"audio":for(n=0;n<ai.length;n++)ue(ai[n],e);break;case"image":ue("error",e),ue("load",e);break;case"details":ue("toggle",e);break;case"embed":case"source":case"link":ue("error",e),ue("load",e);case"area":case"base":case"br":case"col":case"hr":case"keygen":case"meta":case"param":case"track":case"wbr":case"menuitem":for(k in a)if(a.hasOwnProperty(k)&&(n=a[k],n!=null))switch(k){case"children":case"dangerouslySetInnerHTML":throw Error(r(137,t));default:ke(e,t,k,n,a,null)}return;default:if(ps(t)){for(z in a)a.hasOwnProperty(z)&&(n=a[z],n!==void 0&&ec(e,t,z,n,a,void 0));return}}for(p in a)a.hasOwnProperty(p)&&(n=a[p],n!=null&&ke(e,t,p,n,a,null))}function Iy(e,t,a,n){switch(t){case"div":case"span":case"svg":case"path":case"a":case"g":case"p":case"li":break;case"input":var l=null,o=null,d=null,p=null,S=null,k=null,z=null;for(M in a){var U=a[M];if(a.hasOwnProperty(M)&&U!=null)switch(M){case"checked":break;case"value":break;case"defaultValue":S=U;default:n.hasOwnProperty(M)||ke(e,t,M,null,n,U)}}for(var E in n){var M=n[E];if(U=a[E],n.hasOwnProperty(E)&&(M!=null||U!=null))switch(E){case"type":o=M;break;case"name":l=M;break;case"checked":k=M;break;case"defaultChecked":z=M;break;case"value":d=M;break;case"defaultValue":p=M;break;case"children":case"dangerouslySetInnerHTML":if(M!=null)throw Error(r(137,t));break;default:M!==U&&ke(e,t,E,M,n,U)}}fs(e,d,p,S,k,z,o,l);return;case"select":M=d=p=E=null;for(o in a)if(S=a[o],a.hasOwnProperty(o)&&S!=null)switch(o){case"value":break;case"multiple":M=S;default:n.hasOwnProperty(o)||ke(e,t,o,null,n,S)}for(l in n)if(o=n[l],S=a[l],n.hasOwnProperty(l)&&(o!=null||S!=null))switch(l){case"value":E=o;break;case"defaultValue":p=o;break;case"multiple":d=o;default:o!==S&&ke(e,t,l,o,n,S)}t=p,a=d,n=M,E!=null?jn(e,!!a,E,!1):!!n!=!!a&&(t!=null?jn(e,!!a,t,!0):jn(e,!!a,a?[]:"",!1));return;case"textarea":M=E=null;for(p in a)if(l=a[p],a.hasOwnProperty(p)&&l!=null&&!n.hasOwnProperty(p))switch(p){case"value":break;case"children":break;default:ke(e,t,p,null,n,l)}for(d in n)if(l=n[d],o=a[d],n.hasOwnProperty(d)&&(l!=null||o!=null))switch(d){case"value":E=l;break;case"defaultValue":M=l;break;case"children":break;case"dangerouslySetInnerHTML":if(l!=null)throw Error(r(91));break;default:l!==o&&ke(e,t,d,l,n,o)}Au(e,E,M);return;case"option":for(var X in a)if(E=a[X],a.hasOwnProperty(X)&&E!=null&&!n.hasOwnProperty(X))switch(X){case"selected":e.selected=!1;break;default:ke(e,t,X,null,n,E)}for(S in n)if(E=n[S],M=a[S],n.hasOwnProperty(S)&&E!==M&&(E!=null||M!=null))switch(S){case"selected":e.selected=E&&typeof E!="function"&&typeof E!="symbol";break;default:ke(e,t,S,E,n,M)}return;case"img":case"link":case"area":case"base":case"br":case"col":case"embed":case"hr":case"keygen":case"meta":case"param":case"source":case"track":case"wbr":case"menuitem":for(var ae in a)E=a[ae],a.hasOwnProperty(ae)&&E!=null&&!n.hasOwnProperty(ae)&&ke(e,t,ae,null,n,E);for(k in n)if(E=n[k],M=a[k],n.hasOwnProperty(k)&&E!==M&&(E!=null||M!=null))switch(k){case"children":case"dangerouslySetInnerHTML":if(E!=null)throw Error(r(137,t));break;default:ke(e,t,k,E,n,M)}return;default:if(ps(t)){for(var Ee in a)E=a[Ee],a.hasOwnProperty(Ee)&&E!==void 0&&!n.hasOwnProperty(Ee)&&ec(e,t,Ee,void 0,n,E);for(z in n)E=n[z],M=a[z],!n.hasOwnProperty(z)||E===M||E===void 0&&M===void 0||ec(e,t,z,E,n,M);return}}for(var A in a)E=a[A],a.hasOwnProperty(A)&&E!=null&&!n.hasOwnProperty(A)&&ke(e,t,A,null,n,E);for(U in n)E=n[U],M=a[U],!n.hasOwnProperty(U)||E===M||E==null&&M==null||ke(e,t,U,E,n,M)}function Mm(e){switch(e){case"css":case"script":case"font":case"img":case"image":case"input":case"link":return!0;default:return!1}}function Yy(){if(typeof performance.getEntriesByType=="function"){for(var e=0,t=0,a=performance.getEntriesByType("resource"),n=0;n<a.length;n++){var l=a[n],o=l.transferSize,d=l.initiatorType,p=l.duration;if(o&&p&&Mm(d)){for(d=0,p=l.responseEnd,n+=1;n<a.length;n++){var S=a[n],k=S.startTime;if(k>p)break;var z=S.transferSize,U=S.initiatorType;z&&Mm(U)&&(S=S.responseEnd,d+=z*(S<p?1:(p-k)/(S-k)))}if(--n,t+=8*(o+d)/(l.duration/1e3),e++,10<e)break}}if(0<e)return t/e/1e6}return navigator.connection&&(e=navigator.connection.downlink,typeof e=="number")?e:5}var tc=null,ac=null;function Mo(e){return e.nodeType===9?e:e.ownerDocument}function jm(e){switch(e){case"http://www.w3.org/2000/svg":return 1;case"http://www.w3.org/1998/Math/MathML":return 2;default:return 0}}function Dm(e,t){if(e===0)switch(t){case"svg":return 1;case"math":return 2;default:return 0}return e===1&&t==="foreignObject"?0:e}function nc(e,t){return e==="textarea"||e==="noscript"||typeof t.children=="string"||typeof t.children=="number"||typeof t.children=="bigint"||typeof t.dangerouslySetInnerHTML=="object"&&t.dangerouslySetInnerHTML!==null&&t.dangerouslySetInnerHTML.__html!=null}var lc=null;function Qy(){var e=window.event;return e&&e.type==="popstate"?e===lc?!1:(lc=e,!0):(lc=null,!1)}var Rm=typeof setTimeout=="function"?setTimeout:void 0,Xy=typeof clearTimeout=="function"?clearTimeout:void 0,Om=typeof Promise=="function"?Promise:void 0,Zy=typeof queueMicrotask=="function"?queueMicrotask:typeof Om<"u"?function(e){return Om.resolve(null).then(e).catch($y)}:Rm;function $y(e){setTimeout(function(){throw e})}function Ya(e){return e==="head"}function zm(e,t){var a=t,n=0;do{var l=a.nextSibling;if(e.removeChild(a),l&&l.nodeType===8)if(a=l.data,a==="/$"||a==="/&"){if(n===0){e.removeChild(l),rl(t);return}n--}else if(a==="$"||a==="$?"||a==="$~"||a==="$!"||a==="&")n++;else if(a==="html")li(e.ownerDocument.documentElement);else if(a==="head"){a=e.ownerDocument.head,li(a);for(var o=a.firstChild;o;){var d=o.nextSibling,p=o.nodeName;o[wl]||p==="SCRIPT"||p==="STYLE"||p==="LINK"&&o.rel.toLowerCase()==="stylesheet"||a.removeChild(o),o=d}}else a==="body"&&li(e.ownerDocument.body);a=l}while(a);rl(t)}function Pm(e,t){var a=e;e=0;do{var n=a.nextSibling;if(a.nodeType===1?t?(a._stashedDisplay=a.style.display,a.style.display="none"):(a.style.display=a._stashedDisplay||"",a.getAttribute("style")===""&&a.removeAttribute("style")):a.nodeType===3&&(t?(a._stashedText=a.nodeValue,a.nodeValue=""):a.nodeValue=a._stashedText||""),n&&n.nodeType===8)if(a=n.data,a==="/$"){if(e===0)break;e--}else a!=="$"&&a!=="$?"&&a!=="$~"&&a!=="$!"||e++;a=n}while(a)}function ic(e){var t=e.firstChild;for(t&&t.nodeType===10&&(t=t.nextSibling);t;){var a=t;switch(t=t.nextSibling,a.nodeName){case"HTML":case"HEAD":case"BODY":ic(a),us(a);continue;case"SCRIPT":case"STYLE":continue;case"LINK":if(a.rel.toLowerCase()==="stylesheet")continue}e.removeChild(a)}}function Jy(e,t,a,n){for(;e.nodeType===1;){var l=a;if(e.nodeName.toLowerCase()!==t.toLowerCase()){if(!n&&(e.nodeName!=="INPUT"||e.type!=="hidden"))break}else if(n){if(!e[wl])switch(t){case"meta":if(!e.hasAttribute("itemprop"))break;return e;case"link":if(o=e.getAttribute("rel"),o==="stylesheet"&&e.hasAttribute("data-precedence"))break;if(o!==l.rel||e.getAttribute("href")!==(l.href==null||l.href===""?null:l.href)||e.getAttribute("crossorigin")!==(l.crossOrigin==null?null:l.crossOrigin)||e.getAttribute("title")!==(l.title==null?null:l.title))break;return e;case"style":if(e.hasAttribute("data-precedence"))break;return e;case"script":if(o=e.getAttribute("src"),(o!==(l.src==null?null:l.src)||e.getAttribute("type")!==(l.type==null?null:l.type)||e.getAttribute("crossorigin")!==(l.crossOrigin==null?null:l.crossOrigin))&&o&&e.hasAttribute("async")&&!e.hasAttribute("itemprop"))break;return e;default:return e}}else if(t==="input"&&e.type==="hidden"){var o=l.name==null?null:""+l.name;if(l.type==="hidden"&&e.getAttribute("name")===o)return e}else return e;if(e=Lt(e.nextSibling),e===null)break}return null}function Wy(e,t,a){if(t==="")return null;for(;e.nodeType!==3;)if((e.nodeType!==1||e.nodeName!=="INPUT"||e.type!=="hidden")&&!a||(e=Lt(e.nextSibling),e===null))return null;return e}function Lm(e,t){for(;e.nodeType!==8;)if((e.nodeType!==1||e.nodeName!=="INPUT"||e.type!=="hidden")&&!t||(e=Lt(e.nextSibling),e===null))return null;return e}function oc(e){return e.data==="$?"||e.data==="$~"}function sc(e){return e.data==="$!"||e.data==="$?"&&e.ownerDocument.readyState!=="loading"}function ev(e,t){var a=e.ownerDocument;if(e.data==="$~")e._reactRetry=t;else if(e.data!=="$?"||a.readyState!=="loading")t();else{var n=function(){t(),a.removeEventListener("DOMContentLoaded",n)};a.addEventListener("DOMContentLoaded",n),e._reactRetry=n}}function Lt(e){for(;e!=null;e=e.nextSibling){var t=e.nodeType;if(t===1||t===3)break;if(t===8){if(t=e.data,t==="$"||t==="$!"||t==="$?"||t==="$~"||t==="&"||t==="F!"||t==="F")break;if(t==="/$"||t==="/&")return null}}return e}var rc=null;function Um(e){e=e.nextSibling;for(var t=0;e;){if(e.nodeType===8){var a=e.data;if(a==="/$"||a==="/&"){if(t===0)return Lt(e.nextSibling);t--}else a!=="$"&&a!=="$!"&&a!=="$?"&&a!=="$~"&&a!=="&"||t++}e=e.nextSibling}return null}function _m(e){e=e.previousSibling;for(var t=0;e;){if(e.nodeType===8){var a=e.data;if(a==="$"||a==="$!"||a==="$?"||a==="$~"||a==="&"){if(t===0)return e;t--}else a!=="/$"&&a!=="/&"||t++}e=e.previousSibling}return null}function Fm(e,t,a){switch(t=Mo(a),e){case"html":if(e=t.documentElement,!e)throw Error(r(452));return e;case"head":if(e=t.head,!e)throw Error(r(453));return e;case"body":if(e=t.body,!e)throw Error(r(454));return e;default:throw Error(r(451))}}function li(e){for(var t=e.attributes;t.length;)e.removeAttributeNode(t[0]);us(e)}var Ut=new Map,Bm=new Set;function jo(e){return typeof e.getRootNode=="function"?e.getRootNode():e.nodeType===9?e:e.ownerDocument}var Ca=K.d;K.d={f:tv,r:av,D:nv,C:lv,L:iv,m:ov,X:rv,S:sv,M:cv};function tv(){var e=Ca.f(),t=xo();return e||t}function av(e){var t=En(e);t!==null&&t.tag===5&&t.type==="form"?af(t):Ca.r(e)}var il=typeof document>"u"?null:document;function Hm(e,t,a){var n=il;if(n&&typeof t=="string"&&t){var l=Mt(t);l='link[rel="'+e+'"][href="'+l+'"]',typeof a=="string"&&(l+='[crossorigin="'+a+'"]'),Bm.has(l)||(Bm.add(l),e={rel:e,crossOrigin:a,href:t},n.querySelector(l)===null&&(t=n.createElement("link"),lt(t,"link",e),Xe(t),n.head.appendChild(t)))}}function nv(e){Ca.D(e),Hm("dns-prefetch",e,null)}function lv(e,t){Ca.C(e,t),Hm("preconnect",e,t)}function iv(e,t,a){Ca.L(e,t,a);var n=il;if(n&&e&&t){var l='link[rel="preload"][as="'+Mt(t)+'"]';t==="image"&&a&&a.imageSrcSet?(l+='[imagesrcset="'+Mt(a.imageSrcSet)+'"]',typeof a.imageSizes=="string"&&(l+='[imagesizes="'+Mt(a.imageSizes)+'"]')):l+='[href="'+Mt(e)+'"]';var o=l;switch(t){case"style":o=ol(e);break;case"script":o=sl(e)}Ut.has(o)||(e=C({rel:"preload",href:t==="image"&&a&&a.imageSrcSet?void 0:e,as:t},a),Ut.set(o,e),n.querySelector(l)!==null||t==="style"&&n.querySelector(ii(o))||t==="script"&&n.querySelector(oi(o))||(t=n.createElement("link"),lt(t,"link",e),Xe(t),n.head.appendChild(t)))}}function ov(e,t){Ca.m(e,t);var a=il;if(a&&e){var n=t&&typeof t.as=="string"?t.as:"script",l='link[rel="modulepreload"][as="'+Mt(n)+'"][href="'+Mt(e)+'"]',o=l;switch(n){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":o=sl(e)}if(!Ut.has(o)&&(e=C({rel:"modulepreload",href:e},t),Ut.set(o,e),a.querySelector(l)===null)){switch(n){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":if(a.querySelector(oi(o)))return}n=a.createElement("link"),lt(n,"link",e),Xe(n),a.head.appendChild(n)}}}function sv(e,t,a){Ca.S(e,t,a);var n=il;if(n&&e){var l=Nn(n).hoistableStyles,o=ol(e);t=t||"default";var d=l.get(o);if(!d){var p={loading:0,preload:null};if(d=n.querySelector(ii(o)))p.loading=5;else{e=C({rel:"stylesheet",href:e,"data-precedence":t},a),(a=Ut.get(o))&&cc(e,a);var S=d=n.createElement("link");Xe(S),lt(S,"link",e),S._p=new Promise(function(k,z){S.onload=k,S.onerror=z}),S.addEventListener("load",function(){p.loading|=1}),S.addEventListener("error",function(){p.loading|=2}),p.loading|=4,Do(d,t,n)}d={type:"stylesheet",instance:d,count:1,state:p},l.set(o,d)}}}function rv(e,t){Ca.X(e,t);var a=il;if(a&&e){var n=Nn(a).hoistableScripts,l=sl(e),o=n.get(l);o||(o=a.querySelector(oi(l)),o||(e=C({src:e,async:!0},t),(t=Ut.get(l))&&uc(e,t),o=a.createElement("script"),Xe(o),lt(o,"link",e),a.head.appendChild(o)),o={type:"script",instance:o,count:1,state:null},n.set(l,o))}}function cv(e,t){Ca.M(e,t);var a=il;if(a&&e){var n=Nn(a).hoistableScripts,l=sl(e),o=n.get(l);o||(o=a.querySelector(oi(l)),o||(e=C({src:e,async:!0,type:"module"},t),(t=Ut.get(l))&&uc(e,t),o=a.createElement("script"),Xe(o),lt(o,"link",e),a.head.appendChild(o)),o={type:"script",instance:o,count:1,state:null},n.set(l,o))}}function qm(e,t,a,n){var l=(l=pt.current)?jo(l):null;if(!l)throw Error(r(446));switch(e){case"meta":case"title":return null;case"style":return typeof a.precedence=="string"&&typeof a.href=="string"?(t=ol(a.href),a=Nn(l).hoistableStyles,n=a.get(t),n||(n={type:"style",instance:null,count:0,state:null},a.set(t,n)),n):{type:"void",instance:null,count:0,state:null};case"link":if(a.rel==="stylesheet"&&typeof a.href=="string"&&typeof a.precedence=="string"){e=ol(a.href);var o=Nn(l).hoistableStyles,d=o.get(e);if(d||(l=l.ownerDocument||l,d={type:"stylesheet",instance:null,count:0,state:{loading:0,preload:null}},o.set(e,d),(o=l.querySelector(ii(e)))&&!o._p&&(d.instance=o,d.state.loading=5),Ut.has(e)||(a={rel:"preload",as:"style",href:a.href,crossOrigin:a.crossOrigin,integrity:a.integrity,media:a.media,hrefLang:a.hrefLang,referrerPolicy:a.referrerPolicy},Ut.set(e,a),o||uv(l,e,a,d.state))),t&&n===null)throw Error(r(528,""));return d}if(t&&n!==null)throw Error(r(529,""));return null;case"script":return t=a.async,a=a.src,typeof a=="string"&&t&&typeof t!="function"&&typeof t!="symbol"?(t=sl(a),a=Nn(l).hoistableScripts,n=a.get(t),n||(n={type:"script",instance:null,count:0,state:null},a.set(t,n)),n):{type:"void",instance:null,count:0,state:null};default:throw Error(r(444,e))}}function ol(e){return'href="'+Mt(e)+'"'}function ii(e){return'link[rel="stylesheet"]['+e+"]"}function Vm(e){return C({},e,{"data-precedence":e.precedence,precedence:null})}function uv(e,t,a,n){e.querySelector('link[rel="preload"][as="style"]['+t+"]")?n.loading=1:(t=e.createElement("link"),n.preload=t,t.addEventListener("load",function(){return n.loading|=1}),t.addEventListener("error",function(){return n.loading|=2}),lt(t,"link",a),Xe(t),e.head.appendChild(t))}function sl(e){return'[src="'+Mt(e)+'"]'}function oi(e){return"script[async]"+e}function Gm(e,t,a){if(t.count++,t.instance===null)switch(t.type){case"style":var n=e.querySelector('style[data-href~="'+Mt(a.href)+'"]');if(n)return t.instance=n,Xe(n),n;var l=C({},a,{"data-href":a.href,"data-precedence":a.precedence,href:null,precedence:null});return n=(e.ownerDocument||e).createElement("style"),Xe(n),lt(n,"style",l),Do(n,a.precedence,e),t.instance=n;case"stylesheet":l=ol(a.href);var o=e.querySelector(ii(l));if(o)return t.state.loading|=4,t.instance=o,Xe(o),o;n=Vm(a),(l=Ut.get(l))&&cc(n,l),o=(e.ownerDocument||e).createElement("link"),Xe(o);var d=o;return d._p=new Promise(function(p,S){d.onload=p,d.onerror=S}),lt(o,"link",n),t.state.loading|=4,Do(o,a.precedence,e),t.instance=o;case"script":return o=sl(a.src),(l=e.querySelector(oi(o)))?(t.instance=l,Xe(l),l):(n=a,(l=Ut.get(o))&&(n=C({},a),uc(n,l)),e=e.ownerDocument||e,l=e.createElement("script"),Xe(l),lt(l,"link",n),e.head.appendChild(l),t.instance=l);case"void":return null;default:throw Error(r(443,t.type))}else t.type==="stylesheet"&&(t.state.loading&4)===0&&(n=t.instance,t.state.loading|=4,Do(n,a.precedence,e));return t.instance}function Do(e,t,a){for(var n=a.querySelectorAll('link[rel="stylesheet"][data-precedence],style[data-precedence]'),l=n.length?n[n.length-1]:null,o=l,d=0;d<n.length;d++){var p=n[d];if(p.dataset.precedence===t)o=p;else if(o!==l)break}o?o.parentNode.insertBefore(e,o.nextSibling):(t=a.nodeType===9?a.head:a,t.insertBefore(e,t.firstChild))}function cc(e,t){e.crossOrigin==null&&(e.crossOrigin=t.crossOrigin),e.referrerPolicy==null&&(e.referrerPolicy=t.referrerPolicy),e.title==null&&(e.title=t.title)}function uc(e,t){e.crossOrigin==null&&(e.crossOrigin=t.crossOrigin),e.referrerPolicy==null&&(e.referrerPolicy=t.referrerPolicy),e.integrity==null&&(e.integrity=t.integrity)}var Ro=null;function Km(e,t,a){if(Ro===null){var n=new Map,l=Ro=new Map;l.set(a,n)}else l=Ro,n=l.get(a),n||(n=new Map,l.set(a,n));if(n.has(e))return n;for(n.set(e,null),a=a.getElementsByTagName(e),l=0;l<a.length;l++){var o=a[l];if(!(o[wl]||o[et]||e==="link"&&o.getAttribute("rel")==="stylesheet")&&o.namespaceURI!=="http://www.w3.org/2000/svg"){var d=o.getAttribute(t)||"";d=e+d;var p=n.get(d);p?p.push(o):n.set(d,[o])}}return n}function Im(e,t,a){e=e.ownerDocument||e,e.head.insertBefore(a,t==="title"?e.querySelector("head > title"):null)}function dv(e,t,a){if(a===1||t.itemProp!=null)return!1;switch(e){case"meta":case"title":return!0;case"style":if(typeof t.precedence!="string"||typeof t.href!="string"||t.href==="")break;return!0;case"link":if(typeof t.rel!="string"||typeof t.href!="string"||t.href===""||t.onLoad||t.onError)break;switch(t.rel){case"stylesheet":return e=t.disabled,typeof t.precedence=="string"&&e==null;default:return!0}case"script":if(t.async&&typeof t.async!="function"&&typeof t.async!="symbol"&&!t.onLoad&&!t.onError&&t.src&&typeof t.src=="string")return!0}return!1}function Ym(e){return!(e.type==="stylesheet"&&(e.state.loading&3)===0)}function fv(e,t,a,n){if(a.type==="stylesheet"&&(typeof n.media!="string"||matchMedia(n.media).matches!==!1)&&(a.state.loading&4)===0){if(a.instance===null){var l=ol(n.href),o=t.querySelector(ii(l));if(o){t=o._p,t!==null&&typeof t=="object"&&typeof t.then=="function"&&(e.count++,e=Oo.bind(e),t.then(e,e)),a.state.loading|=4,a.instance=o,Xe(o);return}o=t.ownerDocument||t,n=Vm(n),(l=Ut.get(l))&&cc(n,l),o=o.createElement("link"),Xe(o);var d=o;d._p=new Promise(function(p,S){d.onload=p,d.onerror=S}),lt(o,"link",n),a.instance=o}e.stylesheets===null&&(e.stylesheets=new Map),e.stylesheets.set(a,t),(t=a.state.preload)&&(a.state.loading&3)===0&&(e.count++,a=Oo.bind(e),t.addEventListener("load",a),t.addEventListener("error",a))}}var dc=0;function mv(e,t){return e.stylesheets&&e.count===0&&Po(e,e.stylesheets),0<e.count||0<e.imgCount?function(a){var n=setTimeout(function(){if(e.stylesheets&&Po(e,e.stylesheets),e.unsuspend){var o=e.unsuspend;e.unsuspend=null,o()}},6e4+t);0<e.imgBytes&&dc===0&&(dc=62500*Yy());var l=setTimeout(function(){if(e.waitingForImages=!1,e.count===0&&(e.stylesheets&&Po(e,e.stylesheets),e.unsuspend)){var o=e.unsuspend;e.unsuspend=null,o()}},(e.imgBytes>dc?50:800)+t);return e.unsuspend=a,function(){e.unsuspend=null,clearTimeout(n),clearTimeout(l)}}:null}function Oo(){if(this.count--,this.count===0&&(this.imgCount===0||!this.waitingForImages)){if(this.stylesheets)Po(this,this.stylesheets);else if(this.unsuspend){var e=this.unsuspend;this.unsuspend=null,e()}}}var zo=null;function Po(e,t){e.stylesheets=null,e.unsuspend!==null&&(e.count++,zo=new Map,t.forEach(pv,e),zo=null,Oo.call(e))}function pv(e,t){if(!(t.state.loading&4)){var a=zo.get(e);if(a)var n=a.get(null);else{a=new Map,zo.set(e,a);for(var l=e.querySelectorAll("link[data-precedence],style[data-precedence]"),o=0;o<l.length;o++){var d=l[o];(d.nodeName==="LINK"||d.getAttribute("media")!=="not all")&&(a.set(d.dataset.precedence,d),n=d)}n&&a.set(null,n)}l=t.instance,d=l.getAttribute("data-precedence"),o=a.get(d)||n,o===n&&a.set(null,l),a.set(d,l),this.count++,n=Oo.bind(this),l.addEventListener("load",n),l.addEventListener("error",n),o?o.parentNode.insertBefore(l,o.nextSibling):(e=e.nodeType===9?e.head:e,e.insertBefore(l,e.firstChild)),t.state.loading|=4}}var si={$$typeof:G,Provider:null,Consumer:null,_currentValue:q,_currentValue2:q,_threadCount:0};function gv(e,t,a,n,l,o,d,p,S){this.tag=1,this.containerInfo=e,this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=-1,this.callbackNode=this.next=this.pendingContext=this.context=this.cancelPendingCommit=null,this.callbackPriority=0,this.expirationTimes=os(-1),this.entangledLanes=this.shellSuspendCounter=this.errorRecoveryDisabledLanes=this.expiredLanes=this.warmLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=os(0),this.hiddenUpdates=os(null),this.identifierPrefix=n,this.onUncaughtError=l,this.onCaughtError=o,this.onRecoverableError=d,this.pooledCache=null,this.pooledCacheLanes=0,this.formState=S,this.incompleteTransitions=new Map}function Qm(e,t,a,n,l,o,d,p,S,k,z,U){return e=new gv(e,t,a,d,S,k,z,U,p),t=1,o===!0&&(t|=24),o=xt(3,null,null,t),e.current=o,o.stateNode=e,t=Gs(),t.refCount++,e.pooledCache=t,t.refCount++,o.memoizedState={element:n,isDehydrated:a,cache:t},Qs(o),e}function Xm(e){return e?(e=_n,e):_n}function Zm(e,t,a,n,l,o){l=Xm(l),n.context===null?n.context=l:n.pendingContext=l,n=La(t),n.payload={element:a},o=o===void 0?null:o,o!==null&&(n.callback=o),a=Ua(e,n,t),a!==null&&(mt(a,e,t),Fl(a,e,t))}function $m(e,t){if(e=e.memoizedState,e!==null&&e.dehydrated!==null){var a=e.retryLane;e.retryLane=a!==0&&a<t?a:t}}function fc(e,t){$m(e,t),(e=e.alternate)&&$m(e,t)}function Jm(e){if(e.tag===13||e.tag===31){var t=rn(e,67108864);t!==null&&mt(t,e,67108864),fc(e,67108864)}}function Wm(e){if(e.tag===13||e.tag===31){var t=kt();t=ss(t);var a=rn(e,t);a!==null&&mt(a,e,t),fc(e,t)}}var Lo=!0;function hv(e,t,a,n){var l=j.T;j.T=null;var o=K.p;try{K.p=2,mc(e,t,a,n)}finally{K.p=o,j.T=l}}function yv(e,t,a,n){var l=j.T;j.T=null;var o=K.p;try{K.p=8,mc(e,t,a,n)}finally{K.p=o,j.T=l}}function mc(e,t,a,n){if(Lo){var l=pc(n);if(l===null)Wr(e,t,n,Uo,a),tp(e,n);else if(bv(l,e,t,a,n))n.stopPropagation();else if(tp(e,n),t&4&&-1<vv.indexOf(e)){for(;l!==null;){var o=En(l);if(o!==null)switch(o.tag){case 3:if(o=o.stateNode,o.current.memoizedState.isDehydrated){var d=an(o.pendingLanes);if(d!==0){var p=o;for(p.pendingLanes|=2,p.entangledLanes|=2;d;){var S=1<<31-bt(d);p.entanglements[1]|=S,d&=~S}ea(o),(xe&6)===0&&(bo=yt()+500,ti(0))}}break;case 31:case 13:p=rn(o,2),p!==null&&mt(p,o,2),xo(),fc(o,2)}if(o=pc(n),o===null&&Wr(e,t,n,Uo,a),o===l)break;l=o}l!==null&&n.stopPropagation()}else Wr(e,t,n,null,a)}}function pc(e){return e=hs(e),gc(e)}var Uo=null;function gc(e){if(Uo=null,e=kn(e),e!==null){var t=m(e);if(t===null)e=null;else{var a=t.tag;if(a===13){if(e=y(t),e!==null)return e;e=null}else if(a===31){if(e=b(t),e!==null)return e;e=null}else if(a===3){if(t.stateNode.current.memoizedState.isDehydrated)return t.tag===3?t.stateNode.containerInfo:null;e=null}else t!==e&&(e=null)}}return Uo=e,null}function ep(e){switch(e){case"beforetoggle":case"cancel":case"click":case"close":case"contextmenu":case"copy":case"cut":case"auxclick":case"dblclick":case"dragend":case"dragstart":case"drop":case"focusin":case"focusout":case"input":case"invalid":case"keydown":case"keypress":case"keyup":case"mousedown":case"mouseup":case"paste":case"pause":case"play":case"pointercancel":case"pointerdown":case"pointerup":case"ratechange":case"reset":case"resize":case"seeked":case"submit":case"toggle":case"touchcancel":case"touchend":case"touchstart":case"volumechange":case"change":case"selectionchange":case"textInput":case"compositionstart":case"compositionend":case"compositionupdate":case"beforeblur":case"afterblur":case"beforeinput":case"blur":case"fullscreenchange":case"focus":case"hashchange":case"popstate":case"select":case"selectstart":return 2;case"drag":case"dragenter":case"dragexit":case"dragleave":case"dragover":case"mousemove":case"mouseout":case"mouseover":case"pointermove":case"pointerout":case"pointerover":case"scroll":case"touchmove":case"wheel":case"mouseenter":case"mouseleave":case"pointerenter":case"pointerleave":return 8;case"message":switch(nh()){case su:return 2;case ru:return 8;case Ti:case lh:return 32;case cu:return 268435456;default:return 32}default:return 32}}var hc=!1,Qa=null,Xa=null,Za=null,ri=new Map,ci=new Map,$a=[],vv="mousedown mouseup touchcancel touchend touchstart auxclick dblclick pointercancel pointerdown pointerup dragend dragstart drop compositionend compositionstart keydown keypress keyup input textInput copy cut paste click change contextmenu reset".split(" ");function tp(e,t){switch(e){case"focusin":case"focusout":Qa=null;break;case"dragenter":case"dragleave":Xa=null;break;case"mouseover":case"mouseout":Za=null;break;case"pointerover":case"pointerout":ri.delete(t.pointerId);break;case"gotpointercapture":case"lostpointercapture":ci.delete(t.pointerId)}}function ui(e,t,a,n,l,o){return e===null||e.nativeEvent!==o?(e={blockedOn:t,domEventName:a,eventSystemFlags:n,nativeEvent:o,targetContainers:[l]},t!==null&&(t=En(t),t!==null&&Jm(t)),e):(e.eventSystemFlags|=n,t=e.targetContainers,l!==null&&t.indexOf(l)===-1&&t.push(l),e)}function bv(e,t,a,n,l){switch(t){case"focusin":return Qa=ui(Qa,e,t,a,n,l),!0;case"dragenter":return Xa=ui(Xa,e,t,a,n,l),!0;case"mouseover":return Za=ui(Za,e,t,a,n,l),!0;case"pointerover":var o=l.pointerId;return ri.set(o,ui(ri.get(o)||null,e,t,a,n,l)),!0;case"gotpointercapture":return o=l.pointerId,ci.set(o,ui(ci.get(o)||null,e,t,a,n,l)),!0}return!1}function ap(e){var t=kn(e.target);if(t!==null){var a=m(t);if(a!==null){if(t=a.tag,t===13){if(t=y(a),t!==null){e.blockedOn=t,gu(e.priority,function(){Wm(a)});return}}else if(t===31){if(t=b(a),t!==null){e.blockedOn=t,gu(e.priority,function(){Wm(a)});return}}else if(t===3&&a.stateNode.current.memoizedState.isDehydrated){e.blockedOn=a.tag===3?a.stateNode.containerInfo:null;return}}}e.blockedOn=null}function _o(e){if(e.blockedOn!==null)return!1;for(var t=e.targetContainers;0<t.length;){var a=pc(e.nativeEvent);if(a===null){a=e.nativeEvent;var n=new a.constructor(a.type,a);gs=n,a.target.dispatchEvent(n),gs=null}else return t=En(a),t!==null&&Jm(t),e.blockedOn=a,!1;t.shift()}return!0}function np(e,t,a){_o(e)&&a.delete(t)}function Sv(){hc=!1,Qa!==null&&_o(Qa)&&(Qa=null),Xa!==null&&_o(Xa)&&(Xa=null),Za!==null&&_o(Za)&&(Za=null),ri.forEach(np),ci.forEach(np)}function Fo(e,t){e.blockedOn===t&&(e.blockedOn=null,hc||(hc=!0,i.unstable_scheduleCallback(i.unstable_NormalPriority,Sv)))}var Bo=null;function lp(e){Bo!==e&&(Bo=e,i.unstable_scheduleCallback(i.unstable_NormalPriority,function(){Bo===e&&(Bo=null);for(var t=0;t<e.length;t+=3){var a=e[t],n=e[t+1],l=e[t+2];if(typeof n!="function"){if(gc(n||a)===null)continue;break}var o=En(a);o!==null&&(e.splice(t,3),t-=3,pr(o,{pending:!0,data:l,method:a.method,action:n},n,l))}}))}function rl(e){function t(S){return Fo(S,e)}Qa!==null&&Fo(Qa,e),Xa!==null&&Fo(Xa,e),Za!==null&&Fo(Za,e),ri.forEach(t),ci.forEach(t);for(var a=0;a<$a.length;a++){var n=$a[a];n.blockedOn===e&&(n.blockedOn=null)}for(;0<$a.length&&(a=$a[0],a.blockedOn===null);)ap(a),a.blockedOn===null&&$a.shift();if(a=(e.ownerDocument||e).$$reactFormReplay,a!=null)for(n=0;n<a.length;n+=3){var l=a[n],o=a[n+1],d=l[st]||null;if(typeof o=="function")d||lp(a);else if(d){var p=null;if(o&&o.hasAttribute("formAction")){if(l=o,d=o[st]||null)p=d.formAction;else if(gc(l)!==null)continue}else p=d.action;typeof p=="function"?a[n+1]=p:(a.splice(n,3),n-=3),lp(a)}}}function ip(){function e(o){o.canIntercept&&o.info==="react-transition"&&o.intercept({handler:function(){return new Promise(function(d){return l=d})},focusReset:"manual",scroll:"manual"})}function t(){l!==null&&(l(),l=null),n||setTimeout(a,20)}function a(){if(!n&&!navigation.transition){var o=navigation.currentEntry;o&&o.url!=null&&navigation.navigate(o.url,{state:o.getState(),info:"react-transition",history:"replace"})}}if(typeof navigation=="object"){var n=!1,l=null;return navigation.addEventListener("navigate",e),navigation.addEventListener("navigatesuccess",t),navigation.addEventListener("navigateerror",t),setTimeout(a,100),function(){n=!0,navigation.removeEventListener("navigate",e),navigation.removeEventListener("navigatesuccess",t),navigation.removeEventListener("navigateerror",t),l!==null&&(l(),l=null)}}}function yc(e){this._internalRoot=e}Ho.prototype.render=yc.prototype.render=function(e){var t=this._internalRoot;if(t===null)throw Error(r(409));var a=t.current,n=kt();Zm(a,n,e,t,null,null)},Ho.prototype.unmount=yc.prototype.unmount=function(){var e=this._internalRoot;if(e!==null){this._internalRoot=null;var t=e.containerInfo;Zm(e.current,2,null,e,null,null),xo(),t[Tn]=null}};function Ho(e){this._internalRoot=e}Ho.prototype.unstable_scheduleHydration=function(e){if(e){var t=pu();e={blockedOn:null,target:e,priority:t};for(var a=0;a<$a.length&&t!==0&&t<$a[a].priority;a++);$a.splice(a,0,e),a===0&&ap(e)}};var op=c.version;if(op!=="19.2.0")throw Error(r(527,op,"19.2.0"));K.findDOMNode=function(e){var t=e._reactInternals;if(t===void 0)throw typeof e.render=="function"?Error(r(188)):(e=Object.keys(e).join(","),Error(r(268,e)));return e=g(t),e=e!==null?x(e):null,e=e===null?null:e.stateNode,e};var xv={bundleType:0,version:"19.2.0",rendererPackageName:"react-dom",currentDispatcherRef:j,reconcilerVersion:"19.2.0"};if(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__<"u"){var qo=__REACT_DEVTOOLS_GLOBAL_HOOK__;if(!qo.isDisabled&&qo.supportsFiber)try{bl=qo.inject(xv),vt=qo}catch{}}return di.createRoot=function(e,t){if(!f(e))throw Error(r(299));var a=!1,n="",l=mf,o=pf,d=gf;return t!=null&&(t.unstable_strictMode===!0&&(a=!0),t.identifierPrefix!==void 0&&(n=t.identifierPrefix),t.onUncaughtError!==void 0&&(l=t.onUncaughtError),t.onCaughtError!==void 0&&(o=t.onCaughtError),t.onRecoverableError!==void 0&&(d=t.onRecoverableError)),t=Qm(e,1,!1,null,null,a,n,null,l,o,d,ip),e[Tn]=t.current,Jr(e),new yc(t)},di.hydrateRoot=function(e,t,a){if(!f(e))throw Error(r(299));var n=!1,l="",o=mf,d=pf,p=gf,S=null;return a!=null&&(a.unstable_strictMode===!0&&(n=!0),a.identifierPrefix!==void 0&&(l=a.identifierPrefix),a.onUncaughtError!==void 0&&(o=a.onUncaughtError),a.onCaughtError!==void 0&&(d=a.onCaughtError),a.onRecoverableError!==void 0&&(p=a.onRecoverableError),a.formState!==void 0&&(S=a.formState)),t=Qm(e,1,!0,t,a??null,n,l,S,o,d,p,ip),t.context=Xm(null),a=t.current,n=kt(),n=ss(n),l=La(n),l.callback=null,Ua(a,l,n),a=n,t.current.lanes=a,xl(t,a),ea(t),e[Tn]=t.current,Jr(e),new Ho(t)},di.version="19.2.0",di}var yp;function hb(){if(yp)return bc.exports;yp=1;function i(){if(!(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(i)}catch(c){console.error(c)}}return i(),bc.exports=gb(),bc.exports}var yb=hb();/**
35
+ * react-router v7.9.4
36
+ *
37
+ * Copyright (c) Remix Software Inc.
38
+ *
39
+ * This source code is licensed under the MIT license found in the
40
+ * LICENSE.md file in the root directory of this source tree.
41
+ *
42
+ * @license MIT
43
+ */var vp="popstate";function vb(i={}){function c(r,f){let{pathname:m,search:y,hash:b}=r.location;return Oc("",{pathname:m,search:y,hash:b},f.state&&f.state.usr||null,f.state&&f.state.key||"default")}function s(r,f){return typeof f=="string"?f:hi(f)}return Sb(c,s,null,i)}function Pe(i,c){if(i===!1||i===null||typeof i>"u")throw new Error(c)}function Ft(i,c){if(!i){typeof console<"u"&&console.warn(c);try{throw new Error(c)}catch{}}}function bb(){return Math.random().toString(36).substring(2,10)}function bp(i,c){return{usr:i.state,key:i.key,idx:c}}function Oc(i,c,s=null,r){return{pathname:typeof i=="string"?i:i.pathname,search:"",hash:"",...typeof c=="string"?ml(c):c,state:s,key:c&&c.key||r||bb()}}function hi({pathname:i="/",search:c="",hash:s=""}){return c&&c!=="?"&&(i+=c.charAt(0)==="?"?c:"?"+c),s&&s!=="#"&&(i+=s.charAt(0)==="#"?s:"#"+s),i}function ml(i){let c={};if(i){let s=i.indexOf("#");s>=0&&(c.hash=i.substring(s),i=i.substring(0,s));let r=i.indexOf("?");r>=0&&(c.search=i.substring(r),i=i.substring(0,r)),i&&(c.pathname=i)}return c}function Sb(i,c,s,r={}){let{window:f=document.defaultView,v5Compat:m=!1}=r,y=f.history,b="POP",v=null,g=x();g==null&&(g=0,y.replaceState({...y.state,idx:g},""));function x(){return(y.state||{idx:null}).idx}function C(){b="POP";let N=x(),B=N==null?null:N-g;g=N,v&&v({action:b,location:R.location,delta:B})}function D(N,B){b="PUSH";let P=Oc(R.location,N,B);g=x()+1;let G=bp(P,g),Z=R.createHref(P);try{y.pushState(G,"",Z)}catch(I){if(I instanceof DOMException&&I.name==="DataCloneError")throw I;f.location.assign(Z)}m&&v&&v({action:b,location:R.location,delta:1})}function H(N,B){b="REPLACE";let P=Oc(R.location,N,B);g=x();let G=bp(P,g),Z=R.createHref(P);y.replaceState(G,"",Z),m&&v&&v({action:b,location:R.location,delta:0})}function O(N){return xb(N)}let R={get action(){return b},get location(){return i(f,y)},listen(N){if(v)throw new Error("A history only accepts one active listener");return f.addEventListener(vp,C),v=N,()=>{f.removeEventListener(vp,C),v=null}},createHref(N){return c(f,N)},createURL:O,encodeLocation(N){let B=O(N);return{pathname:B.pathname,search:B.search,hash:B.hash}},push:D,replace:H,go(N){return y.go(N)}};return R}function xb(i,c=!1){let s="http://localhost";typeof window<"u"&&(s=window.location.origin!=="null"?window.location.origin:window.location.href),Pe(s,"No window.location.(origin|href) available to create URL");let r=typeof i=="string"?i:hi(i);return r=r.replace(/ $/,"%20"),!c&&r.startsWith("//")&&(r=s+r),new URL(r,s)}function Gp(i,c,s="/"){return wb(i,c,s,!1)}function wb(i,c,s,r){let f=typeof c=="string"?ml(c):c,m=ka(f.pathname||"/",s);if(m==null)return null;let y=Kp(i);Cb(y);let b=null;for(let v=0;b==null&&v<y.length;++v){let g=zb(m);b=Rb(y[v],g,r)}return b}function Kp(i,c=[],s=[],r="",f=!1){let m=(y,b,v=f,g)=>{let x={relativePath:g===void 0?y.path||"":g,caseSensitive:y.caseSensitive===!0,childrenIndex:b,route:y};if(x.relativePath.startsWith("/")){if(!x.relativePath.startsWith(r)&&v)return;Pe(x.relativePath.startsWith(r),`Absolute route path "${x.relativePath}" nested under path "${r}" is not valid. An absolute child route path must start with the combined path of all its parent routes.`),x.relativePath=x.relativePath.slice(r.length)}let C=Ta([r,x.relativePath]),D=s.concat(x);y.children&&y.children.length>0&&(Pe(y.index!==!0,`Index routes must not have child routes. Please remove all child routes from route path "${C}".`),Kp(y.children,c,D,C,v)),!(y.path==null&&!y.index)&&c.push({path:C,score:jb(C,y.index),routesMeta:D})};return i.forEach((y,b)=>{if(y.path===""||!y.path?.includes("?"))m(y,b);else for(let v of Ip(y.path))m(y,b,!0,v)}),c}function Ip(i){let c=i.split("/");if(c.length===0)return[];let[s,...r]=c,f=s.endsWith("?"),m=s.replace(/\?$/,"");if(r.length===0)return f?[m,""]:[m];let y=Ip(r.join("/")),b=[];return b.push(...y.map(v=>v===""?m:[m,v].join("/"))),f&&b.push(...y),b.map(v=>i.startsWith("/")&&v===""?"/":v)}function Cb(i){i.sort((c,s)=>c.score!==s.score?s.score-c.score:Db(c.routesMeta.map(r=>r.childrenIndex),s.routesMeta.map(r=>r.childrenIndex)))}var Ab=/^:[\w-]+$/,Tb=3,kb=2,Eb=1,Nb=10,Mb=-2,Sp=i=>i==="*";function jb(i,c){let s=i.split("/"),r=s.length;return s.some(Sp)&&(r+=Mb),c&&(r+=kb),s.filter(f=>!Sp(f)).reduce((f,m)=>f+(Ab.test(m)?Tb:m===""?Eb:Nb),r)}function Db(i,c){return i.length===c.length&&i.slice(0,-1).every((r,f)=>r===c[f])?i[i.length-1]-c[c.length-1]:0}function Rb(i,c,s=!1){let{routesMeta:r}=i,f={},m="/",y=[];for(let b=0;b<r.length;++b){let v=r[b],g=b===r.length-1,x=m==="/"?c:c.slice(m.length)||"/",C=es({path:v.relativePath,caseSensitive:v.caseSensitive,end:g},x),D=v.route;if(!C&&g&&s&&!r[r.length-1].route.index&&(C=es({path:v.relativePath,caseSensitive:v.caseSensitive,end:!1},x)),!C)return null;Object.assign(f,C.params),y.push({params:f,pathname:Ta([m,C.pathname]),pathnameBase:_b(Ta([m,C.pathnameBase])),route:D}),C.pathnameBase!=="/"&&(m=Ta([m,C.pathnameBase]))}return y}function es(i,c){typeof i=="string"&&(i={path:i,caseSensitive:!1,end:!0});let[s,r]=Ob(i.path,i.caseSensitive,i.end),f=c.match(s);if(!f)return null;let m=f[0],y=m.replace(/(.)\/+$/,"$1"),b=f.slice(1);return{params:r.reduce((g,{paramName:x,isOptional:C},D)=>{if(x==="*"){let O=b[D]||"";y=m.slice(0,m.length-O.length).replace(/(.)\/+$/,"$1")}const H=b[D];return C&&!H?g[x]=void 0:g[x]=(H||"").replace(/%2F/g,"/"),g},{}),pathname:m,pathnameBase:y,pattern:i}}function Ob(i,c=!1,s=!0){Ft(i==="*"||!i.endsWith("*")||i.endsWith("/*"),`Route path "${i}" will be treated as if it were "${i.replace(/\*$/,"/*")}" because the \`*\` character must always follow a \`/\` in the pattern. To get rid of this warning, please change the route path to "${i.replace(/\*$/,"/*")}".`);let r=[],f="^"+i.replace(/\/*\*?$/,"").replace(/^\/*/,"/").replace(/[\\.*+^${}|()[\]]/g,"\\$&").replace(/\/:([\w-]+)(\?)?/g,(y,b,v)=>(r.push({paramName:b,isOptional:v!=null}),v?"/?([^\\/]+)?":"/([^\\/]+)")).replace(/\/([\w-]+)\?(\/|$)/g,"(/$1)?$2");return i.endsWith("*")?(r.push({paramName:"*"}),f+=i==="*"||i==="/*"?"(.*)$":"(?:\\/(.+)|\\/*)$"):s?f+="\\/*$":i!==""&&i!=="/"&&(f+="(?:(?=\\/|$))"),[new RegExp(f,c?void 0:"i"),r]}function zb(i){try{return i.split("/").map(c=>decodeURIComponent(c).replace(/\//g,"%2F")).join("/")}catch(c){return Ft(!1,`The URL path "${i}" could not be decoded because it is a malformed URL segment. This is probably due to a bad percent encoding (${c}).`),i}}function ka(i,c){if(c==="/")return i;if(!i.toLowerCase().startsWith(c.toLowerCase()))return null;let s=c.endsWith("/")?c.length-1:c.length,r=i.charAt(s);return r&&r!=="/"?null:i.slice(s)||"/"}function Pb(i,c="/"){let{pathname:s,search:r="",hash:f=""}=typeof i=="string"?ml(i):i;return{pathname:s?s.startsWith("/")?s:Lb(s,c):c,search:Fb(r),hash:Bb(f)}}function Lb(i,c){let s=c.replace(/\/+$/,"").split("/");return i.split("/").forEach(f=>{f===".."?s.length>1&&s.pop():f!=="."&&s.push(f)}),s.length>1?s.join("/"):"/"}function Cc(i,c,s,r){return`Cannot include a '${i}' character in a manually specified \`to.${c}\` field [${JSON.stringify(r)}]. Please separate it out to the \`to.${s}\` field. Alternatively you may provide the full path as a string in <Link to="..."> and the router will parse it for you.`}function Ub(i){return i.filter((c,s)=>s===0||c.route.path&&c.route.path.length>0)}function Ic(i){let c=Ub(i);return c.map((s,r)=>r===c.length-1?s.pathname:s.pathnameBase)}function Yc(i,c,s,r=!1){let f;typeof i=="string"?f=ml(i):(f={...i},Pe(!f.pathname||!f.pathname.includes("?"),Cc("?","pathname","search",f)),Pe(!f.pathname||!f.pathname.includes("#"),Cc("#","pathname","hash",f)),Pe(!f.search||!f.search.includes("#"),Cc("#","search","hash",f)));let m=i===""||f.pathname==="",y=m?"/":f.pathname,b;if(y==null)b=s;else{let C=c.length-1;if(!r&&y.startsWith("..")){let D=y.split("/");for(;D[0]==="..";)D.shift(),C-=1;f.pathname=D.join("/")}b=C>=0?c[C]:"/"}let v=Pb(f,b),g=y&&y!=="/"&&y.endsWith("/"),x=(m||y===".")&&s.endsWith("/");return!v.pathname.endsWith("/")&&(g||x)&&(v.pathname+="/"),v}var Ta=i=>i.join("/").replace(/\/\/+/g,"/"),_b=i=>i.replace(/\/+$/,"").replace(/^\/*/,"/"),Fb=i=>!i||i==="?"?"":i.startsWith("?")?i:"?"+i,Bb=i=>!i||i==="#"?"":i.startsWith("#")?i:"#"+i;function Hb(i){return i!=null&&typeof i.status=="number"&&typeof i.statusText=="string"&&typeof i.internal=="boolean"&&"data"in i}var Yp=["POST","PUT","PATCH","DELETE"];new Set(Yp);var qb=["GET",...Yp];new Set(qb);var pl=h.createContext(null);pl.displayName="DataRouter";var as=h.createContext(null);as.displayName="DataRouterState";h.createContext(!1);var Qp=h.createContext({isTransitioning:!1});Qp.displayName="ViewTransition";var Vb=h.createContext(new Map);Vb.displayName="Fetchers";var Gb=h.createContext(null);Gb.displayName="Await";var It=h.createContext(null);It.displayName="Navigation";var bi=h.createContext(null);bi.displayName="Location";var Bt=h.createContext({outlet:null,matches:[],isDataRoute:!1});Bt.displayName="Route";var Qc=h.createContext(null);Qc.displayName="RouteError";function Kb(i,{relative:c}={}){Pe(gl(),"useHref() may be used only in the context of a <Router> component.");let{basename:s,navigator:r}=h.useContext(It),{hash:f,pathname:m,search:y}=xi(i,{relative:c}),b=m;return s!=="/"&&(b=m==="/"?s:Ta([s,m])),r.createHref({pathname:b,search:y,hash:f})}function gl(){return h.useContext(bi)!=null}function Yt(){return Pe(gl(),"useLocation() may be used only in the context of a <Router> component."),h.useContext(bi).location}var Xp="You should call navigate() in a React.useEffect(), not when your component is first rendered.";function Zp(i){h.useContext(It).static||h.useLayoutEffect(i)}function Si(){let{isDataRoute:i}=h.useContext(Bt);return i?o0():Ib()}function Ib(){Pe(gl(),"useNavigate() may be used only in the context of a <Router> component.");let i=h.useContext(pl),{basename:c,navigator:s}=h.useContext(It),{matches:r}=h.useContext(Bt),{pathname:f}=Yt(),m=JSON.stringify(Ic(r)),y=h.useRef(!1);return Zp(()=>{y.current=!0}),h.useCallback((v,g={})=>{if(Ft(y.current,Xp),!y.current)return;if(typeof v=="number"){s.go(v);return}let x=Yc(v,JSON.parse(m),f,g.relative==="path");i==null&&c!=="/"&&(x.pathname=x.pathname==="/"?c:Ta([c,x.pathname])),(g.replace?s.replace:s.push)(x,g.state,g)},[c,s,m,f,i])}var Yb=h.createContext(null);function Qb(i){let c=h.useContext(Bt).outlet;return h.useMemo(()=>c&&h.createElement(Yb.Provider,{value:i},c),[c,i])}function V1(){let{matches:i}=h.useContext(Bt),c=i[i.length-1];return c?c.params:{}}function xi(i,{relative:c}={}){let{matches:s}=h.useContext(Bt),{pathname:r}=Yt(),f=JSON.stringify(Ic(s));return h.useMemo(()=>Yc(i,JSON.parse(f),r,c==="path"),[i,f,r,c])}function Xb(i,c){return $p(i,c)}function $p(i,c,s,r,f){Pe(gl(),"useRoutes() may be used only in the context of a <Router> component.");let{navigator:m}=h.useContext(It),{matches:y}=h.useContext(Bt),b=y[y.length-1],v=b?b.params:{},g=b?b.pathname:"/",x=b?b.pathnameBase:"/",C=b&&b.route;{let P=C&&C.path||"";Jp(g,!C||P.endsWith("*")||P.endsWith("*?"),`You rendered descendant <Routes> (or called \`useRoutes()\`) at "${g}" (under <Route path="${P}">) but the parent route path has no trailing "*". This means if you navigate deeper, the parent won't match anymore and therefore the child routes will never render.
44
+
45
+ Please change the parent <Route path="${P}"> to <Route path="${P==="/"?"*":`${P}/*`}">.`)}let D=Yt(),H;if(c){let P=typeof c=="string"?ml(c):c;Pe(x==="/"||P.pathname?.startsWith(x),`When overriding the location using \`<Routes location>\` or \`useRoutes(routes, location)\`, the location pathname must begin with the portion of the URL pathname that was matched by all parent routes. The current pathname base is "${x}" but pathname "${P.pathname}" was given in the \`location\` prop.`),H=P}else H=D;let O=H.pathname||"/",R=O;if(x!=="/"){let P=x.replace(/^\//,"").split("/");R="/"+O.replace(/^\//,"").split("/").slice(P.length).join("/")}let N=Gp(i,{pathname:R});Ft(C||N!=null,`No routes matched location "${H.pathname}${H.search}${H.hash}" `),Ft(N==null||N[N.length-1].route.element!==void 0||N[N.length-1].route.Component!==void 0||N[N.length-1].route.lazy!==void 0,`Matched leaf route at location "${H.pathname}${H.search}${H.hash}" does not have an element or Component. This means it will render an <Outlet /> with a null value by default resulting in an "empty" page.`);let B=e0(N&&N.map(P=>Object.assign({},P,{params:Object.assign({},v,P.params),pathname:Ta([x,m.encodeLocation?m.encodeLocation(P.pathname.replace(/\?/g,"%3F").replace(/#/g,"%23")).pathname:P.pathname]),pathnameBase:P.pathnameBase==="/"?x:Ta([x,m.encodeLocation?m.encodeLocation(P.pathnameBase.replace(/\?/g,"%3F").replace(/#/g,"%23")).pathname:P.pathnameBase])})),y,s,r,f);return c&&B?h.createElement(bi.Provider,{value:{location:{pathname:"/",search:"",hash:"",state:null,key:"default",...H},navigationType:"POP"}},B):B}function Zb(){let i=i0(),c=Hb(i)?`${i.status} ${i.statusText}`:i instanceof Error?i.message:JSON.stringify(i),s=i instanceof Error?i.stack:null,r="rgba(200,200,200, 0.5)",f={padding:"0.5rem",backgroundColor:r},m={padding:"2px 4px",backgroundColor:r},y=null;return console.error("Error handled by React Router default ErrorBoundary:",i),y=h.createElement(h.Fragment,null,h.createElement("p",null,"💿 Hey developer 👋"),h.createElement("p",null,"You can provide a way better UX than this when your app throws errors by providing your own ",h.createElement("code",{style:m},"ErrorBoundary")," or"," ",h.createElement("code",{style:m},"errorElement")," prop on your route.")),h.createElement(h.Fragment,null,h.createElement("h2",null,"Unexpected Application Error!"),h.createElement("h3",{style:{fontStyle:"italic"}},c),s?h.createElement("pre",{style:f},s):null,y)}var $b=h.createElement(Zb,null),Jb=class extends h.Component{constructor(i){super(i),this.state={location:i.location,revalidation:i.revalidation,error:i.error}}static getDerivedStateFromError(i){return{error:i}}static getDerivedStateFromProps(i,c){return c.location!==i.location||c.revalidation!=="idle"&&i.revalidation==="idle"?{error:i.error,location:i.location,revalidation:i.revalidation}:{error:i.error!==void 0?i.error:c.error,location:c.location,revalidation:i.revalidation||c.revalidation}}componentDidCatch(i,c){this.props.unstable_onError?this.props.unstable_onError(i,c):console.error("React Router caught the following error during render",i)}render(){return this.state.error!==void 0?h.createElement(Bt.Provider,{value:this.props.routeContext},h.createElement(Qc.Provider,{value:this.state.error,children:this.props.component})):this.props.children}};function Wb({routeContext:i,match:c,children:s}){let r=h.useContext(pl);return r&&r.static&&r.staticContext&&(c.route.errorElement||c.route.ErrorBoundary)&&(r.staticContext._deepestRenderedBoundaryId=c.route.id),h.createElement(Bt.Provider,{value:i},s)}function e0(i,c=[],s=null,r=null,f=null){if(i==null){if(!s)return null;if(s.errors)i=s.matches;else if(c.length===0&&!s.initialized&&s.matches.length>0)i=s.matches;else return null}let m=i,y=s?.errors;if(y!=null){let g=m.findIndex(x=>x.route.id&&y?.[x.route.id]!==void 0);Pe(g>=0,`Could not find a matching route for errors on route IDs: ${Object.keys(y).join(",")}`),m=m.slice(0,Math.min(m.length,g+1))}let b=!1,v=-1;if(s)for(let g=0;g<m.length;g++){let x=m[g];if((x.route.HydrateFallback||x.route.hydrateFallbackElement)&&(v=g),x.route.id){let{loaderData:C,errors:D}=s,H=x.route.loader&&!C.hasOwnProperty(x.route.id)&&(!D||D[x.route.id]===void 0);if(x.route.lazy||H){b=!0,v>=0?m=m.slice(0,v+1):m=[m[0]];break}}}return m.reduceRight((g,x,C)=>{let D,H=!1,O=null,R=null;s&&(D=y&&x.route.id?y[x.route.id]:void 0,O=x.route.errorElement||$b,b&&(v<0&&C===0?(Jp("route-fallback",!1,"No `HydrateFallback` element provided to render during initial hydration"),H=!0,R=null):v===C&&(H=!0,R=x.route.hydrateFallbackElement||null)));let N=c.concat(m.slice(0,C+1)),B=()=>{let P;return D?P=O:H?P=R:x.route.Component?P=h.createElement(x.route.Component,null):x.route.element?P=x.route.element:P=g,h.createElement(Wb,{match:x,routeContext:{outlet:g,matches:N,isDataRoute:s!=null},children:P})};return s&&(x.route.ErrorBoundary||x.route.errorElement||C===0)?h.createElement(Jb,{location:s.location,revalidation:s.revalidation,component:O,error:D,children:B(),routeContext:{outlet:null,matches:N,isDataRoute:!0},unstable_onError:r}):B()},null)}function Xc(i){return`${i} must be used within a data router. See https://reactrouter.com/en/main/routers/picking-a-router.`}function t0(i){let c=h.useContext(pl);return Pe(c,Xc(i)),c}function a0(i){let c=h.useContext(as);return Pe(c,Xc(i)),c}function n0(i){let c=h.useContext(Bt);return Pe(c,Xc(i)),c}function Zc(i){let c=n0(i),s=c.matches[c.matches.length-1];return Pe(s.route.id,`${i} can only be used on routes that contain a unique "id"`),s.route.id}function l0(){return Zc("useRouteId")}function i0(){let i=h.useContext(Qc),c=a0("useRouteError"),s=Zc("useRouteError");return i!==void 0?i:c.errors?.[s]}function o0(){let{router:i}=t0("useNavigate"),c=Zc("useNavigate"),s=h.useRef(!1);return Zp(()=>{s.current=!0}),h.useCallback(async(f,m={})=>{Ft(s.current,Xp),s.current&&(typeof f=="number"?i.navigate(f):await i.navigate(f,{fromRouteId:c,...m}))},[i,c])}var xp={};function Jp(i,c,s){!c&&!xp[i]&&(xp[i]=!0,Ft(!1,s))}h.memo(s0);function s0({routes:i,future:c,state:s,unstable_onError:r}){return $p(i,void 0,s,r,c)}function r0({to:i,replace:c,state:s,relative:r}){Pe(gl(),"<Navigate> may be used only in the context of a <Router> component.");let{static:f}=h.useContext(It);Ft(!f,"<Navigate> must not be used on the initial render in a <StaticRouter>. This is a no-op, but you should modify your code so the <Navigate> is only ever rendered in response to some user interaction or state change.");let{matches:m}=h.useContext(Bt),{pathname:y}=Yt(),b=Si(),v=Yc(i,Ic(m),y,r==="path"),g=JSON.stringify(v);return h.useEffect(()=>{b(JSON.parse(g),{replace:c,state:s,relative:r})},[b,g,r,c,s]),null}function G1(i){return Qb(i.context)}function He(i){Pe(!1,"A <Route> is only ever to be used as the child of <Routes> element, never rendered directly. Please wrap your <Route> in a <Routes>.")}function c0({basename:i="/",children:c=null,location:s,navigationType:r="POP",navigator:f,static:m=!1}){Pe(!gl(),"You cannot render a <Router> inside another <Router>. You should never have more than one in your app.");let y=i.replace(/^\/*/,"/"),b=h.useMemo(()=>({basename:y,navigator:f,static:m,future:{}}),[y,f,m]);typeof s=="string"&&(s=ml(s));let{pathname:v="/",search:g="",hash:x="",state:C=null,key:D="default"}=s,H=h.useMemo(()=>{let O=ka(v,y);return O==null?null:{location:{pathname:O,search:g,hash:x,state:C,key:D},navigationType:r}},[y,v,g,x,C,D,r]);return Ft(H!=null,`<Router basename="${y}"> is not able to match the URL "${v}${g}${x}" because it does not start with the basename, so the <Router> won't render anything.`),H==null?null:h.createElement(It.Provider,{value:b},h.createElement(bi.Provider,{children:c,value:H}))}function u0({children:i,location:c}){return Xb(zc(i),c)}function zc(i,c=[]){let s=[];return h.Children.forEach(i,(r,f)=>{if(!h.isValidElement(r))return;let m=[...c,f];if(r.type===h.Fragment){s.push.apply(s,zc(r.props.children,m));return}Pe(r.type===He,`[${typeof r.type=="string"?r.type:r.type.name}] is not a <Route> component. All component children of <Routes> must be a <Route> or <React.Fragment>`),Pe(!r.props.index||!r.props.children,"An index route cannot have child routes.");let y={id:r.props.id||m.join("-"),caseSensitive:r.props.caseSensitive,element:r.props.element,Component:r.props.Component,index:r.props.index,path:r.props.path,middleware:r.props.middleware,loader:r.props.loader,action:r.props.action,hydrateFallbackElement:r.props.hydrateFallbackElement,HydrateFallback:r.props.HydrateFallback,errorElement:r.props.errorElement,ErrorBoundary:r.props.ErrorBoundary,hasErrorBoundary:r.props.hasErrorBoundary===!0||r.props.ErrorBoundary!=null||r.props.errorElement!=null,shouldRevalidate:r.props.shouldRevalidate,handle:r.props.handle,lazy:r.props.lazy};r.props.children&&(y.children=zc(r.props.children,m)),s.push(y)}),s}var Xo="get",Zo="application/x-www-form-urlencoded";function ns(i){return i!=null&&typeof i.tagName=="string"}function d0(i){return ns(i)&&i.tagName.toLowerCase()==="button"}function f0(i){return ns(i)&&i.tagName.toLowerCase()==="form"}function m0(i){return ns(i)&&i.tagName.toLowerCase()==="input"}function p0(i){return!!(i.metaKey||i.altKey||i.ctrlKey||i.shiftKey)}function g0(i,c){return i.button===0&&(!c||c==="_self")&&!p0(i)}function Pc(i=""){return new URLSearchParams(typeof i=="string"||Array.isArray(i)||i instanceof URLSearchParams?i:Object.keys(i).reduce((c,s)=>{let r=i[s];return c.concat(Array.isArray(r)?r.map(f=>[s,f]):[[s,r]])},[]))}function h0(i,c){let s=Pc(i);return c&&c.forEach((r,f)=>{s.has(f)||c.getAll(f).forEach(m=>{s.append(f,m)})}),s}var Vo=null;function y0(){if(Vo===null)try{new FormData(document.createElement("form"),0),Vo=!1}catch{Vo=!0}return Vo}var v0=new Set(["application/x-www-form-urlencoded","multipart/form-data","text/plain"]);function Ac(i){return i!=null&&!v0.has(i)?(Ft(!1,`"${i}" is not a valid \`encType\` for \`<Form>\`/\`<fetcher.Form>\` and will default to "${Zo}"`),null):i}function b0(i,c){let s,r,f,m,y;if(f0(i)){let b=i.getAttribute("action");r=b?ka(b,c):null,s=i.getAttribute("method")||Xo,f=Ac(i.getAttribute("enctype"))||Zo,m=new FormData(i)}else if(d0(i)||m0(i)&&(i.type==="submit"||i.type==="image")){let b=i.form;if(b==null)throw new Error('Cannot submit a <button> or <input type="submit"> without a <form>');let v=i.getAttribute("formaction")||b.getAttribute("action");if(r=v?ka(v,c):null,s=i.getAttribute("formmethod")||b.getAttribute("method")||Xo,f=Ac(i.getAttribute("formenctype"))||Ac(b.getAttribute("enctype"))||Zo,m=new FormData(b,i),!y0()){let{name:g,type:x,value:C}=i;if(x==="image"){let D=g?`${g}.`:"";m.append(`${D}x`,"0"),m.append(`${D}y`,"0")}else g&&m.append(g,C)}}else{if(ns(i))throw new Error('Cannot submit element that is not <form>, <button>, or <input type="submit|image">');s=Xo,r=null,f=Zo,y=i}return m&&f==="text/plain"&&(y=m,m=void 0),{action:r,method:s.toLowerCase(),encType:f,formData:m,body:y}}Object.getOwnPropertyNames(Object.prototype).sort().join("\0");function $c(i,c){if(i===!1||i===null||typeof i>"u")throw new Error(c)}function S0(i,c,s){let r=typeof i=="string"?new URL(i,typeof window>"u"?"server://singlefetch/":window.location.origin):i;return r.pathname==="/"?r.pathname=`_root.${s}`:c&&ka(r.pathname,c)==="/"?r.pathname=`${c.replace(/\/$/,"")}/_root.${s}`:r.pathname=`${r.pathname.replace(/\/$/,"")}.${s}`,r}async function x0(i,c){if(i.id in c)return c[i.id];try{let s=await import(i.module);return c[i.id]=s,s}catch(s){return console.error(`Error loading route module \`${i.module}\`, reloading page...`),console.error(s),window.__reactRouterContext&&window.__reactRouterContext.isSpaMode,window.location.reload(),new Promise(()=>{})}}function w0(i){return i==null?!1:i.href==null?i.rel==="preload"&&typeof i.imageSrcSet=="string"&&typeof i.imageSizes=="string":typeof i.rel=="string"&&typeof i.href=="string"}async function C0(i,c,s){let r=await Promise.all(i.map(async f=>{let m=c.routes[f.route.id];if(m){let y=await x0(m,s);return y.links?y.links():[]}return[]}));return E0(r.flat(1).filter(w0).filter(f=>f.rel==="stylesheet"||f.rel==="preload").map(f=>f.rel==="stylesheet"?{...f,rel:"prefetch",as:"style"}:{...f,rel:"prefetch"}))}function wp(i,c,s,r,f,m){let y=(v,g)=>s[g]?v.route.id!==s[g].route.id:!0,b=(v,g)=>s[g].pathname!==v.pathname||s[g].route.path?.endsWith("*")&&s[g].params["*"]!==v.params["*"];return m==="assets"?c.filter((v,g)=>y(v,g)||b(v,g)):m==="data"?c.filter((v,g)=>{let x=r.routes[v.route.id];if(!x||!x.hasLoader)return!1;if(y(v,g)||b(v,g))return!0;if(v.route.shouldRevalidate){let C=v.route.shouldRevalidate({currentUrl:new URL(f.pathname+f.search+f.hash,window.origin),currentParams:s[0]?.params||{},nextUrl:new URL(i,window.origin),nextParams:v.params,defaultShouldRevalidate:!0});if(typeof C=="boolean")return C}return!0}):[]}function A0(i,c,{includeHydrateFallback:s}={}){return T0(i.map(r=>{let f=c.routes[r.route.id];if(!f)return[];let m=[f.module];return f.clientActionModule&&(m=m.concat(f.clientActionModule)),f.clientLoaderModule&&(m=m.concat(f.clientLoaderModule)),s&&f.hydrateFallbackModule&&(m=m.concat(f.hydrateFallbackModule)),f.imports&&(m=m.concat(f.imports)),m}).flat(1))}function T0(i){return[...new Set(i)]}function k0(i){let c={},s=Object.keys(i).sort();for(let r of s)c[r]=i[r];return c}function E0(i,c){let s=new Set;return new Set(c),i.reduce((r,f)=>{let m=JSON.stringify(k0(f));return s.has(m)||(s.add(m),r.push({key:m,link:f})),r},[])}function Wp(){let i=h.useContext(pl);return $c(i,"You must render this element inside a <DataRouterContext.Provider> element"),i}function N0(){let i=h.useContext(as);return $c(i,"You must render this element inside a <DataRouterStateContext.Provider> element"),i}var Jc=h.createContext(void 0);Jc.displayName="FrameworkContext";function eg(){let i=h.useContext(Jc);return $c(i,"You must render this element inside a <HydratedRouter> element"),i}function M0(i,c){let s=h.useContext(Jc),[r,f]=h.useState(!1),[m,y]=h.useState(!1),{onFocus:b,onBlur:v,onMouseEnter:g,onMouseLeave:x,onTouchStart:C}=c,D=h.useRef(null);h.useEffect(()=>{if(i==="render"&&y(!0),i==="viewport"){let R=B=>{B.forEach(P=>{y(P.isIntersecting)})},N=new IntersectionObserver(R,{threshold:.5});return D.current&&N.observe(D.current),()=>{N.disconnect()}}},[i]),h.useEffect(()=>{if(r){let R=setTimeout(()=>{y(!0)},100);return()=>{clearTimeout(R)}}},[r]);let H=()=>{f(!0)},O=()=>{f(!1),y(!1)};return s?i!=="intent"?[m,D,{}]:[m,D,{onFocus:fi(b,H),onBlur:fi(v,O),onMouseEnter:fi(g,H),onMouseLeave:fi(x,O),onTouchStart:fi(C,H)}]:[!1,D,{}]}function fi(i,c){return s=>{i&&i(s),s.defaultPrevented||c(s)}}function j0({page:i,...c}){let{router:s}=Wp(),r=h.useMemo(()=>Gp(s.routes,i,s.basename),[s.routes,i,s.basename]);return r?h.createElement(R0,{page:i,matches:r,...c}):null}function D0(i){let{manifest:c,routeModules:s}=eg(),[r,f]=h.useState([]);return h.useEffect(()=>{let m=!1;return C0(i,c,s).then(y=>{m||f(y)}),()=>{m=!0}},[i,c,s]),r}function R0({page:i,matches:c,...s}){let r=Yt(),{manifest:f,routeModules:m}=eg(),{basename:y}=Wp(),{loaderData:b,matches:v}=N0(),g=h.useMemo(()=>wp(i,c,v,f,r,"data"),[i,c,v,f,r]),x=h.useMemo(()=>wp(i,c,v,f,r,"assets"),[i,c,v,f,r]),C=h.useMemo(()=>{if(i===r.pathname+r.search+r.hash)return[];let O=new Set,R=!1;if(c.forEach(B=>{let P=f.routes[B.route.id];!P||!P.hasLoader||(!g.some(G=>G.route.id===B.route.id)&&B.route.id in b&&m[B.route.id]?.shouldRevalidate||P.hasClientLoader?R=!0:O.add(B.route.id))}),O.size===0)return[];let N=S0(i,y,"data");return R&&O.size>0&&N.searchParams.set("_routes",c.filter(B=>O.has(B.route.id)).map(B=>B.route.id).join(",")),[N.pathname+N.search]},[y,b,r,f,g,c,i,m]),D=h.useMemo(()=>A0(x,f),[x,f]),H=D0(x);return h.createElement(h.Fragment,null,C.map(O=>h.createElement("link",{key:O,rel:"prefetch",as:"fetch",href:O,...s})),D.map(O=>h.createElement("link",{key:O,rel:"modulepreload",href:O,...s})),H.map(({key:O,link:R})=>h.createElement("link",{key:O,nonce:s.nonce,...R})))}function O0(...i){return c=>{i.forEach(s=>{typeof s=="function"?s(c):s!=null&&(s.current=c)})}}var tg=typeof window<"u"&&typeof window.document<"u"&&typeof window.document.createElement<"u";try{tg&&(window.__reactRouterVersion="7.9.4")}catch{}function z0({basename:i,children:c,window:s}){let r=h.useRef();r.current==null&&(r.current=vb({window:s,v5Compat:!0}));let f=r.current,[m,y]=h.useState({action:f.action,location:f.location}),b=h.useCallback(v=>{h.startTransition(()=>y(v))},[y]);return h.useLayoutEffect(()=>f.listen(b),[f,b]),h.createElement(c0,{basename:i,children:c,location:m.location,navigationType:m.action,navigator:f})}var ag=/^(?:[a-z][a-z0-9+.-]*:|\/\/)/i,ng=h.forwardRef(function({onClick:c,discover:s="render",prefetch:r="none",relative:f,reloadDocument:m,replace:y,state:b,target:v,to:g,preventScrollReset:x,viewTransition:C,...D},H){let{basename:O}=h.useContext(It),R=typeof g=="string"&&ag.test(g),N,B=!1;if(typeof g=="string"&&R&&(N=g,tg))try{let Q=new URL(window.location.href),le=g.startsWith("//")?new URL(Q.protocol+g):new URL(g),Oe=ka(le.pathname,O);le.origin===Q.origin&&Oe!=null?g=Oe+le.search+le.hash:B=!0}catch{Ft(!1,`<Link to="${g}"> contains an invalid URL which will probably break when clicked - please update to a valid URL path.`)}let P=Kb(g,{relative:f}),[G,Z,I]=M0(r,D),V=U0(g,{replace:y,state:b,target:v,preventScrollReset:x,relative:f,viewTransition:C});function _(Q){c&&c(Q),Q.defaultPrevented||V(Q)}let F=h.createElement("a",{...D,...I,href:N||P,onClick:B||m?c:_,ref:O0(H,Z),target:v,"data-discover":!R&&s==="render"?"true":void 0});return G&&!R?h.createElement(h.Fragment,null,F,h.createElement(j0,{page:P})):F});ng.displayName="Link";var Lc=h.forwardRef(function({"aria-current":c="page",caseSensitive:s=!1,className:r="",end:f=!1,style:m,to:y,viewTransition:b,children:v,...g},x){let C=xi(y,{relative:g.relative}),D=Yt(),H=h.useContext(as),{navigator:O,basename:R}=h.useContext(It),N=H!=null&&q0(C)&&b===!0,B=O.encodeLocation?O.encodeLocation(C).pathname:C.pathname,P=D.pathname,G=H&&H.navigation&&H.navigation.location?H.navigation.location.pathname:null;s||(P=P.toLowerCase(),G=G?G.toLowerCase():null,B=B.toLowerCase()),G&&R&&(G=ka(G,R)||G);const Z=B!=="/"&&B.endsWith("/")?B.length-1:B.length;let I=P===B||!f&&P.startsWith(B)&&P.charAt(Z)==="/",V=G!=null&&(G===B||!f&&G.startsWith(B)&&G.charAt(B.length)==="/"),_={isActive:I,isPending:V,isTransitioning:N},F=I?c:void 0,Q;typeof r=="function"?Q=r(_):Q=[r,I?"active":null,V?"pending":null,N?"transitioning":null].filter(Boolean).join(" ");let le=typeof m=="function"?m(_):m;return h.createElement(ng,{...g,"aria-current":F,className:Q,ref:x,style:le,to:y,viewTransition:b},typeof v=="function"?v(_):v)});Lc.displayName="NavLink";var P0=h.forwardRef(({discover:i="render",fetcherKey:c,navigate:s,reloadDocument:r,replace:f,state:m,method:y=Xo,action:b,onSubmit:v,relative:g,preventScrollReset:x,viewTransition:C,...D},H)=>{let O=B0(),R=H0(b,{relative:g}),N=y.toLowerCase()==="get"?"get":"post",B=typeof b=="string"&&ag.test(b),P=G=>{if(v&&v(G),G.defaultPrevented)return;G.preventDefault();let Z=G.nativeEvent.submitter,I=Z?.getAttribute("formmethod")||y;O(Z||G.currentTarget,{fetcherKey:c,method:I,navigate:s,replace:f,state:m,relative:g,preventScrollReset:x,viewTransition:C})};return h.createElement("form",{ref:H,method:N,action:R,onSubmit:r?v:P,...D,"data-discover":!B&&i==="render"?"true":void 0})});P0.displayName="Form";function L0(i){return`${i} must be used within a data router. See https://reactrouter.com/en/main/routers/picking-a-router.`}function lg(i){let c=h.useContext(pl);return Pe(c,L0(i)),c}function U0(i,{target:c,replace:s,state:r,preventScrollReset:f,relative:m,viewTransition:y}={}){let b=Si(),v=Yt(),g=xi(i,{relative:m});return h.useCallback(x=>{if(g0(x,c)){x.preventDefault();let C=s!==void 0?s:hi(v)===hi(g);b(i,{replace:C,state:r,preventScrollReset:f,relative:m,viewTransition:y})}},[v,b,g,s,r,c,i,f,m,y])}function K1(i){Ft(typeof URLSearchParams<"u","You cannot use the `useSearchParams` hook in a browser that does not support the URLSearchParams API. If you need to support Internet Explorer 11, we recommend you load a polyfill such as https://github.com/ungap/url-search-params.");let c=h.useRef(Pc(i)),s=h.useRef(!1),r=Yt(),f=h.useMemo(()=>h0(r.search,s.current?null:c.current),[r.search]),m=Si(),y=h.useCallback((b,v)=>{const g=Pc(typeof b=="function"?b(new URLSearchParams(f)):b);s.current=!0,m("?"+g,v)},[m,f]);return[f,y]}var _0=0,F0=()=>`__${String(++_0)}__`;function B0(){let{router:i}=lg("useSubmit"),{basename:c}=h.useContext(It),s=l0();return h.useCallback(async(r,f={})=>{let{action:m,method:y,encType:b,formData:v,body:g}=b0(r,c);if(f.navigate===!1){let x=f.fetcherKey||F0();await i.fetch(x,s,f.action||m,{preventScrollReset:f.preventScrollReset,formData:v,body:g,formMethod:f.method||y,formEncType:f.encType||b,flushSync:f.flushSync})}else await i.navigate(f.action||m,{preventScrollReset:f.preventScrollReset,formData:v,body:g,formMethod:f.method||y,formEncType:f.encType||b,replace:f.replace,state:f.state,fromRouteId:s,flushSync:f.flushSync,viewTransition:f.viewTransition})},[i,c,s])}function H0(i,{relative:c}={}){let{basename:s}=h.useContext(It),r=h.useContext(Bt);Pe(r,"useFormAction must be used inside a RouteContext");let[f]=r.matches.slice(-1),m={...xi(i||".",{relative:c})},y=Yt();if(i==null){m.search=y.search;let b=new URLSearchParams(m.search),v=b.getAll("index");if(v.some(x=>x==="")){b.delete("index"),v.filter(C=>C).forEach(C=>b.append("index",C));let x=b.toString();m.search=x?`?${x}`:""}}return(!i||i===".")&&f.route.index&&(m.search=m.search?m.search.replace(/^\?/,"?index&"):"?index"),s!=="/"&&(m.pathname=m.pathname==="/"?s:Ta([s,m.pathname])),hi(m)}function q0(i,{relative:c}={}){let s=h.useContext(Qp);Pe(s!=null,"`useViewTransitionState` must be used within `react-router-dom`'s `RouterProvider`. Did you accidentally import `RouterProvider` from `react-router`?");let{basename:r}=lg("useViewTransitionState"),f=xi(i,{relative:c});if(!s.isTransitioning)return!1;let m=ka(s.currentLocation.pathname,r)||s.currentLocation.pathname,y=ka(s.nextLocation.pathname,r)||s.nextLocation.pathname;return es(f.pathname,y)!=null||es(f.pathname,m)!=null}var Wc=Vp();const V0=Cv(Wc),wi=()=>{const[i,c]=h.useState(Tv());h.useEffect(()=>{kv(i)},[i]);const s=h.useMemo(()=>Ev(i),[i.currentServiceId,i.services]),r=b=>{const v={...b,id:Date.now().toString()};return c(g=>({...g,services:[...g.services,v]})),v},f=(b,v)=>{c(g=>jv(g,b,v))},m=b=>{c(v=>Mv(v,b))},y=b=>{c(v=>Nv(v,b))};return{services:i.services,currentService:s,currentServiceId:i.currentServiceId,addService:r,updateService:f,removeService:m,switchService:y}},G0=({className:i="",onManageServices:c})=>{const{t:s}=Ea("components"),{services:r,currentService:f,switchService:m}=wi(),[y,b]=h.useState({isConnected:!1,isLoading:!0}),[v,g]=h.useState(!1),[x,C]=h.useState(!1),[D,H]=h.useState([]),O=h.useRef(null),R=async()=>{try{const I=_t(),V=await fetch(`${I}/health`,{method:"GET",headers:{"Content-Type":"application/json"},signal:AbortSignal.timeout(3e3)});if(V.ok){const _=await V.json();b({isConnected:!0,isLoading:!1,version:_.version,name:_.name})}else b({isConnected:!1,isLoading:!1})}catch{b({isConnected:!1,isLoading:!1})}},N=async()=>{const I=await Promise.all(r.map(async V=>{try{const _=`${V.url}/api/health`,F=await fetch(_,{method:"GET",headers:{"Content-Type":"application/json"},signal:AbortSignal.timeout(3e3)});return{...V,isOnline:F.ok,isCurrent:V.id===f?.id}}catch{return{...V,isOnline:!1,isCurrent:V.id===f?.id}}}));H(I)};h.useEffect(()=>{const I=V=>{O.current&&!O.current.contains(V.target)&&(C(!1),g(!1))};return document.addEventListener("mousedown",I),()=>document.removeEventListener("mousedown",I)},[]),h.useEffect(()=>{R(),N();const I=setInterval(()=>{R(),N()},3e4);return()=>clearInterval(I)},[r,f]);const B=async I=>{const V=r.find(_=>_.id===I);if(V&&V.id!==f?.id)try{const _=`${V.url}/api/health`;(await fetch(_,{method:"GET",headers:{"Content-Type":"application/json"},signal:AbortSignal.timeout(5e3)})).ok&&(m(V.id),C(!1),window.location.reload())}catch{m(V.id),C(!1),window.location.reload()}},P=()=>y.isLoading?u.jsx("div",{className:"w-4 h-4 border-2 border-gray-400 border-t-transparent rounded-full animate-spin"}):y.isConnected?u.jsx(Kt,{className:"w-4 h-4 text-green-500"}):u.jsx(Wo,{className:"w-4 h-4 text-red-500"}),G=()=>y.isLoading?s("serviceStatusIndicator.checking"):y.isConnected?f?.name||s("serviceStatusIndicator.connected"):f?.name||s("serviceStatusIndicator.disconnected"),Z=()=>y.isLoading?"text-gray-500":y.isConnected?"text-green-600 dark:text-green-400":"text-red-600 dark:text-red-400";return u.jsxs("div",{className:`relative w-full ${i}`,ref:O,children:[u.jsxs("div",{className:"flex items-center justify-between w-full px-3 py-2 hover:bg-gray-50 dark:hover:bg-gray-700/50 transition-colors rounded-md",children:[u.jsxs("div",{className:"flex items-center space-x-2 flex-1",onMouseEnter:()=>g(!0),onMouseLeave:()=>g(!1),children:[u.jsx(vi,{className:"w-4 h-4 text-gray-500"}),u.jsxs("div",{className:"flex items-center space-x-1.5 flex-1 min-w-0",children:[u.jsx("span",{className:`font-medium text-sm truncate ${Z()}`,children:G()}),P()]})]}),u.jsx("button",{onClick:()=>C(!x),className:`p-1 text-gray-500 hover:text-gray-700 dark:hover:text-gray-300
46
+ hover:bg-gray-100 dark:hover:bg-gray-600 rounded transition-colors`,title:s("serviceStatusIndicator.quickSwitch"),children:u.jsx(Pv,{className:"w-3.5 h-3.5"})}),u.jsx("button",{onClick:I=>{I.stopPropagation(),c?.()},className:`p-1 text-gray-500 hover:text-gray-700 dark:hover:text-gray-300
47
+ hover:bg-gray-100 dark:hover:bg-gray-600 rounded transition-colors`,title:s("serviceStatusIndicator.manageServices"),children:u.jsx(ts,{className:"w-3.5 h-3.5"})})]}),x&&u.jsx("div",{className:`absolute bottom-full left-0 right-0 mb-2 bg-white dark:bg-gray-800
48
+ border border-gray-200 dark:border-gray-600 rounded-lg shadow-lg z-50 max-h-48 overflow-y-auto`,children:u.jsxs("div",{className:"p-2",children:[u.jsx("div",{className:"text-xs font-medium text-gray-500 dark:text-gray-400 px-2 py-1 mb-1",children:s("serviceStatusIndicator.quickSwitch")}),D.map(I=>u.jsxs("button",{onClick:()=>B(I.id),className:`w-full flex items-center justify-between px-2 py-1.5 text-sm rounded transition-colors ${I.isCurrent?"bg-blue-50 dark:bg-blue-900/30 text-blue-700 dark:text-blue-300":"text-gray-700 dark:text-gray-300 hover:bg-gray-50 dark:hover:bg-gray-700"}`,children:[u.jsxs("div",{className:"flex items-center space-x-2 flex-1 min-w-0",children:[u.jsx("span",{className:"truncate",children:I.name}),I.isCurrent&&u.jsx(Kt,{className:"w-3 h-3 text-blue-500 flex-shrink-0"})]}),u.jsx("div",{className:"flex items-center space-x-1",children:I.isOnline!==void 0&&(I.isOnline?u.jsx(Kt,{className:"w-3 h-3 text-green-500"}):u.jsx(Wo,{className:"w-3 h-3 text-red-500"}))})]},I.id))]})}),v&&!x&&u.jsxs("div",{className:`absolute bottom-full left-0 mb-2 p-3 bg-gray-900 dark:bg-gray-100
49
+ text-white dark:text-gray-900 text-xs rounded-lg shadow-lg z-50 w-64`,children:[u.jsxs("div",{className:"space-y-2",children:[u.jsxs("div",{className:"flex items-center justify-between",children:[u.jsx("span",{className:"font-medium",children:f?.name||"Unknown Service"}),P()]}),f?.url&&u.jsx("div",{className:"text-gray-300 dark:text-gray-600 break-all",children:f.url}),y.version&&u.jsxs("div",{className:"flex justify-between",children:[u.jsxs("span",{children:[s("serviceStatusIndicator.version"),":"]}),u.jsxs("span",{children:["v",y.version]})]}),y.name&&u.jsxs("div",{className:"flex justify-between",children:[u.jsxs("span",{children:[s("serviceStatusIndicator.backendName"),":"]}),u.jsx("span",{children:y.name})]}),u.jsxs("div",{className:"flex justify-between",children:[u.jsxs("span",{children:[s("serviceStatusIndicator.status"),":"]}),u.jsx("span",{className:y.isConnected?"text-green-400 dark:text-green-600":"text-red-400 dark:text-red-600",children:y.isConnected?s("serviceStatusIndicator.connected"):s("serviceStatusIndicator.disconnected")})]}),u.jsxs("div",{className:"text-gray-400 dark:text-gray-500 text-xs pt-1 border-t border-gray-700 dark:border-gray-300 space-y-1",children:[u.jsx("div",{children:s("serviceStatusIndicator.clickToSwitch")}),u.jsx("div",{children:s("serviceStatusIndicator.clickToManage")})]})]}),u.jsx("div",{className:`absolute top-full left-4 w-0 h-0 border-l-4 border-r-4 border-t-4
50
+ border-transparent border-t-gray-900 dark:border-t-gray-100`})]})]})},K0=3,I0=5e3;let Tc=0;function Y0(){return Tc=(Tc+1)%Number.MAX_SAFE_INTEGER,Tc.toString()}const kc=new Map,Cp=i=>{if(kc.has(i))return;const c=setTimeout(()=>{kc.delete(i),pi({type:"REMOVE_TOAST",toastId:i})},I0);kc.set(i,c)},Q0=(i,c)=>{switch(c.type){case"ADD_TOAST":return{...i,toasts:[c.toast,...i.toasts].slice(0,K0)};case"UPDATE_TOAST":return{...i,toasts:i.toasts.map(s=>s.id===c.toast.id?{...s,...c.toast}:s)};case"DISMISS_TOAST":{const{toastId:s}=c;return s?Cp(s):i.toasts.forEach(r=>{Cp(r.id)}),{...i,toasts:i.toasts.map(r=>r.id===s||s===void 0?{...r,open:!1}:r)}}case"REMOVE_TOAST":return c.toastId===void 0?{...i,toasts:[]}:{...i,toasts:i.toasts.filter(s=>s.id!==c.toastId)}}},$o=[];let Jo={toasts:[]};function pi(i){Jo=Q0(Jo,i),$o.forEach(c=>{c(Jo)})}function ls({...i}){const c=Y0(),s=f=>pi({type:"UPDATE_TOAST",toast:{...f,id:c}}),r=()=>pi({type:"DISMISS_TOAST",toastId:c});return pi({type:"ADD_TOAST",toast:{...i,id:c,open:!0,onOpenChange:f=>{f||r()}}}),{id:c,dismiss:r,update:s}}function X0(){const[i,c]=h.useState(Jo);return h.useEffect(()=>($o.push(c),()=>{const s=$o.indexOf(c);s>-1&&$o.splice(s,1)}),[i]),{...i,toast:ls,dismiss:s=>pi({type:"DISMISS_TOAST",toastId:s})}}function Wa(i,c){ls({title:i,description:c,variant:"default"})}function cl(i,c){ls({title:i,description:c,variant:"destructive"})}function I1(i,c){ls({title:i,description:c,variant:"default"})}const Z0=({isOpen:i,onClose:c})=>{const{t:s}=Ea("components"),{services:r,currentService:f,switchService:m,addService:y,updateService:b,removeService:v}=wi(),{getToken:g,removeToken:x}=Kc(),[C,D]=h.useState([]),[H,O]=h.useState(!1),[R,N]=h.useState(null),[B,P]=h.useState({name:"",url:""}),[G,Z]=h.useState(!1),[I,V]=h.useState(null),[_,F]=h.useState(null),[Q,le]=h.useState(null),[Oe,Me]=h.useState(!1),[Qe,ne]=h.useState(""),[we,j]=h.useState(""),[K,q]=h.useState(!1),[de,he]=h.useState(!1),Le=async()=>{const Y=await Promise.all(r.map(async fe=>{try{const ve=`${fe.url}/api/health`,We=await fetch(ve,{method:"GET",headers:{"Content-Type":"application/json"},signal:AbortSignal.timeout(5e3)});if(We.ok){const ht=await We.json();return{...fe,isOnline:!0,version:ht.version,backendName:ht.name,isTesting:!1}}else return{...fe,isOnline:!1,isTesting:!1}}catch{return{...fe,isOnline:!1,isTesting:!1}}}));D(Y)},ye=async Y=>{D(fe=>fe.map(ve=>ve.id===Y?{...ve,isTesting:!0}:ve));try{const fe=r.find(ht=>ht.id===Y);if(!fe)return;const ve=`${fe.url}/api/health`,We=await fetch(ve,{method:"GET",headers:{"Content-Type":"application/json"},signal:AbortSignal.timeout(5e3)});if(We.ok){const ht=await We.json();D(ia=>ia.map(tn=>tn.id===Y?{...tn,isOnline:!0,version:ht.version,backendName:ht.name,isTesting:!1}:tn)),Wa(s("serviceManagementModal.connectionTest.success"))}else D(ht=>ht.map(ia=>ia.id===Y?{...ia,isOnline:!1,isTesting:!1}:ia)),cl(s("serviceManagementModal.connectionTest.failed"))}catch{D(ve=>ve.map(We=>We.id===Y?{...We,isOnline:!1,isTesting:!1}:We)),cl(s("serviceManagementModal.connectionTest.error"))}};h.useEffect(()=>{i&&Le()},[i,r]);const te=async Y=>{Y.isOnline?(m(Y.id),Wa(s("serviceManagementModal.switchSuccess",{name:Y.name})),window.location.reload()):(V(Y),Z(!0))},re=()=>{I&&(m(I.id),Z(!1),V(null),Wa(s("serviceManagementModal.switchSuccess",{name:I.name})),window.location.reload())},Je=()=>{B.name.trim()&&B.url.trim()&&(y({name:B.name.trim(),url:B.url.trim()}),P({name:"",url:""}),O(!1),Wa(s("serviceManagementModal.addSuccess")))},pt=()=>{R&&B.name.trim()&&B.url.trim()&&(b(R,{name:B.name.trim(),url:B.url.trim()}),P({name:"",url:""}),N(null),Wa(s("serviceManagementModal.updateSuccess")))},je=Y=>{v(Y),Wa(s("serviceManagementModal.removeSuccess"))},na=async Y=>{const fe=r.find(ve=>ve.id===Y);if(fe)try{const ve=g(Y);ve?.token&&await fetch(`${fe.url}/api/auth/logout`,{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${ve.token}`}}).catch(()=>{})}catch(ve){console.error("Logout error:",ve)}finally{x(Y),Wa(s("serviceManagementModal.logoutSuccess")),Y===f?.id&&(c(),window.location.href="/login")}},gt=async Y=>{const fe=r.find(ve=>ve.id===Y);if(fe){F(Y),ne(""),j(""),q(!1),le(null),Me(!0);try{const ve=await fetch(`${fe.url}/api/auth/check-password-required`,{method:"GET",headers:{"Content-Type":"application/json"},signal:AbortSignal.timeout(5e3)});if(ve.ok){const We=await ve.json();le(We.passwordRequired)}}catch(ve){console.error("Failed to check password status:",ve)}finally{Me(!1)}}},Qt=async()=>{if(!_)return;const Y=r.find(fe=>fe.id===_);if(Y){if(Qe!==we){cl(s("serviceManagementModal.password.mismatch"));return}if(Qe&&Qe.length<4){cl(s("serviceManagementModal.password.tooShort"));return}he(!0);try{const fe=g(_),ve=await fetch(`${Y.url}/api/config`,{method:"POST",headers:{"Content-Type":"application/json",...fe?.token&&{Authorization:`Bearer ${fe.token}`}},body:JSON.stringify({adminPassword:Qe||""})}),We=await ve.json();ve.ok&&We.success?(Wa(s(Qe?"serviceManagementModal.password.setSuccess":"serviceManagementModal.password.clearSuccess")),le(!!Qe),ne(""),j("")):cl(We.error||s("serviceManagementModal.password.saveFailed"))}catch(fe){console.error("Failed to save password:",fe),cl(s("serviceManagementModal.password.saveFailed"))}finally{he(!1)}}},Xt=Y=>!!g(Y)?.token,Zt=Y=>{N(Y.id),P({name:Y.name,url:Y.url})},Ai=()=>{N(null),P({name:"",url:""})},la=()=>{O(!1),P({name:"",url:""})};return i?u.jsxs("div",{className:"fixed inset-0 bg-black bg-opacity-50 flex items-center justify-center z-50",children:[u.jsxs("div",{className:"bg-white dark:bg-gray-800 rounded-lg shadow-xl max-w-3xl w-full mx-4 max-h-[90vh] overflow-y-auto",children:[u.jsxs("div",{className:"flex items-center justify-between p-6 border-b border-gray-200 dark:border-gray-700",children:[u.jsxs("div",{className:"flex items-center space-x-3",children:[u.jsx(vi,{className:"w-6 h-6 text-blue-500"}),u.jsx("h3",{className:"text-lg font-medium text-gray-900 dark:text-white",children:s("serviceManagementModal.title")})]}),u.jsx("button",{onClick:c,className:"text-gray-400 hover:text-gray-600 dark:hover:text-gray-300",children:u.jsx(gi,{className:"w-5 h-5"})})]}),u.jsxs("div",{className:"p-6 space-y-6",children:[u.jsxs("div",{children:[u.jsxs("div",{className:"flex items-center justify-between mb-4",children:[u.jsx("h4",{className:"text-sm font-medium text-gray-900 dark:text-white",children:s("serviceManagementModal.servicesList")}),u.jsxs("button",{onClick:()=>O(!0),className:`flex items-center space-x-2 px-3 py-1.5 bg-blue-600 hover:bg-blue-700
51
+ text-white text-sm rounded-md transition-colors`,children:[u.jsx(Rc,{className:"w-4 h-4"}),u.jsx("span",{children:s("serviceManagementModal.addService")})]})]}),u.jsxs("div",{className:"space-y-3",children:[C.map(Y=>u.jsx("div",{className:`border rounded-lg p-4 transition-colors ${Y.id===f?.id?"border-blue-200 bg-blue-50 dark:border-blue-700 dark:bg-blue-900/20":"border-gray-200 dark:border-gray-700"}`,children:R===Y.id?u.jsxs("div",{className:"space-y-3",children:[u.jsx("input",{type:"text",value:B.name,onChange:fe=>P(ve=>({...ve,name:fe.target.value})),placeholder:s("serviceManagementModal.namePlaceholder"),className:`w-full px-3 py-2 border border-gray-300 dark:border-gray-600
52
+ rounded-md bg-white dark:bg-gray-700 text-gray-900 dark:text-white`}),u.jsx("input",{type:"url",value:B.url,onChange:fe=>P(ve=>({...ve,url:fe.target.value})),placeholder:s("serviceManagementModal.urlPlaceholder"),className:`w-full px-3 py-2 border border-gray-300 dark:border-gray-600
53
+ rounded-md bg-white dark:bg-gray-700 text-gray-900 dark:text-white`}),u.jsxs("div",{className:"flex space-x-2",children:[u.jsxs("button",{onClick:pt,className:`flex items-center space-x-1 px-3 py-1.5 bg-green-600 hover:bg-green-700
54
+ text-white text-sm rounded-md transition-colors`,children:[u.jsx(Lv,{className:"w-4 h-4"}),u.jsx("span",{children:s("serviceManagementModal.save")})]}),u.jsx("button",{onClick:Ai,className:`px-3 py-1.5 bg-gray-500 hover:bg-gray-600 text-white text-sm
55
+ rounded-md transition-colors`,children:s("serviceManagementModal.cancel")})]})]}):u.jsxs("div",{className:"flex items-center justify-between",children:[u.jsxs("div",{className:"flex-1",children:[u.jsxs("div",{className:"flex items-center space-x-3 mb-2",children:[u.jsx("h5",{className:"text-sm font-medium text-gray-900 dark:text-white",children:Y.name}),Y.id===f?.id&&u.jsx("span",{className:`inline-flex items-center px-2 py-0.5 rounded text-xs
56
+ font-medium bg-blue-100 text-blue-800 dark:bg-blue-900 dark:text-blue-200`,children:s("serviceManagementModal.current")}),u.jsx("div",{className:"flex items-center space-x-1",children:Y.isTesting?u.jsx("div",{className:"w-4 h-4 border-2 border-blue-600 border-t-transparent rounded-full animate-spin"}):Y.isOnline?u.jsx(Kt,{className:"w-4 h-4 text-green-500"}):u.jsx(Wo,{className:"w-4 h-4 text-red-500"})})]}),u.jsx("p",{className:"text-sm text-gray-600 dark:text-gray-400 mb-2",children:Y.url}),Y.isOnline&&u.jsxs("div",{className:"flex items-center space-x-4 text-xs text-gray-500 dark:text-gray-500",children:[Y.version&&u.jsxs("span",{children:[s("serviceManagementModal.version"),": v",Y.version]}),Y.backendName&&u.jsx("span",{children:Y.backendName})]})]}),u.jsxs("div",{className:"flex items-center space-x-2",children:[u.jsx("button",{onClick:()=>ye(Y.id),disabled:Y.isTesting,className:`p-1.5 text-gray-500 hover:text-blue-600 dark:hover:text-blue-400
57
+ hover:bg-blue-50 dark:hover:bg-blue-900/20 rounded transition-colors`,title:s("serviceManagementModal.testConnection"),children:u.jsx(Uv,{className:"w-4 h-4"})}),Y.id!==f?.id&&u.jsx("button",{onClick:()=>te(Y),className:`p-1.5 text-gray-500 hover:text-green-600 dark:hover:text-green-400
58
+ hover:bg-green-50 dark:hover:bg-green-900/20 rounded transition-colors`,title:s("serviceManagementModal.switchToService"),children:u.jsx(rp,{className:"w-4 h-4"})}),Y.isOnline&&u.jsx("button",{onClick:()=>gt(Y.id),className:`p-1.5 text-gray-500 hover:text-purple-600 dark:hover:text-purple-400
59
+ hover:bg-purple-50 dark:hover:bg-purple-900/20 rounded transition-colors`,title:s("serviceManagementModal.managePassword"),children:u.jsx(vc,{className:"w-4 h-4"})}),Xt(Y.id)&&u.jsx("button",{onClick:()=>na(Y.id),className:`p-1.5 text-gray-500 hover:text-red-600 dark:hover:text-red-400
60
+ hover:bg-red-50 dark:hover:bg-red-900/20 rounded transition-colors`,title:s("serviceManagementModal.logoutService"),children:u.jsx(_v,{className:"w-4 h-4"})}),!Y.isDefault&&u.jsxs(u.Fragment,{children:[u.jsx("button",{onClick:()=>Zt(Y),className:`p-1.5 text-gray-500 hover:text-gray-600 dark:hover:text-gray-300
61
+ hover:bg-gray-50 dark:hover:bg-gray-700 rounded transition-colors`,title:s("serviceManagementModal.editService"),children:u.jsx(ts,{className:"w-4 h-4"})}),u.jsx("button",{onClick:()=>je(Y.id),className:`p-1.5 text-gray-500 hover:text-red-600 dark:hover:text-red-400
62
+ hover:bg-red-50 dark:hover:bg-red-900/20 rounded transition-colors`,title:s("serviceManagementModal.removeService"),children:u.jsx(Fv,{className:"w-4 h-4"})})]})]})]})},Y.id)),H&&u.jsx("div",{className:"border-2 border-dashed border-gray-300 dark:border-gray-600 rounded-lg p-4",children:u.jsxs("div",{className:"space-y-3",children:[u.jsx("h5",{className:"text-sm font-medium text-gray-900 dark:text-white",children:s("serviceManagementModal.addNewService")}),u.jsx("input",{type:"text",value:B.name,onChange:Y=>P(fe=>({...fe,name:Y.target.value})),placeholder:s("serviceManagementModal.namePlaceholder"),className:`w-full px-3 py-2 border border-gray-300 dark:border-gray-600
63
+ rounded-md bg-white dark:bg-gray-700 text-gray-900 dark:text-white`}),u.jsx("input",{type:"url",value:B.url,onChange:Y=>P(fe=>({...fe,url:Y.target.value})),placeholder:s("serviceManagementModal.urlPlaceholder"),className:`w-full px-3 py-2 border border-gray-300 dark:border-gray-600
64
+ rounded-md bg-white dark:bg-gray-700 text-gray-900 dark:text-white`}),u.jsxs("div",{className:"flex space-x-2",children:[u.jsxs("button",{onClick:Je,className:`flex items-center space-x-1 px-3 py-1.5 bg-green-600 hover:bg-green-700
65
+ text-white text-sm rounded-md transition-colors`,children:[u.jsx(Rc,{className:"w-4 h-4"}),u.jsx("span",{children:s("serviceManagementModal.add")})]}),u.jsx("button",{onClick:la,className:`px-3 py-1.5 bg-gray-500 hover:bg-gray-600 text-white text-sm
66
+ rounded-md transition-colors`,children:s("serviceManagementModal.cancel")})]})]})})]})]}),u.jsx("div",{className:"border-t border-gray-200 dark:border-gray-700 pt-4",children:u.jsxs("div",{className:"flex items-center justify-between",children:[u.jsxs("button",{onClick:Le,className:`flex items-center space-x-2 px-3 py-1.5 bg-gray-100 hover:bg-gray-200
67
+ dark:bg-gray-700 dark:hover:bg-gray-600 text-gray-700 dark:text-gray-300
68
+ text-sm rounded-md transition-colors`,children:[u.jsx(Bv,{className:"w-4 h-4"}),u.jsx("span",{children:s("serviceManagementModal.refreshStatus")})]}),u.jsxs("div",{className:"text-sm text-gray-500 dark:text-gray-400",children:[C.filter(Y=>Y.isOnline).length," ",s("serviceManagementModal.servicesOnline")," / ",C.length]})]})})]})]}),_&&u.jsx("div",{className:"fixed inset-0 bg-black bg-opacity-50 flex items-center justify-center z-[60]",children:u.jsxs("div",{className:"bg-white dark:bg-gray-800 rounded-lg shadow-xl p-6 max-w-md w-full mx-4",children:[u.jsxs("div",{className:"flex items-center justify-between mb-4",children:[u.jsxs("div",{className:"flex items-center space-x-2",children:[u.jsx(vc,{className:"w-5 h-5 text-purple-500"}),u.jsx("h3",{className:"text-lg font-medium text-gray-900 dark:text-white",children:s("serviceManagementModal.password.title")})]}),u.jsx("button",{onClick:()=>F(null),className:"text-gray-400 hover:text-gray-600 dark:hover:text-gray-300",children:u.jsx(gi,{className:"w-5 h-5"})})]}),u.jsx("div",{className:"flex items-center space-x-3 p-3 rounded-lg bg-gray-50 dark:bg-gray-700/50 mb-4",children:Oe?u.jsxs("div",{className:"flex items-center space-x-2 text-gray-500",children:[u.jsx("div",{className:"animate-spin rounded-full h-4 w-4 border-b-2 border-gray-500"}),u.jsx("span",{className:"text-sm",children:s("serviceManagementModal.password.checking")})]}):Q?u.jsxs(u.Fragment,{children:[u.jsx(vc,{className:"w-5 h-5 text-blue-500"}),u.jsx("span",{className:"text-sm text-gray-700 dark:text-gray-300",children:s("serviceManagementModal.password.currentlySet")})]}):u.jsxs(u.Fragment,{children:[u.jsx(Kt,{className:"w-5 h-5 text-green-500"}),u.jsx("span",{className:"text-sm text-gray-700 dark:text-gray-300",children:s("serviceManagementModal.password.currentlyNotSet")})]})}),u.jsx("p",{className:"text-sm text-gray-500 dark:text-gray-400 mb-4",children:s("serviceManagementModal.password.description")}),u.jsxs("div",{className:"space-y-4",children:[u.jsxs("div",{children:[u.jsx("label",{className:"block text-sm font-medium text-gray-700 dark:text-gray-300 mb-2",children:s("serviceManagementModal.password.newPassword")}),u.jsxs("div",{className:"relative",children:[u.jsx("input",{type:K?"text":"password",value:Qe,onChange:Y=>ne(Y.target.value),placeholder:s("serviceManagementModal.password.newPasswordPlaceholder"),className:`w-full px-4 py-2 pr-10 rounded-lg border border-gray-300 dark:border-gray-600
69
+ bg-white dark:bg-gray-700 text-gray-900 dark:text-white
70
+ focus:ring-2 focus:ring-purple-500 focus:border-transparent`}),u.jsx("button",{type:"button",onClick:()=>q(!K),className:"absolute right-3 top-1/2 -translate-y-1/2 text-gray-400 hover:text-gray-600",children:K?u.jsx(Hv,{className:"w-4 h-4"}):u.jsx(qv,{className:"w-4 h-4"})})]})]}),u.jsxs("div",{children:[u.jsx("label",{className:"block text-sm font-medium text-gray-700 dark:text-gray-300 mb-2",children:s("serviceManagementModal.password.confirmPassword")}),u.jsx("input",{type:K?"text":"password",value:we,onChange:Y=>j(Y.target.value),placeholder:s("serviceManagementModal.password.confirmPasswordPlaceholder"),className:`w-full px-4 py-2 rounded-lg border border-gray-300 dark:border-gray-600
71
+ bg-white dark:bg-gray-700 text-gray-900 dark:text-white
72
+ focus:ring-2 focus:ring-purple-500 focus:border-transparent`})]}),u.jsxs("div",{className:"flex justify-end space-x-3 pt-2",children:[u.jsx("button",{onClick:()=>F(null),className:`px-4 py-2 text-sm font-medium text-gray-700 dark:text-gray-300
73
+ hover:bg-gray-100 dark:hover:bg-gray-700 rounded-md`,children:s("serviceManagementModal.cancel")}),u.jsxs("button",{onClick:Qt,disabled:de,className:`px-4 py-2 text-sm font-medium text-white bg-purple-600 hover:bg-purple-700
74
+ disabled:bg-gray-400 disabled:cursor-not-allowed rounded-md flex items-center space-x-2`,children:[de?u.jsx("div",{className:"w-4 h-4 border-2 border-white border-t-transparent rounded-full animate-spin"}):u.jsx(rp,{className:"w-4 h-4"}),u.jsx("span",{children:s("serviceManagementModal.password.save")})]})]})]})]})}),G&&I&&u.jsx("div",{className:"fixed inset-0 bg-black bg-opacity-50 flex items-center justify-center z-[60]",children:u.jsxs("div",{className:"bg-white dark:bg-gray-800 rounded-lg shadow-xl p-6 max-w-md mx-4",children:[u.jsxs("div",{className:"flex items-start space-x-3 mb-4",children:[u.jsx(Hp,{className:"w-6 h-6 text-yellow-500 flex-shrink-0 mt-0.5"}),u.jsxs("div",{children:[u.jsx("h3",{className:"text-lg font-medium text-gray-900 dark:text-white mb-2",children:s("serviceManagementModal.switchWarning.title")}),u.jsx("p",{className:"text-sm text-gray-600 dark:text-gray-300 mb-3",children:s("serviceManagementModal.switchWarning.message",{name:I.name,url:I.url})}),u.jsx("p",{className:"text-sm text-gray-500 dark:text-gray-400",children:s("serviceManagementModal.switchWarning.consequence")})]})]}),u.jsxs("div",{className:"flex justify-end space-x-3 mt-6",children:[u.jsx("button",{onClick:()=>{Z(!1),V(null)},className:`px-4 py-2 text-sm font-medium text-gray-700 dark:text-gray-300
75
+ hover:bg-gray-100 dark:hover:bg-gray-700 rounded-md`,children:s("serviceManagementModal.switchWarning.cancel")}),u.jsx("button",{onClick:re,className:"px-4 py-2 text-sm font-medium text-white bg-yellow-600 hover:bg-yellow-700 rounded-md",children:s("serviceManagementModal.switchWarning.continue")})]})]})})]}):null},$0=()=>{const[i,c]=h.useState({xs:!1,sm:!1,md:!1,lg:!1,xl:!1,"2xl":!1,"3xl":!1});return h.useEffect(()=>{const s=()=>{const r=window.innerWidth;c({xs:r>=475,sm:r>=640,md:r>=768,lg:r>=1024,xl:r>=1280,"2xl":r>=1536,"3xl":r>=1600})};return s(),window.addEventListener("resize",s),()=>window.removeEventListener("resize",s)},[]),i},J0=()=>{const[i,c]=h.useState({width:typeof window<"u"?window.innerWidth:1024,height:typeof window<"u"?window.innerHeight:768});return h.useEffect(()=>{const s=()=>{c({width:window.innerWidth,height:window.innerHeight})};return s(),window.addEventListener("resize",s),()=>window.removeEventListener("resize",s)},[]),i},W0=()=>{const[i,c]=h.useState("portrait");return h.useEffect(()=>{const s=()=>{c(window.innerHeight>window.innerWidth?"portrait":"landscape")};return s(),window.addEventListener("resize",s),()=>window.removeEventListener("resize",s)},[]),i},ig=h.createContext(void 0),eS=({children:i})=>{const c=$0(),s=J0(),r=W0(),f=!c.md,m=c.md&&!c.lg,y=c.lg,[b,v]=h.useState(!1),[g,x]=h.useState(!1),[C,D]=h.useState(null);h.useEffect(()=>{y&&(v(!1),x(!1),D(null))},[y]),h.useEffect(()=>{b?(x(!1),D("sidebar")):g?(v(!1),D("right")):D(null)},[b,g]),h.useEffect(()=>{f&&(v(!1),x(!1),D(null))},[r,f]);const H={isMobile:f,isTablet:m,isDesktop:y,breakpoints:c,screenSize:s,orientation:r,sidebarOpen:b,setSidebarOpen:v,rightPanelOpen:g,setRightPanelOpen:x,activePanel:C,setActivePanel:D};return u.jsx(ig.Provider,{value:H,children:i})},eu=()=>{const i=h.useContext(ig);if(i===void 0)throw new Error("useMobileContext must be used within a MobileProvider");return i},tS=i=>[{name:i("nav.dashboard"),href:"/dashboard",icon:Vv},{name:i("nav.projects"),href:"/projects",icon:Gv},{name:i("nav.mcp"),href:"/mcp",icon:vi},{name:i("nav.skills"),href:"/skills",icon:Kv},{name:i("nav.plugins"),href:"/plugins",icon:Iv},{name:i("nav.agents"),href:"/agents",icon:cp},{name:i("nav.commands"),href:"/settings/commands",icon:Yv},{name:i("nav.subagents"),href:"/settings/subagents",icon:cp},{name:i("nav.scheduledTasks"),href:"/scheduled-tasks",icon:Qv},{name:i("nav.settings"),href:"/settings",icon:ts,submenu:[{name:i("nav.settingsSubmenu.general"),href:"/settings/general",icon:Xv},{name:i("nav.settingsSubmenu.suppliers"),href:"/settings/suppliers",icon:Zv},{name:i("nav.settingsSubmenu.memory"),href:"/settings/memory",icon:$v},{name:i("nav.settingsSubmenu.mcpAdmin"),href:"/settings/mcp-admin",icon:Jv}]}],og=({onClose:i})=>{const{t:c}=Ea("pages"),s=Yt(),r=Si(),{isMobile:f}=eu(),[m,y]=h.useState(()=>s.pathname.startsWith("/settings")?[c("nav.settings")]:[]),[b,v]=h.useState(!1),g=tS(c),x=O=>{y(R=>R.includes(O)?R.filter(N=>N!==O):[...R,O])},C=O=>m.includes(O),D=O=>O.submenu&&O.submenu.length>0?O.submenu.some(N=>s.pathname===N.href||s.pathname.startsWith(N.href+"/")):s.pathname===O.href||s.pathname.startsWith(O.href+"/"),H=O=>{const R=O.submenu&&O.submenu.length>0,N=C(O.name),B=D(O);return R?u.jsx("li",{children:u.jsxs("div",{className:"space-y-1",children:[u.jsxs("button",{onClick:()=>x(O.name),className:`w-full flex items-center space-x-3 px-4 py-3 rounded-lg transition-colors ${B?"bg-blue-50 dark:bg-blue-900/30 text-blue-700 dark:text-blue-300":"text-gray-600 dark:text-gray-300 hover:bg-gray-50 dark:hover:bg-gray-700 hover:text-gray-900 dark:hover:text-white"}`,children:[u.jsx(O.icon,{className:"w-5 h-5"}),u.jsx("span",{className:"font-medium flex-1 text-left",children:O.name}),N?u.jsx(Wv,{className:"w-4 h-4"}):u.jsx(eb,{className:"w-4 h-4"})]}),N&&u.jsx("ul",{className:"ml-6 space-y-1",children:O.submenu.map(P=>u.jsx("li",{children:u.jsxs(Lc,{to:P.href,onClick:()=>{f&&i&&i()},className:({isActive:G})=>`flex items-center space-x-3 px-4 py-2 rounded-lg transition-colors text-sm ${G?"bg-blue-100 dark:bg-blue-900/40 text-blue-700 dark:text-blue-300":"text-gray-600 dark:text-gray-300 hover:bg-gray-50 dark:hover:bg-gray-700 hover:text-gray-900 dark:hover:text-white"}`,children:[u.jsx(P.icon,{className:"w-4 h-4"}),u.jsx("span",{className:"font-medium",children:P.name})]})},P.name))})]})},O.nameKey):u.jsx("li",{children:u.jsxs(Lc,{to:O.href,onClick:()=>{f&&i&&i()},className:({isActive:P})=>`flex items-center space-x-3 px-4 py-3 rounded-lg transition-colors ${P?"bg-blue-50 dark:bg-blue-900/30 text-blue-700 dark:text-blue-300":"text-gray-600 dark:text-gray-300 hover:bg-gray-50 dark:hover:bg-gray-700 hover:text-gray-900 dark:hover:text-white"}`,children:[u.jsx(O.icon,{className:"w-5 h-5"}),u.jsx("span",{className:"font-medium",children:O.name})]})},O.name)};return u.jsxs("div",{className:"w-64 bg-white dark:bg-gray-800 shadow-sm border-r border-gray-200 dark:border-gray-700 flex flex-col h-full z-40",children:[u.jsx("div",{className:"px-6 py-8 flex-shrink-0",children:u.jsxs("button",{onClick:()=>r("/"),className:"flex items-center space-x-3 w-full text-left hover:opacity-80 transition-opacity focus:outline-none focus:ring-2 focus:ring-blue-500 focus:ring-offset-2 rounded-lg p-2",children:[u.jsx("div",{className:"w-10 h-10 bg-blue-600 rounded-lg flex items-center justify-center",children:u.jsx("img",{src:"/cc-studio.png",alt:"Agent Studio",className:"w-10 h-10"})}),u.jsxs("div",{className:"flex flex-col min-w-0",children:[u.jsx("h1",{className:"text-xl font-bold text-gray-900 dark:text-white whitespace-nowrap",children:"Agent Studio"}),u.jsx("p",{className:"text-sm text-gray-500 dark:text-gray-400 whitespace-nowrap",children:"Your Agent Workspace"})]})]})}),u.jsx("nav",{className:"flex-1 overflow-y-auto px-4 pb-4",children:u.jsx("ul",{className:"space-y-2",children:g.map(H)})}),u.jsx("div",{className:"flex-shrink-0 p-4 border-t border-gray-200 dark:border-gray-700",children:u.jsx("div",{className:"space-y-3",children:u.jsx(G0,{onManageServices:()=>v(!0)})})}),u.jsx(Z0,{isOpen:b,onClose:()=>v(!1)})]})},aS=({isOpen:i,onClose:c})=>{const{isMobile:s}=eu();return s?u.jsxs(u.Fragment,{children:[i&&u.jsx("div",{className:"fixed inset-0 bg-black bg-opacity-50 z-50 lg:hidden",onClick:c,"aria-hidden":"true"}),u.jsxs("div",{className:`
76
+ fixed top-0 left-0 h-full w-72 bg-white dark:bg-gray-800 shadow-xl z-[60]
77
+ transform transition-transform duration-300 ease-in-out
78
+ ${i?"translate-x-0":"-translate-x-full"}
79
+ lg:hidden
80
+ `,children:[u.jsxs("div",{className:"flex items-center justify-between p-4 border-b border-gray-200 dark:border-gray-700",children:[u.jsx("h2",{className:"text-lg font-semibold text-gray-900 dark:text-white",children:"Menu"}),u.jsx("button",{onClick:c,className:"p-2 text-gray-500 hover:text-gray-700 dark:text-gray-400 dark:hover:text-gray-200 rounded-md hover:bg-gray-100 dark:hover:bg-gray-700 transition-colors","aria-label":"Close sidebar",children:u.jsx(gi,{className:"w-5 h-5"})})]}),u.jsx("div",{className:"overflow-y-auto h-full pb-20",children:u.jsx(og,{onClose:c})})]})]}):null},ta=({children:i})=>{const{isMobile:c,sidebarOpen:s,setSidebarOpen:r}=eu();return u.jsxs("div",{className:"h-screen bg-gray-50 dark:bg-gray-900 flex",children:[u.jsx("div",{className:"hidden md:block",children:u.jsx(og,{})}),u.jsx(aS,{isOpen:s,onClose:()=>r(!1)}),u.jsxs("main",{className:"flex-1 overflow-auto relative",children:[c&&u.jsx("header",{className:"sticky top-0 z-40 bg-white dark:bg-gray-800 border-b border-gray-200 dark:border-gray-700 px-4 py-3",children:u.jsxs("div",{className:"flex items-center justify-between",children:[u.jsx("button",{onClick:()=>r(!0),className:"p-2 text-gray-500 hover:text-gray-700 dark:text-gray-400 dark:hover:text-gray-200 rounded-md hover:bg-gray-100 dark:hover:bg-gray-700 transition-colors","aria-label":"Open sidebar",children:u.jsx(tb,{className:"w-5 h-5"})}),u.jsxs("div",{className:"flex items-center space-x-2",children:[u.jsx("div",{className:"w-8 h-8 bg-blue-600 rounded-lg flex items-center justify-center",children:u.jsx("img",{src:"/cc-studio.png",alt:"Agent Studio",className:"w-8 h-8"})}),u.jsx("h1",{className:"text-lg font-semibold text-gray-900 dark:text-white",children:"Agent Studio"})]}),u.jsx("div",{className:"w-9 h-9"})," "]})}),u.jsx("div",{className:c?"pb-4":"",children:i})]})]})};function nS(){const{token:i,setToken:c,removeToken:s,getToken:r}=Kc(),{currentService:f}=wi(),[m,y]=h.useState(!1),[b,v]=h.useState(null),[g,x]=h.useState(!1),C=h.useRef(null),D=h.useRef(0),H=f?.id,R=!!h.useMemo(()=>H?r(H):null,[H,r]),N=h.useCallback(async()=>{try{const V=await fetch(`${_t()}/auth/check-password-required`,{method:"GET",headers:{"Content-Type":"application/json"},signal:AbortSignal.timeout(5e3)}),_=await V.json();return V.ok?{success:!0,passwordRequired:_.passwordRequired}:{success:!1,passwordRequired:!0,error:_.error||"Failed to check password requirement"}}catch(V){return console.error("Failed to check password requirement:",V),{success:!1,passwordRequired:!0,error:V instanceof Error?V.message:"Network error"}}},[]),B=h.useCallback(async()=>{if(y(!0),v(null),!f)return v("No service selected"),y(!1),!1;try{const V=await fetch(`${_t()}/auth/login`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({})}),_=await V.json();if(!V.ok){const Q=new Error(_.error||"Login failed");return Q.status=V.status,Q.details=_,v(Q),!1}const F={token:_.token,serviceId:f.id,serviceName:f.name,serviceUrl:f.url,timestamp:Date.now()};return c(F),!0}catch(V){const _=new Error("Network error occurred during login");return _.originalError=V,v(_),!1}finally{y(!1)}},[f,c]),P=h.useCallback(async V=>{if(y(!0),v(null),!f)return v("No service selected"),y(!1),!1;try{const _=await fetch(`${_t()}/auth/login`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({password:V})}),F=await _.json();if(!_.ok){const le=new Error(F.error||"Login failed");return le.status=_.status,le.details=F,le.url=_t(),le.timestamp=Date.now(),v(le),!1}const Q={token:F.token,serviceId:f.id,serviceName:f.name,serviceUrl:f.url,timestamp:Date.now()};return c(Q),!0}catch(_){const F=new Error("Network error occurred during login"),Q=`${_t()}/auth/login`;return _ instanceof Error?(F.originalError={message:_.message,stack:_.stack,name:_.name},F.type=_.name,_.name==="TypeError"?(F.isNetworkError=!0,_.message.includes("fetch")?F.message=`Failed to connect to server at ${_t()}`:_.message.includes("network")&&(F.message=`Network connection error while contacting ${_t()}`)):_.name==="AbortError"&&(F.isAbortError=!0,F.message=`Login request timed out for ${Q}`)):(F.originalError=_,F.type=typeof _),F.requestUrl=Q,F.requestMethod="POST",F.requestBody={password:"[REDACTED]"},F.url=_t(),F.timestamp=Date.now(),v(F),!1}finally{y(!1)}},[f,c]),G=h.useCallback(async()=>{if(f)try{const V=r(f.id);V&&await fetch(`${_t()}/auth/logout`,{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${V.token}`}})}catch(V){console.error("Logout error:",V)}finally{f&&s(f.id)}},[f,r,s]),Z=h.useCallback(async()=>{if(!f)return!1;const V=r(f.id);if(!V)return!1;if(Dc(V))return s(f.id),!1;try{const _=sp(V);if(!_)return s(f.id),!1;const F=new AbortController,Q=setTimeout(()=>F.abort(),5e3),le=await fetch(`${_t()}/auth/verify`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({token:_}),signal:F.signal});clearTimeout(Q);const Oe=await le.json();return!le.ok||!Oe.valid?(le.status===401&&s(f.id),!1):!0}catch(_){return console.error("Token verification error:",_),_.name==="AbortError"?(console.warn("Token verification request timed out"),!1):_ instanceof TypeError&&(_.message.includes("fetch")||_.message.includes("network")||_.message.includes("Failed to fetch"))?(console.warn("Network error during token verification, keeping token"),!1):(s(f.id),!1)}},[f,r,s]),I=h.useCallback(async()=>{if(!f||g)return!1;const V=r(f.id);if(!V||Dc(V))return!1;if(!Qo(V))return!0;x(!0);try{const _=sp(V);if(!_)return!1;const F=await fetch(`${_t()}/auth/refresh`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({token:_})});if(!F.ok)return console.error("Token refresh failed:",F.status),!1;const Q=await F.json();if(Q.success&&Q.token){if(Q.refreshed){const le={...V,token:Q.token,timestamp:Date.now()};c(le),console.log("Token refreshed successfully")}return!0}return!1}catch(_){return console.error("Token refresh error:",_),!1}finally{x(!1)}},[f,r,g,c]);return h.useEffect(()=>{if(!f||!R){C.current&&(clearInterval(C.current),C.current=null);return}return C.current=setInterval(async()=>{const V=Date.now();if(V-D.current<120*1e3)return;D.current=V;const _=r(f.id);_&&Qo(_)&&(console.log("Auto-refreshing token..."),await I())},300*1e3),()=>{C.current&&(clearInterval(C.current),C.current=null)}},[f,R,r,I]),h.useEffect(()=>{if(!f||!R)return;(async()=>{const _=r(f.id);_&&Qo(_)&&(console.log("Token needs refresh on service change..."),await I())})()},[f?.id]),{token:i,isAuthenticated:R,isLoading:m,error:b,isRefreshing:g,login:P,loginWithoutPassword:B,logout:G,verifyToken:Z,refreshToken:I,checkPasswordRequired:N}}const tu="backend_onboarding_completed",lS=()=>{try{const i=localStorage.getItem(tu);return i?JSON.parse(i):{completed:!1}}catch(i){return console.error("Failed to read backend onboarding status:",i),{completed:!1}}},Ec=(i=!1)=>{const c={completed:!0,completedAt:Date.now(),skipped:i};localStorage.setItem(tu,JSON.stringify(c))},Y1=()=>{localStorage.removeItem(tu)},iS=({onNext:i,onSkip:c})=>{const{t:s}=Ea("onboarding");return u.jsxs("div",{className:"text-center space-y-6",children:[u.jsx("div",{className:"flex justify-center",children:u.jsx("div",{className:"p-4 bg-blue-100 dark:bg-blue-900/30 rounded-full",children:u.jsx(ab,{className:"w-12 h-12 text-blue-600 dark:text-blue-400"})})}),u.jsxs("div",{children:[u.jsx("h2",{className:"text-2xl font-bold text-gray-900 dark:text-white mb-2",children:s("backend.welcome.title")}),u.jsx("p",{className:"text-gray-600 dark:text-gray-400",children:s("backend.welcome.subtitle")})]}),u.jsxs("div",{className:"bg-gray-50 dark:bg-gray-700/50 rounded-lg p-6 space-y-4 text-left",children:[u.jsx("p",{className:"text-sm font-medium text-gray-700 dark:text-gray-300 mb-3",children:s("backend.welcome.features.title")}),u.jsxs("div",{className:"space-y-3",children:[u.jsxs("div",{className:"flex items-start space-x-3",children:[u.jsx(vi,{className:"w-5 h-5 text-blue-600 dark:text-blue-400 mt-0.5 flex-shrink-0"}),u.jsxs("div",{children:[u.jsx("p",{className:"text-sm font-medium text-gray-900 dark:text-white",children:s("backend.welcome.features.ai.title")}),u.jsx("p",{className:"text-xs text-gray-600 dark:text-gray-400",children:s("backend.welcome.features.ai.description")})]})]}),u.jsxs("div",{className:"flex items-start space-x-3",children:[u.jsx(nb,{className:"w-5 h-5 text-green-600 dark:text-green-400 mt-0.5 flex-shrink-0"}),u.jsxs("div",{children:[u.jsx("p",{className:"text-sm font-medium text-gray-900 dark:text-white",children:s("backend.welcome.features.storage.title")}),u.jsx("p",{className:"text-xs text-gray-600 dark:text-gray-400",children:s("backend.welcome.features.storage.description")})]})]}),u.jsxs("div",{className:"flex items-start space-x-3",children:[u.jsx(lb,{className:"w-5 h-5 text-purple-600 dark:text-purple-400 mt-0.5 flex-shrink-0"}),u.jsxs("div",{children:[u.jsx("p",{className:"text-sm font-medium text-gray-900 dark:text-white",children:s("backend.welcome.features.history.title")}),u.jsx("p",{className:"text-xs text-gray-600 dark:text-gray-400",children:s("backend.welcome.features.history.description")})]})]})]})]}),u.jsxs("div",{className:"flex space-x-3",children:[u.jsxs("button",{onClick:c,className:"flex-1 flex items-center justify-center space-x-2 px-4 py-3 border border-gray-300 dark:border-gray-600 rounded-lg text-gray-700 dark:text-gray-300 hover:bg-gray-50 dark:hover:bg-gray-800 transition-colors",children:[u.jsx(ib,{className:"w-4 h-4"}),u.jsx("span",{children:s("backend.actions.skip")})]}),u.jsxs("button",{onClick:i,className:"flex-1 flex items-center justify-center space-x-2 px-4 py-3 bg-blue-600 text-white rounded-lg hover:bg-blue-700 transition-colors",children:[u.jsx("span",{children:s("backend.actions.getStarted")}),u.jsx(ob,{className:"w-4 h-4"})]})]})]})},oS=()=>{const{t:i}=Ea("onboarding");return u.jsxs("div",{className:"text-center py-8 space-y-6",children:[u.jsx(qp,{className:"w-12 h-12 mx-auto animate-spin text-blue-600 dark:text-blue-400"}),u.jsxs("div",{children:[u.jsx("h3",{className:"text-lg font-semibold text-gray-900 dark:text-white mb-2",children:i("backend.detecting.title")}),u.jsx("p",{className:"text-gray-600 dark:text-gray-400",children:i("backend.detecting.description")})]}),u.jsxs("div",{className:"bg-gray-50 dark:bg-gray-700/50 rounded-lg p-4 space-y-2 text-left",children:[u.jsxs("div",{className:"flex items-center space-x-2 text-sm text-gray-600 dark:text-gray-400",children:[u.jsx("div",{className:"w-2 h-2 bg-blue-600 rounded-full animate-pulse"}),u.jsx("span",{children:"http://127.0.0.1:4936"})]}),u.jsxs("div",{className:"flex items-center space-x-2 text-sm text-gray-600 dark:text-gray-400",children:[u.jsx("div",{className:"w-2 h-2 bg-blue-600 rounded-full animate-pulse"}),u.jsx("span",{children:"http://localhost:4936"})]})]})]})},sS=({serviceUrl:i,onUseService:c,onAddOther:s})=>{const{t:r}=Ea("onboarding");return u.jsxs("div",{className:"space-y-6",children:[u.jsx("div",{className:"flex justify-center",children:u.jsx(Kt,{className:"w-16 h-16 text-green-500"})}),u.jsxs("div",{className:"text-center",children:[u.jsx("h3",{className:"text-xl font-bold text-gray-900 dark:text-white mb-2",children:r("backend.found.title")}),u.jsx("p",{className:"text-gray-600 dark:text-gray-400",children:r("backend.found.description")})]}),u.jsx("div",{className:"bg-green-50 dark:bg-green-900/20 border border-green-200 dark:border-green-800 rounded-lg p-4",children:u.jsxs("div",{className:"flex items-start space-x-3",children:[u.jsx(vi,{className:"w-5 h-5 text-green-600 dark:text-green-400 mt-0.5"}),u.jsxs("div",{className:"flex-1",children:[u.jsx("p",{className:"text-sm font-medium text-gray-900 dark:text-white mb-1",children:r("backend.found.serviceAddress")}),u.jsx("p",{className:"text-sm text-gray-600 dark:text-gray-400 font-mono",children:i}),u.jsxs("div",{className:"flex items-center space-x-2 mt-2",children:[u.jsx(Kt,{className:"w-4 h-4 text-green-500"}),u.jsx("span",{className:"text-xs text-green-700 dark:text-green-300",children:r("backend.found.status")})]})]})]})}),u.jsxs("div",{className:"space-y-3",children:[u.jsxs("button",{onClick:c,className:"w-full flex items-center justify-center space-x-2 px-4 py-3 bg-blue-600 text-white rounded-lg hover:bg-blue-700 transition-colors",children:[u.jsx(Kt,{className:"w-4 h-4"}),u.jsx("span",{children:r("backend.found.useThisService")})]}),u.jsxs("button",{onClick:s,className:"w-full flex items-center justify-center space-x-2 px-4 py-3 border border-gray-300 dark:border-gray-600 rounded-lg text-gray-700 dark:text-gray-300 hover:bg-gray-50 dark:hover:bg-gray-800 transition-colors",children:[u.jsx(Rc,{className:"w-4 h-4"}),u.jsx("span",{children:r("backend.found.addOtherService")})]})]})]})},Ap=({onRetry:i,onAddRemote:c,onBack:s,showWarning:r=!0})=>{const{t:f}=Ea("onboarding"),[m,y]=h.useState(""),[b,v]=h.useState(""),[g,x]=h.useState(!1),[C,D]=h.useState(null),[H,O]=h.useState(!1),R=`git clone https://github.com/okguitar/agentstudio.git
81
+ cd agentstudio
82
+ pnpm install
83
+ pnpm run dev:backend`,N=async()=>{try{await navigator.clipboard.writeText(R),O(!0),setTimeout(()=>O(!1),2e3)}catch(G){console.error("Failed to copy:",G)}},B=async()=>{if(b){x(!0),D(null);try{const G=`${b}/api/health`,Z=await fetch(G,{method:"GET",headers:{"Content-Type":"application/json"},signal:AbortSignal.timeout(5e3)});D(Z.ok?"success":"error")}catch{D("error")}finally{x(!1)}}},P=async()=>{if(!m.trim()||!b.trim())return;await c(m.trim(),b.trim())&&(y(""),v(""),D(null))};return u.jsxs("div",{className:"space-y-6",children:[s&&u.jsxs("button",{onClick:s,className:"flex items-center space-x-2 text-sm text-gray-600 dark:text-gray-400 hover:text-gray-900 dark:hover:text-gray-200 transition-colors",children:[u.jsx(sb,{className:"w-4 h-4"}),u.jsx("span",{children:f("backend.actions.back")})]}),r&&u.jsx("div",{className:"bg-yellow-50 dark:bg-yellow-900/20 border border-yellow-200 dark:border-yellow-800 rounded-lg p-4",children:u.jsxs("div",{className:"flex items-start space-x-3",children:[u.jsx(rb,{className:"w-5 h-5 text-yellow-600 dark:text-yellow-400 mt-0.5 flex-shrink-0"}),u.jsxs("div",{children:[u.jsx("h4",{className:"font-medium text-yellow-900 dark:text-yellow-200 mb-1",children:f("backend.notFound.title")}),u.jsx("p",{className:"text-sm text-yellow-800 dark:text-yellow-300",children:f("backend.notFound.description")})]})]})}),u.jsxs("div",{children:[u.jsx("h4",{className:"font-medium text-gray-900 dark:text-white mb-2",children:f("backend.addService.title")}),u.jsx("p",{className:"text-sm text-gray-600 dark:text-gray-400",children:f("backend.addService.description")})]}),u.jsxs("div",{className:"space-y-3",children:[u.jsxs("div",{children:[u.jsx("label",{className:"block text-sm font-medium text-gray-700 dark:text-gray-300 mb-1",children:f("backend.addService.serviceName")}),u.jsx("input",{type:"text",value:m,onChange:G=>y(G.target.value),placeholder:f("backend.addService.serviceNamePlaceholder"),className:"w-full px-3 py-2 border border-gray-300 dark:border-gray-600 rounded-lg focus:ring-2 focus:ring-blue-500 dark:bg-gray-800 dark:text-white"})]}),u.jsxs("div",{children:[u.jsx("label",{className:"block text-sm font-medium text-gray-700 dark:text-gray-300 mb-1",children:f("backend.addService.serviceUrl")}),u.jsx("input",{type:"url",value:b,onChange:G=>v(G.target.value),placeholder:"https://api.example.com",className:"w-full px-3 py-2 border border-gray-300 dark:border-gray-600 rounded-lg focus:ring-2 focus:ring-blue-500 dark:bg-gray-800 dark:text-white"})]})]}),u.jsxs("div",{className:"flex space-x-3",children:[u.jsx("button",{onClick:B,disabled:!b||g,className:"flex-1 flex items-center justify-center space-x-2 px-4 py-2.5 border border-gray-300 dark:border-gray-600 rounded-lg text-gray-700 dark:text-gray-300 hover:bg-gray-50 dark:hover:bg-gray-800 transition-colors disabled:opacity-50 disabled:cursor-not-allowed",children:g?u.jsxs(u.Fragment,{children:[u.jsx(qp,{className:"w-4 h-4 animate-spin"}),u.jsx("span",{children:f("backend.addService.testing")})]}):C==="success"?u.jsxs(u.Fragment,{children:[u.jsx(Kt,{className:"w-4 h-4 text-green-500"}),u.jsx("span",{children:f("backend.addService.success")})]}):C==="error"?u.jsxs(u.Fragment,{children:[u.jsx(Wo,{className:"w-4 h-4 text-red-500"}),u.jsx("span",{children:f("backend.addService.failed")})]}):u.jsxs(u.Fragment,{children:[u.jsx(up,{className:"w-4 h-4"}),u.jsx("span",{children:f("backend.addService.testConnection")})]})}),u.jsx("button",{onClick:P,disabled:!m||!b||C!=="success",className:"flex-1 px-4 py-2.5 bg-blue-600 text-white rounded-lg hover:bg-blue-700 transition-colors disabled:bg-gray-400 disabled:cursor-not-allowed",children:f("backend.addService.addButton")})]}),u.jsxs("div",{className:"bg-gray-50 dark:bg-gray-800/50 border border-gray-200 dark:border-gray-700 rounded-lg p-4 space-y-3",children:[u.jsxs("div",{className:"flex items-center space-x-2",children:[u.jsx(cb,{className:"w-4 h-4 text-blue-600 dark:text-blue-400"}),u.jsx("h5",{className:"font-medium text-gray-900 dark:text-white text-sm",children:f("backend.addService.installGuide.title")})]}),u.jsx("p",{className:"text-sm text-gray-600 dark:text-gray-400",children:f("backend.addService.installGuide.description")}),u.jsxs("div",{className:"bg-gray-900 dark:bg-gray-950 rounded-lg p-3 relative",children:[u.jsx("pre",{className:"text-xs text-green-400 font-mono whitespace-pre-wrap",children:R}),u.jsx("button",{onClick:N,className:"absolute top-2 right-2 p-1.5 bg-gray-800 hover:bg-gray-700 rounded text-gray-400 hover:text-white transition-colors",title:f("backend.addService.installGuide.copyCommands"),children:H?u.jsx(Kt,{className:"w-3.5 h-3.5 text-green-400"}):u.jsx(dp,{className:"w-3.5 h-3.5"})})]}),u.jsxs("div",{className:"flex space-x-2",children:[u.jsxs("button",{onClick:N,className:"flex-1 flex items-center justify-center space-x-1.5 px-3 py-1.5 border border-gray-300 dark:border-gray-600 rounded text-xs text-gray-700 dark:text-gray-300 hover:bg-gray-100 dark:hover:bg-gray-700 transition-colors",children:[u.jsx(dp,{className:"w-3.5 h-3.5"}),u.jsx("span",{children:f("backend.addService.installGuide.copyCommands")})]}),u.jsxs("a",{href:"https://github.com/okguitar/agentstudio?tab=readme-ov-file#-quick-start",target:"_blank",rel:"noopener noreferrer",className:"flex-1 flex items-center justify-center space-x-1.5 px-3 py-1.5 border border-gray-300 dark:border-gray-600 rounded text-xs text-gray-700 dark:text-gray-300 hover:bg-gray-100 dark:hover:bg-gray-700 transition-colors",children:[u.jsx(ub,{className:"w-3.5 h-3.5"}),u.jsx("span",{children:f("backend.addService.installGuide.viewDocs")})]})]})]}),i&&u.jsxs("button",{onClick:i,className:"w-full flex items-center justify-center space-x-2 px-4 py-2.5 border border-gray-300 dark:border-gray-600 rounded-lg text-gray-700 dark:text-gray-300 hover:bg-gray-50 dark:hover:bg-gray-800 transition-colors",children:[u.jsx(up,{className:"w-4 h-4"}),u.jsx("span",{children:f("backend.addService.retry")})]})]})},rS=({serviceName:i,serviceUrl:c,onGoToLogin:s,onManageServices:r})=>{const{t:f}=Ea("onboarding");return u.jsxs("div",{className:"text-center space-y-6",children:[u.jsx("div",{className:"flex justify-center",children:u.jsx("div",{className:"p-4 bg-green-100 dark:bg-green-900/30 rounded-full",children:u.jsx(Kt,{className:"w-12 h-12 text-green-600 dark:text-green-400"})})}),u.jsxs("div",{children:[u.jsx("h2",{className:"text-2xl font-bold text-gray-900 dark:text-white mb-2",children:f("backend.complete.title")}),u.jsx("p",{className:"text-gray-600 dark:text-gray-400",children:f("backend.complete.description")})]}),u.jsx("div",{className:"bg-green-50 dark:bg-green-900/20 border border-green-200 dark:border-green-800 rounded-lg p-4 text-left",children:u.jsxs("div",{className:"space-y-2",children:[u.jsxs("div",{children:[u.jsx("p",{className:"text-xs text-gray-600 dark:text-gray-400",children:f("backend.complete.serviceName")}),u.jsx("p",{className:"text-sm font-medium text-gray-900 dark:text-white",children:i})]}),u.jsxs("div",{children:[u.jsx("p",{className:"text-xs text-gray-600 dark:text-gray-400",children:f("backend.complete.serviceUrl")}),u.jsx("p",{className:"text-sm font-mono text-gray-900 dark:text-white",children:c})]})]})}),u.jsxs("div",{className:"bg-blue-50 dark:bg-blue-900/20 border border-blue-200 dark:border-blue-800 rounded-lg p-4 text-left",children:[u.jsx("p",{className:"text-sm font-medium text-blue-900 dark:text-blue-200 mb-2",children:f("backend.complete.nextSteps.title")}),u.jsx("p",{className:"text-sm text-blue-800 dark:text-blue-300",children:f("backend.complete.nextSteps.description")})]}),u.jsxs("div",{className:"space-y-3",children:[u.jsxs("button",{onClick:s,className:"w-full flex items-center justify-center space-x-2 px-4 py-3 bg-blue-600 text-white rounded-lg hover:bg-blue-700 transition-colors",children:[u.jsx(db,{className:"w-4 h-4"}),u.jsx("span",{children:f("backend.complete.goToLogin")})]}),u.jsxs("button",{onClick:r,className:"w-full flex items-center justify-center space-x-2 px-4 py-3 border border-gray-300 dark:border-gray-600 rounded-lg text-gray-700 dark:text-gray-300 hover:bg-gray-50 dark:hover:bg-gray-800 transition-colors",children:[u.jsx(ts,{className:"w-4 h-4"}),u.jsx("span",{children:f("backend.complete.manageServices")})]})]})]})},cS=({onComplete:i})=>{const{t:c}=Ea("onboarding"),s=Si(),{services:r,addService:f,switchService:m}=wi(),[y,b]=h.useState("welcome"),[v,g]=h.useState(null),[x,C]=h.useState(!1);h.useEffect(()=>{y==="detecting"&&D()},[y]);const D=async()=>{const F=["http://127.0.0.1:4936","http://localhost:4936"];for(const Q of F)try{if((await fetch(`${Q}/api/health`,{method:"GET",headers:{"Content-Type":"application/json"},signal:AbortSignal.timeout(3e3)})).ok){g({name:"Local Development Server",url:Q}),b("found");return}}catch{}b("not-found")},H=()=>{if(!v)return;const F=r.find(Q=>Q.url===v.url);if(F)m(F.id);else{const Q=f({name:v.name,url:v.url});m(Q.id)}Ec(!1),b("complete")},O=()=>{b("add-service")},R=()=>{b("detecting")},N=()=>{b("found")},B=async(F,Q)=>{try{const le=f({name:F,url:Q});return m(le.id),g({name:F,url:Q}),Ec(!1),b("complete"),!0}catch(le){return console.error("Failed to add remote service:",le),!1}},P=()=>{C(!0)},G=()=>{C(!1)},Z=()=>{Ec(!0),i()},I=()=>{i()},V=()=>{i(),s("/login")},_=()=>{switch(y){case"welcome":return u.jsx(iS,{onNext:()=>b("detecting"),onSkip:P});case"detecting":return u.jsx(oS,{});case"found":return v?u.jsx(sS,{serviceUrl:v.url,onUseService:H,onAddOther:O}):null;case"not-found":return u.jsx(Ap,{onRetry:R,onAddRemote:B,showWarning:!0});case"add-service":return u.jsx(Ap,{onAddRemote:B,onBack:N,showWarning:!1});case"complete":return v?u.jsx(rS,{serviceName:v.name,serviceUrl:v.url,onGoToLogin:I,onManageServices:V}):null;default:return null}};return u.jsxs(u.Fragment,{children:[u.jsx("div",{className:"fixed inset-0 bg-black bg-opacity-50 flex items-center justify-center z-50 p-4",children:u.jsxs("div",{className:"bg-white dark:bg-gray-800 rounded-xl shadow-xl border border-gray-200 dark:border-gray-700 p-6 max-w-2xl w-full max-h-[90vh] overflow-y-auto",children:[y==="welcome"&&u.jsx("button",{onClick:P,className:"absolute top-4 right-4 p-2 text-gray-400 hover:text-gray-600 dark:hover:text-gray-300 transition-colors","aria-label":"Close",children:u.jsx(gi,{className:"w-5 h-5"})}),_()]})}),x&&u.jsx("div",{className:"fixed inset-0 bg-black bg-opacity-60 flex items-center justify-center z-[60] p-4",children:u.jsxs("div",{className:"bg-white dark:bg-gray-800 rounded-xl shadow-xl border border-gray-200 dark:border-gray-700 p-6 max-w-md w-full",children:[u.jsxs("div",{className:"flex items-start space-x-3 mb-4",children:[u.jsx(Hp,{className:"w-6 h-6 text-yellow-600 dark:text-yellow-400 flex-shrink-0 mt-0.5"}),u.jsxs("div",{children:[u.jsx("h3",{className:"text-lg font-bold text-gray-900 dark:text-white mb-2",children:c("backend.skipConfirm.title")}),u.jsx("p",{className:"text-sm text-gray-600 dark:text-gray-400 mb-3",children:c("backend.skipConfirm.warning")}),u.jsxs("ul",{className:"text-sm text-gray-600 dark:text-gray-400 space-y-1 mb-3 list-disc list-inside",children:[u.jsx("li",{children:c("backend.skipConfirm.consequences.noAi")}),u.jsx("li",{children:c("backend.skipConfirm.consequences.noStorage")}),u.jsx("li",{children:c("backend.skipConfirm.consequences.noFeatures")})]}),u.jsx("p",{className:"text-sm text-gray-600 dark:text-gray-400 mb-3",children:c("backend.skipConfirm.reconfigure")}),u.jsxs("ul",{className:"text-sm text-gray-600 dark:text-gray-400 space-y-1 list-disc list-inside",children:[u.jsx("li",{children:c("backend.skipConfirm.locations.loginPage")}),u.jsx("li",{children:c("backend.skipConfirm.locations.settingsPage")})]})]})]}),u.jsxs("div",{className:"flex space-x-3",children:[u.jsx("button",{onClick:G,className:"flex-1 px-4 py-2 bg-blue-600 text-white rounded-lg hover:bg-blue-700 transition-colors",children:c("backend.skipConfirm.back")}),u.jsx("button",{onClick:Z,className:"flex-1 px-4 py-2 border border-gray-300 dark:border-gray-600 rounded-lg text-gray-700 dark:text-gray-300 hover:bg-gray-50 dark:hover:bg-gray-800 transition-colors",children:c("backend.skipConfirm.skip")})]})]})})]})};function Gt({children:i}){const{isAuthenticated:c,verifyToken:s}=nS(),{getToken:r}=Kc(),{currentService:f}=wi(),m=Yt(),[y,b]=h.useState(!0),[v,g]=h.useState(!1),[x,C]=h.useState(!1),D=h.useRef(null),H=h.useRef(0);h.useEffect(()=>{lS().completed||(C(!0),b(!1))},[]),h.useEffect(()=>{(async()=>{if(x)return;const N=f?.id||null,B=N?r(N):null;if(!B){g(!1),b(!1);return}if(Dc(B)){g(!1),b(!1);return}const P=Date.now(),G=P-300*1e3;if(!(N!==D.current||H.current===0||Qo(B)||H.current<G)&&!y){g(!0);return}if(b(!0),D.current=N,H.current=P,c){const I=await s();g(I)}else g(!1);b(!1)})()},[f?.id,x,c]);const O=()=>{C(!1),b(!0)};return x?u.jsx(cS,{onComplete:O}):y?u.jsx("div",{className:"min-h-screen flex items-center justify-center bg-gray-50 dark:bg-gray-900",children:u.jsxs("div",{className:"text-center",children:[u.jsx("div",{className:"animate-spin rounded-full h-12 w-12 border-b-2 border-blue-600 mx-auto"}),u.jsx("p",{className:"mt-4 text-gray-600 dark:text-gray-400",children:"Verifying..."})]})}):!c||!v?u.jsx(r0,{to:"/login",state:{from:m},replace:!0}):u.jsx(u.Fragment,{children:i})}function Et(i,c,{checkForDefaultPrevented:s=!0}={}){return function(f){if(i?.(f),s===!1||!f.defaultPrevented)return c?.(f)}}function Tp(i,c){if(typeof i=="function")return i(c);i!=null&&(i.current=c)}function sg(...i){return c=>{let s=!1;const r=i.map(f=>{const m=Tp(f,c);return!s&&typeof m=="function"&&(s=!0),m});if(s)return()=>{for(let f=0;f<r.length;f++){const m=r[f];typeof m=="function"?m():Tp(i[f],null)}}}}function Cn(...i){return h.useCallback(sg(...i),i)}function rg(i,c=[]){let s=[];function r(m,y){const b=h.createContext(y),v=s.length;s=[...s,y];const g=C=>{const{scope:D,children:H,...O}=C,R=D?.[i]?.[v]||b,N=h.useMemo(()=>O,Object.values(O));return u.jsx(R.Provider,{value:N,children:H})};g.displayName=m+"Provider";function x(C,D){const H=D?.[i]?.[v]||b,O=h.useContext(H);if(O)return O;if(y!==void 0)return y;throw new Error(`\`${C}\` must be used within \`${m}\``)}return[g,x]}const f=()=>{const m=s.map(y=>h.createContext(y));return function(b){const v=b?.[i]||m;return h.useMemo(()=>({[`__scope${i}`]:{...b,[i]:v}}),[b,v])}};return f.scopeName=i,[r,uS(f,...c)]}function uS(...i){const c=i[0];if(i.length===1)return c;const s=()=>{const r=i.map(f=>({useScope:f(),scopeName:f.scopeName}));return function(m){const y=r.reduce((b,{useScope:v,scopeName:g})=>{const C=v(m)[`__scope${g}`];return{...b,...C}},{});return h.useMemo(()=>({[`__scope${c.scopeName}`]:y}),[y])}};return s.scopeName=c.scopeName,s}function Uc(i){const c=dS(i),s=h.forwardRef((r,f)=>{const{children:m,...y}=r,b=h.Children.toArray(m),v=b.find(mS);if(v){const g=v.props.children,x=b.map(C=>C===v?h.Children.count(g)>1?h.Children.only(null):h.isValidElement(g)?g.props.children:null:C);return u.jsx(c,{...y,ref:f,children:h.isValidElement(g)?h.cloneElement(g,void 0,x):null})}return u.jsx(c,{...y,ref:f,children:m})});return s.displayName=`${i}.Slot`,s}function dS(i){const c=h.forwardRef((s,r)=>{const{children:f,...m}=s;if(h.isValidElement(f)){const y=gS(f),b=pS(m,f.props);return f.type!==h.Fragment&&(b.ref=r?sg(r,y):y),h.cloneElement(f,b)}return h.Children.count(f)>1?h.Children.only(null):null});return c.displayName=`${i}.SlotClone`,c}var fS=Symbol("radix.slottable");function mS(i){return h.isValidElement(i)&&typeof i.type=="function"&&"__radixId"in i.type&&i.type.__radixId===fS}function pS(i,c){const s={...c};for(const r in c){const f=i[r],m=c[r];/^on[A-Z]/.test(r)?f&&m?s[r]=(...b)=>{const v=m(...b);return f(...b),v}:f&&(s[r]=f):r==="style"?s[r]={...f,...m}:r==="className"&&(s[r]=[f,m].filter(Boolean).join(" "))}return{...i,...s}}function gS(i){let c=Object.getOwnPropertyDescriptor(i.props,"ref")?.get,s=c&&"isReactWarning"in c&&c.isReactWarning;return s?i.ref:(c=Object.getOwnPropertyDescriptor(i,"ref")?.get,s=c&&"isReactWarning"in c&&c.isReactWarning,s?i.props.ref:i.props.ref||i.ref)}function hS(i){const c=i+"CollectionProvider",[s,r]=rg(c),[f,m]=s(c,{collectionRef:{current:null},itemMap:new Map}),y=R=>{const{scope:N,children:B}=R,P=xn.useRef(null),G=xn.useRef(new Map).current;return u.jsx(f,{scope:N,itemMap:G,collectionRef:P,children:B})};y.displayName=c;const b=i+"CollectionSlot",v=Uc(b),g=xn.forwardRef((R,N)=>{const{scope:B,children:P}=R,G=m(b,B),Z=Cn(N,G.collectionRef);return u.jsx(v,{ref:Z,children:P})});g.displayName=b;const x=i+"CollectionItemSlot",C="data-radix-collection-item",D=Uc(x),H=xn.forwardRef((R,N)=>{const{scope:B,children:P,...G}=R,Z=xn.useRef(null),I=Cn(N,Z),V=m(x,B);return xn.useEffect(()=>(V.itemMap.set(Z,{ref:Z,...G}),()=>void V.itemMap.delete(Z))),u.jsx(D,{[C]:"",ref:I,children:P})});H.displayName=x;function O(R){const N=m(i+"CollectionConsumer",R);return xn.useCallback(()=>{const P=N.collectionRef.current;if(!P)return[];const G=Array.from(P.querySelectorAll(`[${C}]`));return Array.from(N.itemMap.values()).sort((V,_)=>G.indexOf(V.ref.current)-G.indexOf(_.ref.current))},[N.collectionRef,N.itemMap])}return[{Provider:y,Slot:g,ItemSlot:H},O,r]}var yS=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","select","span","svg","ul"],aa=yS.reduce((i,c)=>{const s=Uc(`Primitive.${c}`),r=h.forwardRef((f,m)=>{const{asChild:y,...b}=f,v=y?s:c;return typeof window<"u"&&(window[Symbol.for("radix-ui")]=!0),u.jsx(v,{...b,ref:m})});return r.displayName=`Primitive.${c}`,{...i,[c]:r}},{});function cg(i,c){i&&Wc.flushSync(()=>i.dispatchEvent(c))}function An(i){const c=h.useRef(i);return h.useEffect(()=>{c.current=i}),h.useMemo(()=>(...s)=>c.current?.(...s),[])}function vS(i,c=globalThis?.document){const s=An(i);h.useEffect(()=>{const r=f=>{f.key==="Escape"&&s(f)};return c.addEventListener("keydown",r,{capture:!0}),()=>c.removeEventListener("keydown",r,{capture:!0})},[s,c])}var bS="DismissableLayer",_c="dismissableLayer.update",SS="dismissableLayer.pointerDownOutside",xS="dismissableLayer.focusOutside",kp,ug=h.createContext({layers:new Set,layersWithOutsidePointerEventsDisabled:new Set,branches:new Set}),dg=h.forwardRef((i,c)=>{const{disableOutsidePointerEvents:s=!1,onEscapeKeyDown:r,onPointerDownOutside:f,onFocusOutside:m,onInteractOutside:y,onDismiss:b,...v}=i,g=h.useContext(ug),[x,C]=h.useState(null),D=x?.ownerDocument??globalThis?.document,[,H]=h.useState({}),O=Cn(c,_=>C(_)),R=Array.from(g.layers),[N]=[...g.layersWithOutsidePointerEventsDisabled].slice(-1),B=R.indexOf(N),P=x?R.indexOf(x):-1,G=g.layersWithOutsidePointerEventsDisabled.size>0,Z=P>=B,I=CS(_=>{const F=_.target,Q=[...g.branches].some(le=>le.contains(F));!Z||Q||(f?.(_),y?.(_),_.defaultPrevented||b?.())},D),V=AS(_=>{const F=_.target;[...g.branches].some(le=>le.contains(F))||(m?.(_),y?.(_),_.defaultPrevented||b?.())},D);return vS(_=>{P===g.layers.size-1&&(r?.(_),!_.defaultPrevented&&b&&(_.preventDefault(),b()))},D),h.useEffect(()=>{if(x)return s&&(g.layersWithOutsidePointerEventsDisabled.size===0&&(kp=D.body.style.pointerEvents,D.body.style.pointerEvents="none"),g.layersWithOutsidePointerEventsDisabled.add(x)),g.layers.add(x),Ep(),()=>{s&&g.layersWithOutsidePointerEventsDisabled.size===1&&(D.body.style.pointerEvents=kp)}},[x,D,s,g]),h.useEffect(()=>()=>{x&&(g.layers.delete(x),g.layersWithOutsidePointerEventsDisabled.delete(x),Ep())},[x,g]),h.useEffect(()=>{const _=()=>H({});return document.addEventListener(_c,_),()=>document.removeEventListener(_c,_)},[]),u.jsx(aa.div,{...v,ref:O,style:{pointerEvents:G?Z?"auto":"none":void 0,...i.style},onFocusCapture:Et(i.onFocusCapture,V.onFocusCapture),onBlurCapture:Et(i.onBlurCapture,V.onBlurCapture),onPointerDownCapture:Et(i.onPointerDownCapture,I.onPointerDownCapture)})});dg.displayName=bS;var wS="DismissableLayerBranch",fg=h.forwardRef((i,c)=>{const s=h.useContext(ug),r=h.useRef(null),f=Cn(c,r);return h.useEffect(()=>{const m=r.current;if(m)return s.branches.add(m),()=>{s.branches.delete(m)}},[s.branches]),u.jsx(aa.div,{...i,ref:f})});fg.displayName=wS;function CS(i,c=globalThis?.document){const s=An(i),r=h.useRef(!1),f=h.useRef(()=>{});return h.useEffect(()=>{const m=b=>{if(b.target&&!r.current){let v=function(){mg(SS,s,g,{discrete:!0})};const g={originalEvent:b};b.pointerType==="touch"?(c.removeEventListener("click",f.current),f.current=v,c.addEventListener("click",f.current,{once:!0})):v()}else c.removeEventListener("click",f.current);r.current=!1},y=window.setTimeout(()=>{c.addEventListener("pointerdown",m)},0);return()=>{window.clearTimeout(y),c.removeEventListener("pointerdown",m),c.removeEventListener("click",f.current)}},[c,s]),{onPointerDownCapture:()=>r.current=!0}}function AS(i,c=globalThis?.document){const s=An(i),r=h.useRef(!1);return h.useEffect(()=>{const f=m=>{m.target&&!r.current&&mg(xS,s,{originalEvent:m},{discrete:!1})};return c.addEventListener("focusin",f),()=>c.removeEventListener("focusin",f)},[c,s]),{onFocusCapture:()=>r.current=!0,onBlurCapture:()=>r.current=!1}}function Ep(){const i=new CustomEvent(_c);document.dispatchEvent(i)}function mg(i,c,s,{discrete:r}){const f=s.originalEvent.target,m=new CustomEvent(i,{bubbles:!1,cancelable:!0,detail:s});c&&f.addEventListener(i,c,{once:!0}),r?cg(f,m):f.dispatchEvent(m)}var TS=dg,kS=fg,yi=globalThis?.document?h.useLayoutEffect:()=>{},ES="Portal",pg=h.forwardRef((i,c)=>{const{container:s,...r}=i,[f,m]=h.useState(!1);yi(()=>m(!0),[]);const y=s||f&&globalThis?.document?.body;return y?V0.createPortal(u.jsx(aa.div,{...r,ref:c}),y):null});pg.displayName=ES;function NS(i,c){return h.useReducer((s,r)=>c[s][r]??s,i)}var gg=i=>{const{present:c,children:s}=i,r=MS(c),f=typeof s=="function"?s({present:r.isPresent}):h.Children.only(s),m=Cn(r.ref,jS(f));return typeof s=="function"||r.isPresent?h.cloneElement(f,{ref:m}):null};gg.displayName="Presence";function MS(i){const[c,s]=h.useState(),r=h.useRef(null),f=h.useRef(i),m=h.useRef("none"),y=i?"mounted":"unmounted",[b,v]=NS(y,{mounted:{UNMOUNT:"unmounted",ANIMATION_OUT:"unmountSuspended"},unmountSuspended:{MOUNT:"mounted",ANIMATION_END:"unmounted"},unmounted:{MOUNT:"mounted"}});return h.useEffect(()=>{const g=Go(r.current);m.current=b==="mounted"?g:"none"},[b]),yi(()=>{const g=r.current,x=f.current;if(x!==i){const D=m.current,H=Go(g);i?v("MOUNT"):H==="none"||g?.display==="none"?v("UNMOUNT"):v(x&&D!==H?"ANIMATION_OUT":"UNMOUNT"),f.current=i}},[i,v]),yi(()=>{if(c){let g;const x=c.ownerDocument.defaultView??window,C=H=>{const R=Go(r.current).includes(CSS.escape(H.animationName));if(H.target===c&&R&&(v("ANIMATION_END"),!f.current)){const N=c.style.animationFillMode;c.style.animationFillMode="forwards",g=x.setTimeout(()=>{c.style.animationFillMode==="forwards"&&(c.style.animationFillMode=N)})}},D=H=>{H.target===c&&(m.current=Go(r.current))};return c.addEventListener("animationstart",D),c.addEventListener("animationcancel",C),c.addEventListener("animationend",C),()=>{x.clearTimeout(g),c.removeEventListener("animationstart",D),c.removeEventListener("animationcancel",C),c.removeEventListener("animationend",C)}}else v("ANIMATION_END")},[c,v]),{isPresent:["mounted","unmountSuspended"].includes(b),ref:h.useCallback(g=>{r.current=g?getComputedStyle(g):null,s(g)},[])}}function Go(i){return i?.animationName||"none"}function jS(i){let c=Object.getOwnPropertyDescriptor(i.props,"ref")?.get,s=c&&"isReactWarning"in c&&c.isReactWarning;return s?i.ref:(c=Object.getOwnPropertyDescriptor(i,"ref")?.get,s=c&&"isReactWarning"in c&&c.isReactWarning,s?i.props.ref:i.props.ref||i.ref)}var DS=Av[" useInsertionEffect ".trim().toString()]||yi;function RS({prop:i,defaultProp:c,onChange:s=()=>{},caller:r}){const[f,m,y]=OS({defaultProp:c,onChange:s}),b=i!==void 0,v=b?i:f;{const x=h.useRef(i!==void 0);h.useEffect(()=>{const C=x.current;C!==b&&console.warn(`${r} is changing from ${C?"controlled":"uncontrolled"} to ${b?"controlled":"uncontrolled"}. Components should not switch from controlled to uncontrolled (or vice versa). Decide between using a controlled or uncontrolled value for the lifetime of the component.`),x.current=b},[b,r])}const g=h.useCallback(x=>{if(b){const C=zS(x)?x(i):x;C!==i&&y.current?.(C)}else m(x)},[b,i,m,y]);return[v,g]}function OS({defaultProp:i,onChange:c}){const[s,r]=h.useState(i),f=h.useRef(s),m=h.useRef(c);return DS(()=>{m.current=c},[c]),h.useEffect(()=>{f.current!==s&&(m.current?.(s),f.current=s)},[s,f]),[s,r,m]}function zS(i){return typeof i=="function"}var PS=Object.freeze({position:"absolute",border:0,width:1,height:1,padding:0,margin:-1,overflow:"hidden",clip:"rect(0, 0, 0, 0)",whiteSpace:"nowrap",wordWrap:"normal"}),LS="VisuallyHidden",au=h.forwardRef((i,c)=>u.jsx(aa.span,{...i,ref:c,style:{...PS,...i.style}}));au.displayName=LS;var nu="ToastProvider",[lu,US,_S]=hS("Toast"),[hg]=rg("Toast",[_S]),[FS,is]=hg(nu),yg=i=>{const{__scopeToast:c,label:s="Notification",duration:r=5e3,swipeDirection:f="right",swipeThreshold:m=50,children:y}=i,[b,v]=h.useState(null),[g,x]=h.useState(0),C=h.useRef(!1),D=h.useRef(!1);return s.trim()||console.error(`Invalid prop \`label\` supplied to \`${nu}\`. Expected non-empty \`string\`.`),u.jsx(lu.Provider,{scope:c,children:u.jsx(FS,{scope:c,label:s,duration:r,swipeDirection:f,swipeThreshold:m,toastCount:g,viewport:b,onViewportChange:v,onToastAdd:h.useCallback(()=>x(H=>H+1),[]),onToastRemove:h.useCallback(()=>x(H=>H-1),[]),isFocusedToastEscapeKeyDownRef:C,isClosePausedRef:D,children:y})})};yg.displayName=nu;var vg="ToastViewport",BS=["F8"],Fc="toast.viewportPause",Bc="toast.viewportResume",bg=h.forwardRef((i,c)=>{const{__scopeToast:s,hotkey:r=BS,label:f="Notifications ({hotkey})",...m}=i,y=is(vg,s),b=US(s),v=h.useRef(null),g=h.useRef(null),x=h.useRef(null),C=h.useRef(null),D=Cn(c,C,y.onViewportChange),H=r.join("+").replace(/Key/g,"").replace(/Digit/g,""),O=y.toastCount>0;h.useEffect(()=>{const N=B=>{r.length!==0&&r.every(G=>B[G]||B.code===G)&&C.current?.focus()};return document.addEventListener("keydown",N),()=>document.removeEventListener("keydown",N)},[r]),h.useEffect(()=>{const N=v.current,B=C.current;if(O&&N&&B){const P=()=>{if(!y.isClosePausedRef.current){const V=new CustomEvent(Fc);B.dispatchEvent(V),y.isClosePausedRef.current=!0}},G=()=>{if(y.isClosePausedRef.current){const V=new CustomEvent(Bc);B.dispatchEvent(V),y.isClosePausedRef.current=!1}},Z=V=>{!N.contains(V.relatedTarget)&&G()},I=()=>{N.contains(document.activeElement)||G()};return N.addEventListener("focusin",P),N.addEventListener("focusout",Z),N.addEventListener("pointermove",P),N.addEventListener("pointerleave",I),window.addEventListener("blur",P),window.addEventListener("focus",G),()=>{N.removeEventListener("focusin",P),N.removeEventListener("focusout",Z),N.removeEventListener("pointermove",P),N.removeEventListener("pointerleave",I),window.removeEventListener("blur",P),window.removeEventListener("focus",G)}}},[O,y.isClosePausedRef]);const R=h.useCallback(({tabbingDirection:N})=>{const P=b().map(G=>{const Z=G.ref.current,I=[Z,...WS(Z)];return N==="forwards"?I:I.reverse()});return(N==="forwards"?P.reverse():P).flat()},[b]);return h.useEffect(()=>{const N=C.current;if(N){const B=P=>{const G=P.altKey||P.ctrlKey||P.metaKey;if(P.key==="Tab"&&!G){const I=document.activeElement,V=P.shiftKey;if(P.target===N&&V){g.current?.focus();return}const Q=R({tabbingDirection:V?"backwards":"forwards"}),le=Q.findIndex(Oe=>Oe===I);Nc(Q.slice(le+1))?P.preventDefault():V?g.current?.focus():x.current?.focus()}};return N.addEventListener("keydown",B),()=>N.removeEventListener("keydown",B)}},[b,R]),u.jsxs(kS,{ref:v,role:"region","aria-label":f.replace("{hotkey}",H),tabIndex:-1,style:{pointerEvents:O?void 0:"none"},children:[O&&u.jsx(Hc,{ref:g,onFocusFromOutsideViewport:()=>{const N=R({tabbingDirection:"forwards"});Nc(N)}}),u.jsx(lu.Slot,{scope:s,children:u.jsx(aa.ol,{tabIndex:-1,...m,ref:D})}),O&&u.jsx(Hc,{ref:x,onFocusFromOutsideViewport:()=>{const N=R({tabbingDirection:"backwards"});Nc(N)}})]})});bg.displayName=vg;var Sg="ToastFocusProxy",Hc=h.forwardRef((i,c)=>{const{__scopeToast:s,onFocusFromOutsideViewport:r,...f}=i,m=is(Sg,s);return u.jsx(au,{tabIndex:0,...f,ref:c,style:{position:"fixed"},onFocus:y=>{const b=y.relatedTarget;!m.viewport?.contains(b)&&r()}})});Hc.displayName=Sg;var Ci="Toast",HS="toast.swipeStart",qS="toast.swipeMove",VS="toast.swipeCancel",GS="toast.swipeEnd",xg=h.forwardRef((i,c)=>{const{forceMount:s,open:r,defaultOpen:f,onOpenChange:m,...y}=i,[b,v]=RS({prop:r,defaultProp:f??!0,onChange:m,caller:Ci});return u.jsx(gg,{present:s||b,children:u.jsx(YS,{open:b,...y,ref:c,onClose:()=>v(!1),onPause:An(i.onPause),onResume:An(i.onResume),onSwipeStart:Et(i.onSwipeStart,g=>{g.currentTarget.setAttribute("data-swipe","start")}),onSwipeMove:Et(i.onSwipeMove,g=>{const{x,y:C}=g.detail.delta;g.currentTarget.setAttribute("data-swipe","move"),g.currentTarget.style.setProperty("--radix-toast-swipe-move-x",`${x}px`),g.currentTarget.style.setProperty("--radix-toast-swipe-move-y",`${C}px`)}),onSwipeCancel:Et(i.onSwipeCancel,g=>{g.currentTarget.setAttribute("data-swipe","cancel"),g.currentTarget.style.removeProperty("--radix-toast-swipe-move-x"),g.currentTarget.style.removeProperty("--radix-toast-swipe-move-y"),g.currentTarget.style.removeProperty("--radix-toast-swipe-end-x"),g.currentTarget.style.removeProperty("--radix-toast-swipe-end-y")}),onSwipeEnd:Et(i.onSwipeEnd,g=>{const{x,y:C}=g.detail.delta;g.currentTarget.setAttribute("data-swipe","end"),g.currentTarget.style.removeProperty("--radix-toast-swipe-move-x"),g.currentTarget.style.removeProperty("--radix-toast-swipe-move-y"),g.currentTarget.style.setProperty("--radix-toast-swipe-end-x",`${x}px`),g.currentTarget.style.setProperty("--radix-toast-swipe-end-y",`${C}px`),v(!1)})})})});xg.displayName=Ci;var[KS,IS]=hg(Ci,{onClose(){}}),YS=h.forwardRef((i,c)=>{const{__scopeToast:s,type:r="foreground",duration:f,open:m,onClose:y,onEscapeKeyDown:b,onPause:v,onResume:g,onSwipeStart:x,onSwipeMove:C,onSwipeCancel:D,onSwipeEnd:H,...O}=i,R=is(Ci,s),[N,B]=h.useState(null),P=Cn(c,ne=>B(ne)),G=h.useRef(null),Z=h.useRef(null),I=f||R.duration,V=h.useRef(0),_=h.useRef(I),F=h.useRef(0),{onToastAdd:Q,onToastRemove:le}=R,Oe=An(()=>{N?.contains(document.activeElement)&&R.viewport?.focus(),y()}),Me=h.useCallback(ne=>{!ne||ne===1/0||(window.clearTimeout(F.current),V.current=new Date().getTime(),F.current=window.setTimeout(Oe,ne))},[Oe]);h.useEffect(()=>{const ne=R.viewport;if(ne){const we=()=>{Me(_.current),g?.()},j=()=>{const K=new Date().getTime()-V.current;_.current=_.current-K,window.clearTimeout(F.current),v?.()};return ne.addEventListener(Fc,j),ne.addEventListener(Bc,we),()=>{ne.removeEventListener(Fc,j),ne.removeEventListener(Bc,we)}}},[R.viewport,I,v,g,Me]),h.useEffect(()=>{m&&!R.isClosePausedRef.current&&Me(I)},[m,I,R.isClosePausedRef,Me]),h.useEffect(()=>(Q(),()=>le()),[Q,le]);const Qe=h.useMemo(()=>N?Ng(N):null,[N]);return R.viewport?u.jsxs(u.Fragment,{children:[Qe&&u.jsx(QS,{__scopeToast:s,role:"status","aria-live":r==="foreground"?"assertive":"polite",children:Qe}),u.jsx(KS,{scope:s,onClose:Oe,children:Wc.createPortal(u.jsx(lu.ItemSlot,{scope:s,children:u.jsx(TS,{asChild:!0,onEscapeKeyDown:Et(b,()=>{R.isFocusedToastEscapeKeyDownRef.current||Oe(),R.isFocusedToastEscapeKeyDownRef.current=!1}),children:u.jsx(aa.li,{tabIndex:0,"data-state":m?"open":"closed","data-swipe-direction":R.swipeDirection,...O,ref:P,style:{userSelect:"none",touchAction:"none",...i.style},onKeyDown:Et(i.onKeyDown,ne=>{ne.key==="Escape"&&(b?.(ne.nativeEvent),ne.nativeEvent.defaultPrevented||(R.isFocusedToastEscapeKeyDownRef.current=!0,Oe()))}),onPointerDown:Et(i.onPointerDown,ne=>{ne.button===0&&(G.current={x:ne.clientX,y:ne.clientY})}),onPointerMove:Et(i.onPointerMove,ne=>{if(!G.current)return;const we=ne.clientX-G.current.x,j=ne.clientY-G.current.y,K=!!Z.current,q=["left","right"].includes(R.swipeDirection),de=["left","up"].includes(R.swipeDirection)?Math.min:Math.max,he=q?de(0,we):0,Le=q?0:de(0,j),ye=ne.pointerType==="touch"?10:2,te={x:he,y:Le},re={originalEvent:ne,delta:te};K?(Z.current=te,Ko(qS,C,re,{discrete:!1})):Np(te,R.swipeDirection,ye)?(Z.current=te,Ko(HS,x,re,{discrete:!1}),ne.target.setPointerCapture(ne.pointerId)):(Math.abs(we)>ye||Math.abs(j)>ye)&&(G.current=null)}),onPointerUp:Et(i.onPointerUp,ne=>{const we=Z.current,j=ne.target;if(j.hasPointerCapture(ne.pointerId)&&j.releasePointerCapture(ne.pointerId),Z.current=null,G.current=null,we){const K=ne.currentTarget,q={originalEvent:ne,delta:we};Np(we,R.swipeDirection,R.swipeThreshold)?Ko(GS,H,q,{discrete:!0}):Ko(VS,D,q,{discrete:!0}),K.addEventListener("click",de=>de.preventDefault(),{once:!0})}})})})}),R.viewport)})]}):null}),QS=i=>{const{__scopeToast:c,children:s,...r}=i,f=is(Ci,c),[m,y]=h.useState(!1),[b,v]=h.useState(!1);return $S(()=>y(!0)),h.useEffect(()=>{const g=window.setTimeout(()=>v(!0),1e3);return()=>window.clearTimeout(g)},[]),b?null:u.jsx(pg,{asChild:!0,children:u.jsx(au,{...r,children:m&&u.jsxs(u.Fragment,{children:[f.label," ",s]})})})},XS="ToastTitle",wg=h.forwardRef((i,c)=>{const{__scopeToast:s,...r}=i;return u.jsx(aa.div,{...r,ref:c})});wg.displayName=XS;var ZS="ToastDescription",Cg=h.forwardRef((i,c)=>{const{__scopeToast:s,...r}=i;return u.jsx(aa.div,{...r,ref:c})});Cg.displayName=ZS;var Ag="ToastAction",Tg=h.forwardRef((i,c)=>{const{altText:s,...r}=i;return s.trim()?u.jsx(Eg,{altText:s,asChild:!0,children:u.jsx(iu,{...r,ref:c})}):(console.error(`Invalid prop \`altText\` supplied to \`${Ag}\`. Expected non-empty \`string\`.`),null)});Tg.displayName=Ag;var kg="ToastClose",iu=h.forwardRef((i,c)=>{const{__scopeToast:s,...r}=i,f=IS(kg,s);return u.jsx(Eg,{asChild:!0,children:u.jsx(aa.button,{type:"button",...r,ref:c,onClick:Et(i.onClick,f.onClose)})})});iu.displayName=kg;var Eg=h.forwardRef((i,c)=>{const{__scopeToast:s,altText:r,...f}=i;return u.jsx(aa.div,{"data-radix-toast-announce-exclude":"","data-radix-toast-announce-alt":r||void 0,...f,ref:c})});function Ng(i){const c=[];return Array.from(i.childNodes).forEach(r=>{if(r.nodeType===r.TEXT_NODE&&r.textContent&&c.push(r.textContent),JS(r)){const f=r.ariaHidden||r.hidden||r.style.display==="none",m=r.dataset.radixToastAnnounceExclude==="";if(!f)if(m){const y=r.dataset.radixToastAnnounceAlt;y&&c.push(y)}else c.push(...Ng(r))}}),c}function Ko(i,c,s,{discrete:r}){const f=s.originalEvent.currentTarget,m=new CustomEvent(i,{bubbles:!0,cancelable:!0,detail:s});c&&f.addEventListener(i,c,{once:!0}),r?cg(f,m):f.dispatchEvent(m)}var Np=(i,c,s=0)=>{const r=Math.abs(i.x),f=Math.abs(i.y),m=r>f;return c==="left"||c==="right"?m&&r>s:!m&&f>s};function $S(i=()=>{}){const c=An(i);yi(()=>{let s=0,r=0;return s=window.requestAnimationFrame(()=>r=window.requestAnimationFrame(c)),()=>{window.cancelAnimationFrame(s),window.cancelAnimationFrame(r)}},[c])}function JS(i){return i.nodeType===i.ELEMENT_NODE}function WS(i){const c=[],s=document.createTreeWalker(i,NodeFilter.SHOW_ELEMENT,{acceptNode:r=>{const f=r.tagName==="INPUT"&&r.type==="hidden";return r.disabled||r.hidden||f?NodeFilter.FILTER_SKIP:r.tabIndex>=0?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_SKIP}});for(;s.nextNode();)c.push(s.currentNode);return c}function Nc(i){const c=document.activeElement;return i.some(s=>s===c?!0:(s.focus(),document.activeElement!==c))}var ex=yg,Mg=bg,jg=xg,Dg=wg,Rg=Cg,Og=Tg,zg=iu;function Pg(i){var c,s,r="";if(typeof i=="string"||typeof i=="number")r+=i;else if(typeof i=="object")if(Array.isArray(i)){var f=i.length;for(c=0;c<f;c++)i[c]&&(s=Pg(i[c]))&&(r&&(r+=" "),r+=s)}else for(s in i)i[s]&&(r&&(r+=" "),r+=s);return r}function Lg(){for(var i,c,s=0,r="",f=arguments.length;s<f;s++)(i=arguments[s])&&(c=Pg(i))&&(r&&(r+=" "),r+=c);return r}const Mp=i=>typeof i=="boolean"?`${i}`:i===0?"0":i,jp=Lg,tx=(i,c)=>s=>{var r;if(c?.variants==null)return jp(i,s?.class,s?.className);const{variants:f,defaultVariants:m}=c,y=Object.keys(f).map(g=>{const x=s?.[g],C=m?.[g];if(x===null)return null;const D=Mp(x)||Mp(C);return f[g][D]}),b=s&&Object.entries(s).reduce((g,x)=>{let[C,D]=x;return D===void 0||(g[C]=D),g},{}),v=c==null||(r=c.compoundVariants)===null||r===void 0?void 0:r.reduce((g,x)=>{let{class:C,className:D,...H}=x;return Object.entries(H).every(O=>{let[R,N]=O;return Array.isArray(N)?N.includes({...m,...b}[R]):{...m,...b}[R]===N})?[...g,C,D]:g},[]);return jp(i,y,v,s?.class,s?.className)},ou="-",ax=i=>{const c=lx(i),{conflictingClassGroups:s,conflictingClassGroupModifiers:r}=i;return{getClassGroupId:y=>{const b=y.split(ou);return b[0]===""&&b.length!==1&&b.shift(),Ug(b,c)||nx(y)},getConflictingClassGroupIds:(y,b)=>{const v=s[y]||[];return b&&r[y]?[...v,...r[y]]:v}}},Ug=(i,c)=>{if(i.length===0)return c.classGroupId;const s=i[0],r=c.nextPart.get(s),f=r?Ug(i.slice(1),r):void 0;if(f)return f;if(c.validators.length===0)return;const m=i.join(ou);return c.validators.find(({validator:y})=>y(m))?.classGroupId},Dp=/^\[(.+)\]$/,nx=i=>{if(Dp.test(i)){const c=Dp.exec(i)[1],s=c?.substring(0,c.indexOf(":"));if(s)return"arbitrary.."+s}},lx=i=>{const{theme:c,classGroups:s}=i,r={nextPart:new Map,validators:[]};for(const f in s)qc(s[f],r,f,c);return r},qc=(i,c,s,r)=>{i.forEach(f=>{if(typeof f=="string"){const m=f===""?c:Rp(c,f);m.classGroupId=s;return}if(typeof f=="function"){if(ix(f)){qc(f(r),c,s,r);return}c.validators.push({validator:f,classGroupId:s});return}Object.entries(f).forEach(([m,y])=>{qc(y,Rp(c,m),s,r)})})},Rp=(i,c)=>{let s=i;return c.split(ou).forEach(r=>{s.nextPart.has(r)||s.nextPart.set(r,{nextPart:new Map,validators:[]}),s=s.nextPart.get(r)}),s},ix=i=>i.isThemeGetter,ox=i=>{if(i<1)return{get:()=>{},set:()=>{}};let c=0,s=new Map,r=new Map;const f=(m,y)=>{s.set(m,y),c++,c>i&&(c=0,r=s,s=new Map)};return{get(m){let y=s.get(m);if(y!==void 0)return y;if((y=r.get(m))!==void 0)return f(m,y),y},set(m,y){s.has(m)?s.set(m,y):f(m,y)}}},Vc="!",Gc=":",sx=Gc.length,rx=i=>{const{prefix:c,experimentalParseClassName:s}=i;let r=f=>{const m=[];let y=0,b=0,v=0,g;for(let O=0;O<f.length;O++){let R=f[O];if(y===0&&b===0){if(R===Gc){m.push(f.slice(v,O)),v=O+sx;continue}if(R==="/"){g=O;continue}}R==="["?y++:R==="]"?y--:R==="("?b++:R===")"&&b--}const x=m.length===0?f:f.substring(v),C=cx(x),D=C!==x,H=g&&g>v?g-v:void 0;return{modifiers:m,hasImportantModifier:D,baseClassName:C,maybePostfixModifierPosition:H}};if(c){const f=c+Gc,m=r;r=y=>y.startsWith(f)?m(y.substring(f.length)):{isExternal:!0,modifiers:[],hasImportantModifier:!1,baseClassName:y,maybePostfixModifierPosition:void 0}}if(s){const f=r;r=m=>s({className:m,parseClassName:f})}return r},cx=i=>i.endsWith(Vc)?i.substring(0,i.length-1):i.startsWith(Vc)?i.substring(1):i,ux=i=>{const c=Object.fromEntries(i.orderSensitiveModifiers.map(r=>[r,!0]));return r=>{if(r.length<=1)return r;const f=[];let m=[];return r.forEach(y=>{y[0]==="["||c[y]?(f.push(...m.sort(),y),m=[]):m.push(y)}),f.push(...m.sort()),f}},dx=i=>({cache:ox(i.cacheSize),parseClassName:rx(i),sortModifiers:ux(i),...ax(i)}),fx=/\s+/,mx=(i,c)=>{const{parseClassName:s,getClassGroupId:r,getConflictingClassGroupIds:f,sortModifiers:m}=c,y=[],b=i.trim().split(fx);let v="";for(let g=b.length-1;g>=0;g-=1){const x=b[g],{isExternal:C,modifiers:D,hasImportantModifier:H,baseClassName:O,maybePostfixModifierPosition:R}=s(x);if(C){v=x+(v.length>0?" "+v:v);continue}let N=!!R,B=r(N?O.substring(0,R):O);if(!B){if(!N){v=x+(v.length>0?" "+v:v);continue}if(B=r(O),!B){v=x+(v.length>0?" "+v:v);continue}N=!1}const P=m(D).join(":"),G=H?P+Vc:P,Z=G+B;if(y.includes(Z))continue;y.push(Z);const I=f(B,N);for(let V=0;V<I.length;++V){const _=I[V];y.push(G+_)}v=x+(v.length>0?" "+v:v)}return v};function px(){let i=0,c,s,r="";for(;i<arguments.length;)(c=arguments[i++])&&(s=_g(c))&&(r&&(r+=" "),r+=s);return r}const _g=i=>{if(typeof i=="string")return i;let c,s="";for(let r=0;r<i.length;r++)i[r]&&(c=_g(i[r]))&&(s&&(s+=" "),s+=c);return s};function gx(i,...c){let s,r,f,m=y;function y(v){const g=c.reduce((x,C)=>C(x),i());return s=dx(g),r=s.cache.get,f=s.cache.set,m=b,b(v)}function b(v){const g=r(v);if(g)return g;const x=mx(v,s);return f(v,x),x}return function(){return m(px.apply(null,arguments))}}const Ye=i=>{const c=s=>s[i]||[];return c.isThemeGetter=!0,c},Fg=/^\[(?:(\w[\w-]*):)?(.+)\]$/i,Bg=/^\((?:(\w[\w-]*):)?(.+)\)$/i,hx=/^\d+\/\d+$/,yx=/^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/,vx=/\d+(%|px|r?em|[sdl]?v([hwib]|min|max)|pt|pc|in|cm|mm|cap|ch|ex|r?lh|cq(w|h|i|b|min|max))|\b(calc|min|max|clamp)\(.+\)|^0$/,bx=/^(rgba?|hsla?|hwb|(ok)?(lab|lch)|color-mix)\(.+\)$/,Sx=/^(inset_)?-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/,xx=/^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/,ul=i=>hx.test(i),se=i=>!!i&&!Number.isNaN(Number(i)),en=i=>!!i&&Number.isInteger(Number(i)),Mc=i=>i.endsWith("%")&&se(i.slice(0,-1)),Aa=i=>yx.test(i),wx=()=>!0,Cx=i=>vx.test(i)&&!bx.test(i),Hg=()=>!1,Ax=i=>Sx.test(i),Tx=i=>xx.test(i),kx=i=>!$(i)&&!J(i),Ex=i=>hl(i,Gg,Hg),$=i=>Fg.test(i),wn=i=>hl(i,Kg,Cx),jc=i=>hl(i,Rx,se),Op=i=>hl(i,qg,Hg),Nx=i=>hl(i,Vg,Tx),Io=i=>hl(i,Ig,Ax),J=i=>Bg.test(i),mi=i=>yl(i,Kg),Mx=i=>yl(i,Ox),zp=i=>yl(i,qg),jx=i=>yl(i,Gg),Dx=i=>yl(i,Vg),Yo=i=>yl(i,Ig,!0),hl=(i,c,s)=>{const r=Fg.exec(i);return r?r[1]?c(r[1]):s(r[2]):!1},yl=(i,c,s=!1)=>{const r=Bg.exec(i);return r?r[1]?c(r[1]):s:!1},qg=i=>i==="position"||i==="percentage",Vg=i=>i==="image"||i==="url",Gg=i=>i==="length"||i==="size"||i==="bg-size",Kg=i=>i==="length",Rx=i=>i==="number",Ox=i=>i==="family-name",Ig=i=>i==="shadow",zx=()=>{const i=Ye("color"),c=Ye("font"),s=Ye("text"),r=Ye("font-weight"),f=Ye("tracking"),m=Ye("leading"),y=Ye("breakpoint"),b=Ye("container"),v=Ye("spacing"),g=Ye("radius"),x=Ye("shadow"),C=Ye("inset-shadow"),D=Ye("text-shadow"),H=Ye("drop-shadow"),O=Ye("blur"),R=Ye("perspective"),N=Ye("aspect"),B=Ye("ease"),P=Ye("animate"),G=()=>["auto","avoid","all","avoid-page","page","left","right","column"],Z=()=>["center","top","bottom","left","right","top-left","left-top","top-right","right-top","bottom-right","right-bottom","bottom-left","left-bottom"],I=()=>[...Z(),J,$],V=()=>["auto","hidden","clip","visible","scroll"],_=()=>["auto","contain","none"],F=()=>[J,$,v],Q=()=>[ul,"full","auto",...F()],le=()=>[en,"none","subgrid",J,$],Oe=()=>["auto",{span:["full",en,J,$]},en,J,$],Me=()=>[en,"auto",J,$],Qe=()=>["auto","min","max","fr",J,$],ne=()=>["start","end","center","between","around","evenly","stretch","baseline","center-safe","end-safe"],we=()=>["start","end","center","stretch","center-safe","end-safe"],j=()=>["auto",...F()],K=()=>[ul,"auto","full","dvw","dvh","lvw","lvh","svw","svh","min","max","fit",...F()],q=()=>[i,J,$],de=()=>[...Z(),zp,Op,{position:[J,$]}],he=()=>["no-repeat",{repeat:["","x","y","space","round"]}],Le=()=>["auto","cover","contain",jx,Ex,{size:[J,$]}],ye=()=>[Mc,mi,wn],te=()=>["","none","full",g,J,$],re=()=>["",se,mi,wn],Je=()=>["solid","dashed","dotted","double"],pt=()=>["normal","multiply","screen","overlay","darken","lighten","color-dodge","color-burn","hard-light","soft-light","difference","exclusion","hue","saturation","color","luminosity"],je=()=>[se,Mc,zp,Op],na=()=>["","none",O,J,$],gt=()=>["none",se,J,$],Qt=()=>["none",se,J,$],Xt=()=>[se,J,$],Zt=()=>[ul,"full",...F()];return{cacheSize:500,theme:{animate:["spin","ping","pulse","bounce"],aspect:["video"],blur:[Aa],breakpoint:[Aa],color:[wx],container:[Aa],"drop-shadow":[Aa],ease:["in","out","in-out"],font:[kx],"font-weight":["thin","extralight","light","normal","medium","semibold","bold","extrabold","black"],"inset-shadow":[Aa],leading:["none","tight","snug","normal","relaxed","loose"],perspective:["dramatic","near","normal","midrange","distant","none"],radius:[Aa],shadow:[Aa],spacing:["px",se],text:[Aa],"text-shadow":[Aa],tracking:["tighter","tight","normal","wide","wider","widest"]},classGroups:{aspect:[{aspect:["auto","square",ul,$,J,N]}],container:["container"],columns:[{columns:[se,$,J,b]}],"break-after":[{"break-after":G()}],"break-before":[{"break-before":G()}],"break-inside":[{"break-inside":["auto","avoid","avoid-page","avoid-column"]}],"box-decoration":[{"box-decoration":["slice","clone"]}],box:[{box:["border","content"]}],display:["block","inline-block","inline","flex","inline-flex","table","inline-table","table-caption","table-cell","table-column","table-column-group","table-footer-group","table-header-group","table-row-group","table-row","flow-root","grid","inline-grid","contents","list-item","hidden"],sr:["sr-only","not-sr-only"],float:[{float:["right","left","none","start","end"]}],clear:[{clear:["left","right","both","none","start","end"]}],isolation:["isolate","isolation-auto"],"object-fit":[{object:["contain","cover","fill","none","scale-down"]}],"object-position":[{object:I()}],overflow:[{overflow:V()}],"overflow-x":[{"overflow-x":V()}],"overflow-y":[{"overflow-y":V()}],overscroll:[{overscroll:_()}],"overscroll-x":[{"overscroll-x":_()}],"overscroll-y":[{"overscroll-y":_()}],position:["static","fixed","absolute","relative","sticky"],inset:[{inset:Q()}],"inset-x":[{"inset-x":Q()}],"inset-y":[{"inset-y":Q()}],start:[{start:Q()}],end:[{end:Q()}],top:[{top:Q()}],right:[{right:Q()}],bottom:[{bottom:Q()}],left:[{left:Q()}],visibility:["visible","invisible","collapse"],z:[{z:[en,"auto",J,$]}],basis:[{basis:[ul,"full","auto",b,...F()]}],"flex-direction":[{flex:["row","row-reverse","col","col-reverse"]}],"flex-wrap":[{flex:["nowrap","wrap","wrap-reverse"]}],flex:[{flex:[se,ul,"auto","initial","none",$]}],grow:[{grow:["",se,J,$]}],shrink:[{shrink:["",se,J,$]}],order:[{order:[en,"first","last","none",J,$]}],"grid-cols":[{"grid-cols":le()}],"col-start-end":[{col:Oe()}],"col-start":[{"col-start":Me()}],"col-end":[{"col-end":Me()}],"grid-rows":[{"grid-rows":le()}],"row-start-end":[{row:Oe()}],"row-start":[{"row-start":Me()}],"row-end":[{"row-end":Me()}],"grid-flow":[{"grid-flow":["row","col","dense","row-dense","col-dense"]}],"auto-cols":[{"auto-cols":Qe()}],"auto-rows":[{"auto-rows":Qe()}],gap:[{gap:F()}],"gap-x":[{"gap-x":F()}],"gap-y":[{"gap-y":F()}],"justify-content":[{justify:[...ne(),"normal"]}],"justify-items":[{"justify-items":[...we(),"normal"]}],"justify-self":[{"justify-self":["auto",...we()]}],"align-content":[{content:["normal",...ne()]}],"align-items":[{items:[...we(),{baseline:["","last"]}]}],"align-self":[{self:["auto",...we(),{baseline:["","last"]}]}],"place-content":[{"place-content":ne()}],"place-items":[{"place-items":[...we(),"baseline"]}],"place-self":[{"place-self":["auto",...we()]}],p:[{p:F()}],px:[{px:F()}],py:[{py:F()}],ps:[{ps:F()}],pe:[{pe:F()}],pt:[{pt:F()}],pr:[{pr:F()}],pb:[{pb:F()}],pl:[{pl:F()}],m:[{m:j()}],mx:[{mx:j()}],my:[{my:j()}],ms:[{ms:j()}],me:[{me:j()}],mt:[{mt:j()}],mr:[{mr:j()}],mb:[{mb:j()}],ml:[{ml:j()}],"space-x":[{"space-x":F()}],"space-x-reverse":["space-x-reverse"],"space-y":[{"space-y":F()}],"space-y-reverse":["space-y-reverse"],size:[{size:K()}],w:[{w:[b,"screen",...K()]}],"min-w":[{"min-w":[b,"screen","none",...K()]}],"max-w":[{"max-w":[b,"screen","none","prose",{screen:[y]},...K()]}],h:[{h:["screen","lh",...K()]}],"min-h":[{"min-h":["screen","lh","none",...K()]}],"max-h":[{"max-h":["screen","lh",...K()]}],"font-size":[{text:["base",s,mi,wn]}],"font-smoothing":["antialiased","subpixel-antialiased"],"font-style":["italic","not-italic"],"font-weight":[{font:[r,J,jc]}],"font-stretch":[{"font-stretch":["ultra-condensed","extra-condensed","condensed","semi-condensed","normal","semi-expanded","expanded","extra-expanded","ultra-expanded",Mc,$]}],"font-family":[{font:[Mx,$,c]}],"fvn-normal":["normal-nums"],"fvn-ordinal":["ordinal"],"fvn-slashed-zero":["slashed-zero"],"fvn-figure":["lining-nums","oldstyle-nums"],"fvn-spacing":["proportional-nums","tabular-nums"],"fvn-fraction":["diagonal-fractions","stacked-fractions"],tracking:[{tracking:[f,J,$]}],"line-clamp":[{"line-clamp":[se,"none",J,jc]}],leading:[{leading:[m,...F()]}],"list-image":[{"list-image":["none",J,$]}],"list-style-position":[{list:["inside","outside"]}],"list-style-type":[{list:["disc","decimal","none",J,$]}],"text-alignment":[{text:["left","center","right","justify","start","end"]}],"placeholder-color":[{placeholder:q()}],"text-color":[{text:q()}],"text-decoration":["underline","overline","line-through","no-underline"],"text-decoration-style":[{decoration:[...Je(),"wavy"]}],"text-decoration-thickness":[{decoration:[se,"from-font","auto",J,wn]}],"text-decoration-color":[{decoration:q()}],"underline-offset":[{"underline-offset":[se,"auto",J,$]}],"text-transform":["uppercase","lowercase","capitalize","normal-case"],"text-overflow":["truncate","text-ellipsis","text-clip"],"text-wrap":[{text:["wrap","nowrap","balance","pretty"]}],indent:[{indent:F()}],"vertical-align":[{align:["baseline","top","middle","bottom","text-top","text-bottom","sub","super",J,$]}],whitespace:[{whitespace:["normal","nowrap","pre","pre-line","pre-wrap","break-spaces"]}],break:[{break:["normal","words","all","keep"]}],wrap:[{wrap:["break-word","anywhere","normal"]}],hyphens:[{hyphens:["none","manual","auto"]}],content:[{content:["none",J,$]}],"bg-attachment":[{bg:["fixed","local","scroll"]}],"bg-clip":[{"bg-clip":["border","padding","content","text"]}],"bg-origin":[{"bg-origin":["border","padding","content"]}],"bg-position":[{bg:de()}],"bg-repeat":[{bg:he()}],"bg-size":[{bg:Le()}],"bg-image":[{bg:["none",{linear:[{to:["t","tr","r","br","b","bl","l","tl"]},en,J,$],radial:["",J,$],conic:[en,J,$]},Dx,Nx]}],"bg-color":[{bg:q()}],"gradient-from-pos":[{from:ye()}],"gradient-via-pos":[{via:ye()}],"gradient-to-pos":[{to:ye()}],"gradient-from":[{from:q()}],"gradient-via":[{via:q()}],"gradient-to":[{to:q()}],rounded:[{rounded:te()}],"rounded-s":[{"rounded-s":te()}],"rounded-e":[{"rounded-e":te()}],"rounded-t":[{"rounded-t":te()}],"rounded-r":[{"rounded-r":te()}],"rounded-b":[{"rounded-b":te()}],"rounded-l":[{"rounded-l":te()}],"rounded-ss":[{"rounded-ss":te()}],"rounded-se":[{"rounded-se":te()}],"rounded-ee":[{"rounded-ee":te()}],"rounded-es":[{"rounded-es":te()}],"rounded-tl":[{"rounded-tl":te()}],"rounded-tr":[{"rounded-tr":te()}],"rounded-br":[{"rounded-br":te()}],"rounded-bl":[{"rounded-bl":te()}],"border-w":[{border:re()}],"border-w-x":[{"border-x":re()}],"border-w-y":[{"border-y":re()}],"border-w-s":[{"border-s":re()}],"border-w-e":[{"border-e":re()}],"border-w-t":[{"border-t":re()}],"border-w-r":[{"border-r":re()}],"border-w-b":[{"border-b":re()}],"border-w-l":[{"border-l":re()}],"divide-x":[{"divide-x":re()}],"divide-x-reverse":["divide-x-reverse"],"divide-y":[{"divide-y":re()}],"divide-y-reverse":["divide-y-reverse"],"border-style":[{border:[...Je(),"hidden","none"]}],"divide-style":[{divide:[...Je(),"hidden","none"]}],"border-color":[{border:q()}],"border-color-x":[{"border-x":q()}],"border-color-y":[{"border-y":q()}],"border-color-s":[{"border-s":q()}],"border-color-e":[{"border-e":q()}],"border-color-t":[{"border-t":q()}],"border-color-r":[{"border-r":q()}],"border-color-b":[{"border-b":q()}],"border-color-l":[{"border-l":q()}],"divide-color":[{divide:q()}],"outline-style":[{outline:[...Je(),"none","hidden"]}],"outline-offset":[{"outline-offset":[se,J,$]}],"outline-w":[{outline:["",se,mi,wn]}],"outline-color":[{outline:q()}],shadow:[{shadow:["","none",x,Yo,Io]}],"shadow-color":[{shadow:q()}],"inset-shadow":[{"inset-shadow":["none",C,Yo,Io]}],"inset-shadow-color":[{"inset-shadow":q()}],"ring-w":[{ring:re()}],"ring-w-inset":["ring-inset"],"ring-color":[{ring:q()}],"ring-offset-w":[{"ring-offset":[se,wn]}],"ring-offset-color":[{"ring-offset":q()}],"inset-ring-w":[{"inset-ring":re()}],"inset-ring-color":[{"inset-ring":q()}],"text-shadow":[{"text-shadow":["none",D,Yo,Io]}],"text-shadow-color":[{"text-shadow":q()}],opacity:[{opacity:[se,J,$]}],"mix-blend":[{"mix-blend":[...pt(),"plus-darker","plus-lighter"]}],"bg-blend":[{"bg-blend":pt()}],"mask-clip":[{"mask-clip":["border","padding","content","fill","stroke","view"]},"mask-no-clip"],"mask-composite":[{mask:["add","subtract","intersect","exclude"]}],"mask-image-linear-pos":[{"mask-linear":[se]}],"mask-image-linear-from-pos":[{"mask-linear-from":je()}],"mask-image-linear-to-pos":[{"mask-linear-to":je()}],"mask-image-linear-from-color":[{"mask-linear-from":q()}],"mask-image-linear-to-color":[{"mask-linear-to":q()}],"mask-image-t-from-pos":[{"mask-t-from":je()}],"mask-image-t-to-pos":[{"mask-t-to":je()}],"mask-image-t-from-color":[{"mask-t-from":q()}],"mask-image-t-to-color":[{"mask-t-to":q()}],"mask-image-r-from-pos":[{"mask-r-from":je()}],"mask-image-r-to-pos":[{"mask-r-to":je()}],"mask-image-r-from-color":[{"mask-r-from":q()}],"mask-image-r-to-color":[{"mask-r-to":q()}],"mask-image-b-from-pos":[{"mask-b-from":je()}],"mask-image-b-to-pos":[{"mask-b-to":je()}],"mask-image-b-from-color":[{"mask-b-from":q()}],"mask-image-b-to-color":[{"mask-b-to":q()}],"mask-image-l-from-pos":[{"mask-l-from":je()}],"mask-image-l-to-pos":[{"mask-l-to":je()}],"mask-image-l-from-color":[{"mask-l-from":q()}],"mask-image-l-to-color":[{"mask-l-to":q()}],"mask-image-x-from-pos":[{"mask-x-from":je()}],"mask-image-x-to-pos":[{"mask-x-to":je()}],"mask-image-x-from-color":[{"mask-x-from":q()}],"mask-image-x-to-color":[{"mask-x-to":q()}],"mask-image-y-from-pos":[{"mask-y-from":je()}],"mask-image-y-to-pos":[{"mask-y-to":je()}],"mask-image-y-from-color":[{"mask-y-from":q()}],"mask-image-y-to-color":[{"mask-y-to":q()}],"mask-image-radial":[{"mask-radial":[J,$]}],"mask-image-radial-from-pos":[{"mask-radial-from":je()}],"mask-image-radial-to-pos":[{"mask-radial-to":je()}],"mask-image-radial-from-color":[{"mask-radial-from":q()}],"mask-image-radial-to-color":[{"mask-radial-to":q()}],"mask-image-radial-shape":[{"mask-radial":["circle","ellipse"]}],"mask-image-radial-size":[{"mask-radial":[{closest:["side","corner"],farthest:["side","corner"]}]}],"mask-image-radial-pos":[{"mask-radial-at":Z()}],"mask-image-conic-pos":[{"mask-conic":[se]}],"mask-image-conic-from-pos":[{"mask-conic-from":je()}],"mask-image-conic-to-pos":[{"mask-conic-to":je()}],"mask-image-conic-from-color":[{"mask-conic-from":q()}],"mask-image-conic-to-color":[{"mask-conic-to":q()}],"mask-mode":[{mask:["alpha","luminance","match"]}],"mask-origin":[{"mask-origin":["border","padding","content","fill","stroke","view"]}],"mask-position":[{mask:de()}],"mask-repeat":[{mask:he()}],"mask-size":[{mask:Le()}],"mask-type":[{"mask-type":["alpha","luminance"]}],"mask-image":[{mask:["none",J,$]}],filter:[{filter:["","none",J,$]}],blur:[{blur:na()}],brightness:[{brightness:[se,J,$]}],contrast:[{contrast:[se,J,$]}],"drop-shadow":[{"drop-shadow":["","none",H,Yo,Io]}],"drop-shadow-color":[{"drop-shadow":q()}],grayscale:[{grayscale:["",se,J,$]}],"hue-rotate":[{"hue-rotate":[se,J,$]}],invert:[{invert:["",se,J,$]}],saturate:[{saturate:[se,J,$]}],sepia:[{sepia:["",se,J,$]}],"backdrop-filter":[{"backdrop-filter":["","none",J,$]}],"backdrop-blur":[{"backdrop-blur":na()}],"backdrop-brightness":[{"backdrop-brightness":[se,J,$]}],"backdrop-contrast":[{"backdrop-contrast":[se,J,$]}],"backdrop-grayscale":[{"backdrop-grayscale":["",se,J,$]}],"backdrop-hue-rotate":[{"backdrop-hue-rotate":[se,J,$]}],"backdrop-invert":[{"backdrop-invert":["",se,J,$]}],"backdrop-opacity":[{"backdrop-opacity":[se,J,$]}],"backdrop-saturate":[{"backdrop-saturate":[se,J,$]}],"backdrop-sepia":[{"backdrop-sepia":["",se,J,$]}],"border-collapse":[{border:["collapse","separate"]}],"border-spacing":[{"border-spacing":F()}],"border-spacing-x":[{"border-spacing-x":F()}],"border-spacing-y":[{"border-spacing-y":F()}],"table-layout":[{table:["auto","fixed"]}],caption:[{caption:["top","bottom"]}],transition:[{transition:["","all","colors","opacity","shadow","transform","none",J,$]}],"transition-behavior":[{transition:["normal","discrete"]}],duration:[{duration:[se,"initial",J,$]}],ease:[{ease:["linear","initial",B,J,$]}],delay:[{delay:[se,J,$]}],animate:[{animate:["none",P,J,$]}],backface:[{backface:["hidden","visible"]}],perspective:[{perspective:[R,J,$]}],"perspective-origin":[{"perspective-origin":I()}],rotate:[{rotate:gt()}],"rotate-x":[{"rotate-x":gt()}],"rotate-y":[{"rotate-y":gt()}],"rotate-z":[{"rotate-z":gt()}],scale:[{scale:Qt()}],"scale-x":[{"scale-x":Qt()}],"scale-y":[{"scale-y":Qt()}],"scale-z":[{"scale-z":Qt()}],"scale-3d":["scale-3d"],skew:[{skew:Xt()}],"skew-x":[{"skew-x":Xt()}],"skew-y":[{"skew-y":Xt()}],transform:[{transform:[J,$,"","none","gpu","cpu"]}],"transform-origin":[{origin:I()}],"transform-style":[{transform:["3d","flat"]}],translate:[{translate:Zt()}],"translate-x":[{"translate-x":Zt()}],"translate-y":[{"translate-y":Zt()}],"translate-z":[{"translate-z":Zt()}],"translate-none":["translate-none"],accent:[{accent:q()}],appearance:[{appearance:["none","auto"]}],"caret-color":[{caret:q()}],"color-scheme":[{scheme:["normal","dark","light","light-dark","only-dark","only-light"]}],cursor:[{cursor:["auto","default","pointer","wait","text","move","help","not-allowed","none","context-menu","progress","cell","crosshair","vertical-text","alias","copy","no-drop","grab","grabbing","all-scroll","col-resize","row-resize","n-resize","e-resize","s-resize","w-resize","ne-resize","nw-resize","se-resize","sw-resize","ew-resize","ns-resize","nesw-resize","nwse-resize","zoom-in","zoom-out",J,$]}],"field-sizing":[{"field-sizing":["fixed","content"]}],"pointer-events":[{"pointer-events":["auto","none"]}],resize:[{resize:["none","","y","x"]}],"scroll-behavior":[{scroll:["auto","smooth"]}],"scroll-m":[{"scroll-m":F()}],"scroll-mx":[{"scroll-mx":F()}],"scroll-my":[{"scroll-my":F()}],"scroll-ms":[{"scroll-ms":F()}],"scroll-me":[{"scroll-me":F()}],"scroll-mt":[{"scroll-mt":F()}],"scroll-mr":[{"scroll-mr":F()}],"scroll-mb":[{"scroll-mb":F()}],"scroll-ml":[{"scroll-ml":F()}],"scroll-p":[{"scroll-p":F()}],"scroll-px":[{"scroll-px":F()}],"scroll-py":[{"scroll-py":F()}],"scroll-ps":[{"scroll-ps":F()}],"scroll-pe":[{"scroll-pe":F()}],"scroll-pt":[{"scroll-pt":F()}],"scroll-pr":[{"scroll-pr":F()}],"scroll-pb":[{"scroll-pb":F()}],"scroll-pl":[{"scroll-pl":F()}],"snap-align":[{snap:["start","end","center","align-none"]}],"snap-stop":[{snap:["normal","always"]}],"snap-type":[{snap:["none","x","y","both"]}],"snap-strictness":[{snap:["mandatory","proximity"]}],touch:[{touch:["auto","none","manipulation"]}],"touch-x":[{"touch-pan":["x","left","right"]}],"touch-y":[{"touch-pan":["y","up","down"]}],"touch-pz":["touch-pinch-zoom"],select:[{select:["none","text","all","auto"]}],"will-change":[{"will-change":["auto","scroll","contents","transform",J,$]}],fill:[{fill:["none",...q()]}],"stroke-w":[{stroke:[se,mi,wn,jc]}],stroke:[{stroke:["none",...q()]}],"forced-color-adjust":[{"forced-color-adjust":["auto","none"]}]},conflictingClassGroups:{overflow:["overflow-x","overflow-y"],overscroll:["overscroll-x","overscroll-y"],inset:["inset-x","inset-y","start","end","top","right","bottom","left"],"inset-x":["right","left"],"inset-y":["top","bottom"],flex:["basis","grow","shrink"],gap:["gap-x","gap-y"],p:["px","py","ps","pe","pt","pr","pb","pl"],px:["pr","pl"],py:["pt","pb"],m:["mx","my","ms","me","mt","mr","mb","ml"],mx:["mr","ml"],my:["mt","mb"],size:["w","h"],"font-size":["leading"],"fvn-normal":["fvn-ordinal","fvn-slashed-zero","fvn-figure","fvn-spacing","fvn-fraction"],"fvn-ordinal":["fvn-normal"],"fvn-slashed-zero":["fvn-normal"],"fvn-figure":["fvn-normal"],"fvn-spacing":["fvn-normal"],"fvn-fraction":["fvn-normal"],"line-clamp":["display","overflow"],rounded:["rounded-s","rounded-e","rounded-t","rounded-r","rounded-b","rounded-l","rounded-ss","rounded-se","rounded-ee","rounded-es","rounded-tl","rounded-tr","rounded-br","rounded-bl"],"rounded-s":["rounded-ss","rounded-es"],"rounded-e":["rounded-se","rounded-ee"],"rounded-t":["rounded-tl","rounded-tr"],"rounded-r":["rounded-tr","rounded-br"],"rounded-b":["rounded-br","rounded-bl"],"rounded-l":["rounded-tl","rounded-bl"],"border-spacing":["border-spacing-x","border-spacing-y"],"border-w":["border-w-x","border-w-y","border-w-s","border-w-e","border-w-t","border-w-r","border-w-b","border-w-l"],"border-w-x":["border-w-r","border-w-l"],"border-w-y":["border-w-t","border-w-b"],"border-color":["border-color-x","border-color-y","border-color-s","border-color-e","border-color-t","border-color-r","border-color-b","border-color-l"],"border-color-x":["border-color-r","border-color-l"],"border-color-y":["border-color-t","border-color-b"],translate:["translate-x","translate-y","translate-none"],"translate-none":["translate","translate-x","translate-y","translate-z"],"scroll-m":["scroll-mx","scroll-my","scroll-ms","scroll-me","scroll-mt","scroll-mr","scroll-mb","scroll-ml"],"scroll-mx":["scroll-mr","scroll-ml"],"scroll-my":["scroll-mt","scroll-mb"],"scroll-p":["scroll-px","scroll-py","scroll-ps","scroll-pe","scroll-pt","scroll-pr","scroll-pb","scroll-pl"],"scroll-px":["scroll-pr","scroll-pl"],"scroll-py":["scroll-pt","scroll-pb"],touch:["touch-x","touch-y","touch-pz"],"touch-x":["touch"],"touch-y":["touch"],"touch-pz":["touch"]},conflictingClassGroupModifiers:{"font-size":["leading"]},orderSensitiveModifiers:["*","**","after","backdrop","before","details-content","file","first-letter","first-line","marker","placeholder","selection"]}},Px=gx(zx);function vl(...i){return Px(Lg(i))}const Lx=ex,Yg=h.forwardRef(({className:i,...c},s)=>u.jsx(Mg,{ref:s,className:vl("fixed top-4 right-4 z-[100] flex max-h-screen w-full flex-col gap-2 p-4 md:max-w-[420px]",i),...c}));Yg.displayName=Mg.displayName;const Ux=tx("group pointer-events-auto relative flex w-full items-center justify-between space-x-4 overflow-hidden rounded-md border p-6 pr-8 shadow-lg transition-all data-[swipe=cancel]:translate-x-0 data-[swipe=end]:translate-x-[var(--radix-toast-swipe-end-x)] data-[swipe=move]:translate-x-[var(--radix-toast-swipe-move-x)] data-[swipe=move]:transition-none data-[state=open]:animate-in data-[state=closed]:animate-out data-[swipe=end]:animate-out data-[state=closed]:fade-out-80 data-[state=closed]:slide-out-to-right-full data-[state=open]:slide-in-from-top-full data-[state=open]:sm:slide-in-from-bottom-full",{variants:{variant:{default:"border bg-background text-foreground",destructive:"destructive group border-destructive bg-destructive text-destructive-foreground"}},defaultVariants:{variant:"default"}}),Qg=h.forwardRef(({className:i,variant:c,...s},r)=>u.jsx(jg,{ref:r,className:vl(Ux({variant:c}),i),...s}));Qg.displayName=jg.displayName;const _x=h.forwardRef(({className:i,...c},s)=>u.jsx(Og,{ref:s,className:vl("inline-flex h-8 shrink-0 items-center justify-center rounded-md border bg-transparent px-3 text-sm font-medium ring-offset-background transition-colors hover:bg-secondary focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 group-[.destructive]:border-muted/40 group-[.destructive]:hover:border-destructive/30 group-[.destructive]:hover:bg-destructive group-[.destructive]:hover:text-destructive-foreground group-[.destructive]:focus:ring-destructive",i),...c}));_x.displayName=Og.displayName;const Xg=h.forwardRef(({className:i,...c},s)=>u.jsx(zg,{ref:s,className:vl("absolute right-2 top-2 rounded-md p-1 text-foreground/50 opacity-0 transition-opacity hover:text-foreground focus:opacity-100 focus:outline-none focus:ring-2 group-hover:opacity-100 group-[.destructive]:text-red-300 group-[.destructive]:hover:text-red-50 group-[.destructive]:focus:ring-red-400 group-[.destructive]:focus:ring-offset-red-600",i),"toast-close":"",...c,children:u.jsx(gi,{className:"h-4 w-4"})}));Xg.displayName=zg.displayName;const Zg=h.forwardRef(({className:i,...c},s)=>u.jsx(Dg,{ref:s,className:vl("text-sm font-semibold",i),...c}));Zg.displayName=Dg.displayName;const $g=h.forwardRef(({className:i,...c},s)=>u.jsx(Rg,{ref:s,className:vl("text-sm opacity-90",i),...c}));$g.displayName=Rg.displayName;function Fx(){const{toasts:i}=X0();return u.jsxs(Lx,{children:[i.map(function({id:c,title:s,description:r,action:f,...m}){return u.jsxs(Qg,{...m,children:[u.jsxs("div",{className:"grid gap-1",children:[s&&u.jsx(Zg,{children:s}),r&&u.jsx($g,{children:r})]}),f,u.jsx(Xg,{})]},c)}),u.jsx(Yg,{})]})}const Bx=h.lazy(()=>$e(()=>import("./DashboardPage-29qC7Ev1.js"),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12])).then(i=>({default:i.DashboardPage}))),Hx=h.lazy(()=>$e(()=>import("./AgentsPage-Nvg2xu6K.js"),__vite__mapDeps([13,1,2,3,14,4,5,6,7,8,15,16,17,18])).then(i=>({default:i.AgentsPage}))),qx=h.lazy(()=>$e(()=>import("./ProjectsPage-lLUk4-Xa.js"),__vite__mapDeps([19,1,2,3,5,6,7,8,20,4,16,14,12,21,17,22,11])).then(i=>({default:i.ProjectsPage}))),Vx=h.lazy(()=>$e(()=>import("./McpPage-CtWf1CoL.js"),__vite__mapDeps([23,1,2,3,5,6,7,8,14])).then(i=>({default:i.McpPage}))),Gx=h.lazy(()=>$e(()=>import("./SettingsLayout-DGJspXLp.js"),__vite__mapDeps([24,1,2,3,5,6,7,8])).then(i=>({default:i.SettingsLayout}))),Pp=h.lazy(()=>$e(()=>import("./GeneralSettingsPage-D9Xa7Nd8.js"),__vite__mapDeps([25,1,2,3,6,7,5,8])).then(i=>({default:i.GeneralSettingsPage}))),Kx=h.lazy(()=>$e(()=>import("./VersionSettingsPage-BfoCcham.js"),__vite__mapDeps([26,1,2,3,10,5,6,7,8,16])).then(i=>({default:i.VersionSettingsPage}))),Ix=h.lazy(()=>$e(()=>import("./MemorySettingsPage-JTry4Ccp.js"),__vite__mapDeps([27,1,2,3,5,6,7,8])).then(i=>({default:i.MemorySettingsPage}))),Yx=h.lazy(()=>$e(()=>import("./SubagentsPage-Dnq70IFd.js"),__vite__mapDeps([28,1,2,3,14,22,5,6,7,8,17,20,18])).then(i=>({default:i.SubagentsPage}))),Qx=h.lazy(()=>$e(()=>import("./McpAdminSettingsPage-DgR3E2Bd.js"),__vite__mapDeps([29,1,2,3,5,6,7,8])).then(i=>({default:i.McpAdminSettingsPage}))),Xx=h.lazy(()=>$e(()=>import("./CommandsPage-DZHyOdKd.js"),__vite__mapDeps([30,1,2,3,14,12,5,6,7,8,21,17,20,18])).then(i=>({default:i.CommandsPage}))),Zx=h.lazy(()=>$e(()=>import("./SkillsPage-DBw0m7D2.js"),__vite__mapDeps([31,1,2,3,14,5,6,7,8,17,32,33,18])).then(i=>({default:i.SkillsPage}))),$x=h.lazy(()=>$e(()=>import("./PluginsPage-D-BHjQ3P.js"),__vite__mapDeps([34,1,2,3,5,6,7,8,32,33])).then(i=>({default:i.PluginsPage}))),Jx=h.lazy(()=>$e(()=>import("./ScheduledTasksPage-5hPbd9Vs.js"),__vite__mapDeps([35,1,2,3,14,5,6,7,8,4,11,10])).then(i=>({default:i.ScheduledTasksPage}))),Wx=h.lazy(()=>$e(()=>import("./ChatPage-D6sol0ad.js").then(i=>i.bC),__vite__mapDeps([36,1,2,3,5,6,7,8,4,9,12,10,33,17,16,15,37])).then(i=>({default:i.ChatPage}))),ew=h.lazy(()=>$e(()=>import("./LandingPage-CjnT-cvO.js"),__vite__mapDeps([38,1,2,3,6,7,5,8])).then(i=>({default:i.default}))),tw=h.lazy(()=>$e(()=>import("./LoginPage-DcaGNCXH.js"),__vite__mapDeps([39,1,2,3,7,6,5,8])).then(i=>({default:i.LoginPage}))),aw=h.lazy(()=>$e(()=>import("./ToastTestPage-BfJQRFIm.js"),__vite__mapDeps([40,1,2,3,5,6,7,8])).then(i=>({default:i.ToastTestPage}))),nw=()=>u.jsx("div",{className:"flex items-center justify-center h-64",children:u.jsx("div",{className:"animate-spin rounded-full h-8 w-8 border-b-2 border-gray-900"})}),lw=new Dv({defaultOptions:{queries:{refetchOnWindowFocus:!1,retry:1}}}),iw=()=>(h.useEffect(()=>{(()=>{const c=localStorage.getItem("theme")||"auto";if(c==="dark")document.documentElement.classList.add("dark");else if(c==="light")document.documentElement.classList.remove("dark");else{const s=window.matchMedia("(prefers-color-scheme: dark)");s.matches?document.documentElement.classList.add("dark"):document.documentElement.classList.remove("dark");const r=f=>{localStorage.getItem("theme")==="auto"&&(f.matches?document.documentElement.classList.add("dark"):document.documentElement.classList.remove("dark"))};return s.addEventListener("change",r),()=>s.removeEventListener("change",r)}})()},[]),u.jsx(z0,{children:u.jsx(h.Suspense,{fallback:u.jsx(nw,{}),children:u.jsxs(u0,{children:[u.jsx(He,{path:"/",element:u.jsx(ew,{})}),u.jsx(He,{path:"/login",element:u.jsx(tw,{})}),u.jsx(He,{path:"/chat/:agentId",element:u.jsx(Gt,{children:u.jsx(Wx,{})})}),u.jsx(He,{path:"/dashboard",element:u.jsx(Gt,{children:u.jsx(ta,{children:u.jsx(Bx,{})})})}),u.jsx(He,{path:"/agents",element:u.jsx(Gt,{children:u.jsx(ta,{children:u.jsx(Hx,{})})})}),u.jsx(He,{path:"/projects",element:u.jsx(Gt,{children:u.jsx(ta,{children:u.jsx(qx,{})})})}),u.jsx(He,{path:"/mcp",element:u.jsx(Gt,{children:u.jsx(ta,{children:u.jsx(Vx,{})})})}),u.jsx(He,{path:"/skills",element:u.jsx(Gt,{children:u.jsx(ta,{children:u.jsx(Zx,{})})})}),u.jsx(He,{path:"/plugins",element:u.jsx(Gt,{children:u.jsx(ta,{children:u.jsx($x,{})})})}),u.jsx(He,{path:"/scheduled-tasks",element:u.jsx(Gt,{children:u.jsx(ta,{children:u.jsx(Jx,{})})})}),u.jsxs(He,{path:"/settings",element:u.jsx(Gt,{children:u.jsx(ta,{children:u.jsx(Gx,{})})}),children:[u.jsx(He,{index:!0,element:u.jsx(Pp,{})}),u.jsx(He,{path:"general",element:u.jsx(Pp,{})}),u.jsx(He,{path:"suppliers",element:u.jsx(Kx,{})}),u.jsx(He,{path:"memory",element:u.jsx(Ix,{})}),u.jsx(He,{path:"commands",element:u.jsx(Xx,{})}),u.jsx(He,{path:"subagents",element:u.jsx(Yx,{})}),u.jsx(He,{path:"mcp-admin",element:u.jsx(Qx,{})})]}),u.jsx(He,{path:"/toast-test",element:u.jsx(Gt,{children:u.jsx(ta,{children:u.jsx(aw,{})})})}),u.jsx(He,{path:"*",element:u.jsx(Gt,{children:u.jsx(ta,{children:u.jsx("div",{className:"p-4 text-center",children:"Page not found"})})})})]})})}));function ow(){return u.jsx(Rv,{client:lw,children:u.jsxs(eS,{children:[u.jsx(iw,{}),u.jsx(Fx,{})]})})}const{slice:sw,forEach:rw}=[];function cw(i){return rw.call(sw.call(arguments,1),c=>{if(c)for(const s in c)i[s]===void 0&&(i[s]=c[s])}),i}function uw(i){return typeof i!="string"?!1:[/<\s*script.*?>/i,/<\s*\/\s*script\s*>/i,/<\s*img.*?on\w+\s*=/i,/<\s*\w+\s*on\w+\s*=.*?>/i,/javascript\s*:/i,/vbscript\s*:/i,/expression\s*\(/i,/eval\s*\(/i,/alert\s*\(/i,/document\.cookie/i,/document\.write\s*\(/i,/window\.location/i,/innerHTML/i].some(s=>s.test(i))}const Lp=/^[\u0009\u0020-\u007e\u0080-\u00ff]+$/,dw=function(i,c){const r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{path:"/"},f=encodeURIComponent(c);let m=`${i}=${f}`;if(r.maxAge>0){const y=r.maxAge-0;if(Number.isNaN(y))throw new Error("maxAge should be a Number");m+=`; Max-Age=${Math.floor(y)}`}if(r.domain){if(!Lp.test(r.domain))throw new TypeError("option domain is invalid");m+=`; Domain=${r.domain}`}if(r.path){if(!Lp.test(r.path))throw new TypeError("option path is invalid");m+=`; Path=${r.path}`}if(r.expires){if(typeof r.expires.toUTCString!="function")throw new TypeError("option expires is invalid");m+=`; Expires=${r.expires.toUTCString()}`}if(r.httpOnly&&(m+="; HttpOnly"),r.secure&&(m+="; Secure"),r.sameSite)switch(typeof r.sameSite=="string"?r.sameSite.toLowerCase():r.sameSite){case!0:m+="; SameSite=Strict";break;case"lax":m+="; SameSite=Lax";break;case"strict":m+="; SameSite=Strict";break;case"none":m+="; SameSite=None";break;default:throw new TypeError("option sameSite is invalid")}return r.partitioned&&(m+="; Partitioned"),m},Up={create(i,c,s,r){let f=arguments.length>4&&arguments[4]!==void 0?arguments[4]:{path:"/",sameSite:"strict"};s&&(f.expires=new Date,f.expires.setTime(f.expires.getTime()+s*60*1e3)),r&&(f.domain=r),document.cookie=dw(i,c,f)},read(i){const c=`${i}=`,s=document.cookie.split(";");for(let r=0;r<s.length;r++){let f=s[r];for(;f.charAt(0)===" ";)f=f.substring(1,f.length);if(f.indexOf(c)===0)return f.substring(c.length,f.length)}return null},remove(i,c){this.create(i,"",-1,c)}};var fw={name:"cookie",lookup(i){let{lookupCookie:c}=i;if(c&&typeof document<"u")return Up.read(c)||void 0},cacheUserLanguage(i,c){let{lookupCookie:s,cookieMinutes:r,cookieDomain:f,cookieOptions:m}=c;s&&typeof document<"u"&&Up.create(s,i,r,f,m)}},mw={name:"querystring",lookup(i){let{lookupQuerystring:c}=i,s;if(typeof window<"u"){let{search:r}=window.location;!window.location.search&&window.location.hash?.indexOf("?")>-1&&(r=window.location.hash.substring(window.location.hash.indexOf("?")));const m=r.substring(1).split("&");for(let y=0;y<m.length;y++){const b=m[y].indexOf("=");b>0&&m[y].substring(0,b)===c&&(s=m[y].substring(b+1))}}return s}},pw={name:"hash",lookup(i){let{lookupHash:c,lookupFromHashIndex:s}=i,r;if(typeof window<"u"){const{hash:f}=window.location;if(f&&f.length>2){const m=f.substring(1);if(c){const y=m.split("&");for(let b=0;b<y.length;b++){const v=y[b].indexOf("=");v>0&&y[b].substring(0,v)===c&&(r=y[b].substring(v+1))}}if(r)return r;if(!r&&s>-1){const y=f.match(/\/([a-zA-Z-]*)/g);return Array.isArray(y)?y[typeof s=="number"?s:0]?.replace("/",""):void 0}}}return r}};let dl=null;const _p=()=>{if(dl!==null)return dl;try{if(dl=typeof window<"u"&&window.localStorage!==null,!dl)return!1;const i="i18next.translate.boo";window.localStorage.setItem(i,"foo"),window.localStorage.removeItem(i)}catch{dl=!1}return dl};var gw={name:"localStorage",lookup(i){let{lookupLocalStorage:c}=i;if(c&&_p())return window.localStorage.getItem(c)||void 0},cacheUserLanguage(i,c){let{lookupLocalStorage:s}=c;s&&_p()&&window.localStorage.setItem(s,i)}};let fl=null;const Fp=()=>{if(fl!==null)return fl;try{if(fl=typeof window<"u"&&window.sessionStorage!==null,!fl)return!1;const i="i18next.translate.boo";window.sessionStorage.setItem(i,"foo"),window.sessionStorage.removeItem(i)}catch{fl=!1}return fl};var hw={name:"sessionStorage",lookup(i){let{lookupSessionStorage:c}=i;if(c&&Fp())return window.sessionStorage.getItem(c)||void 0},cacheUserLanguage(i,c){let{lookupSessionStorage:s}=c;s&&Fp()&&window.sessionStorage.setItem(s,i)}},yw={name:"navigator",lookup(i){const c=[];if(typeof navigator<"u"){const{languages:s,userLanguage:r,language:f}=navigator;if(s)for(let m=0;m<s.length;m++)c.push(s[m]);r&&c.push(r),f&&c.push(f)}return c.length>0?c:void 0}},vw={name:"htmlTag",lookup(i){let{htmlTag:c}=i,s;const r=c||(typeof document<"u"?document.documentElement:null);return r&&typeof r.getAttribute=="function"&&(s=r.getAttribute("lang")),s}},bw={name:"path",lookup(i){let{lookupFromPathIndex:c}=i;if(typeof window>"u")return;const s=window.location.pathname.match(/\/([a-zA-Z-]*)/g);return Array.isArray(s)?s[typeof c=="number"?c:0]?.replace("/",""):void 0}},Sw={name:"subdomain",lookup(i){let{lookupFromSubdomainIndex:c}=i;const s=typeof c=="number"?c+1:1,r=typeof window<"u"&&window.location?.hostname?.match(/^(\w{2,5})\.(([a-z0-9-]{1,63}\.[a-z]{2,6})|localhost)/i);if(r)return r[s]}};let Jg=!1;try{document.cookie,Jg=!0}catch{}const Wg=["querystring","cookie","localStorage","sessionStorage","navigator","htmlTag"];Jg||Wg.splice(1,1);const xw=()=>({order:Wg,lookupQuerystring:"lng",lookupCookie:"i18next",lookupLocalStorage:"i18nextLng",lookupSessionStorage:"i18nextLng",caches:["localStorage"],excludeCacheFor:["cimode"],convertDetectedLanguage:i=>i});class eh{constructor(c){let s=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};this.type="languageDetector",this.detectors={},this.init(c,s)}init(){let c=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{languageUtils:{}},s=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};this.services=c,this.options=cw(s,this.options||{},xw()),typeof this.options.convertDetectedLanguage=="string"&&this.options.convertDetectedLanguage.indexOf("15897")>-1&&(this.options.convertDetectedLanguage=f=>f.replace("-","_")),this.options.lookupFromUrlIndex&&(this.options.lookupFromPathIndex=this.options.lookupFromUrlIndex),this.i18nOptions=r,this.addDetector(fw),this.addDetector(mw),this.addDetector(gw),this.addDetector(hw),this.addDetector(yw),this.addDetector(vw),this.addDetector(bw),this.addDetector(Sw),this.addDetector(pw)}addDetector(c){return this.detectors[c.name]=c,this}detect(){let c=arguments.length>0&&arguments[0]!==void 0?arguments[0]:this.options.order,s=[];return c.forEach(r=>{if(this.detectors[r]){let f=this.detectors[r].lookup(this.options);f&&typeof f=="string"&&(f=[f]),f&&(s=s.concat(f))}}),s=s.filter(r=>r!=null&&!uw(r)).map(r=>this.options.convertDetectedLanguage(r)),this.services&&this.services.languageUtils&&this.services.languageUtils.getBestMatchFromCodes?s:s.length>0?s[0]:null}cacheUserLanguage(c){let s=arguments.length>1&&arguments[1]!==void 0?arguments[1]:this.options.caches;s&&(this.options.excludeCacheFor&&this.options.excludeCacheFor.indexOf(c)>-1||s.forEach(r=>{this.detectors[r]&&this.detectors[r].cacheUserLanguage(c,this.options)}))}}eh.type="languageDetector";const ww={create:"创建",delete:"删除",save:"保存",cancel:"取消",confirm:"确定",edit:"编辑",close:"关闭",back:"返回",next:"下一步",refresh:"刷新",submit:"提交",reset:"重置",search:"搜索",add:"添加",remove:"移除",update:"更新",upload:"上传",download:"下载",export:"导出",import:"导入",copy:"复制",paste:"粘贴",cut:"剪切"},Cw={loading:"加载中...",processing:"处理中...",success:"操作成功",failed:"操作失败",saving:"保存中...",deleting:"删除中...",uploading:"上传中...",downloading:"下载中...",completed:"已完成",pending:"待处理",active:"活跃",inactive:"未激活",enabled:"已启用",disabled:"已禁用"},Aw={yes:"是",no:"否",ok:"好的",all:"全部",none:"无",or:"或",and:"和",more:"更多",less:"更少",unknown:"未知",optional:"可选",required:"必填",default:"默认",custom:"自定义"},Tw="路径",kw="创建时间",Ew={init:{description:""},clear:{description:""},compact:{description:""},agents:{description:""},settings:{description:""},help:{description:""}},Nw={sendImage:""},Mw={chinese:"",english:""},jw={pageTitle:"",metaDescription:"",nav:{enterWorkspace:""},hero:{title:"",subtitle:"",description:"",startNow:"",viewSource:""},features:{title:"",subtitle:"",modernWeb:{title:"",description:""},multiModel:{title:"",description:""},agentSystem:{title:"",description:""},fileManagement:{title:"",description:""},professionalTools:{title:"",description:""},secureReliable:{title:"",description:""}},quickStart:{title:"",subtitle:"",endUserTitle:"",endUserDescription:"",developerTitle:"",developerDescription:""},cta:{title:"",subtitle:"",start:""},footer:{description:"",copyright:"",product:"",workspace:"",sourceCode:"",releases:"",support:"",documentation:"",issues:"",discussions:""}},Dw={actions:ww,status:Cw,common:Aw,path:Tw,createdAt:kw,systemCommands:Ew,agentChat:Nw,languageSwitcher:Mw,landing:jw},Rw={dashboard:"仪表板",projects:"项目管理",agents:"Agent管理",scheduledTasks:"定时任务",skills:"技能管理",plugins:"插件管理",mcp:"MCP服务",commands:"自定义命令",subagents:"Subagent管理",settings:"系统管理",settingsSubmenu:{general:"外观设置",suppliers:"供应商管理",memory:"全局记忆",mcpAdmin:"MCP Admin"}},Ow={version:"版本 {{version}}",apiServerStatus:{connected:"API服务器设置 - 连接正常",disconnected:"API服务器设置 - 连接失败",checking:"API服务器设置 - 检查中..."},serviceStatus:{normal:"服务正常",unavailable:"服务不可用",checking:"检查中..."}},zw={title:"登录",subtitle:"请输入密码以继续",passwordLabel:"密码",passwordPlaceholder:"请输入密码",loginButton:"登录",loggingIn:"登录中...",footer:"如果您忘记了密码,请联系管理员",manageServices:"管理后端服务",serviceName:"服务名称",serviceUrl:"服务地址",current:"当前",testConnection:"测试连接",switchTo:"切换到此服务",edit:"编辑",delete:"删除",save:"保存",cancel:"取消",add:"添加",addService:"添加新服务",rerunOnboarding:"重新运行配置向导",checkingConnection:"正在检查连接...",autoLoggingIn:"正在自动登录...",noPasswordRequired:"此服务未设置密码,可直接登录",enterSystem:"进入系统"},Pw={pageTitle:"AgentStudio - 智能体工作平台 | Claude Code 驱动的 AI 助手",metaDescription:"基于 Claude Code SDK 的现代化个人智能体工作平台。通过直观的 Web 界面,轻松访问强大的 AI 能力,支持多种大语言模型,提升工作效率。",nav:{enterWorkspace:"进入工作台"},hero:{title:"智能体工作平台",subtitle:"让AI成为你的得力助手",description:"基于 Claude Code SDK 构建的现代化个人智能体工作平台。通过直观的 Web 界面,轻松访问强大的 AI 能力,提升工作效率。",startNow:"立即开始",viewSource:"查看源码"},features:{title:"核心特性",subtitle:"为现代化AI工作流程设计的全面功能集",modernWeb:{title:"现代化Web界面",description:"专业直观的 Web UI,实时流式响应,分屏布局设计,适合开发者和普通用户使用"},multiModel:{title:"多模型支持",description:"支持 Claude、OpenAI、GLM、DeepSeek 等多种大语言模型,灵活切换,满足不同需求"},agentSystem:{title:"智能体系统",description:"内置多种专业智能体,支持自定义智能体创建,消息级工具定制,扩展开发框架"},fileManagement:{title:"文件管理",description:"内置文件浏览器,项目感知操作,版本控制集成,支持图片上传和内容预览"},professionalTools:{title:"专业工具",description:"幻灯片智能体、代码探索器、文档大纲、工具渲染器等专业工具,提升工作效率"},secureReliable:{title:"安全可靠",description:"环境变量保护API密钥,CORS配置,输入验证,沙盒文件系统访问,确保安全性"}},quickStart:{title:"快速开始",subtitle:"选择适合你的安装方式,几分钟内即可开始使用",endUserTitle:"普通用户 - 一键安装",endUserDescription:"无需配置,自动安装所有依赖,适合快速体验和日常使用",developerTitle:"开发者 - 源码部署",developerDescription:"完整开发环境,支持热重载,适合定制开发和功能扩展"},cta:{title:"准备好开始你的AI工作流程了吗?",subtitle:"加入使用AgentStudio的开发者和团队,体验AI驱动的高效工作方式",start:"开始使用"},footer:{description:"基于 Claude Code SDK 的个人智能体工作平台,让AI成为你的得力助手。",copyright:"© 2024 AgentStudio. MIT License.",product:"产品",workspace:"工作台",sourceCode:"源码",releases:"发布版本",support:"支持",documentation:"文档",issues:"问题反馈",discussions:"社区讨论"}},Lw={title:"Agent管理",subtitle:"管理专门的 AI 代理",createButton:"创建助手",editButton:"编辑助手",deleteButton:"删除助手",enableButton:"启用助手",disableButton:"禁用助手",useButton:"使用",startUsingButton:"开始使用助手",noAgents:"暂无助手",noAgentsSearch:"未找到匹配的助手",searchPlaceholder:"搜索助手...",createFirst:"创建你的第一个智能助手",adjustSearch:"尝试调整搜索条件",loading:"正在加载智能助手...",filter:{all:"全部",enabled:"已启用",disabled:"已禁用"},table:{agent:"智能助手",type:"类型",config:"配置",tools:"工具",status:"状态",actions:"操作",maxTurns:"最大轮次",unlimited:"不限制",permission:"权限",toolsCount:"{{count}} 个工具"},form:{create:"创建助手",edit:"编辑助手",name:"名称",description:"描述",maxTurns:"最大轮次",maxTurnsPlaceholder:"不限制",maxTurnsError:"最大轮次必须在1-100之间",maxTurnsExceeded:"最大轮次不能超过{{maximum}}",permissionMode:"权限模式",icon:"图标",primaryColor:"主题颜色",enabledTools:"启用的工具",selectTools:"选择工具",toolsRegular:"常规工具 {{count}} 个",toolsMcp:"MCP工具 {{count}} 个",systemPrompt:"系统提示词",systemPromptPlaceholder:"输入助手的系统提示词...",nameRequired:"请填写助手名称",save:"保存",cancel:"取消"},permissions:{default:"默认",acceptEdits:"自动接受编辑",bypassPermissions:"绕过权限检查",plan:"规划模式"},status:{enabled:"已启用",disabled:"已禁用"},errors:{createFailed:"创建失败,请重试。",saveFailed:"保存失败,请重试。",deleteFailed:"删除失败,请重试。",toggleFailed:"操作失败,请重试。",builtinCannotDelete:"内置助手无法删除,但可以禁用。"},confirmDelete:`确定要删除助手"{{name}}"吗?
84
+
85
+ 此操作无法撤销,相关的所有会话也会被删除。`},Uw={title:"项目管理",subtitle:"管理你的所有工作项目",createButton:"创建新项目",selectType:"选择助手类型创建工作项目",noProjects:"暂无项目",searchPlaceholder:"搜索项目...",loading:"正在加载项目...",filter:{all:"全部",active:"活跃",inactive:"未活跃"},table:{project:"项目",agent:"助手",lastActive:"最后活跃",sessions:"会话",actions:"操作",sessionsCount:"{{count}} 个会话"},form:{create:"创建项目",edit:"编辑项目",name:"项目名称",namePlaceholder:"输入项目名称",nameRequired:"项目名称 *",agentType:"选择助手类型 *",agentTypePlaceholder:"选择一个助手类型",directory:"项目目录",directoryNote:"项目将在此目录下创建一个新文件夹",description:"项目描述",descriptionPlaceholder:"简单描述这个项目的用途...",save:"保存",cancel:"取消"},actions:{open:"打开",openInNewTab:"在新标签页打开",edit:"编辑",delete:"删除"},status:{active:"活跃",inactive:"未活跃",never:"从未"},errors:{createFailed:"创建项目失败",updateFailed:"更新项目失败",deleteFailed:"删除项目失败",loadFailed:"加载项目失败"},deleteConfirm:"确定要删除项目吗?",deleteNote:"注意:这只会从列表中移除项目,不会删除实际的文件目录。",deleteSuccess:"项目已删除"},_w={title:"对话",inputPlaceholder:"输入消息...",aiTyping:"AI正在输入中",newSession:"新对话",sessionHistory:"历史会话",loading:"正在加载智能助手...",agentNotFound:"助手未找到",agentNotFoundDesc:"无法找到指定的智能助手,可能已被删除或禁用。",agentDisabled:"助手已禁用",agentDisabledDesc:'智能助手 "{{name}}" 目前已被禁用,无法使用。',closePage:"关闭页面",tabNotification:{working:"🤖 正在工作",completed:"✅ 已完成",error:"❌ 发生错误"}},Fw={title:"仪表板",welcome:"欢迎回到Claude Code工作台",stats:{agentManagement:"Agent管理",workProjects:"工作项目",slashCommands:"Slash命令",activeSessions:"活跃会话"},recentAgents:{title:"常用助手",viewAll:"查看全部",types:{slides:"演示文稿","claude-code":"Claude Code"},noAgents:"暂无可用助手",goEnable:"去启用助手"},quickActions:{title:"快速操作",createProject:{title:"创建新项目",description:"选择助手类型创建工作项目"},createAgent:{title:"创建新助手",description:"配置自定义AI助手"},addMcp:{title:"添加MCP服务",description:"连接新的MCP服务器"},viewAnalytics:{title:"查看统计",description:"分析使用情况和性能"}},overview:"概览",statistics:"统计信息",recentActivity:"最近活动"},Bw={title:"设置",general:{title:"外观设置",description:"配置界面主题和语言",interfaceSettings:"外观设置",theme:{label:"主题",description:"选择界面主题模式",auto:"跟随系统",light:"浅色模式",dark:"深色模式"},language:{label:"语言",description:"选择界面语言"},password:{title:"访问密码",checking:"正在检查...",currentlySet:"当前已设置访问密码",currentlyNotSet:"当前未设置密码,可免密登录",description:"设置密码后,登录时需要输入密码。留空并保存可清除密码,启用免密登录。",newPassword:"新密码",newPasswordPlaceholder:"输入新密码(留空则清除密码)",confirmPassword:"确认密码",confirmPasswordPlaceholder:"再次输入密码",save:"保存密码",clear:"清除密码",mismatch:"两次输入的密码不一致",tooShort:"密码长度至少为4位",setSuccess:"密码设置成功,下次登录时生效",clearSuccess:"密码已清除,系统现在可以免密登录",saveFailed:"保存密码失败",clearFailed:"清除密码失败"}},api:"API服务器设置",memory:"全局记忆",memorySettings:{title:"全局记忆设置",description:"全局记忆是所有AI助手共享的背景信息,包含您的工作偏好、项目信息等",fileSourceInfo:"内容来自用户目录下的 ~/.claude/CLAUDE.md 文件。",memoryContent:"记忆内容",edit:"编辑",cancelEdit:"取消编辑",refresh:"刷新",refreshing:"刷新中...",placeholder:"在这里编写您的全局记忆内容...",cancel:"取消",saveMemory:"保存记忆",loading:"正在加载全局记忆...",noMemory:"暂无全局记忆内容",clickEditToStart:'点击"编辑"按钮开始添加',infoAutoLoad:"全局记忆将在每次对话时自动加载,为AI提供背景信息",infoSuggestions:"建议包含:工作偏好、项目背景、个人信息等",infoFileLocation:"文件位置:~/.claude/CLAUDE.md",saveSuccess:"全局记忆已保存",saveFailed:"保存失败,请重试"},supplier:{title:"供应商管理",subtitle:"管理多个模型供应商,指定可执行路径、别名和环境变量",addSupplier:"添加供应商",noSuppliers:"还没有配置模型供应商",clickToAddFirst:'点击"添加供应商"来配置第一个模型供应商',systemLabel:"系统",defaultLabel:"默认",pathLabel:"路径",envVarsLabel:"环境变量",modelsLabel:"支持的模型",setAsDefault:"设为默认",copyCommand:"复制命令",edit:"编辑",delete:"删除",confirmDelete:'确定要删除供应商 "{{alias}}" 吗?',currentSupplier:{title:"当前供应商",checking:"检查中...",checkVersion:"检查供应商",claudeDesc:"AI编程助手",updating:"更新中...",update:"更新",willUse:"将使用",toUpdate:"更新",nodejsDesc:"JavaScript运行环境",preferred:"推荐",packageManager:"包管理器",lastChecked:"最后检查时间",clickToCheck:'点击"检查供应商"获取供应商信息',updateSuccess:"更新成功",updateFailed:"更新失败",info1:"Claude Code 是 AI 编程助手,支持代码生成、编辑和项目管理",info2:"Node.js 是系统运行的基础环境",info3:"支持多种包管理器:npm、pnpm、yarn(优先级:pnpm > yarn > npm)",info4:"系统会自动选择推荐的包管理器进行更新操作",info5:"建议保持 Claude Code 为最新版本以获得最佳体验"},templates:{title:"供应商快速配置模板",description:"选择预设模板快速配置第三方API供应商,自动填充环境变量配置",providers:{glm:{name:"GLM (智谱AI)",description:"使用智谱AI的GLM模型服务,兼容Anthropic API"},deepseek:{name:"DeepSeek",description:"使用DeepSeek的高性能模型服务"},kimi:{name:"Kimi K2 (月之暗面)",description:"使用Kimi K2模型服务,支持Anthropic API兼容"},minimax:{name:"MiniMax",description:"使用MiniMax的高性能模型服务,支持Anthropic API兼容"}}},form:{createTitle:"添加新供应商",editTitle:"编辑供应商",supplierName:"供应商名称",supplierNamePlaceholder:"例如: Claude Code v1.2.3",alias:"别名",aliasPlaceholder:"例如: claude-1.2.3",description:"描述",descriptionPlaceholder:"供应商描述(可选)",executablePath:"可执行文件路径",executablePathPlaceholder:"不指定则使用系统默认路径",browseFile:"浏览文件",envVars:"环境变量",varName:"变量名",varValue:"变量值",emptyValue:"未设置",getApiKey:"获取密钥",models:"模型配置",modelId:"模型ID",modelName:"模型名称",visionModel:"视觉模型",addModel:"添加模型",cancel:"取消",saving:"保存中...",update:"更新",create:"创建",selectExecutable:"选择Claude可执行文件"},errors:{requiredFields:"请填写所有必填字段",saveFailed:"保存失败",deleteFailed:"删除失败",setDefaultFailed:"设置默认供应商失败",cannotDeleteSystem:"不能删除系统供应商",copyFailed:"复制失败,请手动复制以下命令:"},success:{createVersion:"供应商创建成功",updateVersion:"供应商更新成功",deleteVersion:"供应商删除成功",setDefault:'已将 "{{alias}}" 设置为默认供应商',copyCommand:"命令已复制到剪贴板"}},language:"语言设置",subagents:{title:"Subagent 管理",subtitle:"管理专门的 AI 子代理",loading:"正在加载 Subagents...",loadFailed:"加载失败",loadFailedMessage:"无法加载 Subagents 列表",retry:"重试",searchPlaceholder:"搜索 Subagents...",createButton:"新建 Subagent",noSubagents:"还没有 Subagents",noSubagentsSearch:"未找到匹配的 Subagents",adjustSearch:"尝试调整搜索条件",createFirst:"创建你的第一个专门的 AI 子代理来处理特定任务",table:{subagent:"Subagent",tools:"工具",createdAt:"创建时间",actions:"操作",toolsCount:"{{count}} 个工具",inheritSettings:"继承对话设置"},actions:{edit:"编辑",view:"查看",editTitle:"编辑 Subagent",viewTitle:"查看 Subagent",deleteTitle:"删除 Subagent"},source:{local:"本地",plugin:"插件"},deleteConfirm:{title:"确认删除",message:'确定要删除 Subagent "{{name}}" 吗?',warning:"此操作无法撤销。",cancel:"取消",delete:"删除"}},mcpAdmin:{title:"MCP Admin Server",subtitle:"配置 MCP Admin API,允许外部 AI 工具管理您的 AgentStudio",refresh:"刷新",serverStatus:"服务器状态",status:{status:"状态",active:"运行中",version:"版本",tools:"可用工具",activeKeys:"活跃密钥",unavailable:"服务不可用"},endpoint:"端点",apiKeys:"API 密钥",createKey:"创建密钥",noKeys:"暂无 API 密钥",noKeysHint:"创建一个 API 密钥以允许外部工具访问",createdAt:"创建于",lastUsed:"最后使用",revoked:"已撤销",revokeKey:"撤销密钥",confirmRevoke:"确定要撤销此 API 密钥吗?此操作无法撤销。",availableTools:"可用管理工具",createKeyTitle:"创建 API 密钥",keyDescription:"密钥描述",keyDescriptionPlaceholder:"例如:Cursor MCP 连接",fullPermissions:"此密钥将拥有完整管理权限",cancel:"取消",create:"创建",creating:"创建中...",keyCreated:"API 密钥已创建!",configTitle:"MCP 配置",saveKeyWarning:"请立即保存此密钥!它只会显示这一次,无法再次查看。",yourApiKey:"您的 API 密钥",configFile:"配置文件",copyConfig:"复制配置",done:"完成",showKey:"显示密钥",hideKey:"隐藏密钥",copyKey:"复制密钥",viewConfig:"查看配置",limitTools:"限制可用工具",selectAll:"全选",deselectAll:"取消全选",selectedToolsCount:"已选择 {{count}} 个工具",limitedTools:"限制 {{count}} 个工具",allToolsAccess:"所有工具",disabled:"已停用",enableKey:"启用密钥",disableKey:"停用密钥",editKey:"编辑密钥",editKeyTitle:"编辑 API 密钥",save:"保存",saving:"保存中...",toolParams:"参数",noParams:"无参数",success:{copied:"已复制到剪贴板",keyRevoked:"API 密钥已撤销",keyUpdated:"API 密钥已更新",keyEnabled:"API 密钥已启用",keyDisabled:"API 密钥已停用"},errors:{configFetch:"获取配置失败",createFailed:"创建密钥失败",revokeFailed:"撤销密钥失败",copyFailed:"复制失败",descriptionRequired:"请输入密钥描述",updateFailed:"更新密钥失败",toggleFailed:"切换密钥状态失败"},help:{button:"使用帮助",title:"MCP Admin Server 使用帮助",whatIs:"什么是 MCP Admin Server?",whatIsDesc:"MCP Admin Server 是一个标准的 MCP(Model Context Protocol)服务器,允许其他 AI 工具(如 Cursor、Claude Desktop)通过 MCP 协议远程管理您的 AgentStudio。通过这个接口,您可以在其他 AI 工具中直接查询和管理 AgentStudio 的项目、智能体、MCP 服务器等。",howToUse:"如何使用?",step1:"在本页面创建一个 Admin API 密钥",step2:"点击「查看配置」获取配置代码片段",step3:"将配置添加到 Cursor 或 Claude Desktop 的 MCP 配置文件中",step4:"重启 Cursor/Claude Desktop,然后就可以在对话中使用管理工具了",availableTools:"可用工具示例",toolListProjects:"列出所有项目",toolGetProject:"获取项目详情",toolListAgents:"列出所有智能体",toolGetAgent:"获取智能体详情",toolHealthCheck:"系统健康检查",examples:"使用示例",examplePrompt:"在 Cursor 中,你可以直接对 AI 说:"}},apiSettings:{title:"API服务器设置",hostLabel:"API服务器地址",hostPlaceholder:"http://localhost:4936 或 https://your-domain.com",testConnection:"测试连接",quickSelect:"快捷选择:",connectionStatus:"连接状态",status:{success:"连接成功",error:"连接失败",untested:"未测试"},serverError:"服务器响应错误: {{status}} {{statusText}}",connectionFailed:"连接失败: {{message}}",connectionUnknownError:"连接失败: 未知错误",enterApiHost:"请输入API服务器地址",settingsSavedRefresh:"设置已保存,页面将刷新以应用新设置",usage:{title:"使用说明:",localDev:"在本地开发时,使用",production:"在生产环境中,使用您的服务器域名,如",cors:"确保服务器支持CORS访问,允许前端域名访问",refresh:"修改后需要刷新页面才能生效"},resetToDefault:"重置为默认",saveSettings:"保存设置"}},Hw={title:"数据分析",usage:"使用统计",performance:"性能指标"},qw={title:"MCP服务",subtitle:"管理和监控Model Context Protocol服务器",loading:"正在加载MCP配置...",searchPlaceholder:"搜索配置名称、命令或参数...",addServer:"添加服务",noServers:"还没有MCP服务配置",noResults:"未找到匹配的配置",adjustSearch:"尝试调整搜索条件",addFirstServer:"添加你的第一个MCP服务配置",confirmDelete:'确定要删除 "{{name}}" 配置吗?',validateAll:"验证全部",stats:{total:"总计",active:"活动",error:"错误",validating:"验证中",tools:"工具"},import:{button:"从Claude Code导入",importing:"导入中...",noConfigFound:"没有找到Claude Code的MCP配置(从 ~/.claude.json 读取)",success:"成功导入 {{imported}} 个MCP服务器配置{{skipped, select, 0{} other{,跳过 {{skipped}} 个已存在的配置}}",allExist:"所有配置都已存在,没有导入新的配置"},table:{server:"服务",type:"类型",status:"状态",tools:"可用工具",actions:"操作",toolsCount:"{{count}} 个工具",noTools:"无工具"},status:{active:"可用",error:"错误",validating:"验证中",unvalidated:"未验证"},actions:{validate:"重新验证",copyCommand:"复制命令",edit:"编辑",view:"查看",delete:"删除配置"},source:{local:"本地",plugin:"插件"},modal:{addTitle:"添加MCP服务配置",editTitle:"编辑MCP服务配置",saving:"保存中...",saveConfig:"保存配置",addConfig:"添加配置"},form:{serverName:"服务名称 *",serverNamePlaceholder:"例如:playwright",nameNotEditable:"服务名称不可修改",nameRequired:"请输入服务名称",mcpType:"MCP 类型 *",stdioOption:"Stdio (本地进程)",httpOption:"HTTP (远程服务)",selectConnectionType:"选择 MCP 服务器的连接类型",configuration:"配置 * (JSON格式)",configInvalid:"配置格式不正确,请确保包含必需的 {{fields}} 字段,并且格式正确",configFormatError:"⚠️ 配置格式不正确,请确保包含必需的 {{fields}} 字段",requiredFields:"必需字段:",requiredFieldsStdio:"type, command 和 args",requiredFieldsHttp:"type 和 url",optionalFields:"可选字段:",typeField:'字符串,MCP 类型("stdio" 或 "http")',commandField:'字符串,执行命令(如 "npx", "uvx")',argsField:"数组,命令参数",urlField:"字符串,HTTP MCP 服务器的 URL",timeoutField:"数字,超时时间(毫秒)",autoApproveField:"数组,自动批准的操作"},errors:{validationFailed:"验证失败",networkError:"网络错误或服务不可用",deleteFailed:"删除配置失败",importFailed:"导入失败",saveFailed:"保存配置失败",copyFailed:"复制失败"},commandCopied:"命令已复制到剪贴板"},Vw={title:"自定义命令",subtitle:"管理 Slash Commands",loading:"加载命令中...",searchPlaceholder:"搜索命令...",createButton:"新建命令",error:{loadFailed:"加载失败",cannotLoadCommands:"无法加载自定义命令",retry:"重试"},empty:{noCommands:"还没有自定义命令",noMatchingCommands:"未找到匹配的命令",adjustSearch:"尝试调整搜索条件或筛选器",createFirst:"创建你的第一个自定义 Slash Command"},table:{command:"命令",model:"模型",tools:"工具",createdAt:"创建时间",actions:"操作",inheritSettings:"继承对话设置",toolsCount:"{{count}} 个工具"},actions:{edit:"编辑",view:"查看",editCommand:"编辑命令",deleteCommand:"删除命令"},source:{local:"本地",plugin:"插件"},delete:{title:"删除命令",confirmMessage:'确定要删除命令 "/{{name}}" 吗?此操作无法撤销。',cancel:"取消",delete:"删除",deleting:"删除中..."}},Gw={title:"插件管理",subtitle:"管理插件市场和已安装插件",tabs:{marketplaces:"插件市场",browse:"浏览插件",installed:"已安装插件"},marketplaces:{title:"插件市场",subtitle:"管理插件市场源",addButton:"添加市场",searchPlaceholder:"搜索市场...",noMarketplaces:"还没有配置插件市场",addFirst:"添加你的第一个插件市场",table:{marketplace:"市场",type:"类型",plugins:"插件数",lastSync:"最后同步",actions:"操作"},types:{git:"Git 仓库",github:"GitHub",local:"本地目录"},actions:{sync:"同步",syncing:"同步中...",edit:"编辑",delete:"删除"},addModal:{title:"添加市场",editTitle:"编辑市场",name:"市场名称",namePlaceholder:"例如:official-plugins",type:"来源类型",typePlaceholder:"选择来源类型",source:"来源",sourcePlaceholderGit:"Git 仓库 URL",sourcePlaceholderGithub:"owner/repo 或完整 URL",sourcePlaceholderLocal:"本地目录路径",branch:"分支(可选)",branchPlaceholder:"main",description:"描述(可选)",descriptionPlaceholder:"市场描述",cancel:"取消",add:"添加",adding:"添加中...",save:"保存",saving:"保存中..."},confirmDelete:'确定要删除市场 "{{name}}" 吗?该市场的所有插件都会被卸载。'},browse:{title:"浏览插件",subtitle:"从市场发现和安装插件",searchPlaceholder:"搜索插件...",filters:{allMarketplaces:"所有市场",allTypes:"所有类型",showOnlyInstalled:"只显示已安装"},noPlugins:"没有可用插件",noMarketplaces:"还没有添加市场",goAddMarketplace:"添加市场以浏览插件",noResults:"未找到插件",adjustSearch:"尝试调整搜索条件",card:{from:"来自",version:"v{{version}}",by:"作者",installed:"已安装",install:"安装",installing:"安装中...",viewDetails:"查看详情"},actions:{details:"详情",install:"安装",uninstall:"卸载"},confirmUninstall:'确定要卸载插件 "{{name}}" 吗?',components:{commands:"{{count}} 个命令",agents:"{{count}} 个 Agent",skills:"{{count}} 个技能",hooks:"{{count}} 个钩子",mcpServers:"{{count}} 个 MCP 服务"},detailModal:{title:"插件详情",version:"版本",author:"作者",marketplace:"市场",updated:"最后更新",components:"组件",files:"文件",readme:"说明文档",noReadme:"无说明文档",install:"安装插件",installing:"安装中...",installed:"已安装",close:"关闭"}},installed:{title:"已安装插件",subtitle:"管理已安装的插件",searchPlaceholder:"搜索已安装插件...",filters:{all:"全部",enabled:"已启用",disabled:"已禁用",allMarketplaces:"所有市场"},noPlugins:"还没有安装插件",goBrowse:"浏览插件以安装",noResults:"未找到匹配的插件",table:{plugin:"插件",marketplace:"市场",version:"版本",status:"状态",components:"组件",actions:"操作"},status:{enabled:"已启用",disabled:"已禁用"},actions:{details:"详情",viewDetails:"查看详情",enable:"启用",enabling:"启用中...",disable:"禁用",disabling:"禁用中...",uninstall:"卸载"},confirmUninstall:'确定要卸载插件 "{{name}}" 吗?',detailModal:{title:"插件详情",basicInfo:"基本信息",version:"版本",author:"作者",marketplace:"市场",installedAt:"安装时间",status:"状态",components:"组件",commands:"命令",agents:"Agents",skills:"技能",hooks:"钩子",mcpServers:"MCP 服务",none:"无",files:"插件文件",viewFile:"查看文件",close:"关闭",enable:"启用",disable:"禁用",uninstall:"卸载"},fileViewer:{title:"文件查看器",loading:"加载中...",error:"加载文件失败",close:"关闭"}},messages:{installSuccess:"插件安装成功,请刷新以使用新插件",installError:"安装插件失败",enableSuccess:"插件启用成功,请刷新以使用该插件",enableError:"启用插件失败",disableSuccess:"插件已成功禁用",disableError:"禁用插件失败",uninstallSuccess:"插件已成功卸载",uninstallError:"卸载插件失败",marketplaceAddSuccess:"市场添加成功",marketplaceAddError:"添加市场失败",marketplaceSyncSuccess:"市场同步成功",marketplaceSyncError:"同步市场失败",marketplaceRemoveSuccess:"市场移除成功",marketplaceRemoveError:"移除市场失败"},detail:{back:"返回",root:"根目录",noDescription:"无描述",version:"版本",author:"作者",license:"许可证",components:"组件",type:"类型",name:"名称",description:"描述",actions:"操作",viewEntryFile:"查看入口文件",browseDirectory:"浏览目录",noComponents:"未找到组件",loadFailed:"加载插件详情失败",componentTypes:{command:"命令",agent:"Agent",skill:"技能",hook:"钩子",mcp:"MCP 服务"}}},Kw={title:"技能管理",subtitle:"管理你的专业技能库",loading:"加载技能中...",searchPlaceholder:"搜索技能...",createButton:"创建新技能",noSkills:"还没有技能",noSkillsSearch:"未找到匹配的技能",createFirst:"创建你的第一个专业技能",adjustSearch:"尝试调整搜索条件",card:{viewDetails:"查看详情",tools:"{{count}} 个工具",editSkill:"编辑技能",deleteSkill:"删除技能"},form:{name:"技能名称",namePlaceholder:"例如:网页开发专家",nameRequired:"请输入技能名称",description:"技能描述",descriptionPlaceholder:"描述这个技能的作用和适用场景...",systemPrompt:"系统提示词",systemPromptPlaceholder:"定义AI助手在启用此技能时的行为和专业知识...",tags:"标签",tagsPlaceholder:"添加相关标签,用逗号分隔",enabledTools:"启用的工具",selectTools:"选择工具",tools:"工具",allTools:"所有工具",save:"保存技能",cancel:"取消",saving:"保存中...",preview:{title:"预览",name:"技能名称",description:"技能描述",tools:"可用工具"}},modal:{createTitle:"创建新技能",editTitle:"编辑技能",saveSkill:"保存技能",updateSkill:"更新技能",close:"关闭"},delete:{title:"删除技能",confirmMessage:'确定要删除技能 "{{name}}" 吗?此操作无法撤销。',cancel:"取消",delete:"删除",deleting:"删除中..."},errors:{createFailed:"创建技能失败",updateFailed:"更新技能失败",deleteFailed:"删除技能失败",loadFailed:"加载技能失败"},success:{create:"技能创建成功",update:"技能更新成功",delete:"技能删除成功"},editor:{title:"技能编辑器",files:{title:"技能文件",addFile:"添加文件",createFile:"新建文件",uploadFile:"上传文件",noFiles:"还没有技能文件",fileActions:"文件操作",deleteFile:"删除文件",renameFile:"重命名文件",saveFile:"保存文件"},manifest:{title:"技能清单",name:"技能名称",description:"描述",version:"版本",author:"作者",license:"许可证",tags:"标签"},validation:{invalidYaml:"YAML 格式错误",missingFields:"缺少必需字段",invalidSkillName:"技能名称无效"}}},Iw={title:"A2A Protocol 管理",subtitle:"管理 Agent-to-Agent 通信协议",tabs:{overview:"概览",keys:"API密钥",external:"外部Agent",tasks:"任务监控"},overview:{agentIdentity:"Agent Identity",a2aAgentId:"A2A Agent ID",copy:"复制",projectId:"项目ID",agentType:"Agent类型",notEnabled:"此项目尚未启用A2A功能",enableHint:"创建API密钥后自动启用",agentCard:"Agent Card",quickStats:"快速统计",apiKeys:"API密钥",externalAgents:"外部Agent",activeTasks:"活跃任务"},keys:{title:"API密钥管理",createButton:"创建密钥",noKeys:"还没有API密钥",createFirst:"创建第一个API密钥",active:"Active",description:"描述",createdAt:"创建时间",lastUsed:"最后使用",usageCount:"使用次数",show:"显示",hide:"隐藏",delete:"删除",deleteConfirm:"确定要删除这个API密钥吗?此操作不可撤销。",createModal:{title:"创建API密钥",descriptionLabel:"描述 *",descriptionPlaceholder:"例如:生产环境密钥",descriptionHint:"用于标识此API密钥的用途,最多100个字符",descriptionRequired:"描述不能为空",descriptionTooLong:"描述不能超过100个字符",importantNote:"重要提示:",importantHint:"API密钥创建后只会完整显示一次,请妥善保存。",cancel:"取消",creating:"创建中...",createKey:"创建密钥"},copySuccess:"已复制到剪贴板",copyFailed:"复制失败"},external:{title:"外部Agent配置",addButton:"添加Agent",noAgents:"还没有配置外部Agent",addFirst:"添加第一个外部Agent",name:"Agent名称",url:"URL",apiKey:"API密钥",description:"描述",enabled:"启用",disabled:"禁用",enable:"启用",disable:"禁用",edit:"编辑",delete:"删除",deleteConfirm:"确定要删除这个外部Agent吗?此操作不可撤销。",addModal:{title:"添加外部Agent",editTitle:"编辑外部Agent",nameLabel:"Agent名称 *",namePlaceholder:"例如:数据分析Agent",nameRequired:"Agent名称不能为空",nameTooLong:"Agent名称不能超过50个字符",urlLabel:"URL *",urlPlaceholder:"https://agent.example.com/a2a/uuid",urlRequired:"URL不能为空",urlInvalid:"URL格式无效",urlHint:"必须是完整的HTTP或HTTPS URL",apiKeyLabel:"API密钥 *",apiKeyRequired:"API密钥不能为空",apiKeyPlaceholder:"agt_proj_external_key_here",descriptionLabel:"描述",descriptionPlaceholder:"可选的Agent功能描述",enabledLabel:"启用此Agent",cancel:"取消",addAgent:"添加Agent",saveChanges:"保存修改"},errors:{createFailed:"创建外部Agent失败",updateFailed:"更新外部Agent失败",deleteFailed:"删除外部Agent失败"},success:{create:"外部Agent创建成功",update:"外部Agent更新成功",delete:"外部Agent删除成功"}},tasks:{title:"任务监控",noTasks:"还没有任务记录",notEnabled:"需要先启用A2A功能",refresh:"刷新",status:{pending:"等待中",running:"运行中",completed:"已完成",failed:"失败",canceled:"已取消"},taskId:"任务ID",createdAt:"创建时间",startedAt:"开始时间",completedAt:"完成时间",cancel:"取消任务",cancelConfirm:"确定要取消这个任务吗?",cancelSuccess:"任务已取消",cancelFailed:"取消任务失败"},errors:{createKeyFailed:"创建API密钥失败",deleteKeyFailed:"删除API密钥失败",loadConfigFailed:"加载A2A配置失败",updateConfigFailed:"更新A2A配置失败",loadMappingFailed:"加载Agent映射失败",loadCardFailed:"加载Agent Card失败",loadTasksFailed:"加载任务列表失败"},success:{createKey:"API密钥创建成功",deleteKey:"API密钥删除成功",updateConfig:"A2A配置更新成功"}},Yw={nav:Rw,footer:Ow,login:zw,landing:Pw,agents:Lw,projects:Uw,chat:_w,dashboard:Fw,settings:Bw,analytics:Hw,mcp:qw,commands:Vw,plugins:Gw,skills:Kw,a2a:Iw},Qw="AgentStudio",Xw="选择一个智能助手开始工作",Zw="正在加载...",$w="可用的智能助手",Jw="已禁用的助手",Ww="共 {{count}} 个助手",eC="创建自定义助手",tC="自定义助手功能即将推出!",aC="还没有可用的智能助手",nC="启用一些内置助手或创建自己的自定义助手开始使用",lC="管理智能助手",iC="开始使用",oC="编辑助手",sC="禁用助手",rC="启用助手",cC="已禁用",uC="启用助手",dC={slides:"幻灯片",chat:"对话","claude-code":"Claude Code"},fC={toggleFailed:"操作失败,请重试"},mC={title:Qw,subtitle:Xw,loading:Zw,availableAgents:$w,disabledAgents:Jw,agentCount:Ww,createCustomAgent:eC,customAgentComingSoon:tC,noAgentsTitle:aC,noAgentsDescription:nC,manageAgents:lC,startUsing:iC,editAgent:oC,disableAgent:sC,enableAgent:rC,disabledStatus:cC,enableAgentButton:uC,componentTypes:dC,errors:fC},pC={enabled:"已启用",disabled:"已禁用"},gC={name:"项目名称",nameRequired:"项目名称 *",namePlaceholder:"输入项目名称",description:"项目描述",descriptionPlaceholder:"简单描述这个项目的用途...",directory:"项目目录",directoryNote:"项目将在此目录下创建一个新文件夹",agentType:"选择助手类型 *",agentTypePlaceholder:"选择一个助手类型"},hC={name:"助手名称",namePlaceholder:"输入助手名称",description:"助手描述",descriptionPlaceholder:"描述这个助手的功能...",systemPrompt:"系统提示",systemPromptPlaceholder:"输入系统提示词...",tools:"可用工具",selectTools:"选择工具"},yC={editTitle:"编辑命令",createTitle:"新建命令",formMode:"表单",codeMode:"代码",saveChanges:"保存更改",createCommand:"创建命令",nameLabel:"命令名称",nameHint:"只能包含字母、数字、下划线和短划线",modelLabel:"指定模型",inheritModel:"继承对话设置",modelHint:"为此命令指定特定的 AI 模型。",namespaceLabel:"命名空间",namespaceHint:"用于组织命令,可以包含 / 分隔符",argumentHintLabel:"参数提示",argumentHintHint:"在自动完成时显示的参数提示",descriptionLabel:"描述",descriptionPlaceholder:"优化代码性能和可读性",descriptionHint:"命令的简短描述,如果不填写将使用内容的第一行",allowedToolsLabel:"允许的工具",selectTools:"选择工具",regularToolsCount:"常规工具 {{count}} 个",mcpToolsCount:"MCP工具 {{count}} 个",allowedToolsHint:"留空则继承对话权限",contentLabel:"命令内容",contentPlaceholder:`分析这段代码的性能问题并提供优化建议:
86
+
87
+ 使用参数:$ARGUMENTS
88
+ 使用第一个参数:$1
89
+ 使用第二个参数:$2
90
+
91
+ 引用文件:@src/utils/helpers.js
92
+ 执行命令:!\`git status\``,supportedFeatures:"支持的功能:",features:{arguments:"获取所有参数",positionArgs:"获取指定位置的参数",fileRef:"引用文件内容",bashCommand:"执行 bash 命令并包含输出"},markdownSource:"Markdown 源代码",markdownPlaceholder:`---
93
+ description: 优化代码性能和可读性
94
+ argument-hint: [filename] [options]
95
+ namespace: frontend
96
+ allowed-tools: Read, Write, Edit
97
+ model: claude-3-5-sonnet-20241022
98
+ ---
99
+
100
+ 分析这段代码的性能问题并提供优化建议:
101
+
102
+ 使用参数:$ARGUMENTS
103
+ 使用第一个参数:$1
104
+ 使用第二个参数:$2
105
+
106
+ 引用文件:@src/utils/helpers.js
107
+ 执行命令:!\`git status\``,frontmatterSupported:"Frontmatter 支持的字段:",frontmatterFields:{description:"命令描述",argumentHint:"参数提示",namespace:"命名空间",allowedTools:"允许的工具(逗号分隔)",model:"指定模型"},exampleDescription:"优化代码性能和可读性",exampleContent:`分析这段代码的性能问题并提供优化建议:
108
+
109
+ 使用参数:$ARGUMENTS
110
+ 使用第一个参数:$1
111
+ 使用第二个参数:$2
112
+
113
+ 引用文件:@src/utils/helpers.js
114
+ 执行命令:!\`git status\``,errors:{nameRequired:"命令名称不能为空",nameFormat:"命令名称只能包含字母、数字、下划线和短划线",contentRequired:"命令内容不能为空",scopeRequired:"请选择命令作用域",saveFailed:"保存失败"}},vC={title:"文件浏览器",searchPlaceholder:"搜索文件...",uploadButton:"上传文件",createFolder:"新建文件夹",rename:"重命名",deleteFile:"删除文件",downloadFile:"下载文件",noFiles:"暂无文件",loading:"加载文件中...",loadFailed:"加载项目文件失败",retry:"重新加载",projectPath:"项目路径",emptyDirectory:"项目目录为空",selectFile:"选择一个文件进行预览",previewNotSupported:"不支持预览此文件类型",fileLabel:"文件",imageLoadFailed:"图片加载失败",cannotReadFile:"无法获取文件内容",noOpenFiles:"暂无打开的文件",moreTabsCount:"还有 {{count}} 个标签",pinnedTab:"固定",temporaryTab:"临时",closeTab:"关闭标签",noProject:"未选择项目",selectProjectFirst:"请先选择一个项目以浏览文件",collapsePanel:"收起目录面板",expandPanel:"展开目录面板"},bC={title:"会话管理",sessionHistory:"会话历史",searchPlaceholder:"搜索会话...",noSessions:"暂无会话",noSessionHistory:"暂无会话历史",noMatchingSessions:"未找到匹配的会话",sessionWillAppear:"开始聊天后会显示会话",messageCount:"{{count}} 条消息",newSession:"新建会话",deleteSession:"删除会话",renameSession:"重命名会话"},SC={title:"工具选择器",searchPlaceholder:"搜索工具...",noTools:"暂无可用工具",selectedTools:"已选工具",selectButton:"选择工具",toolsCount:"常规工具 {{count}} 个",mcpToolsCount:"MCP工具 {{count}} 个"},xC={title:"语言",chinese:"中文",english:"English"},wC={newSession:"新建会话",sessionHistory:"会话历史",refreshMessages:"刷新消息",messagesRefreshed:"消息已刷新",loadingMessages:"正在加载消息...",currentSession:"当前会话",imagePreview:"预览",deleteImage:"删除图片",dropImageHere:"拖放图片到这里",sendImage:"发送了图片",addDescription:"添加描述文字... (可选)",inputPlaceholder:"输入你的消息... (Shift+Enter 换行,Enter 发送,/ 触发命令)",inputPlaceholderMobile:"输入消息...",toolSelection:"工具选择",imageSelection:"选择图片",selectedCount:"已选择{{count}}张",stop:"停止",send:"发送",stopAi:"停止AI",aiTyping:"AI正在输入中",noContent:"无内容可发送",unknownCommand:"未知命令",sendMessage:"发送消息",newMessages:"条新消息",scrollToLatest:"查看最新消息",permissionMode:{default:"默认",acceptEdits:"接受编辑",bypassPermissions:"绕过权限",plan:"计划模式"},model:{sonnet:"Sonnet",opus:"Opus"},claudeVersion:{title:"选择供应商",default:"默认",custom:"自定义",system:"系统",locked:"供应商已锁定(活跃会话)"},settings:{title:"设置",permissionMode:"权限模式",claudeVersion:"供应商",model:"模型",modelAndVersion:"供应商与模型",noSettings:"暂无可用设置"},envVars:{title:"环境变量",add:"添加变量",key:"键",value:"值",save:"保存",cancel:"取消",edit:"编辑",delete:"删除",noVars:"暂无环境变量"},commandWarning:"未知命令: {{command}}。可用命令: {{commands}}",navigateTo:"导航到: {{path}}",errorMessages:{claudeCodeSDKError:"❌ **Claude Code SDK 错误**",parseError:"解析响应数据时出现错误,可能是由于网络中断或服务器响应格式异常。",timeout:"请求处理超时,服务器响应时间过长。",unknownError:"未知错误,请稍后重试。",networkError:`❌ **网络连接错误**
115
+
116
+ 无法连接到AI服务,请检查网络连接后重试。`,requestTimeout:`⏰ **请求超时**
117
+
118
+ 请求处理时间过长,请稍后重试。`,rateLimit:`🚫 **请求频率限制**
119
+
120
+ 请求过于频繁,请稍后再试。`,unauthorized:`🔐 **认证失败**
121
+
122
+ 请检查API密钥配置。`,forbidden:`⛔ **权限不足**
123
+
124
+ 没有权限执行此操作。`,internalServerError:`🔧 **服务器内部错误**
125
+
126
+ 服务器遇到问题,请稍后重试。`,connectionFailed:`❌ **连接失败**
127
+
128
+ 无法连接到AI服务,请检查网络连接后重试。`,connectionTimeout:`⏰ **连接超时**
129
+
130
+ 连接服务器超时,请稍后重试。`,suggestions:"**建议操作:**",checkNetwork:"检查网络连接",retryMessage:"重新发送消息",simplifyRequest:"简化请求内容",refreshPage:"刷新页面重试",contactAdmin:"如果问题持续存在,请联系管理员"},sessionResumed:"🔄 **会话已恢复**",sessionIdUpdated:"*会话ID已自动更新,历史记录已重新加载*",taskComplete:"✅ 任务完成",executionCompleted:"(执行完成)",genericError:"抱歉,处理您的请求时出现了错误。",unknownCommandWarning:"未知命令: /{{command}}。可用命令: {{commands}}",commandsLoadErrorWarning:"命令: /{{command}} 未找到。用户/项目命令加载失败 ({{errorMessage}})。可用系统命令: {{commands}}。请检查是否已正确登录。",navigateToAlert:"导航到: {{path}}",generationStopped:"⏹️ 生成已停止",stopping:"正在停止...",stopFailed:"❌ **停止失败**",initializingSession:"正在启动新会话,请稍候...",fileBrowser:{title:"选择文件 - {{projectPath}}",currentProject:"当前项目"},maxTurnsReached:"⏱️ **达到最大轮次限制**",permissionDenials:"⚠️ **权限拒绝的操作**:",permissionNote:"💡 某些操作需要用户权限确认才能执行。",executionError:`❌ **执行过程中出现错误**
131
+
132
+ 请检查输入或稍后重试。`,processingError:`❌ **处理过程中出现错误**
133
+
134
+ 请稍后重试或检查输入内容。`,processingComplete:"✅ **处理完成**",maxBudgetReached:`💰 **达到预算上限**
135
+
136
+ 此会话的成本限制已超出。`,maxRetriesReached:`🔄 **达到最大重试次数**
137
+
138
+ 多次尝试后未能获得有效响应。`},CC={init:{name:"init",description:"初始化项目或重置对话上下文"},clear:{name:"clear",description:"清空当前对话历史"},compact:{name:"compact",description:"压缩对话历史,保留关键信息"},agents:{name:"agents",description:"管理AI代理和子代理"},settings:{name:"settings",description:"打开设置页面"},help:{name:"help",description:"显示帮助信息"}},AC={title:"记忆管理"},TC={title:"命令管理"},kC={title:"子Agent管理"},EC={title:"活跃会话",activeCount:"当前活跃: {{count}} 个会话",loadingMessage:"加载会话信息...",status:{pending:"等待中",active:"活跃",idle:"空闲"},labels:{session:"会话",agent:"Agent",project:"项目",activity:"活动"},time:{hoursMinutes:"{{hours}}小时{{minutes}}分钟",minutesSeconds:"{{minutes}}分钟{{seconds}}秒",seconds:"{{seconds}}秒"},heartbeat:{none:"无心跳",timeout:"心跳超时"},actions:{openChat:"打开聊天窗口",cleanup:"清理会话"},errors:{loadFailed:"加载会话信息失败",cleanupFailed:"清理会话失败,请重试",navigationFailed:"导航失败,已降级处理"},empty:{noSessions:"暂无活跃会话",startChatHint:"开始与助手对话即可创建会话"}},NC={title:"选择文件或目录",emptyDirectory:"此目录为空",toolbar:{homeDirectory:"主目录",parentDirectory:"上级目录",loadingPath:"加载中...",newDirectory:"新建目录",showHidden:"显示隐藏文件",hideHidden:"隐藏隐藏文件",restrictedToProject:"限制在项目目录内"},table:{name:"名称",size:"大小",modified:"修改时间",actions:"操作"},actions:{select:"选择",cancel:"取消",createFolder:"创建目录",creating:"创建中...",preview:"预览",previewCSV:"预览CSV文件",previewJSONL:"预览JSONL文件"},dialog:{newFolder:"新建目录",createAt:"在以下位置创建新目录:",folderName:"目录名称",folderNamePlaceholder:"输入目录名称"},footer:{itemsCount:"{{count}} 个项目"},errors:{error:"错误",loadFailed:"加载目录失败",browseFailed:"浏览目录失败",createFailed:"创建目录失败"}},MC={loading:"加载CSV文件中...",info:{rowCount:"共 {{count}} 行数据",filtered:"已过滤"},search:{placeholder:"搜索CSV内容..."},table:{untitled:"未命名"},empty:{noData:"没有数据可显示"},pagination:{showing:"显示第 {{start}}-{{end}} 条,共 {{total}} 条",previous:"上一页",next:"下一页"},actions:{close:"关闭",download:"下载",maximize:"最大化",minimize:"最小化"},errors:{title:"预览错误",loadFailed:"加载CSV文件失败",unknownError:"未知错误"},instructions:"方向键翻页 • Ctrl+F 搜索 • ESC关闭"},jC={loading:"加载JSONL文件中...",info:{recordCount:"共 {{count}} 条记录",errorCount:"{{count}} 条解析错误",filtered:"已过滤"},search:{placeholder:"搜索JSONL内容..."},empty:{noData:"没有数据可显示"},pagination:{showing:"显示第 {{start}}-{{end}} 条,共 {{total}} 条",previous:"上一页",next:"下一页"},actions:{close:"关闭",download:"下载",maximize:"最大化",minimize:"最小化",copy:"复制"},errors:{title:"预览错误",loadFailed:"加载JSONL文件失败",unknownError:"未知错误",parseError:"JSON解析错误"},instructions:"点击展开详情 • 方向键翻页 • Ctrl+F 搜索 • ESC关闭"},DC={title:"工具选择",tabs:{regular:"常规工具",mcp:"MCP工具"},selectAll:"全选",preset:"预设",enableMcpTools:"启用MCP工具",loading:"加载中...",noMcpServers:"没有可用的MCP服务器",toolsCount:"{{count}} 个工具",serverUnavailable:"服务器不可用"},RC={title:{create:"创建 Subagent",edit:"编辑 Subagent"},mode:{form:"表单",code:"代码"},actions:{cancel:"取消",create:"创建 Subagent",saving:"保存中...",saveChanges:"保存更改"},codeMode:{title:"代码模式",description:"在此模式下,你可以直接编辑 Markdown 格式的 subagent 文件,包括 YAML frontmatter 和系统提示词内容。",label:"Subagent 文件内容",placeholder:`---
139
+ name: my-subagent
140
+ description: 专门处理特定任务的subagent
141
+ tools: read_file, write, search_replace
142
+ ---
143
+
144
+ 你是一个专门处理...的AI助手。
145
+
146
+ 你的任务是...`},fields:{name:{label:"名称 *",placeholder:"my-subagent"},scope:{label:"作用域",projectScope:"项目 Subagent"},description:{label:"描述 *",placeholder:"描述这个subagent的用途和应该在什么时候被调用"},tools:{label:"允许的工具",selectTools:"选择工具",regularToolsCount:"常规工具 {{count}} 个",mcpToolsCount:"MCP工具 {{count}} 个",hint:"留空则继承所有可用工具"},content:{label:"系统提示词 *",placeholder:`你是一个专门处理...的AI助手。
147
+
148
+ 你的任务是...
149
+
150
+ 请确保...
151
+
152
+ 当遇到...时,你应该...`}},validation:{nameRequired:"名称不能为空",nameFormat:"名称只能包含小写字母、数字和连字符",descriptionRequired:"描述不能为空",contentRequired:"系统提示词不能为空"},errors:{saveFailed:"保存失败"}},OC={systemCommands:{init:{description:"初始化项目或重置对话上下文"},clear:{description:"清空当前对话历史"},compact:{description:"压缩对话历史,保留关键信息"},agents:{description:"管理AI代理和子代理"},settings:{description:"打开设置页面"},help:{description:"显示帮助信息"}}},zC={title:"API服务器设置",fields:{address:"API服务器地址",addressPlaceholder:"http://localhost:4936 或 https://your-domain.com"},actions:{test:"测试",reset:"重置",cancel:"取消",save:"保存"},quickSelect:{title:"快捷选择:",localDev:"本地开发",officialServer:"官方服务器"},status:{label:"连接状态",success:"连接成功",error:"连接失败",untested:"未测试"},instructions:{title:"使用说明:",localDev:"本地开发时使用",production:"生产环境使用您的服务器域名",cors:"确保服务器支持CORS访问",refresh:"修改后页面会自动刷新"},errors:{serverError:"服务器响应错误: {{status}} {{statusText}}",connectionFailed:"连接失败: {{message}}",connectionFailedUnknown:"连接失败: 未知错误",enterAddress:"请输入API服务器地址"},saveSuccess:"设置已保存,页面将刷新以应用新设置"},PC={title:"项目命令管理",loading:"正在加载项目命令...",searchPlaceholder:"搜索命令...",createButton:"新建命令",error:{title:"加载失败",message:"无法加载项目命令",retry:"重试",close:"关闭"},emptyState:{noCommandsTitle:"还没有项目命令",noCommandsDescription:"为这个项目创建专用的 Slash Command",noMatchTitle:"未找到匹配的命令",noMatchDescription:"尝试调整搜索条件"},table:{command:"命令",model:"模型",tools:"工具",createdAt:"创建时间",actions:"操作",inheritSettings:"继承对话设置",toolsCount:"{{count}} 个工具"},actions:{edit:"编辑",editTooltip:"编辑命令",deleteTooltip:"删除命令"},deleteConfirm:{title:"删除命令",message:'确定要删除命令 "/{{name}}" 吗?此操作无法撤销。',cancel:"取消",confirm:"删除",deleting:"删除中..."}},LC={title:"项目 Subagent 管理",loading:"正在加载项目 Subagents...",searchPlaceholder:"搜索 Subagents...",error:{loadFailed:"加载失败",loadFailedMessage:"无法加载项目 Subagents"},actions:{retry:"重试",close:"关闭",create:"新建 Subagent",edit:"编辑",editTooltip:"编辑 Subagent",delete:"删除",deleteTooltip:"删除 Subagent",cancel:"取消"},emptyState:{noSubagents:"还没有项目 Subagents",noResults:"未找到匹配的 Subagents",tryAdjust:"尝试调整搜索条件",description:"为这个项目创建专门的 AI 子代理来处理特定任务"},table:{subagent:"Subagent",tools:"工具",createdAt:"创建时间",actions:"操作",toolsCount:"{{count}} 个工具",inheritSettings:"继承对话设置"},deleteConfirm:{title:"确认删除",message:'确定要删除 Subagent "<strong>{{name}}</strong>" 吗?',warning:"此操作无法撤销。"}},UC={selectProjectDirectory:"选择项目目录",projectActions:"项目操作",quickCreateProject:"快速新建项目",creatingProject:"正在创建项目...",quickCreateDescription:"在 ~/claude-code-projects 中自动创建",customLocationCreate:"自定义位置新建",customLocationDescription:"选择目录和项目名称",browseProject:"浏览选择项目",browseDescription:"通过文件浏览器选择项目目录",importProject:"导入项目",importDescription:"导入现有项目目录",importProjectFailed:"导入项目失败",recentProjects:"最近使用的项目",loadingProjects:"正在加载项目...",lastAccessed:"最后访问: {{date}}",noRecentProjects:"暂无最近使用的项目",createProjectToStart:"创建新项目开始使用",cancel:"取消",selectParentDirectory:"选择新项目的父目录",createProjectFailed:"创建项目失败: {{error}}",unknownError:"未知错误",importConfirmation:`该目录尚未作为 {{agentName}} 的项目。
153
+
154
+ 是否要将此目录导入作为新项目?
155
+
156
+ 路径: {{path}}`,dialog:{createNewProject:"创建新项目",projectWillBeCreatedAt:"项目将在以下目录中创建:",projectName:"项目名称",projectNamePlaceholder:"输入项目名称",cancel:"取消",createProject:"创建项目"}},_C={image:"图片 ({{mimeType}})",resource:"资源",uri:"URI",name:"名称",description:"描述",type:"类型",unknownType:"未知类型 ({{type}})",errorMessage:"错误信息:",executionResult:"执行结果:",progress:"进度: {{current}} / {{total}}",subtitle:"MCP: {{toolName}} @ {{serverName}}",parameters:"参数"},FC={executing:"执行中...",executionError:"执行出错",timeout:"超时时间: {{timeout}}ms"},BC={readFile:"读取文件",startLine:"起始行",readLines:"读取行数"},HC={filePath:"文件路径",fileSize:"文件大小: {{size}} 字符"},qC={editFile:"编辑文件",replaceAll:"全部替换",yes:"是"},VC={noFilesFound:"没有找到匹配的文件",patternLabel:"匹配模式",pathLabel:"搜索路径",matchingResults:"匹配结果:"},GC={noMatchesFound:"没有找到匹配项",matchStatistics:"匹配统计",patternLabel:"搜索模式",pathLabel:"搜索路径",globLabel:"文件过滤",typeLabel:"文件类型",outputModeLabel:"输出模式",ignoreCase:"忽略大小写",showLineNumbers:"显示行号",afterLines:"后 {{count}} 行",beforeLines:"前 {{count}} 行",contextLines:"上下 {{count}} 行",multilineMode:"多行模式",searchResults:"搜索结果:"},KC={urlLabel:"URL:",analysisPromptLabel:"分析提示",truncated:"...(已截断)",webAnalysisResult:"网页分析结果:"},IC={searchQueryLabel:"搜索查询",allowedDomains:"允许域名:",blockedDomains:"屏蔽域名:",searchResults:"搜索结果:"},YC={taskDescriptionLabel:"任务描述",taskPromptLabel:"任务提示",truncated:"...(已截断)",totalLength:"总长度: {{length}} 字符",agentType:"代理类型",model:"使用模型",resumeTask:"恢复任务",fromPreviousExecution:"从上次执行继续",executing:"子代理正在执行中...",executingWithModel:"使用 {{model}} 模型执行中...",toolCallCount:"{{count}} 次工具调用",partsReceived:"个消息部分",status:{completed:"已完成",failed:"失败",cancelled:"已取消"}},QC={title:"子代理消息流",messageCount:"{{count}} 条消息",toolCount:"{{count}} 次工具调用",taskInput:"任务输入",subAgent:"子代理",thinking:"思考过程...",expand:"展开全文",collapse:"收起"},XC={toolName:"技能",skillName:"技能名称",commandName:"命令名称",unknownSkill:"未知技能",loading:"正在加载技能...",launched:"技能已启动"},ZC={allTasksCompleted:"所有任务已完成",currentTaskProgress:"{{completed}}/{{total}} {{task}}",pendingTasks:"{{completed}}/{{total}} 待办任务",completedCount:"已完成: {{count}}",inProgressCount:"进行中: {{count}}",pendingCount:"待处理: {{count}}"},$C={implementationPlan:"实施计划:",planModeExited:"计划模式已退出,准备开始实施"},JC={notebookPath:"Notebook 路径",insert:"插入",delete:"删除",replace:"替换",code:"代码",markdown:"Markdown",cellId:"单元格 ID",newContent:"新内容",truncated:"...(已截断)"},WC={unknownToolType:"未知工具类型"},eA={executionResult:"执行结果:",interrupted:"已中断"},tA={shellPrefix:"Shell",exitCode:"退出码",stdout:"标准输出",stderr:"错误输出",fetchingOutput:"正在获取 Shell {{shellId}} 的输出...",filterCondition:"过滤条件",status:{running:"运行中",completed:"已完成",killed:"已终止",failed:"执行失败"}},aA={subtitle:"终止 Shell {{shellId}}",subtitleWithProcess:"终止 Shell {{shellId}} ({{processName}})",shellId:"Shell ID",status:{terminating:"正在终止进程...",success:"进程已成功终止",failed:"终止进程失败",ready:"准备终止进程"}},nA={directoryPath:"目录路径",ignorePatterns:"忽略模式",directoryStructure:"目录结构:"},lA={title:"时间机器",description:"回退到之前的对话状态并应用修正",targetMessage:"目标消息",correction:"修正指令",restoreCode:"恢复代码",result:"执行结果",rewinding:"正在回退...",error:"时间机器执行失败"},iA={title:"询问用户",description:"AI 助手需要您的输入才能继续。请回答下列问题。",questionCount:"{{count}} 个问题",multiSelect:"多选",userResponse:"您的回答",waitingForResponse:"等待您的回答...",error:"提交回答失败",interactionHint:"此交互组件需要手动输入",submit:"提交回答",submitting:"正在提交...",completed:"已提交回答",typeSomething:"输入其他内容...",typeSomethingPlaceholder:"请输入您的自定义回答",yourAnswer:"您的回答",customAnswer:"自定义回答"},oA={filePath:"文件路径",batchEdit:"批量编辑 ({{count}} 个操作):",operation:"操作 #{{number}}",replaceAll:"全部替换"},sA={notebookPath:"Notebook 路径",cellId:"单元格 ID"},rA={send:"发送",stop:"停止",stopping:"停止中...",sendMessage:"发送消息",stopGeneration:"停止生成",aiTyping:"AI正在输入中",noContentToSend:"无内容可发送",unknownCommand:"未知命令",noMessages:"暂无消息",startConversation:"开始新的对话",newMessages:"新消息",initializingSession:"正在初始化会话...",errors:{jsonParseError:`解析响应数据时出现错误,可能是由于网络中断或服务器响应格式异常。
157
+
158
+ **建议操作:**
159
+ - 检查网络连接
160
+ - 重新发送消息
161
+ - 如果问题持续存在,请联系管理员`,timeoutError:`请求处理超时,服务器响应时间过长。
162
+
163
+ **建议操作:**
164
+ - 简化请求内容
165
+ - 稍后重试
166
+ - 检查网络连接状态`,suggestedActions:"建议操作",resendMessage:"重新发送消息",refreshPage:"刷新页面重试",unknownError:"未知错误",networkError:`❌ **网络连接错误**
167
+
168
+ 无法连接到AI服务,请检查网络连接后重试。`,requestTimeout:`⏰ **请求超时**
169
+
170
+ 请求处理时间过长,请稍后重试。`,rateLimit:`🚫 **请求频率限制**
171
+
172
+ 请求过于频繁,请稍后再试。`,unauthorized:`🔐 **认证失败**
173
+
174
+ 请检查API密钥配置。`,forbidden:`⛔ **权限不足**
175
+
176
+ 没有权限执行此操作。`,internalServerError:`🔧 **服务器内部错误**
177
+
178
+ 服务器遇到问题,请稍后重试。`,processingError:"处理错误",unknownErrorRetry:"未知错误,请稍后重试。",connectionFailed:`❌ **连接失败**
179
+
180
+ 无法连接到AI服务,请检查网络连接后重试。`,networkConnectionFailed:`🌐 **网络连接失败**
181
+
182
+ 无法连接到服务器,请检查网络连接。`,connectionTimeout:`⏰ **连接超时**
183
+
184
+ 连接服务器超时,请稍后重试。`,connectionError:"连接错误",cannotConnectRetry:"无法连接到AI服务,请稍后重试。",contextWindowError:`📏 **超过上下文窗口限制**
185
+
186
+ 对话过长。请新建会话或使用 /compact 命令减少上下文。`,checkBudget:"检查预算设置和成本限制",increaseMaxTurns:"在代理设置中增加最大轮次"}},cA={title:"已压缩上下文",expand:"展开查看",collapse:"收起"},uA={title:"最近活动",empty:"暂无最近活动",time:{justNow:"刚刚",minutesAgo:"{{count}} 分钟前",hoursAgo:"{{count}} 小时前",daysAgo:"{{count}} 天前"}},dA={title:"后端服务",noService:"无服务",namePlaceholder:"服务名称",urlPlaceholder:"服务地址",add:"添加",save:"保存",cancel:"取消",edit:"编辑",delete:"删除",addNew:"添加新服务",testingConnection:"正在测试连接...",connectionWarning:{title:"无法连接到服务",message:'无法连接到服务 "{{name}}" ({{url}})。',consequence:"如果继续切换,您将无法登录或使用该服务,但可以在登录页面中重新配置服务地址。",cancel:"取消",continue:"仍然切换"}},fA={checking:"检查中...",connected:"已连接",disconnected:"未连接",manageServices:"管理服务",quickSwitch:"快速切换服务",version:"版本",backendName:"后端名称",status:"状态",clickToSwitch:"点击服务名快速切换",clickToManage:"点击齿轮图标管理服务"},mA={title:"服务管理",noService:"无服务",servicesList:"服务列表",addService:"添加服务",current:"当前",testConnection:"测试连接",switchToService:"切换到此服务",editService:"编辑服务",removeService:"删除服务",refreshStatus:"刷新状态",servicesOnline:"个服务在线",close:"关闭",namePlaceholder:"服务名称",urlPlaceholder:"服务地址 (如: http://localhost:4936)",version:"版本",add:"添加",save:"保存",cancel:"取消",addNewService:"添加新服务",switchSuccess:"已切换到服务: {{name}}",addSuccess:"服务添加成功",updateSuccess:"服务更新成功",removeSuccess:"服务删除成功",logoutService:"退出登录此服务",logoutSuccess:"已成功退出登录",managePassword:"管理密码",password:{title:"访问密码管理",description:"设置密码后,登录时需要输入密码。留空并保存可清除密码,启用免密登录。",checking:"正在检查...",currentlySet:"当前已设置访问密码",currentlyNotSet:"当前未设置密码,可免密登录",newPassword:"新密码",newPasswordPlaceholder:"输入新密码(留空则清除密码)",confirmPassword:"确认密码",confirmPasswordPlaceholder:"再次输入密码",save:"保存密码",mismatch:"两次输入的密码不一致",tooShort:"密码长度至少为4位",setSuccess:"密码设置成功,下次登录时生效",clearSuccess:"密码已清除,系统现在可以免密登录",saveFailed:"保存密码失败"},connectionTest:{success:"连接测试成功",failed:"连接测试失败",error:"连接测试出错"},switchWarning:{title:"服务连接警告",message:'服务 "{{name}}" ({{url}}) 无法连接。',consequence:"如果继续切换,您可能无法正常使用某些功能。",cancel:"取消",continue:"仍然切换"}},pA={detecting:{title:"正在检测 Claude CLI",description:"正在检测您的系统中是否安装了 Claude..."},selection:{title:"选择 Claude 版本",description:"我们检测到以下 Claude CLI 安装,请选择要使用的版本",userInstalled:"用户全局安装",systemInstalled:"系统 npm 包",path:"路径",version:"版本",packageManager:"包管理器",useUserInstalled:"使用用户安装的 Claude",useUserInstalledDesc:"使用您通过包管理器全局安装的 Claude CLI",useSystemPackage:"使用系统 npm 包",useSystemPackageDesc:"使用本项目 node_modules 中自带的 Claude CLI",noClaudeFound:"未检测到 Claude CLI",noClaudeFoundDesc:"请先安装 Claude CLI 或确保项目依赖已正确安装"},config:{title:"配置认证方式",description:"选择如何配置 Claude 的认证凭证",skipToken:"暂不配置(推荐)",skipTokenDesc:"跳过认证配置,效果与 Claude Pro 订阅用户一样",claudePro:"Claude Pro 订阅用户",claudeProDesc:"我是 Claude Pro 订阅用户,将在 CLI 中自行登录",enterToken:"手动输入 Token",enterTokenDesc:"手动输入 ANTHROPIC_AUTH_TOKEN 环境变量",tokenPlaceholder:"输入您的 ANTHROPIC_AUTH_TOKEN"},creating:{title:"正在创建系统版本",description:"正在为您配置 Claude 版本,请稍候..."},success:{title:"配置成功!",description:"Claude 版本已成功创建,即将返回控制台..."},actions:{skip:"跳过",next:"下一步",back:"上一步",create:"创建版本"}},gA={title:"A2A协议管理",project:"项目",selectedProject:"项目: {{project}}",noProjectSelected:"未选择项目",tabs:{overview:"概览",apiKeys:"API密钥",external:"外部Agent",tasks:"任务"},actions:{copy:"复制",createKey:"创建密钥",cancel:"取消",delete:"删除",edit:"编辑",enable:"启用",disable:"禁用",hide:"隐藏",show:"显示",addAgent:"添加Agent",importProjects:"导入项目",copyKey:"复制密钥",close:"关闭"},overview:{agentIdentity:"Agent身份",a2aAgentId:"A2A Agent ID",projectId:"项目ID",agentType:"Agent类型",agentCard:"Agent卡片",apiKeys:"API密钥",externalAgents:"外部Agent",activeTasks:"活跃任务",notEnabled:"此项目尚未启用A2A功能",enableAfterCreatingKey:"创建API密钥后自动启用"},agentCard:{context:"Agent上下文",skills:"可用技能",security:"安全认证"},apiKeys:{title:"API密钥管理",noKeys:"还没有API密钥",createFirstKey:"创建第一个API密钥",description:"描述",key:"密钥",createdAt:"创建时间",lastUsed:"最后使用",usageCount:"使用次数",actions:"操作",showKey:"显示密钥",hideKey:"隐藏密钥",keyCopied:"密钥已复制"},external:{title:"外部Agent配置",noAgents:"还没有配置外部Agent",addFirstAgent:"添加第一个外部Agent",enabled:"启用",disabled:"禁用",form:{name:"Agent名称",namePlaceholder:"例如:数据分析Agent",url:"URL",urlPlaceholder:"https://agent.example.com/a2a/uuid",apiKey:"API密钥",apiKeyPlaceholder:"agt_proj_external_key_here",description:"描述",descriptionPlaceholder:"可选的Agent功能描述",enableThisAgent:"启用此Agent",urlHelp:"必须是完整的HTTP或HTTPS URL"},modal:{addTitle:"添加外部Agent",editTitle:"编辑外部Agent",saveChanges:"保存修改",addAgent:"添加Agent"},importModal:{title:"导入项目",description:"选择要导入的项目,系统将自动为这些项目生成API密钥,并添加到当前项目的外部Agent列表中。",noProjects:"没有可导入的项目",selected:"已选择",import:"导入",importing:"导入中..."}},tasks:{title:"任务监控",needA2AEnabled:"需要先启用A2A功能",noTasks:"还没有任务记录",createdAt:"创建时间",startedAt:"开始时间",completedAt:"完成时间"},modals:{createKey:{title:"创建API密钥",description:"描述",descriptionPlaceholder:"例如:生产环境密钥",descriptionHelp:"用于标识此API密钥的用途,最多100个字符",important:"重要提示",securityNote:"API密钥创建后只会完整显示一次,请妥善保存。",creating:"创建中..."}},validation:{descriptionRequired:"描述不能为空",descriptionTooLong:"描述不能超过100个字符",agentNameRequired:"Agent名称不能为空",agentNameTooLong:"Agent名称不能超过50个字符",urlRequired:"URL不能为空",invalidUrl:"URL格式无效",apiKeyRequired:"API密钥不能为空",required:"此字段为必填项"},confirmations:{deleteApiKey:"确定要删除这个API密钥吗?此操作不可撤销。",deleteExternalAgent:"确定要删除这个外部Agent吗?此操作不可撤销。"}},hA={common:pC,projectForm:gC,agentForm:hC,commandForm:yC,fileExplorer:vC,sessionDropdown:bC,toolSelector:SC,languageSwitcher:xC,agentChat:wC,systemCommands:CC,projectMemory:AC,projectCommands:TC,projectSubAgents:kC,sessionsDashboard:EC,fileBrowser:NC,csvPreview:MC,jsonlPreview:jC,unifiedToolSelector:DC,subagentForm:RC,commandSelector:OC,apiSettingsModal:zC,projectCommandsModal:PC,projectSubAgentsModal:LC,projectSelector:UC,mcpTool:_C,bashTool:FC,readTool:BC,writeTool:HC,editTool:qC,globTool:VC,grepTool:GC,webFetchTool:KC,webSearchTool:IC,taskTool:YC,subAgentMessageFlow:QC,skillTool:XC,todoWriteTool:ZC,exitPlanModeTool:$C,notebookEditTool:JC,toolRenderer:WC,baseToolComponent:eA,bashOutputTool:tA,killBashTool:aA,lsTool:nA,timeMachineTool:lA,askUserQuestionTool:iA,multiEditTool:oA,notebookReadTool:sA,agentChatPanel:rA,compactSummary:cA,recentActivity:uA,backendServiceSwitcher:dA,serviceStatusIndicator:fA,serviceManagementModal:mA,claudeVersionSetup:pA,a2aManagement:gA},yA={connectionFailed:"网络连接错误,无法连接到AI服务",connectionFailedRetry:"网络连接错误,无法连接到AI服务,请检查网络连接后重试",timeout:"请求超时,请重试",serverError:"服务器错误,请稍后重试",unknownError:"未知错误,请重试"},vA={createFailed:"创建项目失败",deleteFailed:"删除项目失败",updateFailed:"更新项目失败",notFound:"未找到匹配的项目",loadFailed:"加载项目失败",nameRequired:"项目名称不能为空",nameInvalid:"项目名称包含非法字符"},bA={createFailed:"创建助手失败",deleteFailed:"删除助手失败",updateFailed:"更新助手失败",notFound:"无法找到指定的智能助手,可能已被删除或禁用",loadFailed:"加载助手失败",setFailed:"设置Agent失败",builtinCannotDelete:"内置助手无法删除,但可以禁用",nameRequired:"助手名称不能为空"},SA={uploadFailed:"上传文件失败",deleteFailed:"删除文件失败",downloadFailed:"下载文件失败",readFailed:"读取文件失败",writeFailed:"写入文件失败",notFound:"文件不存在",tooLarge:"文件过大"},xA={createFailed:"创建会话失败",deleteFailed:"删除会话失败",loadFailed:"加载会话失败",notFound:"会话不存在"},wA={executeFailed:"命令执行失败",notFound:"未找到匹配的命令",loadFailed:"无法加载自定义命令",invalidFormat:"命令格式错误"},CA={saveFailed:"保存失败,请重试",loadFailed:"加载失败",operationFailed:"操作失败,请重试",invalidInput:"输入内容无效",permissionDenied:"权限不足"},AA={network:yA,project:vA,agent:bA,file:SA,session:xA,command:wA,common:CA},TA={pptEditor:"PPT编辑助手",codeAssistant:"AI编程助手",documentWriter:"文档写作助手",generalChat:"通用对话助手",custom:"自定义助手"},kA={loading:"正在加载智能助手...",loadingProjects:"正在加载项目...",loadingMcp:"正在加载MCP配置...",loadingSubagents:"正在加载 Subagents...",loadingCommands:"加载命令中...",loadingSession:"加载会话信息...",creating:"正在创建项目...",notFound:"无法找到指定的智能助手",noAgents:"暂无智能助手"},EA={bash:"命令行工具",read:"文件读取",write:"文件写入",edit:"文件编辑",search:"代码搜索",webSearch:"网络搜索",webFetch:"网页抓取"},NA={active:"活跃",inactive:"未激活",running:"运行中",stopped:"已停止",error:"错误"},MA={createAgent:"创建助手",editAgent:"编辑助手",deleteAgent:"删除助手",enableAgent:"启用助手",disableAgent:"禁用助手",testAgent:"测试助手",configureAgent:"配置助手"},jA={taskCompleted:"✅ 任务完成",generationStopped:"⏹️ 生成已停止",sessionRestored:"🔄 会话已恢复",executionCompleted:"(执行完成)"},DA={title:"文档大纲",description:"文档结构和章节管理",createSection:"新建章节",featureTitle:"文档大纲功能",comingSoon:"即将推出...",chatManagement:"您可以通过聊天来管理文档内容"},RA={title:"代码浏览器",description:"代码文件和结构管理",projectWithPath:"项目: {{path}}",openFile:"打开文件",featureTitle:"代码浏览器功能",comingSoon:"即将推出...",chatManagement:"您可以通过聊天来管理代码文件"},OA={title:"幻灯片预览",refreshTitle:"刷新幻灯片",refresh:"刷新",slideCount:"共 {{count}} 张幻灯片",noSlides:"还没有幻灯片",createWithAI:"与AI聊天来创建幻灯片",loading:"加载中...",loadError:"加载失败,请刷新页面重试",tabs:{preview:"预览",code:"代码"},loadFailed:"加载失败",fileNotFound:"文件不存在",loadingCode:"加载代码中..."},zA={types:TA,messages:kA,tools:EA,status:NA,actions:MA,notifications:jA,documentOutline:DA,codeExplorer:RA,slidePreview:OA},PA={welcome:{title:"欢迎使用 AgentStudio",subtitle:"在开始之前,我们需要配置后端服务连接",features:{title:"后端服务负责:",ai:{title:"AI 模型调用",description:"连接 Claude 等 AI 模型进行智能对话"},storage:{title:"文件存储和管理",description:"保存您的工作内容和项目文件"},history:{title:"会话历史记录",description:"保存和管理您的对话历史"}}},detecting:{title:"检测后端服务",description:"正在检测本地后端服务..."},found:{title:"检测到本地后端服务",description:"我们在您的系统中发现了可用的后端服务",serviceAddress:"服务地址",status:"连接正常",useThisService:"使用此服务",addOtherService:"添加其他服务"},notFound:{title:"未检测到本地后端服务",description:"请选择以下方式之一来配置后端服务",tabs:{install:"本地安装",remote:"使用远程服务"},install:{title:"安装本地后端服务",description:"按照以下步骤在本地安装后端服务:",copyCommands:"复制安装命令",viewDocs:"查看完整文档",retry:"重新检测"},remote:{title:"使用远程后端服务",description:"如果您已有远程服务,可以在这里配置连接",serviceName:"服务名称",serviceNamePlaceholder:"例如:公司服务器",serviceUrl:"服务地址",testConnection:"测试连接",testing:"测试中...",success:"连接成功",failed:"连接失败",addService:"添加服务",commonServices:"常用服务:",official:"官方服务",local:"本地服务"}},complete:{title:"配置完成!",description:"已成功连接到后端服务",serviceName:"服务名称",serviceUrl:"服务地址",nextSteps:{title:"接下来",description:"请登录系统开始使用 AgentStudio"},goToLogin:"前往登录",manageServices:"管理服务"},skipConfirm:{title:"确定要跳过配置?",warning:"未配置后端服务可能导致:",consequences:{noAi:"无法连接 AI 服务",noStorage:"无法保存工作内容",noFeatures:"系统功能不可用"},reconfigure:"您可以随时在以下位置重新配置:",locations:{loginPage:"登录页面的服务管理",settingsPage:"设置页面的 API 配置"},back:"返回配置",skip:"仍要跳过"},addService:{title:"添加后端服务",description:"输入后端服务的地址和名称进行连接",installHelp:"安装帮助",installGuide:{title:"本地安装指南",description:"按照以下步骤在本地安装后端服务:",copyCommands:"复制命令",viewDocs:"查看文档"},serviceName:"服务名称",serviceNamePlaceholder:"例如:公司服务器",serviceUrl:"服务地址",testConnection:"测试连接",testing:"测试中...",success:"连接成功",failed:"连接失败",commonServices:"常用服务:",official:"官方服务",local:"本地服务",retry:"重新检测",addButton:"添加服务"},actions:{skip:"跳过",getStarted:"开始配置",next:"下一步",back:"上一步"}},LA={backend:PA},UA="技能管理",_A="创建和管理 Claude 助手技能,扩展 AI 功能",FA="创建技能",BA="搜索技能名称或描述...",HA={showDisabled:"显示已禁用技能"},qA="还没有创建任何技能",VA="没有找到匹配的技能",GA="创建第一个技能",KA={user:"用户技能"},IA={local:"本地",plugin:"插件"},YA={enabled:"已启用",disabled:"已禁用"},QA={skill:"技能",tools:"工具",status:"状态",updated:"更新时间",actions:"操作"},XA="尝试调整搜索条件",ZA={updated:"更新于",usage:"使用 {{count}} 次",actions:{edit:"编辑",view:"查看",browseFiles:"浏览文件",delete:"删除"}},$A={description:"描述",allowedTools:"允许的工具",additionalFiles:"附加文件",browseFiles:"浏览文件",files:"文件",back:"返回",close:"关闭"},JA='确定要删除技能 "{{name}}" 吗?此操作不可撤销。',WA={loadFailed:"加载技能失败",createFailed:"创建技能失败",updateFailed:"更新技能失败",deleteFailed:"删除技能失败"},eT={title:"创建新技能",subtitle:"配置新技能的基本信息和功能",tabs:{basic:"基本信息",manifest:"技能清单",files:"附件文件"},basic:{name:"技能名称",namePlaceholder:"输入技能名称",nameHint:"技能的显示名称,支持中英文和数字",description:"技能描述",descriptionPlaceholder:"详细描述这个技能的功能和用途",descriptionHint:"清晰的描述有助于理解技能的作用",allowedTools:"允许使用的工具",allowedToolsHint:"选择此技能可以使用的工具",noToolsSelected:"尚未选择任何工具",selectTools:"选择工具",unsavedChanges:"您有未保存的更改"},content:{skillManifest:"技能清单",additionalFiles:"附加文件",addFile:"添加文件",noFiles:"没有附加文件",noFilesHint:"点击上方按钮添加技能相关文件",fileName:"文件名",filePath:"文件路径",fileContent:"文件内容",fileType:{markdown:"Markdown",text:"文本",script:"脚本",template:"模板",other:"其他"}}},tT={title:"编辑技能",scope:{user:"用户级技能"},basic:{name:"技能名称",description:"技能描述",allowedTools:"允许使用的工具",allowedToolsHint:"选择此技能可以使用的工具",skillContent:"技能内容",unsavedChanges:"您有未保存的更改,按 Cmd+S 保存"},files:{title:"附加文件",addFile:"添加文件",noFiles:"没有附加文件",addFilesHint:"添加相关文件来支持技能功能"},errors:{validationErrors:"验证错误",saveFailed:"保存技能失败"}},aT={title:UA,subtitle:_A,createButton:FA,searchPlaceholder:BA,filter:HA,noSkills:qA,noSkillsSearch:VA,createFirst:GA,scope:KA,source:IA,status:YA,table:QA,adjustSearch:XA,preview:ZA,detail:$A,deleteConfirm:JA,errors:WA,create:eT,editor:tT},nT={create:"Create",delete:"Delete",save:"Save",cancel:"Cancel",confirm:"Confirm",edit:"Edit",close:"Close",back:"Back",next:"Next",refresh:"Refresh",submit:"Submit",reset:"Reset",search:"Search",add:"Add",remove:"Remove",update:"Update",upload:"Upload",download:"Download",export:"Export",import:"Import",copy:"Copy",paste:"Paste",cut:"Cut"},lT={loading:"Loading...",processing:"Processing...",success:"Success",failed:"Failed",saving:"Saving...",deleting:"Deleting...",uploading:"Uploading...",downloading:"Downloading...",completed:"Completed",pending:"Pending",active:"Active",inactive:"Inactive",enabled:"Enabled",disabled:"Disabled"},iT={yes:"Yes",no:"No",ok:"OK",all:"All",none:"None",or:"Or",and:"And",more:"More",less:"Less",unknown:"Unknown",optional:"Optional",required:"Required",default:"Default",custom:"Custom"},oT="Path",sT="Created",rT={init:{description:""},clear:{description:""},compact:{description:""},agents:{description:""},settings:{description:""},help:{description:""}},cT={sendImage:""},uT={chinese:"",english:""},dT={pageTitle:"",metaDescription:"",nav:{enterWorkspace:""},hero:{title:"",subtitle:"",description:"",startNow:"",viewSource:""},features:{title:"",subtitle:"",modernWeb:{title:"",description:""},multiModel:{title:"",description:""},agentSystem:{title:"",description:""},fileManagement:{title:"",description:""},professionalTools:{title:"",description:""},secureReliable:{title:"",description:""}},quickStart:{title:"",subtitle:"",endUserTitle:"",endUserDescription:"",developerTitle:"",developerDescription:""},cta:{title:"",subtitle:"",start:""},footer:{description:"",copyright:"",product:"",workspace:"",sourceCode:"",releases:"",support:"",documentation:"",issues:"",discussions:""}},fT={actions:nT,status:lT,common:iT,path:oT,createdAt:sT,systemCommands:rT,agentChat:cT,languageSwitcher:uT,landing:dT},mT={dashboard:"Dashboard",projects:"Projects",agents:"Agents",scheduledTasks:"Scheduled Tasks",skills:"Skills",plugins:"Plugins",mcp:"MCP Services",commands:"Commands",subagents:"Subagents",settings:"Settings",settingsSubmenu:{general:"Look & Feel",suppliers:"Suppliers",memory:"Memory",mcpAdmin:"MCP Admin"}},pT={version:"Version {{version}}",apiServerStatus:{connected:"API Server Settings - Connected",disconnected:"API Server Settings - Connection Failed",checking:"API Server Settings - Checking..."},serviceStatus:{normal:"Service Normal",unavailable:"Service Unavailable",checking:"Checking..."}},gT={title:"Sign In",subtitle:"Enter your password to continue",passwordLabel:"Password",passwordPlaceholder:"Enter password",loginButton:"Sign In",loggingIn:"Signing in...",footer:"Please contact your administrator if you forgot your password",manageServices:"Manage Backend Services",serviceName:"Service Name",serviceUrl:"Service URL",current:"Current",testConnection:"Test Connection",switchTo:"Switch to this service",edit:"Edit",delete:"Delete",save:"Save",cancel:"Cancel",add:"Add",addService:"Add New Service",rerunOnboarding:"Rerun Configuration Wizard",checkingConnection:"Checking connection...",autoLoggingIn:"Auto signing in...",noPasswordRequired:"No password required for this service",enterSystem:"Enter System"},hT={pageTitle:"AgentStudio - AI Agent Platform | Powered by Claude Code",metaDescription:"A modern personal agent platform built on Claude Code SDK. Access powerful AI capabilities through an intuitive web interface, supporting multiple LLMs to boost productivity.",nav:{enterWorkspace:"Enter Workspace"},hero:{title:"AI Agent Platform",subtitle:"Make AI Your Powerful Assistant",description:"A modern personal agent platform built on Claude Code SDK. Access powerful AI capabilities through an intuitive web interface to boost productivity.",startNow:"Get Started",viewSource:"View Source"},features:{title:"Core Features",subtitle:"Comprehensive Features for Modern AI Workflows",modernWeb:{title:"Modern Web Interface",description:"Professional intuitive Web UI, real-time streaming responses, split-panel design, suitable for developers and general users"},multiModel:{title:"Multi-Model Support",description:"Support for Claude, OpenAI, GLM, DeepSeek and other LLMs, flexible switching to meet different needs"},agentSystem:{title:"Agent System",description:"Built-in professional agents, custom agent creation, message-level tool customization, extensible development framework"},fileManagement:{title:"File Management",description:"Built-in file explorer, project-aware operations, version control integration, support for image upload and content preview"},professionalTools:{title:"Professional Tools",description:"Slide agents, code explorer, document outline, tool renderer and other professional tools to boost productivity"},secureReliable:{title:"Secure & Reliable",description:"Environment variables protect API keys, CORS configuration, input validation, sandboxed file system access to ensure security"}},quickStart:{title:"Quick Start",subtitle:"Choose your preferred installation method and start using within minutes",endUserTitle:"End Users - One-Click Install",endUserDescription:"No configuration needed, auto-installs all dependencies, perfect for quick experience and daily use",developerTitle:"Developers - Source Deployment",developerDescription:"Full development environment, supports hot reload, perfect for custom development and feature extension"},cta:{title:"Ready to start your AI workflow?",subtitle:"Join developers and teams using AgentStudio and experience AI-driven productivity",start:"Get Started"},footer:{description:"Personal agent platform built on Claude Code SDK, make AI your powerful assistant.",copyright:"© 2024 AgentStudio. MIT License.",product:"Product",workspace:"Workspace",sourceCode:"Source Code",releases:"Releases",support:"Support",documentation:"Documentation",issues:"Issues",discussions:"Discussions"}},yT={title:"Agent Management",subtitle:"Manage Specialized AI Agents",createButton:"Create Assistant",editButton:"Edit Assistant",deleteButton:"Delete Assistant",enableButton:"Enable Assistant",disableButton:"Disable Assistant",useButton:"Use",startUsingButton:"Start using assistant",noAgents:"No assistants yet",noAgentsSearch:"No matching assistants found",searchPlaceholder:"Search assistants...",createFirst:"Create your first AI assistant",adjustSearch:"Try adjusting search criteria",loading:"Loading AI assistants...",filter:{all:"All",enabled:"Enabled",disabled:"Disabled"},table:{agent:"AI Assistant",type:"Type",config:"Configuration",tools:"Tools",status:"Status",actions:"Actions",maxTurns:"Max Turns",unlimited:"Unlimited",permission:"Permission",toolsCount:"{{count}} tools"},form:{create:"Create Assistant",edit:"Edit Assistant",name:"Name",description:"Description",maxTurns:"Max Turns",maxTurnsPlaceholder:"Unlimited",maxTurnsError:"Max turns must be between 1-100",maxTurnsExceeded:"Max turns cannot exceed {{maximum}}",permissionMode:"Permission Mode",icon:"Icon",primaryColor:"Primary Color",enabledTools:"Enabled Tools",selectTools:"Select Tools",toolsRegular:"{{count}} regular tools",toolsMcp:"{{count}} MCP tools",systemPrompt:"System Prompt",systemPromptPlaceholder:"Enter assistant's system prompt...",nameRequired:"Please enter assistant name",save:"Save",cancel:"Cancel"},permissions:{default:"Default",acceptEdits:"Auto-accept edits",bypassPermissions:"Bypass permission checks",plan:"Plan mode"},status:{enabled:"Enabled",disabled:"Disabled"},errors:{createFailed:"Failed to create, please try again.",saveFailed:"Failed to save, please try again.",deleteFailed:"Failed to delete, please try again.",toggleFailed:"Operation failed, please try again.",builtinCannotDelete:"Built-in assistants cannot be deleted, but can be disabled."},confirmDelete:`Are you sure you want to delete assistant "{{name}}"?
187
+
188
+ This action cannot be undone, and all related sessions will also be deleted.`},vT={title:"Project Management",subtitle:"Manage All Your Work Projects",createButton:"Create New Project",selectType:"Select Assistant Type to Create Work Project",noProjects:"No projects yet",searchPlaceholder:"Search projects...",loading:"Loading projects...",filter:{all:"All",active:"Active",inactive:"Inactive"},table:{project:"Project",agent:"Assistant",lastActive:"Last Active",sessions:"Sessions",actions:"Actions",sessionsCount:"{{count}} sessions"},form:{create:"Create Project",edit:"Edit Project",name:"Project Name",namePlaceholder:"Enter project name",nameRequired:"Project Name *",agentType:"Select Assistant Type *",agentTypePlaceholder:"Choose an assistant type",directory:"Project Directory",directoryNote:"A new folder will be created under this directory",description:"Project Description",descriptionPlaceholder:"Briefly describe the purpose of this project...",save:"Save",cancel:"Cancel"},actions:{open:"Open",openInNewTab:"Open in new tab",edit:"Edit",delete:"Delete"},status:{active:"Active",inactive:"Inactive",never:"Never"},errors:{createFailed:"Failed to create project",updateFailed:"Failed to update project",deleteFailed:"Failed to delete project",loadFailed:"Failed to load projects"},deleteConfirm:"Are you sure you want to delete this project?",deleteNote:"Note: This will only remove the project from the list, not delete the actual file directory.",deleteSuccess:"Project deleted"},bT={title:"Chat",inputPlaceholder:"Type a message...",aiTyping:"AI is typing",newSession:"New Chat",sessionHistory:"Chat History",loading:"Loading AI assistant...",agentNotFound:"Assistant Not Found",agentNotFoundDesc:"Unable to find the specified AI assistant, it may have been deleted or disabled.",agentDisabled:"Assistant Disabled",agentDisabledDesc:'AI assistant "{{name}}" is currently disabled and cannot be used.',closePage:"Close Page",tabNotification:{working:"🤖 Working",completed:"✅ Completed",error:"❌ Error"}},ST={title:"Dashboard",welcome:"Welcome back to Claude Code workspace",stats:{agentManagement:"Agent Management",workProjects:"Work Projects",slashCommands:"Slash Commands",activeSessions:"Active Sessions"},recentAgents:{title:"Frequently Used Assistants",viewAll:"View All",types:{slides:"Presentations","claude-code":"Claude Code"},noAgents:"No assistants available",goEnable:"Enable assistants"},quickActions:{title:"Quick Actions",createProject:{title:"Create New Project",description:"Select assistant type to create work project"},createAgent:{title:"Create New Assistant",description:"Configure custom AI assistant"},addMcp:{title:"Add MCP Service",description:"Connect new MCP server"},viewAnalytics:{title:"View Analytics",description:"Analyze usage and performance"}},overview:"Overview",statistics:"Statistics",recentActivity:"Recent Activity"},xT=JSON.parse(`{"title":"Settings","general":{"title":"Look and Feel","description":"Configure interface theme and language","interfaceSettings":"Look and Feel","theme":{"label":"Theme","description":"Select interface theme mode","auto":"Follow System","light":"Light Mode","dark":"Dark Mode"},"language":{"label":"Language","description":"Select interface language"},"password":{"title":"Access Password","checking":"Checking...","currentlySet":"Access password is currently set","currentlyNotSet":"No password set, passwordless login enabled","description":"Set a password to require authentication on login. Leave empty and save to clear the password and enable passwordless login.","newPassword":"New Password","newPasswordPlaceholder":"Enter new password (leave empty to clear)","confirmPassword":"Confirm Password","confirmPasswordPlaceholder":"Re-enter password","save":"Save Password","clear":"Clear Password","mismatch":"Passwords do not match","tooShort":"Password must be at least 4 characters","setSuccess":"Password set successfully. Takes effect on next login.","clearSuccess":"Password cleared. Passwordless login is now enabled.","saveFailed":"Failed to save password","clearFailed":"Failed to clear password"}},"api":"API Server Settings","memory":"Global Memory","memorySettings":{"title":"Global Memory Settings","description":"Global memory is shared background information for all AI assistants, including your work preferences, project information, etc.","fileSourceInfo":"Content is sourced from the ~/.claude/CLAUDE.md file in your user directory.","memoryContent":"Memory Content","edit":"Edit","cancelEdit":"Cancel Edit","refresh":"Refresh","refreshing":"Refreshing...","placeholder":"Write your global memory content here...","cancel":"Cancel","saveMemory":"Save Memory","loading":"Loading global memory...","noMemory":"No global memory content yet","clickEditToStart":"Click \\"Edit\\" button to start adding","infoAutoLoad":"Global memory will be automatically loaded in every conversation to provide background information for AI","infoSuggestions":"Recommended to include: work preferences, project background, personal information, etc.","infoFileLocation":"File location: ~/.claude/CLAUDE.md","saveSuccess":"Global memory saved successfully","saveFailed":"Failed to save, please try again"},"supplier":{"title":"Supplier Management","subtitle":"Manage multiple model suppliers, specify executable paths, aliases and environment variables","addSupplier":"Add Supplier","noSuppliers":"No model suppliers configured yet","clickToAddFirst":"Click \\"Add Supplier\\" to configure your first model supplier","systemLabel":"System","defaultLabel":"Default","pathLabel":"Path","envVarsLabel":"Environment Variables","modelsLabel":"Supported Models","setAsDefault":"Set as Default","copyCommand":"Copy Command","edit":"Edit","delete":"Delete","confirmDelete":"Are you sure you want to delete supplier \\"{{alias}}\\"?","currentSupplier":{"title":"Current Supplier","checking":"Checking...","checkVersion":"Check Supplier","claudeDesc":"AI Programming Assistant","updating":"Updating...","update":"Update","willUse":"Will use","toUpdate":"to update","nodejsDesc":"JavaScript Runtime Environment","preferred":"Preferred","packageManager":"Package Manager","lastChecked":"Last Checked","clickToCheck":"Click \\"Check Supplier\\" to get supplier info","updateSuccess":"Update Successful","updateFailed":"Update Failed","info1":"Claude Code is an AI programming assistant that supports code generation, editing and project management","info2":"Node.js is the fundamental runtime environment for the system","info3":"Supports multiple package managers: npm, pnpm, yarn (Priority: pnpm > yarn > npm)","info4":"The system will automatically select the preferred package manager for update operations","info5":"It is recommended to keep Claude Code up to date for the best experience"},"templates":{"title":"Quick Configuration Templates","description":"Select a preset template to quickly configure third-party API suppliers with auto-filled environment variables","providers":{"glm":{"name":"GLM (Zhipu AI)","description":"Use Zhipu AI's GLM model service, compatible with Anthropic API"},"deepseek":{"name":"DeepSeek","description":"Use DeepSeek's high-performance model service"},"kimi":{"name":"Kimi K2 (Moonshot AI)","description":"Use Kimi K2 model service, compatible with Anthropic API"},"minimax":{"name":"MiniMax","description":"Use MiniMax high-performance model service, compatible with Anthropic API"}}},"form":{"createTitle":"Add New Supplier","editTitle":"Edit Supplier","supplierName":"Supplier Name","supplierNamePlaceholder":"e.g., Claude Code v1.2.3","alias":"Alias","aliasPlaceholder":"e.g., claude-1.2.3","description":"Description","descriptionPlaceholder":"Supplier description (optional)","executablePath":"Executable Path","executablePathPlaceholder":"Leave empty to use system default path","browseFile":"Browse Files","envVars":"Environment Variables","varName":"Variable Name","varValue":"Variable Value","emptyValue":"Not set","getApiKey":"Get API Key","models":"Model Configuration","modelId":"Model ID","modelName":"Model Name","visionModel":"Vision Model","addModel":"Add Model","cancel":"Cancel","saving":"Saving...","update":"Update","create":"Create","selectExecutable":"Select Claude Executable"},"errors":{"requiredFields":"Please fill in all required fields","saveFailed":"Save failed","cannotDeleteSystem":"Cannot delete system supplier","deleteFailed":"Delete failed","setDefaultFailed":"Failed to set default supplier","copyFailed":"Copy failed, please manually copy the following command:"},"success":{"createVersion":"Supplier created successfully","updateVersion":"Supplier updated successfully","deleteVersion":"Supplier deleted successfully","setDefault":"Set \\"{{alias}}\\" as default supplier","copyCommand":"Command copied to clipboard"}},"language":"Language Settings","subagents":{"title":"Subagent Management","subtitle":"Manage Specialized AI Subagents","loading":"Loading Subagents...","loadFailed":"Load Failed","loadFailedMessage":"Unable to load Subagents list","retry":"Retry","searchPlaceholder":"Search Subagents...","createButton":"New Subagent","noSubagents":"No Subagents Yet","noSubagentsSearch":"No Matching Subagents Found","adjustSearch":"Try adjusting search criteria","createFirst":"Create your first specialized AI subagent to handle specific tasks","table":{"subagent":"Subagent","tools":"Tools","createdAt":"Created At","actions":"Actions","toolsCount":"{{count}} tools","inheritSettings":"Inherit conversation settings"},"actions":{"edit":"Edit","view":"View","editTitle":"Edit Subagent","viewTitle":"View Subagent","deleteTitle":"Delete Subagent"},"source":{"local":"Local","plugin":"Plugin"},"deleteConfirm":{"title":"Confirm Delete","message":"Are you sure you want to delete Subagent \\"{{name}}\\"?","warning":"This action cannot be undone.","cancel":"Cancel","delete":"Delete"}},"mcpAdmin":{"title":"MCP Admin Server","subtitle":"Configure MCP Admin API to allow external AI tools to manage your AgentStudio","refresh":"Refresh","serverStatus":"Server Status","status":{"status":"Status","active":"Active","version":"Version","tools":"Available Tools","activeKeys":"Active Keys","unavailable":"Service Unavailable"},"endpoint":"Endpoint","apiKeys":"API Keys","createKey":"Create Key","noKeys":"No API keys yet","noKeysHint":"Create an API key to allow external tools to access","createdAt":"Created","lastUsed":"Last used","revoked":"Revoked","revokeKey":"Revoke key","confirmRevoke":"Are you sure you want to revoke this API key? This action cannot be undone.","availableTools":"Available Management Tools","createKeyTitle":"Create API Key","keyDescription":"Key Description","keyDescriptionPlaceholder":"e.g., Cursor MCP Connection","fullPermissions":"This key will have full admin permissions","cancel":"Cancel","create":"Create","creating":"Creating...","keyCreated":"API Key Created!","saveKeyWarning":"Save this key now! It will only be shown once and cannot be viewed again.","yourApiKey":"Your API Key","configFile":"Config File","copyConfig":"Copy Config","done":"Done","showKey":"Show Key","hideKey":"Hide Key","copyKey":"Copy Key","viewConfig":"View Config","limitTools":"Limit Available Tools","selectAll":"Select All","deselectAll":"Deselect All","selectedToolsCount":"{{count}} tools selected","limitedTools":"{{count}} tools limited","allToolsAccess":"All tools","disabled":"Disabled","enableKey":"Enable Key","disableKey":"Disable Key","editKey":"Edit Key","editKeyTitle":"Edit API Key","save":"Save","saving":"Saving...","toolParams":"Parameters","noParams":"No parameters","success":{"copied":"Copied to clipboard","keyRevoked":"API key revoked","keyUpdated":"API key updated","keyEnabled":"API key enabled","keyDisabled":"API key disabled"},"errors":{"configFetch":"Failed to fetch config","createFailed":"Failed to create key","revokeFailed":"Failed to revoke key","copyFailed":"Copy failed","descriptionRequired":"Please enter a key description","updateFailed":"Failed to update key","toggleFailed":"Failed to toggle key status"},"help":{"button":"Help","title":"MCP Admin Server Help","whatIs":"What is MCP Admin Server?","whatIsDesc":"MCP Admin Server is a standard MCP (Model Context Protocol) server that allows other AI tools (like Cursor, Claude Desktop) to remotely manage your AgentStudio via MCP protocol. Through this interface, you can directly query and manage AgentStudio's projects, agents, MCP servers, etc. from other AI tools.","howToUse":"How to use?","step1":"Create an Admin API key on this page","step2":"Click \\"View Config\\" to get the configuration snippet","step3":"Add the config to Cursor or Claude Desktop's MCP configuration file","step4":"Restart Cursor/Claude Desktop, then you can use the management tools in conversations","availableTools":"Available Tools Examples","toolListProjects":"List all projects","toolGetProject":"Get project details","toolListAgents":"List all agents","toolGetAgent":"Get agent details","toolHealthCheck":"System health check","examples":"Usage Examples","examplePrompt":"In Cursor, you can directly say to AI:"}},"apiSettings":{"title":"API Server Settings","hostLabel":"API Server Address","hostPlaceholder":"http://localhost:4936 or https://your-domain.com","testConnection":"Test Connection","quickSelect":"Quick Select:","connectionStatus":"Connection Status","status":{"success":"Connected","error":"Connection Failed","untested":"Not Tested"},"serverError":"Server error: {{status}} {{statusText}}","connectionFailed":"Connection failed: {{message}}","connectionUnknownError":"Connection failed: Unknown error","enterApiHost":"Please enter API server address","settingsSavedRefresh":"Settings saved. Page will refresh to apply new settings","usage":{"title":"Usage Instructions:","localDev":"For local development, use","production":"For production environment, use your server domain such as","cors":"Ensure the server supports CORS access and allows frontend domain access","refresh":"Page needs to be refreshed after modification to take effect"},"resetToDefault":"Reset to Default","saveSettings":"Save Settings"}}`),wT={title:"Analytics",usage:"Usage Statistics",performance:"Performance Metrics"},CT={title:"MCP Services",subtitle:"Manage and monitor Model Context Protocol servers",loading:"Loading MCP configurations...",searchPlaceholder:"Search by name, command or arguments...",addServer:"Add Service",noServers:"No MCP service configurations yet",noResults:"No matching configurations found",adjustSearch:"Try adjusting search criteria",addFirstServer:"Add your first MCP service configuration",confirmDelete:'Are you sure you want to delete configuration "{{name}}"?',validateAll:"Validate All",stats:{total:"Total",active:"Active",error:"Error",validating:"Validating",tools:"Tools"},import:{button:"Import from Claude Code",importing:"Importing...",noConfigFound:"No MCP configurations found in Claude Code (reading from ~/.claude.json)",success:"Successfully imported {{imported}} MCP server configuration(s){{skipped, select, 0{} other{, skipped {{skipped}} existing configuration(s)}}",allExist:"All configurations already exist, no new imports"},table:{server:"Server",type:"Type",status:"Status",tools:"Available Tools",actions:"Actions",toolsCount:"{{count}} tools",noTools:"No tools"},status:{active:"Active",error:"Error",validating:"Validating",unvalidated:"Unvalidated"},actions:{validate:"Re-validate",copyCommand:"Copy Command",edit:"Edit",view:"View",delete:"Delete configuration"},source:{local:"Local",plugin:"Plugin"},modal:{addTitle:"Add MCP Service Configuration",editTitle:"Edit MCP Service Configuration",saving:"Saving...",saveConfig:"Save Configuration",addConfig:"Add Configuration"},form:{serverName:"Service Name *",serverNamePlaceholder:"e.g., playwright",nameNotEditable:"Service name cannot be modified",nameRequired:"Please enter service name",mcpType:"MCP Type *",stdioOption:"Stdio (Local Process)",httpOption:"HTTP (Remote Service)",selectConnectionType:"Select MCP server connection type",configuration:"Configuration * (JSON format)",configInvalid:"Configuration format is incorrect, please ensure required {{fields}} fields are included and properly formatted",configFormatError:"⚠️ Configuration format is incorrect, please ensure required {{fields}} fields are included",requiredFields:"Required fields:",requiredFieldsStdio:"type, command and args",requiredFieldsHttp:"type and url",optionalFields:"Optional fields:",typeField:'String, MCP type ("stdio" or "http")',commandField:'String, execution command (e.g. "npx", "uvx")',argsField:"Array, command arguments",urlField:"String, HTTP MCP server URL",timeoutField:"Number, timeout in milliseconds",autoApproveField:"Array, auto-approve operations"},errors:{validationFailed:"Validation failed",networkError:"Network error or service unavailable",deleteFailed:"Failed to delete configuration",importFailed:"Import failed",saveFailed:"Failed to save configuration",copyFailed:"Failed to copy"},commandCopied:"Command copied to clipboard"},AT={title:"Custom Commands",subtitle:"Manage Slash Commands",loading:"Loading commands...",searchPlaceholder:"Search commands...",createButton:"New Command",error:{loadFailed:"Load Failed",cannotLoadCommands:"Unable to load custom commands",retry:"Retry"},empty:{noCommands:"No custom commands yet",noMatchingCommands:"No matching commands found",adjustSearch:"Try adjusting search criteria or filters",createFirst:"Create your first custom Slash Command"},table:{command:"Command",model:"Model",tools:"Tools",createdAt:"Created",actions:"Actions",inheritSettings:"Inherit conversation settings",toolsCount:"{{count}} tools"},actions:{edit:"Edit",view:"View",editCommand:"Edit command",deleteCommand:"Delete command"},source:{local:"Local",plugin:"Plugin"},delete:{title:"Delete Command",confirmMessage:'Are you sure you want to delete command "/{{name}}"? This action cannot be undone.',cancel:"Cancel",delete:"Delete",deleting:"Deleting..."}},TT={title:"Plugin Management",subtitle:"Manage plugin marketplaces and installed plugins",tabs:{marketplaces:"Marketplaces",browse:"Browse Plugins",installed:"Installed Plugins"},marketplaces:{title:"Plugin Marketplaces",subtitle:"Manage plugin marketplace sources",addButton:"Add Marketplace",searchPlaceholder:"Search marketplaces...",noMarketplaces:"No marketplaces configured yet",addFirst:"Add your first plugin marketplace",table:{marketplace:"Marketplace",type:"Type",plugins:"Plugins",lastSync:"Last Sync",actions:"Actions"},types:{git:"Git Repository",github:"GitHub",local:"Local Directory"},actions:{sync:"Sync",syncing:"Syncing...",edit:"Edit",delete:"Delete"},addModal:{title:"Add Marketplace",editTitle:"Edit Marketplace",name:"Marketplace Name",namePlaceholder:"e.g., official-plugins",type:"Source Type",typePlaceholder:"Select source type",source:"Source",sourcePlaceholderGit:"Git repository URL",sourcePlaceholderGithub:"owner/repo or full URL",sourcePlaceholderLocal:"Local directory path",branch:"Branch (Optional)",branchPlaceholder:"main",description:"Description (Optional)",descriptionPlaceholder:"Marketplace description",cancel:"Cancel",add:"Add",adding:"Adding...",save:"Save",saving:"Saving..."},confirmDelete:'Are you sure you want to delete marketplace "{{name}}"? All plugins from this marketplace will be uninstalled.'},browse:{title:"Browse Plugins",subtitle:"Discover and install plugins from marketplaces",searchPlaceholder:"Search plugins...",filters:{allMarketplaces:"All Marketplaces",allTypes:"All Types",showOnlyInstalled:"Show only installed"},noPlugins:"No plugins available",noMarketplaces:"No marketplaces added yet",goAddMarketplace:"Add a marketplace to browse plugins",noResults:"No plugins found",adjustSearch:"Try adjusting your search criteria",card:{from:"from",version:"v{{version}}",by:"by",installed:"Installed",install:"Install",installing:"Installing...",viewDetails:"View Details"},actions:{details:"Details",install:"Install",uninstall:"Uninstall"},confirmUninstall:'Are you sure you want to uninstall plugin "{{name}}"?',components:{commands:"{{count}} Command{{count, plural, one {} other{s}}}",agents:"{{count}} Agent{{count, plural, one {} other{s}}}",skills:"{{count}} Skill{{count, plural, one {} other{s}}}",hooks:"{{count}} Hook{{count, plural, one {} other{s}}}",mcpServers:"{{count}} MCP Server{{count, plural, one {} other{s}}}"},detailModal:{title:"Plugin Details",version:"Version",author:"Author",marketplace:"Marketplace",updated:"Last Updated",components:"Components",files:"Files",readme:"README",noReadme:"No README available",install:"Install Plugin",installing:"Installing...",installed:"Installed",close:"Close"}},installed:{title:"Installed Plugins",subtitle:"Manage your installed plugins",searchPlaceholder:"Search installed plugins...",filters:{all:"All",enabled:"Enabled",disabled:"Disabled",allMarketplaces:"All Marketplaces"},noPlugins:"No plugins installed yet",goBrowse:"Browse plugins to install",noResults:"No matching plugins found",table:{plugin:"Plugin",marketplace:"Marketplace",version:"Version",status:"Status",components:"Components",actions:"Actions"},status:{enabled:"Enabled",disabled:"Disabled"},actions:{details:"Details",viewDetails:"View Details",enable:"Enable",enabling:"Enabling...",disable:"Disable",disabling:"Disabling...",uninstall:"Uninstall"},confirmUninstall:'Are you sure you want to uninstall plugin "{{name}}"?',detailModal:{title:"Plugin Details",basicInfo:"Basic Information",version:"Version",author:"Author",marketplace:"Marketplace",installedAt:"Installed",status:"Status",components:"Components",commands:"Commands",agents:"Agents",skills:"Skills",hooks:"Hooks",mcpServers:"MCP Servers",none:"None",files:"Plugin Files",viewFile:"View File",close:"Close",enable:"Enable",disable:"Disable",uninstall:"Uninstall"},fileViewer:{title:"File Viewer",loading:"Loading...",error:"Failed to load file",close:"Close"}},messages:{installSuccess:"Plugin installed successfully. Please refresh to use the new plugin.",installError:"Failed to install plugin",enableSuccess:"Plugin enabled successfully. Please refresh to use the plugin.",enableError:"Failed to enable plugin",disableSuccess:"Plugin disabled successfully",disableError:"Failed to disable plugin",uninstallSuccess:"Plugin uninstalled successfully",uninstallError:"Failed to uninstall plugin",marketplaceAddSuccess:"Marketplace added successfully",marketplaceAddError:"Failed to add marketplace",marketplaceSyncSuccess:"Marketplace synced successfully",marketplaceSyncError:"Failed to sync marketplace",marketplaceRemoveSuccess:"Marketplace removed successfully",marketplaceRemoveError:"Failed to remove marketplace"},detail:{back:"Back",root:"Root",noDescription:"No description available",version:"Version",author:"Author",license:"License",components:"Components",type:"Type",name:"Name",description:"Description",actions:"Actions",viewEntryFile:"View entry file",browseDirectory:"Browse directory",noComponents:"No components found",loadFailed:"Failed to load plugin details",componentTypes:{command:"Command",agent:"Agent",skill:"Skill",hook:"Hook",mcp:"MCP Server"}}},kT={title:"Agent Skills",subtitle:"Manage and organize your agent capabilities",createButton:"Create Skill",noSkills:"No skills created yet",noSkillsSearch:"No skills found matching your filters",createFirst:"Create Your First Skill",searchPlaceholder:"Search skills...",filter:{showDisabled:"Show disabled"},scope:{user:"User",project:"Project"},status:{enabled:"Enabled",disabled:"Disabled"},create:{title:"Create New Skill",subtitle:"Define a new capability for your AI agents",steps:{basic:"Basic Info",content:"Content",preview:"Preview"},basic:{name:"Skill Name",namePlaceholder:"my-awesome-skill",nameHint:"Use lowercase letters, numbers, and hyphens only (max 64 characters)",description:"Description",descriptionPlaceholder:"Brief description of what this skill does and when to use it",descriptionHint:"Include both what the skill does and when Claude should use it (max 1024 characters)",allowedTools:"Allowed Tools",allowedToolsPlaceholder:"Read, Write, Grep (comma-separated)",allowedToolsHint:"Tools this skill can use without asking for permission. Leave empty for default behavior.",selectTools:"Select Tools",noToolsSelected:"No tools selected"},content:{skillManifest:"SKILL.md Content",additionalFiles:"Additional Files",addFile:"Add File",noFiles:"No additional files",noFilesHint:"Add files to extend your skill functionality",fileName:"File name",filePath:"Path/to/file",fileContent:"File content",fileType:{markdown:"Markdown",text:"Text",script:"Script",template:"Template",other:"Other"}},preview:{title:"Skill Preview",name:"Name:",description:"Description:",scope:"Scope:",allowedTools:"Allowed Tools:",additionalFiles:"Additional Files:",none:"None",fileCount:"{{count}} file(s)",previewContent:"SKILL.md Preview:",noContent:"(no content)"}},editor:{title:"Edit Skill",basic:{name:"Name",description:"Description",allowedTools:"Allowed Tools",allowedToolsHint:"Tools this skill can use without asking for permission. Leave empty for default behavior.",skillContent:"SKILL.md Content",validationErrors:"Validation Errors:",unsavedChanges:"You have unsaved changes. Press Cmd+S to save."},files:{title:"Additional Files",addFile:"Add File",noFiles:"No additional files",addFilesHint:"Add files to extend your skill functionality"},scope:{user:"User Skill"},errors:{validationErrors:"Validation Errors:",saveFailed:"Failed to save skill. Please try again."}},preview:{title:"Skill Content",usageStats:"Usage Statistics",usage:"Used {{count}} time{{count, plural, one {} other{s}}",lastUsed:"Last used",created:"Created:",updated:"Updated:",scope:"Scope:",userScopeDesc:"Personal (across all projects)",projectScopeDesc:"Project: Current",actions:{edit:"Edit",enable:"Enable",disable:"Disable",delete:"Delete"}},errors:{loadFailed:"Error loading skills",deleteFailed:"Failed to delete skill. Please try again.",toggleFailed:"Toggle functionality will be implemented in the API",createFailed:"Failed to create skill. Please try again."},deleteConfirm:'Are you sure you want to delete "{{name}}"?',usage:{customInstructions:"Custom instructions",toolPermissions:"Tool permissions"}},ET={nav:mT,footer:pT,login:gT,landing:hT,agents:yT,projects:vT,chat:bT,dashboard:ST,settings:xT,analytics:wT,mcp:CT,commands:AT,plugins:TT,skills:kT},NT="AgentStudio",MT="Select an AI assistant to start working",jT="Loading...",DT="Available Assistants",RT="Disabled Assistants",OT="{{count}} assistants",zT="Create Custom Assistant",PT="Custom assistant feature coming soon!",LT="No Available Assistants Yet",UT="Enable some built-in assistants or create your own custom assistants to get started",_T="Manage Assistants",FT="Start Using",BT="Edit Assistant",HT="Disable Assistant",qT="Enable Assistant",VT="Disabled",GT="Enable Assistant",KT={slides:"Slides",chat:"Chat","claude-code":"Claude Code"},IT={toggleFailed:"Operation failed, please try again"},YT={title:NT,subtitle:MT,loading:jT,availableAgents:DT,disabledAgents:RT,agentCount:OT,createCustomAgent:zT,customAgentComingSoon:PT,noAgentsTitle:LT,noAgentsDescription:UT,manageAgents:_T,startUsing:FT,editAgent:BT,disableAgent:HT,enableAgent:qT,disabledStatus:VT,enableAgentButton:GT,componentTypes:KT,errors:IT},QT={enabled:"Enabled",disabled:"Disabled"},XT={name:"Project Name",nameRequired:"Project Name *",namePlaceholder:"Enter project name",description:"Project Description",descriptionPlaceholder:"Briefly describe the purpose of this project...",directory:"Project Directory",directoryNote:"A new folder will be created under this directory",agentType:"Select Assistant Type *",agentTypePlaceholder:"Choose an assistant type"},ZT={name:"Assistant Name",namePlaceholder:"Enter assistant name",description:"Assistant Description",descriptionPlaceholder:"Describe the assistant's capabilities...",systemPrompt:"System Prompt",systemPromptPlaceholder:"Enter system prompt...",tools:"Available Tools",selectTools:"Select Tools"},$T={editTitle:"Edit Command",createTitle:"Create Command",formMode:"Form",codeMode:"Code",saveChanges:"Save Changes",createCommand:"Create Command",nameLabel:"Command Name",nameHint:"Can only contain letters, numbers, underscores, and hyphens",modelLabel:"Specify Model",inheritModel:"Inherit conversation settings",modelHint:"Specify a specific AI model for this command.",namespaceLabel:"Namespace",namespaceHint:"Used to organize commands, can include / separator",argumentHintLabel:"Argument Hint",argumentHintHint:"Argument hint displayed in autocomplete",descriptionLabel:"Description",descriptionPlaceholder:"Optimize code performance and readability",descriptionHint:"Brief description of the command, will use the first line of content if not provided",allowedToolsLabel:"Allowed Tools",selectTools:"Select Tools",regularToolsCount:"{{count}} regular tools",mcpToolsCount:"{{count}} MCP tools",allowedToolsHint:"Leave empty to inherit conversation permissions",contentLabel:"Command Content",contentPlaceholder:`Analyze performance issues in this code and provide optimization suggestions:
189
+
190
+ Use arguments: $ARGUMENTS
191
+ Use first argument: $1
192
+ Use second argument: $2
193
+
194
+ Reference file: @src/utils/helpers.js
195
+ Execute command: !\`git status\``,supportedFeatures:"Supported Features:",features:{arguments:"Get all arguments",positionArgs:"Get argument at specific position",fileRef:"Reference file content",bashCommand:"Execute bash command and include output"},markdownSource:"Markdown Source",markdownPlaceholder:`---
196
+ description: Optimize code performance and readability
197
+ argument-hint: [filename] [options]
198
+ namespace: frontend
199
+ allowed-tools: Read, Write, Edit
200
+ model: claude-3-5-sonnet-20241022
201
+ ---
202
+
203
+ Analyze performance issues in this code and provide optimization suggestions:
204
+
205
+ Use arguments: $ARGUMENTS
206
+ Use first argument: $1
207
+ Use second argument: $2
208
+
209
+ Reference file: @src/utils/helpers.js
210
+ Execute command: !\`git status\``,frontmatterSupported:"Supported Frontmatter Fields:",frontmatterFields:{description:"Command description",argumentHint:"Argument hint",namespace:"Namespace",allowedTools:"Allowed tools (comma separated)",model:"Specify model"},exampleDescription:"Optimize code performance and readability",exampleContent:`Analyze performance issues in this code and provide optimization suggestions:
211
+
212
+ Use arguments: $ARGUMENTS
213
+ Use first argument: $1
214
+ Use second argument: $2
215
+
216
+ Reference file: @src/utils/helpers.js
217
+ Execute command: !\`git status\``,errors:{nameRequired:"Command name is required",nameFormat:"Command name can only contain letters, numbers, underscores, and hyphens",contentRequired:"Command content is required",scopeRequired:"Please select command scope",saveFailed:"Save failed"}},JT={title:"File Explorer",searchPlaceholder:"Search files...",uploadButton:"Upload File",createFolder:"New Folder",rename:"Rename",deleteFile:"Delete File",downloadFile:"Download File",noFiles:"No files",loading:"Loading files...",loadFailed:"Failed to load project files",retry:"Retry",projectPath:"Project path",emptyDirectory:"Project directory is empty",selectFile:"Select a file to preview",previewNotSupported:"Preview not supported for this file type",fileLabel:"File",imageLoadFailed:"Failed to load image",cannotReadFile:"Unable to read file content",noOpenFiles:"No open files",moreTabsCount:"{{count}} more tabs",pinnedTab:"pinned",temporaryTab:"temporary",closeTab:"Close tab",noProject:"No Project Selected",selectProjectFirst:"Please select a project first to browse files",collapsePanel:"Collapse directory panel",expandPanel:"Expand directory panel"},WT={title:"Session Management",sessionHistory:"Session History",searchPlaceholder:"Search sessions...",noSessions:"No sessions",noSessionHistory:"No session history",noMatchingSessions:"No matching sessions found",sessionWillAppear:"Sessions will appear after you start chatting",messageCount:"{{count}} messages",newSession:"New Session",deleteSession:"Delete Session",renameSession:"Rename Session"},ek={title:"Tool Selector",searchPlaceholder:"Search tools...",noTools:"No tools available",selectedTools:"Selected Tools",selectButton:"Select Tools",toolsCount:"{{count}} regular tools",mcpToolsCount:"{{count}} MCP tools"},tk={title:"Language",chinese:"中文",english:"English"},ak={newSession:"New Session",sessionHistory:"Session History",refreshMessages:"Refresh Messages",messagesRefreshed:"Messages refreshed",loadingMessages:"Loading messages...",currentSession:"Current Session",imagePreview:"Preview",deleteImage:"Delete Image",dropImageHere:"Drop images here",sendImage:"Sent an image",addDescription:"Add description text... (optional)",inputPlaceholder:"Type your message... (Shift+Enter for new line, Enter to send, / for commands)",inputPlaceholderMobile:"Type message...",toolSelection:"Tool Selection",imageSelection:"Image Selection",selectedCount:"{{count}} selected",stop:"Stop",send:"Send",stopAi:"Stop AI",aiTyping:"AI is typing",noContent:"No content to send",unknownCommand:"Unknown command",sendMessage:"Send message",newMessages:"new messages",scrollToLatest:"View Latest Messages",permissionMode:{default:"Default",acceptEdits:"Accept Edits",bypassPermissions:"Bypass Permissions",plan:"Plan Mode"},model:{sonnet:"Sonnet",opus:"Opus"},claudeVersion:{title:"Select Supplier",default:"Default",custom:"Custom",system:"System",locked:"Supplier Locked (Active Session)"},settings:{title:"Settings",permissionMode:"Permission Mode",claudeVersion:"Supplier",model:"Model",modelAndVersion:"Supplier & Model",noSettings:"No settings available"},envVars:{title:"Environment Variables",add:"Add Variable",key:"Key",value:"Value",save:"Save",cancel:"Cancel",edit:"Edit",delete:"Delete",noVars:"No environment variables set"},commandWarning:"Unknown command: {{command}}. Available commands: {{commands}}",navigateTo:"Navigate to: {{path}}",errorMessages:{claudeCodeSDKError:"❌ **Claude Code SDK Error**",parseError:"An error occurred while parsing response data. This may be caused by network interruption or abnormal server response format.",timeout:"Request processing timeout. Server response time is too long.",unknownError:"Unknown error. Please try again later.",networkError:`❌ **Network Connection Error**
218
+
219
+ Unable to connect to AI service. Please check your network connection and try again.`,requestTimeout:`⏰ **Request Timeout**
220
+
221
+ Request processing time is too long. Please try again later.`,rateLimit:`🚫 **Rate Limit**
222
+
223
+ Too many requests. Please try again later.`,unauthorized:`🔐 **Authentication Failed**
224
+
225
+ Please check your API key configuration.`,forbidden:`⛔ **Permission Denied**
226
+
227
+ No permission to perform this operation.`,internalServerError:`🔧 **Internal Server Error**
228
+
229
+ The server encountered a problem. Please try again later.`,connectionFailed:`❌ **Connection Failed**
230
+
231
+ Unable to connect to AI service. Please check your network connection and try again.`,connectionTimeout:`⏰ **Connection Timeout**
232
+
233
+ Connection to server timed out. Please try again later.`,suggestions:"**Suggested Actions:**",checkNetwork:"Check network connection",retryMessage:"Retry sending message",simplifyRequest:"Simplify request content",refreshPage:"Refresh page and retry",contactAdmin:"Contact administrator if the issue persists"},sessionResumed:"🔄 **Session Resumed**",sessionIdUpdated:"*Session ID has been automatically updated, history has been reloaded*",taskComplete:"✅ Task Complete",executionCompleted:"(Execution Completed)",genericError:"Sorry, an error occurred while processing your request.",unknownCommandWarning:"Unknown command: /{{command}}. Available commands: {{commands}}",commandsLoadErrorWarning:"Command: /{{command}} not found. User/project commands failed to load ({{errorMessage}}). Available system commands: {{commands}}. Please check if you are properly logged in.",navigateToAlert:"Navigate to: {{path}}",generationStopped:"⏹️ Generation stopped",stopping:"Stopping...",stopFailed:"❌ **Stop Failed**",initializingSession:"Initializing new session, please wait...",fileBrowser:{title:"Select File - {{projectPath}}",currentProject:"Current Project"},maxTurnsReached:"⏱️ **Maximum turns reached**",permissionDenials:"⚠️ **Permission Denied Operations:**",permissionNote:"💡 Some operations require user permission confirmation to execute.",executionError:`❌ **Error During Execution**
234
+
235
+ Please check your input or try again later.`,processingError:`❌ **Processing Error**
236
+
237
+ Please try again later or check your input.`,processingComplete:"✅ **Processing Complete**",maxBudgetReached:`💰 **Maximum Budget Reached**
238
+
239
+ The cost limit for this session has been exceeded.`,maxRetriesReached:`🔄 **Maximum Retries Reached**
240
+
241
+ Failed to get a valid response after multiple attempts.`},nk={init:{name:"init",description:"Initialize project or reset conversation context"},clear:{name:"clear",description:"Clear current conversation history"},compact:{name:"compact",description:"Compact conversation history, keep key information"},agents:{name:"agents",description:"Manage AI agents and subagents"},settings:{name:"settings",description:"Open settings page"},help:{name:"help",description:"Show help information"}},lk={title:"Memory Management"},ik={title:"Commands Management"},ok={title:"SubAgents Management"},sk={title:"Active Sessions",activeCount:"Currently active: {{count}} sessions",loadingMessage:"Loading session information...",status:{pending:"Pending",active:"Active",idle:"Idle"},labels:{session:"Session",agent:"Agent",project:"Project",activity:"Activity"},time:{hoursMinutes:"{{hours}}h {{minutes}}m",minutesSeconds:"{{minutes}}m {{seconds}}s",seconds:"{{seconds}}s"},heartbeat:{none:"No heartbeat",timeout:"Heartbeat timeout"},actions:{openChat:"Open chat window",cleanup:"Cleanup session"},errors:{loadFailed:"Failed to load session information",cleanupFailed:"Failed to cleanup session, please retry",navigationFailed:"Navigation failed, fallback applied"},empty:{noSessions:"No active sessions",startChatHint:"Start a conversation with an assistant to create a session"}},rk={title:"Select File or Directory",emptyDirectory:"This directory is empty",toolbar:{homeDirectory:"Home Directory",parentDirectory:"Parent Directory",loadingPath:"Loading...",newDirectory:"New Directory",showHidden:"Show Hidden Files",hideHidden:"Hide Hidden Files",restrictedToProject:"Restricted to project directory"},table:{name:"Name",size:"Size",modified:"Modified",actions:"Actions"},actions:{select:"Select",cancel:"Cancel",createFolder:"Create Folder",creating:"Creating...",preview:"Preview",previewCSV:"Preview CSV File",previewJSONL:"Preview JSONL File"},dialog:{newFolder:"New Folder",createAt:"Create new directory at:",folderName:"Folder Name",folderNamePlaceholder:"Enter folder name"},footer:{itemsCount:"{{count}} items"},errors:{error:"Error",loadFailed:"Failed to load directory",browseFailed:"Failed to browse directory",createFailed:"Failed to create directory"}},ck={loading:"Loading CSV file...",info:{rowCount:"{{count}} rows total",filtered:"filtered"},search:{placeholder:"Search CSV content..."},table:{untitled:"Untitled"},empty:{noData:"No data to display"},pagination:{showing:"Showing {{start}}-{{end}} of {{total}}",previous:"Previous",next:"Next"},actions:{close:"Close",download:"Download",maximize:"Maximize",minimize:"Minimize"},errors:{title:"Preview Error",loadFailed:"Failed to load CSV file",unknownError:"Unknown error"},instructions:"Arrow keys to navigate • Ctrl+F to search • ESC to close"},uk={loading:"Loading JSONL file...",info:{recordCount:"{{count}} records total",errorCount:"{{count}} parse errors",filtered:"filtered"},search:{placeholder:"Search JSONL content..."},empty:{noData:"No data to display"},pagination:{showing:"Showing {{start}}-{{end}} of {{total}}",previous:"Previous",next:"Next"},actions:{close:"Close",download:"Download",maximize:"Maximize",minimize:"Minimize",copy:"Copy"},errors:{title:"Preview Error",loadFailed:"Failed to load JSONL file",unknownError:"Unknown error",parseError:"JSON parse error"},instructions:"Click to expand • Arrow keys to navigate • Ctrl+F to search • ESC to close"},dk={title:"Tool Selection",tabs:{regular:"Regular Tools",mcp:"MCP Tools"},selectAll:"Select All",preset:"Preset",enableMcpTools:"Enable MCP Tools",loading:"Loading...",noMcpServers:"No MCP servers available",toolsCount:"{{count}} tools",serverUnavailable:"Server unavailable"},fk={title:{create:"Create Subagent",edit:"Edit Subagent"},mode:{form:"Form",code:"Code"},actions:{cancel:"Cancel",create:"Create Subagent",saving:"Saving...",saveChanges:"Save Changes"},codeMode:{title:"Code Mode",description:"In this mode, you can directly edit the Markdown format subagent file, including YAML frontmatter and system prompt content.",label:"Subagent File Content",placeholder:`---
242
+ name: my-subagent
243
+ description: A subagent specialized for handling specific tasks
244
+ tools: read_file, write, search_replace
245
+ ---
246
+
247
+ You are an AI assistant specialized in...
248
+
249
+ Your task is to...
250
+
251
+ Please ensure...
252
+
253
+ When encountering..., you should...`},fields:{name:{label:"Name *",placeholder:"my-subagent"},scope:{label:"Scope",projectScope:"Project Subagent"},description:{label:"Description *",placeholder:"Describe the purpose of this subagent and when it should be invoked"},tools:{label:"Allowed Tools",selectTools:"Select Tools",regularToolsCount:"{{count}} regular tools",mcpToolsCount:"{{count}} MCP tools",hint:"Leave empty to inherit all available tools"},content:{label:"System Prompt *",placeholder:`You are an AI assistant specialized in...
254
+
255
+ Your task is to...
256
+
257
+ Please ensure...
258
+
259
+ When encountering..., you should...`}},validation:{nameRequired:"Name is required",nameFormat:"Name can only contain lowercase letters, numbers, and hyphens",descriptionRequired:"Description is required",contentRequired:"System prompt is required"},errors:{saveFailed:"Save failed"}},mk={systemCommands:{init:{description:"Initialize project or reset conversation context"},clear:{description:"Clear current conversation history"},compact:{description:"Compact conversation history, keep key information"},agents:{description:"Manage AI agents and subagents"},settings:{description:"Open settings page"},help:{description:"Show help information"}}},pk={title:"API Server Settings",fields:{address:"API Server Address",addressPlaceholder:"http://localhost:4936 or https://your-domain.com"},actions:{test:"Test",reset:"Reset",cancel:"Cancel",save:"Save"},quickSelect:{title:"Quick Select:",localDev:"Local Development",officialServer:"Official Server"},status:{label:"Connection Status",success:"Connected",error:"Connection Failed",untested:"Not Tested"},instructions:{title:"Instructions:",localDev:"Use for local development",production:"Use your server domain for production",cors:"Ensure the server supports CORS access",refresh:"The page will refresh automatically after changes"},errors:{serverError:"Server response error: {{status}} {{statusText}}",connectionFailed:"Connection failed: {{message}}",connectionFailedUnknown:"Connection failed: Unknown error",enterAddress:"Please enter API server address"},saveSuccess:"Settings saved, the page will refresh to apply new settings"},gk={title:"Project Commands Management",loading:"Loading project commands...",searchPlaceholder:"Search commands...",createButton:"New Command",error:{title:"Load Failed",message:"Unable to load project commands",retry:"Retry",close:"Close"},emptyState:{noCommandsTitle:"No project commands yet",noCommandsDescription:"Create dedicated Slash Commands for this project",noMatchTitle:"No matching commands found",noMatchDescription:"Try adjusting your search criteria"},table:{command:"Command",model:"Model",tools:"Tools",createdAt:"Created",actions:"Actions",inheritSettings:"Inherit conversation settings",toolsCount:"{{count}} tools"},actions:{edit:"Edit",editTooltip:"Edit command",deleteTooltip:"Delete command"},deleteConfirm:{title:"Delete Command",message:'Are you sure you want to delete command "/{{name}}"? This action cannot be undone.',cancel:"Cancel",confirm:"Delete",deleting:"Deleting..."}},hk={title:"Project Subagent Management",loading:"Loading project subagents...",searchPlaceholder:"Search subagents...",error:{loadFailed:"Load Failed",loadFailedMessage:"Unable to load project subagents"},actions:{retry:"Retry",close:"Close",create:"New Subagent",edit:"Edit",editTooltip:"Edit Subagent",delete:"Delete",deleteTooltip:"Delete Subagent",cancel:"Cancel"},emptyState:{noSubagents:"No Project Subagents Yet",noResults:"No Matching Subagents Found",tryAdjust:"Try adjusting your search criteria",description:"Create specialized AI subagents for this project to handle specific tasks"},table:{subagent:"Subagent",tools:"Tools",createdAt:"Created",actions:"Actions",toolsCount:"{{count}} tools",inheritSettings:"Inherit conversation settings"},deleteConfirm:{title:"Confirm Delete",message:'Are you sure you want to delete subagent "<strong>{{name}}</strong>"?',warning:"This action cannot be undone."}},yk={selectProjectDirectory:"Select Project Directory",projectActions:"Project Actions",quickCreateProject:"Quick Create Project",creatingProject:"Creating project...",quickCreateDescription:"Automatically create in ~/claude-code-projects",customLocationCreate:"Custom Location Create",customLocationDescription:"Choose directory and project name",browseProject:"Browse Projects",browseDescription:"Select project directory via file browser",importProject:"Import Project",importDescription:"Import existing project directory",importProjectFailed:"Failed to import project",recentProjects:"Recent Projects",loadingProjects:"Loading projects...",lastAccessed:"Last accessed: {{date}}",noRecentProjects:"No recent projects",createProjectToStart:"Create a new project to get started",cancel:"Cancel",selectParentDirectory:"Select Parent Directory for New Project",createProjectFailed:"Failed to create project: {{error}}",unknownError:"Unknown error",importConfirmation:`This directory is not yet a project for {{agentName}}.
260
+
261
+ Do you want to import this directory as a new project?
262
+
263
+ Path: {{path}}`,dialog:{createNewProject:"Create New Project",projectWillBeCreatedAt:"Project will be created in the following directory:",projectName:"Project Name",projectNamePlaceholder:"Enter project name",cancel:"Cancel",createProject:"Create Project"}},vk={image:"Image ({{mimeType}})",resource:"Resource",uri:"URI",name:"Name",description:"Description",type:"Type",unknownType:"Unknown type ({{type}})",errorMessage:"Error message:",executionResult:"Execution result:",progress:"Progress: {{current}} / {{total}}",subtitle:"MCP: {{toolName}} @ {{serverName}}",parameters:"Parameters"},bk={executing:"Executing...",executionError:"Execution error",timeout:"Timeout: {{timeout}}ms"},Sk={readFile:"Read file",startLine:"Start line",readLines:"Read lines"},xk={filePath:"File path",fileSize:"File size: {{size}} characters"},wk={editFile:"Edit file",replaceAll:"Replace all",yes:"Yes"},Ck={noFilesFound:"No matching files found",patternLabel:"Pattern",pathLabel:"Search path",matchingResults:"Matching results:"},Ak={noMatchesFound:"No matches found",matchStatistics:"Match statistics",patternLabel:"Search pattern",pathLabel:"Search path",globLabel:"File filter",typeLabel:"File type",outputModeLabel:"Output mode",ignoreCase:"Ignore case",showLineNumbers:"Show line numbers",afterLines:"After {{count}} lines",beforeLines:"Before {{count}} lines",contextLines:"Context {{count}} lines",multilineMode:"Multiline mode",searchResults:"Search results:"},Tk={urlLabel:"URL:",analysisPromptLabel:"Analysis prompt",truncated:"...(truncated)",webAnalysisResult:"Web analysis result:"},kk={searchQueryLabel:"Search query",allowedDomains:"Allowed domains:",blockedDomains:"Blocked domains:",searchResults:"Search results:"},Ek={taskDescriptionLabel:"Task description",taskPromptLabel:"Task prompt",truncated:"...(truncated)",totalLength:"Total length: {{length}} characters",agentType:"Agent Type",model:"Model",resumeTask:"Resume Task",fromPreviousExecution:"Continue from previous execution",executing:"Sub-agent is executing...",executingWithModel:"Executing with {{model}} model...",toolCallCount:"{{count}} tool calls",partsReceived:"parts received",status:{completed:"Completed",failed:"Failed",cancelled:"Cancelled"}},Nk={title:"Sub-agent Message Flow",messageCount:"{{count}} messages",toolCount:"{{count}} tool calls",taskInput:"Task Input",subAgent:"Sub-agent",thinking:"Thinking...",expand:"Show more",collapse:"Show less"},Mk={toolName:"Skill",skillName:"Skill Name",commandName:"Command Name",unknownSkill:"Unknown Skill",loading:"Loading skill...",launched:"Skill launched"},jk={allTasksCompleted:"All tasks completed",currentTaskProgress:"{{completed}}/{{total}} {{task}}",pendingTasks:"{{completed}}/{{total}} pending tasks",completedCount:"Completed: {{count}}",inProgressCount:"In progress: {{count}}",pendingCount:"Pending: {{count}}"},Dk={implementationPlan:"Implementation Plan:",planModeExited:"Plan mode exited, ready to start implementation"},Rk={notebookPath:"Notebook path",insert:"Insert",delete:"Delete",replace:"Replace",code:"Code",markdown:"Markdown",cellId:"Cell ID",newContent:"New content",truncated:"...(truncated)"},Ok={unknownToolType:"Unknown tool type"},zk={executionResult:"Execution result:",interrupted:"Interrupted"},Pk={shellPrefix:"Shell",exitCode:"Exit code",stdout:"Standard output",stderr:"Error output",fetchingOutput:"Fetching output for Shell {{shellId}}...",filterCondition:"Filter condition",status:{running:"Running",completed:"Completed",killed:"Killed",failed:"Execution failed"}},Lk={subtitle:"Kill Shell {{shellId}}",subtitleWithProcess:"Kill Shell {{shellId}} ({{processName}})",shellId:"Shell ID",status:{terminating:"Terminating process...",success:"Process successfully terminated",failed:"Failed to terminate process",ready:"Ready to terminate process"}},Uk={directoryPath:"Directory path",ignorePatterns:"Ignore patterns",directoryStructure:"Directory structure:"},_k={title:"Time Machine",description:"Rewind to previous conversation state and apply corrections",targetMessage:"Target Message",correction:"Correction",restoreCode:"Restore Code",result:"Result",rewinding:"Rewinding...",error:"Time machine execution failed"},Fk={title:"Ask User Question",description:"The AI assistant needs your input to continue. Please answer the questions below.",questionCount:"{{count}} question(s)",multiSelect:"Multi-select",userResponse:"Your Response",waitingForResponse:"Waiting for your response...",error:"Failed to submit response",interactionHint:"This interaction component requires manual input",submit:"Submit Answer",submitting:"Submitting...",completed:"Response submitted",typeSomething:"Type something...",typeSomethingPlaceholder:"Enter your custom response",yourAnswer:"Your answer",customAnswer:"Custom answer"},Bk={filePath:"File path",batchEdit:"Batch edit ({{count}} operations):",operation:"Operation #{{number}}",replaceAll:"Replace all"},Hk={notebookPath:"Notebook path",cellId:"Cell ID"},qk={send:"Send",stop:"Stop",stopping:"Stopping...",sendMessage:"Send message",stopGeneration:"Stop generation",aiTyping:"AI is typing",noContentToSend:"No content to send",unknownCommand:"Unknown command",noMessages:"No messages yet",startConversation:"Start a new conversation",newMessages:"New messages",initializingSession:"Initializing session...",errors:{jsonParseError:`An error occurred while parsing response data. This may be caused by network interruption or abnormal server response format.
264
+
265
+ **Suggested Actions:**
266
+ - Check network connection
267
+ - Resend message
268
+ - Contact administrator if the issue persists`,timeoutError:`Request processing timeout. Server response time is too long.
269
+
270
+ **Suggested Actions:**
271
+ - Simplify request content
272
+ - Try again later
273
+ - Check network connection status`,suggestedActions:"Suggested Actions",resendMessage:"Resend message",refreshPage:"Refresh page and retry",unknownError:"Unknown error",networkError:`❌ **Network Connection Error**
274
+
275
+ Unable to connect to AI service. Please check your network connection and try again.`,requestTimeout:`⏰ **Request Timeout**
276
+
277
+ Request processing time is too long. Please try again later.`,rateLimit:`🚫 **Rate Limit**
278
+
279
+ Too many requests. Please try again later.`,unauthorized:`🔐 **Authentication Failed**
280
+
281
+ Please check your API key configuration.`,forbidden:`⛔ **Permission Denied**
282
+
283
+ No permission to perform this operation.`,internalServerError:`🔧 **Internal Server Error**
284
+
285
+ The server encountered a problem. Please try again later.`,processingError:"Processing Error",unknownErrorRetry:"Unknown error. Please try again later.",connectionFailed:`❌ **Connection Failed**
286
+
287
+ Unable to connect to AI service. Please check your network connection and try again.`,networkConnectionFailed:`🌐 **Network Connection Failed**
288
+
289
+ Unable to connect to server. Please check your network connection.`,connectionTimeout:`⏰ **Connection Timeout**
290
+
291
+ Connection to server timed out. Please try again later.`,connectionError:"Connection Error",cannotConnectRetry:"Unable to connect to AI service. Please try again later.",contextWindowError:`📏 **Context Window Limit Exceeded**
292
+
293
+ The conversation has become too long. Please start a new session or use the /compact command to reduce context.`,checkBudget:"Check your budget settings and cost limits",increaseMaxTurns:"Increase the maximum turns in agent settings"}},Vk={title:"Recent Activity",empty:"No recent activity",time:{justNow:"Just now",minutesAgo:"{{count}} minutes ago",minutesAgo_one:"{{count}} minute ago",hoursAgo:"{{count}} hours ago",hoursAgo_one:"{{count}} hour ago",daysAgo:"{{count}} days ago",daysAgo_one:"{{count}} day ago"}},Gk={title:"Backend Services",noService:"No Service",namePlaceholder:"Service Name",urlPlaceholder:"Service URL",add:"Add",save:"Save",cancel:"Cancel",edit:"Edit",delete:"Delete",addNew:"Add New Service",testingConnection:"Testing connection...",connectionWarning:{title:"Unable to Connect to Service",message:'Cannot connect to service "{{name}}" ({{url}}).',consequence:"If you continue switching, you won't be able to login or use this service, but you can reconfigure the service address on the login page.",cancel:"Cancel",continue:"Switch Anyway"}},Kk={checking:"Checking...",connected:"Connected",disconnected:"Disconnected",manageServices:"Manage Services",quickSwitch:"Quick Switch Services",version:"Version",backendName:"Backend Name",status:"Status",clickToSwitch:"Click service name to quickly switch",clickToManage:"Click the gear icon to manage services"},Ik={title:"Service Management",noService:"No Service",servicesList:"Services List",addService:"Add Service",current:"Current",testConnection:"Test Connection",switchToService:"Switch to This Service",editService:"Edit Service",removeService:"Remove Service",refreshStatus:"Refresh Status",servicesOnline:"services online",close:"Close",namePlaceholder:"Service Name",urlPlaceholder:"Service URL (e.g., http://localhost:4936)",version:"Version",add:"Add",save:"Save",cancel:"Cancel",addNewService:"Add New Service",switchSuccess:"Switched to service: {{name}}",addSuccess:"Service added successfully",updateSuccess:"Service updated successfully",removeSuccess:"Service removed successfully",logoutService:"Logout from this service",logoutSuccess:"Logged out successfully",managePassword:"Manage Password",password:{title:"Access Password Management",description:"After setting a password, you will need to enter it when logging in. Leave empty and save to clear the password for passwordless login.",checking:"Checking...",currentlySet:"Password is currently set",currentlyNotSet:"No password set, passwordless login enabled",newPassword:"New Password",newPasswordPlaceholder:"Enter new password (leave empty to clear)",confirmPassword:"Confirm Password",confirmPasswordPlaceholder:"Re-enter password",save:"Save Password",mismatch:"Passwords do not match",tooShort:"Password must be at least 4 characters",setSuccess:"Password set successfully, will take effect on next login",clearSuccess:"Password cleared, passwordless login is now enabled",saveFailed:"Failed to save password"},connectionTest:{success:"Connection test successful",failed:"Connection test failed",error:"Connection test error"},switchWarning:{title:"Service Connection Warning",message:'Service "{{name}}" ({{url}}) cannot be connected.',consequence:"If you continue switching, you may not be able to use certain features properly.",cancel:"Cancel",continue:"Switch Anyway"}},Yk={detecting:{title:"Detecting Claude CLI",description:"Checking if Claude is installed on your system..."},selection:{title:"Select Claude Version",description:"We detected the following Claude CLI installations, please select which one to use",userInstalled:"User Global Installation",systemInstalled:"System npm Package",path:"Path",version:"Version",packageManager:"Package Manager",useUserInstalled:"Use User-Installed Claude",useUserInstalledDesc:"Use the Claude CLI installed globally via package manager",useSystemPackage:"Use System npm Package",useSystemPackageDesc:"Use the Claude CLI bundled in project's node_modules",noClaudeFound:"No Claude CLI Found",noClaudeFoundDesc:"Please install Claude CLI or ensure project dependencies are properly installed"},config:{title:"Configure Authentication",description:"Choose how to configure Claude authentication credentials",skipToken:"Skip Configuration (Recommended)",skipTokenDesc:"Skip authentication setup, works the same as Claude Pro subscription",claudePro:"Claude Pro Subscriber",claudeProDesc:"I'm a Claude Pro subscriber, will login via CLI myself",enterToken:"Enter Token Manually",enterTokenDesc:"Manually enter ANTHROPIC_AUTH_TOKEN environment variable",tokenPlaceholder:"Enter your ANTHROPIC_AUTH_TOKEN"},creating:{title:"Creating System Version",description:"Configuring Claude version for you, please wait..."},success:{title:"Setup Successful!",description:"Claude version has been created successfully, returning to dashboard..."},actions:{skip:"Skip",next:"Next",back:"Back",create:"Create Version"}},Qk={title:"A2A Protocol Management",project:"Project",selectedProject:"Project: {{project}}",noProjectSelected:"No project selected",tabs:{overview:"Overview",apiKeys:"API Keys",external:"External Agents",tasks:"Tasks"},actions:{copy:"Copy",createKey:"Create Key",cancel:"Cancel",delete:"Delete",edit:"Edit",enable:"Enable",disable:"Disable",hide:"Hide",show:"Show",addAgent:"Add Agent",importProjects:"Import Projects",copyKey:"Copy Key",close:"Close"},overview:{agentIdentity:"Agent Identity",a2aAgentId:"A2A Agent ID",projectId:"Project ID",agentType:"Agent Type",agentCard:"Agent Card",apiKeys:"API Keys",externalAgents:"External Agents",activeTasks:"Active Tasks",notEnabled:"A2A functionality is not enabled for this project",enableAfterCreatingKey:"Automatically enabled after creating API key"},agentCard:{context:"Agent Context",skills:"Available Skills",security:"Security Authentication"},apiKeys:{title:"API Key Management",noKeys:"No API keys yet",createFirstKey:"Create First API Key",description:"Description",key:"Key",createdAt:"Created",lastUsed:"Last Used",usageCount:"Usage Count",actions:"Actions",showKey:"Show key",hideKey:"Hide key",keyCopied:"Key copied"},external:{title:"External Agent Configuration",noAgents:"No external agents configured yet",addFirstAgent:"Add First External Agent",enabled:"Enabled",disabled:"Disabled",form:{name:"Agent Name",namePlaceholder:"e.g., Data Analysis Agent",url:"URL",urlPlaceholder:"https://agent.example.com/a2a/uuid",apiKey:"API Key",apiKeyPlaceholder:"agt_proj_external_key_here",description:"Description",descriptionPlaceholder:"Optional description of agent functionality",enableThisAgent:"Enable this agent",urlHelp:"Must be a complete HTTP or HTTPS URL"},modal:{addTitle:"Add External Agent",editTitle:"Edit External Agent",saveChanges:"Save Changes",addAgent:"Add Agent"},importModal:{title:"Import Projects",description:"Select projects to import. The system will automatically generate API keys for these projects and add them to the current project's external agent list.",noProjects:"No projects available to import",selected:"Selected",import:"Import",importing:"Importing..."}},tasks:{title:"Task Monitoring",needA2AEnabled:"A2A functionality needs to be enabled first",noTasks:"No task records yet",createdAt:"Created",startedAt:"Started",completedAt:"Completed"},modals:{createKey:{title:"Create API Key",description:"Description",descriptionPlaceholder:"e.g., Production environment key",descriptionHelp:"Used to identify the purpose of this API key, max 100 characters",important:"Important",securityNote:"API keys are only shown in full once after creation. Please save them securely.",creating:"Creating..."}},validation:{descriptionRequired:"Description cannot be empty",descriptionTooLong:"Description cannot exceed 100 characters",agentNameRequired:"Agent name cannot be empty",agentNameTooLong:"Agent name cannot exceed 50 characters",urlRequired:"URL cannot be empty",invalidUrl:"Invalid URL format",apiKeyRequired:"API key cannot be empty",required:"This field is required"},confirmations:{deleteApiKey:"Are you sure you want to delete this API key? This action cannot be undone.",deleteExternalAgent:"Are you sure you want to delete this external agent? This action cannot be undone."}},Xk={common:QT,projectForm:XT,agentForm:ZT,commandForm:$T,fileExplorer:JT,sessionDropdown:WT,toolSelector:ek,languageSwitcher:tk,agentChat:ak,systemCommands:nk,projectMemory:lk,projectCommands:ik,projectSubAgents:ok,sessionsDashboard:sk,fileBrowser:rk,csvPreview:ck,jsonlPreview:uk,unifiedToolSelector:dk,subagentForm:fk,commandSelector:mk,apiSettingsModal:pk,projectCommandsModal:gk,projectSubAgentsModal:hk,projectSelector:yk,mcpTool:vk,bashTool:bk,readTool:Sk,writeTool:xk,editTool:wk,globTool:Ck,grepTool:Ak,webFetchTool:Tk,webSearchTool:kk,taskTool:Ek,subAgentMessageFlow:Nk,skillTool:Mk,todoWriteTool:jk,exitPlanModeTool:Dk,notebookEditTool:Rk,toolRenderer:Ok,baseToolComponent:zk,bashOutputTool:Pk,killBashTool:Lk,lsTool:Uk,timeMachineTool:_k,askUserQuestionTool:Fk,multiEditTool:Bk,notebookReadTool:Hk,agentChatPanel:qk,recentActivity:Vk,backendServiceSwitcher:Gk,serviceStatusIndicator:Kk,serviceManagementModal:Ik,claudeVersionSetup:Yk,a2aManagement:Qk},Zk={connectionFailed:"Network connection error, unable to connect to AI service",connectionFailedRetry:"Network connection error, unable to connect to AI service. Please check your network connection and try again",timeout:"Request timeout, please try again",serverError:"Server error, please try again later",unknownError:"Unknown error, please try again"},$k={createFailed:"Failed to create project",deleteFailed:"Failed to delete project",updateFailed:"Failed to update project",notFound:"Project not found",loadFailed:"Failed to load project",nameRequired:"Project name is required",nameInvalid:"Project name contains invalid characters"},Jk={createFailed:"Failed to create assistant",deleteFailed:"Failed to delete assistant",updateFailed:"Failed to update assistant",notFound:"The specified assistant could not be found. It may have been deleted or disabled",loadFailed:"Failed to load assistant",setFailed:"Failed to set agent",builtinCannotDelete:"Built-in assistants cannot be deleted, but can be disabled",nameRequired:"Assistant name is required"},Wk={uploadFailed:"Failed to upload file",deleteFailed:"Failed to delete file",downloadFailed:"Failed to download file",readFailed:"Failed to read file",writeFailed:"Failed to write file",notFound:"File not found",tooLarge:"File is too large"},e1={createFailed:"Failed to create session",deleteFailed:"Failed to delete session",loadFailed:"Failed to load session",notFound:"Session not found"},t1={executeFailed:"Command execution failed",notFound:"Command not found",loadFailed:"Failed to load custom commands",invalidFormat:"Invalid command format"},a1={saveFailed:"Save failed, please try again",loadFailed:"Load failed",operationFailed:"Operation failed, please try again",invalidInput:"Invalid input",permissionDenied:"Permission denied"},n1={network:Zk,project:$k,agent:Jk,file:Wk,session:e1,command:t1,common:a1},l1={pptEditor:"PPT Editor Assistant",codeAssistant:"AI Code Assistant",documentWriter:"Document Writer Assistant",generalChat:"General Chat Assistant",custom:"Custom Assistant"},i1={loading:"Loading AI assistants...",loadingProjects:"Loading projects...",loadingMcp:"Loading MCP configuration...",loadingSubagents:"Loading Subagents...",loadingCommands:"Loading commands...",loadingSession:"Loading session info...",creating:"Creating project...",notFound:"Unable to find the specified assistant",noAgents:"No AI assistants available"},o1={bash:"Command Line Tool",read:"File Read",write:"File Write",edit:"File Edit",search:"Code Search",webSearch:"Web Search",webFetch:"Web Fetch"},s1={active:"Active",inactive:"Inactive",running:"Running",stopped:"Stopped",error:"Error"},r1={createAgent:"Create Assistant",editAgent:"Edit Assistant",deleteAgent:"Delete Assistant",enableAgent:"Enable Assistant",disableAgent:"Disable Assistant",testAgent:"Test Assistant",configureAgent:"Configure Assistant"},c1={taskCompleted:"✅ Task completed",generationStopped:"⏹️ Generation stopped",sessionRestored:"🔄 Session restored",executionCompleted:"(Execution completed)"},u1={title:"Document Outline",description:"Document structure and chapter management",createSection:"New Section",featureTitle:"Document Outline Feature",comingSoon:"Coming soon...",chatManagement:"You can manage document content through chat"},d1={title:"Code Explorer",description:"Code files and structure management",projectWithPath:"Project: {{path}}",openFile:"Open File",featureTitle:"Code Explorer Feature",comingSoon:"Coming soon...",chatManagement:"You can manage code files through chat"},f1={title:"Slide Preview",refreshTitle:"Refresh Slides",refresh:"Refresh",slideCount:"{{count}} slides total",noSlides:"No slides yet",createWithAI:"Chat with AI to create slides",loading:"Loading...",loadError:"Failed to load, please refresh the page and try again",tabs:{preview:"Preview",code:"Code"},loadFailed:"Failed to load",fileNotFound:"File not found",loadingCode:"Loading code..."},m1={types:l1,messages:i1,tools:o1,status:s1,actions:r1,notifications:c1,documentOutline:u1,codeExplorer:d1,slidePreview:f1},p1={welcome:{title:"Welcome to AgentStudio",subtitle:"Before we start, we need to configure the backend service connection",features:{title:"Backend service is responsible for:",ai:{title:"AI Model Integration",description:"Connect to AI models like Claude for intelligent conversations"},storage:{title:"File Storage & Management",description:"Save your work content and project files"},history:{title:"Session History",description:"Save and manage your conversation history"}}},detecting:{title:"Detecting Backend Service",description:"Detecting local backend service..."},found:{title:"Local Backend Service Found",description:"We found an available backend service on your system",serviceAddress:"Service Address",status:"Connection OK",useThisService:"Use This Service",addOtherService:"Add Other Service"},notFound:{title:"No Local Backend Service Found",description:"Please choose one of the following options to configure backend service",tabs:{install:"Local Install",remote:"Remote Service"},install:{title:"Install Local Backend Service",description:"Follow these steps to install backend service locally:",copyCommands:"Copy Install Commands",viewDocs:"View Full Documentation",retry:"Retry Detection"},remote:{title:"Use Remote Backend Service",description:"If you have a remote service, you can configure it here",serviceName:"Service Name",serviceNamePlaceholder:"e.g., Company Server",serviceUrl:"Service URL",testConnection:"Test Connection",testing:"Testing...",success:"Connection Successful",failed:"Connection Failed",addService:"Add Service",commonServices:"Common Services:",official:"Official Service",local:"Local Service"}},complete:{title:"Configuration Complete!",description:"Successfully connected to backend service",serviceName:"Service Name",serviceUrl:"Service URL",nextSteps:{title:"Next Steps",description:"Please log in to start using AgentStudio"},goToLogin:"Go to Login",manageServices:"Manage Services"},skipConfirm:{title:"Are you sure you want to skip?",warning:"Without backend service configuration, you may experience:",consequences:{noAi:"Unable to connect to AI services",noStorage:"Unable to save work content",noFeatures:"System features unavailable"},reconfigure:"You can reconfigure at any time from:",locations:{loginPage:"Service management on login page",settingsPage:"API configuration in settings"},back:"Back to Configuration",skip:"Skip Anyway"},addService:{title:"Add Backend Service",description:"Enter the backend service address and name to connect",installHelp:"Install Help",installGuide:{title:"Local Installation Guide",description:"Follow these steps to install backend service locally:",copyCommands:"Copy Commands",viewDocs:"View Docs"},serviceName:"Service Name",serviceNamePlaceholder:"e.g., Company Server",serviceUrl:"Service URL",testConnection:"Test Connection",testing:"Testing...",success:"Connection Successful",failed:"Connection Failed",commonServices:"Common Services:",official:"Official Service",local:"Local Service",retry:"Retry Detection",addButton:"Add Service"},actions:{skip:"Skip",getStarted:"Get Started",next:"Next",back:"Back"}},g1={backend:p1},h1="Skills Management",y1="Create and manage Claude assistant skills to extend AI capabilities",v1="Create Skill",b1="Search skills by name or description...",S1={showDisabled:"Show disabled skills"},x1="No skills created yet",w1="No skills found matching your search",C1="Create your first skill",A1={user:"User Skill"},T1={local:"Local",plugin:"Plugin"},k1={enabled:"Enabled",disabled:"Disabled"},E1={skill:"Skill",tools:"Tools",status:"Status",updated:"Updated",actions:"Actions"},N1="Try adjusting your search criteria",M1={updated:"Updated",usage:"Used {{count}} times",actions:{edit:"Edit",view:"View",browseFiles:"Browse Files",delete:"Delete"}},j1={description:"Description",allowedTools:"Allowed Tools",additionalFiles:"Additional Files",browseFiles:"Browse Files",files:"Files",back:"Back",close:"Close"},D1='Are you sure you want to delete the skill "{{name}}"? This action cannot be undone.',R1={loadFailed:"Failed to load skills",createFailed:"Failed to create skill",updateFailed:"Failed to update skill",deleteFailed:"Failed to delete skill"},O1={title:"Create New Skill",subtitle:"Configure basic information and functionality for the new skill",tabs:{basic:"Basic Info",manifest:"Manifest",files:"Files"},basic:{name:"Skill Name",namePlaceholder:"Enter skill name",nameHint:"Display name for the skill, supports Chinese, English and numbers",description:"Skill Description",descriptionPlaceholder:"Detailed description of this skill's functionality and purpose",descriptionHint:"Clear description helps understand the skill's purpose",allowedTools:"Allowed Tools",allowedToolsHint:"Select tools that this skill can use",noToolsSelected:"No tools selected",selectTools:"Select Tools",unsavedChanges:"You have unsaved changes"},content:{skillManifest:"Skill Manifest",additionalFiles:"Additional Files",addFile:"Add File",noFiles:"No additional files",noFilesHint:"Click the button above to add skill-related files",fileName:"File Name",filePath:"File Path",fileContent:"File Content",fileType:{markdown:"Markdown",text:"Text",script:"Script",template:"Template",other:"Other"}}},z1={title:"Edit Skill",scope:{user:"User-level Skill"},basic:{name:"Skill Name",description:"Skill Description",allowedTools:"Allowed Tools",allowedToolsHint:"Select tools that this skill can use",skillContent:"Skill Content",unsavedChanges:"You have unsaved changes, press Cmd+S to save"},files:{title:"Additional Files",addFile:"Add File",noFiles:"No additional files",addFilesHint:"Add related files to support skill functionality"},errors:{validationErrors:"Validation Errors",saveFailed:"Failed to save skill"}},P1={title:h1,subtitle:y1,createButton:v1,searchPlaceholder:b1,filter:S1,noSkills:x1,noSkillsSearch:w1,createFirst:C1,scope:A1,source:T1,status:k1,table:E1,adjustSearch:N1,preview:M1,detail:j1,deleteConfirm:D1,errors:R1,create:O1,editor:z1},L1={"zh-CN":{common:Dw,pages:Yw,home:mC,components:hA,errors:AA,agents:zA,onboarding:LA,skills:aT},"en-US":{common:fT,pages:ET,home:YT,components:Xk,errors:n1,agents:m1,onboarding:g1,skills:P1}};Ov.use(eh).use(zv).init({resources:L1,fallbackLng:"zh-CN",defaultNS:"common",ns:["common","pages","home","components","errors","agents","onboarding","skills"],interpolation:{escapeValue:!1},detection:{order:["localStorage","navigator"],caches:["localStorage"]}});yb.createRoot(document.getElementById("root")).render(u.jsx(h.StrictMode,{children:u.jsx(ow,{})}));export{ng as L,G1 as O,Wa as a,cl as b,vl as c,Lg as d,nS as e,wi as f,Yt as g,K1 as h,V1 as i,Si as j,Y1 as r,I1 as s,Px as t,eu as u};