flujo-ai 3.18.0 → 3.20.0

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 (487) hide show
  1. package/.next/BUILD_ID +1 -1
  2. package/.next/app-build-manifest.json +252 -231
  3. package/.next/app-path-routes-manifest.json +13 -11
  4. package/.next/build-manifest.json +5 -5
  5. package/.next/prerender-manifest.json +21 -21
  6. package/.next/react-loadable-manifest.json +11 -11
  7. package/.next/routes-manifest.json +8 -0
  8. package/.next/server/app/_not-found/page.js +2 -2
  9. package/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  10. package/.next/server/app/_not-found.html +1 -1
  11. package/.next/server/app/_not-found.rsc +2 -2
  12. package/.next/server/app/api/backup/route.js +1 -1
  13. package/.next/server/app/api/backup/route.js.nft.json +1 -1
  14. package/.next/server/app/api/backup/route_client-reference-manifest.js +1 -1
  15. package/.next/server/app/api/browse/route_client-reference-manifest.js +1 -1
  16. package/.next/server/app/api/cwd/route_client-reference-manifest.js +1 -1
  17. package/.next/server/app/api/encryption/secure/route.js +1 -1
  18. package/.next/server/app/api/encryption/secure/route.js.nft.json +1 -1
  19. package/.next/server/app/api/encryption/secure/route_client-reference-manifest.js +1 -1
  20. package/.next/server/app/api/env/route.js +2 -2
  21. package/.next/server/app/api/env/route_client-reference-manifest.js +1 -1
  22. package/.next/server/app/api/flow/[id]/route.js +1 -1
  23. package/.next/server/app/api/flow/[id]/route.js.nft.json +1 -1
  24. package/.next/server/app/api/flow/[id]/route_client-reference-manifest.js +1 -1
  25. package/.next/server/app/api/flow/compile/route.js +1 -1
  26. package/.next/server/app/api/flow/compile/route.js.nft.json +1 -1
  27. package/.next/server/app/api/flow/compile/route_client-reference-manifest.js +1 -1
  28. package/.next/server/app/api/flow/generate/route.js +1 -1
  29. package/.next/server/app/api/flow/generate/route.js.nft.json +1 -1
  30. package/.next/server/app/api/flow/generate/route_client-reference-manifest.js +1 -1
  31. package/.next/server/app/api/flow/improve/route.js +1 -1
  32. package/.next/server/app/api/flow/improve/route.js.nft.json +1 -1
  33. package/.next/server/app/api/flow/improve/route_client-reference-manifest.js +1 -1
  34. package/.next/server/app/api/flow/prompt-renderer/route.js +2 -2
  35. package/.next/server/app/api/flow/prompt-renderer/route.js.nft.json +1 -1
  36. package/.next/server/app/api/flow/prompt-renderer/route_client-reference-manifest.js +1 -1
  37. package/.next/server/app/api/flow/quick-chat/route.js +1 -1
  38. package/.next/server/app/api/flow/quick-chat/route.js.nft.json +1 -1
  39. package/.next/server/app/api/flow/quick-chat/route_client-reference-manifest.js +1 -1
  40. package/.next/server/app/api/flow/repair/route.js +1 -0
  41. package/.next/server/app/api/flow/repair/route.js.nft.json +1 -0
  42. package/.next/server/app/api/flow/repair/route_client-reference-manifest.js +1 -0
  43. package/.next/server/app/api/flow/route.js +1 -1
  44. package/.next/server/app/api/flow/route.js.nft.json +1 -1
  45. package/.next/server/app/api/flow/route_client-reference-manifest.js +1 -1
  46. package/.next/server/app/api/git/route.js +4 -4
  47. package/.next/server/app/api/git/route_client-reference-manifest.js +1 -1
  48. package/.next/server/app/api/init/route.js +1 -1
  49. package/.next/server/app/api/init/route.js.nft.json +1 -1
  50. package/.next/server/app/api/init/route_client-reference-manifest.js +1 -1
  51. package/.next/server/app/api/local-models/capability/route_client-reference-manifest.js +1 -1
  52. package/.next/server/app/api/local-models/pull/route_client-reference-manifest.js +1 -1
  53. package/.next/server/app/api/local-models/suggest/route_client-reference-manifest.js +1 -1
  54. package/.next/server/app/api/mcp/cancel/route.js +2 -2
  55. package/.next/server/app/api/mcp/cancel/route.js.nft.json +1 -1
  56. package/.next/server/app/api/mcp/cancel/route_client-reference-manifest.js +1 -1
  57. package/.next/server/app/api/mcp/servers/[name]/prompts/get/route.js +1 -1
  58. package/.next/server/app/api/mcp/servers/[name]/prompts/get/route.js.nft.json +1 -1
  59. package/.next/server/app/api/mcp/servers/[name]/prompts/get/route_client-reference-manifest.js +1 -1
  60. package/.next/server/app/api/mcp/servers/[name]/prompts/route.js +1 -1
  61. package/.next/server/app/api/mcp/servers/[name]/prompts/route.js.nft.json +1 -1
  62. package/.next/server/app/api/mcp/servers/[name]/prompts/route_client-reference-manifest.js +1 -1
  63. package/.next/server/app/api/mcp/servers/[name]/resources/read/route.js +1 -1
  64. package/.next/server/app/api/mcp/servers/[name]/resources/read/route.js.nft.json +1 -1
  65. package/.next/server/app/api/mcp/servers/[name]/resources/read/route_client-reference-manifest.js +1 -1
  66. package/.next/server/app/api/mcp/servers/[name]/resources/route.js +1 -1
  67. package/.next/server/app/api/mcp/servers/[name]/resources/route.js.nft.json +1 -1
  68. package/.next/server/app/api/mcp/servers/[name]/resources/route_client-reference-manifest.js +1 -1
  69. package/.next/server/app/api/mcp/servers/[name]/route.js +1 -1
  70. package/.next/server/app/api/mcp/servers/[name]/route.js.nft.json +1 -1
  71. package/.next/server/app/api/mcp/servers/[name]/route_client-reference-manifest.js +1 -1
  72. package/.next/server/app/api/mcp/servers/[name]/status/route.js +1 -1
  73. package/.next/server/app/api/mcp/servers/[name]/status/route.js.nft.json +1 -1
  74. package/.next/server/app/api/mcp/servers/[name]/status/route_client-reference-manifest.js +1 -1
  75. package/.next/server/app/api/mcp/servers/[name]/tools/[toolName]/route.js +1 -1
  76. package/.next/server/app/api/mcp/servers/[name]/tools/[toolName]/route.js.nft.json +1 -1
  77. package/.next/server/app/api/mcp/servers/[name]/tools/[toolName]/route_client-reference-manifest.js +1 -1
  78. package/.next/server/app/api/mcp/servers/[name]/tools/route.js +1 -1
  79. package/.next/server/app/api/mcp/servers/[name]/tools/route.js.nft.json +1 -1
  80. package/.next/server/app/api/mcp/servers/[name]/tools/route_client-reference-manifest.js +1 -1
  81. package/.next/server/app/api/mcp/servers/route.js +1 -1
  82. package/.next/server/app/api/mcp/servers/route.js.nft.json +1 -1
  83. package/.next/server/app/api/mcp/servers/route_client-reference-manifest.js +1 -1
  84. package/.next/server/app/api/mcp/test-connection/route.js +1 -1
  85. package/.next/server/app/api/mcp/test-connection/route.js.nft.json +1 -1
  86. package/.next/server/app/api/mcp/test-connection/route_client-reference-manifest.js +1 -1
  87. package/.next/server/app/api/mcp/test-connection/stream/route.js +1 -1
  88. package/.next/server/app/api/mcp/test-connection/stream/route.js.nft.json +1 -1
  89. package/.next/server/app/api/mcp/test-connection/stream/route_client-reference-manifest.js +1 -1
  90. package/.next/server/app/api/mcp-registry/route.js +2 -1
  91. package/.next/server/app/api/mcp-registry/route.js.nft.json +1 -1
  92. package/.next/server/app/api/mcp-registry/route_client-reference-manifest.js +1 -1
  93. package/.next/server/app/api/mcp-registry/spotlight/route_client-reference-manifest.js +1 -1
  94. package/.next/server/app/api/model/[id]/route.js +1 -1
  95. package/.next/server/app/api/model/[id]/route.js.nft.json +1 -1
  96. package/.next/server/app/api/model/[id]/route_client-reference-manifest.js +1 -1
  97. package/.next/server/app/api/model/provider/route.js +2 -2
  98. package/.next/server/app/api/model/provider/route.js.nft.json +1 -1
  99. package/.next/server/app/api/model/provider/route_client-reference-manifest.js +1 -1
  100. package/.next/server/app/api/model/route.js +1 -1
  101. package/.next/server/app/api/model/route.js.nft.json +1 -1
  102. package/.next/server/app/api/model/route_client-reference-manifest.js +1 -1
  103. package/.next/server/app/api/model/test/route.js +2 -2
  104. package/.next/server/app/api/model/test/route.js.nft.json +1 -1
  105. package/.next/server/app/api/model/test/route_client-reference-manifest.js +1 -1
  106. package/.next/server/app/api/oauth/callback/route.js +2 -2
  107. package/.next/server/app/api/oauth/callback/route_client-reference-manifest.js +1 -1
  108. package/.next/server/app/api/oauth/initiate/route.js +2 -2
  109. package/.next/server/app/api/oauth/initiate/route_client-reference-manifest.js +1 -1
  110. package/.next/server/app/api/oauth/reset/route.js +2 -2
  111. package/.next/server/app/api/oauth/reset/route.js.nft.json +1 -1
  112. package/.next/server/app/api/oauth/reset/route_client-reference-manifest.js +1 -1
  113. package/.next/server/app/api/planned-executions/[id]/route.js +2 -2
  114. package/.next/server/app/api/planned-executions/[id]/route.js.nft.json +1 -1
  115. package/.next/server/app/api/planned-executions/[id]/route_client-reference-manifest.js +1 -1
  116. package/.next/server/app/api/planned-executions/[id]/run/route.js +2 -2
  117. package/.next/server/app/api/planned-executions/[id]/run/route.js.nft.json +1 -1
  118. package/.next/server/app/api/planned-executions/[id]/run/route_client-reference-manifest.js +1 -1
  119. package/.next/server/app/api/planned-executions/[id]/runs/route.js +2 -2
  120. package/.next/server/app/api/planned-executions/[id]/runs/route.js.nft.json +1 -1
  121. package/.next/server/app/api/planned-executions/[id]/runs/route_client-reference-manifest.js +1 -1
  122. package/.next/server/app/api/planned-executions/preview-schedule/route_client-reference-manifest.js +1 -1
  123. package/.next/server/app/api/planned-executions/route.js +1 -1
  124. package/.next/server/app/api/planned-executions/route.js.nft.json +1 -1
  125. package/.next/server/app/api/planned-executions/route_client-reference-manifest.js +1 -1
  126. package/.next/server/app/api/restore/route.js +1 -1
  127. package/.next/server/app/api/restore/route.js.nft.json +1 -1
  128. package/.next/server/app/api/restore/route_client-reference-manifest.js +1 -1
  129. package/.next/server/app/api/storage/route_client-reference-manifest.js +1 -1
  130. package/.next/server/app/api/update/route_client-reference-manifest.js +1 -1
  131. package/.next/server/app/api/webhooks/[id]/route.js +1 -1
  132. package/.next/server/app/api/webhooks/[id]/route.js.nft.json +1 -1
  133. package/.next/server/app/api/webhooks/[id]/route_client-reference-manifest.js +1 -1
  134. package/.next/server/app/chat/page.js +8 -7
  135. package/.next/server/app/chat/page.js.nft.json +1 -1
  136. package/.next/server/app/chat/page_client-reference-manifest.js +1 -1
  137. package/.next/server/app/chat.html +1 -1
  138. package/.next/server/app/chat.rsc +3 -3
  139. package/.next/server/app/docs/page.js +37 -6
  140. package/.next/server/app/docs/page.js.nft.json +1 -1
  141. package/.next/server/app/docs/page_client-reference-manifest.js +1 -1
  142. package/.next/server/app/docs.html +1 -1
  143. package/.next/server/app/docs.rsc +3 -3
  144. package/.next/server/app/executions/page.js +3 -5
  145. package/.next/server/app/executions/page.js.nft.json +1 -1
  146. package/.next/server/app/executions/page_client-reference-manifest.js +1 -1
  147. package/.next/server/app/executions.html +1 -1
  148. package/.next/server/app/executions.rsc +3 -3
  149. package/.next/server/app/flows/page.js +3 -3
  150. package/.next/server/app/flows/page.js.nft.json +1 -1
  151. package/.next/server/app/flows/page_client-reference-manifest.js +1 -1
  152. package/.next/server/app/flows.html +1 -1
  153. package/.next/server/app/flows.rsc +3 -3
  154. package/.next/server/app/index.html +1 -1
  155. package/.next/server/app/index.rsc +3 -3
  156. package/.next/server/app/mcp/page.js +6 -6
  157. package/.next/server/app/mcp/page.js.nft.json +1 -1
  158. package/.next/server/app/mcp/page_client-reference-manifest.js +1 -1
  159. package/.next/server/app/mcp-flows/route.js +1 -5
  160. package/.next/server/app/mcp-flows/route.js.nft.json +1 -1
  161. package/.next/server/app/mcp-flows/route_client-reference-manifest.js +1 -1
  162. package/.next/server/app/mcp-proxy/[server]/route.js +1 -1
  163. package/.next/server/app/mcp-proxy/[server]/route.js.nft.json +1 -1
  164. package/.next/server/app/mcp-proxy/[server]/route_client-reference-manifest.js +1 -1
  165. package/.next/server/app/mcp.html +1 -1
  166. package/.next/server/app/mcp.rsc +3 -3
  167. package/.next/server/app/models/page.js +2 -3
  168. package/.next/server/app/models/page.js.nft.json +1 -1
  169. package/.next/server/app/models/page_client-reference-manifest.js +1 -1
  170. package/.next/server/app/page.js +3 -2
  171. package/.next/server/app/page.js.nft.json +1 -1
  172. package/.next/server/app/page_client-reference-manifest.js +1 -1
  173. package/.next/server/app/settings/page.js +4 -3
  174. package/.next/server/app/settings/page.js.nft.json +1 -1
  175. package/.next/server/app/settings/page_client-reference-manifest.js +1 -1
  176. package/.next/server/app/settings.html +1 -1
  177. package/.next/server/app/settings.rsc +3 -3
  178. package/.next/server/app/v1/chat/completions/route.js +1 -1
  179. package/.next/server/app/v1/chat/completions/route.js.nft.json +1 -1
  180. package/.next/server/app/v1/chat/completions/route_client-reference-manifest.js +1 -1
  181. package/.next/server/app/v1/chat/conversations/[conversationId]/breakpoints/route.js +2 -2
  182. package/.next/server/app/v1/chat/conversations/[conversationId]/breakpoints/route.js.nft.json +1 -1
  183. package/.next/server/app/v1/chat/conversations/[conversationId]/breakpoints/route_client-reference-manifest.js +1 -1
  184. package/.next/server/app/v1/chat/conversations/[conversationId]/cancel/route.js +2 -2
  185. package/.next/server/app/v1/chat/conversations/[conversationId]/cancel/route.js.nft.json +1 -1
  186. package/.next/server/app/v1/chat/conversations/[conversationId]/cancel/route_client-reference-manifest.js +1 -1
  187. package/.next/server/app/v1/chat/conversations/[conversationId]/debug/continue/route.js +1 -1
  188. package/.next/server/app/v1/chat/conversations/[conversationId]/debug/continue/route.js.nft.json +1 -1
  189. package/.next/server/app/v1/chat/conversations/[conversationId]/debug/continue/route_client-reference-manifest.js +1 -1
  190. package/.next/server/app/v1/chat/conversations/[conversationId]/debug/step/route.js +1 -1
  191. package/.next/server/app/v1/chat/conversations/[conversationId]/debug/step/route.js.nft.json +1 -1
  192. package/.next/server/app/v1/chat/conversations/[conversationId]/debug/step/route_client-reference-manifest.js +1 -1
  193. package/.next/server/app/v1/chat/conversations/[conversationId]/edit-state/route.js +2 -2
  194. package/.next/server/app/v1/chat/conversations/[conversationId]/edit-state/route.js.nft.json +1 -1
  195. package/.next/server/app/v1/chat/conversations/[conversationId]/edit-state/route_client-reference-manifest.js +1 -1
  196. package/.next/server/app/v1/chat/conversations/[conversationId]/events/route.js +3 -3
  197. package/.next/server/app/v1/chat/conversations/[conversationId]/events/route.js.nft.json +1 -1
  198. package/.next/server/app/v1/chat/conversations/[conversationId]/events/route_client-reference-manifest.js +1 -1
  199. package/.next/server/app/v1/chat/conversations/[conversationId]/resources/route.js +1 -0
  200. package/.next/server/app/v1/chat/conversations/[conversationId]/resources/route.js.nft.json +1 -0
  201. package/.next/server/app/v1/chat/conversations/[conversationId]/resources/route_client-reference-manifest.js +1 -0
  202. package/.next/server/app/v1/chat/conversations/[conversationId]/respond/route.js +1 -1
  203. package/.next/server/app/v1/chat/conversations/[conversationId]/respond/route.js.nft.json +1 -1
  204. package/.next/server/app/v1/chat/conversations/[conversationId]/respond/route_client-reference-manifest.js +1 -1
  205. package/.next/server/app/v1/chat/conversations/[conversationId]/route.js +2 -2
  206. package/.next/server/app/v1/chat/conversations/[conversationId]/route.js.nft.json +1 -1
  207. package/.next/server/app/v1/chat/conversations/[conversationId]/route_client-reference-manifest.js +1 -1
  208. package/.next/server/app/v1/chat/conversations/route.js +2 -2
  209. package/.next/server/app/v1/chat/conversations/route.js.nft.json +1 -1
  210. package/.next/server/app/v1/chat/conversations/route_client-reference-manifest.js +1 -1
  211. package/.next/server/app/v1/models/route.js +2 -2
  212. package/.next/server/app/v1/models/route.js.nft.json +1 -1
  213. package/.next/server/app/v1/models/route_client-reference-manifest.js +1 -1
  214. package/.next/server/app-paths-manifest.json +13 -11
  215. package/.next/server/chunks/{2776.js → 1083.js} +2 -3
  216. package/.next/server/chunks/1119.js +1 -0
  217. package/.next/server/chunks/{7731.js → 1152.js} +2 -2
  218. package/.next/server/chunks/1197.js +2 -0
  219. package/.next/server/chunks/1373.js +1 -1
  220. package/.next/server/chunks/1491.js +1 -0
  221. package/.next/server/chunks/{8460.js → 1991.js} +1 -1
  222. package/.next/server/chunks/2246.js +1 -0
  223. package/.next/server/chunks/2261.js +1 -0
  224. package/.next/server/chunks/227.js +5 -0
  225. package/.next/server/chunks/2350.js +1 -1
  226. package/.next/server/chunks/2430.js +1 -0
  227. package/.next/server/chunks/264.js +1 -1
  228. package/.next/server/chunks/2859.js +3 -7
  229. package/.next/server/chunks/289.js +1 -0
  230. package/.next/server/chunks/3511.js +1 -0
  231. package/.next/server/chunks/{6069.js → 3574.js} +2 -2
  232. package/.next/server/chunks/3778.js +42 -0
  233. package/.next/server/chunks/{8367.js → 38.js} +2 -2
  234. package/.next/server/chunks/3953.js +1 -0
  235. package/.next/server/chunks/3984.js +4 -4
  236. package/.next/server/chunks/4028.js +1 -0
  237. package/.next/server/chunks/4045.js +1 -0
  238. package/.next/server/chunks/4265.js +1 -0
  239. package/.next/server/chunks/4436.js +1 -0
  240. package/.next/server/chunks/{8227.js → 4456.js} +2 -2
  241. package/.next/server/chunks/4498.js +40 -0
  242. package/.next/server/chunks/4637.js +70 -0
  243. package/.next/server/chunks/4671.js +1 -0
  244. package/.next/server/chunks/{1912.js → 4690.js} +2 -2
  245. package/.next/server/chunks/4949.js +1 -0
  246. package/.next/server/chunks/5625.js +28 -0
  247. package/.next/server/chunks/{805.js → 5662.js} +2 -2
  248. package/.next/server/chunks/5708.js +64 -0
  249. package/.next/server/chunks/5734.js +4 -4
  250. package/.next/server/chunks/62.js +1 -0
  251. package/.next/server/chunks/6532.js +52 -0
  252. package/.next/server/chunks/{6760.js → 6772.js} +1 -1
  253. package/.next/server/chunks/{6201.js → 6901.js} +3 -2
  254. package/.next/server/chunks/{9314.js → 6908.js} +3 -3
  255. package/.next/server/chunks/6981.js +1 -0
  256. package/.next/server/chunks/6996.js +3 -3
  257. package/.next/server/chunks/701.js +1 -1
  258. package/.next/server/chunks/7101.js +64 -0
  259. package/.next/server/chunks/7214.js +3 -3
  260. package/.next/server/chunks/724.js +3 -3
  261. package/.next/server/chunks/7362.js +4 -4
  262. package/.next/server/chunks/7463.js +6 -0
  263. package/.next/server/chunks/7506.js +1 -1
  264. package/.next/server/chunks/7635.js +1 -1
  265. package/.next/server/chunks/7821.js +1 -1
  266. package/.next/server/chunks/8739.js +2 -2
  267. package/.next/server/chunks/9509.js +2 -2
  268. package/.next/server/chunks/9632.js +1 -0
  269. package/.next/server/chunks/9957.js +1 -1
  270. package/.next/server/functions-config-manifest.json +3 -3
  271. package/.next/server/instrumentation.js.nft.json +1 -1
  272. package/.next/server/middleware-build-manifest.js +1 -1
  273. package/.next/server/middleware-react-loadable-manifest.js +1 -1
  274. package/.next/server/pages/404.html +1 -1
  275. package/.next/server/pages/500.html +1 -1
  276. package/.next/server/server-reference-manifest.js +1 -1
  277. package/.next/server/server-reference-manifest.json +1 -1
  278. package/.next/static/chunks/1161-970b105d0ab11425.js +1 -0
  279. package/.next/static/chunks/1620-0d8ecd877f123f7b.js +1 -0
  280. package/.next/static/chunks/1871-14c3e63ca865d85e.js +1 -0
  281. package/.next/static/chunks/{1892-359187893bbc7f3a.js → 1892-5c1e38d89e0a5a9c.js} +1 -1
  282. package/.next/static/chunks/3217.058098140ec3f563.js +1 -0
  283. package/.next/static/chunks/3381-5fd2417957ca0881.js +1 -0
  284. package/.next/static/chunks/{3545.d3a512315a9fce3e.js → 3545.353a62a68d3b7fd1.js} +1 -1
  285. package/.next/static/chunks/{2084-2463e1d781bad2a6.js → 3648-733cf7ca4a5d1f19.js} +1 -1
  286. package/.next/static/chunks/3736-5e2b3f6cda1bb923.js +1 -0
  287. package/.next/static/chunks/3930-cc8d73c953811b97.js +1 -0
  288. package/.next/static/chunks/422-268783d9ad5897e1.js +1 -0
  289. package/.next/static/chunks/4365-5d0e3d01c1bc0fdc.js +1 -0
  290. package/.next/static/chunks/5134-e21bd33daaf14ecf.js +1 -0
  291. package/.next/static/chunks/5501-c400aaeaf57e6297.js +1 -0
  292. package/.next/static/chunks/5619-82fc5c3133837739.js +1 -0
  293. package/.next/static/chunks/6013-cb423bc438256acb.js +1 -0
  294. package/.next/static/chunks/6920-a83ad5c0d5a54cf3.js +1 -0
  295. package/.next/static/chunks/7258-e27017c1b98f43f9.js +1 -0
  296. package/.next/static/chunks/{7583.b6c2f8874b6b89cd.js → 7583.26a8c1f6e6823daf.js} +1 -1
  297. package/.next/static/chunks/7687-7edf1a6e1f063b08.js +1 -0
  298. package/.next/static/chunks/8066-c202a83aef15143a.js +1 -0
  299. package/.next/static/chunks/{8187.15bf331f5318c00f.js → 8187.fd653767df53db87.js} +1 -1
  300. package/.next/static/chunks/8755-9f375ec8740fecac.js +1 -0
  301. package/.next/static/chunks/{9164-a56181e5e93cc47e.js → 9164-f54d3531ca1df5f7.js} +1 -1
  302. package/.next/static/chunks/{9747-ffb8be5e59700c27.js → 9587-706bfd1a692c4660.js} +3 -3
  303. package/.next/static/chunks/app/api/backup/route-b296683a5faf800a.js +1 -0
  304. package/.next/static/chunks/app/api/browse/route-b296683a5faf800a.js +1 -0
  305. package/.next/static/chunks/app/api/cwd/route-b296683a5faf800a.js +1 -0
  306. package/.next/static/chunks/app/api/encryption/secure/route-b296683a5faf800a.js +1 -0
  307. package/.next/static/chunks/app/api/env/route-b296683a5faf800a.js +1 -0
  308. package/.next/static/chunks/app/api/flow/[id]/route-b296683a5faf800a.js +1 -0
  309. package/.next/static/chunks/app/api/flow/compile/route-b296683a5faf800a.js +1 -0
  310. package/.next/static/chunks/app/api/flow/generate/route-b296683a5faf800a.js +1 -0
  311. package/.next/static/chunks/app/api/flow/improve/route-b296683a5faf800a.js +1 -0
  312. package/.next/static/chunks/app/api/flow/prompt-renderer/route-b296683a5faf800a.js +1 -0
  313. package/.next/static/chunks/app/api/flow/quick-chat/route-b296683a5faf800a.js +1 -0
  314. package/.next/static/chunks/app/api/flow/repair/route-b296683a5faf800a.js +1 -0
  315. package/.next/static/chunks/app/api/flow/route-b296683a5faf800a.js +1 -0
  316. package/.next/static/chunks/app/api/git/route-b296683a5faf800a.js +1 -0
  317. package/.next/static/chunks/app/api/init/route-b296683a5faf800a.js +1 -0
  318. package/.next/static/chunks/app/api/local-models/capability/route-b296683a5faf800a.js +1 -0
  319. package/.next/static/chunks/app/api/local-models/pull/route-b296683a5faf800a.js +1 -0
  320. package/.next/static/chunks/app/api/local-models/suggest/route-b296683a5faf800a.js +1 -0
  321. package/.next/static/chunks/app/api/mcp/cancel/route-b296683a5faf800a.js +1 -0
  322. package/.next/static/chunks/app/api/mcp/servers/[name]/prompts/get/route-b296683a5faf800a.js +1 -0
  323. package/.next/static/chunks/app/api/mcp/servers/[name]/prompts/route-b296683a5faf800a.js +1 -0
  324. package/.next/static/chunks/app/api/mcp/servers/[name]/resources/read/route-b296683a5faf800a.js +1 -0
  325. package/.next/static/chunks/app/api/mcp/servers/[name]/resources/route-b296683a5faf800a.js +1 -0
  326. package/.next/static/chunks/app/api/mcp/servers/[name]/route-b296683a5faf800a.js +1 -0
  327. package/.next/static/chunks/app/api/mcp/servers/[name]/status/route-b296683a5faf800a.js +1 -0
  328. package/.next/static/chunks/app/api/mcp/servers/[name]/tools/[toolName]/route-b296683a5faf800a.js +1 -0
  329. package/.next/static/chunks/app/api/mcp/servers/[name]/tools/route-b296683a5faf800a.js +1 -0
  330. package/.next/static/chunks/app/api/mcp/servers/route-b296683a5faf800a.js +1 -0
  331. package/.next/static/chunks/app/api/mcp/test-connection/route-b296683a5faf800a.js +1 -0
  332. package/.next/static/chunks/app/api/mcp/test-connection/stream/route-b296683a5faf800a.js +1 -0
  333. package/.next/static/chunks/app/api/mcp-registry/route-b296683a5faf800a.js +1 -0
  334. package/.next/static/chunks/app/api/mcp-registry/spotlight/route-b296683a5faf800a.js +1 -0
  335. package/.next/static/chunks/app/api/model/[id]/route-b296683a5faf800a.js +1 -0
  336. package/.next/static/chunks/app/api/model/provider/route-b296683a5faf800a.js +1 -0
  337. package/.next/static/chunks/app/api/model/route-b296683a5faf800a.js +1 -0
  338. package/.next/static/chunks/app/api/model/test/route-b296683a5faf800a.js +1 -0
  339. package/.next/static/chunks/app/api/oauth/callback/route-b296683a5faf800a.js +1 -0
  340. package/.next/static/chunks/app/api/oauth/initiate/route-b296683a5faf800a.js +1 -0
  341. package/.next/static/chunks/app/api/oauth/reset/route-b296683a5faf800a.js +1 -0
  342. package/.next/static/chunks/app/api/planned-executions/[id]/route-b296683a5faf800a.js +1 -0
  343. package/.next/static/chunks/app/api/planned-executions/[id]/run/route-b296683a5faf800a.js +1 -0
  344. package/.next/static/chunks/app/api/planned-executions/[id]/runs/route-b296683a5faf800a.js +1 -0
  345. package/.next/static/chunks/app/api/planned-executions/preview-schedule/route-b296683a5faf800a.js +1 -0
  346. package/.next/static/chunks/app/api/planned-executions/route-b296683a5faf800a.js +1 -0
  347. package/.next/static/chunks/app/api/restore/route-b296683a5faf800a.js +1 -0
  348. package/.next/static/chunks/app/api/storage/route-b296683a5faf800a.js +1 -0
  349. package/.next/static/chunks/app/api/update/route-b296683a5faf800a.js +1 -0
  350. package/.next/static/chunks/app/api/webhooks/[id]/route-b296683a5faf800a.js +1 -0
  351. package/.next/static/chunks/app/chat/page-a67ad3683443e7ad.js +1 -0
  352. package/.next/static/chunks/app/docs/page-097827ec4dae1d30.js +1 -0
  353. package/.next/static/chunks/app/executions/page-cb0dcc66d84c9bf8.js +1 -0
  354. package/.next/static/chunks/app/flows/page-abdd0642e378c5da.js +1 -0
  355. package/.next/static/chunks/app/{layout-2878f13d7e253503.js → layout-64fc0ae7efe81e3c.js} +1 -1
  356. package/.next/static/chunks/app/mcp/page-7d3a269dce68b529.js +1 -0
  357. package/.next/static/chunks/app/mcp-flows/route-b296683a5faf800a.js +1 -0
  358. package/.next/static/chunks/app/mcp-proxy/[server]/route-b296683a5faf800a.js +1 -0
  359. package/.next/static/chunks/app/models/{error-2b00c98abf1e02cf.js → error-5732fbb053e182c5.js} +1 -1
  360. package/.next/static/chunks/app/models/page-616950f93a1e0027.js +1 -0
  361. package/.next/static/chunks/app/{page-6e18a8cd78b2050e.js → page-77e1ba238b0ee1d0.js} +1 -1
  362. package/.next/static/chunks/app/settings/{page-9430dfdaff87d70c.js → page-199d0ffae9ec7263.js} +1 -1
  363. package/.next/static/chunks/app/v1/chat/completions/route-b296683a5faf800a.js +1 -0
  364. package/.next/static/chunks/app/v1/chat/conversations/[conversationId]/breakpoints/route-b296683a5faf800a.js +1 -0
  365. package/.next/static/chunks/app/v1/chat/conversations/[conversationId]/cancel/route-b296683a5faf800a.js +1 -0
  366. package/.next/static/chunks/app/v1/chat/conversations/[conversationId]/debug/continue/route-b296683a5faf800a.js +1 -0
  367. package/.next/static/chunks/app/v1/chat/conversations/[conversationId]/debug/step/route-b296683a5faf800a.js +1 -0
  368. package/.next/static/chunks/app/v1/chat/conversations/[conversationId]/edit-state/route-b296683a5faf800a.js +1 -0
  369. package/.next/static/chunks/app/v1/chat/conversations/[conversationId]/events/route-b296683a5faf800a.js +1 -0
  370. package/.next/static/chunks/app/v1/chat/conversations/[conversationId]/resources/route-b296683a5faf800a.js +1 -0
  371. package/.next/static/chunks/app/v1/chat/conversations/[conversationId]/respond/route-b296683a5faf800a.js +1 -0
  372. package/.next/static/chunks/app/v1/chat/conversations/[conversationId]/route-b296683a5faf800a.js +1 -0
  373. package/.next/static/chunks/app/v1/chat/conversations/route-b296683a5faf800a.js +1 -0
  374. package/.next/static/chunks/app/v1/models/route-b296683a5faf800a.js +1 -0
  375. package/.next/static/chunks/webpack-ef5b2cef70829f42.js +1 -0
  376. package/.next/static/dvSaKx6-EfRNi7Xj-cSv_/_buildManifest.js +1 -0
  377. package/.next/trace +9 -7
  378. package/.next/types/app/api/flow/repair/route.ts +347 -0
  379. package/.next/types/app/v1/chat/conversations/[conversationId]/resources/route.ts +347 -0
  380. package/.next/types/routes.d.ts +3 -1
  381. package/.next/types/validator.ts +18 -0
  382. package/README.md +1 -1
  383. package/package.json +1 -1
  384. package/.next/server/chunks/1050.js +0 -1
  385. package/.next/server/chunks/1403.js +0 -8
  386. package/.next/server/chunks/2439.js +0 -52
  387. package/.next/server/chunks/2666.js +0 -1
  388. package/.next/server/chunks/3310.js +0 -35
  389. package/.next/server/chunks/453.js +0 -1
  390. package/.next/server/chunks/4681.js +0 -1
  391. package/.next/server/chunks/5311.js +0 -1
  392. package/.next/server/chunks/6037.js +0 -41
  393. package/.next/server/chunks/6390.js +0 -28
  394. package/.next/server/chunks/6936.js +0 -37
  395. package/.next/server/chunks/7186.js +0 -2
  396. package/.next/server/chunks/7982.js +0 -1
  397. package/.next/server/chunks/8342.js +0 -1
  398. package/.next/server/chunks/906.js +0 -35
  399. package/.next/server/chunks/9687.js +0 -1
  400. package/.next/server/chunks/9880.js +0 -1
  401. package/.next/server/chunks/9938.js +0 -1
  402. package/.next/static/Fdh7zqKv38txmpLAxepeR/_buildManifest.js +0 -1
  403. package/.next/static/chunks/1374-e084b3c40554288a.js +0 -1
  404. package/.next/static/chunks/2380-5696e0dc0469f6a5.js +0 -1
  405. package/.next/static/chunks/2709-29f91a54eef90221.js +0 -1
  406. package/.next/static/chunks/3217.1a7e24fd70294370.js +0 -1
  407. package/.next/static/chunks/4105-8fddb00196bf3c6d.js +0 -1
  408. package/.next/static/chunks/4244-6f399c7ff9980207.js +0 -1
  409. package/.next/static/chunks/4809-423a2a4a90d02f2c.js +0 -1
  410. package/.next/static/chunks/6084-68908a197e957e5f.js +0 -1
  411. package/.next/static/chunks/6509-3380826fd7c82b4e.js +0 -1
  412. package/.next/static/chunks/6582-6735fdd6b42b5c35.js +0 -1
  413. package/.next/static/chunks/690-391bc0f482a9f67c.js +0 -1
  414. package/.next/static/chunks/7290-fd5bb2c94fd7f605.js +0 -1
  415. package/.next/static/chunks/8098-297bf477152a565b.js +0 -1
  416. package/.next/static/chunks/924-64f908860caf1a35.js +0 -1
  417. package/.next/static/chunks/9286-6ea909e5bf70a97e.js +0 -1
  418. package/.next/static/chunks/9562-93cc45aef3630781.js +0 -1
  419. package/.next/static/chunks/9984-1ed094ea9f5b1f17.js +0 -1
  420. package/.next/static/chunks/app/api/backup/route-1691635994fcddb5.js +0 -1
  421. package/.next/static/chunks/app/api/browse/route-1691635994fcddb5.js +0 -1
  422. package/.next/static/chunks/app/api/cwd/route-1691635994fcddb5.js +0 -1
  423. package/.next/static/chunks/app/api/encryption/secure/route-1691635994fcddb5.js +0 -1
  424. package/.next/static/chunks/app/api/env/route-1691635994fcddb5.js +0 -1
  425. package/.next/static/chunks/app/api/flow/[id]/route-1691635994fcddb5.js +0 -1
  426. package/.next/static/chunks/app/api/flow/compile/route-1691635994fcddb5.js +0 -1
  427. package/.next/static/chunks/app/api/flow/generate/route-1691635994fcddb5.js +0 -1
  428. package/.next/static/chunks/app/api/flow/improve/route-1691635994fcddb5.js +0 -1
  429. package/.next/static/chunks/app/api/flow/prompt-renderer/route-1691635994fcddb5.js +0 -1
  430. package/.next/static/chunks/app/api/flow/quick-chat/route-1691635994fcddb5.js +0 -1
  431. package/.next/static/chunks/app/api/flow/route-1691635994fcddb5.js +0 -1
  432. package/.next/static/chunks/app/api/git/route-1691635994fcddb5.js +0 -1
  433. package/.next/static/chunks/app/api/init/route-1691635994fcddb5.js +0 -1
  434. package/.next/static/chunks/app/api/local-models/capability/route-1691635994fcddb5.js +0 -1
  435. package/.next/static/chunks/app/api/local-models/pull/route-1691635994fcddb5.js +0 -1
  436. package/.next/static/chunks/app/api/local-models/suggest/route-1691635994fcddb5.js +0 -1
  437. package/.next/static/chunks/app/api/mcp/cancel/route-1691635994fcddb5.js +0 -1
  438. package/.next/static/chunks/app/api/mcp/servers/[name]/prompts/get/route-1691635994fcddb5.js +0 -1
  439. package/.next/static/chunks/app/api/mcp/servers/[name]/prompts/route-1691635994fcddb5.js +0 -1
  440. package/.next/static/chunks/app/api/mcp/servers/[name]/resources/read/route-1691635994fcddb5.js +0 -1
  441. package/.next/static/chunks/app/api/mcp/servers/[name]/resources/route-1691635994fcddb5.js +0 -1
  442. package/.next/static/chunks/app/api/mcp/servers/[name]/route-1691635994fcddb5.js +0 -1
  443. package/.next/static/chunks/app/api/mcp/servers/[name]/status/route-1691635994fcddb5.js +0 -1
  444. package/.next/static/chunks/app/api/mcp/servers/[name]/tools/[toolName]/route-1691635994fcddb5.js +0 -1
  445. package/.next/static/chunks/app/api/mcp/servers/[name]/tools/route-1691635994fcddb5.js +0 -1
  446. package/.next/static/chunks/app/api/mcp/servers/route-1691635994fcddb5.js +0 -1
  447. package/.next/static/chunks/app/api/mcp/test-connection/route-1691635994fcddb5.js +0 -1
  448. package/.next/static/chunks/app/api/mcp/test-connection/stream/route-1691635994fcddb5.js +0 -1
  449. package/.next/static/chunks/app/api/mcp-registry/route-1691635994fcddb5.js +0 -1
  450. package/.next/static/chunks/app/api/mcp-registry/spotlight/route-1691635994fcddb5.js +0 -1
  451. package/.next/static/chunks/app/api/model/[id]/route-1691635994fcddb5.js +0 -1
  452. package/.next/static/chunks/app/api/model/provider/route-1691635994fcddb5.js +0 -1
  453. package/.next/static/chunks/app/api/model/route-1691635994fcddb5.js +0 -1
  454. package/.next/static/chunks/app/api/model/test/route-1691635994fcddb5.js +0 -1
  455. package/.next/static/chunks/app/api/oauth/callback/route-1691635994fcddb5.js +0 -1
  456. package/.next/static/chunks/app/api/oauth/initiate/route-1691635994fcddb5.js +0 -1
  457. package/.next/static/chunks/app/api/oauth/reset/route-1691635994fcddb5.js +0 -1
  458. package/.next/static/chunks/app/api/planned-executions/[id]/route-1691635994fcddb5.js +0 -1
  459. package/.next/static/chunks/app/api/planned-executions/[id]/run/route-1691635994fcddb5.js +0 -1
  460. package/.next/static/chunks/app/api/planned-executions/[id]/runs/route-1691635994fcddb5.js +0 -1
  461. package/.next/static/chunks/app/api/planned-executions/preview-schedule/route-1691635994fcddb5.js +0 -1
  462. package/.next/static/chunks/app/api/planned-executions/route-1691635994fcddb5.js +0 -1
  463. package/.next/static/chunks/app/api/restore/route-1691635994fcddb5.js +0 -1
  464. package/.next/static/chunks/app/api/storage/route-1691635994fcddb5.js +0 -1
  465. package/.next/static/chunks/app/api/update/route-1691635994fcddb5.js +0 -1
  466. package/.next/static/chunks/app/api/webhooks/[id]/route-1691635994fcddb5.js +0 -1
  467. package/.next/static/chunks/app/chat/page-6486974f4a6c7b57.js +0 -1
  468. package/.next/static/chunks/app/docs/page-5da72cc6db51f238.js +0 -1
  469. package/.next/static/chunks/app/executions/page-fe19f6a1bd3fe05c.js +0 -1
  470. package/.next/static/chunks/app/flows/page-3b84093cdf2aee84.js +0 -1
  471. package/.next/static/chunks/app/mcp/page-355386ec2a542e42.js +0 -1
  472. package/.next/static/chunks/app/mcp-flows/route-1691635994fcddb5.js +0 -1
  473. package/.next/static/chunks/app/mcp-proxy/[server]/route-1691635994fcddb5.js +0 -1
  474. package/.next/static/chunks/app/models/page-20c80d398bf83fc5.js +0 -1
  475. package/.next/static/chunks/app/v1/chat/completions/route-1691635994fcddb5.js +0 -1
  476. package/.next/static/chunks/app/v1/chat/conversations/[conversationId]/breakpoints/route-1691635994fcddb5.js +0 -1
  477. package/.next/static/chunks/app/v1/chat/conversations/[conversationId]/cancel/route-1691635994fcddb5.js +0 -1
  478. package/.next/static/chunks/app/v1/chat/conversations/[conversationId]/debug/continue/route-1691635994fcddb5.js +0 -1
  479. package/.next/static/chunks/app/v1/chat/conversations/[conversationId]/debug/step/route-1691635994fcddb5.js +0 -1
  480. package/.next/static/chunks/app/v1/chat/conversations/[conversationId]/edit-state/route-1691635994fcddb5.js +0 -1
  481. package/.next/static/chunks/app/v1/chat/conversations/[conversationId]/events/route-1691635994fcddb5.js +0 -1
  482. package/.next/static/chunks/app/v1/chat/conversations/[conversationId]/respond/route-1691635994fcddb5.js +0 -1
  483. package/.next/static/chunks/app/v1/chat/conversations/[conversationId]/route-1691635994fcddb5.js +0 -1
  484. package/.next/static/chunks/app/v1/chat/conversations/route-1691635994fcddb5.js +0 -1
  485. package/.next/static/chunks/app/v1/models/route-1691635994fcddb5.js +0 -1
  486. package/.next/static/chunks/webpack-4880945dd240d429.js +0 -1
  487. /package/.next/static/{Fdh7zqKv38txmpLAxepeR → dvSaKx6-EfRNi7Xj-cSv_}/_ssgManifest.js +0 -0
@@ -1 +0,0 @@
1
- "use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[8098],{9352:(e,r,t)=>{t.d(r,{Ic:()=>s,kY:()=>n});var a=t(26796);let o=(0,t(87021).h)("frontend/utils/theme"),n={light:{background:"#FFFFFF",foreground:"#2C3E50",paperBackground:"#F5F6FA",textSecondary:"#7F8C8D",border:"#e5e7eb",heading:"#111",text:"#333",secondaryText:"#666",error:{background:"#fef2f2",border:"#fecaca",text:"#dc2626"}},dark:{background:"#1a1a1a",foreground:"#f0f0f0",paperBackground:"#2a2a2a",textSecondary:"#aaaaaa",border:"#3a3a3a",heading:"#f8f8f8",text:"#f0f0f0",secondaryText:"#aaa",error:{background:"#3a2222",border:"#5a3333",text:"#f87171"}}};function s(){let{isDarkMode:e}=(0,a.useTheme)();return o.debug("useThemeUtils called with isDarkMode: ".concat(e)),{getThemeValue:(r,t)=>e?t:r,getThemeColor:r=>{let t=r.split("."),a=n[e?"dark":"light"];for(let e of t)if(!a||"object"!=typeof a||!(e in a))return o.warn("Theme color path not found: ".concat(r)),"";else a=a[e];return a},colors:e?n.dark:n.light,isDarkMode:e}}},9898:(e,r,t)=>{t.d(r,{v:()=>l});var a=t(12115),o=t(17897);let n=(0,t(87021).h)("frontend/hooks/useServerStatus");function s(e){return"stdio"===e.transport?e.args&&e.args.length>0?e.args[0]:"Unknown path":"websocket"===e.transport?e.websocketUrl||"Unknown URL":e.serverUrl||"Unknown URL"}function l(){let[e,r]=(0,a.useState)([]),[t,l]=(0,a.useState)(!0),[i,c]=(0,a.useState)(null),[d,u]=(0,a.useState)(new Set),p=(0,a.useCallback)(async()=>{n.debug("Loading servers"),l(!0),c(null);try{let e=await o.S.loadServerConfigs();if(!e||"error"in e){n.warn("Failed to load server configurations:",null==e?void 0:e.error),c((null==e?void 0:e.error)||"Failed to load server configurations"),l(!1);return}let t=await Promise.all(e.map(async e=>{n.debug("Getting status for server: ".concat(e.name));let r=await o.S.getServerStatus(e.name),t="string"==typeof r?r:r.status,a="object"==typeof r&&r.message?r.message:void 0,l="object"==typeof r&&r.stderrOutput?r.stderrOutput:void 0,i=s(e);return{...e,path:i,status:t,error:a,stderrOutput:l}}));n.debug("Final server states:",t),r(t),l(!1)}catch(e){n.warn("Failed to load servers:",e),c("Failed to load servers"),l(!1)}},[]),f=(0,a.useCallback)(async(t,a)=>{n.debug("Toggling server ".concat(t," to ").concat(a?"enabled":"disabled"));try{let s=e.find(e=>e.name===t);if(!s)return n.warn("Server not found: ".concat(t)),!1;n.debug("Found server ".concat(t,", current disabled state: ").concat(s.disabled));let l=await o.S.updateServerConfig(t,{disabled:!a});if(l.error)return n.warn("Failed to update server config:",[l.error,t]),!1;n.debug("Updating server ".concat(t," state in UI, new disabled state: ").concat(!a)),r(e=>e.map(e=>e.name===t?{...e,disabled:!a}:e)),n.info("Successfully toggled server ".concat(t," to ").concat(a?"enabled":"disabled"));try{let e=await o.S.getServerStatus(t),a="string"==typeof e?e:e.status,n="object"==typeof e&&e.message?e.message:void 0,s="object"==typeof e&&e.stderrOutput?e.stderrOutput:void 0;r(e=>e.map(e=>e.name===t?{...e,status:a,error:n,stderrOutput:s}:e))}catch(e){n.warn("Failed to get status for server ".concat(t," after toggle:"),e)}return!0}catch(e){return n.warn("Failed to toggle server:",e),!1}},[e]),h=(0,a.useCallback)(async t=>{n.debug("Deleting server: ".concat(t));try{if(!e.find(e=>e.name===t))return n.warn("Server not found:",t),!1;let a=await o.S.deleteServerConfig(t);if(a.error)return n.warn("Failed to delete server config:",a.error),!1;return r(e=>e.filter(e=>e.name!==t)),!0}catch(e){return n.warn("Failed to delete server:",e),!1}},[e]),m=(0,a.useCallback)(async e=>{n.debug("Adding server:",e);try{let t=s(e),a={...e,path:t,status:"connecting",tools:[],env:e.env||{}};r(e=>[...e,a]),u(r=>new Set(r).add(e.name));let l=await o.S.updateServerConfig(e.name,e);if(l.error)return n.warn("Failed to update server config:",l.error),r(r=>r.map(r=>r.name===e.name?{...r,status:"error",error:l.error}:r)),u(r=>{let t=new Set(r);return t.delete(e.name),t}),!1;n.info("Successfully added server ".concat(e.name));try{let t=await o.S.getServerStatus(e.name),a="string"==typeof t?t:t.status,n="object"==typeof t&&t.message?t.message:void 0,s="object"==typeof t&&t.stderrOutput?t.stderrOutput:void 0;r(r=>r.map(r=>r.name===e.name?{...r,status:a,error:n,stderrOutput:s}:r))}catch(r){n.warn("Failed to get status for server ".concat(e.name," after adding:"),r)}return u(r=>{let t=new Set(r);return t.delete(e.name),t}),!0}catch(t){return n.warn("Failed to add server:",t),r(r=>r.map(r=>r.name===e.name?{...r,status:"error",error:t instanceof Error?t.message:"Unknown error during server addition"}:r)),u(r=>{let t=new Set(r);return t.delete(e.name),t}),!1}},[]),x=(0,a.useCallback)(async(e,t)=>{let a=null!=t?t:e.name,l=a!==e.name;n.debug("Updating server:",e);try{r(r=>r.map(r=>r.name===a?{...e,path:s(e),status:r.status,error:r.error,stderrOutput:r.stderrOutput}:r));let t=await o.S.updateServerConfig(a,e);if(t.error){if(n.warn("Failed to update server config:",t.error),l)return await p(),!1;return r(r=>r.map(r=>r.name===e.name?{...r,status:"error",error:t.error}:r)),!1}n.info("Successfully updated config for server ".concat(e.name));try{let t=await o.S.getServerStatus(e.name),a="string"==typeof t?t:t.status,n="object"==typeof t&&t.message?t.message:void 0,s="object"==typeof t&&t.stderrOutput?t.stderrOutput:void 0;r(r=>r.map(r=>r.name===e.name?{...r,status:a,error:n,stderrOutput:s}:r))}catch(r){n.warn("Failed to get status for server ".concat(e.name," after config update:"),r)}return!0}catch(a){if(n.warn("Failed to update server:",a),l)return await p(),!1;let t=a instanceof Error?a.message:"Unknown error during update";return r(r=>r.map(r=>r.name===e.name?{...r,status:"error",error:t}:r)),!1}},[p]),g=(0,a.useCallback)(async(e,t)=>{let a=t&&t.trim()?t.trim():"";n.debug("Setting folder for server ".concat(e," to ").concat(a||"(none)"));try{let t=await o.S.updateServerConfig(e,{folder:a});if("error"in t&&t.error)return n.warn("Failed to update server folder:",t.error),!1;return r(r=>r.map(r=>r.name===e?{...r,folder:a||void 0}:r)),!0}catch(e){return n.warn("Failed to set server folder:",e),!1}},[]),b=(0,a.useCallback)(async(t,a)=>{n.debug("Saving environment variables for server: ".concat(t),a);try{if(!e.find(e=>e.name===t))return n.warn("Server not found: ".concat(t)),!1;let s=await o.S.updateServerConfig(t,{env:a});if(s.error)return n.warn("Failed to update server config:",s.error),!1;return n.debug("Updating environment variables in UI for server: ".concat(t)),r(e=>e.map(e=>e.name===t?{...e,env:a}:e)),n.info("Successfully saved environment variables for server: ".concat(t)),!0}catch(e){return n.warn("Failed to save environment variables:",e),!1}},[e]);return(0,a.useEffect)(()=>{p()},[p]),{servers:e,isLoading:t,loadError:i,connectingServers:d,loadServers:p,toggleServer:f,retryServer:(0,a.useCallback)(async e=>{n.debug("Retrying server status for: ".concat(e));try{let t=await o.S.getServerStatus(e),a="string"==typeof t?t:t.status,n="object"==typeof t&&t.message?t.message:void 0,s="object"==typeof t&&t.stderrOutput?t.stderrOutput:void 0;return r(r=>r.map(r=>r.name===e?{...r,status:a,error:n,stderrOutput:s}:r)),!0}catch(e){return n.warn("Failed to retry server status:",e),!1}},[]),deleteServer:h,addServer:m,updateServer:x,setServerFolder:g,saveEnv:b}}},22573:(e,r,t)=>{t.d(r,{A:()=>p});var a=t(95155);t(12115);var o=t(33567),n=t(94049),s=t(41983),l=t(25635),i=t(28548),c=t(50430),d=t(63186),u=t(91665);let p=e=>{let{label:r,count:t,expanded:p,onToggle:f,showFolderIcon:h=!1,children:m}=e,x=(0,o.A)();return(0,a.jsxs)(n.default,{sx:{mb:1.5},children:[(0,a.jsxs)(n.default,{role:"button",tabIndex:0,"aria-expanded":p,onClick:f,onKeyDown:e=>{("Enter"===e.key||" "===e.key)&&(e.preventDefault(),f())},sx:{display:"flex",alignItems:"center",gap:1,px:1,py:.75,borderRadius:1,cursor:"pointer",userSelect:"none",backgroundColor:x.palette.background.default,border:"1px solid ".concat(x.palette.divider),"&:hover":{backgroundColor:x.palette.action.hover}},children:[(0,a.jsx)(s.A,{size:"small","aria-label":p?"Collapse section":"Expand section",onClick:e=>{e.stopPropagation(),f()},sx:{transition:"transform 0.2s",transform:p?"rotate(0deg)":"rotate(-90deg)"},children:(0,a.jsx)(d.A,{fontSize:"small"})}),h&&(0,a.jsx)(u.A,{fontSize:"small",sx:{color:"text.secondary"}}),(0,a.jsx)(l.default,{variant:"subtitle2",sx:{fontWeight:600},children:r}),(0,a.jsx)(i.A,{label:t,size:"small",sx:{height:20,fontSize:"0.7rem"}})]}),(0,a.jsx)(c.A,{in:p,unmountOnExit:!0,children:(0,a.jsx)(n.default,{sx:{pt:1.5},children:m})})]})}},26796:(e,r,t)=>{t.r(r),t.d(r,{ThemeProvider:()=>f,useTheme:()=>h});var a=t(95155),o=t(12115),n=t(87021),s=t(7160),l=t(29197),i=t(9352),c=t(84563),d=t(29692);let u=(0,n.h)("frontend/contexts/ThemeContext"),p=(0,o.createContext)(void 0),f=e=>{let{children:r}=e,[t,n]=(0,o.useState)(!1),[f,h]=(0,o.useState)(!1);(0,o.useEffect)(()=>{(async()=>{u.debug("Loading theme preference from storage");let e=await (0,d.YM)(d.Zg.THEME,"light");u.info("Theme loaded from storage: ".concat(e));let r="dark"===e;h(r),r?document.documentElement.classList.add("dark-theme"):document.documentElement.classList.remove("dark-theme"),n(!0)})()},[]);let m=(0,o.useMemo)(()=>(function(e){let r="dark"===e?i.kY.dark:i.kY.light;return(0,l.A)({palette:{mode:e,primary:{main:"#007bff"},secondary:{main:"#6c757d"},error:{main:"dark"===e?"#f87171":"#dc2626",light:"dark"===e?"#5a3333":"#fecaca",dark:"dark"===e?"#3a2222":"#b91c1c"},warning:{main:"#f59e0b"},info:{main:"#3b82f6"},success:{main:"dark"===e?"#4ade80":"#16a34a"},background:{default:r.background,paper:r.paperBackground},text:{primary:r.foreground,secondary:r.textSecondary}},typography:{fontFamily:"var(--font-geist-sans), Arial, sans-serif",h1:{fontWeight:700},h2:{fontWeight:700},h3:{fontWeight:600},h4:{fontWeight:600},h5:{fontWeight:600},h6:{fontWeight:600}},components:{MuiButton:{styleOverrides:{root:{textTransform:"none",borderRadius:"0.375rem"}}},MuiPaper:{styleOverrides:{root:{borderRadius:"0.5rem"}}},MuiTextField:{styleOverrides:{root:{"& .MuiOutlinedInput-root":{borderRadius:"0.375rem"}}}},MuiCard:{styleOverrides:{root:{borderRadius:"0.5rem",boxShadow:"dark"===e?"0 4px 6px -1px rgba(0, 0, 0, 0.2), 0 2px 4px -1px rgba(0, 0, 0, 0.1)":"0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06)"}}}}})})(f?"dark":"light"),[f]);return u.debug("Rendering ThemeProvider with isDarkMode: ".concat(f)),(0,a.jsx)(p.Provider,{value:{toggleTheme:()=>{h(e=>{let r=!e,t=r?"dark":"light";return u.info("Toggling theme to: ".concat(t)),r?document.documentElement.classList.add("dark-theme"):document.documentElement.classList.remove("dark-theme"),(0,d.VH)(d.Zg.THEME,t),r})},isDarkMode:f},children:(0,a.jsxs)(s.A,{theme:m,children:[(0,a.jsx)(c.Ay,{}),r]})})},h=()=>{let e=(0,o.useContext)(p);if(!e)throw u.error("useTheme hook used outside of ThemeProvider"),Error("useTheme must be used within a ThemeProvider");return u.debug("useTheme hook accessed"),e}},38459:(e,r,t)=>{function a(e,r){let t=[],a=new Map;for(let o of e){let{key:e,label:n}=r(o),s=a.get(e);s||(s={key:e,label:n,items:[]},a.set(e,s),t.push(s)),s.items.push(o)}return t}function o(e){let r=(null!=e?e:"").trim().charAt(0).toUpperCase();return r>="A"&&r<="Z"?{key:"letter:".concat(r),label:r}:{key:"letter:#",label:"#"}}function n(e,r){let t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"Ungrouped",a=new Map,o=[];for(let t of e){var n;let e=null==(n=r(t))?void 0:n.trim();if(e){let r=a.get(e);r?r.push(t):a.set(e,[t])}else o.push(t)}let s=Array.from(a.keys()).sort((e,r)=>e.localeCompare(r)).map(e=>({key:"folder:".concat(e),label:e,items:a.get(e)}));return o.length>0&&s.push({key:"folder:__ungrouped__",label:t,items:o}),s}function s(e,r){let t=new Set;for(let o of e){var a;let e=null==(a=r(o))?void 0:a.trim();e&&t.add(e)}return Array.from(t).sort((e,r)=>e.localeCompare(r))}t.d(r,{Az:()=>a,Je:()=>n,po:()=>o,yF:()=>s})},62640:(e,r,t)=>{t.d(r,{A:()=>z});var a=t(95155),o=t(12115),n=t(2778),s=t(52363),l=t(65036),i=t(94049),c=t(78470),d=t(41983),u=t(9562),p=t(28548),f=t(22003),h=t(4474),m=t(25635),x=t(41602),g=t(73707),b=t(49501),v=t(17681),y=t(75912),j=t(70690),w=t(80007),S=t(74482),A=t(40171),k=t(36944);let C=(0,t(87021).h)("frontend/components/shared/FolderPickerDialog"),z=e=>{let{open:r,title:t="Choose a folder",selectFiles:z=!1,initialPath:F,onClose:T,onSelect:E}=e,[O,U]=(0,o.useState)(null),[P,R]=(0,o.useState)(""),[W,I]=(0,o.useState)(!1),[M,D]=(0,o.useState)(null),L=(0,o.useCallback)(async e=>{I(!0),D(null);try{let r=e?"?path=".concat(encodeURIComponent(e)):"",t=await fetch("/api/browse".concat(r)),a=await t.json();if(!t.ok||a.error)return void D(a.error||"HTTP ".concat(t.status));U(a),R(a.path)}catch(e){C.warn("Browse failed",e),D("Could not reach the backend to browse folders.")}finally{I(!1)}},[]);(0,o.useEffect)(()=>{r?L(F||void 0):(U(null),D(null))},[r,F,L]);let N=e=>{E(e),T()};return(0,a.jsxs)(n.A,{open:r,onClose:T,maxWidth:"sm",fullWidth:!0,children:[(0,a.jsx)(s.A,{children:t}),(0,a.jsxs)(l.A,{dividers:!0,sx:{display:"flex",flexDirection:"column",gap:1.5},children:[(0,a.jsxs)(i.default,{sx:{display:"flex",alignItems:"center",gap:1},children:[(0,a.jsx)(c.A,{title:"Up one folder",children:(0,a.jsx)("span",{children:(0,a.jsx)(d.A,{size:"small",disabled:!(null==O?void 0:O.parent)||W,onClick:()=>(null==O?void 0:O.parent)&&void L(O.parent),children:(0,a.jsx)(A.A,{fontSize:"small"})})})}),(0,a.jsx)(c.A,{title:"Home folder",children:(0,a.jsx)("span",{children:(0,a.jsx)(d.A,{size:"small",disabled:W,onClick:()=>void L(),children:(0,a.jsx)(k.A,{fontSize:"small"})})})}),(0,a.jsx)(u.A,{fullWidth:!0,size:"small",value:P,onChange:e=>R(e.target.value),onKeyDown:e=>{"Enter"===e.key&&(e.preventDefault(),L(P))},placeholder:"Type a path and press Enter"})]}),O&&O.drives.length>0&&(0,a.jsx)(i.default,{sx:{display:"flex",gap:.75,flexWrap:"wrap"},children:O.drives.map(e=>(0,a.jsx)(p.A,{label:e,size:"small",variant:O.path.toLowerCase().startsWith(e.toLowerCase())?"filled":"outlined",onClick:()=>void L(e)},e))}),M&&(0,a.jsx)(f.A,{severity:"error",children:M}),(0,a.jsxs)(i.default,{sx:{minHeight:240,maxHeight:"45vh",overflow:"auto",border:1,borderColor:"divider",borderRadius:1},children:[W&&(0,a.jsx)(i.default,{sx:{display:"flex",justifyContent:"center",py:4},children:(0,a.jsx)(h.default,{size:24})}),!W&&O&&0===O.entries.length&&(0,a.jsx)(m.default,{variant:"body2",color:"text.secondary",sx:{p:2},children:"This folder is empty."}),!W&&(0,a.jsx)(x.A,{dense:!0,disablePadding:!0,children:null==O?void 0:O.entries.map(e=>(0,a.jsxs)(g.A,{disabled:!e.isDirectory&&!z,onClick:()=>e.isDirectory?void L(e.path):N(e.path),children:[(0,a.jsx)(b.A,{sx:{minWidth:34},children:e.isDirectory?(0,a.jsx)(w.A,{fontSize:"small",color:"primary"}):(0,a.jsx)(S.A,{fontSize:"small"})}),(0,a.jsx)(v.A,{primary:e.name,primaryTypographyProps:{noWrap:!0}})]},e.path))})]})]}),(0,a.jsxs)(y.A,{children:[(0,a.jsx)(j.A,{onClick:T,children:"Cancel"}),(0,a.jsx)(j.A,{variant:"contained",disabled:!O||W,onClick:()=>O&&N(O.path),children:"Select this folder"})]})]})}},71651:(e,r,t)=>{t.d(r,{A:()=>g});var a=t(95155),o=t(12115),n=t(94049),s=t(25635),l=t(80777),i=t(9562),c=t(78470),d=t(41983),u=t(70690),p=t(86946),f=t(4484),h=t(80007),m=t(79299),x=t(62640);let g=e=>{let{roots:r,onChange:t}=e,g=Array.isArray(r)?r:[],[b,v]=(0,o.useState)(null),y=(e,r)=>{t(g.map((t,a)=>a===e?r:t))};return(0,a.jsxs)(n.default,{children:[(0,a.jsxs)(n.default,{sx:{display:"flex",alignItems:"center",mb:.5},children:[(0,a.jsx)(h.A,{fontSize:"small",sx:{mr:1,color:"text.secondary"}}),(0,a.jsx)(s.default,{variant:"subtitle1",children:"Workspace folders"})]}),(0,a.jsxs)(s.default,{variant:"caption",color:"text.secondary",sx:{display:"block",mb:1.5},children:["Limit which folders this server may work in. Advisory only — the server is told these paths via MCP roots; it is not a hard sandbox. Leave empty to default to the server's own root dir. Supports ",(0,a.jsx)("code",{children:"${global:VAR}"}),"."]}),(0,a.jsx)(l.A,{spacing:1,children:g.map((e,r)=>(0,a.jsxs)(n.default,{sx:{display:"flex",alignItems:"center",gap:1},children:[(0,a.jsx)(i.A,{size:"small",fullWidth:!0,placeholder:"/path/to/folder or file:///path",value:e,onChange:e=>y(r,e.target.value)}),(0,a.jsx)(c.A,{title:"Browse folders (on the FLUJO machine)",children:(0,a.jsx)(d.A,{size:"small",onClick:()=>v(r),"aria-label":"browse for folder",children:(0,a.jsx)(m.A,{fontSize:"small"})})}),(0,a.jsx)(c.A,{title:"Remove",children:(0,a.jsx)(d.A,{size:"small",onClick:()=>t(g.filter((e,t)=>t!==r)),"aria-label":"remove workspace folder",children:(0,a.jsx)(f.A,{fontSize:"small"})})})]},r))}),(0,a.jsx)(u.A,{size:"small",startIcon:(0,a.jsx)(p.A,{}),onClick:()=>t([...g,""]),sx:{mt:1},children:"Add folder"}),(0,a.jsx)(x.A,{open:null!==b,title:"Choose a workspace folder",initialPath:null!==b&&g[b]||void 0,onClose:()=>v(null),onSelect:e=>{null!==b&&y(b,e)}})]})}},80411:(e,r,t)=>{t.d(r,{Fu:()=>i,M8:()=>n,Qv:()=>s,Qz:()=>l});let a=(0,t(87021).h)("frontend/components/mcp/MCPServerManager/utils/serverUpdates"),o=new Map;async function n(e){let r=arguments.length>1&&void 0!==arguments[1]&&arguments[1],t=Date.now(),n={},s=[];for(let a of new Set(e.filter(Boolean))){let e=o.get(a);!r&&e&&t-e.at<6e5?n[a]=e.info:s.push(a)}if(s.length>0)try{let e=await fetch("/api/git",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({action:"checkUpdatesBatch",paths:s})}),r=await e.json();if(e.ok&&r.results)for(let[e,a]of Object.entries(r.results))o.set(e,{at:t,info:a}),n[e]=a;else a.warn("Batch update check failed",r.error)}catch(e){a.warn("Batch update check request failed",e)}return n}async function s(e){try{let r=await fetch("/api/git",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({action:"pullUpdates",savePath:e})}),t=await r.json();if(!r.ok)return{success:!1,error:t.error||"Failed to pull updates"};return{success:!0,oldSha:t.oldSha,newSha:t.newSha,updated:t.updated}}catch(e){return{success:!1,error:e.message||"Failed to pull updates"}}}async function l(e,r,t){let o=e.match(/github\.com[:/]([^/]+)\/([^/]+?)(?:\.git)?\/?$/i);if(!o)return null;try{let e=await fetch("https://api.github.com/repos/".concat(o[1],"/").concat(o[2],"/compare/").concat(r,"...").concat(t));if(!e.ok)return null;let a=await e.json(),n=Array.isArray(a.commits)?a.commits:[];return{behindBy:"number"==typeof a.total_commits?a.total_commits:null,commits:n.slice(-10).reverse().map(e=>{var r;return{sha:(e.sha||"").slice(0,7),message:((null==(r=e.commit)?void 0:r.message)||"").split("\n")[0]}})}}catch(e){return a.debug("GitHub compare preview failed (non-fatal)",e),null}}function i(e){return e?e.slice(0,7):""}},81956:(e,r,t)=>{t.d(r,{A:()=>y});var a=t(95155),o=t(12115),n=t(36314),s=t(86973),l=t(49501),i=t(17681),c=t(21067),d=t(2778),u=t(52363),p=t(65036),f=t(9562),h=t(75912),m=t(70690),x=t(9693),g=t(91665),b=t(7517),v=t(8190);let y=e=>{let{anchorEl:r,open:t,currentFolder:y,folders:j,onClose:w,onAssign:S}=e,[A,k]=(0,o.useState)(!1),[C,z]=(0,o.useState)(""),F=e=>{S(e),w()},T=()=>{let e=C.trim();e&&(k(!1),F(e))};return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsxs)(n.A,{anchorEl:r,open:t,onClose:w,children:[j.length>0&&j.map(e=>(0,a.jsxs)(s.A,{onClick:()=>F(e),selected:e===y,children:[(0,a.jsx)(l.A,{children:e===y?(0,a.jsx)(x.A,{fontSize:"small"}):(0,a.jsx)(g.A,{fontSize:"small"})}),(0,a.jsx)(i.A,{primary:e})]},e)),j.length>0&&(0,a.jsx)(c.A,{}),(0,a.jsxs)(s.A,{onClick:()=>{z(""),k(!0)},children:[(0,a.jsx)(l.A,{children:(0,a.jsx)(b.A,{fontSize:"small"})}),(0,a.jsx)(i.A,{primary:"New folder…"})]}),y&&(0,a.jsxs)(s.A,{onClick:()=>F(void 0),children:[(0,a.jsx)(l.A,{children:(0,a.jsx)(v.A,{fontSize:"small"})}),(0,a.jsx)(i.A,{primary:"Remove from folder"})]})]}),(0,a.jsxs)(d.A,{open:A,onClose:()=>k(!1),maxWidth:"xs",fullWidth:!0,children:[(0,a.jsx)(u.A,{children:"New folder"}),(0,a.jsx)(p.A,{children:(0,a.jsx)(f.A,{autoFocus:!0,margin:"dense",label:"Folder name",fullWidth:!0,value:C,onChange:e=>z(e.target.value),onKeyDown:e=>{"Enter"===e.key&&(e.preventDefault(),T())}})}),(0,a.jsxs)(h.A,{children:[(0,a.jsx)(m.A,{onClick:()=>k(!1),children:"Cancel"}),(0,a.jsx)(m.A,{variant:"contained",disabled:!C.trim(),onClick:T,children:"Create"})]})]})]})}},86631:(e,r,t)=>{t.d(r,{b:()=>n,c:()=>s});var a=t(56290);async function o(e,r){try{let t=await fetch("/api/git",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(e)});if(!t.ok||!t.body)return null;let o=null;return await (0,a.z)(t,e=>{if("stdout"===e.type||"stderr"===e.type)r(e.data);else if("result"===e.type){var t;o={success:e.success,output:null!=(t=e.commandOutput)?t:""}}}),o}catch(e){return console.error("Error streaming git command:",e),null}}let n=async(e,r,t)=>{if(t){let a=await o({action:"installStream",savePath:e,installCommand:r},t);if(a)return{success:a.success,message:a.success?{type:"success",text:"Dependencies installed successfully. You can now build the server."}:{type:"error",text:"Error installing dependencies. You can still try to build the server."},output:a.output||"No output was returned from the installation process."}}try{let t=await fetch("/api/git",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({action:"install",savePath:e,installCommand:r})}),a=await t.json();if(!t.ok)throw Error(a.error||"Failed to install dependencies");return{success:!0,message:{type:"success",text:"Dependencies installed successfully. You can now build the server."},output:a.commandOutput||"No output was returned from the installation process."}}catch(e){return console.error("Error installing dependencies:",e),{success:!1,message:{type:"error",text:"Error installing dependencies: ".concat(e.message||"Unknown error",". You can still try to build the server.")},output:e instanceof Response?await e.text():(null==e?void 0:e.message)||"Unknown error"}}},s=async(e,r,t)=>{if(t){let a=await o({action:"buildStream",savePath:e,buildCommand:r},t);if(a)return{success:a.success,message:a.success?{type:"success",text:"Server built successfully."}:{type:"error",text:"Error building server."},output:a.output||"No output was returned from the build process."}}try{let t=await fetch("/api/git",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({action:"build",savePath:e,buildCommand:r})}),a=await t.json();if(!t.ok)throw Error(a.error||"Failed to build repository");return{success:!0,message:{type:"success",text:"Server built successfully."},output:a.commandOutput||"No output was returned from the build process."}}catch(e){return console.error("Error building server:",e),{success:!1,message:{type:"error",text:"Error building server: ".concat(e.message||"Unknown error",".")},output:e instanceof Response?await e.text():(null==e?void 0:e.message)||"Unknown error"}}}},94035:(e,r,t)=>{t.d(r,{O:()=>s});var a=t(12115),o=t(17897);let n=(0,t(87021).h)("frontend/hooks/useServerTools");function s(e){let[r,t]=(0,a.useState)([]),[s,l]=(0,a.useState)(!1),[i,c]=(0,a.useState)(null),[d,u]=(0,a.useState)(null),[p,f]=(0,a.useState)(null),[h,m]=(0,a.useState)(0),[x,g]=(0,a.useState)(!1),b=(0,a.useRef)(null);(0,a.useEffect)(()=>()=>{b.current&&clearTimeout(b.current)},[]);let v=(0,a.useCallback)(async function(){let a=arguments.length>0&&void 0!==arguments[0]&&arguments[0];if(!e){t([]),c(null);return}if(f(e),!a&&d&&new Date().getTime()-d.getTime()<200&&r.length>0&&e===p)return void n.debug("Rate limiting tool refresh for server: ".concat(e));n.debug("Loading tools for server: ".concat(e)),l(!0),c(null);try{let r=await o.S.listServerTools(e);if(e!==p)return void n.debug("Server changed during tool loading from ".concat(e," to ").concat(p));if(r.error)n.warn("Error loading tools for ".concat(e,":"),r.error),c(r.error),t([]);else{let a=r.tools||[];n.debug("Loaded ".concat(a.length," tools for ").concat(e)),t(a),u(new Date),m(0)}}catch(r){if(e!==p)return void n.debug("Server changed during tool loading from ".concat(e," to ").concat(p));n.warn("Failed to load tools for server ".concat(e,":"),r),c("Failed to load tools: ".concat(r instanceof Error?r.message:"Unknown error")),t([])}finally{e===p&&l(!1)}},[e,d,r.length,p]),y=(0,a.useCallback)(()=>{if(!e)return;b.current&&(clearTimeout(b.current),b.current=null),g(!0);let r=Math.min(1e3*Math.pow(2,h),1e4);return n.debug("Retrying tool load for ".concat(e," in ").concat(r,"ms (attempt ").concat(h+1,")")),b.current=setTimeout(()=>{m(e=>e+1),v(!0),g(!1)},r),()=>{b.current&&clearTimeout(b.current)}},[e,h,v]),j=(0,a.useCallback)(async(r,t,a)=>{if(!e)return{success:!1,output:"",error:"No server selected"};n.debug("Testing tool ".concat(r," on server ").concat(e," with params:"),t);try{let s=await o.S.callTool(e,r,t,a);if(s.error)return n.warn("Error calling tool ".concat(r,":"),s.error),{success:!1,output:"",error:s.error};return n.debug("Tool ".concat(r," executed successfully:"),s),{success:!0,output:JSON.stringify(s,null,2)}}catch(e){return n.error("Exception calling tool ".concat(r,":"),e),{success:!1,output:"",error:e instanceof Error?e.message:"Unknown error occurred"}}},[e]);return(0,a.useEffect)(()=>{n.debug("Server name changed to: ".concat(e||"null")),b.current&&(clearTimeout(b.current),b.current=null),m(0),g(!1),e?(f(e),v()):(n.debug("Clearing tools as no server is selected"),t([]),c(null),f(null))},[e,v]),{tools:r,isLoading:s||x,error:i,loadTools:v,retryLoadTools:y,isRetrying:x,retryCount:h,testTool:j}}},94929:(e,r,t)=>{t.d(r,{default:()=>s});var a=t(95155);t(12115);var o=t(94049),n=t(4474);let s=e=>{let{size:r="medium",color:t="primary",className:s="",sx:l={}}=e,i="white"===t?{color:"#fff",...l}:l;return(0,a.jsxs)(o.default,{component:"span",sx:{display:"inline-block",lineHeight:0,...i},className:s,role:"status",children:[(0,a.jsx)(n.default,{size:{small:16,medium:24,large:36}[r],color:"white"===t?"inherit":t,"aria-hidden":"true"}),(0,a.jsx)(o.default,{component:"span",sx:{position:"absolute",width:"1px",height:"1px",padding:0,margin:"-1px",overflow:"hidden",clip:"rect(0, 0, 0, 0)",whiteSpace:"nowrap",borderWidth:0},children:"Loading..."})]})}},95906:(e,r,t)=>{t.d(r,{A:()=>eo});var a=t(95155),o=t(12115),n=t(87021),s=t(9352),l=t(36741),i=t(12857),c=t(48563),d=t(76530),u=t(14915),p=t(4484),f=t(80412),h=t(13548),m=t(20099),x=t(11414),g=t(26188),b=t(52277),v=t(89296),y=t(97714),j=t(94929),w=t(81956),S=t(17897),A=t(28548),k=t(67891),C=t(84318),z=t(4543),F=t(8415);let T=e=>{let{transport:r,size:t="small"}=e,o=(()=>{switch(r){case"stdio":return{label:"STDIO",icon:(0,a.jsx)(k.A,{fontSize:"small"}),color:"#1976d2",bgColor:"#e3f2fd"};case"websocket":return{label:"WebSocket",icon:(0,a.jsx)(C.A,{fontSize:"small"}),color:"#2e7d32",bgColor:"#e8f5e8"};case"sse":return{label:"SSE",icon:(0,a.jsx)(z.A,{fontSize:"small"}),color:"#f57c00",bgColor:"#fff3e0"};case"streamable":return{label:"HTTP Stream",icon:(0,a.jsx)(F.A,{fontSize:"small"}),color:"#00796b",bgColor:"#e0f2f1"};default:return{label:"UNKNOWN",icon:(0,a.jsx)(k.A,{fontSize:"small"}),color:"#757575",bgColor:"#f5f5f5"}}})();return(0,a.jsx)(A.A,{icon:o.icon,label:o.label,size:t,sx:{backgroundColor:o.bgColor,color:o.color,fontWeight:500,fontSize:"small"===t?"0.75rem":"0.875rem",height:"small"===t?24:32,"& .MuiChip-icon":{color:o.color}}})};var E=t(2778),O=t(52363),U=t(65036),P=t(75912),R=t(70690),W=t(94049),I=t(25635),M=t(22003),D=t(99944),L=t(22822),N=t(41602),B=t(23820),H=t(49501),J=t(17681),_=t(16186),q=t(80411),Y=t(86631);let V=(0,n.h)("frontend/components/mcp/MCPServerManager/ServerUpdateDialog"),K=e=>{let{open:r,onClose:t,serverName:n,rootPath:s,installCommand:i,buildCommand:d,enabled:u,updateInfo:p,onToggle:f,onUpdated:h}=e,[m,x]=(0,o.useState)(null),[g,b]=(0,o.useState)(!1),[v,w]=(0,o.useState)(!1),[S,k]=(0,o.useState)(!1),[C,z]=(0,o.useState)(null),[F,T]=(0,o.useState)({}),[K,Q]=(0,o.useState)(""),$=!!(i&&i.trim()),G=!!(d&&d.trim()),Z=[{key:"stop",label:"Stop server",active:u},{key:"pull",label:"Pull latest changes",active:!0},{key:"install",label:"Install dependencies (".concat(i,")"),active:$},{key:"build",label:"Build (".concat(d,")"),active:G},{key:"restart",label:"Restart server",active:u}];(0,o.useEffect)(()=>{r&&(b(!1),w(!1),k(!1),z(null),T({}),Q(""))},[r,n]),(0,o.useEffect)(()=>{if(r&&p.remoteUrl&&p.localSha&&p.remoteSha){let e=!1;return(0,q.Qz)(p.remoteUrl,p.localSha,p.remoteSha).then(r=>{e||x(r)}),()=>{e=!0}}x(null)},[r,p.remoteUrl,p.localSha,p.remoteSha]);let X=(0,o.useCallback)((e,r)=>{T(t=>({...t,[e]:r}))},[]),ee=(0,o.useCallback)((e,r)=>{Q(t=>t+(t?"\n":"")+"--- ".concat(e," ---\n")+(r||"").trim()+"\n")},[]),er=async()=>{w(!0),z(null),V.info("Starting update for server ".concat(n));let e=(e,r)=>{X(e,"error"),z(r),w(!1)};try{u&&(X("stop","running"),await Promise.resolve(f(!1)),X("stop","done")),X("pull","running");let r=await (0,q.Qv)(s);if(!r.success)return void e("pull",r.error||"Failed to pull updates");if(ee("Pull","Updated ".concat((0,q.Fu)(r.oldSha)," -> ").concat((0,q.Fu)(r.newSha))),X("pull","done"),$){X("install","running");let r=await (0,Y.b)(s,i.trim());if(ee("Install",r.output),!r.success)return void e("install",r.message.text);X("install","done")}if(G){X("build","running");let r=await (0,Y.c)(s,d.trim());if(ee("Build",r.output),!r.success)return void e("build",r.message.text);X("build","done")}u&&(X("restart","running"),await Promise.resolve(f(!0)),X("restart","done")),V.info("Update completed for server ".concat(n)),k(!0),w(!1),null==h||h()}catch(e){V.error("Update failed for server ".concat(n),e),z(e.message||"Update failed"),w(!1)}},et=v||S||Object.keys(F).length>0,ea=p.hasLocalChanges&&!g;return(0,a.jsxs)(E.A,{open:r,onClose:v?void 0:t,maxWidth:"sm",fullWidth:!0,onClick:e=>e.stopPropagation(),children:[(0,a.jsxs)(O.A,{component:"div",sx:{display:"flex",alignItems:"center",gap:1},children:[(0,a.jsx)(y.A,{color:"primary"}),"Update ",n]}),(0,a.jsxs)(U.A,{children:[(0,a.jsxs)(W.default,{sx:{display:"flex",alignItems:"center",gap:1,mb:1,flexWrap:"wrap"},children:[(0,a.jsx)(A.A,{size:"small",label:(0,q.Fu)(p.localSha),sx:{fontFamily:"monospace"}}),(0,a.jsx)(I.default,{variant:"body2",color:"text.secondary",children:"→"}),(0,a.jsx)(A.A,{size:"small",color:"primary",label:(0,q.Fu)(p.remoteSha),sx:{fontFamily:"monospace"}}),p.branch&&"HEAD"!==p.branch&&(0,a.jsxs)(I.default,{variant:"body2",color:"text.secondary",children:["on ",(0,a.jsx)("code",{children:p.branch})]}),(null==m?void 0:m.behindBy)!=null&&(0,a.jsxs)(I.default,{variant:"body2",color:"text.secondary",children:["(",m.behindBy," commit",1===m.behindBy?"":"s"," behind)"]})]}),p.repoRoot&&p.repoRoot.replace(/\\/g,"/").replace(/\/+$/,"").toLowerCase()!==s.replace(/\\/g,"/").replace(/\/+$/,"").toLowerCase()&&(0,a.jsxs)(I.default,{variant:"body2",color:"text.secondary",sx:{mb:1},children:["This server lives inside a larger repository — the update pulls"," ",(0,a.jsx)("code",{children:p.repoRoot})," as a whole (other servers from the same repository are updated along with it)."]}),m&&m.commits.length>0&&!et&&(0,a.jsx)(W.default,{sx:{mb:2,p:1,borderRadius:1,border:"1px solid",borderColor:"divider",maxHeight:160,overflow:"auto"},children:m.commits.map(e=>(0,a.jsxs)(I.default,{variant:"body2",sx:{fontSize:"0.8rem"},noWrap:!0,title:e.message,children:[(0,a.jsx)("code",{children:e.sha})," ",e.message]},e.sha))}),p.hasLocalChanges&&!et&&(0,a.jsxs)(M.A,{severity:"warning",sx:{mb:2},children:[(0,a.jsxs)(I.default,{variant:"body2",sx:{mb:1},children:["This repository has local changes to tracked files. Updating will ",(0,a.jsx)("strong",{children:"discard"})," them. Untracked files (e.g. a ",(0,a.jsx)("code",{children:".env"})," you created) and all FLUJO settings for this server are kept."]}),(0,a.jsx)(W.default,{component:"ul",sx:{m:0,pl:3,maxHeight:100,overflow:"auto"},children:p.dirtyFiles.map(e=>(0,a.jsx)("li",{children:(0,a.jsx)(I.default,{variant:"body2",component:"span",sx:{fontFamily:"monospace",fontSize:"0.8rem"},children:e})},e))}),(0,a.jsx)(D.A,{sx:{mt:1},control:(0,a.jsx)(L.A,{size:"small",checked:g,onChange:e=>b(e.target.checked)}),label:(0,a.jsx)(I.default,{variant:"body2",children:"Discard my local changes and update"})})]}),(0,a.jsx)(N.A,{dense:!0,disablePadding:!0,children:Z.filter(e=>e.active).map(e=>(0,a.jsxs)(B.Ay,{disableGutters:!0,sx:{py:.25},children:[(0,a.jsx)(H.A,{sx:{minWidth:32},children:(e=>{switch(e){case"running":return(0,a.jsx)(j.default,{size:"small",color:"primary"});case"done":return(0,a.jsx)(l.A,{color:"success",fontSize:"small"});case"error":return(0,a.jsx)(c.A,{color:"error",fontSize:"small"});default:return(0,a.jsx)(_.A,{color:"disabled",fontSize:"small"})}})(F[e.key])}),(0,a.jsx)(J.A,{primary:e.label,primaryTypographyProps:{variant:"body2",noWrap:!0,title:e.label}})]},e.key))}),C&&(0,a.jsxs)(M.A,{severity:"error",sx:{mt:2,whiteSpace:"pre-wrap"},children:[C,u&&(0,a.jsx)(I.default,{variant:"body2",sx:{mt:1},children:"The server was left stopped. Adjust the install/build commands via Edit, then re-enable it."})]}),S&&(0,a.jsxs)(M.A,{severity:"success",sx:{mt:2},children:["Server updated successfully",u?" and restarted":"","."]}),K&&(0,a.jsx)(W.default,{sx:{mt:2,p:1,borderRadius:1,bgcolor:"background.paper",border:"1px solid",borderColor:"divider",fontFamily:"monospace",fontSize:"0.75rem",whiteSpace:"pre-wrap",overflow:"auto",maxHeight:200},children:K})]}),(0,a.jsxs)(P.A,{children:[(0,a.jsx)(R.A,{onClick:t,disabled:v,children:S?"Close":"Cancel"}),!S&&(0,a.jsx)(R.A,{variant:"contained",color:"primary",startIcon:(0,a.jsx)(y.A,{}),onClick:er,disabled:v||ea,children:v?"Updating…":C?"Retry Update":"Update"})]})]})};var Q=t(80422),$=t(33567),G=t(29767),Z=t(84578),X=t(78470),ee=t(41983),er=t(9957),et=t(1702);let ea=(0,n.h)("frontend/components/mcp/MCPServerManager/ServerCard"),eo=e=>{let{name:r,status:n,path:k,enabled:C,transport:z,onToggle:F=()=>{},onRetry:D=()=>{},onDelete:N=()=>{},onClick:B,onEdit:H=()=>{},onAuthenticate:J,pickerMode:_=!1,error:Y,stderrOutput:V,authorizationUrl:eo,selected:en=!1,onSelect:es,selectionMode:el=!1,hasOAuthTokens:ei=!1,exposeAsMcpServer:ec=!1,enableMcpApps:ed=!1,updateInfo:eu,installCommand:ep,buildCommand:ef,onUpdated:eh,folder:em,folders:ex=[],onSetFolder:eg,builtIn:eb=!1}=e,[ev,ey]=(0,o.useState)(!1),[ej,ew]=(0,o.useState)(null),[eS,eA]=(0,o.useState)(!1),[ek,eC]=(0,o.useState)(!1),[ez,eF]=(0,o.useState)(""),[eT,eE]=(0,o.useState)("success"),[eO,eU]=(0,o.useState)(!1),[eP,eR]=(0,o.useState)(!1),[eW,eI]=(0,o.useState)(ec),[eM,eD]=(0,o.useState)(ed);(0,$.A)(),(0,o.useEffect)(()=>{eI(ec)},[ec]),(0,o.useEffect)(()=>{eD(ed)},[ed]);let eL="".concat(window.location.origin,"/mcp-proxy/").concat(encodeURIComponent(r)),eN=async e=>{eI(e);let t=await S.S.updateServerConfig(r,{exposeAsMcpServer:e});"success"in t&&t.success?(eF(e?"Server is now exposed to external apps.":"Server is no longer exposed."),eE("success")):(eI(!e),eF("Failed to update exposure setting."),eE("error")),eC(!0)},eB=async e=>{eD(e);let t=await S.S.updateServerConfig(r,{enableMcpApps:e});"success"in t&&t.success?(eF(e?"This server may now render interactive apps in chat (sandboxed).":"Interactive apps disabled for this server."),eE("success")):(eD(!e),eF("Failed to update the MCP Apps setting."),eE("error")),eC(!0)},eH=()=>{navigator.clipboard.writeText(eL),eF("Endpoint URL copied to clipboard."),eE("success"),eC(!0)},eJ={connected:"success.main",disconnected:"text.secondary",error:"error.main",connecting:"info.main",initialization:"info.main",requires_authentication:"warning.main"}[n];(0,o.useEffect)(()=>{if(("connecting"===n||"initialization"===n)&&C&&!_){eU(!0);let e=setTimeout(()=>{ea.debug("Polling status for server: ".concat(r)),D()},2e3);return()=>{clearTimeout(e),eU(!1)}}"connecting"!==n&&"initialization"!==n&&eU(!1)},[n,C,r,D]);let[e_,eq]=(0,o.useState)(null);(0,o.useEffect)(()=>()=>{e_&&clearTimeout(e_)},[e_]);let eY=async e=>{e.stopPropagation(),ea.debug("Reset OAuth tokens button clicked for server: ".concat(r)),eR(!0);try{let e=await fetch("/api/oauth/reset",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({serverName:r})});if(!e.ok){let r=await e.json();throw Error(r.error||"Failed to reset OAuth tokens")}let t=await e.json();ea.info("OAuth tokens reset successfully for ".concat(r),t),eF("OAuth tokens reset successfully. Server will require re-authentication."),eE("success"),eC(!0),setTimeout(()=>{D()},500)}catch(e){ea.error("Failed to reset OAuth tokens for ".concat(r),e),eF("Failed to reset OAuth tokens: ".concat(e instanceof Error?e.message:"Unknown error")),eE("error"),eC(!0)}finally{eR(!1)}},{getThemeValue:eV,getThemeColor:eK,colors:eQ}=(0,s.Ic)(),e$=()=>{ea.debug("Server restart initiated for: ".concat(r)),F(!1),setTimeout(()=>{F(!0),ea.info("Server ".concat(r," restarted"))},1e3)};return(0,a.jsxs)(G.A,{role:_?"button":void 0,"aria-pressed":_?en:void 0,sx:{cursor:"pointer",height:_?"100%":void 0,transition:"box-shadow 0.3s ease, border-color 0.12s ease",border:e=>_&&en?"2px solid ".concat(e.palette.primary.main):"2px solid transparent","&:hover":{boxShadow:3}},onClick:()=>{ea.debug("Server card clicked: ".concat(r)),B()},children:[(0,a.jsxs)(Z.A,{sx:{pb:1},children:[(0,a.jsxs)(W.default,{sx:{display:"flex",justifyContent:"space-between",alignItems:"flex-start",mb:1},children:[(0,a.jsxs)(W.default,{sx:{display:"flex",alignItems:"center",flex:1},children:[el&&es&&(0,a.jsx)(L.A,{checked:en,onClick:e=>e.stopPropagation(),onChange:e=>es(e.target.checked),size:"small",sx:{mr:1,p:.5}}),(0,a.jsx)(I.default,{variant:"h6",component:"h3",sx:{flex:1},children:r})]}),(0,a.jsxs)(W.default,{sx:{display:"flex",flexDirection:"column",alignItems:"flex-end",gap:.5},children:[(0,a.jsxs)(W.default,{sx:{display:"flex",alignItems:"center",gap:.5},children:[(null==eu?void 0:eu.updateAvailable)&&(0,a.jsx)(X.A,{title:"Update available: ".concat((0,q.Fu)(eu.localSha)," → ").concat((0,q.Fu)(eu.remoteSha),". Click to update."),children:(0,a.jsx)(A.A,{icon:(0,a.jsx)(y.A,{}),label:"Update",color:"warning",size:"small",onClick:e=>{e.stopPropagation(),ea.debug("Update badge clicked for server: ".concat(r)),eA(!0)}})}),eb?(0,a.jsx)(X.A,{title:"FLUJO's built-in server — always available, cannot be edited or removed.",children:(0,a.jsx)(A.A,{label:"Built-in",color:"primary",size:"small"})}):(0,a.jsx)(T,{transport:z,size:"small"})]}),(0,a.jsxs)(W.default,{sx:{display:"flex",alignItems:"center"},children:["connected"===n&&(0,a.jsx)(l.A,{color:"success",sx:{mr:.5},fontSize:"small"}),"disconnected"===n&&(0,a.jsx)(i.A,{color:"action",sx:{mr:.5},fontSize:"small"}),"error"===n&&(0,a.jsx)(c.A,{color:"error",sx:{mr:.5},fontSize:"small"}),"requires_authentication"===n&&(0,a.jsx)(f.A,{color:"warning",sx:{mr:.5},fontSize:"small"}),("connecting"===n||"initialization"===n)&&(0,a.jsx)(j.default,{size:"small",color:"primary",sx:{mr:.5}}),(0,a.jsx)(I.default,{variant:"body2",color:eJ,children:"requires_authentication"===n?"Requires Authentication":n})]})]})]}),(0,a.jsx)(I.default,{variant:"body2",color:"text.secondary",sx:{mb:1,fontSize:"0.875rem"},noWrap:!0,title:eb?void 0:k,children:eb?"FLUJO's own backend API — flow authoring, execution and server management as MCP tools.":k}),eb&&!_&&(0,a.jsxs)(W.default,{sx:{mt:1,mb:1,p:1,borderRadius:1,border:"1px solid",borderColor:"divider"},onClick:e=>e.stopPropagation(),children:[(0,a.jsxs)(W.default,{sx:{display:"flex",alignItems:"center"},children:[(0,a.jsx)(x.A,{fontSize:"small",sx:{mr:.5,color:"primary.main"}}),(0,a.jsx)(X.A,{title:"External MCP clients (Claude Code, Claude Desktop, Cursor, …) can drive FLUJO through this local endpoint.",children:(0,a.jsx)(I.default,{variant:"body2",sx:{fontWeight:500},children:"Exposed to external apps"})})]}),(0,a.jsxs)(W.default,{sx:{display:"flex",alignItems:"center",mt:.5},children:[(0,a.jsx)(I.default,{variant:"caption",sx:{flex:1,fontFamily:"monospace",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},title:eL,children:eL}),(0,a.jsx)(X.A,{title:"Copy endpoint URL",children:(0,a.jsx)(ee.A,{size:"small",onClick:eH,children:(0,a.jsx)(b.A,{fontSize:"small"})})})]})]}),!eb&&!_&&(0,a.jsxs)(W.default,{sx:{mt:1,mb:1,p:1,borderRadius:1,border:"1px solid",borderColor:"divider"},onClick:e=>e.stopPropagation(),children:[(0,a.jsxs)(W.default,{sx:{display:"flex",alignItems:"center"},children:[(0,a.jsx)(x.A,{fontSize:"small",sx:{mr:.5,color:eW?"primary.main":"text.disabled"}}),(0,a.jsx)(er.A,{checked:eW,onChange:e=>eN(e.target.checked),size:"small"}),(0,a.jsx)(X.A,{title:"Re-expose this server's tools to external MCP clients (Claude Desktop, Cursor, …) at a local URL.",children:(0,a.jsx)(I.default,{variant:"body2",sx:{fontWeight:500},children:"Expose to external apps"})})]}),eW&&(0,a.jsxs)(W.default,{sx:{display:"flex",alignItems:"center",mt:.5},children:[(0,a.jsx)(I.default,{variant:"caption",sx:{flex:1,fontFamily:"monospace",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},title:eL,children:eL}),(0,a.jsx)(X.A,{title:"Copy endpoint URL",children:(0,a.jsx)(ee.A,{size:"small",onClick:eH,children:(0,a.jsx)(b.A,{fontSize:"small"})})})]})]}),!eb&&!_&&(0,a.jsx)(W.default,{sx:{mt:1,mb:1,p:1,borderRadius:1,border:"1px solid",borderColor:"divider"},onClick:e=>e.stopPropagation(),children:(0,a.jsxs)(W.default,{sx:{display:"flex",alignItems:"center"},children:[(0,a.jsx)(g.A,{fontSize:"small",sx:{mr:.5,color:eM?"primary.main":"text.disabled"}}),(0,a.jsx)(er.A,{checked:eM,onChange:e=>eB(e.target.checked),size:"small"}),(0,a.jsx)(X.A,{title:"Allow this server's tools to render interactive apps (MCP Apps / ui:// resources) in chat. Rendered read-only in a strict sandbox. Only enable for servers you trust.",children:(0,a.jsx)(I.default,{variant:"body2",sx:{fontWeight:500},children:"Render interactive apps"})})]})}),"error"===n&&(0,a.jsxs)(W.default,{sx:{mt:1,mb:1},children:[(0,a.jsxs)(W.default,{sx:{display:"flex",justifyContent:"space-between",alignItems:"center",mb:.5},children:[(0,a.jsx)(I.default,{variant:"body2",fontWeight:"medium",color:"error",children:"Error:"}),(0,a.jsx)(R.A,{size:"small",color:"primary",onClick:e=>{e.stopPropagation(),ea.debug("View full error clicked for server: ".concat(r)),ey(!0)},children:"View Full Error"})]}),(0,a.jsx)(W.default,{sx:{maxHeight:"80px",overflow:"auto",p:1,borderRadius:1,bgcolor:e=>eK("error.background"),color:e=>eK("error.text"),border:"1px solid",borderColor:e=>eK("error.border"),fontSize:"0.75rem",fontWeight:500,whiteSpace:"pre-wrap"},children:Y||"Unknown error"})]}),"requires_authentication"===n&&!_&&(0,a.jsxs)(W.default,{sx:{mt:1,mb:1},children:[(0,a.jsx)(W.default,{sx:{display:"flex",justifyContent:"space-between",alignItems:"center",mb:1},children:(0,a.jsx)(I.default,{variant:"body2",fontWeight:"medium",color:"warning.main",children:"Authentication Required"})}),(0,a.jsxs)(R.A,{variant:"contained",color:"warning",size:"small",startIcon:(0,a.jsx)(h.A,{}),onClick:async e=>{if(e.stopPropagation(),ea.debug("Authenticate button clicked for server: ".concat(r)),J)J();else try{let e=await fetch("/api/oauth/initiate",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({serverName:r})});if(!e.ok){let r=await e.json();throw Error(r.error||"Failed to initiate OAuth")}let{authorizationUrl:a,alreadyAuthorized:o}=await e.json();if(o||!a){ea.info("Server ".concat(r," already authorized, no popup needed")),e$();return}let{openOAuthPopup:n}=await t.e(8198).then(t.bind(t,68198));await n({url:a,windowName:"oauth_".concat(r),onSuccess:e=>{ea.info("OAuth authentication successful for ".concat(r),e),ea.info("Automatically restarting server ".concat(r," after OAuth completion")),e$()},onError:e=>{ea.error("OAuth authentication failed for ".concat(r),e),eF("OAuth authentication failed"),eE("error"),eC(!0)}})}catch(e){ea.error("Failed to start OAuth authentication for ".concat(r),e),eF("Failed to start OAuth authentication"),eE("error"),eC(!0)}},sx:{width:"100%"},children:["Authenticate with ",r]})]})]}),!eb&&!_&&(0,a.jsxs)(et.A,{sx:{justifyContent:"space-between",px:2,py:1},children:[(0,a.jsxs)(W.default,{sx:{display:"flex",alignItems:"center"},children:[(0,a.jsx)(er.A,{checked:C,onClick:e=>e.stopPropagation(),onChange:e=>{ea.debug("Server ".concat(r," toggle changed to: ").concat(e.target.checked)),F(e.target.checked)},color:"primary",size:"small"}),(0,a.jsx)(I.default,{variant:"body2",sx:{ml:.5,fontWeight:500,color:C?"primary.main":"text.secondary"},children:C?"Enabled":"Disabled"}),C&&(0,a.jsx)(X.A,{title:"Restart server",children:(0,a.jsx)(ee.A,{size:"small",onClick:e=>{e.stopPropagation(),ea.debug("Restart button clicked for server: ".concat(r)),e$()},sx:{ml:1},children:(0,a.jsx)(d.A,{fontSize:"small"})})})]}),(0,a.jsxs)(W.default,{children:[(0,a.jsx)(X.A,{title:"Retry connection",children:(0,a.jsx)(ee.A,{color:"primary",onClick:e=>{e.stopPropagation(),ea.debug("Retry button clicked for server: ".concat(r)),e_&&clearTimeout(e_),eU(!0),D();let t=setTimeout(()=>{"connecting"!==n&&"initialization"!==n&&eU(!1),eq(null)},1e4);eq(t)},disabled:eO,size:"small",children:eO?(0,a.jsx)(j.default,{size:"small",color:"primary"}):(0,a.jsx)(d.A,{})})}),"streamable"===z&&ei&&(0,a.jsx)(X.A,{title:"Reset OAuth tokens",children:(0,a.jsx)(ee.A,{color:"warning",onClick:eY,disabled:eP,size:"small",children:eP?(0,a.jsx)(j.default,{size:"small",color:"primary"}):(0,a.jsx)(m.A,{})})}),eg&&(0,a.jsx)(X.A,{title:em?"Folder: ".concat(em):"Move to folder",children:(0,a.jsx)(ee.A,{color:em?"primary":"default",onClick:e=>{e.stopPropagation(),ew(e.currentTarget)},size:"small",children:(0,a.jsx)(v.A,{})})}),(0,a.jsx)(X.A,{title:"Edit server",children:(0,a.jsx)(ee.A,{color:"primary",onClick:e=>{e.stopPropagation(),H()},size:"small",children:(0,a.jsx)(u.A,{})})}),(0,a.jsx)(X.A,{title:"Delete server",children:(0,a.jsx)(ee.A,{color:"error",onClick:e=>{e.stopPropagation(),N()},size:"small",children:(0,a.jsx)(p.A,{})})})]})]}),eg&&(0,a.jsx)(w.A,{anchorEl:ej,open:!!ej,currentFolder:em,folders:ex,onClose:()=>ew(null),onAssign:e=>eg(e)}),(0,a.jsxs)(E.A,{open:ev,onClose:()=>{ea.debug("Error modal closed for server: ".concat(r)),ey(!1)},maxWidth:"md",fullWidth:!0,onClick:e=>e.stopPropagation(),children:[(0,a.jsxs)(O.A,{component:"div",children:["Error Details for ",r]}),(0,a.jsxs)(U.A,{children:[(0,a.jsx)(W.default,{sx:{p:2,borderRadius:1,bgcolor:e=>eK("error.background"),color:e=>eK("error.text"),border:"1px solid",borderColor:e=>eK("error.border"),fontFamily:"monospace",fontSize:"0.875rem",fontWeight:500,whiteSpace:"pre-wrap",overflow:"auto",maxHeight:"300px",mb:2},children:Y||"Unknown error"}),V&&(0,a.jsxs)(W.default,{sx:{mt:2},children:[(0,a.jsx)(I.default,{variant:"h6",gutterBottom:!0,children:"Stderr Output:"}),(0,a.jsx)(W.default,{sx:{p:2,borderRadius:1,bgcolor:"background.paper",border:"1px solid",borderColor:"divider",fontFamily:"monospace",fontSize:"0.875rem",whiteSpace:"pre-wrap",overflow:"auto",maxHeight:"300px"},children:V})]})]}),(0,a.jsxs)(P.A,{children:[(0,a.jsx)(R.A,{onClick:()=>ey(!1),children:"Close"}),(0,a.jsx)(R.A,{onClick:()=>{let e=[Y||"Unknown error",V?"\n\nStderr Output:\n".concat(V):""].join("");navigator.clipboard.writeText(e),ea.debug("Error copied to clipboard for server: ".concat(r)),eF("Error message copied to clipboard"),eE("success"),eC(!0)},color:"primary",children:"Copy to Clipboard"})]})]}),eu&&(0,a.jsx)(K,{open:eS,onClose:()=>eA(!1),serverName:r,rootPath:k,installCommand:ep,buildCommand:ef,enabled:C,updateInfo:eu,onToggle:F,onUpdated:eh}),(0,a.jsx)(Q.A,{open:ek,autoHideDuration:3e3,onClose:()=>eC(!1),anchorOrigin:{vertical:"bottom",horizontal:"center"},children:(0,a.jsx)(M.A,{onClose:()=>eC(!1),severity:eT,sx:{width:"100%"},children:ez||"Error message copied to clipboard"})})]})}},97104:(e,r,t)=>{t.d(r,{Xk:()=>o});var a=t(12115);function o(e,r){let[t,o]=(0,a.useState)(()=>(function(e,r){try{let t=window.localStorage.getItem(e);if(null===t)return r;return JSON.parse(t)}catch(e){return r}})(e,r));return[t,(0,a.useCallback)(r=>{o(t=>{let a="function"==typeof r?r(t):r;try{window.localStorage.setItem(e,JSON.stringify(a))}catch(e){}return a})},[e])]}}}]);
@@ -1 +0,0 @@
1
- "use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[924],{8828:(t,e,n)=>{t.exports=n(83654)},12313:(t,e,n)=>{n.d(e,{A:()=>o});var r=n(36697),i=n(95155);let o=(0,r.A)((0,i.jsx)("path",{d:"M20 2H4c-1.1 0-1.99.9-1.99 2L2 22l4-4h14c1.1 0 2-.9 2-2V4c0-1.1-.9-2-2-2M6 9h12v2H6zm8 5H6v-2h8zm4-6H6V6h12z"}),"Chat")},14806:(t,e,n)=>{t.exports=n(30125)},20699:(t,e,n)=>{n.d(e,{A:()=>A});var r=n(3648),i=n(12115),o=n(2821),a=n(57001),u=n(8532),l=n(10225),s=n(48116),c=n(66964),h=n(16625),f=n(85795),d=n(95195);function p(t){return(0,d.Ay)("MuiSkeleton",t)}(0,f.A)("MuiSkeleton",["root","text","rectangular","rounded","circular","pulse","wave","withChildren","fitContent","heightAuto"]);var y=n(95155);function m(){let t=(0,r._)(["\n 0% {\n opacity: 1;\n }\n\n 50% {\n opacity: 0.4;\n }\n\n 100% {\n opacity: 1;\n }\n"]);return m=function(){return t},t}function g(){let t=(0,r._)(["\n 0% {\n transform: translateX(-100%);\n }\n\n 50% {\n /* +0.5s of delay between each loop */\n transform: translateX(100%);\n }\n\n 100% {\n transform: translateX(100%);\n }\n"]);return g=function(){return t},t}function v(){let t=(0,r._)(["\n animation: "," 2s ease-in-out 0.5s infinite;\n "]);return v=function(){return t},t}function x(){let t=(0,r._)(["\n &::after {\n animation: "," 2s linear 0.5s infinite;\n }\n "]);return x=function(){return t},t}let w=(0,l.i7)(m()),_=(0,l.i7)(g()),b="string"!=typeof w?(0,l.AH)(v(),w):null,M="string"!=typeof _?(0,l.AH)(x(),_):null,E=(0,s.Ay)("span",{name:"MuiSkeleton",slot:"Root",overridesResolver:(t,e)=>{let{ownerState:n}=t;return[e.root,e[n.variant],!1!==n.animation&&e[n.animation],n.hasChildren&&e.withChildren,n.hasChildren&&!n.width&&e.fitContent,n.hasChildren&&!n.height&&e.heightAuto]}})((0,c.A)(t=>{let{theme:e}=t,n=String(e.shape.borderRadius).match(/[\d.\-+]*\s*(.*)/)[1]||"px",r=parseFloat(e.shape.borderRadius);return{display:"block",backgroundColor:e.vars?e.vars.palette.Skeleton.bg:(0,u.X4)(e.palette.text.primary,"light"===e.palette.mode?.11:.13),height:"1.2em",variants:[{props:{variant:"text"},style:{marginTop:0,marginBottom:0,height:"auto",transformOrigin:"0 55%",transform:"scale(1, 0.60)",borderRadius:"".concat(r).concat(n,"/").concat(Math.round(r/.6*10)/10).concat(n),"&:empty:before":{content:'"\\00a0"'}}},{props:{variant:"circular"},style:{borderRadius:"50%"}},{props:{variant:"rounded"},style:{borderRadius:(e.vars||e).shape.borderRadius}},{props:t=>{let{ownerState:e}=t;return e.hasChildren},style:{"& > *":{visibility:"hidden"}}},{props:t=>{let{ownerState:e}=t;return e.hasChildren&&!e.width},style:{maxWidth:"fit-content"}},{props:t=>{let{ownerState:e}=t;return e.hasChildren&&!e.height},style:{height:"auto"}},{props:{animation:"pulse"},style:b||{animation:"".concat(w," 2s ease-in-out 0.5s infinite")}},{props:{animation:"wave"},style:{position:"relative",overflow:"hidden",WebkitMaskImage:"-webkit-radial-gradient(white, black)","&::after":{background:"linear-gradient(\n 90deg,\n transparent,\n ".concat((e.vars||e).palette.action.hover,",\n transparent\n )"),content:'""',position:"absolute",transform:"translateX(-100%)",bottom:0,left:0,right:0,top:0}}},{props:{animation:"wave"},style:M||{"&::after":{animation:"".concat(_," 2s linear 0.5s infinite")}}}]}})),A=i.forwardRef(function(t,e){let n=(0,h.b)({props:t,name:"MuiSkeleton"}),{animation:r="pulse",className:i,component:u="span",height:l,style:s,variant:c="text",width:f,...d}=n,m={...n,animation:r,component:u,variant:c,hasChildren:!!d.children},g=(t=>{let{classes:e,variant:n,animation:r,hasChildren:i,width:o,height:u}=t;return(0,a.A)({root:["root",n,r,i&&"withChildren",i&&!o&&"fitContent",i&&!u&&"heightAuto"]},p,e)})(m);return(0,y.jsx)(E,{as:u,ref:e,className:(0,o.A)(g.root,i),ownerState:m,...d,style:{width:f,height:l,...s}})})},23718:(t,e,n)=>{n.d(e,{h:()=>h,n:()=>s});var r=n(12115),i=n(8828);let o=t=>{let e,n=new Set,r=(t,r)=>{let i="function"==typeof t?t(e):t;if(!Object.is(i,e)){let t=e;e=(null!=r?r:"object"!=typeof i||null===i)?i:Object.assign({},e,i),n.forEach(n=>n(e,t))}},i=()=>e,o={setState:r,getState:i,getInitialState:()=>a,subscribe:t=>(n.add(t),()=>n.delete(t)),destroy:()=>{console.warn("[DEPRECATED] The `destroy` method will be unsupported in a future version. Instead use unsubscribe function returned by subscribe. Everything will be garbage-collected if store is garbage-collected."),n.clear()}},a=e=t(r,i,o);return o},{useDebugValue:a}=r,{useSyncExternalStoreWithSelector:u}=i,l=t=>t;function s(t,e=l,n){let r=u(t.subscribe,t.getState,t.getServerState||t.getInitialState,e,n);return a(r),r}let c=(t,e)=>{let n=(t=>t?o(t):o)(t),r=(t,r=e)=>s(n,t,r);return Object.assign(r,n),r},h=(t,e)=>t?c(t,e):c},30125:(t,e,n)=>{var r=n(12115),i="function"==typeof Object.is?Object.is:function(t,e){return t===e&&(0!==t||1/t==1/e)||t!=t&&e!=e},o=r.useState,a=r.useEffect,u=r.useLayoutEffect,l=r.useDebugValue;function s(t){var e=t.getSnapshot;t=t.value;try{var n=e();return!i(t,n)}catch(t){return!0}}var c="undefined"==typeof window||void 0===window.document||void 0===window.document.createElement?function(t,e){return e()}:function(t,e){var n=e(),r=o({inst:{value:n,getSnapshot:e}}),i=r[0].inst,c=r[1];return u(function(){i.value=n,i.getSnapshot=e,s(i)&&c({inst:i})},[t,n,e]),a(function(){return s(i)&&c({inst:i}),t(function(){s(i)&&c({inst:i})})},[t]),l(n),n};e.useSyncExternalStore=void 0!==r.useSyncExternalStore?r.useSyncExternalStore:c},43621:(t,e,n)=>{n.d(e,{A:()=>function t(e){if("string"==typeof e||"number"==typeof e)return""+e;let n="";if(Array.isArray(e))for(let r=0,i;r<e.length;r++)""!==(i=t(e[r]))&&(n+=(n&&" ")+i);else for(let t in e)e[t]&&(n+=(n&&" ")+t);return n}})},55930:(t,e,n)=>{n.d(e,{A:()=>o});var r=n(36697),i=n(95155);let o=(0,r.A)((0,i.jsx)("path",{d:"M22 11V3h-7v3H9V3H2v8h7V8h2v10h4v3h7v-8h-7v3h-2V8h2v3z"}),"AccountTree")},56350:(t,e,n)=>{n.d(e,{A:()=>o});var r=n(36697),i=n(95155);let o=(0,r.A)((0,i.jsx)("path",{d:"M19.14 12.94c.04-.3.06-.61.06-.94 0-.32-.02-.64-.07-.94l2.03-1.58c.18-.14.23-.41.12-.61l-1.92-3.32c-.12-.22-.37-.29-.59-.22l-2.39.96c-.5-.38-1.03-.7-1.62-.94l-.36-2.54c-.04-.24-.24-.41-.48-.41h-3.84c-.24 0-.43.17-.47.41l-.36 2.54c-.59.24-1.13.57-1.62.94l-2.39-.96c-.22-.08-.47 0-.59.22L2.74 8.87c-.12.21-.08.47.12.61l2.03 1.58c-.05.3-.09.63-.09.94s.02.64.07.94l-2.03 1.58c-.18.14-.23.41-.12.61l1.92 3.32c.12.22.37.29.59.22l2.39-.96c.5.38 1.03.7 1.62.94l.36 2.54c.05.24.24.41.48.41h3.84c.24 0 .44-.17.47-.41l.36-2.54c.59-.24 1.13-.56 1.62-.94l2.39.96c.22.08.47 0 .59-.22l1.92-3.32c.12-.22.07-.47-.12-.61zM12 15.6c-1.98 0-3.6-1.62-3.6-3.6s1.62-3.6 3.6-3.6 3.6 1.62 3.6 3.6-1.62 3.6-3.6 3.6"}),"Settings")},56900:(t,e,n)=>{n.d(e,{A:()=>o});var r=n(36697),i=n(95155);let o=(0,r.A)((0,i.jsx)("path",{d:"M22 11V3h-7v3H9V3H2v8h7V8h2v10h4v3h7v-8h-7v3h-2V8h2v3zM7 9H4V5h3zm10 6h3v4h-3zm0-10h3v4h-3z"}),"AccountTreeOutlined")},57459:(t,e,n)=>{n.d(e,{x:()=>r});function r(t,e){if(Object.is(t,e))return!0;if("object"!=typeof t||null===t||"object"!=typeof e||null===e)return!1;if(t instanceof Map&&e instanceof Map){if(t.size!==e.size)return!1;for(let[n,r]of t)if(!Object.is(r,e.get(n)))return!1;return!0}if(t instanceof Set&&e instanceof Set){if(t.size!==e.size)return!1;for(let n of t)if(!e.has(n))return!1;return!0}let n=Object.keys(t);if(n.length!==Object.keys(e).length)return!1;for(let r of n)if(!Object.prototype.hasOwnProperty.call(e,r)||!Object.is(t[r],e[r]))return!1;return!0}},60691:(t,e,n)=>{n.d(e,{A:()=>o});var r=n(36697),i=n(95155);let o=(0,r.A)((0,i.jsx)("path",{d:"M11 15h2v2h-2zm0-8h2v6h-2zm.99-5C6.47 2 2 6.48 2 12s4.47 10 9.99 10C17.52 22 22 17.52 22 12S17.52 2 11.99 2M12 20c-4.42 0-8-3.58-8-8s3.58-8 8-8 8 3.58 8 8-3.58 8-8 8"}),"ErrorOutline")},62962:(t,e,n)=>{n.d(e,{A:()=>o});var r=n(36697),i=n(95155);let o=(0,r.A)((0,i.jsx)("path",{d:"m12 8-6 6 1.41 1.41L12 10.83l4.59 4.58L18 14z"}),"ExpandLess")},76122:(t,e,n)=>{n.d(e,{Do:()=>u,WZ:()=>i,TG:()=>l,ny:()=>o,yX:()=>s,xN:()=>c,Qc:()=>a,I$:()=>rl,aQ:()=>rd,di:()=>rp,kO:()=>rb,rN:()=>nY,bi:()=>n9,_s:()=>n$,aE:()=>nt,Hm:()=>n5,tM:()=>eG,KE:()=>nm,tn:()=>eQ,xc:()=>eU,us:()=>nk,IO:()=>e7,e_:()=>nO,Fp:()=>nj,Mi:()=>nf,HF:()=>e1,Eo:()=>nT,b5:()=>nG,Tq:()=>ne,qX:()=>nD,q1:()=>nL,oj:()=>nH,aZ:()=>e8,aW:()=>n2,uD:()=>nE,Jo:()=>e6,U$:()=>e9,X6:()=>nd,oN:()=>nZ,ah:()=>nF,R4:()=>n_,r8:()=>re,ZO:()=>eZ,bK:()=>eJ,b$:()=>e2,uj:()=>nq,v5:()=>nI,Ue:()=>nb,Er:()=>nC,oB:()=>e5,kf:()=>ny,mW:()=>np,Q6:()=>nS,QE:()=>nA,kM:()=>nc,No:()=>rr,Ff:()=>nv,zj:()=>nx,s_:()=>ng,vS:()=>n8,qn:()=>ro,uL:()=>rn,YN:()=>nz});var r,i,o,a,u,l,s,c,h={value:()=>{}};function f(){for(var t,e=0,n=arguments.length,r={};e<n;++e){if(!(t=arguments[e]+"")||t in r||/[\s.]/.test(t))throw Error("illegal type: "+t);r[t]=[]}return new d(r)}function d(t){this._=t}function p(t,e,n){for(var r=0,i=t.length;r<i;++r)if(t[r].name===e){t[r]=h,t=t.slice(0,r).concat(t.slice(r+1));break}return null!=n&&t.push({name:e,value:n}),t}function y(){}function m(t){return null==t?y:function(){return this.querySelector(t)}}function g(){return[]}function v(t){return null==t?g:function(){return this.querySelectorAll(t)}}function x(t){return function(){return this.matches(t)}}function w(t){return function(e){return e.matches(t)}}d.prototype=f.prototype={constructor:d,on:function(t,e){var n,r=this._,i=(t+"").trim().split(/^|\s+/).map(function(t){var e="",n=t.indexOf(".");if(n>=0&&(e=t.slice(n+1),t=t.slice(0,n)),t&&!r.hasOwnProperty(t))throw Error("unknown type: "+t);return{type:t,name:e}}),o=-1,a=i.length;if(arguments.length<2){for(;++o<a;)if((n=(t=i[o]).type)&&(n=function(t,e){for(var n,r=0,i=t.length;r<i;++r)if((n=t[r]).name===e)return n.value}(r[n],t.name)))return n;return}if(null!=e&&"function"!=typeof e)throw Error("invalid callback: "+e);for(;++o<a;)if(n=(t=i[o]).type)r[n]=p(r[n],t.name,e);else if(null==e)for(n in r)r[n]=p(r[n],t.name,null);return this},copy:function(){var t={},e=this._;for(var n in e)t[n]=e[n].slice();return new d(t)},call:function(t,e){if((n=arguments.length-2)>0)for(var n,r,i=Array(n),o=0;o<n;++o)i[o]=arguments[o+2];if(!this._.hasOwnProperty(t))throw Error("unknown type: "+t);for(r=this._[t],o=0,n=r.length;o<n;++o)r[o].value.apply(e,i)},apply:function(t,e,n){if(!this._.hasOwnProperty(t))throw Error("unknown type: "+t);for(var r=this._[t],i=0,o=r.length;i<o;++i)r[i].value.apply(e,n)}};var _=Array.prototype.find;function b(){return this.firstElementChild}var M=Array.prototype.filter;function E(){return Array.from(this.children)}function A(t){return Array(t.length)}function k(t,e){this.ownerDocument=t.ownerDocument,this.namespaceURI=t.namespaceURI,this._next=null,this._parent=t,this.__data__=e}function $(t,e,n,r,i,o){for(var a,u=0,l=e.length,s=o.length;u<s;++u)(a=e[u])?(a.__data__=o[u],r[u]=a):n[u]=new k(t,o[u]);for(;u<l;++u)(a=e[u])&&(i[u]=a)}function z(t,e,n,r,i,o,a){var u,l,s,c=new Map,h=e.length,f=o.length,d=Array(h);for(u=0;u<h;++u)(l=e[u])&&(d[u]=s=a.call(l,l.__data__,u,e)+"",c.has(s)?i[u]=l:c.set(s,l));for(u=0;u<f;++u)s=a.call(t,o[u],u,o)+"",(l=c.get(s))?(r[u]=l,l.__data__=o[u],c.delete(s)):n[u]=new k(t,o[u]);for(u=0;u<h;++u)(l=e[u])&&c.get(d[u])===l&&(i[u]=l)}function S(t){return t.__data__}function N(t,e){return t<e?-1:t>e?1:t>=e?0:NaN}k.prototype={constructor:k,appendChild:function(t){return this._parent.insertBefore(t,this._next)},insertBefore:function(t,e){return this._parent.insertBefore(t,e)},querySelector:function(t){return this._parent.querySelector(t)},querySelectorAll:function(t){return this._parent.querySelectorAll(t)}};var T="http://www.w3.org/1999/xhtml";let H={svg:"http://www.w3.org/2000/svg",xhtml:T,xlink:"http://www.w3.org/1999/xlink",xml:"http://www.w3.org/XML/1998/namespace",xmlns:"http://www.w3.org/2000/xmlns/"};function P(t){var e=t+="",n=e.indexOf(":");return n>=0&&"xmlns"!==(e=t.slice(0,n))&&(t=t.slice(n+1)),H.hasOwnProperty(e)?{space:H[e],local:t}:t}function I(t){return t.ownerDocument&&t.ownerDocument.defaultView||t.document&&t||t.defaultView}function C(t,e){return t.style.getPropertyValue(e)||I(t).getComputedStyle(t,null).getPropertyValue(e)}function L(t){return t.trim().split(/^|\s+/)}function B(t){return t.classList||new O(t)}function O(t){this._node=t,this._names=L(t.getAttribute("class")||"")}function V(t,e){for(var n=B(t),r=-1,i=e.length;++r<i;)n.add(e[r])}function R(t,e){for(var n=B(t),r=-1,i=e.length;++r<i;)n.remove(e[r])}function j(){this.textContent=""}function X(){this.innerHTML=""}function D(){this.nextSibling&&this.parentNode.appendChild(this)}function q(){this.previousSibling&&this.parentNode.insertBefore(this,this.parentNode.firstChild)}function Y(t){var e=P(t);return(e.local?function(t){return function(){return this.ownerDocument.createElementNS(t.space,t.local)}}:function(t){return function(){var e=this.ownerDocument,n=this.namespaceURI;return n===T&&e.documentElement.namespaceURI===T?e.createElement(t):e.createElementNS(n,t)}})(e)}function F(){return null}function W(){var t=this.parentNode;t&&t.removeChild(this)}function K(){var t=this.cloneNode(!1),e=this.parentNode;return e?e.insertBefore(t,this.nextSibling):t}function U(){var t=this.cloneNode(!0),e=this.parentNode;return e?e.insertBefore(t,this.nextSibling):t}function Z(t){return function(){var e=this.__on;if(e){for(var n,r=0,i=-1,o=e.length;r<o;++r)(n=e[r],t.type&&n.type!==t.type||n.name!==t.name)?e[++i]=n:this.removeEventListener(n.type,n.listener,n.options);++i?e.length=i:delete this.__on}}}function Q(t,e,n){return function(){var r,i=this.__on,o=function(t){e.call(this,t,this.__data__)};if(i){for(var a=0,u=i.length;a<u;++a)if((r=i[a]).type===t.type&&r.name===t.name){this.removeEventListener(r.type,r.listener,r.options),this.addEventListener(r.type,r.listener=o,r.options=n),r.value=e;return}}this.addEventListener(t.type,o,n),r={type:t.type,name:t.name,value:e,listener:o,options:n},i?i.push(r):this.__on=[r]}}function G(t,e,n){var r=I(t),i=r.CustomEvent;"function"==typeof i?i=new i(e,n):(i=r.document.createEvent("Event"),n?(i.initEvent(e,n.bubbles,n.cancelable),i.detail=n.detail):i.initEvent(e,!1,!1)),t.dispatchEvent(i)}O.prototype={add:function(t){0>this._names.indexOf(t)&&(this._names.push(t),this._node.setAttribute("class",this._names.join(" ")))},remove:function(t){var e=this._names.indexOf(t);e>=0&&(this._names.splice(e,1),this._node.setAttribute("class",this._names.join(" ")))},contains:function(t){return this._names.indexOf(t)>=0}};var J=[null];function tt(t,e){this._groups=t,this._parents=e}function te(){return new tt([[document.documentElement]],J)}function tn(t){return"string"==typeof t?new tt([[document.querySelector(t)]],[document.documentElement]):new tt([[t]],J)}function tr(t,e){if(t=function(t){let e;for(;e=t.sourceEvent;)t=e;return t}(t),void 0===e&&(e=t.currentTarget),e){var n=e.ownerSVGElement||e;if(n.createSVGPoint){var r=n.createSVGPoint();return r.x=t.clientX,r.y=t.clientY,[(r=r.matrixTransform(e.getScreenCTM().inverse())).x,r.y]}if(e.getBoundingClientRect){var i=e.getBoundingClientRect();return[t.clientX-i.left-e.clientLeft,t.clientY-i.top-e.clientTop]}}return[t.pageX,t.pageY]}tt.prototype=te.prototype={constructor:tt,select:function(t){"function"!=typeof t&&(t=m(t));for(var e=this._groups,n=e.length,r=Array(n),i=0;i<n;++i)for(var o,a,u=e[i],l=u.length,s=r[i]=Array(l),c=0;c<l;++c)(o=u[c])&&(a=t.call(o,o.__data__,c,u))&&("__data__"in o&&(a.__data__=o.__data__),s[c]=a);return new tt(r,this._parents)},selectAll:function(t){if("function"==typeof t){var e;e=t,t=function(){var t;return t=e.apply(this,arguments),null==t?[]:Array.isArray(t)?t:Array.from(t)}}else t=v(t);for(var n=this._groups,r=n.length,i=[],o=[],a=0;a<r;++a)for(var u,l=n[a],s=l.length,c=0;c<s;++c)(u=l[c])&&(i.push(t.call(u,u.__data__,c,l)),o.push(u));return new tt(i,o)},selectChild:function(t){var e;return this.select(null==t?b:(e="function"==typeof t?t:w(t),function(){return _.call(this.children,e)}))},selectChildren:function(t){var e;return this.selectAll(null==t?E:(e="function"==typeof t?t:w(t),function(){return M.call(this.children,e)}))},filter:function(t){"function"!=typeof t&&(t=x(t));for(var e=this._groups,n=e.length,r=Array(n),i=0;i<n;++i)for(var o,a=e[i],u=a.length,l=r[i]=[],s=0;s<u;++s)(o=a[s])&&t.call(o,o.__data__,s,a)&&l.push(o);return new tt(r,this._parents)},data:function(t,e){if(!arguments.length)return Array.from(this,S);var n=e?z:$,r=this._parents,i=this._groups;"function"!=typeof t&&(v=t,t=function(){return v});for(var o=i.length,a=Array(o),u=Array(o),l=Array(o),s=0;s<o;++s){var c=r[s],h=i[s],f=h.length,d="object"==typeof(g=t.call(c,c&&c.__data__,s,r))&&"length"in g?g:Array.from(g),p=d.length,y=u[s]=Array(p),m=a[s]=Array(p);n(c,h,y,m,l[s]=Array(f),d,e);for(var g,v,x,w,_=0,b=0;_<p;++_)if(x=y[_]){for(_>=b&&(b=_+1);!(w=m[b])&&++b<p;);x._next=w||null}}return(a=new tt(a,r))._enter=u,a._exit=l,a},enter:function(){return new tt(this._enter||this._groups.map(A),this._parents)},exit:function(){return new tt(this._exit||this._groups.map(A),this._parents)},join:function(t,e,n){var r=this.enter(),i=this,o=this.exit();return"function"==typeof t?(r=t(r))&&(r=r.selection()):r=r.append(t+""),null!=e&&(i=e(i))&&(i=i.selection()),null==n?o.remove():n(o),r&&i?r.merge(i).order():i},merge:function(t){for(var e=t.selection?t.selection():t,n=this._groups,r=e._groups,i=n.length,o=r.length,a=Math.min(i,o),u=Array(i),l=0;l<a;++l)for(var s,c=n[l],h=r[l],f=c.length,d=u[l]=Array(f),p=0;p<f;++p)(s=c[p]||h[p])&&(d[p]=s);for(;l<i;++l)u[l]=n[l];return new tt(u,this._parents)},selection:function(){return this},order:function(){for(var t=this._groups,e=-1,n=t.length;++e<n;)for(var r,i=t[e],o=i.length-1,a=i[o];--o>=0;)(r=i[o])&&(a&&4^r.compareDocumentPosition(a)&&a.parentNode.insertBefore(r,a),a=r);return this},sort:function(t){function e(e,n){return e&&n?t(e.__data__,n.__data__):!e-!n}t||(t=N);for(var n=this._groups,r=n.length,i=Array(r),o=0;o<r;++o){for(var a,u=n[o],l=u.length,s=i[o]=Array(l),c=0;c<l;++c)(a=u[c])&&(s[c]=a);s.sort(e)}return new tt(i,this._parents).order()},call:function(){var t=arguments[0];return arguments[0]=this,t.apply(null,arguments),this},nodes:function(){return Array.from(this)},node:function(){for(var t=this._groups,e=0,n=t.length;e<n;++e)for(var r=t[e],i=0,o=r.length;i<o;++i){var a=r[i];if(a)return a}return null},size:function(){let t=0;for(let e of this)++t;return t},empty:function(){return!this.node()},each:function(t){for(var e=this._groups,n=0,r=e.length;n<r;++n)for(var i,o=e[n],a=0,u=o.length;a<u;++a)(i=o[a])&&t.call(i,i.__data__,a,o);return this},attr:function(t,e){var n=P(t);if(arguments.length<2){var r=this.node();return n.local?r.getAttributeNS(n.space,n.local):r.getAttribute(n)}return this.each((null==e?n.local?function(t){return function(){this.removeAttributeNS(t.space,t.local)}}:function(t){return function(){this.removeAttribute(t)}}:"function"==typeof e?n.local?function(t,e){return function(){var n=e.apply(this,arguments);null==n?this.removeAttributeNS(t.space,t.local):this.setAttributeNS(t.space,t.local,n)}}:function(t,e){return function(){var n=e.apply(this,arguments);null==n?this.removeAttribute(t):this.setAttribute(t,n)}}:n.local?function(t,e){return function(){this.setAttributeNS(t.space,t.local,e)}}:function(t,e){return function(){this.setAttribute(t,e)}})(n,e))},style:function(t,e,n){return arguments.length>1?this.each((null==e?function(t){return function(){this.style.removeProperty(t)}}:"function"==typeof e?function(t,e,n){return function(){var r=e.apply(this,arguments);null==r?this.style.removeProperty(t):this.style.setProperty(t,r,n)}}:function(t,e,n){return function(){this.style.setProperty(t,e,n)}})(t,e,null==n?"":n)):C(this.node(),t)},property:function(t,e){return arguments.length>1?this.each((null==e?function(t){return function(){delete this[t]}}:"function"==typeof e?function(t,e){return function(){var n=e.apply(this,arguments);null==n?delete this[t]:this[t]=n}}:function(t,e){return function(){this[t]=e}})(t,e)):this.node()[t]},classed:function(t,e){var n=L(t+"");if(arguments.length<2){for(var r=B(this.node()),i=-1,o=n.length;++i<o;)if(!r.contains(n[i]))return!1;return!0}return this.each(("function"==typeof e?function(t,e){return function(){(e.apply(this,arguments)?V:R)(this,t)}}:e?function(t){return function(){V(this,t)}}:function(t){return function(){R(this,t)}})(n,e))},text:function(t){return arguments.length?this.each(null==t?j:("function"==typeof t?function(t){return function(){var e=t.apply(this,arguments);this.textContent=null==e?"":e}}:function(t){return function(){this.textContent=t}})(t)):this.node().textContent},html:function(t){return arguments.length?this.each(null==t?X:("function"==typeof t?function(t){return function(){var e=t.apply(this,arguments);this.innerHTML=null==e?"":e}}:function(t){return function(){this.innerHTML=t}})(t)):this.node().innerHTML},raise:function(){return this.each(D)},lower:function(){return this.each(q)},append:function(t){var e="function"==typeof t?t:Y(t);return this.select(function(){return this.appendChild(e.apply(this,arguments))})},insert:function(t,e){var n="function"==typeof t?t:Y(t),r=null==e?F:"function"==typeof e?e:m(e);return this.select(function(){return this.insertBefore(n.apply(this,arguments),r.apply(this,arguments)||null)})},remove:function(){return this.each(W)},clone:function(t){return this.select(t?U:K)},datum:function(t){return arguments.length?this.property("__data__",t):this.node().__data__},on:function(t,e,n){var r,i,o=(t+"").trim().split(/^|\s+/).map(function(t){var e="",n=t.indexOf(".");return n>=0&&(e=t.slice(n+1),t=t.slice(0,n)),{type:t,name:e}}),a=o.length;if(arguments.length<2){var u=this.node().__on;if(u){for(var l,s=0,c=u.length;s<c;++s)for(r=0,l=u[s];r<a;++r)if((i=o[r]).type===l.type&&i.name===l.name)return l.value}return}for(r=0,u=e?Q:Z;r<a;++r)this.each(u(o[r],e,n));return this},dispatch:function(t,e){return this.each(("function"==typeof e?function(t,e){return function(){return G(this,t,e.apply(this,arguments))}}:function(t,e){return function(){return G(this,t,e)}})(t,e))},[Symbol.iterator]:function*(){for(var t=this._groups,e=0,n=t.length;e<n;++e)for(var r,i=t[e],o=0,a=i.length;o<a;++o)(r=i[o])&&(yield r)}};let ti={passive:!1},to={capture:!0,passive:!1};function ta(t){t.stopImmediatePropagation()}function tu(t){t.preventDefault(),t.stopImmediatePropagation()}function tl(t){var e=t.document.documentElement,n=tn(t).on("dragstart.drag",tu,to);"onselectstart"in e?n.on("selectstart.drag",tu,to):(e.__noselect=e.style.MozUserSelect,e.style.MozUserSelect="none")}function ts(t,e){var n=t.document.documentElement,r=tn(t).on("dragstart.drag",null);e&&(r.on("click.drag",tu,to),setTimeout(function(){r.on("click.drag",null)},0)),"onselectstart"in n?r.on("selectstart.drag",null):(n.style.MozUserSelect=n.__noselect,delete n.__noselect)}let tc=t=>()=>t;function th(t,{sourceEvent:e,subject:n,target:r,identifier:i,active:o,x:a,y:u,dx:l,dy:s,dispatch:c}){Object.defineProperties(this,{type:{value:t,enumerable:!0,configurable:!0},sourceEvent:{value:e,enumerable:!0,configurable:!0},subject:{value:n,enumerable:!0,configurable:!0},target:{value:r,enumerable:!0,configurable:!0},identifier:{value:i,enumerable:!0,configurable:!0},active:{value:o,enumerable:!0,configurable:!0},x:{value:a,enumerable:!0,configurable:!0},y:{value:u,enumerable:!0,configurable:!0},dx:{value:l,enumerable:!0,configurable:!0},dy:{value:s,enumerable:!0,configurable:!0},_:{value:c}})}function tf(t){return!t.ctrlKey&&!t.button}function td(){return this.parentNode}function tp(t,e){return null==e?{x:t.x,y:t.y}:e}function ty(){return navigator.maxTouchPoints||"ontouchstart"in this}function tm(t){return((t=Math.exp(t))+1/t)/2}th.prototype.on=function(){var t=this._.on.apply(this._,arguments);return t===this._?this:t};let tg=function t(e,n,r){function i(t,i){var o,a,u=t[0],l=t[1],s=t[2],c=i[0],h=i[1],f=i[2],d=c-u,p=h-l,y=d*d+p*p;if(y<1e-12)a=Math.log(f/s)/e,o=function(t){return[u+t*d,l+t*p,s*Math.exp(e*t*a)]};else{var m=Math.sqrt(y),g=(f*f-s*s+r*y)/(2*s*n*m),v=(f*f-s*s-r*y)/(2*f*n*m),x=Math.log(Math.sqrt(g*g+1)-g);a=(Math.log(Math.sqrt(v*v+1)-v)-x)/e,o=function(t){var r,i,o=t*a,c=tm(x),h=s/(n*m)*(c*(((r=Math.exp(2*(r=e*o+x)))-1)/(r+1))-((i=Math.exp(i=x))-1/i)/2);return[u+h*d,l+h*p,s*c/tm(e*o+x)]}}return o.duration=1e3*a*e/Math.SQRT2,o}return i.rho=function(e){var n=Math.max(.001,+e),r=n*n;return t(n,r,r*r)},i}(Math.SQRT2,2,4);var tv,tx,tw=0,t_=0,tb=0,tM=0,tE=0,tA=0,tk="object"==typeof performance&&performance.now?performance:Date,t$="object"==typeof window&&window.requestAnimationFrame?window.requestAnimationFrame.bind(window):function(t){setTimeout(t,17)};function tz(){return tE||(t$(tS),tE=tk.now()+tA)}function tS(){tE=0}function tN(){this._call=this._time=this._next=null}function tT(t,e,n){var r=new tN;return r.restart(t,e,n),r}function tH(){tE=(tM=tk.now())+tA,tw=t_=0;try{tz(),++tw;for(var t,e=tv;e;)(t=tE-e._time)>=0&&e._call.call(void 0,t),e=e._next;--tw}finally{tw=0,function(){for(var t,e,n=tv,r=1/0;n;)n._call?(r>n._time&&(r=n._time),t=n,n=n._next):(e=n._next,n._next=null,n=t?t._next=e:tv=e);tx=t,tI(r)}(),tE=0}}function tP(){var t=tk.now(),e=t-tM;e>1e3&&(tA-=e,tM=t)}function tI(t){!tw&&(t_&&(t_=clearTimeout(t_)),t-tE>24?(t<1/0&&(t_=setTimeout(tH,t-tk.now()-tA)),tb&&(tb=clearInterval(tb))):(tb||(tM=tk.now(),tb=setInterval(tP,1e3)),tw=1,t$(tH)))}function tC(t,e,n){var r=new tN;return e=null==e?0:+e,r.restart(n=>{r.stop(),t(n+e)},e,n),r}tN.prototype=tT.prototype={constructor:tN,restart:function(t,e,n){if("function"!=typeof t)throw TypeError("callback is not a function");n=(null==n?tz():+n)+(null==e?0:+e),this._next||tx===this||(tx?tx._next=this:tv=this,tx=this),this._call=t,this._time=n,tI()},stop:function(){this._call&&(this._call=null,this._time=1/0,tI())}};var tL=f("start","end","cancel","interrupt"),tB=[];function tO(t,e,n,r,i,o){var a=t.__transition;if(a){if(n in a)return}else t.__transition={};!function(t,e,n){var r,i=t.__transition;function o(l){var s,c,h,f;if(1!==n.state)return u();for(s in i)if((f=i[s]).name===n.name){if(3===f.state)return tC(o);4===f.state?(f.state=6,f.timer.stop(),f.on.call("interrupt",t,t.__data__,f.index,f.group),delete i[s]):+s<e&&(f.state=6,f.timer.stop(),f.on.call("cancel",t,t.__data__,f.index,f.group),delete i[s])}if(tC(function(){3===n.state&&(n.state=4,n.timer.restart(a,n.delay,n.time),a(l))}),n.state=2,n.on.call("start",t,t.__data__,n.index,n.group),2===n.state){for(s=0,n.state=3,r=Array(h=n.tween.length),c=-1;s<h;++s)(f=n.tween[s].value.call(t,t.__data__,n.index,n.group))&&(r[++c]=f);r.length=c+1}}function a(e){for(var i=e<n.duration?n.ease.call(null,e/n.duration):(n.timer.restart(u),n.state=5,1),o=-1,a=r.length;++o<a;)r[o].call(t,i);5===n.state&&(n.on.call("end",t,t.__data__,n.index,n.group),u())}function u(){for(var r in n.state=6,n.timer.stop(),delete i[e],i)return;delete t.__transition}i[e]=n,n.timer=tT(function(t){n.state=1,n.timer.restart(o,n.delay,n.time),n.delay<=t&&o(t-n.delay)},0,n.time)}(t,n,{name:e,index:r,group:i,on:tL,tween:tB,time:o.time,delay:o.delay,duration:o.duration,ease:o.ease,timer:null,state:0})}function tV(t,e){var n=tj(t,e);if(n.state>0)throw Error("too late; already scheduled");return n}function tR(t,e){var n=tj(t,e);if(n.state>3)throw Error("too late; already running");return n}function tj(t,e){var n=t.__transition;if(!n||!(n=n[e]))throw Error("transition not found");return n}function tX(t,e){var n,r,i,o=t.__transition,a=!0;if(o){for(i in e=null==e?null:e+"",o){if((n=o[i]).name!==e){a=!1;continue}r=n.state>2&&n.state<5,n.state=6,n.timer.stop(),n.on.call(r?"interrupt":"cancel",t,t.__data__,n.index,n.group),delete o[i]}a&&delete t.__transition}}function tD(t,e){return t*=1,e*=1,function(n){return t*(1-n)+e*n}}var tq=180/Math.PI,tY={translateX:0,translateY:0,rotate:0,skewX:0,scaleX:1,scaleY:1};function tF(t,e,n,r,i,o){var a,u,l;return(a=Math.sqrt(t*t+e*e))&&(t/=a,e/=a),(l=t*n+e*r)&&(n-=t*l,r-=e*l),(u=Math.sqrt(n*n+r*r))&&(n/=u,r/=u,l/=u),t*r<e*n&&(t=-t,e=-e,l=-l,a=-a),{translateX:i,translateY:o,rotate:Math.atan2(e,t)*tq,skewX:Math.atan(l)*tq,scaleX:a,scaleY:u}}function tW(t,e,n,r){function i(t){return t.length?t.pop()+" ":""}return function(o,a){var u,l,s,c,h=[],f=[];return o=t(o),a=t(a),!function(t,r,i,o,a,u){if(t!==i||r!==o){var l=a.push("translate(",null,e,null,n);u.push({i:l-4,x:tD(t,i)},{i:l-2,x:tD(r,o)})}else(i||o)&&a.push("translate("+i+e+o+n)}(o.translateX,o.translateY,a.translateX,a.translateY,h,f),u=o.rotate,l=a.rotate,u!==l?(u-l>180?l+=360:l-u>180&&(u+=360),f.push({i:h.push(i(h)+"rotate(",null,r)-2,x:tD(u,l)})):l&&h.push(i(h)+"rotate("+l+r),s=o.skewX,c=a.skewX,s!==c?f.push({i:h.push(i(h)+"skewX(",null,r)-2,x:tD(s,c)}):c&&h.push(i(h)+"skewX("+c+r),!function(t,e,n,r,o,a){if(t!==n||e!==r){var u=o.push(i(o)+"scale(",null,",",null,")");a.push({i:u-4,x:tD(t,n)},{i:u-2,x:tD(e,r)})}else(1!==n||1!==r)&&o.push(i(o)+"scale("+n+","+r+")")}(o.scaleX,o.scaleY,a.scaleX,a.scaleY,h,f),o=a=null,function(t){for(var e,n=-1,r=f.length;++n<r;)h[(e=f[n]).i]=e.x(t);return h.join("")}}}var tK=tW(function(t){let e=new("function"==typeof DOMMatrix?DOMMatrix:WebKitCSSMatrix)(t+"");return e.isIdentity?tY:tF(e.a,e.b,e.c,e.d,e.e,e.f)},"px, ","px)","deg)"),tU=tW(function(t){return null==t?tY:(r||(r=document.createElementNS("http://www.w3.org/2000/svg","g")),r.setAttribute("transform",t),t=r.transform.baseVal.consolidate())?tF((t=t.matrix).a,t.b,t.c,t.d,t.e,t.f):tY},", ",")",")");function tZ(t,e,n){var r=t._id;return t.each(function(){var t=tR(this,r);(t.value||(t.value={}))[e]=n.apply(this,arguments)}),function(t){return tj(t,r).value[e]}}function tQ(t,e,n){t.prototype=e.prototype=n,n.constructor=t}function tG(t,e){var n=Object.create(t.prototype);for(var r in e)n[r]=e[r];return n}function tJ(){}var t0="\\s*([+-]?\\d+)\\s*",t1="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)\\s*",t2="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)%\\s*",t5=/^#([0-9a-f]{3,8})$/,t3=RegExp(`^rgb\\(${t0},${t0},${t0}\\)$`),t4=RegExp(`^rgb\\(${t2},${t2},${t2}\\)$`),t6=RegExp(`^rgba\\(${t0},${t0},${t0},${t1}\\)$`),t8=RegExp(`^rgba\\(${t2},${t2},${t2},${t1}\\)$`),t9=RegExp(`^hsl\\(${t1},${t2},${t2}\\)$`),t7=RegExp(`^hsla\\(${t1},${t2},${t2},${t1}\\)$`),et={aliceblue:0xf0f8ff,antiquewhite:0xfaebd7,aqua:65535,aquamarine:8388564,azure:0xf0ffff,beige:0xf5f5dc,bisque:0xffe4c4,black:0,blanchedalmond:0xffebcd,blue:255,blueviolet:9055202,brown:0xa52a2a,burlywood:0xdeb887,cadetblue:6266528,chartreuse:8388352,chocolate:0xd2691e,coral:0xff7f50,cornflowerblue:6591981,cornsilk:0xfff8dc,crimson:0xdc143c,cyan:65535,darkblue:139,darkcyan:35723,darkgoldenrod:0xb8860b,darkgray:0xa9a9a9,darkgreen:25600,darkgrey:0xa9a9a9,darkkhaki:0xbdb76b,darkmagenta:9109643,darkolivegreen:5597999,darkorange:0xff8c00,darkorchid:0x9932cc,darkred:9109504,darksalmon:0xe9967a,darkseagreen:9419919,darkslateblue:4734347,darkslategray:3100495,darkslategrey:3100495,darkturquoise:52945,darkviolet:9699539,deeppink:0xff1493,deepskyblue:49151,dimgray:6908265,dimgrey:6908265,dodgerblue:2003199,firebrick:0xb22222,floralwhite:0xfffaf0,forestgreen:2263842,fuchsia:0xff00ff,gainsboro:0xdcdcdc,ghostwhite:0xf8f8ff,gold:0xffd700,goldenrod:0xdaa520,gray:8421504,green:32768,greenyellow:0xadff2f,grey:8421504,honeydew:0xf0fff0,hotpink:0xff69b4,indianred:0xcd5c5c,indigo:4915330,ivory:0xfffff0,khaki:0xf0e68c,lavender:0xe6e6fa,lavenderblush:0xfff0f5,lawngreen:8190976,lemonchiffon:0xfffacd,lightblue:0xadd8e6,lightcoral:0xf08080,lightcyan:0xe0ffff,lightgoldenrodyellow:0xfafad2,lightgray:0xd3d3d3,lightgreen:9498256,lightgrey:0xd3d3d3,lightpink:0xffb6c1,lightsalmon:0xffa07a,lightseagreen:2142890,lightskyblue:8900346,lightslategray:7833753,lightslategrey:7833753,lightsteelblue:0xb0c4de,lightyellow:0xffffe0,lime:65280,limegreen:3329330,linen:0xfaf0e6,magenta:0xff00ff,maroon:8388608,mediumaquamarine:6737322,mediumblue:205,mediumorchid:0xba55d3,mediumpurple:9662683,mediumseagreen:3978097,mediumslateblue:8087790,mediumspringgreen:64154,mediumturquoise:4772300,mediumvioletred:0xc71585,midnightblue:1644912,mintcream:0xf5fffa,mistyrose:0xffe4e1,moccasin:0xffe4b5,navajowhite:0xffdead,navy:128,oldlace:0xfdf5e6,olive:8421376,olivedrab:7048739,orange:0xffa500,orangered:0xff4500,orchid:0xda70d6,palegoldenrod:0xeee8aa,palegreen:0x98fb98,paleturquoise:0xafeeee,palevioletred:0xdb7093,papayawhip:0xffefd5,peachpuff:0xffdab9,peru:0xcd853f,pink:0xffc0cb,plum:0xdda0dd,powderblue:0xb0e0e6,purple:8388736,rebeccapurple:6697881,red:0xff0000,rosybrown:0xbc8f8f,royalblue:4286945,saddlebrown:9127187,salmon:0xfa8072,sandybrown:0xf4a460,seagreen:3050327,seashell:0xfff5ee,sienna:0xa0522d,silver:0xc0c0c0,skyblue:8900331,slateblue:6970061,slategray:7372944,slategrey:7372944,snow:0xfffafa,springgreen:65407,steelblue:4620980,tan:0xd2b48c,teal:32896,thistle:0xd8bfd8,tomato:0xff6347,turquoise:4251856,violet:0xee82ee,wheat:0xf5deb3,white:0xffffff,whitesmoke:0xf5f5f5,yellow:0xffff00,yellowgreen:0x9acd32};function ee(){return this.rgb().formatHex()}function en(){return this.rgb().formatRgb()}function er(t){var e,n;return t=(t+"").trim().toLowerCase(),(e=t5.exec(t))?(n=e[1].length,e=parseInt(e[1],16),6===n?ei(e):3===n?new eu(e>>8&15|e>>4&240,e>>4&15|240&e,(15&e)<<4|15&e,1):8===n?eo(e>>24&255,e>>16&255,e>>8&255,(255&e)/255):4===n?eo(e>>12&15|e>>8&240,e>>8&15|e>>4&240,e>>4&15|240&e,((15&e)<<4|15&e)/255):null):(e=t3.exec(t))?new eu(e[1],e[2],e[3],1):(e=t4.exec(t))?new eu(255*e[1]/100,255*e[2]/100,255*e[3]/100,1):(e=t6.exec(t))?eo(e[1],e[2],e[3],e[4]):(e=t8.exec(t))?eo(255*e[1]/100,255*e[2]/100,255*e[3]/100,e[4]):(e=t9.exec(t))?ed(e[1],e[2]/100,e[3]/100,1):(e=t7.exec(t))?ed(e[1],e[2]/100,e[3]/100,e[4]):et.hasOwnProperty(t)?ei(et[t]):"transparent"===t?new eu(NaN,NaN,NaN,0):null}function ei(t){return new eu(t>>16&255,t>>8&255,255&t,1)}function eo(t,e,n,r){return r<=0&&(t=e=n=NaN),new eu(t,e,n,r)}function ea(t,e,n,r){var i;return 1==arguments.length?((i=t)instanceof tJ||(i=er(i)),i)?new eu((i=i.rgb()).r,i.g,i.b,i.opacity):new eu:new eu(t,e,n,null==r?1:r)}function eu(t,e,n,r){this.r=+t,this.g=+e,this.b=+n,this.opacity=+r}function el(){return`#${ef(this.r)}${ef(this.g)}${ef(this.b)}`}function es(){let t=ec(this.opacity);return`${1===t?"rgb(":"rgba("}${eh(this.r)}, ${eh(this.g)}, ${eh(this.b)}${1===t?")":`, ${t})`}`}function ec(t){return isNaN(t)?1:Math.max(0,Math.min(1,t))}function eh(t){return Math.max(0,Math.min(255,Math.round(t)||0))}function ef(t){return((t=eh(t))<16?"0":"")+t.toString(16)}function ed(t,e,n,r){return r<=0?t=e=n=NaN:n<=0||n>=1?t=e=NaN:e<=0&&(t=NaN),new ey(t,e,n,r)}function ep(t){if(t instanceof ey)return new ey(t.h,t.s,t.l,t.opacity);if(t instanceof tJ||(t=er(t)),!t)return new ey;if(t instanceof ey)return t;var e=(t=t.rgb()).r/255,n=t.g/255,r=t.b/255,i=Math.min(e,n,r),o=Math.max(e,n,r),a=NaN,u=o-i,l=(o+i)/2;return u?(a=e===o?(n-r)/u+(n<r)*6:n===o?(r-e)/u+2:(e-n)/u+4,u/=l<.5?o+i:2-o-i,a*=60):u=l>0&&l<1?0:a,new ey(a,u,l,t.opacity)}function ey(t,e,n,r){this.h=+t,this.s=+e,this.l=+n,this.opacity=+r}function em(t){return(t=(t||0)%360)<0?t+360:t}function eg(t){return Math.max(0,Math.min(1,t||0))}function ev(t,e,n){return(t<60?e+(n-e)*t/60:t<180?n:t<240?e+(n-e)*(240-t)/60:e)*255}function ex(t,e,n,r,i){var o=t*t,a=o*t;return((1-3*t+3*o-a)*e+(4-6*o+3*a)*n+(1+3*t+3*o-3*a)*r+a*i)/6}tQ(tJ,er,{copy(t){return Object.assign(new this.constructor,this,t)},displayable(){return this.rgb().displayable()},hex:ee,formatHex:ee,formatHex8:function(){return this.rgb().formatHex8()},formatHsl:function(){return ep(this).formatHsl()},formatRgb:en,toString:en}),tQ(eu,ea,tG(tJ,{brighter(t){return t=null==t?1.4285714285714286:Math.pow(1.4285714285714286,t),new eu(this.r*t,this.g*t,this.b*t,this.opacity)},darker(t){return t=null==t?.7:Math.pow(.7,t),new eu(this.r*t,this.g*t,this.b*t,this.opacity)},rgb(){return this},clamp(){return new eu(eh(this.r),eh(this.g),eh(this.b),ec(this.opacity))},displayable(){return -.5<=this.r&&this.r<255.5&&-.5<=this.g&&this.g<255.5&&-.5<=this.b&&this.b<255.5&&0<=this.opacity&&this.opacity<=1},hex:el,formatHex:el,formatHex8:function(){return`#${ef(this.r)}${ef(this.g)}${ef(this.b)}${ef((isNaN(this.opacity)?1:this.opacity)*255)}`},formatRgb:es,toString:es})),tQ(ey,function(t,e,n,r){return 1==arguments.length?ep(t):new ey(t,e,n,null==r?1:r)},tG(tJ,{brighter(t){return t=null==t?1.4285714285714286:Math.pow(1.4285714285714286,t),new ey(this.h,this.s,this.l*t,this.opacity)},darker(t){return t=null==t?.7:Math.pow(.7,t),new ey(this.h,this.s,this.l*t,this.opacity)},rgb(){var t=this.h%360+(this.h<0)*360,e=isNaN(t)||isNaN(this.s)?0:this.s,n=this.l,r=n+(n<.5?n:1-n)*e,i=2*n-r;return new eu(ev(t>=240?t-240:t+120,i,r),ev(t,i,r),ev(t<120?t+240:t-120,i,r),this.opacity)},clamp(){return new ey(em(this.h),eg(this.s),eg(this.l),ec(this.opacity))},displayable(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1},formatHsl(){let t=ec(this.opacity);return`${1===t?"hsl(":"hsla("}${em(this.h)}, ${100*eg(this.s)}%, ${100*eg(this.l)}%${1===t?")":`, ${t})`}`}}));let ew=t=>()=>t;function e_(t,e){var n=e-t;return n?function(e){return t+e*n}:ew(isNaN(t)?e:t)}let eb=function t(e){var n,r=1==(n=+e)?e_:function(t,e){var r,i,o;return e-t?(r=t,i=e,r=Math.pow(r,o=n),i=Math.pow(i,o)-r,o=1/o,function(t){return Math.pow(r+t*i,o)}):ew(isNaN(t)?e:t)};function i(t,e){var n=r((t=ea(t)).r,(e=ea(e)).r),i=r(t.g,e.g),o=r(t.b,e.b),a=e_(t.opacity,e.opacity);return function(e){return t.r=n(e),t.g=i(e),t.b=o(e),t.opacity=a(e),t+""}}return i.gamma=t,i}(1);function eM(t){return function(e){var n,r,i=e.length,o=Array(i),a=Array(i),u=Array(i);for(n=0;n<i;++n)r=ea(e[n]),o[n]=r.r||0,a[n]=r.g||0,u[n]=r.b||0;return o=t(o),a=t(a),u=t(u),r.opacity=1,function(t){return r.r=o(t),r.g=a(t),r.b=u(t),r+""}}}eM(function(t){var e=t.length-1;return function(n){var r=n<=0?n=0:n>=1?(n=1,e-1):Math.floor(n*e),i=t[r],o=t[r+1],a=r>0?t[r-1]:2*i-o,u=r<e-1?t[r+2]:2*o-i;return ex((n-r/e)*e,a,i,o,u)}}),eM(function(t){var e=t.length;return function(n){var r=Math.floor(((n%=1)<0?++n:n)*e),i=t[(r+e-1)%e],o=t[r%e],a=t[(r+1)%e],u=t[(r+2)%e];return ex((n-r/e)*e,i,o,a,u)}});var eE=/[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g,eA=RegExp(eE.source,"g");function ek(t,e){var n,r,i,o,a,u=eE.lastIndex=eA.lastIndex=0,l=-1,s=[],c=[];for(t+="",e+="";(i=eE.exec(t))&&(o=eA.exec(e));)(a=o.index)>u&&(a=e.slice(u,a),s[l]?s[l]+=a:s[++l]=a),(i=i[0])===(o=o[0])?s[l]?s[l]+=o:s[++l]=o:(s[++l]=null,c.push({i:l,x:tD(i,o)})),u=eA.lastIndex;return u<e.length&&(a=e.slice(u),s[l]?s[l]+=a:s[++l]=a),s.length<2?c[0]?(n=c[0].x,function(t){return n(t)+""}):(r=e,function(){return r}):(e=c.length,function(t){for(var n,r=0;r<e;++r)s[(n=c[r]).i]=n.x(t);return s.join("")})}function e$(t,e){var n;return("number"==typeof e?tD:e instanceof er?eb:(n=er(e))?(e=n,eb):ek)(t,e)}var ez=te.prototype.constructor;function eS(t){return function(){this.style.removeProperty(t)}}var eN=0;function eT(t,e,n,r){this._groups=t,this._parents=e,this._name=n,this._id=r}var eH=te.prototype;eT.prototype=(function(t){return te().transition(t)}).prototype={constructor:eT,select:function(t){var e=this._name,n=this._id;"function"!=typeof t&&(t=m(t));for(var r=this._groups,i=r.length,o=Array(i),a=0;a<i;++a)for(var u,l,s=r[a],c=s.length,h=o[a]=Array(c),f=0;f<c;++f)(u=s[f])&&(l=t.call(u,u.__data__,f,s))&&("__data__"in u&&(l.__data__=u.__data__),h[f]=l,tO(h[f],e,n,f,h,tj(u,n)));return new eT(o,this._parents,e,n)},selectAll:function(t){var e=this._name,n=this._id;"function"!=typeof t&&(t=v(t));for(var r=this._groups,i=r.length,o=[],a=[],u=0;u<i;++u)for(var l,s=r[u],c=s.length,h=0;h<c;++h)if(l=s[h]){for(var f,d=t.call(l,l.__data__,h,s),p=tj(l,n),y=0,m=d.length;y<m;++y)(f=d[y])&&tO(f,e,n,y,d,p);o.push(d),a.push(l)}return new eT(o,a,e,n)},selectChild:eH.selectChild,selectChildren:eH.selectChildren,filter:function(t){"function"!=typeof t&&(t=x(t));for(var e=this._groups,n=e.length,r=Array(n),i=0;i<n;++i)for(var o,a=e[i],u=a.length,l=r[i]=[],s=0;s<u;++s)(o=a[s])&&t.call(o,o.__data__,s,a)&&l.push(o);return new eT(r,this._parents,this._name,this._id)},merge:function(t){if(t._id!==this._id)throw Error();for(var e=this._groups,n=t._groups,r=e.length,i=n.length,o=Math.min(r,i),a=Array(r),u=0;u<o;++u)for(var l,s=e[u],c=n[u],h=s.length,f=a[u]=Array(h),d=0;d<h;++d)(l=s[d]||c[d])&&(f[d]=l);for(;u<r;++u)a[u]=e[u];return new eT(a,this._parents,this._name,this._id)},selection:function(){return new ez(this._groups,this._parents)},transition:function(){for(var t=this._name,e=this._id,n=++eN,r=this._groups,i=r.length,o=0;o<i;++o)for(var a,u=r[o],l=u.length,s=0;s<l;++s)if(a=u[s]){var c=tj(a,e);tO(a,t,n,s,u,{time:c.time+c.delay+c.duration,delay:0,duration:c.duration,ease:c.ease})}return new eT(r,this._parents,t,n)},call:eH.call,nodes:eH.nodes,node:eH.node,size:eH.size,empty:eH.empty,each:eH.each,on:function(t,e){var n,r,i,o,a,u,l=this._id;return arguments.length<2?tj(this.node(),l).on.on(t):this.each((n=l,r=t,i=e,u=(r+"").trim().split(/^|\s+/).every(function(t){var e=t.indexOf(".");return e>=0&&(t=t.slice(0,e)),!t||"start"===t})?tV:tR,function(){var t=u(this,n),e=t.on;e!==o&&(a=(o=e).copy()).on(r,i),t.on=a}))},attr:function(t,e){var n=P(t),r="transform"===n?tU:e$;return this.attrTween(t,"function"==typeof e?(n.local?function(t,e,n){var r,i,o;return function(){var a,u,l=n(this);return null==l?void this.removeAttributeNS(t.space,t.local):(a=this.getAttributeNS(t.space,t.local))===(u=l+"")?null:a===r&&u===i?o:(i=u,o=e(r=a,l))}}:function(t,e,n){var r,i,o;return function(){var a,u,l=n(this);return null==l?void this.removeAttribute(t):(a=this.getAttribute(t))===(u=l+"")?null:a===r&&u===i?o:(i=u,o=e(r=a,l))}})(n,r,tZ(this,"attr."+t,e)):null==e?(n.local?function(t){return function(){this.removeAttributeNS(t.space,t.local)}}:function(t){return function(){this.removeAttribute(t)}})(n):(n.local?function(t,e,n){var r,i,o=n+"";return function(){var a=this.getAttributeNS(t.space,t.local);return a===o?null:a===r?i:i=e(r=a,n)}}:function(t,e,n){var r,i,o=n+"";return function(){var a=this.getAttribute(t);return a===o?null:a===r?i:i=e(r=a,n)}})(n,r,e))},attrTween:function(t,e){var n="attr."+t;if(arguments.length<2)return(n=this.tween(n))&&n._value;if(null==e)return this.tween(n,null);if("function"!=typeof e)throw Error();var r=P(t);return this.tween(n,(r.local?function(t,e){var n,r;function i(){var i=e.apply(this,arguments);return i!==r&&(n=(r=i)&&function(e){this.setAttributeNS(t.space,t.local,i.call(this,e))}),n}return i._value=e,i}:function(t,e){var n,r;function i(){var i=e.apply(this,arguments);return i!==r&&(n=(r=i)&&function(e){this.setAttribute(t,i.call(this,e))}),n}return i._value=e,i})(r,e))},style:function(t,e,n){var r,i,o,a,u,l,s,c,h,f,d,p,y,m,g,v,x,w,_,b,M,E="transform"==(t+="")?tK:e$;return null==e?this.styleTween(t,(r=t,function(){var t=C(this,r),e=(this.style.removeProperty(r),C(this,r));return t===e?null:t===i&&e===o?a:a=E(i=t,o=e)})).on("end.style."+t,eS(t)):"function"==typeof e?this.styleTween(t,(u=t,l=tZ(this,"style."+t,e),function(){var t=C(this,u),e=l(this),n=e+"";return null==e&&(this.style.removeProperty(u),n=e=C(this,u)),t===n?null:t===s&&n===c?h:(c=n,h=E(s=t,e))})).each((f=this._id,x="end."+(v="style."+(d=t)),function(){var t=tR(this,f),e=t.on,n=null==t.value[v]?g||(g=eS(d)):void 0;(e!==p||m!==n)&&(y=(p=e).copy()).on(x,m=n),t.on=y})):this.styleTween(t,(w=t,M=e+"",function(){var t=C(this,w);return t===M?null:t===_?b:b=E(_=t,e)}),n).on("end.style."+t,null)},styleTween:function(t,e,n){var r="style."+(t+="");if(arguments.length<2)return(r=this.tween(r))&&r._value;if(null==e)return this.tween(r,null);if("function"!=typeof e)throw Error();return this.tween(r,function(t,e,n){var r,i;function o(){var o=e.apply(this,arguments);return o!==i&&(r=(i=o)&&function(e){this.style.setProperty(t,o.call(this,e),n)}),r}return o._value=e,o}(t,e,null==n?"":n))},text:function(t){var e,n;return this.tween("text","function"==typeof t?(e=tZ(this,"text",t),function(){var t=e(this);this.textContent=null==t?"":t}):(n=null==t?"":t+"",function(){this.textContent=n}))},textTween:function(t){var e="text";if(arguments.length<1)return(e=this.tween(e))&&e._value;if(null==t)return this.tween(e,null);if("function"!=typeof t)throw Error();return this.tween(e,function(t){var e,n;function r(){var r=t.apply(this,arguments);return r!==n&&(e=(n=r)&&function(t){this.textContent=r.call(this,t)}),e}return r._value=t,r}(t))},remove:function(){var t;return this.on("end.remove",(t=this._id,function(){var e=this.parentNode;for(var n in this.__transition)if(+n!==t)return;e&&e.removeChild(this)}))},tween:function(t,e){var n=this._id;if(t+="",arguments.length<2){for(var r,i=tj(this.node(),n).tween,o=0,a=i.length;o<a;++o)if((r=i[o]).name===t)return r.value;return null}return this.each((null==e?function(t,e){var n,r;return function(){var i=tR(this,t),o=i.tween;if(o!==n){r=n=o;for(var a=0,u=r.length;a<u;++a)if(r[a].name===e){(r=r.slice()).splice(a,1);break}}i.tween=r}}:function(t,e,n){var r,i;if("function"!=typeof n)throw Error();return function(){var o=tR(this,t),a=o.tween;if(a!==r){i=(r=a).slice();for(var u={name:e,value:n},l=0,s=i.length;l<s;++l)if(i[l].name===e){i[l]=u;break}l===s&&i.push(u)}o.tween=i}})(n,t,e))},delay:function(t){var e=this._id;return arguments.length?this.each(("function"==typeof t?function(t,e){return function(){tV(this,t).delay=+e.apply(this,arguments)}}:function(t,e){return e*=1,function(){tV(this,t).delay=e}})(e,t)):tj(this.node(),e).delay},duration:function(t){var e=this._id;return arguments.length?this.each(("function"==typeof t?function(t,e){return function(){tR(this,t).duration=+e.apply(this,arguments)}}:function(t,e){return e*=1,function(){tR(this,t).duration=e}})(e,t)):tj(this.node(),e).duration},ease:function(t){var e=this._id;return arguments.length?this.each(function(t,e){if("function"!=typeof e)throw Error();return function(){tR(this,t).ease=e}}(e,t)):tj(this.node(),e).ease},easeVarying:function(t){var e;if("function"!=typeof t)throw Error();return this.each((e=this._id,function(){var n=t.apply(this,arguments);if("function"!=typeof n)throw Error();tR(this,e).ease=n}))},end:function(){var t,e,n=this,r=n._id,i=n.size();return new Promise(function(o,a){var u={value:a},l={value:function(){0==--i&&o()}};n.each(function(){var n=tR(this,r),i=n.on;i!==t&&((e=(t=i).copy())._.cancel.push(u),e._.interrupt.push(u),e._.end.push(l)),n.on=e}),0===i&&o()})},[Symbol.iterator]:eH[Symbol.iterator]};var eP={time:null,delay:0,duration:250,ease:function(t){return((t*=2)<=1?t*t*t:(t-=2)*t*t+2)/2}};te.prototype.interrupt=function(t){return this.each(function(){tX(this,t)})},te.prototype.transition=function(t){var e,n;t instanceof eT?(e=t._id,t=t._name):(e=++eN,(n=eP).time=tz(),t=null==t?null:t+"");for(var r=this._groups,i=r.length,o=0;o<i;++o)for(var a,u=r[o],l=u.length,s=0;s<l;++s)(a=u[s])&&tO(a,t,e,s,u,n||function(t,e){for(var n;!(n=t.__transition)||!(n=n[e]);)if(!(t=t.parentNode))throw Error(`transition ${e} not found`);return n}(a,e));return new eT(r,this._parents,t,e)};let eI=t=>()=>t;function eC(t,{sourceEvent:e,target:n,transform:r,dispatch:i}){Object.defineProperties(this,{type:{value:t,enumerable:!0,configurable:!0},sourceEvent:{value:e,enumerable:!0,configurable:!0},target:{value:n,enumerable:!0,configurable:!0},transform:{value:r,enumerable:!0,configurable:!0},_:{value:i}})}function eL(t,e,n){this.k=t,this.x=e,this.y=n}eL.prototype={constructor:eL,scale:function(t){return 1===t?this:new eL(this.k*t,this.x,this.y)},translate:function(t,e){return 0===t&0===e?this:new eL(this.k,this.x+this.k*t,this.y+this.k*e)},apply:function(t){return[t[0]*this.k+this.x,t[1]*this.k+this.y]},applyX:function(t){return t*this.k+this.x},applyY:function(t){return t*this.k+this.y},invert:function(t){return[(t[0]-this.x)/this.k,(t[1]-this.y)/this.k]},invertX:function(t){return(t-this.x)/this.k},invertY:function(t){return(t-this.y)/this.k},rescaleX:function(t){return t.copy().domain(t.range().map(this.invertX,this).map(t.invert,t))},rescaleY:function(t){return t.copy().domain(t.range().map(this.invertY,this).map(t.invert,t))},toString:function(){return"translate("+this.x+","+this.y+") scale("+this.k+")"}};var eB=new eL(1,0,0);function eO(t){for(;!t.__zoom;)if(!(t=t.parentNode))return eB;return t.__zoom}function eV(t){t.stopImmediatePropagation()}function eR(t){t.preventDefault(),t.stopImmediatePropagation()}function ej(t){return(!t.ctrlKey||"wheel"===t.type)&&!t.button}function eX(){var t=this;return t instanceof SVGElement?(t=t.ownerSVGElement||t).hasAttribute("viewBox")?[[(t=t.viewBox.baseVal).x,t.y],[t.x+t.width,t.y+t.height]]:[[0,0],[t.width.baseVal.value,t.height.baseVal.value]]:[[0,0],[t.clientWidth,t.clientHeight]]}function eD(){return this.__zoom||eB}function eq(t){return-t.deltaY*(1===t.deltaMode?.05:t.deltaMode?1:.002)*(t.ctrlKey?10:1)}function eY(){return navigator.maxTouchPoints||"ontouchstart"in this}function eF(t,e,n){var r=t.invertX(e[0][0])-n[0][0],i=t.invertX(e[1][0])-n[1][0],o=t.invertY(e[0][1])-n[0][1],a=t.invertY(e[1][1])-n[1][1];return t.translate(i>r?(r+i)/2:Math.min(0,r)||Math.max(0,i),a>o?(o+a)/2:Math.min(0,o)||Math.max(0,a))}function eW(){var t,e,n,r=ej,i=eX,o=eF,a=eq,u=eY,l=[0,1/0],s=[[-1/0,-1/0],[1/0,1/0]],c=250,h=tg,d=f("start","zoom","end"),p=0,y=10;function m(t){t.property("__zoom",eD).on("wheel.zoom",M,{passive:!1}).on("mousedown.zoom",E).on("dblclick.zoom",A).filter(u).on("touchstart.zoom",k).on("touchmove.zoom",$).on("touchend.zoom touchcancel.zoom",z).style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}function g(t,e){return(e=Math.max(l[0],Math.min(l[1],e)))===t.k?t:new eL(e,t.x,t.y)}function v(t,e,n){var r=e[0]-n[0]*t.k,i=e[1]-n[1]*t.k;return r===t.x&&i===t.y?t:new eL(t.k,r,i)}function x(t){return[(+t[0][0]+ +t[1][0])/2,(+t[0][1]+ +t[1][1])/2]}function w(t,e,n,r){t.on("start.zoom",function(){_(this,arguments).event(r).start()}).on("interrupt.zoom end.zoom",function(){_(this,arguments).event(r).end()}).tween("zoom",function(){var t=arguments,o=_(this,t).event(r),a=i.apply(this,t),u=null==n?x(a):"function"==typeof n?n.apply(this,t):n,l=Math.max(a[1][0]-a[0][0],a[1][1]-a[0][1]),s=this.__zoom,c="function"==typeof e?e.apply(this,t):e,f=h(s.invert(u).concat(l/s.k),c.invert(u).concat(l/c.k));return function(t){if(1===t)t=c;else{var e=f(t),n=l/e[2];t=new eL(n,u[0]-e[0]*n,u[1]-e[1]*n)}o.zoom(null,t)}})}function _(t,e,n){return!n&&t.__zooming||new b(t,e)}function b(t,e){this.that=t,this.args=e,this.active=0,this.sourceEvent=null,this.extent=i.apply(t,e),this.taps=0}function M(t,...e){if(r.apply(this,arguments)){var n=_(this,e).event(t),i=this.__zoom,u=Math.max(l[0],Math.min(l[1],i.k*Math.pow(2,a.apply(this,arguments)))),c=tr(t);if(n.wheel)(n.mouse[0][0]!==c[0]||n.mouse[0][1]!==c[1])&&(n.mouse[1]=i.invert(n.mouse[0]=c)),clearTimeout(n.wheel);else{if(i.k===u)return;n.mouse=[c,i.invert(c)],tX(this),n.start()}eR(t),n.wheel=setTimeout(function(){n.wheel=null,n.end()},150),n.zoom("mouse",o(v(g(i,u),n.mouse[0],n.mouse[1]),n.extent,s))}}function E(t,...e){if(!n&&r.apply(this,arguments)){var i=t.currentTarget,a=_(this,e,!0).event(t),u=tn(t.view).on("mousemove.zoom",function(t){if(eR(t),!a.moved){var e=t.clientX-c,n=t.clientY-h;a.moved=e*e+n*n>p}a.event(t).zoom("mouse",o(v(a.that.__zoom,a.mouse[0]=tr(t,i),a.mouse[1]),a.extent,s))},!0).on("mouseup.zoom",function(t){u.on("mousemove.zoom mouseup.zoom",null),ts(t.view,a.moved),eR(t),a.event(t).end()},!0),l=tr(t,i),c=t.clientX,h=t.clientY;tl(t.view),eV(t),a.mouse=[l,this.__zoom.invert(l)],tX(this),a.start()}}function A(t,...e){if(r.apply(this,arguments)){var n=this.__zoom,a=tr(t.changedTouches?t.changedTouches[0]:t,this),u=n.invert(a),l=n.k*(t.shiftKey?.5:2),h=o(v(g(n,l),a,u),i.apply(this,e),s);eR(t),c>0?tn(this).transition().duration(c).call(w,h,a,t):tn(this).call(m.transform,h,a,t)}}function k(n,...i){if(r.apply(this,arguments)){var o,a,u,l,s=n.touches,c=s.length,h=_(this,i,n.changedTouches.length===c).event(n);for(eV(n),a=0;a<c;++a)l=[l=tr(u=s[a],this),this.__zoom.invert(l),u.identifier],h.touch0?h.touch1||h.touch0[2]===l[2]||(h.touch1=l,h.taps=0):(h.touch0=l,o=!0,h.taps=1+!!t);t&&(t=clearTimeout(t)),o&&(h.taps<2&&(e=l[0],t=setTimeout(function(){t=null},500)),tX(this),h.start())}}function $(t,...e){if(this.__zooming){var n,r,i,a,u=_(this,e).event(t),l=t.changedTouches,c=l.length;for(eR(t),n=0;n<c;++n)i=tr(r=l[n],this),u.touch0&&u.touch0[2]===r.identifier?u.touch0[0]=i:u.touch1&&u.touch1[2]===r.identifier&&(u.touch1[0]=i);if(r=u.that.__zoom,u.touch1){var h=u.touch0[0],f=u.touch0[1],d=u.touch1[0],p=u.touch1[1],y=(y=d[0]-h[0])*y+(y=d[1]-h[1])*y,m=(m=p[0]-f[0])*m+(m=p[1]-f[1])*m;r=g(r,Math.sqrt(y/m)),i=[(h[0]+d[0])/2,(h[1]+d[1])/2],a=[(f[0]+p[0])/2,(f[1]+p[1])/2]}else{if(!u.touch0)return;i=u.touch0[0],a=u.touch0[1]}u.zoom("touch",o(v(r,i,a),u.extent,s))}}function z(t,...r){if(this.__zooming){var i,o,a=_(this,r).event(t),u=t.changedTouches,l=u.length;for(eV(t),n&&clearTimeout(n),n=setTimeout(function(){n=null},500),i=0;i<l;++i)o=u[i],a.touch0&&a.touch0[2]===o.identifier?delete a.touch0:a.touch1&&a.touch1[2]===o.identifier&&delete a.touch1;if(a.touch1&&!a.touch0&&(a.touch0=a.touch1,delete a.touch1),a.touch0)a.touch0[1]=this.__zoom.invert(a.touch0[0]);else if(a.end(),2===a.taps&&(o=tr(o,this),Math.hypot(e[0]-o[0],e[1]-o[1])<y)){var s=tn(this).on("dblclick.zoom");s&&s.apply(this,arguments)}}}return m.transform=function(t,e,n,r){var i=t.selection?t.selection():t;i.property("__zoom",eD),t!==i?w(t,e,n,r):i.interrupt().each(function(){_(this,arguments).event(r).start().zoom(null,"function"==typeof e?e.apply(this,arguments):e).end()})},m.scaleBy=function(t,e,n,r){m.scaleTo(t,function(){var t=this.__zoom.k,n="function"==typeof e?e.apply(this,arguments):e;return t*n},n,r)},m.scaleTo=function(t,e,n,r){m.transform(t,function(){var t=i.apply(this,arguments),r=this.__zoom,a=null==n?x(t):"function"==typeof n?n.apply(this,arguments):n,u=r.invert(a),l="function"==typeof e?e.apply(this,arguments):e;return o(v(g(r,l),a,u),t,s)},n,r)},m.translateBy=function(t,e,n,r){m.transform(t,function(){return o(this.__zoom.translate("function"==typeof e?e.apply(this,arguments):e,"function"==typeof n?n.apply(this,arguments):n),i.apply(this,arguments),s)},null,r)},m.translateTo=function(t,e,n,r,a){m.transform(t,function(){var t=i.apply(this,arguments),a=this.__zoom,u=null==r?x(t):"function"==typeof r?r.apply(this,arguments):r;return o(eB.translate(u[0],u[1]).scale(a.k).translate("function"==typeof e?-e.apply(this,arguments):-e,"function"==typeof n?-n.apply(this,arguments):-n),t,s)},r,a)},b.prototype={event:function(t){return t&&(this.sourceEvent=t),this},start:function(){return 1==++this.active&&(this.that.__zooming=this,this.emit("start")),this},zoom:function(t,e){return this.mouse&&"mouse"!==t&&(this.mouse[1]=e.invert(this.mouse[0])),this.touch0&&"touch"!==t&&(this.touch0[1]=e.invert(this.touch0[0])),this.touch1&&"touch"!==t&&(this.touch1[1]=e.invert(this.touch1[0])),this.that.__zoom=e,this.emit("zoom"),this},end:function(){return 0==--this.active&&(delete this.that.__zooming,this.emit("end")),this},emit:function(t){var e=tn(this.that).datum();d.call(t,this.that,new eC(t,{sourceEvent:this.sourceEvent,target:m,type:t,transform:this.that.__zoom,dispatch:d}),e)}},m.wheelDelta=function(t){return arguments.length?(a="function"==typeof t?t:eI(+t),m):a},m.filter=function(t){return arguments.length?(r="function"==typeof t?t:eI(!!t),m):r},m.touchable=function(t){return arguments.length?(u="function"==typeof t?t:eI(!!t),m):u},m.extent=function(t){return arguments.length?(i="function"==typeof t?t:eI([[+t[0][0],+t[0][1]],[+t[1][0],+t[1][1]]]),m):i},m.scaleExtent=function(t){return arguments.length?(l[0]=+t[0],l[1]=+t[1],m):[l[0],l[1]]},m.translateExtent=function(t){return arguments.length?(s[0][0]=+t[0][0],s[1][0]=+t[1][0],s[0][1]=+t[0][1],s[1][1]=+t[1][1],m):[[s[0][0],s[0][1]],[s[1][0],s[1][1]]]},m.constrain=function(t){return arguments.length?(o=t,m):o},m.duration=function(t){return arguments.length?(c=+t,m):c},m.interpolate=function(t){return arguments.length?(h=t,m):h},m.on=function(){var t=d.on.apply(d,arguments);return t===d?m:t},m.clickDistance=function(t){return arguments.length?(p=(t*=1)*t,m):Math.sqrt(p)},m.tapDistance=function(t){return arguments.length?(y=+t,m):y},m}function eK(t,e){var n,r,i=typeof e;return null==e||"boolean"===i?ew(e):("number"===i?tD:"string"===i?(r=er(e))?(e=r,eb):ek:e instanceof er?eb:e instanceof Date?function(t,e){var n=new Date;return t*=1,e*=1,function(r){return n.setTime(t*(1-r)+e*r),n}}:!ArrayBuffer.isView(n=e)||n instanceof DataView?Array.isArray(e)?function(t,e){var n,r=e?e.length:0,i=t?Math.min(r,t.length):0,o=Array(i),a=Array(r);for(n=0;n<i;++n)o[n]=eK(t[n],e[n]);for(;n<r;++n)a[n]=e[n];return function(t){for(n=0;n<i;++n)a[n]=o[n](t);return a}}:"function"!=typeof e.valueOf&&"function"!=typeof e.toString||isNaN(e)?function(t,e){var n,r={},i={};for(n in(null===t||"object"!=typeof t)&&(t={}),(null===e||"object"!=typeof e)&&(e={}),e)n in t?r[n]=eK(t[n],e[n]):i[n]=e[n];return function(t){for(n in r)i[n]=r[n](t);return i}}:tD:function(t,e){e||(e=[]);var n,r=t?Math.min(e.length,t.length):0,i=e.slice();return function(o){for(n=0;n<r;++n)i[n]=t[n]*(1-o)+e[n]*o;return i}})(t,e)}eO.prototype=eL.prototype;let eU={error001:()=>"[React Flow]: Seems like you have not used zustand provider as an ancestor. Help: https://reactflow.dev/error#001",error002:()=>"It looks like you've created a new nodeTypes or edgeTypes object. If this wasn't on purpose please define the nodeTypes/edgeTypes outside of the component or memoize them.",error003:t=>`Node type "${t}" not found. Using fallback type "default".`,error004:()=>"The React Flow parent container needs a width and a height to render the graph.",error005:()=>"Only child nodes can use a parent extent.",error006:()=>"Can't create edge. An edge needs a source and a target.",error007:t=>`The old edge with id=${t} does not exist.`,error009:t=>`Marker type "${t}" doesn't exist.`,error008:(t,{id:e,sourceHandle:n,targetHandle:r})=>`Couldn't create edge for ${t} handle id: "${"source"===t?n:r}", edge id: ${e}.`,error010:()=>"Handle: No node id found. Make sure to only use a Handle inside a custom Node.",error011:t=>`Edge type "${t}" not found. Using fallback type "default".`,error012:t=>`Node with id "${t}" does not exist, it may have been removed. This can happen when a node is deleted before the "onNodeClick" handler is called.`,error013:(t="react")=>`It seems that you haven't loaded the styles. Please import '@xyflow/${t}/dist/style.css' or base.css to make sure everything is working properly.`,error014:()=>"useNodeConnections: No node ID found. Call useNodeConnections inside a custom Node or provide a node ID.",error015:()=>"It seems that you are trying to drag a node that is not initialized. Please use onNodesChange as explained in the docs."},eZ=[[-1/0,-1/0],[1/0,1/0]],eQ=["Enter"," ","Escape"],eG={"node.a11yDescription.default":"Press enter or space to select a node. Press delete to remove it and escape to cancel.","node.a11yDescription.keyboardDisabled":"Press enter or space to select a node. You can then use the arrow keys to move the node around. Press delete to remove it and escape to cancel.","node.a11yDescription.ariaLiveMessage":({direction:t,x:e,y:n})=>`Moved selected node ${t}. New position, x: ${e}, y: ${n}`,"edge.a11yDescription.default":"Press enter or space to select an edge. You can then press delete to remove it or escape to cancel.","controls.ariaLabel":"Control Panel","controls.zoomIn.ariaLabel":"Zoom In","controls.zoomOut.ariaLabel":"Zoom Out","controls.fitView.ariaLabel":"Fit View","controls.interactive.ariaLabel":"Toggle Interactivity","minimap.ariaLabel":"Mini Map","handle.ariaLabel":"Handle"};!function(t){t.Strict="strict",t.Loose="loose"}(i||(i={})),function(t){t.Free="free",t.Vertical="vertical",t.Horizontal="horizontal"}(o||(o={})),function(t){t.Partial="partial",t.Full="full"}(a||(a={}));let eJ={inProgress:!1,isValid:null,from:null,fromHandle:null,fromPosition:null,fromNode:null,to:null,toHandle:null,toPosition:null,toNode:null};!function(t){t.Bezier="default",t.Straight="straight",t.Step="step",t.SmoothStep="smoothstep",t.SimpleBezier="simplebezier"}(u||(u={})),function(t){t.Arrow="arrow",t.ArrowClosed="arrowclosed"}(l||(l={})),function(t){t.Left="left",t.Top="top",t.Right="right",t.Bottom="bottom"}(s||(s={}));let e0={[s.Left]:s.Right,[s.Right]:s.Left,[s.Top]:s.Bottom,[s.Bottom]:s.Top};function e1(t){return null===t?null:t?"valid":"invalid"}let e2=t=>"id"in t&&"source"in t&&"target"in t,e5=t=>"id"in t&&"position"in t&&!("source"in t)&&!("target"in t),e3=t=>"id"in t&&"internals"in t&&!("source"in t)&&!("target"in t),e4=(t,e=[0,0])=>{let{width:n,height:r}=nE(t),i=t.origin??e,o=n*i[0],a=r*i[1];return{x:t.position.x-o,y:t.position.y-a}},e6=(t,e={nodeOrigin:[0,0]})=>0===t.length?{x:0,y:0,width:0,height:0}:ns(t.reduce((t,n)=>{let r="string"==typeof n,i=e.nodeLookup||r?void 0:n;return e.nodeLookup&&(i=r?e.nodeLookup.get(n):e3(n)?n:e.nodeLookup.get(n.id)),nu(t,i?nh(i,e.nodeOrigin):{x:0,y:0,x2:0,y2:0})},{x:1/0,y:1/0,x2:-1/0,y2:-1/0})),e8=(t,e={})=>{if(0===t.size)return{x:0,y:0,width:0,height:0};let n={x:1/0,y:1/0,x2:-1/0,y2:-1/0};return t.forEach(t=>{if(void 0===e.filter||e.filter(t)){let e=nh(t);n=nu(n,e)}}),ns(n)},e9=(t,e,[n,r,i]=[0,0,1],o=!1,a=!1)=>{let u={...nv(e,[n,r,i]),width:e.width/i,height:e.height/i},l=[];for(let e of t.values()){let{measured:t,selectable:n=!0,hidden:r=!1}=e;if(a&&!n||r)continue;let i=t.width??e.width??e.initialWidth??null,s=t.height??e.height??e.initialHeight??null,c=nd(u,nc(e)),h=(i??0)*(s??0),f=o&&c>0;(!e.internals.handleBounds||f||c>=h||e.dragging)&&l.push(e)}return l};async function e7({nodes:t,width:e,height:n,panZoom:r,minZoom:i,maxZoom:o},a){if(0===t.size)return Promise.resolve(!0);let u=n_(e8(function(t,e){let n=new Map,r=e?.nodes?new Set(e.nodes.map(t=>t.id)):null;return t.forEach(t=>{t.measured.width&&t.measured.height&&(e?.includeHiddenNodes||!t.hidden)&&(!r||r.has(t.id))&&n.set(t.id,t)}),n}(t,a)),e,n,a?.minZoom??i,a?.maxZoom??o,a?.padding??.1);return await r.setViewport(u,{duration:a?.duration,ease:a?.ease,interpolate:a?.interpolate}),Promise.resolve(!0)}function nt({nodeId:t,nextPosition:e,nodeLookup:n,nodeOrigin:r=[0,0],nodeExtent:i,onError:o}){let a=n.get(t),u=a.parentId?n.get(a.parentId):void 0,{x:l,y:s}=u?u.internals.positionAbsolute:{x:0,y:0},c=a.origin??r,h=a.extent||i;if("parent"!==a.extent||a.expandParent)u&&nM(a.extent)&&(h=[[a.extent[0][0]+l,a.extent[0][1]+s],[a.extent[1][0]+l,a.extent[1][1]+s]]);else if(u){let t=u.measured.width,e=u.measured.height;t&&e&&(h=[[l,s],[l+t,s+e]])}else o?.("005",eU.error005());let f=nM(h)?nr(e,h,a.measured):e;return(void 0===a.measured.width||void 0===a.measured.height)&&o?.("015",eU.error015()),{position:{x:f.x-l+(a.measured.width??0)*c[0],y:f.y-s+(a.measured.height??0)*c[1]},positionAbsolute:f}}async function ne({nodesToRemove:t=[],edgesToRemove:e=[],nodes:n,edges:r,onBeforeDelete:i}){let o=new Set(t.map(t=>t.id)),a=[];for(let t of n){if(!1===t.deletable)continue;let e=o.has(t.id),n=!e&&t.parentId&&a.find(e=>e.id===t.parentId);(e||n)&&a.push(t)}let u=new Set(e.map(t=>t.id)),l=r.filter(t=>!1!==t.deletable),s=((t,e)=>{let n=new Set;return t.forEach(t=>{n.add(t.id)}),e.filter(t=>n.has(t.source)||n.has(t.target))})(a,l);for(let t of l)u.has(t.id)&&!s.find(e=>e.id===t.id)&&s.push(t);if(!i)return{edges:s,nodes:a};let c=await i({nodes:a,edges:s});return"boolean"==typeof c?c?{edges:s,nodes:a}:{edges:[],nodes:[]}:c}let nn=(t,e=0,n=1)=>Math.min(Math.max(t,e),n),nr=(t={x:0,y:0},e,n)=>({x:nn(t.x,e[0][0],e[1][0]-(n?.width??0)),y:nn(t.y,e[0][1],e[1][1]-(n?.height??0))});function ni(t,e,n){let{width:r,height:i}=nE(n),{x:o,y:a}=n.internals.positionAbsolute;return nr(t,[[o,a],[o+r,a+i]],e)}let no=(t,e,n)=>t<e?nn(Math.abs(t-e),1,e)/e:t>n?-nn(Math.abs(t-n),1,e)/e:0,na=(t,e,n=15,r=40)=>[no(t.x,r,e.width-r)*n,no(t.y,r,e.height-r)*n],nu=(t,e)=>({x:Math.min(t.x,e.x),y:Math.min(t.y,e.y),x2:Math.max(t.x2,e.x2),y2:Math.max(t.y2,e.y2)}),nl=({x:t,y:e,width:n,height:r})=>({x:t,y:e,x2:t+n,y2:e+r}),ns=({x:t,y:e,x2:n,y2:r})=>({x:t,y:e,width:n-t,height:r-e}),nc=(t,e=[0,0])=>{let{x:n,y:r}=e3(t)?t.internals.positionAbsolute:e4(t,e);return{x:n,y:r,width:t.measured?.width??t.width??t.initialWidth??0,height:t.measured?.height??t.height??t.initialHeight??0}},nh=(t,e=[0,0])=>{let{x:n,y:r}=e3(t)?t.internals.positionAbsolute:e4(t,e);return{x:n,y:r,x2:n+(t.measured?.width??t.width??t.initialWidth??0),y2:r+(t.measured?.height??t.height??t.initialHeight??0)}},nf=(t,e)=>ns(nu(nl(t),nl(e))),nd=(t,e)=>Math.ceil(Math.max(0,Math.min(t.x+t.width,e.x+e.width)-Math.max(t.x,e.x))*Math.max(0,Math.min(t.y+t.height,e.y+e.height)-Math.max(t.y,e.y))),np=t=>ny(t.width)&&ny(t.height)&&ny(t.x)&&ny(t.y),ny=t=>!isNaN(t)&&isFinite(t),nm=(t,e)=>{},ng=(t,e=[1,1])=>({x:e[0]*Math.round(t.x/e[0]),y:e[1]*Math.round(t.y/e[1])}),nv=({x:t,y:e},[n,r,i],o=!1,a=[1,1])=>{let u={x:(t-n)/i,y:(e-r)/i};return o?ng(u,a):u},nx=({x:t,y:e},[n,r,i])=>({x:t*i+n,y:e*i+r});function nw(t,e){if("number"==typeof t)return Math.floor((e-e/(1+t))*.5);if("string"==typeof t&&t.endsWith("px")){let e=parseFloat(t);if(!Number.isNaN(e))return Math.floor(e)}if("string"==typeof t&&t.endsWith("%")){let n=parseFloat(t);if(!Number.isNaN(n))return Math.floor(e*n*.01)}return console.error(`[React Flow] The padding value "${t}" is invalid. Please provide a number or a string with a valid unit (px or %).`),0}let n_=(t,e,n,r,i,o)=>{let a=function(t,e,n){if("string"==typeof t||"number"==typeof t){let r=nw(t,n),i=nw(t,e);return{top:r,right:i,bottom:r,left:i,x:2*i,y:2*r}}if("object"==typeof t){let r=nw(t.top??t.y??0,n),i=nw(t.bottom??t.y??0,n),o=nw(t.left??t.x??0,e),a=nw(t.right??t.x??0,e);return{top:r,right:a,bottom:i,left:o,x:o+a,y:r+i}}return{top:0,right:0,bottom:0,left:0,x:0,y:0}}(o,e,n),u=nn(Math.min((e-a.x)/t.width,(n-a.y)/t.height),r,i),l=t.x+t.width/2,s=t.y+t.height/2,c=e/2-l*u,h=n/2-s*u,f=function(t,e,n,r,i,o){let{x:a,y:u}=nx(t,[e,n,r]),{x:l,y:s}=nx({x:t.x+t.width,y:t.y+t.height},[e,n,r]);return{left:Math.floor(a),top:Math.floor(u),right:Math.floor(i-l),bottom:Math.floor(o-s)}}(t,c,h,u,e,n),d={left:Math.min(f.left-a.left,0),top:Math.min(f.top-a.top,0),right:Math.min(f.right-a.right,0),bottom:Math.min(f.bottom-a.bottom,0)};return{x:c-d.left+d.right,y:h-d.top+d.bottom,zoom:u}},nb=()=>"undefined"!=typeof navigator&&navigator?.userAgent?.indexOf("Mac")>=0;function nM(t){return null!=t&&"parent"!==t}function nE(t){return{width:t.measured?.width??t.width??t.initialWidth??0,height:t.measured?.height??t.height??t.initialHeight??0}}function nA(t){return(t.measured?.width??t.width??t.initialWidth)!==void 0&&(t.measured?.height??t.height??t.initialHeight)!==void 0}function nk(t,e={width:0,height:0},n,r,i){let o={...t},a=r.get(n);if(a){let t=a.origin||i;o.x+=a.internals.positionAbsolute.x-(e.width??0)*t[0],o.y+=a.internals.positionAbsolute.y-(e.height??0)*t[1]}return o}function n$(t,e){if(t.size!==e.size)return!1;for(let n of t)if(!e.has(n))return!1;return!0}function nz(){let t,e;return{promise:new Promise((n,r)=>{t=n,e=r}),resolve:t,reject:e}}function nS(t){return{...eG,...t||{}}}function nN(t,{snapGrid:e=[0,0],snapToGrid:n=!1,transform:r,containerBounds:i}){let{x:o,y:a}=nL(t),u=nv({x:o-(i?.left??0),y:a-(i?.top??0)},r),{x:l,y:s}=n?ng(u,e):u;return{xSnapped:l,ySnapped:s,...u}}let nT=t=>({width:t.offsetWidth,height:t.offsetHeight}),nH=t=>t?.getRootNode?.()||window?.document,nP=["INPUT","SELECT","TEXTAREA"];function nI(t){let e=t.composedPath?.()?.[0]||t.target;return e?.nodeType===1&&(nP.includes(e.nodeName)||e.hasAttribute("contenteditable")||!!e.closest(".nokey"))}let nC=t=>"clientX"in t,nL=(t,e)=>{let n=nC(t),r=n?t.clientX:t.touches?.[0].clientX,i=n?t.clientY:t.touches?.[0].clientY;return{x:r-(e?.left??0),y:i-(e?.top??0)}},nB=(t,e,n,r,i)=>{let o=e.querySelectorAll(`.${t}`);return o&&o.length?Array.from(o).map(e=>{let o=e.getBoundingClientRect();return{id:e.getAttribute("data-handleid"),type:t,nodeId:i,position:e.getAttribute("data-handlepos"),x:(o.left-n.left)/r,y:(o.top-n.top)/r,...nT(e)}}):null};function nO({sourceX:t,sourceY:e,targetX:n,targetY:r,sourceControlX:i,sourceControlY:o,targetControlX:a,targetControlY:u}){let l=.125*t+.375*i+.375*a+.125*n,s=.125*e+.375*o+.375*u+.125*r,c=Math.abs(l-t),h=Math.abs(s-e);return[l,s,c,h]}function nV(t,e){return t>=0?.5*t:25*e*Math.sqrt(-t)}function nR({pos:t,x1:e,y1:n,x2:r,y2:i,c:o}){switch(t){case s.Left:return[e-nV(e-r,o),n];case s.Right:return[e+nV(r-e,o),n];case s.Top:return[e,n-nV(n-i,o)];case s.Bottom:return[e,n+nV(i-n,o)]}}function nj({sourceX:t,sourceY:e,sourcePosition:n=s.Bottom,targetX:r,targetY:i,targetPosition:o=s.Top,curvature:a=.25}){let[u,l]=nR({pos:n,x1:t,y1:e,x2:r,y2:i,c:a}),[c,h]=nR({pos:o,x1:r,y1:i,x2:t,y2:e,c:a}),[f,d,p,y]=nO({sourceX:t,sourceY:e,targetX:r,targetY:i,sourceControlX:u,sourceControlY:l,targetControlX:c,targetControlY:h});return[`M${t},${e} C${u},${l} ${c},${h} ${r},${i}`,f,d,p,y]}function nX({sourceX:t,sourceY:e,targetX:n,targetY:r}){let i=Math.abs(n-t)/2,o=Math.abs(r-e)/2;return[n<t?n+i:n-i,r<e?r+o:r-o,i,o]}function nD({sourceNode:t,targetNode:e,selected:n=!1,zIndex:r,elevateOnSelect:i=!1}){return void 0!==r?r:(i&&n?1e3:0)+Math.max(t.parentId?t.internals.z:0,e.parentId?e.internals.z:0)}function nq({sourceNode:t,targetNode:e,width:n,height:r,transform:i}){let o=nu(nh(t),nh(e));return o.x===o.x2&&(o.x2+=1),o.y===o.y2&&(o.y2+=1),nd({x:-i[0]/i[2],y:-i[1]/i[2],width:n/i[2],height:r/i[2]},ns(o))>0}let nY=(t,e)=>{let n;return t.source&&t.target?((t,e)=>e.some(e=>e.source===t.source&&e.target===t.target&&(e.sourceHandle===t.sourceHandle||!e.sourceHandle&&!t.sourceHandle)&&(e.targetHandle===t.targetHandle||!e.targetHandle&&!t.targetHandle)))(n=e2(t)?{...t}:{...t,id:(({source:t,sourceHandle:e,target:n,targetHandle:r})=>`xy-edge__${t}${e||""}-${n}${r||""}`)(t)},e)?e:(null===n.sourceHandle&&delete n.sourceHandle,null===n.targetHandle&&delete n.targetHandle,e.concat(n)):(nm("006",eU.error006()),e)};function nF({sourceX:t,sourceY:e,targetX:n,targetY:r}){let[i,o,a,u]=nX({sourceX:t,sourceY:e,targetX:n,targetY:r});return[`M ${t},${e}L ${n},${r}`,i,o,a,u]}let nW={[s.Left]:{x:-1,y:0},[s.Right]:{x:1,y:0},[s.Top]:{x:0,y:-1},[s.Bottom]:{x:0,y:1}},nK=({source:t,sourcePosition:e=s.Bottom,target:n})=>e===s.Left||e===s.Right?t.x<n.x?{x:1,y:0}:{x:-1,y:0}:t.y<n.y?{x:0,y:1}:{x:0,y:-1},nU=(t,e)=>Math.sqrt(Math.pow(e.x-t.x,2)+Math.pow(e.y-t.y,2));function nZ({sourceX:t,sourceY:e,sourcePosition:n=s.Bottom,targetX:r,targetY:i,targetPosition:o=s.Top,borderRadius:a=5,centerX:u,centerY:l,offset:c=20,stepPosition:h=.5}){let[f,d,p,y,m]=function({source:t,sourcePosition:e=s.Bottom,target:n,targetPosition:r=s.Top,center:i,offset:o,stepPosition:a}){let u,l,c=nW[e],h=nW[r],f={x:t.x+c.x*o,y:t.y+c.y*o},d={x:n.x+h.x*o,y:n.y+h.y*o},p=nK({source:f,sourcePosition:e,target:d}),y=0!==p.x?"x":"y",m=p[y],g=[],v={x:0,y:0},x={x:0,y:0},[,,w,_]=nX({sourceX:t.x,sourceY:t.y,targetX:n.x,targetY:n.y});if(c[y]*h[y]==-1){"x"===y?(u=i.x??f.x+(d.x-f.x)*a,l=i.y??(f.y+d.y)/2):(u=i.x??(f.x+d.x)/2,l=i.y??f.y+(d.y-f.y)*a);let t=[{x:u,y:f.y},{x:u,y:d.y}],e=[{x:f.x,y:l},{x:d.x,y:l}];g=c[y]===m?"x"===y?t:e:"x"===y?e:t}else{let i=[{x:f.x,y:d.y}],a=[{x:d.x,y:f.y}];if(g="x"===y?c.x===m?a:i:c.y===m?i:a,e===r){let e=Math.abs(t[y]-n[y]);if(e<=o){let r=Math.min(o-1,o-e);c[y]===m?v[y]=(f[y]>t[y]?-1:1)*r:x[y]=(d[y]>n[y]?-1:1)*r}}if(e!==r){let t="x"===y?"y":"x",e=c[y]===h[t],n=f[t]>d[t],r=f[t]<d[t];(1===c[y]&&(!e&&n||e&&r)||1!==c[y]&&(!e&&r||e&&n))&&(g="x"===y?i:a)}let s={x:f.x+v.x,y:f.y+v.y},p={x:d.x+x.x,y:d.y+x.y};Math.max(Math.abs(s.x-g[0].x),Math.abs(p.x-g[0].x))>=Math.max(Math.abs(s.y-g[0].y),Math.abs(p.y-g[0].y))?(u=(s.x+p.x)/2,l=g[0].y):(u=g[0].x,l=(s.y+p.y)/2)}return[[t,{x:f.x+v.x,y:f.y+v.y},...g,{x:d.x+x.x,y:d.y+x.y},n],u,l,w,_]}({source:{x:t,y:e},sourcePosition:n,target:{x:r,y:i},targetPosition:o,center:{x:u,y:l},offset:c,stepPosition:h});return[f.reduce((t,e,n)=>t+(n>0&&n<f.length-1?function(t,e,n,r){let i=Math.min(nU(t,e)/2,nU(e,n)/2,r),{x:o,y:a}=e;if(t.x===o&&o===n.x||t.y===a&&a===n.y)return`L${o} ${a}`;if(t.y===a){let e=t.x<n.x?-1:1,r=t.y<n.y?1:-1;return`L ${o+i*e},${a}Q ${o},${a} ${o},${a+i*r}`}let u=t.x<n.x?1:-1,l=t.y<n.y?-1:1;return`L ${o},${a+i*l}Q ${o},${a} ${o+i*u},${a}`}(f[n-1],e,f[n+1],a):`${0===n?"M":"L"}${e.x} ${e.y}`),""),d,p,y,m]}function nQ(t){return t&&!!(t.internals.handleBounds||t.handles?.length)&&!!(t.measured.width||t.width||t.initialWidth)}function nG(t){let{sourceNode:e,targetNode:n}=t;if(!nQ(e)||!nQ(n))return null;let r=e.internals.handleBounds||nJ(e.handles),o=n.internals.handleBounds||nJ(n.handles),a=n1(r?.source??[],t.sourceHandle),u=n1(t.connectionMode===i.Strict?o?.target??[]:(o?.target??[]).concat(o?.source??[]),t.targetHandle);if(!a||!u)return t.onError?.("008",eU.error008(!a?"source":"target",{id:t.id,sourceHandle:t.sourceHandle,targetHandle:t.targetHandle})),null;let l=a?.position||s.Bottom,c=u?.position||s.Top,h=n0(e,a,l),f=n0(n,u,c);return{sourceX:h.x,sourceY:h.y,targetX:f.x,targetY:f.y,sourcePosition:l,targetPosition:c}}function nJ(t){if(!t)return null;let e=[],n=[];for(let r of t)r.width=r.width??1,r.height=r.height??1,"source"===r.type?e.push(r):"target"===r.type&&n.push(r);return{source:e,target:n}}function n0(t,e,n=s.Left,r=!1){let i=(e?.x??0)+t.internals.positionAbsolute.x,o=(e?.y??0)+t.internals.positionAbsolute.y,{width:a,height:u}=e??nE(t);if(r)return{x:i+a/2,y:o+u/2};switch(e?.position??n){case s.Top:return{x:i+a/2,y:o};case s.Right:return{x:i+a,y:o+u/2};case s.Bottom:return{x:i+a/2,y:o+u};case s.Left:return{x:i,y:o+u/2}}}function n1(t,e){return t&&(e?t.find(t=>t.id===e):t[0])||null}function n2(t,e){if(!t)return"";if("string"==typeof t)return t;let n=e?`${e}__`:"";return`${n}${Object.keys(t).sort().map(e=>`${e}=${t[e]}`).join("&")}`}function n5(t,{id:e,defaultColor:n,defaultMarkerStart:r,defaultMarkerEnd:i}){let o=new Set;return t.reduce((t,a)=>([a.markerStart||r,a.markerEnd||i].forEach(r=>{if(r&&"object"==typeof r){let i=n2(r,e);o.has(i)||(t.push({id:i,color:r.color||n,...r}),o.add(i))}}),t),[]).sort((t,e)=>t.id.localeCompare(e.id))}let n3={nodeOrigin:[0,0],nodeExtent:eZ,elevateNodesOnSelect:!0,defaults:{}},n4={...n3,checkEquality:!0};function n6(t,e){let n={...t};for(let t in e)void 0!==e[t]&&(n[t]=e[t]);return n}function n8(t,e,n){let r=n6(n3,n);for(let n of t.values())if(n.parentId)n7(n,t,e,r);else{let t=nr(e4(n,r.nodeOrigin),nM(n.extent)?n.extent:r.nodeExtent,nE(n));n.internals.positionAbsolute=t}}function n9(t,e,n,r){let i=n6(n4,r),o=t.length>0,a=new Map(e),u=1e3*!!i?.elevateNodesOnSelect;for(let l of(e.clear(),n.clear(),t)){let t=a.get(l.id);if(i.checkEquality&&l===t?.internals.userNode)e.set(l.id,t);else{let n=nr(e4(l,i.nodeOrigin),nM(l.extent)?l.extent:i.nodeExtent,nE(l));t={...i.defaults,...l,measured:{width:l.measured?.width,height:l.measured?.height},internals:{positionAbsolute:n,handleBounds:l.measured?t?.internals.handleBounds:void 0,z:rt(l,u),userNode:l}},e.set(l.id,t)}void 0!==t.measured&&void 0!==t.measured.width&&void 0!==t.measured.height||t.hidden||(o=!1),l.parentId&&n7(t,e,n,r)}return o}function n7(t,e,n,r){let{elevateNodesOnSelect:i,nodeOrigin:o,nodeExtent:a}=n6(n3,r),u=t.parentId,l=e.get(u);if(!l)return void console.warn(`Parent node ${u} not found. Please make sure that parent nodes are in front of their child nodes in the nodes array.`);!function(t,e){if(!t.parentId)return;let n=e.get(t.parentId);n?n.set(t.id,t):e.set(t.parentId,new Map([[t.id,t]]))}(t,n);let{x:s,y:c,z:h}=function(t,e,n,r,i){let{x:o,y:a}=e.internals.positionAbsolute,u=nE(t),l=e4(t,n),s=nM(t.extent)?nr(l,t.extent,u):l,c=nr({x:o+s.x,y:a+s.y},r,u);"parent"===t.extent&&(c=ni(c,u,e));let h=rt(t,i),f=e.internals.z??0;return{x:c.x,y:c.y,z:f>=h?f+1:h}}(t,l,o,a,1e3*!!i),{positionAbsolute:f}=t.internals,d=s!==f.x||c!==f.y;(d||h!==t.internals.z)&&e.set(t.id,{...t,internals:{...t.internals,positionAbsolute:d?{x:s,y:c}:f,z:h}})}function rt(t,e){return(ny(t.zIndex)?t.zIndex:0)+(t.selected?e:0)}function re(t,e,n,r=[0,0]){let i=[],o=new Map;for(let n of t){let t=e.get(n.parentId);if(!t)continue;let r=nf(o.get(n.parentId)?.expandedRect??nc(t),n.rect);o.set(n.parentId,{expandedRect:r,parent:t})}return o.size>0&&o.forEach(({expandedRect:e,parent:o},a)=>{let u=o.internals.positionAbsolute,l=nE(o),s=o.origin??r,c=e.x<u.x?Math.round(Math.abs(u.x-e.x)):0,h=e.y<u.y?Math.round(Math.abs(u.y-e.y)):0,f=Math.max(l.width,Math.round(e.width)),d=Math.max(l.height,Math.round(e.height)),p=(f-l.width)*s[0],y=(d-l.height)*s[1];(c>0||h>0||p||y)&&(i.push({id:a,type:"position",position:{x:o.position.x-c+p,y:o.position.y-h+y}}),n.get(a)?.forEach(e=>{t.some(t=>t.id===e.id)||i.push({id:e.id,type:"position",position:{x:e.position.x+c,y:e.position.y+h}})})),(l.width<e.width||l.height<e.height||c||h)&&i.push({id:a,type:"dimensions",setAttributes:!0,dimensions:{width:f+(c?s[0]*c-p:0),height:d+(h?s[1]*h-y:0)}})}),i}function rn(t,e,n,r,i,o){let a=r?.querySelector(".xyflow__viewport"),u=!1;if(!a)return{changes:[],updatedInternals:u};let l=[],s=window.getComputedStyle(a),{m22:c}=new window.DOMMatrixReadOnly(s.transform),h=[];for(let r of t.values()){let t=e.get(r.id);if(!t)continue;if(t.hidden){e.set(t.id,{...t,internals:{...t.internals,handleBounds:void 0}}),u=!0;continue}let a=nT(r.nodeElement),s=t.measured.width!==a.width||t.measured.height!==a.height;if(a.width&&a.height&&(s||!t.internals.handleBounds||r.force)){let f=r.nodeElement.getBoundingClientRect(),d=nM(t.extent)?t.extent:o,{positionAbsolute:p}=t.internals;t.parentId&&"parent"===t.extent?p=ni(p,a,e.get(t.parentId)):d&&(p=nr(p,d,a));let y={...t,measured:a,internals:{...t.internals,positionAbsolute:p,handleBounds:{source:nB("source",r.nodeElement,f,c,t.id),target:nB("target",r.nodeElement,f,c,t.id)}}};e.set(t.id,y),t.parentId&&n7(y,e,n,{nodeOrigin:i}),u=!0,s&&(l.push({id:t.id,type:"dimensions",dimensions:a}),t.expandParent&&t.parentId&&h.push({id:t.id,parentId:t.parentId,rect:nc(y,i)}))}}if(h.length>0){let t=re(h,e,n,i);l.push(...t)}return{changes:l,updatedInternals:u}}async function rr({delta:t,panZoom:e,transform:n,translateExtent:r,width:i,height:o}){if(!e||!t.x&&!t.y)return Promise.resolve(!1);let a=await e.setViewportConstrained({x:n[0]+t.x,y:n[1]+t.y,zoom:n[2]},[[0,0],[i,o]],r);return Promise.resolve(!!a&&(a.x!==n[0]||a.y!==n[1]||a.k!==n[2]))}function ri(t,e,n,r,i,o){let a=i,u=r.get(a)||new Map;r.set(a,u.set(n,e)),a=`${i}-${t}`;let l=r.get(a)||new Map;if(r.set(a,l.set(n,e)),o){a=`${i}-${t}-${o}`;let u=r.get(a)||new Map;r.set(a,u.set(n,e))}}function ro(t,e,n){for(let r of(t.clear(),e.clear(),n)){let{source:n,target:i,sourceHandle:o=null,targetHandle:a=null}=r,u={edgeId:r.id,source:n,target:i,sourceHandle:o,targetHandle:a},l=`${n}-${o}--${i}-${a}`;ri("source",u,`${i}-${a}--${n}-${o}`,t,n,o),ri("target",u,l,t,i,a),e.set(r.id,r)}}function ra(t,e,n){let r=t;do{if(r?.matches?.(e))return!0;if(r===n)break;r=r?.parentElement}while(r);return!1}function ru({nodeId:t,dragItems:e,nodeLookup:n,dragging:r=!0}){let i=[];for(let[t,o]of e){let e=n.get(t)?.internals.userNode;e&&i.push({...e,position:o.position,dragging:r})}if(!t)return[i[0],i];let o=n.get(t)?.internals.userNode;return[o?{...o,position:e.get(t)?.position||o.position,dragging:r}:i[0],i]}function rl({onNodeMouseDown:t,getStoreItems:e,onDragStart:n,onDrag:r,onDragStop:i}){let o={x:null,y:null},a=0,u=new Map,l=!1,s={x:0,y:0},c=null,h=!1,d=null,p=!1,y=!1,m=null;return{update:function({noDragClassName:g,handleSelector:v,domNode:x,isSelectable:w,nodeId:_,nodeClickDistance:b=0}){function M({x:t,y:n}){let{nodeLookup:i,nodeExtent:a,snapGrid:l,snapToGrid:s,nodeOrigin:c,onNodeDrag:h,onSelectionDrag:f,onError:d,updateNodePositions:p}=e();o={x:t,y:n};let g=!1,v=u.size>1,x=v&&a?nl(e8(u)):null,w=v&&s?function({dragItems:t,snapGrid:e,x:n,y:r}){let i=t.values().next().value;if(!i)return null;let o={x:n-i.distance.x,y:r-i.distance.y},a=ng(o,e);return{x:a.x-o.x,y:a.y-o.y}}({dragItems:u,snapGrid:l,x:t,y:n}):null;for(let[e,r]of u){if(!i.has(e))continue;let o={x:t-r.distance.x,y:n-r.distance.y};s&&(o=w?{x:Math.round(o.x+w.x),y:Math.round(o.y+w.y)}:ng(o,l));let u=null;if(v&&a&&!r.extent&&x){let{positionAbsolute:t}=r.internals,e=t.x-x.x+a[0][0],n=t.x+r.measured.width-x.x2+a[1][0];u=[[e,t.y-x.y+a[0][1]],[n,t.y+r.measured.height-x.y2+a[1][1]]]}let{position:h,positionAbsolute:f}=nt({nodeId:e,nextPosition:o,nodeLookup:i,nodeExtent:u||a,nodeOrigin:c,onError:d});g=g||r.position.x!==h.x||r.position.y!==h.y,r.position=h,r.internals.positionAbsolute=f}if(y=y||g,g&&(p(u,!0),m&&(r||h||!_&&f))){let[t,e]=ru({nodeId:_,dragItems:u,nodeLookup:i});r?.(m,u,t,e),h?.(m,t,e),_||f?.(m,e)}}async function E(){if(!c)return;let{transform:t,panBy:n,autoPanSpeed:r,autoPanOnNodeDrag:i}=e();if(!i){l=!1,cancelAnimationFrame(a);return}let[u,h]=na(s,c,r);(0!==u||0!==h)&&(o.x=(o.x??0)-u/t[2],o.y=(o.y??0)-h/t[2],await n({x:u,y:h})&&M(o)),a=requestAnimationFrame(E)}function A(r){let{nodeLookup:i,multiSelectionActive:a,nodesDraggable:l,transform:s,snapGrid:f,snapToGrid:d,selectNodesOnDrag:p,onNodeDragStart:y,onSelectionDragStart:m,unselectNodesAndEdges:g}=e();h=!0,p&&w||a||!_||i.get(_)?.selected||g(),w&&p&&_&&t?.(_);let v=nN(r.sourceEvent,{transform:s,snapGrid:f,snapToGrid:d,containerBounds:c});if(o=v,(u=function(t,e,n,r){let i=new Map;for(let[o,a]of t)if((a.selected||a.id===r)&&(!a.parentId||!function t(e,n){if(!e.parentId)return!1;let r=n.get(e.parentId);return!!r&&(!!r.selected||t(r,n))}(a,t))&&(a.draggable||e&&void 0===a.draggable)){let e=t.get(o);e&&i.set(o,{id:o,position:e.position||{x:0,y:0},distance:{x:n.x-e.internals.positionAbsolute.x,y:n.y-e.internals.positionAbsolute.y},extent:e.extent,parentId:e.parentId,origin:e.origin,expandParent:e.expandParent,internals:{positionAbsolute:e.internals.positionAbsolute||{x:0,y:0}},measured:{width:e.measured.width??0,height:e.measured.height??0}})}return i}(i,l,v,_)).size>0&&(n||y||!_&&m)){let[t,e]=ru({nodeId:_,dragItems:u,nodeLookup:i});n?.(r.sourceEvent,u,t,e),y?.(r.sourceEvent,t,e),_||m?.(r.sourceEvent,e)}}d=tn(x);let k=(function(){var t,e,n,r,i=tf,o=td,a=tp,u=ty,l={},s=f("start","drag","end"),c=0,h=0;function d(t){t.on("mousedown.drag",p).filter(u).on("touchstart.drag",g).on("touchmove.drag",v,ti).on("touchend.drag touchcancel.drag",x).style("touch-action","none").style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}function p(a,u){if(!r&&i.call(this,a,u)){var l=w(this,o.call(this,a,u),a,u,"mouse");l&&(tn(a.view).on("mousemove.drag",y,to).on("mouseup.drag",m,to),tl(a.view),ta(a),n=!1,t=a.clientX,e=a.clientY,l("start",a))}}function y(r){if(tu(r),!n){var i=r.clientX-t,o=r.clientY-e;n=i*i+o*o>h}l.mouse("drag",r)}function m(t){tn(t.view).on("mousemove.drag mouseup.drag",null),ts(t.view,n),tu(t),l.mouse("end",t)}function g(t,e){if(i.call(this,t,e)){var n,r,a=t.changedTouches,u=o.call(this,t,e),l=a.length;for(n=0;n<l;++n)(r=w(this,u,t,e,a[n].identifier,a[n]))&&(ta(t),r("start",t,a[n]))}}function v(t){var e,n,r=t.changedTouches,i=r.length;for(e=0;e<i;++e)(n=l[r[e].identifier])&&(tu(t),n("drag",t,r[e]))}function x(t){var e,n,i=t.changedTouches,o=i.length;for(r&&clearTimeout(r),r=setTimeout(function(){r=null},500),e=0;e<o;++e)(n=l[i[e].identifier])&&(ta(t),n("end",t,i[e]))}function w(t,e,n,r,i,o){var u,h,f,p=s.copy(),y=tr(o||n,e);if(null!=(f=a.call(t,new th("beforestart",{sourceEvent:n,target:d,identifier:i,active:c,x:y[0],y:y[1],dx:0,dy:0,dispatch:p}),r)))return u=f.x-y[0]||0,h=f.y-y[1]||0,function n(o,a,s){var m,g=y;switch(o){case"start":l[i]=n,m=c++;break;case"end":delete l[i],--c;case"drag":y=tr(s||a,e),m=c}p.call(o,t,new th(o,{sourceEvent:a,subject:f,target:d,identifier:i,active:m,x:y[0]+u,y:y[1]+h,dx:y[0]-g[0],dy:y[1]-g[1],dispatch:p}),r)}}return d.filter=function(t){return arguments.length?(i="function"==typeof t?t:tc(!!t),d):i},d.container=function(t){return arguments.length?(o="function"==typeof t?t:tc(t),d):o},d.subject=function(t){return arguments.length?(a="function"==typeof t?t:tc(t),d):a},d.touchable=function(t){return arguments.length?(u="function"==typeof t?t:tc(!!t),d):u},d.on=function(){var t=s.on.apply(s,arguments);return t===s?d:t},d.clickDistance=function(t){return arguments.length?(h=(t*=1)*t,d):Math.sqrt(h)},d})().clickDistance(b).on("start",t=>{let{domNode:n,nodeDragThreshold:r,transform:i,snapGrid:a,snapToGrid:u}=e();c=n?.getBoundingClientRect()||null,p=!1,y=!1,m=t.sourceEvent,0===r&&A(t),o=nN(t.sourceEvent,{transform:i,snapGrid:a,snapToGrid:u,containerBounds:c}),s=nL(t.sourceEvent,c)}).on("drag",t=>{let{autoPanOnNodeDrag:n,transform:r,snapGrid:i,snapToGrid:a,nodeDragThreshold:f,nodeLookup:d}=e(),y=nN(t.sourceEvent,{transform:r,snapGrid:i,snapToGrid:a,containerBounds:c});if(m=t.sourceEvent,("touchmove"===t.sourceEvent.type&&t.sourceEvent.touches.length>1||_&&!d.has(_))&&(p=!0),!p){if(!l&&n&&h&&(l=!0,E()),!h){let e=y.xSnapped-(o.x??0),n=y.ySnapped-(o.y??0);Math.sqrt(e*e+n*n)>f&&A(t)}(o.x!==y.xSnapped||o.y!==y.ySnapped)&&u&&h&&(s=nL(t.sourceEvent,c),M(y))}}).on("end",t=>{if(h&&!p&&(l=!1,h=!1,cancelAnimationFrame(a),u.size>0)){let{nodeLookup:n,updateNodePositions:r,onNodeDragStop:o,onSelectionDragStop:a}=e();if(y&&(r(u,!1),y=!1),i||o||!_&&a){let[e,r]=ru({nodeId:_,dragItems:u,nodeLookup:n,dragging:!1});i?.(t.sourceEvent,u,e,r),o?.(t.sourceEvent,e,r),_||a?.(t.sourceEvent,r)}}}).filter(t=>{let e=t.target;return!t.button&&(!g||!ra(e,`.${g}`,x))&&(!v||ra(e,v,x))});d.call(k)},destroy:function(){d?.on(".drag",null)}}}function rs(t,e,n,r,i,o=!1){let a=r.get(t);if(!a)return null;let u="strict"===i?a.internals.handleBounds?.[e]:[...a.internals.handleBounds?.source??[],...a.internals.handleBounds?.target??[]],l=(n?u?.find(t=>t.id===n):u?.[0])??null;return l&&o?{...l,...n0(a,l,l.position,!0)}:l}function rc(t,e){return t?t:e?.classList.contains("target")?"target":e?.classList.contains("source")?"source":null}let rh=()=>!0;function rf(t,{handle:e,connectionMode:n,fromNodeId:r,fromHandleId:o,fromType:a,doc:u,lib:l,flowId:s,isValidConnection:c=rh,nodeLookup:h}){let f="target"===a,d=e?u.querySelector(`.${l}-flow__handle[data-id="${s}-${e?.nodeId}-${e?.id}-${e?.type}"]`):null,{x:p,y}=nL(t),m=u.elementFromPoint(p,y),g=m?.classList.contains(`${l}-flow__handle`)?m:d,v={handleDomNode:g,isValid:!1,connection:null,toHandle:null};if(g){let t=rc(void 0,g),e=g.getAttribute("data-nodeid"),a=g.getAttribute("data-handleid"),u=g.classList.contains("connectable"),l=g.classList.contains("connectableend");if(!e||!t)return v;let s={source:f?e:r,sourceHandle:f?a:o,target:f?r:e,targetHandle:f?o:a};v.connection=s,v.isValid=u&&l&&(n===i.Strict?f&&"source"===t||!f&&"target"===t:e!==r||a!==o)&&c(s),v.toHandle=rs(e,t,a,h,n,!0)}return v}let rd={onPointerDown:function(t,{connectionMode:e,connectionRadius:n,handleId:r,nodeId:i,edgeUpdaterType:o,isTarget:a,domNode:u,nodeLookup:l,lib:c,autoPanOnConnect:h,flowId:f,panBy:d,cancelConnection:p,onConnectStart:y,onConnect:m,onConnectEnd:g,isValidConnection:v=rh,onReconnectEnd:x,updateConnection:w,getTransform:_,getFromHandle:b,autoPanSpeed:M,dragThreshold:E=1,handleDomNode:A}){let k,$=nH(t.target),z=0,{x:S,y:N}=nL(t),T=rc(o,A),H=u?.getBoundingClientRect(),P=!1;if(!H||!T)return;let I=rs(i,T,r,l,e);if(!I)return;let C=nL(t,H),L=!1,B=null,O=!1,V=null,R={...I,nodeId:i,type:T,position:I.position},j=l.get(i),X={inProgress:!0,isValid:null,from:n0(j,R,s.Left,!0),fromHandle:R,fromPosition:R.position,fromNode:j,to:C,toHandle:null,toPosition:e0[R.position],toNode:null};function D(){P=!0,w(X),y?.(t,{nodeId:i,handleId:r,handleType:T})}function q(t){var o,u;let s;if(!P){let{x:e,y:n}=nL(t),r=e-S,i=n-N;if(!(r*r+i*i>E*E))return;D()}if(!b()||!R)return void Y(t);let p=_();k=function(t,e,n,r){let i=[],o=1/0;for(let a of function(t,e,n){let r=[],i={x:t.x-n,y:t.y-n,width:2*n,height:2*n};for(let t of e.values())nd(i,nc(t))>0&&r.push(t);return r}(t,n,e+250))for(let n of[...a.internals.handleBounds?.source??[],...a.internals.handleBounds?.target??[]]){if(r.nodeId===n.nodeId&&r.type===n.type&&r.id===n.id)continue;let{x:u,y:l}=n0(a,n,n.position,!0),s=Math.sqrt(Math.pow(u-t.x,2)+Math.pow(l-t.y,2));s>e||(s<o?(i=[{...n,x:u,y:l}],o=s):s===o&&i.push({...n,x:u,y:l}))}if(!i.length)return null;if(i.length>1){let t="source"===r.type?"target":"source";return i.find(e=>e.type===t)??i[0]}return i[0]}(nv(C=nL(t,H),p,!1,[1,1]),n,l,R),L||(!function t(){if(!h||!H)return;let[e,n]=na(C,H,M);d({x:e,y:n}),z=requestAnimationFrame(t)}(),L=!0);let y=rf(t,{handle:k,connectionMode:e,fromNodeId:i,fromHandleId:r,fromType:a?"target":"source",isValidConnection:v,doc:$,lib:c,flowId:f,nodeLookup:l});V=y.handleDomNode,B=y.connection,o=!!k,u=y.isValid,s=null,u?s=!0:o&&!u&&(s=!1),O=s;let m={...X,isValid:O,to:y.toHandle&&O?nx({x:y.toHandle.x,y:y.toHandle.y},p):C,toHandle:y.toHandle,toPosition:O&&y.toHandle?y.toHandle.position:e0[R.position],toNode:y.toHandle?l.get(y.toHandle.nodeId):null};O&&k&&X.toHandle&&m.toHandle&&X.toHandle.type===m.toHandle.type&&X.toHandle.nodeId===m.toHandle.nodeId&&X.toHandle.id===m.toHandle.id&&X.to.x===m.to.x&&X.to.y===m.to.y||(w(m),X=m)}function Y(t){if(P){(k||V)&&B&&O&&m?.(B);let{inProgress:e,...n}=X,r={...n,toPosition:X.toHandle?X.toPosition:null};g?.(t,r),o&&x?.(t,r)}p(),cancelAnimationFrame(z),L=!1,O=!1,B=null,V=null,$.removeEventListener("mousemove",q),$.removeEventListener("mouseup",Y),$.removeEventListener("touchmove",q),$.removeEventListener("touchend",Y)}0===E&&D(),$.addEventListener("mousemove",q),$.addEventListener("mouseup",Y),$.addEventListener("touchmove",q),$.addEventListener("touchend",Y)},isValid:rf};function rp({domNode:t,panZoom:e,getTransform:n,getViewScale:r}){let i=tn(t);return{update:function({translateExtent:t,width:o,height:a,zoomStep:u=1,pannable:l=!0,zoomable:s=!0,inversePan:c=!1}){let h=[0,0],f=eW().on("start",t=>{("mousedown"===t.sourceEvent.type||"touchstart"===t.sourceEvent.type)&&(h=[t.sourceEvent.clientX??t.sourceEvent.touches[0].clientX,t.sourceEvent.clientY??t.sourceEvent.touches[0].clientY])}).on("zoom",l?i=>{let u=n();if("mousemove"!==i.sourceEvent.type&&"touchmove"!==i.sourceEvent.type||!e)return;let l=[i.sourceEvent.clientX??i.sourceEvent.touches[0].clientX,i.sourceEvent.clientY??i.sourceEvent.touches[0].clientY],s=[l[0]-h[0],l[1]-h[1]];h=l;let f=r()*Math.max(u[2],Math.log(u[2]))*(c?-1:1),d={x:u[0]-s[0]*f,y:u[1]-s[1]*f};e.setViewportConstrained({x:d.x,y:d.y,zoom:u[2]},[[0,0],[o,a]],t)}:null).on("zoom.wheel",s?t=>{if("wheel"!==t.sourceEvent.type||!e)return;let r=n(),i=t.sourceEvent.ctrlKey&&nb()?10:1,o=-t.sourceEvent.deltaY*(1===t.sourceEvent.deltaMode?.05:t.sourceEvent.deltaMode?1:.002)*u,a=r[2]*Math.pow(2,o*i);e.scaleTo(a)}:null);i.call(f,{})},destroy:function(){i.on("zoom",null)},pointer:tr}}let ry=t=>({x:t.x,y:t.y,zoom:t.k}),rm=({x:t,y:e,zoom:n})=>eB.translate(t,e).scale(n),rg=(t,e)=>t.target.closest(`.${e}`),rv=(t,e)=>2===e&&Array.isArray(t)&&t.includes(2),rx=t=>((t*=2)<=1?t*t*t:(t-=2)*t*t+2)/2,rw=(t,e=0,n=rx,r=()=>{})=>{let i="number"==typeof e&&e>0;return i||r(),i?t.transition().duration(e).ease(n).on("end",r):t},r_=t=>{let e=t.ctrlKey&&nb()?10:1;return-t.deltaY*(1===t.deltaMode?.05:t.deltaMode?1:.002)*e};function rb({domNode:t,minZoom:e,maxZoom:n,paneClickDistance:r,translateExtent:i,viewport:a,onPanZoom:u,onPanZoomStart:l,onPanZoomEnd:s,onDraggingChange:c}){let h={isZoomingOrPanning:!1,usedRightMouseButton:!1,prevViewport:{x:0,y:0,zoom:0},mouseButton:0,timerId:void 0,panScrollTimeout:void 0,isPanScrolling:!1},f=t.getBoundingClientRect(),d=eW().clickDistance(!ny(r)||r<0?0:r).scaleExtent([e,n]).translateExtent(i),p=tn(t).call(d);x({x:a.x,y:a.y,zoom:nn(a.zoom,e,n)},[[0,0],[f.width,f.height]],i);let y=p.on("wheel.zoom"),m=p.on("dblclick.zoom");function g(t,e){return p?new Promise(n=>{d?.interpolate(e?.interpolate==="linear"?eK:tg).transform(rw(p,e?.duration,e?.ease,()=>n(!0)),t)}):Promise.resolve(!1)}function v(){d.on("zoom",null)}async function x(t,e,n){let r=rm(t),i=d?.constrain()(r,e,n);return i&&await g(i),new Promise(t=>t(i))}return d.wheelDelta(r_),{update:function({noWheelClassName:t,noPanClassName:e,onPaneContextMenu:n,userSelectionActive:r,panOnScroll:i,panOnDrag:a,panOnScrollMode:f,panOnScrollSpeed:g,preventScrolling:x,zoomOnPinch:w,zoomOnScroll:_,zoomOnDoubleClick:b,zoomActivationKeyPressed:M,lib:E,onTransformChange:A}){r&&!h.isZoomingOrPanning&&v();let k=!i||M||r?function({noWheelClassName:t,preventScrolling:e,d3ZoomHandler:n}){return function(r,i){let o="wheel"===r.type,a=!e&&o&&!r.ctrlKey,u=rg(r,t);if(r.ctrlKey&&o&&u&&r.preventDefault(),a||u)return null;r.preventDefault(),n.call(this,r,i)}}({noWheelClassName:t,preventScrolling:x,d3ZoomHandler:y}):function({zoomPanValues:t,noWheelClassName:e,d3Selection:n,d3Zoom:r,panOnScrollMode:i,panOnScrollSpeed:a,zoomOnPinch:u,onPanZoomStart:l,onPanZoom:s,onPanZoomEnd:c}){return h=>{if(rg(h,e))return!1;h.preventDefault(),h.stopImmediatePropagation();let f=n.property("__zoom").k||1;if(h.ctrlKey&&u){let t=tr(h),e=f*Math.pow(2,r_(h));r.scaleTo(n,e,t,h);return}let d=1===h.deltaMode?20:1,p=i===o.Vertical?0:h.deltaX*d,y=i===o.Horizontal?0:h.deltaY*d;!nb()&&h.shiftKey&&i!==o.Vertical&&(p=h.deltaY*d,y=0),r.translateBy(n,-(p/f)*a,-(y/f)*a,{internal:!0});let m=ry(n.property("__zoom"));clearTimeout(t.panScrollTimeout),t.isPanScrolling||(t.isPanScrolling=!0,l?.(h,m)),t.isPanScrolling&&(s?.(h,m),t.panScrollTimeout=setTimeout(()=>{c?.(h,m),t.isPanScrolling=!1},150))}}({zoomPanValues:h,noWheelClassName:t,d3Selection:p,d3Zoom:d,panOnScrollMode:f,panOnScrollSpeed:g,zoomOnPinch:w,onPanZoomStart:l,onPanZoom:u,onPanZoomEnd:s});if(p.on("wheel.zoom",k,{passive:!1}),!r){let t=function({zoomPanValues:t,onDraggingChange:e,onPanZoomStart:n}){return r=>{if(r.sourceEvent?.internal)return;let i=ry(r.transform);t.mouseButton=r.sourceEvent?.button||0,t.isZoomingOrPanning=!0,t.prevViewport=i,r.sourceEvent?.type==="mousedown"&&e(!0),n&&n?.(r.sourceEvent,i)}}({zoomPanValues:h,onDraggingChange:c,onPanZoomStart:l});d.on("start",t);let e=function({zoomPanValues:t,panOnDrag:e,onPaneContextMenu:n,onTransformChange:r,onPanZoom:i}){return o=>{t.usedRightMouseButton=!!(n&&rv(e,t.mouseButton??0)),o.sourceEvent?.sync||r([o.transform.x,o.transform.y,o.transform.k]),i&&!o.sourceEvent?.internal&&i?.(o.sourceEvent,ry(o.transform))}}({zoomPanValues:h,panOnDrag:a,onPaneContextMenu:!!n,onPanZoom:u,onTransformChange:A});d.on("zoom",e);let r=function({zoomPanValues:t,panOnDrag:e,panOnScroll:n,onDraggingChange:r,onPanZoomEnd:i,onPaneContextMenu:o}){return a=>{if(!a.sourceEvent?.internal){let u,l;if(t.isZoomingOrPanning=!1,o&&rv(e,t.mouseButton??0)&&!t.usedRightMouseButton&&a.sourceEvent&&o(a.sourceEvent),t.usedRightMouseButton=!1,r(!1),i&&(u=t.prevViewport,l=a.transform,u.x!==l.x||u.y!==l.y||u.zoom!==l.k)){let e=ry(a.transform);t.prevViewport=e,clearTimeout(t.timerId),t.timerId=setTimeout(()=>{i?.(a.sourceEvent,e)},150*!!n)}}}}({zoomPanValues:h,panOnDrag:a,panOnScroll:i,onPaneContextMenu:n,onPanZoomEnd:s,onDraggingChange:c});d.on("end",r)}let $=function({zoomActivationKeyPressed:t,zoomOnScroll:e,zoomOnPinch:n,panOnDrag:r,panOnScroll:i,zoomOnDoubleClick:o,userSelectionActive:a,noWheelClassName:u,noPanClassName:l,lib:s}){return c=>{let h=t||e,f=n&&c.ctrlKey;if(1===c.button&&"mousedown"===c.type&&(rg(c,`${s}-flow__node`)||rg(c,`${s}-flow__edge`)))return!0;if(!r&&!h&&!i&&!o&&!n||a||rg(c,u)&&"wheel"===c.type||rg(c,l)&&("wheel"!==c.type||i&&"wheel"===c.type&&!t)||!n&&c.ctrlKey&&"wheel"===c.type)return!1;if(!n&&"touchstart"===c.type&&c.touches?.length>1)return c.preventDefault(),!1;if(!h&&!i&&!f&&"wheel"===c.type||!r&&("mousedown"===c.type||"touchstart"===c.type)||Array.isArray(r)&&!r.includes(c.button)&&"mousedown"===c.type)return!1;let d=Array.isArray(r)&&r.includes(c.button)||!c.button||c.button<=1;return(!c.ctrlKey||"wheel"===c.type)&&d}}({zoomActivationKeyPressed:M,panOnDrag:a,zoomOnScroll:_,panOnScroll:i,zoomOnDoubleClick:b,zoomOnPinch:w,userSelectionActive:r,noPanClassName:e,noWheelClassName:t,lib:E});d.filter($),b?p.on("dblclick.zoom",m):p.on("dblclick.zoom",null)},destroy:v,setViewport:async function t(t,e){let n=rm(t);return await g(n,e),new Promise(t=>t(n))},setViewportConstrained:x,getViewport:function(){let t=p?eO(p.node()):{x:0,y:0,k:1};return{x:t.x,y:t.y,zoom:t.k}},scaleTo:function(t,e){return p?new Promise(n=>{d?.interpolate(e?.interpolate==="linear"?eK:tg).scaleTo(rw(p,e?.duration,e?.ease,()=>n(!0)),t)}):Promise.resolve(!1)},scaleBy:function(t,e){return p?new Promise(n=>{d?.interpolate(e?.interpolate==="linear"?eK:tg).scaleBy(rw(p,e?.duration,e?.ease,()=>n(!0)),t)}):Promise.resolve(!1)},setScaleExtent:function(t){d?.scaleExtent(t)},setTranslateExtent:function(t){d?.translateExtent(t)},syncViewport:function(t){if(p){let e=rm(t),n=p.property("__zoom");(n.k!==t.zoom||n.x!==t.x||n.y!==t.y)&&d?.transform(p,e,null,{sync:!0})}},setClickDistance:function(t){let e=!ny(t)||t<0?0:t;d?.clickDistance(e)}}}!function(t){t.Line="line",t.Handle="handle"}(c||(c={}))},77842:(t,e,n)=>{n.d(e,{A:()=>o});var r=n(36697),i=n(95155);let o=(0,r.A)([(0,i.jsx)("path",{d:"m17 17 5-5-5-5-1.41 1.41L18.17 11H9v2h9.17l-2.58 2.59z"},"0"),(0,i.jsx)("path",{d:"M19 19H5V5h14v2h2V5c0-1.1-.89-2-2-2H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.11 0 2-.9 2-2v-2h-2z"},"1")],"Output")},83654:(t,e,n)=>{var r=n(12115),i=n(14806),o="function"==typeof Object.is?Object.is:function(t,e){return t===e&&(0!==t||1/t==1/e)||t!=t&&e!=e},a=i.useSyncExternalStore,u=r.useRef,l=r.useEffect,s=r.useMemo,c=r.useDebugValue;e.useSyncExternalStoreWithSelector=function(t,e,n,r,i){var h=u(null);if(null===h.current){var f={hasValue:!1,value:null};h.current=f}else f=h.current;var d=a(t,(h=s(function(){function t(t){if(!l){if(l=!0,a=t,t=r(t),void 0!==i&&f.hasValue){var e=f.value;if(i(e,t))return u=e}return u=t}if(e=u,o(a,t))return e;var n=r(t);return void 0!==i&&i(e,n)?(a=t,e):(a=t,u=n)}var a,u,l=!1,s=void 0===n?null:n;return[function(){return t(e())},null===s?void 0:function(){return t(s())}]},[e,n,r,i]))[0],h[1]);return l(function(){f.hasValue=!0,f.value=d},[d]),c(d),d}}}]);
@@ -1 +0,0 @@
1
- "use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[9286],{1702:(t,e,r)=>{r.d(e,{A:()=>v});var o=r(12115),a=r(2821),n=r(57001),i=r(48116),s=r(16625),l=r(85795),d=r(95195);function c(t){return(0,d.Ay)("MuiCardActions",t)}(0,l.A)("MuiCardActions",["root","spacing"]);var u=r(95155);let p=(0,i.Ay)("div",{name:"MuiCardActions",slot:"Root",overridesResolver:(t,e)=>{let{ownerState:r}=t;return[e.root,!r.disableSpacing&&e.spacing]}})({display:"flex",alignItems:"center",padding:8,variants:[{props:{disableSpacing:!1},style:{"& > :not(style) ~ :not(style)":{marginLeft:8}}}]}),v=o.forwardRef(function(t,e){let r=(0,s.b)({props:t,name:"MuiCardActions"}),{disableSpacing:o=!1,className:i,...l}=r,d={...r,disableSpacing:o},v=(t=>{let{classes:e,disableSpacing:r}=t;return(0,n.A)({root:["root",!r&&"spacing"]},c,e)})(d);return(0,u.jsx)(p,{className:(0,a.A)(v.root,i),ownerState:d,ref:e,...l})})},7517:(t,e,r)=>{r.d(e,{A:()=>n});var o=r(36697),a=r(95155);let n=(0,o.A)((0,a.jsx)("path",{d:"M20 6h-8l-2-2H4c-1.11 0-1.99.89-1.99 2L2 18c0 1.11.89 2 2 2h16c1.11 0 2-.89 2-2V8c0-1.11-.89-2-2-2m0 12H4V6h5.17l2 2H20zm-8-4h2v2h2v-2h2v-2h-2v-2h-2v2h-2z"}),"CreateNewFolderOutlined")},8190:(t,e,r)=>{r.d(e,{A:()=>n});var o=r(36697),a=r(95155);let n=(0,o.A)((0,a.jsx)("path",{d:"M20 6h-8l-2-2H7.17l4 4H20v9.17l1.76 1.76c.15-.28.24-.59.24-.93V8c0-1.1-.9-2-2-2M2.1 2.1.69 3.51l1.56 1.56c-.15.28-.24.59-.24.93L2 18c0 1.1.9 2 2 2h13.17l3.31 3.31 1.41-1.41zM4 18V6.83L15.17 18z"}),"FolderOffOutlined")},11947:(t,e,r)=>{r.d(e,{A:()=>n});var o=r(19868),a=r(89505);function n(t){let{props:e,name:r,defaultTheme:n,themeId:i}=t,s=(0,a.A)(n);return i&&(s=s[i]||s),(0,o.A)({theme:s,name:r,props:e})}},19868:(t,e,r)=>{r.d(e,{A:()=>a});var o=r(37821);function a(t){let{theme:e,name:r,props:a}=t;return e&&e.components&&e.components[r]&&e.components[r].defaultProps?(0,o.A)(e.components[r].defaultProps,a):a}},23820:(t,e,r)=>{r.d(e,{Ay:()=>M});var o=r(12115),a=r(2821),n=r(57001),i=r(86251),s=r(48116),l=r(66964),d=r(16625),c=r(43850),u=r(69582),p=r(14028),v=r(85795),A=r(95195);function h(t){return(0,A.Ay)("MuiListItem",t)}(0,v.A)("MuiListItem",["root","container","dense","alignItemsFlexStart","divider","gutters","padding","secondaryAction"]);var m=r(58081);function g(t){return(0,A.Ay)("MuiListItemSecondaryAction",t)}(0,v.A)("MuiListItemSecondaryAction",["root","disableGutters"]);var f=r(95155);let y=(0,s.Ay)("div",{name:"MuiListItemSecondaryAction",slot:"Root",overridesResolver:(t,e)=>{let{ownerState:r}=t;return[e.root,r.disableGutters&&e.disableGutters]}})({position:"absolute",right:16,top:"50%",transform:"translateY(-50%)",variants:[{props:t=>{let{ownerState:e}=t;return e.disableGutters},style:{right:0}}]}),b=o.forwardRef(function(t,e){let r=(0,d.b)({props:t,name:"MuiListItemSecondaryAction"}),{className:i,...s}=r,l=o.useContext(p.A),c={...r,disableGutters:l.disableGutters},u=(t=>{let{disableGutters:e,classes:r}=t;return(0,n.A)({root:["root",e&&"disableGutters"]},g,r)})(c);return(0,f.jsx)(y,{className:(0,a.A)(u.root,i),ownerState:c,ref:e,...s})});b.muiName="ListItemSecondaryAction";let x=(0,s.Ay)("div",{name:"MuiListItem",slot:"Root",overridesResolver:(t,e)=>{let{ownerState:r}=t;return[e.root,r.dense&&e.dense,"flex-start"===r.alignItems&&e.alignItemsFlexStart,r.divider&&e.divider,!r.disableGutters&&e.gutters,!r.disablePadding&&e.padding,r.hasSecondaryAction&&e.secondaryAction]}})((0,l.A)(t=>{let{theme:e}=t;return{display:"flex",justifyContent:"flex-start",alignItems:"center",position:"relative",textDecoration:"none",width:"100%",boxSizing:"border-box",textAlign:"left",variants:[{props:t=>{let{ownerState:e}=t;return!e.disablePadding},style:{paddingTop:8,paddingBottom:8}},{props:t=>{let{ownerState:e}=t;return!e.disablePadding&&e.dense},style:{paddingTop:4,paddingBottom:4}},{props:t=>{let{ownerState:e}=t;return!e.disablePadding&&!e.disableGutters},style:{paddingLeft:16,paddingRight:16}},{props:t=>{let{ownerState:e}=t;return!e.disablePadding&&!!e.secondaryAction},style:{paddingRight:48}},{props:t=>{let{ownerState:e}=t;return!!e.secondaryAction},style:{["& > .".concat(m.A.root)]:{paddingRight:48}}},{props:{alignItems:"flex-start"},style:{alignItems:"flex-start"}},{props:t=>{let{ownerState:e}=t;return e.divider},style:{borderBottom:"1px solid ".concat((e.vars||e).palette.divider),backgroundClip:"padding-box"}},{props:t=>{let{ownerState:e}=t;return e.button},style:{transition:e.transitions.create("background-color",{duration:e.transitions.duration.shortest}),"&:hover":{textDecoration:"none",backgroundColor:(e.vars||e).palette.action.hover,"@media (hover: none)":{backgroundColor:"transparent"}}}},{props:t=>{let{ownerState:e}=t;return e.hasSecondaryAction},style:{paddingRight:48}}]}})),C=(0,s.Ay)("li",{name:"MuiListItem",slot:"Container",overridesResolver:(t,e)=>e.container})({position:"relative"}),M=o.forwardRef(function(t,e){let r=(0,d.b)({props:t,name:"MuiListItem"}),{alignItems:s="center",children:l,className:v,component:A,components:m={},componentsProps:g={},ContainerComponent:y="li",ContainerProps:{className:M,...R}={},dense:w=!1,disableGutters:S=!1,disablePadding:I=!1,divider:j=!1,secondaryAction:H,slotProps:L={},slots:z={},...V}=r,O=o.useContext(p.A),k=o.useMemo(()=>({dense:w||O.dense||!1,alignItems:s,disableGutters:S}),[s,O.dense,w,S]),N=o.useRef(null),P=o.Children.toArray(l),F=P.length&&(0,c.A)(P[P.length-1],["ListItemSecondaryAction"]),G={...r,alignItems:s,dense:k.dense,disableGutters:S,disablePadding:I,divider:j,hasSecondaryAction:F},B=(t=>{let{alignItems:e,classes:r,dense:o,disableGutters:a,disablePadding:i,divider:s,hasSecondaryAction:l}=t;return(0,n.A)({root:["root",o&&"dense",!a&&"gutters",!i&&"padding",s&&"divider","flex-start"===e&&"alignItemsFlexStart",l&&"secondaryAction"],container:["container"]},h,r)})(G),T=(0,u.A)(N,e),D=z.root||m.Root||x,X=L.root||g.root||{},_={className:(0,a.A)(B.root,X.className,v),...V},E=A||"li";return F?(E=_.component||A?E:"div","li"===y&&("li"===E?E="div":"li"===_.component&&(_.component="div")),(0,f.jsx)(p.A.Provider,{value:k,children:(0,f.jsxs)(C,{as:y,className:(0,a.A)(B.container,M),ref:T,ownerState:G,...R,children:[(0,f.jsx)(D,{...X,...!(0,i.A)(D)&&{as:E,ownerState:{...G,...X.ownerState}},..._,children:P}),P.pop()]})})):(0,f.jsx)(p.A.Provider,{value:k,children:(0,f.jsxs)(D,{...X,as:E,ref:T,...!(0,i.A)(D)&&{ownerState:{...G,...X.ownerState}},..._,children:[P,H&&(0,f.jsx)(b,{children:H})]})})})},26188:(t,e,r)=>{r.d(e,{A:()=>n});var o=r(36697),a=r(95155);let n=(0,o.A)((0,a.jsx)("path",{d:"M13 13v8h8v-8zM3 21h8v-8H3zM3 3v8h8V3zm13.66-1.31L11 7.34 16.66 13l5.66-5.66z"}),"Widgets")},29767:(t,e,r)=>{r.d(e,{A:()=>A});var o=r(12115),a=r(2821),n=r(57001),i=r(48116),s=r(16625),l=r(2300),d=r(85795),c=r(95195);function u(t){return(0,c.Ay)("MuiCard",t)}(0,d.A)("MuiCard",["root"]);var p=r(95155);let v=(0,i.Ay)(l.A,{name:"MuiCard",slot:"Root",overridesResolver:(t,e)=>e.root})({overflow:"hidden"}),A=o.forwardRef(function(t,e){let r=(0,s.b)({props:t,name:"MuiCard"}),{className:o,raised:i=!1,...l}=r,d={...r,raised:i},c=(t=>{let{classes:e}=t;return(0,n.A)({root:["root"]},u,e)})(d);return(0,p.jsx)(v,{className:(0,a.A)(c.root,o),elevation:i?8:void 0,ref:e,ownerState:d,...l})})},50001:(t,e,r)=>{r.d(e,{A:()=>h});var o=r(12115),a=r(2821),n=r(57001),i=r(30424),s=r(48116),l=r(16625),d=r(25635),c=r(85795),u=r(95195);function p(t){return(0,u.Ay)("MuiDialogContentText",t)}(0,c.A)("MuiDialogContentText",["root"]);var v=r(95155);let A=(0,s.Ay)(d.default,{shouldForwardProp:t=>(0,i.A)(t)||"classes"===t,name:"MuiDialogContentText",slot:"Root",overridesResolver:(t,e)=>e.root})({}),h=o.forwardRef(function(t,e){let r=(0,l.b)({props:t,name:"MuiDialogContentText"}),{children:o,className:i,...s}=r,d=(t=>{let{classes:e}=t,r=(0,n.A)({root:["root"]},p,e);return{...e,...r}})(s);return(0,v.jsx)(A,{component:"p",variant:"body1",color:"textSecondary",ref:e,ownerState:s,className:(0,a.A)(d.root,i),...r,classes:d})})},52277:(t,e,r)=>{r.d(e,{A:()=>n});var o=r(36697),a=r(95155);let n=(0,o.A)((0,a.jsx)("path",{d:"M16 1H4c-1.1 0-2 .9-2 2v14h2V3h12zm3 4H8c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h11c1.1 0 2-.9 2-2V7c0-1.1-.9-2-2-2m0 16H8V7h11z"}),"ContentCopy")},53062:(t,e,r)=>{r.d(e,{A:()=>f});var o=r(12115),a=r(2821),n=r(57001),i=r(48116),s=r(66964),l=r(16625),d=r(85795),c=r(95195);function u(t){return(0,c.Ay)("MuiCardActionArea",t)}let p=(0,d.A)("MuiCardActionArea",["root","focusVisible","focusHighlight"]);var v=r(95070),A=r(77765),h=r(95155);let m=(0,i.Ay)(v.A,{name:"MuiCardActionArea",slot:"Root",overridesResolver:(t,e)=>e.root})((0,s.A)(t=>{let{theme:e}=t;return{display:"block",textAlign:"inherit",borderRadius:"inherit",width:"100%",["&:hover .".concat(p.focusHighlight)]:{opacity:(e.vars||e).palette.action.hoverOpacity,"@media (hover: none)":{opacity:0}},["&.".concat(p.focusVisible," .").concat(p.focusHighlight)]:{opacity:(e.vars||e).palette.action.focusOpacity}}})),g=(0,i.Ay)("span",{name:"MuiCardActionArea",slot:"FocusHighlight",overridesResolver:(t,e)=>e.focusHighlight})((0,s.A)(t=>{let{theme:e}=t;return{overflow:"hidden",pointerEvents:"none",position:"absolute",top:0,right:0,bottom:0,left:0,borderRadius:"inherit",opacity:0,backgroundColor:"currentcolor",transition:e.transitions.create("opacity",{duration:e.transitions.duration.short})}})),f=o.forwardRef(function(t,e){let r=(0,l.b)({props:t,name:"MuiCardActionArea"}),{children:o,className:i,focusVisibleClassName:s,slots:d={},slotProps:c={},...p}=r,v=(t=>{let{classes:e}=t;return(0,n.A)({root:["root"],focusHighlight:["focusHighlight"]},u,e)})(r),f={slots:d,slotProps:c},[y,b]=(0,A.A)("root",{elementType:m,externalForwardedProps:{...f,...p},shouldForwardComponentProp:!0,ownerState:r,ref:e,className:(0,a.A)(v.root,i),additionalProps:{focusVisibleClassName:(0,a.A)(s,v.focusVisible)}}),[x,C]=(0,A.A)("focusHighlight",{elementType:g,externalForwardedProps:f,ownerState:r,ref:e,className:v.focusHighlight});return(0,h.jsxs)(y,{...b,children:[o,(0,h.jsx)(x,{...C})]})})},58081:(t,e,r)=>{r.d(e,{A:()=>i,Y:()=>n});var o=r(85795),a=r(95195);function n(t){return(0,a.Ay)("MuiListItemButton",t)}let i=(0,o.A)("MuiListItemButton",["root","focusVisible","dense","alignItemsFlexStart","disabled","divider","gutters","selected"])},67891:(t,e,r)=>{r.d(e,{A:()=>n});var o=r(36697),a=r(95155);let n=(0,o.A)((0,a.jsx)("path",{d:"M20 4H4c-1.11 0-2 .9-2 2v12c0 1.1.89 2 2 2h16c1.1 0 2-.9 2-2V6c0-1.1-.89-2-2-2m0 14H4V8h16zm-2-1h-6v-2h6zM7.5 17l-1.41-1.41L8.67 13l-2.59-2.59L7.5 9l4 4z"}),"Terminal")},73707:(t,e,r)=>{r.d(e,{A:()=>f});var o=r(12115),a=r(2821),n=r(57001),i=r(8532),s=r(48116),l=r(66964),d=r(16625),c=r(30424),u=r(95070),p=r(36766),v=r(69582),A=r(14028),h=r(58081),m=r(95155);let g=(0,s.Ay)(u.A,{shouldForwardProp:t=>(0,c.A)(t)||"classes"===t,name:"MuiListItemButton",slot:"Root",overridesResolver:(t,e)=>{let{ownerState:r}=t;return[e.root,r.dense&&e.dense,"flex-start"===r.alignItems&&e.alignItemsFlexStart,r.divider&&e.divider,!r.disableGutters&&e.gutters]}})((0,l.A)(t=>{let{theme:e}=t;return{display:"flex",flexGrow:1,justifyContent:"flex-start",alignItems:"center",position:"relative",textDecoration:"none",minWidth:0,boxSizing:"border-box",textAlign:"left",paddingTop:8,paddingBottom:8,transition:e.transitions.create("background-color",{duration:e.transitions.duration.shortest}),"&:hover":{textDecoration:"none",backgroundColor:(e.vars||e).palette.action.hover,"@media (hover: none)":{backgroundColor:"transparent"}},["&.".concat(h.A.selected)]:{backgroundColor:e.vars?"rgba(".concat(e.vars.palette.primary.mainChannel," / ").concat(e.vars.palette.action.selectedOpacity,")"):(0,i.X4)(e.palette.primary.main,e.palette.action.selectedOpacity),["&.".concat(h.A.focusVisible)]:{backgroundColor:e.vars?"rgba(".concat(e.vars.palette.primary.mainChannel," / calc(").concat(e.vars.palette.action.selectedOpacity," + ").concat(e.vars.palette.action.focusOpacity,"))"):(0,i.X4)(e.palette.primary.main,e.palette.action.selectedOpacity+e.palette.action.focusOpacity)}},["&.".concat(h.A.selected,":hover")]:{backgroundColor:e.vars?"rgba(".concat(e.vars.palette.primary.mainChannel," / calc(").concat(e.vars.palette.action.selectedOpacity," + ").concat(e.vars.palette.action.hoverOpacity,"))"):(0,i.X4)(e.palette.primary.main,e.palette.action.selectedOpacity+e.palette.action.hoverOpacity),"@media (hover: none)":{backgroundColor:e.vars?"rgba(".concat(e.vars.palette.primary.mainChannel," / ").concat(e.vars.palette.action.selectedOpacity,")"):(0,i.X4)(e.palette.primary.main,e.palette.action.selectedOpacity)}},["&.".concat(h.A.focusVisible)]:{backgroundColor:(e.vars||e).palette.action.focus},["&.".concat(h.A.disabled)]:{opacity:(e.vars||e).palette.action.disabledOpacity},variants:[{props:t=>{let{ownerState:e}=t;return e.divider},style:{borderBottom:"1px solid ".concat((e.vars||e).palette.divider),backgroundClip:"padding-box"}},{props:{alignItems:"flex-start"},style:{alignItems:"flex-start"}},{props:t=>{let{ownerState:e}=t;return!e.disableGutters},style:{paddingLeft:16,paddingRight:16}},{props:t=>{let{ownerState:e}=t;return e.dense},style:{paddingTop:4,paddingBottom:4}}]}})),f=o.forwardRef(function(t,e){let r=(0,d.b)({props:t,name:"MuiListItemButton"}),{alignItems:i="center",autoFocus:s=!1,component:l="div",children:c,dense:u=!1,disableGutters:f=!1,divider:y=!1,focusVisibleClassName:b,selected:x=!1,className:C,...M}=r,R=o.useContext(A.A),w=o.useMemo(()=>({dense:u||R.dense||!1,alignItems:i,disableGutters:f}),[i,R.dense,u,f]),S=o.useRef(null);(0,p.A)(()=>{s&&S.current&&S.current.focus()},[s]);let I={...r,alignItems:i,dense:w.dense,disableGutters:f,divider:y,selected:x},j=(t=>{let{alignItems:e,classes:r,dense:o,disabled:a,disableGutters:i,divider:s,selected:l}=t,d=(0,n.A)({root:["root",o&&"dense",!i&&"gutters",s&&"divider",a&&"disabled","flex-start"===e&&"alignItemsFlexStart",l&&"selected"]},h.Y,r);return{...r,...d}})(I),H=(0,v.A)(S,e);return(0,m.jsx)(A.A.Provider,{value:w,children:(0,m.jsx)(g,{ref:H,href:M.href||M.to,component:(M.href||M.to)&&"div"===l?"button":l,focusVisibleClassName:(0,a.A)(j.focusVisible,b),ownerState:I,className:(0,a.A)(j.root,C),...M,classes:j,children:c})})})},76530:(t,e,r)=>{r.d(e,{A:()=>n});var o=r(36697),a=r(95155);let n=(0,o.A)((0,a.jsx)("path",{d:"M17.65 6.35C16.2 4.9 14.21 4 12 4c-4.42 0-7.99 3.58-7.99 8s3.57 8 7.99 8c3.73 0 6.84-2.55 7.73-6h-2.08c-.82 2.33-3.04 4-5.65 4-3.31 0-6-2.69-6-6s2.69-6 6-6c1.66 0 3.14.69 4.22 1.78L13 11h7V4z"}),"Refresh")},76808:(t,e,r)=>{r.d(e,{A:()=>n});var o=r(36697),a=r(95155);let n=(0,o.A)([(0,a.jsx)("path",{d:"M12 5.99 19.53 19H4.47zM12 2 1 21h22z"},"0"),(0,a.jsx)("path",{d:"M13 16h-2v2h2zm0-6h-2v5h2z"},"1")],"WarningAmber")},77073:(t,e,r)=>{r.d(e,{A:()=>n});var o=r(36697),a=r(95155);let n=(0,o.A)((0,a.jsx)("path",{d:"M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z"}),"Close")},78831:(t,e,r)=>{r.d(e,{A:()=>o});let o=(0,r(80271).Ay)()},84578:(t,e,r)=>{r.d(e,{A:()=>v});var o=r(12115),a=r(2821),n=r(57001),i=r(48116),s=r(16625),l=r(85795),d=r(95195);function c(t){return(0,d.Ay)("MuiCardContent",t)}(0,l.A)("MuiCardContent",["root"]);var u=r(95155);let p=(0,i.Ay)("div",{name:"MuiCardContent",slot:"Root",overridesResolver:(t,e)=>e.root})({padding:16,"&:last-child":{paddingBottom:24}}),v=o.forwardRef(function(t,e){let r=(0,s.b)({props:t,name:"MuiCardContent"}),{className:o,component:i="div",...l}=r,d={...r,component:i},v=(t=>{let{classes:e}=t;return(0,n.A)({root:["root"]},c,e)})(d);return(0,u.jsx)(p,{as:i,className:(0,a.A)(v.root,o),ownerState:d,ref:e,...l})})},89296:(t,e,r)=>{r.d(e,{A:()=>n});var o=r(36697),a=r(95155);let n=(0,o.A)((0,a.jsx)("path",{d:"M20 6h-8l-2-2H4c-1.1 0-2 .9-2 2v12c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V8c0-1.1-.9-2-2-2m0 12H4V6h5.17l1.41 1.41.59.59H20zm-7.84-6H8v2h4.16l-1.59 1.59L11.99 17 16 13.01 11.99 9l-1.41 1.41z"}),"DriveFileMoveOutlined")},91665:(t,e,r)=>{r.d(e,{A:()=>n});var o=r(36697),a=r(95155);let n=(0,o.A)((0,a.jsx)("path",{d:"m9.17 6 2 2H20v10H4V6zM10 4H4c-1.1 0-1.99.9-1.99 2L2 18c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V8c0-1.1-.9-2-2-2h-8z"}),"FolderOutlined")}}]);