@seungyeop-lee/beads-desk 0.2.0 → 0.2.2

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 (420) hide show
  1. package/.next/BUILD_ID +1 -1
  2. package/.next/app-path-routes-manifest.json +1 -0
  3. package/.next/build-manifest.json +50 -50
  4. package/.next/fallback-build-manifest.json +3 -3
  5. package/.next/prerender-manifest.json +5 -5
  6. package/.next/routes-manifest.json +6 -0
  7. package/.next/server/app/(client)/board/page/build-manifest.json +4 -4
  8. package/.next/server/app/(client)/board/page/server-reference-manifest.json +16 -16
  9. package/.next/server/app/(client)/board/page.js +18 -18
  10. package/.next/server/app/(client)/board/page.js.nft.json +1 -1
  11. package/.next/server/app/(client)/board/page_client-reference-manifest.js +1 -1
  12. package/.next/server/app/(client)/decisions/page/build-manifest.json +4 -4
  13. package/.next/server/app/(client)/decisions/page/server-reference-manifest.json +16 -16
  14. package/.next/server/app/(client)/decisions/page.js +18 -18
  15. package/.next/server/app/(client)/decisions/page.js.nft.json +1 -1
  16. package/.next/server/app/(client)/decisions/page_client-reference-manifest.js +1 -1
  17. package/.next/server/app/(client)/epics/page/build-manifest.json +4 -4
  18. package/.next/server/app/(client)/epics/page/server-reference-manifest.json +16 -16
  19. package/.next/server/app/(client)/epics/page.js +18 -18
  20. package/.next/server/app/(client)/epics/page.js.nft.json +1 -1
  21. package/.next/server/app/(client)/epics/page_client-reference-manifest.js +1 -1
  22. package/.next/server/app/(client)/focus/page/build-manifest.json +4 -4
  23. package/.next/server/app/(client)/focus/page/server-reference-manifest.json +16 -16
  24. package/.next/server/app/(client)/focus/page.js +18 -18
  25. package/.next/server/app/(client)/focus/page.js.nft.json +1 -1
  26. package/.next/server/app/(client)/focus/page_client-reference-manifest.js +1 -1
  27. package/.next/server/app/(client)/graph/page/build-manifest.json +4 -4
  28. package/.next/server/app/(client)/graph/page/server-reference-manifest.json +16 -16
  29. package/.next/server/app/(client)/graph/page.js +18 -18
  30. package/.next/server/app/(client)/graph/page.js.nft.json +1 -1
  31. package/.next/server/app/(client)/graph/page_client-reference-manifest.js +1 -1
  32. package/.next/server/app/(client)/human/page/build-manifest.json +4 -4
  33. package/.next/server/app/(client)/human/page/server-reference-manifest.json +16 -16
  34. package/.next/server/app/(client)/human/page.js +18 -18
  35. package/.next/server/app/(client)/human/page.js.nft.json +1 -1
  36. package/.next/server/app/(client)/human/page_client-reference-manifest.js +1 -1
  37. package/.next/server/app/(client)/hygiene/page/build-manifest.json +4 -4
  38. package/.next/server/app/(client)/hygiene/page/server-reference-manifest.json +16 -16
  39. package/.next/server/app/(client)/hygiene/page.js +18 -18
  40. package/.next/server/app/(client)/hygiene/page.js.nft.json +1 -1
  41. package/.next/server/app/(client)/hygiene/page_client-reference-manifest.js +1 -1
  42. package/.next/server/app/(client)/issues/page/build-manifest.json +4 -4
  43. package/.next/server/app/(client)/issues/page/server-reference-manifest.json +16 -16
  44. package/.next/server/app/(client)/issues/page.js +18 -18
  45. package/.next/server/app/(client)/issues/page.js.nft.json +1 -1
  46. package/.next/server/app/(client)/issues/page_client-reference-manifest.js +1 -1
  47. package/.next/server/app/(client)/page/build-manifest.json +4 -4
  48. package/.next/server/app/(client)/page/server-reference-manifest.json +16 -16
  49. package/.next/server/app/(client)/page.js +19 -19
  50. package/.next/server/app/(client)/page.js.nft.json +1 -1
  51. package/.next/server/app/(client)/page_client-reference-manifest.js +1 -1
  52. package/.next/server/app/(server)/api/board/route.js +6 -6
  53. package/.next/server/app/(server)/api/board/route.js.nft.json +1 -1
  54. package/.next/server/app/(server)/api/decisions/route.js +6 -6
  55. package/.next/server/app/(server)/api/decisions/route.js.nft.json +1 -1
  56. package/.next/server/app/(server)/api/epics/[id]/descendants/route.js +6 -6
  57. package/.next/server/app/(server)/api/epics/[id]/descendants/route.js.nft.json +1 -1
  58. package/.next/server/app/(server)/api/epics/route.js +6 -6
  59. package/.next/server/app/(server)/api/epics/route.js.nft.json +1 -1
  60. package/.next/server/app/(server)/api/events/route.js +4 -4
  61. package/.next/server/app/(server)/api/events/route.js.nft.json +1 -1
  62. package/.next/server/app/(server)/api/gates/route/app-paths-manifest.json +3 -0
  63. package/.next/server/app/(server)/api/gates/route/build-manifest.json +12 -0
  64. package/.next/server/app/(server)/api/gates/route/server-reference-manifest.json +4 -0
  65. package/.next/server/app/(server)/api/gates/route.js +10 -0
  66. package/.next/server/app/(server)/api/gates/route.js.nft.json +1 -0
  67. package/.next/server/app/(server)/api/gates/route_client-reference-manifest.js +3 -0
  68. package/.next/server/app/(server)/api/graph/route.js +6 -6
  69. package/.next/server/app/(server)/api/graph/route.js.nft.json +1 -1
  70. package/.next/server/app/(server)/api/health/route.js +6 -6
  71. package/.next/server/app/(server)/api/health/route.js.nft.json +1 -1
  72. package/.next/server/app/(server)/api/human-decisions/count/route.js +6 -6
  73. package/.next/server/app/(server)/api/human-decisions/count/route.js.nft.json +1 -1
  74. package/.next/server/app/(server)/api/human-gates/[id]/previous-gates/route.js +6 -6
  75. package/.next/server/app/(server)/api/human-gates/[id]/previous-gates/route.js.nft.json +1 -1
  76. package/.next/server/app/(server)/api/human-gates/route.js +6 -6
  77. package/.next/server/app/(server)/api/human-gates/route.js.nft.json +1 -1
  78. package/.next/server/app/(server)/api/hygiene/route.js +6 -6
  79. package/.next/server/app/(server)/api/hygiene/route.js.nft.json +1 -1
  80. package/.next/server/app/(server)/api/hygiene/stale/route.js +6 -6
  81. package/.next/server/app/(server)/api/hygiene/stale/route.js.nft.json +1 -1
  82. package/.next/server/app/(server)/api/issue-search/route.js +6 -6
  83. package/.next/server/app/(server)/api/issue-search/route.js.nft.json +1 -1
  84. package/.next/server/app/(server)/api/issues/[id]/history/route.js +6 -6
  85. package/.next/server/app/(server)/api/issues/[id]/history/route.js.nft.json +1 -1
  86. package/.next/server/app/(server)/api/issues/[id]/route.js +6 -6
  87. package/.next/server/app/(server)/api/issues/[id]/route.js.nft.json +1 -1
  88. package/.next/server/app/(server)/api/issues/route.js +6 -6
  89. package/.next/server/app/(server)/api/issues/route.js.nft.json +1 -1
  90. package/.next/server/app/(server)/api/local-files/route.js +6 -6
  91. package/.next/server/app/(server)/api/local-files/route.js.nft.json +1 -1
  92. package/.next/server/app/(server)/api/workspaces/route.js +6 -6
  93. package/.next/server/app/(server)/api/workspaces/route.js.nft.json +1 -1
  94. package/.next/server/app/_global-error/page/build-manifest.json +4 -4
  95. package/.next/server/app/_global-error/page.js +10 -10
  96. package/.next/server/app/_global-error/page.js.nft.json +1 -1
  97. package/.next/server/app/_global-error/page_client-reference-manifest.js +1 -1
  98. package/.next/server/app/_global-error.html +1 -1
  99. package/.next/server/app/_global-error.rsc +8 -8
  100. package/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +7 -7
  101. package/.next/server/app/_global-error.segments/_full.segment.rsc +8 -8
  102. package/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  103. package/.next/server/app/_not-found/page/build-manifest.json +4 -4
  104. package/.next/server/app/_not-found/page.js +14 -14
  105. package/.next/server/app/_not-found/page.js.nft.json +1 -1
  106. package/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  107. package/.next/server/app/_not-found.html +1 -1
  108. package/.next/server/app/_not-found.rsc +9 -9
  109. package/.next/server/app/_not-found.segments/_full.segment.rsc +9 -9
  110. package/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +8 -8
  111. package/.next/server/app/_not-found.segments/_tree.segment.rsc +1 -1
  112. package/.next/server/app/icon/route.js +5 -5
  113. package/.next/server/app/icon/route.js.nft.json +1 -1
  114. package/.next/server/app-paths-manifest.json +1 -0
  115. package/.next/server/chunks/{0-na_next_dist_01oqa_lnmf7od._.js → 05qx_next_dist_184ptjjtlkg71._.js} +8 -8
  116. package/.next/server/chunks/0ysl_app__next-internal_server_app_(server)_api_gates_route_actions_0sav8gq22t2ur.js +3 -0
  117. package/.next/server/chunks/[root-of-the-server]__1-ofbxlienucb._.js +3 -0
  118. package/.next/server/chunks/{[root-of-the-server]__00jsp_c83rs0d._.js → [root-of-the-server]__1qazo8i1ki7mc._.js} +3 -3
  119. package/.next/server/chunks/[root-of-the-server]__1x--zgen0f3x2._.js +5 -0
  120. package/.next/server/chunks/_02on37540o8hj._.js +3 -0
  121. package/.next/server/chunks/_04uhe7wc36edj._.js +3 -0
  122. package/.next/server/chunks/_06poqmo_9segb._.js +3 -0
  123. package/.next/server/chunks/_09qnp2-yd8sqg._.js +3 -0
  124. package/.next/server/chunks/{_0lg6l5x123jq2._.js → _0aewum0lafyu6._.js} +2 -2
  125. package/.next/server/chunks/_0g6qhsq0oh9f2._.js +3 -0
  126. package/.next/server/chunks/{_0hprt7v9m-j0-._.js → _0k0r17-hivf0b._.js} +2 -2
  127. package/.next/server/chunks/_0o6dnk9ppyhej._.js +3 -0
  128. package/.next/server/chunks/_0r96-_atd0of6._.js +3 -0
  129. package/.next/server/chunks/_0twtmmk6vrjgn._.js +3 -0
  130. package/.next/server/chunks/_0yr16743_vxl0._.js +3 -0
  131. package/.next/server/chunks/_0yrm94e-wxgvg._.js +3 -0
  132. package/.next/server/chunks/_1-81r7_12i_t3._.js +3 -0
  133. package/.next/server/chunks/_1_q4qbqvbyeo3._.js +3 -0
  134. package/.next/server/chunks/_1h203upt35re2._.js +3 -0
  135. package/.next/server/chunks/_1kji36mlzsk7a._.js +3 -0
  136. package/.next/server/chunks/_1kpi1pid8s0jq._.js +3 -0
  137. package/.next/server/chunks/_1or695q1uaeye._.js +3 -0
  138. package/.next/server/chunks/_1vml9a-7hqonb._.js +10 -0
  139. package/.next/server/chunks/_1wvz7lwt8c493._.js +3 -0
  140. package/.next/server/chunks/packages_app_src_server_infra_runtime_serverRuntime_ts_0nr1il1nd01xh._.js +1 -1
  141. package/.next/server/chunks/ssr/05qx_next_dist_0auumeme_jnci._.js +6 -0
  142. package/.next/server/chunks/ssr/{0-na_next_dist_11o-i8zo8w04f._.js → 05qx_next_dist_0la4kajft916f._.js} +7 -7
  143. package/.next/server/chunks/ssr/05qx_next_dist_0s0gfw_jqnu4j._.js +3 -0
  144. package/.next/server/chunks/ssr/05qx_next_dist_1hzbynyjdvvow._.js +3 -0
  145. package/.next/server/chunks/ssr/{0-na_next_dist_client_components_12rpdkf4u6sxc._.js → 05qx_next_dist_client_components_1nkeds0hti7te._.js} +2 -2
  146. package/.next/server/chunks/ssr/05qx_next_dist_client_components_builtin_1t-3jg9n15ebj._.js +33 -0
  147. package/.next/server/chunks/ssr/05qx_next_dist_client_components_builtin_forbidden_0q2qgqciumfnu.js +3 -0
  148. package/.next/server/chunks/ssr/05qx_next_dist_client_components_builtin_unauthorized_0o24jwhymhb-n.js +3 -0
  149. package/.next/server/chunks/ssr/05qx_next_dist_compiled_02c5g16i9tcv1._.js +3 -0
  150. package/.next/server/chunks/ssr/{0-na_next_dist_compiled_@edge-runtime_cookies_index_1w1mtde4yx_m_.js → 05qx_next_dist_compiled_@edge-runtime_cookies_index_05bbw1jw69yw0.js} +2 -2
  151. package/.next/server/chunks/ssr/05qx_next_dist_esm_build_templates_app-page_0ds48qyk03c12.js +3 -0
  152. package/.next/server/chunks/ssr/05qx_next_dist_esm_build_templates_app-page_0j94lzdzvjpkm.js +3 -0
  153. package/.next/server/chunks/ssr/05qx_next_dist_esm_build_templates_app-page_13yild_1irzc5.js +3 -0
  154. package/.next/server/chunks/ssr/05qx_next_dist_esm_build_templates_app-page_15h35o6jai3rd.js +3 -0
  155. package/.next/server/chunks/ssr/05qx_next_dist_esm_build_templates_app-page_17j0sapd43lno.js +3 -0
  156. package/.next/server/chunks/ssr/05qx_next_dist_esm_build_templates_app-page_18o721daqsoz_.js +3 -0
  157. package/.next/server/chunks/ssr/05qx_next_dist_esm_build_templates_app-page_1i5rl48p9g02m.js +3 -0
  158. package/.next/server/chunks/ssr/05qx_next_dist_esm_build_templates_app-page_1kguvhbrw2hgc.js +3 -0
  159. package/.next/server/chunks/ssr/05qx_next_dist_esm_build_templates_app-page_1ouhezcfk6vix.js +3 -0
  160. package/.next/server/chunks/ssr/05qx_next_dist_esm_build_templates_app-page_1v01wrk-q17mq.js +3 -0
  161. package/.next/server/chunks/ssr/05qx_next_dist_esm_build_templates_app-page_1xxnbb6yc9npm.js +3 -0
  162. package/.next/server/chunks/ssr/{044y_@milkdown_crepe_lib_esm_builder_1q1p-aoo5ansr.js → 0d0f_@milkdown_crepe_lib_esm_builder_06muytl9h7gti.js} +2 -2
  163. package/.next/server/chunks/ssr/0d0f_@milkdown_crepe_lib_esm_feature_code-mirror_index_18a-rj6e8cet7.js +92 -0
  164. package/.next/server/chunks/ssr/{044y_@milkdown_crepe_lib_esm_feature_cursor_index_17hai-ps4gy4m.js → 0d0f_@milkdown_crepe_lib_esm_feature_cursor_index_1xb894r2isgpe.js} +2 -2
  165. package/.next/server/chunks/ssr/{044y_@milkdown_crepe_lib_esm_feature_link-tooltip_index_1k2_en72b30f7.js → 0d0f_@milkdown_crepe_lib_esm_feature_link-tooltip_index_0p7e_xlz06wlw.js} +2 -2
  166. package/.next/server/chunks/ssr/{044y_@milkdown_crepe_lib_esm_feature_list-item_index_0739hwl0ixqj0.js → 0d0f_@milkdown_crepe_lib_esm_feature_list-item_index_0srjq3nd94sv_.js} +3 -3
  167. package/.next/server/chunks/ssr/{044y_@milkdown_crepe_lib_esm_feature_table_index_1nc604l0he98t.js → 0d0f_@milkdown_crepe_lib_esm_feature_table_index_1q3bkvsxx3gmj.js} +3 -3
  168. package/.next/server/chunks/ssr/{044y_@milkdown_crepe_lib_esm_feature_toolbar_index_0cjy552j1ozb9.js → 0d0f_@milkdown_crepe_lib_esm_feature_toolbar_index_20d8pxp74xqfo.js} +3 -3
  169. package/.next/server/chunks/ssr/{04q__@milkdown_utils_lib_index_20ji0hxjb6f0c.js → 0tj8_@milkdown_utils_lib_index_13cvivb6venod.js} +2 -2
  170. package/.next/server/chunks/ssr/{1tr6_@milkdown_preset-commonmark_lib_index_1jsr6pxdnfhq4.js → 0w5i_@milkdown_preset-commonmark_lib_index_10ba6w5gyra6g.js} +2 -2
  171. package/.next/server/chunks/ssr/0ysl_app_src_client_ui_screens_humanDecisions_HumanDecisionsScreen_tsx_1q9b8qom_7y1u._.js +1 -1
  172. package/.next/server/chunks/ssr/{1-u6_katex_dist_katex_mjs_09t3q2al91qhp._.js → 1-u6_katex_dist_katex_mjs_13edkqm6t1q3b._.js} +1 -1
  173. package/.next/server/chunks/ssr/{1bjv_@milkdown_preset-gfm_lib_index_04pvj1u0oclag.js → 1a3a_@milkdown_preset-gfm_lib_index_1vk3jpxc25ee8.js} +2 -2
  174. package/.next/server/chunks/ssr/{214e_@milkdown_kit_lib_prose_state_0eq9g8z4xeh-u.js → 1jrj_@milkdown_kit_lib_prose_state_1j_uy430849tn.js} +2 -2
  175. package/.next/server/chunks/ssr/{0jby_remark-gfm_lib_index_0yd1x-xt5kcpe.js → 1k4e_remark-gfm_lib_index_06is2myg8lnri.js} +2 -2
  176. package/.next/server/chunks/ssr/{0tee_@milkdown_components_lib_link-tooltip_index_0_yn-0wcgrhst.js → 1ozf_@milkdown_components_lib_link-tooltip_index_1hvyp99q423_o.js} +2 -2
  177. package/.next/server/chunks/ssr/[root-of-the-server]__00gr3qyd8-dvb._.js +3 -0
  178. package/.next/server/chunks/ssr/{[root-of-the-server]__1iimaf2bu0424._.js → [root-of-the-server]__052ivr1bj6h3m._.js} +2 -2
  179. package/.next/server/chunks/ssr/{[root-of-the-server]__1o26vr103y40w._.js → [root-of-the-server]__06h77zv80-8m-._.js} +2 -2
  180. package/.next/server/chunks/ssr/[root-of-the-server]__08kvicm61y4u1._.js +3 -0
  181. package/.next/server/chunks/ssr/[root-of-the-server]__09lymwel_or87._.js +1 -1
  182. package/.next/server/chunks/ssr/{[root-of-the-server]__076i3q845sw_f._.js → [root-of-the-server]__09zwmtvmbni_5._.js} +2 -2
  183. package/.next/server/chunks/ssr/{[root-of-the-server]__1859jwyl-0dyv._.js → [root-of-the-server]__0b1bu_rn1ltd8._.js} +2 -2
  184. package/.next/server/chunks/ssr/{[root-of-the-server]__0of5i1kim-02t._.js → [root-of-the-server]__0eit2e7039z0p._.js} +2 -2
  185. package/.next/server/chunks/ssr/[root-of-the-server]__0hogoguacz8ur._.js +1 -1
  186. package/.next/server/chunks/ssr/{[root-of-the-server]__0sh5kpcrtscul._.js → [root-of-the-server]__0jl-8k-kdry0z._.js} +2 -2
  187. package/.next/server/chunks/ssr/{[root-of-the-server]__0tygv-zuxlxc7._.js → [root-of-the-server]__0l7bvadwyl9pk._.js} +2 -2
  188. package/.next/server/chunks/ssr/[root-of-the-server]__0q3r5zcq1nq-l._.js +1 -1
  189. package/.next/server/chunks/ssr/[root-of-the-server]__0spx3hluw-kou._.js +3 -0
  190. package/.next/server/chunks/ssr/[root-of-the-server]__0u_5idffbe8e2._.js +3 -0
  191. package/.next/server/chunks/ssr/[root-of-the-server]__0vmd5kxnst7_n._.js +1 -1
  192. package/.next/server/chunks/ssr/{[root-of-the-server]__08_dlsgm45li_._.js → [root-of-the-server]__0xgp-w0xnnk40._.js} +2 -2
  193. package/.next/server/chunks/ssr/[root-of-the-server]__14mo0eg108qyc._.js +3 -0
  194. package/.next/server/chunks/ssr/[root-of-the-server]__14vsuap94qdvv._.js +1 -1
  195. package/.next/server/chunks/ssr/{[root-of-the-server]__0y8_n69fn3dcz._.js → [root-of-the-server]__161u6tbhzyxvh._.js} +2 -2
  196. package/.next/server/chunks/ssr/{[root-of-the-server]__0azxp5zozje9_._.js → [root-of-the-server]__18wfno_vh8-kq._.js} +2 -2
  197. package/.next/server/chunks/ssr/[root-of-the-server]__1at64e6zbwoan._.js +1 -1
  198. package/.next/server/chunks/ssr/{[root-of-the-server]__09lybaidp4ytp._.js → [root-of-the-server]__1cfmhdear73jb._.js} +2 -2
  199. package/.next/server/chunks/ssr/{[root-of-the-server]__0qvsu-225ae-9._.js → [root-of-the-server]__1cle6bds9k0xg._.js} +2 -2
  200. package/.next/server/chunks/ssr/[root-of-the-server]__1gxuu885zb7rn._.js +3 -0
  201. package/.next/server/chunks/ssr/[root-of-the-server]__1i-khow6d_8_4._.js +1 -1
  202. package/.next/server/chunks/ssr/[root-of-the-server]__1iil9wste8hko._.js +14 -0
  203. package/.next/server/chunks/ssr/[root-of-the-server]__1ox3l2713bqq8._.js +3 -0
  204. package/.next/server/chunks/ssr/[root-of-the-server]__1qg27t6-twvk1._.js +1 -1
  205. package/.next/server/chunks/ssr/[root-of-the-server]__1r0lv_nd2c9rc._.js +1 -1
  206. package/.next/server/chunks/ssr/{[root-of-the-server]__0u-oy5lhckmao._.js → [root-of-the-server]__1vfzwf-7au9_n._.js} +2 -2
  207. package/.next/server/chunks/ssr/{[root-of-the-server]__0tshst3064nz2._.js → [root-of-the-server]__1yp4oqy24gton._.js} +2 -2
  208. package/.next/server/chunks/ssr/_00u85u5a1h8o6._.js +1 -1
  209. package/.next/server/chunks/ssr/_05on_wt1huo7_._.js +3 -0
  210. package/.next/server/chunks/ssr/{_18sy10caq_3xy._.js → _0_7umkn7p7olg._.js} +3 -3
  211. package/.next/server/chunks/ssr/_0as6zbu4ir8qr._.js +3 -0
  212. package/.next/server/chunks/ssr/_0xb68euaes2ir._.js +25 -0
  213. package/.next/server/chunks/ssr/_0xvw-2qcgrfc_._.js +299 -0
  214. package/.next/server/chunks/ssr/_1jtb1or9alij4._.js +3 -0
  215. package/.next/server/chunks/ssr/_1slk-hkdgtggu._.js +1 -1
  216. package/.next/server/chunks/ssr/{node_modules__pnpm_1nyoq9twng2wo._.js → node_modules__pnpm_00v6u4xorvx1u._.js} +1 -1
  217. package/.next/server/chunks/ssr/{node_modules__pnpm_00g26sbhm2qr8._.js → node_modules__pnpm_02h2jt06fdr_i._.js} +2 -2
  218. package/.next/server/chunks/ssr/{node_modules__pnpm_0du4dffjinahl._.js → node_modules__pnpm_04y8w7l_lkxkq._.js} +1 -1
  219. package/.next/server/chunks/ssr/{node_modules__pnpm_04fd_yhkpujoe._.js → node_modules__pnpm_04zbf0s1mg-jk._.js} +2 -2
  220. package/.next/server/chunks/ssr/{node_modules__pnpm_1_i3oawxylmn8._.js → node_modules__pnpm_086313lwbkefv._.js} +3 -3
  221. package/.next/server/chunks/ssr/{node_modules__pnpm_1sd1boa0gva3j._.js → node_modules__pnpm_087okf97ps5hu._.js} +2 -2
  222. package/.next/server/chunks/ssr/node_modules__pnpm_0bh_u1hzr_k9b._.js +3 -0
  223. package/.next/server/chunks/ssr/{node_modules__pnpm_0kiaaocx_r38o._.js → node_modules__pnpm_0cw1sn39f7ipd._.js} +1 -1
  224. package/.next/server/chunks/ssr/{node_modules__pnpm_0__tvs66hrkj1._.js → node_modules__pnpm_0d5g5z5pw-uk4._.js} +2 -2
  225. package/.next/server/chunks/ssr/node_modules__pnpm_0f367qx6641jk._.js +3 -0
  226. package/.next/server/chunks/ssr/{node_modules__pnpm_0w52gu6fi-rer._.js → node_modules__pnpm_0igaqw6c00j23._.js} +1 -1
  227. package/.next/server/chunks/ssr/{node_modules__pnpm_1_0hw--0aak_w._.js → node_modules__pnpm_0lou5rtfyap0z._.js} +1 -1
  228. package/.next/server/chunks/ssr/{node_modules__pnpm_0l2p_8m_pr_pe._.js → node_modules__pnpm_0p0vftztmmoh6._.js} +1 -1
  229. package/.next/server/chunks/ssr/{node_modules__pnpm_1dd1bpb31liq8._.js → node_modules__pnpm_0q0ui45rmz0fr._.js} +1 -1
  230. package/.next/server/chunks/ssr/{node_modules__pnpm_1fblsasq51xzj._.js → node_modules__pnpm_0wmhdj6x4m0s0._.js} +2 -2
  231. package/.next/server/chunks/ssr/{node_modules__pnpm_0nxr_4vwzyim4._.js → node_modules__pnpm_0xaotjpkg4qao._.js} +1 -1
  232. package/.next/server/chunks/ssr/{node_modules__pnpm_1-fjiyetdmmzj._.js → node_modules__pnpm_0z4cezi8rjogm._.js} +1 -1
  233. package/.next/server/chunks/ssr/{node_modules__pnpm_1fmtfej-kjecy._.js → node_modules__pnpm_1630zwvi651i9._.js} +1 -1
  234. package/.next/server/chunks/ssr/node_modules__pnpm_17jl2q4sdi66z._.js +3 -0
  235. package/.next/server/chunks/ssr/{node_modules__pnpm_0h9wrjze1unqt._.js → node_modules__pnpm_183txivokpkqz._.js} +1 -1
  236. package/.next/server/chunks/ssr/{node_modules__pnpm_0h16tk2cwq36v._.js → node_modules__pnpm_19-kbr_mkaxyx._.js} +2 -2
  237. package/.next/server/chunks/ssr/node_modules__pnpm_193s_2t5-q4lu._.js +3 -0
  238. package/.next/server/chunks/ssr/node_modules__pnpm_1ajqvorudjmgk._.js +3 -0
  239. package/.next/server/chunks/ssr/{node_modules__pnpm_19q-yb_mzzzol._.js → node_modules__pnpm_1axn2zjxin7nf._.js} +1 -1
  240. package/.next/server/chunks/ssr/{node_modules__pnpm_199adbugc26zi._.js → node_modules__pnpm_1hwpxex-sjz90._.js} +1 -1
  241. package/.next/server/chunks/ssr/{node_modules__pnpm_1xnu-1xs6nb5k._.js → node_modules__pnpm_1injkojmxh-ml._.js} +1 -1
  242. package/.next/server/chunks/ssr/{node_modules__pnpm_0do83ll585lrb._.js → node_modules__pnpm_1k3_90gaq0wg7._.js} +1 -1
  243. package/.next/server/chunks/ssr/{node_modules__pnpm_1zgy286fn4qrs._.js → node_modules__pnpm_1mbudsl2qaz35._.js} +2 -2
  244. package/.next/server/chunks/ssr/{node_modules__pnpm_1a_-9rnk37pv_._.js → node_modules__pnpm_1nknzmq2xjlpz._.js} +1 -1
  245. package/.next/server/chunks/ssr/{node_modules__pnpm_0h3t5msxq4d8x._.js → node_modules__pnpm_1o220-8_u4-x-._.js} +1 -1
  246. package/.next/server/chunks/ssr/{node_modules__pnpm_0bkd7rab1k1ug._.js → node_modules__pnpm_1r7dunb4op2_m._.js} +2 -2
  247. package/.next/server/chunks/ssr/{node_modules__pnpm_1a803tkkqathx._.js → node_modules__pnpm_1wvz0c6z8wodm._.js} +2 -2
  248. package/.next/server/chunks/ssr/{node_modules__pnpm_1jd-wnr4c6ime._.js → node_modules__pnpm_1z75eplnp_uw5._.js} +2 -2
  249. package/.next/server/chunks/ssr/{node_modules__pnpm_20n5vs3e57egd._.js → node_modules__pnpm_20fyrostt4-cj._.js} +1 -1
  250. package/.next/server/chunks/ssr/packages_app_src_19fv2qm5lpxq1._.js +1 -1
  251. package/.next/server/chunks/ssr/packages_app_src_1bc3z770b0d4g._.js +1 -1
  252. package/.next/server/chunks/ssr/packages_app_src_client_0g-zs1cjy28nl._.js +3 -0
  253. package/.next/server/chunks/ssr/packages_app_src_client_1-hnm8frefi_z._.js +3 -0
  254. package/.next/server/chunks/ssr/packages_app_src_client_1_javrsbc_aq_._.js +3 -0
  255. package/.next/server/chunks/ssr/packages_app_src_client_ui_1ty1yi51yl_mx._.js +3 -3
  256. package/.next/server/chunks/ssr/packages_app_src_client_ui_designSystem_16yt2l4h_k0xz._.js +1 -1
  257. package/.next/server/chunks/ssr/packages_app_src_client_ui_issues_BlockerLine_tsx_0fvsr74_7eb8n._.js +3 -0
  258. package/.next/server/chunks/ssr/packages_app_src_client_ui_issues_IssueTable_tsx_1451_aayfauch._.js +1 -1
  259. package/.next/server/chunks/ssr/packages_app_src_client_ui_issues_NewIssueDialog_tsx_1_lt839dbbegv._.js +1 -1
  260. package/.next/server/chunks/ssr/packages_app_src_client_ui_screens_board_BoardScreen_tsx_0s58uy_mft-qa._.js +1 -1
  261. package/.next/server/chunks/ssr/packages_app_src_client_ui_screens_decisions_DecisionsScreen_tsx_1splyy_8-x3pj._.js +1 -1
  262. package/.next/server/chunks/ssr/packages_app_src_client_ui_screens_epics_EpicsScreen_tsx_10koyjd4-sokd._.js +1 -1
  263. package/.next/server/chunks/ssr/packages_app_src_client_ui_screens_hygiene_HygieneScreen_tsx_0xm43-zl8kmfv._.js +1 -1
  264. package/.next/server/chunks/ssr/packages_app_src_client_ui_screens_issues_IssuesScreen_tsx_1hjq50yb745mo._.js +1 -1
  265. package/.next/server/edge/chunks/{1_n6_next_dist_esm_build_templates_edge-wrapper_139ztfeu83dtf.js → 02gm_next_dist_esm_build_templates_edge-wrapper_0cn1ef9fqzvnl.js} +2 -2
  266. package/.next/server/edge/chunks/{_0h7un2lf5xhnc._.js → _1_b9xkrda1k5s._.js} +2 -2
  267. package/.next/server/instrumentation/middleware-manifest.json +2 -2
  268. package/.next/server/middleware-build-manifest.js +50 -50
  269. package/.next/server/middleware.js +3 -3
  270. package/.next/server/middleware.js.nft.json +1 -1
  271. package/.next/server/pages/404.html +1 -1
  272. package/.next/server/pages/500.html +1 -1
  273. package/.next/server/preview-props.json +3 -3
  274. package/.next/server/server-reference-manifest.js +1 -1
  275. package/.next/server/server-reference-manifest.json +17 -17
  276. package/.next/static/chunks/{0qz60578fkr7_.js → 0272-d4ex88fl.js} +1 -1
  277. package/.next/static/chunks/{0cabbhqjiz224.js → 02p8ll7_n2_ri.js} +1 -1
  278. package/.next/static/chunks/{2863d6hg7_88-.js → 08_9rbv1ks1ey.js} +1 -1
  279. package/.next/static/chunks/09p-ekirrh5s6.js +1 -0
  280. package/.next/static/chunks/{0m673ey220fls.js → 0_rd3y3k7mnm9.js} +1 -1
  281. package/.next/static/chunks/0e-fvv1ix6nbj.js +1 -0
  282. package/.next/static/chunks/{084ej6i9qw54j.js → 0lg7y_ivemk1g.js} +1 -1
  283. package/.next/static/chunks/{227mhvflnjadl.js → 0q9idviqnkka_.js} +1 -1
  284. package/.next/static/chunks/{3ecfeqjbabub5.js → 0sefn6j9lobdh.js} +7 -7
  285. package/.next/static/chunks/{3ag_d1w8ai1dy.js → 0x_4dkgoq2x17.js} +1 -1
  286. package/.next/static/chunks/15ukz5ursv_c4.js +90 -0
  287. package/.next/static/chunks/16scd9j8t4pm6.js +1 -0
  288. package/.next/static/chunks/17-tksqovtok2.js +1 -0
  289. package/.next/static/chunks/175ye17hz03qm.js +74 -0
  290. package/.next/static/chunks/{322qb_kay6_dh.js → 1b7bn3-wh-scs.js} +1 -1
  291. package/.next/static/chunks/{0w12by1gms55l.js → 1esceuzes2qas.js} +1 -1
  292. package/.next/static/chunks/{20atsxy3rjjrd.js → 1hnmjsdt-73v4.js} +1 -1
  293. package/.next/static/chunks/1htn2_jw0oqek.js +1 -0
  294. package/.next/static/chunks/1i3-4r53x1s8t.js +1 -0
  295. package/.next/static/chunks/1mgyda7xrgxp3.js +22 -0
  296. package/.next/static/chunks/1pegyin52x7dm.js +53 -0
  297. package/.next/static/chunks/{0lhbxb-hxh-9z.js → 1qfei1aefzuoz.js} +1 -1
  298. package/.next/static/chunks/1ys_6vjnz-7ah.js +1 -0
  299. package/.next/static/chunks/{044ya20hr6lpq.js → 2-poyy6mlraub.js} +1 -1
  300. package/.next/static/chunks/20y_iirdx6vp1.js +1 -0
  301. package/.next/static/chunks/22hgo8z-yg_pu.js +9 -0
  302. package/.next/static/chunks/22vcgnff2q8rd.js +1 -0
  303. package/.next/static/chunks/293yn-85k60_m.js +88 -0
  304. package/.next/static/chunks/2clsk6eipaspq.js +1 -0
  305. package/.next/static/chunks/2cvm9hv0lg9oq.js +1 -0
  306. package/.next/static/chunks/{3cza5dvg2076b.js → 2gaouhmoltd17.js} +1 -1
  307. package/.next/static/chunks/2gh948bdx7n4h.js +1 -0
  308. package/.next/static/chunks/2iqgac4dnds7z.js +1 -0
  309. package/.next/static/chunks/2qf-bx4e18s1-.js +1 -0
  310. package/.next/static/chunks/2wbmm--h8psma.js +1 -0
  311. package/.next/static/chunks/{2v2lltug-e2as.js → 2wpjv_5b94qrf.js} +3 -3
  312. package/.next/static/chunks/2wxi7f5qhk5ro.js +31 -0
  313. package/.next/static/chunks/390-bqvvvti8m.js +1 -0
  314. package/.next/static/chunks/{2l4j_87dswys4.js → 39m-unkvi03vf.js} +1 -1
  315. package/.next/static/chunks/3_b59-f87szqi.js +1 -0
  316. package/.next/static/chunks/{2ejaecoye9ub2.js → 3_iky7rejspzx.js} +1 -1
  317. package/.next/static/chunks/3cl6bui_jv091.js +1 -0
  318. package/.next/static/chunks/{3-w21-v3xw7xl.js → 3g16auece-_2l.js} +1 -1
  319. package/.next/static/chunks/3gjd3n0fvrlgn.js +1 -0
  320. package/.next/static/chunks/{30b1f7z6m_g2o.js → 3ka0lm_biw9ez.js} +1 -1
  321. package/.next/static/chunks/{15ajhna3p_jbl.js → 3ooucquz27jxs.js} +1 -1
  322. package/.next/static/chunks/3wm8k3ecexl1t.js +1 -0
  323. package/.next/static/chunks/{14r9tx1ylqkdd.js → 3x-p-ucgyytks.js} +1 -1
  324. package/.next/static/chunks/{0zja4_p14i1p8.js → 3zc---1if5pr8.js} +1 -1
  325. package/.next/static/chunks/40swn-dd2k1ts.js +1 -0
  326. package/README.ko.md +4 -2
  327. package/README.md +4 -2
  328. package/package.json +1 -1
  329. package/.next/server/chunks/[root-of-the-server]__11bvqbes4g_x3._.js +0 -5
  330. package/.next/server/chunks/[root-of-the-server]__20ro7mv0nna0v._.js +0 -3
  331. package/.next/server/chunks/_00b94jqphddy1._.js +0 -3
  332. package/.next/server/chunks/_016uu1siddgx2._.js +0 -3
  333. package/.next/server/chunks/_06bsii67q7yo6._.js +0 -3
  334. package/.next/server/chunks/_0i562xm36lquh._.js +0 -3
  335. package/.next/server/chunks/_0lx-opy56s5c6._.js +0 -3
  336. package/.next/server/chunks/_0qbf8y587q6bu._.js +0 -3
  337. package/.next/server/chunks/_0rm-wc2vo3piv._.js +0 -3
  338. package/.next/server/chunks/_0s7zs7vzx_ylx._.js +0 -3
  339. package/.next/server/chunks/_0xwu00a8s2-yg._.js +0 -3
  340. package/.next/server/chunks/_0y6_en0_cs0o3._.js +0 -3
  341. package/.next/server/chunks/_102aj9ahpwc9u._.js +0 -10
  342. package/.next/server/chunks/_11katfvzfhpy9._.js +0 -3
  343. package/.next/server/chunks/_15u7zxu6y0q9w._.js +0 -3
  344. package/.next/server/chunks/_1cr-1ah3asieh._.js +0 -3
  345. package/.next/server/chunks/_1is_u1uzjetxm._.js +0 -3
  346. package/.next/server/chunks/_1pmfwik0sv_fj._.js +0 -3
  347. package/.next/server/chunks/_2155dycg7481k._.js +0 -3
  348. package/.next/server/chunks/ssr/0-na_next_dist_0v22fkgl1dei7._.js +0 -3
  349. package/.next/server/chunks/ssr/0-na_next_dist_167mi2pg1epou._.js +0 -3
  350. package/.next/server/chunks/ssr/0-na_next_dist_1obel6la6bfir._.js +0 -6
  351. package/.next/server/chunks/ssr/0-na_next_dist_client_components_builtin_1iah_ms13r9-a._.js +0 -33
  352. package/.next/server/chunks/ssr/0-na_next_dist_client_components_builtin_forbidden_1tn71dj7nsmm9.js +0 -3
  353. package/.next/server/chunks/ssr/0-na_next_dist_client_components_builtin_unauthorized_1v356ydmzbedc.js +0 -3
  354. package/.next/server/chunks/ssr/0-na_next_dist_compiled_0u74mrfe4mo1d._.js +0 -3
  355. package/.next/server/chunks/ssr/0-na_next_dist_esm_build_templates_app-page_05wl45qgcqk39.js +0 -3
  356. package/.next/server/chunks/ssr/0-na_next_dist_esm_build_templates_app-page_08-b4uarsqzff.js +0 -3
  357. package/.next/server/chunks/ssr/0-na_next_dist_esm_build_templates_app-page_09wp5x9z70ftx.js +0 -3
  358. package/.next/server/chunks/ssr/0-na_next_dist_esm_build_templates_app-page_0j7iske5kstio.js +0 -3
  359. package/.next/server/chunks/ssr/0-na_next_dist_esm_build_templates_app-page_17w6wwo4xnm32.js +0 -3
  360. package/.next/server/chunks/ssr/0-na_next_dist_esm_build_templates_app-page_1bu5t180bl2zv.js +0 -3
  361. package/.next/server/chunks/ssr/0-na_next_dist_esm_build_templates_app-page_1mv7fkhdbene9.js +0 -3
  362. package/.next/server/chunks/ssr/0-na_next_dist_esm_build_templates_app-page_1o0u8v-gnw2rq.js +0 -3
  363. package/.next/server/chunks/ssr/0-na_next_dist_esm_build_templates_app-page_1rvza4ou0v1-n.js +0 -3
  364. package/.next/server/chunks/ssr/0-na_next_dist_esm_build_templates_app-page_1xbwpw2s40so0.js +0 -3
  365. package/.next/server/chunks/ssr/0-na_next_dist_esm_build_templates_app-page_21bi4df-u6lk_.js +0 -3
  366. package/.next/server/chunks/ssr/044y_@milkdown_crepe_lib_esm_feature_code-mirror_index_060e1a7cm58y2.js +0 -92
  367. package/.next/server/chunks/ssr/[root-of-the-server]__02u9f32ry284v._.js +0 -14
  368. package/.next/server/chunks/ssr/[root-of-the-server]__03fd40g3mm6_p._.js +0 -3
  369. package/.next/server/chunks/ssr/[root-of-the-server]__068ixxdaa5ac8._.js +0 -3
  370. package/.next/server/chunks/ssr/[root-of-the-server]__0yx3-boz833my._.js +0 -3
  371. package/.next/server/chunks/ssr/[root-of-the-server]__0zob21vm-qus-._.js +0 -3
  372. package/.next/server/chunks/ssr/[root-of-the-server]__1l1qy81q6o38c._.js +0 -3
  373. package/.next/server/chunks/ssr/[root-of-the-server]__1l5v10nlz9ydv._.js +0 -3
  374. package/.next/server/chunks/ssr/[root-of-the-server]__1rhtswovlx559._.js +0 -3
  375. package/.next/server/chunks/ssr/_06n6aoyvk4v8d._.js +0 -3
  376. package/.next/server/chunks/ssr/_0xpnl68zms_u4._.js +0 -25
  377. package/.next/server/chunks/ssr/_1gjuc1gubpwo8._.js +0 -3
  378. package/.next/server/chunks/ssr/_1oeap-f-o07w3._.js +0 -299
  379. package/.next/server/chunks/ssr/_1pzwyebui89yg._.js +0 -3
  380. package/.next/server/chunks/ssr/node_modules__pnpm_0-62y689aghse._.js +0 -3
  381. package/.next/server/chunks/ssr/node_modules__pnpm_00k8x00osl00i._.js +0 -3
  382. package/.next/server/chunks/ssr/node_modules__pnpm_08vun7__wqvc_._.js +0 -3
  383. package/.next/server/chunks/ssr/node_modules__pnpm_0qf67-025iumd._.js +0 -3
  384. package/.next/server/chunks/ssr/node_modules__pnpm_1tun34xzr03al._.js +0 -3
  385. package/.next/server/chunks/ssr/packages_app_src_client_0pwh_vrm-wymc._.js +0 -3
  386. package/.next/server/chunks/ssr/packages_app_src_client_0r-n14ighyx-y._.js +0 -3
  387. package/.next/server/chunks/ssr/packages_app_src_client_1938frqd2y9i8._.js +0 -3
  388. package/.next/server/chunks/ssr/packages_app_src_client_1al1sum_4am90._.js +0 -3
  389. package/.next/server/chunks/ssr/packages_app_src_client_1z17i_fpf0hcf._.js +0 -3
  390. package/.next/static/chunks/08e-n-dvxwrgk.js +0 -1
  391. package/.next/static/chunks/0ab637ez1hz_2.js +0 -1
  392. package/.next/static/chunks/0elrnj--45x-p.js +0 -1
  393. package/.next/static/chunks/0mqwot5nztff2.js +0 -1
  394. package/.next/static/chunks/0on9azsug3puk.js +0 -74
  395. package/.next/static/chunks/0s0tbdn2edof5.js +0 -1
  396. package/.next/static/chunks/1p93o2jvb5khm.js +0 -1
  397. package/.next/static/chunks/20jkms8tp9cu8.js +0 -1
  398. package/.next/static/chunks/20zt2omjfov9y.js +0 -1
  399. package/.next/static/chunks/212bl3le86sf0.js +0 -90
  400. package/.next/static/chunks/28467g2j8_z52.js +0 -31
  401. package/.next/static/chunks/2gjhwlah4s7g7.js +0 -9
  402. package/.next/static/chunks/2i8pc2o3bcjfy.js +0 -1
  403. package/.next/static/chunks/2lu1_r-7ufue1.js +0 -1
  404. package/.next/static/chunks/2vlza7qd86k_r.js +0 -1
  405. package/.next/static/chunks/2y15jhcretd-b.js +0 -1
  406. package/.next/static/chunks/32k_tipl5eadn.js +0 -1
  407. package/.next/static/chunks/33g403p6483nz.js +0 -1
  408. package/.next/static/chunks/33swkxqq98hj-.js +0 -53
  409. package/.next/static/chunks/345-lv7asgqfe.js +0 -1
  410. package/.next/static/chunks/38_owsclvyxjn.js +0 -1
  411. package/.next/static/chunks/3gaptf_l1v4pk.js +0 -22
  412. package/.next/static/chunks/3gogi06rt5ndf.js +0 -1
  413. package/.next/static/chunks/3j8hy0m9t_mr-.js +0 -1
  414. package/.next/static/chunks/3l0wfpq_kkgel.js +0 -1
  415. package/.next/static/chunks/3mjtba5cz5f6w.js +0 -88
  416. package/.next/static/chunks/3xkn55zbxtzwn.js +0 -1
  417. package/.next/static/chunks/3y-01knvv8ugx.js +0 -1
  418. /package/.next/static/{a1rmmFBl1qMxxHFKx8Vs5 → LOTjYNiSiuGh3o1Qxq5_0}/_buildManifest.js +0 -0
  419. /package/.next/static/{a1rmmFBl1qMxxHFKx8Vs5 → LOTjYNiSiuGh3o1Qxq5_0}/_clientMiddlewareManifest.js +0 -0
  420. /package/.next/static/{a1rmmFBl1qMxxHFKx8Vs5 → LOTjYNiSiuGh3o1Qxq5_0}/_ssgManifest.js +0 -0
@@ -1,5 +1,5 @@
1
- (()=>{"use strict";module.exports=[596461,a=>{var b=a.i(910373);a.s(["KeyboardFocusMode",0,function(){return(0,b.useEffect)(()=>{let a=document.documentElement,b=b=>{"Tab"===b.key&&(a.dataset.keyboardFocus="")},c=()=>{delete a.dataset.keyboardFocus};return window.addEventListener("keydown",b,!0),window.addEventListener("pointerdown",c,!0),()=>{window.removeEventListener("keydown",b,!0),window.removeEventListener("pointerdown",c,!0)}},[]),null}])},927540,a=>{var b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r=a.i(978971),s=a.i(211578),t=a.i(856730),u=a.i(910373),v=a.i(982839),w=a.i(480872);function x(){return(0,w.f)("/api/graph")}var y=a.i(700780),z=a.i(655780);function A(a){return a.layers.reduce((a,b)=>a+b.length,0)}function B(a,b){var c,d,e;let f,g,h,i=new Map(a.map(a=>[a.id,a]));return g=new Set((d=i,e=b,f=new Set,c=e.flatMap(({issueId:a,dependsOnId:b,type:c})=>{let e=`${b}
2
- ${a}`;return"blocks"!==c||a===b||f.has(e)||!d.has(a)||!d.has(b)?[]:(f.add(e),[{from:b,to:a}])})).flatMap(a=>[a.from,a.to])),{components:(h=(function(a,b){let c=new Map(a.map(a=>[a.id,a.id])),d=a=>{let b=c.get(a);if(b===a)return a;let e=d(b);return c.set(a,e),e};for(let{from:a,to:e}of b)c.set(d(a),d(e));let e=new Map;for(let b of a){let a=d(b.id);e.set(a,[...e.get(a)??[],b])}return[...e.values()]})(a.filter(a=>g.has(a.id)),c).map(a=>(function(a,b){let c=new Set(a.map(a=>a.id)),d=b.filter(a=>c.has(a.from)),e=new Map;for(let{from:a,to:b}of d)e.set(a,[...e.get(a)??[],b]);let f=function(a,b){let c=new Map,d=new Map,e=[],f=new Set,g=[],h=a=>{for(let g of(c.set(a,c.size),d.set(a,c.get(a)),e.push(a),f.add(a),b.get(a)??[]))c.has(g)?f.has(g)&&d.set(a,Math.min(d.get(a),c.get(g))):(h(g),d.set(a,Math.min(d.get(a),d.get(g))));if(d.get(a)===c.get(a)){let b,c=[];do b=e.pop(),f.delete(b),c.push(b);while(b!==a)g.push(c)}};for(let b of a)c.has(b.id)||h(b.id);return g}(a,e),g=function(a,b){let c=new Map(a.flatMap((a,b)=>a.map(a=>[a,b]))),d=a.map(()=>0);for(let e=a.length-1;e>=0;e--)for(let f of a[e])for(let a of b.get(f)??[]){let b=c.get(a);b!==e&&(d[b]=Math.max(d[b],d[e]+1))}return new Map([...c].map(([a,b])=>[a,d[b]]))}(f,e),h=[];for(let b of a)(h[g.get(b.id)]??=[]).push(b);let i=new Map;return h.forEach((a,b)=>{let c=({id:a})=>{let c=d.filter(c=>c.to===a&&g.get(c.from)<b).map(a=>i.get(a.from));return c.length>0?c.reduce((a,b)=>a+b,0)/c.length:0};a.sort((a,b)=>c(a)-c(b)||(0,z.m)(a,b)),a.forEach(({id:a},b)=>i.set(a,b))}),{component:{layers:h,edges:d},cycles:f.filter(a=>a.length>1).map(a=>(function(a,b){let c=new Set(a),d=a.at(-1),e=new Map,f=[d];for(let a=0;a<f.length;a++){let g=f[a];for(let a of b.get(g)??[]){if(a===d){let a=[d];for(let b=g;b!==d;b=e.get(b))a.splice(1,0,b);return[...a,d]}!c.has(a)||e.has(a)||(e.set(a,g),f.push(a))}}return[d,d]})(a,e))}})(a,c)).sort((a,b)=>A(b.component)-A(a.component))).map(({component:a})=>a),unlinked:a.filter(a=>!g.has(a.id)),cycles:h.flatMap(({cycles:a})=>a)}}function C({layers:a}){return a.map(a=>a.filter(({issueType:a})=>"gate"!==a)).filter(a=>a.length>0)}function D({issues:a,dependencies:b,ancestorEpics:c},d,e){if("epic"===d.kind)return a.filter(a=>c[a.id]?.includes(d.id));let f=new Set((e??E(a,b,d.id)).map(({id:a})=>a));for(let{issueId:a,dependsOnId:c,type:e}of b)("related"===e||"discovered-from"===e)&&(a===d.id&&f.add(c),c===d.id&&f.add(a));return a.filter(({id:a})=>f.has(a))}function E(a,b,c){let d=new Set(a.map(a=>a.id)),e=new Map,f=new Map;for(let{issueId:a,dependsOnId:c,type:g}of b)"blocks"===g&&d.has(a)&&d.has(c)&&(e.set(a,[...e.get(a)??[],c]),f.set(c,[...f.get(c)??[],a]));let g=new Set([c,...F(c,e),...F(c,f)]);return a.filter(a=>g.has(a.id))}function F(a,b){let c=new Set,d=[a];for(;d.length>0;)for(let a of b.get(d.pop())??[])c.has(a)||(c.add(a),d.push(a));return c}var G=a.i(844101),H=a.i(861481),I=a.i(539224),J=a.i(393008),K=a.i(496953),L=a.i(880306);let M=["blocks","gate","humanGate","related","discovered"],N=new Set(["blocks","gate","humanGate","discovered"]);function O(a){return{kind:"related"===a?"related":"discovered",resolved:!1}}let P=a=>`color-mix(in oklab, var(--color-base-content) ${a}%, var(--color-base-100))`,Q={blocks:{color:P(75),resolvedColor:P(50),width:2},gate:{color:P(75),resolvedColor:P(50),width:3},humanGate:{color:"var(--color-lavender-line)",resolvedColor:"color-mix(in oklab, var(--color-lavender-line) 75%, var(--color-base-100))",width:3},related:{color:P(60),width:1.5,dash:"0 4",linecap:"round"},discovered:{color:P(60),width:1.5,dash:"6 4",arrow:"hollow"}};function R({kind:a,resolved:b}){let c=Q[a];return b?c.resolvedColor??c.color:c.color}function S(a){let{width:b,dash:c,linecap:d}=Q[a.kind];return{stroke:R(a),strokeWidth:b,strokeDasharray:c,strokeLinecap:d}}function T(a,b){var c;if(c=b.kind,N.has(c))return`${a}-${b.kind}${b.resolved?"-resolved":""}`}function U({idPrefix:a}){let b=M.flatMap(a=>Q[a].resolvedColor?[{kind:a,resolved:!1},{kind:a,resolved:!0}]:[{kind:a,resolved:!1}]);return(0,r.jsx)("svg",{"aria-hidden":!0,className:"absolute size-0",children:(0,r.jsx)("defs",{children:b.map(b=>{let c=T(a,b);if(!c)return null;let d=R(b),e="hollow"===Q[b.kind].arrow;return(0,r.jsx)("marker",{id:c,markerUnits:"userSpaceOnUse",markerWidth:12,markerHeight:10,viewBox:"0 0 12 10",refX:12,refY:5,orient:"auto",overflow:"visible",children:(0,r.jsx)("path",{d:"M0,0 L12,5 L0,10 Z",style:e?{fill:"var(--color-base-100)",stroke:d,strokeWidth:1.5}:{fill:d,stroke:"none"}})},c)})})})}function V({edgeLooks:a,auxiliary:b=[]}){let c,d=(0,L.useMessages)(),e=`legend${(0,u.useId)().replace(/\W/g,"")}`,f=(c=new Set([...a.map(({kind:a})=>a),...b.map(({type:a})=>O(a).kind)]),M.filter(a=>c.has(a)));return 0===f.length?null:(0,r.jsxs)("div",{className:"@container relative flex flex-wrap gap-x-4 gap-y-1 text-xs text-base-content/65","aria-label":d.graph.legend,children:[(0,r.jsx)(U,{idPrefix:e}),f.map(a=>{let b={kind:a,resolved:!1},c=T(e,b);return(0,r.jsxs)("span",{className:"flex items-center gap-1.5",children:[(0,r.jsx)("svg",{"aria-hidden":!0,"data-edge":a,width:32,height:12,className:"shrink-0 overflow-visible",children:(0,r.jsx)("path",{d:`M1,${6} L${31},${6}`,fill:"none",style:S(b),markerEnd:c&&`url(#${c})`})}),d.graph.edgeLegend[a],(0,r.jsx)(I.f,{help:d.graph.edgeLegendHelp[a]})]},a)})]})}function W(a,b){let c=[...a.edges,...a.auxiliary].flatMap(({points:a})=>a),d=Math.min(0,...a.nodes.map(a=>a.x),...c.map(({x:a})=>a)),e=Math.min(0,...a.nodes.map(a=>a.y))-32*!!b;return{x:d,y:e,width:Math.max(0,...a.nodes.map(a=>a.x+280),...c.map(({x:a})=>a))-d,height:Math.max(0,...a.nodes.map(a=>a.y+a.height),...c.map(({y:a})=>a))-e}}function X({x:a,y:b,anchor:c},d,e,f){return{x:d/2-a*f,y:("center"===c?e/2:40)-b*f,zoom:f}}function Y(a,b,c,d,e){let f=W(a,d),g=Math.min((b-80)/Math.max(1,f.width),(c-80)/Math.max(1,f.height)),h=Math.max(.75,Math.min(1.25,g));return e&&g<.75?X(e,b,c,h):{x:(b-f.width*h)/2-f.x*h,y:(c-f.height*h)/2-f.y*h,zoom:h}}a.i(801374);var Z=a.i(284295),$=a.i(395126),_=a.i(967460),aa=a.i(303632),ab=a.i(65024);function ac(a){if("string"==typeof a||"number"==typeof a)return""+a;let b="";if(Array.isArray(a))for(let c=0,d;c<a.length;c++)""!==(d=ac(a[c]))&&(b+=(b&&" ")+d);else for(let c in a)a[c]&&(b+=(b&&" ")+c);return b}var ad=a.i(781078),ae=a.i(455784),af=a.i(34669),ag=a.i(314600),ah=a.i(624894);let ai=a=>()=>a;function aj(a,{sourceEvent:b,subject:c,target:d,identifier:e,active:f,x:g,y:h,dx:i,dy:j,dispatch:k}){Object.defineProperties(this,{type:{value:a,enumerable:!0,configurable:!0},sourceEvent:{value:b,enumerable:!0,configurable:!0},subject:{value:c,enumerable:!0,configurable:!0},target:{value:d,enumerable:!0,configurable:!0},identifier:{value:e,enumerable:!0,configurable:!0},active:{value:f,enumerable:!0,configurable:!0},x:{value:g,enumerable:!0,configurable:!0},y:{value:h,enumerable:!0,configurable:!0},dx:{value:i,enumerable:!0,configurable:!0},dy:{value:j,enumerable:!0,configurable:!0},_:{value:k}})}function ak(a){return!a.ctrlKey&&!a.button}function al(){return this.parentNode}function am(a,b){return null==b?{x:a.x,y:a.y}:b}function an(){return navigator.maxTouchPoints||"ontouchstart"in this}function ao(){var a,b,c,d,e=ak,f=al,g=am,h=an,i={},j=(0,ad.f)("start","drag","end"),k=0,l=0;function m(a){a.on("mousedown.drag",n).filter(h).on("touchstart.drag",q).on("touchmove.drag",r,ah._).on("touchend.drag touchcancel.drag",s).style("touch-action","none").style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}function n(g,h){if(!d&&e.call(this,g,h)){var i=t(this,f.call(this,g,h),g,h,"mouse");i&&((0,ae.f)(g.view).on("mousemove.drag",o,ah.w).on("mouseup.drag",p,ah.w),(0,ag.U)(g.view),(0,ah.Z)(g),c=!1,a=g.clientX,b=g.clientY,i("start",g))}}function o(d){if((0,ah.U)(d),!c){var e=d.clientX-a,f=d.clientY-b;c=e*e+f*f>l}i.mouse("drag",d)}function p(a){(0,ae.f)(a.view).on("mousemove.drag mouseup.drag",null),(0,ag.L)(a.view,c),(0,ah.U)(a),i.mouse("end",a)}function q(a,b){if(e.call(this,a,b)){var c,d,g=a.changedTouches,h=f.call(this,a,b),i=g.length;for(c=0;c<i;++c)(d=t(this,h,a,b,g[c].identifier,g[c]))&&((0,ah.Z)(a),d("start",a,g[c]))}}function r(a){var b,c,d=a.changedTouches,e=d.length;for(b=0;b<e;++b)(c=i[d[b].identifier])&&((0,ah.U)(a),c("drag",a,d[b]))}function s(a){var b,c,e=a.changedTouches,f=e.length;for(d&&clearTimeout(d),d=setTimeout(function(){d=null},500),b=0;b<f;++b)(c=i[e[b].identifier])&&((0,ah.Z)(a),c("end",a,e[b]))}function t(a,b,c,d,e,f){var h,l,n,o=j.copy(),p=(0,af.f)(f||c,b);if(null!=(n=g.call(a,new aj("beforestart",{sourceEvent:c,target:m,identifier:e,active:k,x:p[0],y:p[1],dx:0,dy:0,dispatch:o}),d)))return h=n.x-p[0]||0,l=n.y-p[1]||0,function c(f,g,j){var q,r=p;switch(f){case"start":i[e]=c,q=k++;break;case"end":delete i[e],--k;case"drag":p=(0,af.f)(j||g,b),q=k}o.call(f,a,new aj(f,{sourceEvent:g,subject:n,target:m,identifier:e,active:q,x:p[0]+h,y:p[1]+l,dx:p[0]-r[0],dy:p[1]-r[1],dispatch:o}),d)}}return m.filter=function(a){return arguments.length?(e="function"==typeof a?a:ai(!!a),m):e},m.container=function(a){return arguments.length?(f="function"==typeof a?a:ai(a),m):f},m.subject=function(a){return arguments.length?(g="function"==typeof a?a:ai(a),m):g},m.touchable=function(a){return arguments.length?(h="function"==typeof a?a:ai(!!a),m):h},m.on=function(){var a=j.on.apply(j,arguments);return a===j?m:a},m.clickDistance=function(a){return arguments.length?(l=(a*=1)*a,m):Math.sqrt(l)},m}aj.prototype.on=function(){var a=this._.on.apply(this._,arguments);return a===this._?this:a},a.i(633534);var ap=a.i(455376),ap=ap,aq=a.i(83356),aq=aq,ar=aq,as=a.i(238018),at=a.i(86915);let au=[[-1/0,-1/0],[1/0,1/0]],av=["Enter"," ","Escape"],aw={"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:a,x:b,y:c})=>`Moved selected node ${a}. New position, x: ${b}, y: ${c}`,"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"};(b=j||(j={})).Strict="strict",b.Loose="loose",(c=k||(k={})).Free="free",c.Vertical="vertical",c.Horizontal="horizontal",(d=l||(l={})).Partial="partial",d.Full="full";let ax={inProgress:!1,isValid:null,from:null,fromHandle:null,fromPosition:null,fromNode:null,to:null,toHandle:null,toPosition:null,toNode:null,pointer:null};(e=m||(m={})).Bezier="default",e.Straight="straight",e.Step="step",e.SmoothStep="smoothstep",e.SimpleBezier="simplebezier",(f=n||(n={})).Arrow="arrow",f.ArrowClosed="arrowclosed",(g=o||(o={})).Left="left",g.Top="top",g.Right="right",g.Bottom="bottom";let ay={[o.Left]:o.Right,[o.Right]:o.Left,[o.Top]:o.Bottom,[o.Bottom]:o.Top},az=a=>!!a&&"object"==typeof a&&"id"in a&&"source"in a&&"target"in a,aA=a=>!!a&&"object"==typeof a&&"id"in a&&"internals"in a&&!("source"in a)&&!("target"in a),aB=(a,b=[0,0])=>{let{width:c,height:d}=a2(a),e=a.origin??b,f=c*e[0],g=d*e[1];return{x:a.position.x-f,y:a.position.y-g}},aC=(a,b={})=>{let c={x:1/0,y:1/0,x2:-1/0,y2:-1/0},d=!1;return a.forEach(a=>{(void 0===b.filter||b.filter(a))&&(c=aM(c,aQ(a)),d=!0)}),d?aO(c):{x:0,y:0,width:0,height:0}},aD=(a,b,[c,d,e]=[0,0,1],f=!1,g=!1)=>{let h=(b.x-c)/e,i=(b.y-d)/e,j=b.width/e,k=b.height/e,l=[];for(let b of a.values()){let{measured:a,selectable:c=!0,hidden:d=!1}=b;if(g&&!c||d)continue;let e=a.width??b.width??b.initialWidth??0,m=a.height??b.height??b.initialHeight??0,{x:n,y:o}=b.internals.positionAbsolute,p=aS(h,i,j,k,n,o,e,m),q=e*m,r=f&&p>0;(!b.internals.handleBounds||r||p>=q||b.dragging)&&l.push(b)}return l};async function aE({nodes:a,width:b,height:c,panZoom:d,minZoom:e,maxZoom:f},g){let h,i;if(0===a.size)return!0;let j=a_(aC((h=new Map,i=g?.nodes?new Set(g.nodes.map(a=>a.id)):null,a.forEach(a=>{let b;if(g?.includeHiddenNodes){let{width:c,height:d}=a2(a);b=c>0&&d>0}else b=!!(a.measured.width&&a.measured.height&&!a.hidden);b&&(!i||i.has(a.id))&&h.set(a.id,a)}),h)),b,c,g?.minZoom??e,g?.maxZoom??f,g?.padding??.1);return await d.setViewport(j,{duration:g?.duration,ease:g?.ease,interpolate:g?.interpolate}),!0}function aF({nodeId:a,nextPosition:b,nodeLookup:c,nodeOrigin:d=[0,0],nodeExtent:e,onError:f}){let g=c.get(a),h=g.parentId?c.get(g.parentId):void 0,{x:i,y:j}=h?h.internals.positionAbsolute:{x:0,y:0},k=g.origin??d,l=g.extent||e;if("parent"!==g.extent||g.expandParent)h&&a1(g.extent)&&(l=[[g.extent[0][0]+i,g.extent[0][1]+j],[g.extent[1][0]+i,g.extent[1][1]+j]]);else if(h){let{width:a,height:b}=a2(h);a&&b&&(l=[[i,j],[i+a,j+b]])}else f?.("005","Only child nodes can use a parent extent.");let m=a1(l)?aI(b,l,g.measured):b;return(void 0===g.measured.width||void 0===g.measured.height)&&f?.("015","It seems that you are trying to drag a node that is not initialized. Please use onNodesChange as explained in the docs."),{position:{x:m.x-i+(g.measured.width??0)*k[0],y:m.y-j+(g.measured.height??0)*k[1]},positionAbsolute:m}}async function aG({nodesToRemove:a=[],edgesToRemove:b=[],nodes:c,edges:d,onBeforeDelete:e}){let f,g=new Set(a.map(a=>a.id)),h=[];for(let a of c){if(!1===a.deletable)continue;let b=g.has(a.id),c=!b&&a.parentId&&h.find(b=>b.id===a.parentId);(b||c)&&h.push(a)}let i=new Set(b.map(a=>a.id)),j=d.filter(a=>!1!==a.deletable),k=(f=new Set,h.forEach(a=>{f.add(a.id)}),j.filter(a=>f.has(a.source)||f.has(a.target)));for(let a of j)i.has(a.id)&&!k.find(b=>b.id===a.id)&&k.push(a);if(!e)return{edges:k,nodes:h};let l=await e({nodes:h,edges:k});return"boolean"==typeof l?l?{edges:k,nodes:h}:{edges:[],nodes:[]}:l}let aH=(a,b=0,c=1)=>Math.min(Math.max(a,b),c),aI=(a={x:0,y:0},b,c)=>({x:aH(a.x,b[0][0],b[1][0]-(c?.width??0)),y:aH(a.y,b[0][1],b[1][1]-(c?.height??0))});function aJ(a,b,c){let{width:d,height:e}=a2(c),{x:f,y:g}=c.internals.positionAbsolute;return aI(a,[[f,g],[f+d,g+e]],b)}let aK=(a,b,c)=>a<b?aH(Math.abs(a-b),1,b)/b:a>c?-aH(Math.abs(a-c),1,b)/b:0,aL=(a,b,c=15,d=40)=>[aK(a.x,d,b.width-d)*c,aK(a.y,d,b.height-d)*c],aM=(a,b)=>({x:Math.min(a.x,b.x),y:Math.min(a.y,b.y),x2:Math.max(a.x2,b.x2),y2:Math.max(a.y2,b.y2)}),aN=({x:a,y:b,width:c,height:d})=>({x:a,y:b,x2:a+c,y2:b+d}),aO=({x:a,y:b,x2:c,y2:d})=>({x:a,y:b,width:c-a,height:d-b}),aP=(a,b=[0,0])=>{let{x:c,y:d}=aA(a)?a.internals.positionAbsolute:aB(a,b);return{x:c,y:d,width:a.measured?.width??a.width??a.initialWidth??0,height:a.measured?.height??a.height??a.initialHeight??0}},aQ=(a,b=[0,0])=>{let{x:c,y:d}=aA(a)?a.internals.positionAbsolute:aB(a,b);return{x:c,y:d,x2:c+(a.measured?.width??a.width??a.initialWidth??0),y2:d+(a.measured?.height??a.height??a.initialHeight??0)}},aR=(a,b)=>aO(aM(aN(a),aN(b))),aS=(a,b,c,d,e,f,g,h)=>Math.ceil(Math.max(0,Math.min(a+c,e+g)-Math.max(a,e))*Math.max(0,Math.min(b+d,f+h)-Math.max(b,f))),aT=(a,b)=>aS(a.x,a.y,a.width,a.height,b.x,b.y,b.width,b.height),aU=a=>aV(a.width)&&aV(a.height)&&aV(a.x)&&aV(a.y),aV=a=>!isNaN(a)&&isFinite(a),aW=(a,b)=>(a,b)=>{},aX=(a,b=[1,1])=>({x:b[0]*Math.round(a.x/b[0]),y:b[1]*Math.round(a.y/b[1])}),aY=({x:a,y:b},[c,d,e],f=!1,g=[1,1])=>{let h={x:(a-c)/e,y:(b-d)/e};return f?aX(h,g):h},aZ=({x:a,y:b},[c,d,e])=>({x:a*e+c,y:b*e+d});function a$(a,b){if("number"==typeof a)return Math.floor((b-b/(1+a))*.5);if("string"==typeof a&&a.endsWith("px")){let b=parseFloat(a);if(!Number.isNaN(b))return Math.floor(b)}if("string"==typeof a&&a.endsWith("%")){let c=parseFloat(a);if(!Number.isNaN(c))return Math.floor(b*c*.01)}return console.error(`The padding value "${a}" is invalid. Please provide a number or a string with a valid unit (px or %).`),0}let a_=(a,b,c,d,e,f)=>{let g=function(a,b,c){if("string"==typeof a||"number"==typeof a){let d=a$(a,c),e=a$(a,b);return{top:d,right:e,bottom:d,left:e,x:2*e,y:2*d}}if("object"==typeof a){let d=a$(a.top??a.y??0,c),e=a$(a.bottom??a.y??0,c),f=a$(a.left??a.x??0,b),g=a$(a.right??a.x??0,b);return{top:d,right:g,bottom:e,left:f,x:f+g,y:d+e}}return{top:0,right:0,bottom:0,left:0,x:0,y:0}}(f,b,c),h=aH(Math.min((b-g.x)/a.width,(c-g.y)/a.height),d,e),i=a.x+a.width/2,j=a.y+a.height/2,k=b/2-i*h,l=c/2-j*h,m=function(a,b,c,d,e,f){let{x:g,y:h}=aZ(a,[b,c,d]),{x:i,y:j}=aZ({x:a.x+a.width,y:a.y+a.height},[b,c,d]);return{left:Math.floor(g),top:Math.floor(h),right:Math.floor(e-i),bottom:Math.floor(f-j)}}(a,k,l,h,b,c),n={left:Math.min(m.left-g.left,0),top:Math.min(m.top-g.top,0),right:Math.min(m.right-g.right,0),bottom:Math.min(m.bottom-g.bottom,0)};return{x:k-n.left+n.right,y:l-n.top+n.bottom,zoom:h}},a0=()=>"u">typeof navigator&&navigator?.userAgent?.indexOf("Mac")>=0;function a1(a){return null!=a&&"parent"!==a}function a2(a){return{width:a.measured?.width??a.width??a.initialWidth??0,height:a.measured?.height??a.height??a.initialHeight??0}}function a3(a){return(a.measured?.width??a.width??a.initialWidth)!==void 0&&(a.measured?.height??a.height??a.initialHeight)!==void 0}function a4(a,b={width:0,height:0},c,d,e){let f={...a},g=d.get(c);if(g){let a=g.origin||e;f.x+=g.internals.positionAbsolute.x-(b.width??0)*a[0],f.y+=g.internals.positionAbsolute.y-(b.height??0)*a[1]}return f}function a5(a,b){if(a.size!==b.size)return!1;for(let c of a)if(!b.has(c))return!1;return!0}function a6(a){return null===a?null:a?"valid":"invalid"}function a7(a,{snapGrid:b=[0,0],snapToGrid:c=!1,transform:d,containerBounds:e}){let{x:f,y:g}=bc(a),h=aY({x:f-(e?.left??0),y:g-(e?.top??0)},d),{x:i,y:j}=c?aX(h,b):h;return{xSnapped:i,ySnapped:j,...h}}let a8=a=>({width:a.offsetWidth,height:a.offsetHeight}),a9=a=>a?.getRootNode?.()||window?.document,ba=["INPUT","SELECT","TEXTAREA"];function bb(a){let b=a.composedPath?.()?.[0]||a.target;return b?.nodeType===1&&(ba.includes(b.nodeName)||b.hasAttribute("contenteditable")||!!b.closest(".nokey"))}let bc=(a,b)=>{let c="clientX"in a,d=c?a.clientX:a.touches?.[0].clientX,e=c?a.clientY:a.touches?.[0].clientY;return{x:d-(b?.left??0),y:e-(b?.top??0)}},bd=(a,b,c,d,e)=>{let f=b.querySelectorAll(`.${a}`);return f&&f.length?Array.from(f).map(b=>{let f=b.getBoundingClientRect();return{id:b.getAttribute("data-handleid"),type:a,nodeId:e,position:b.getAttribute("data-handlepos"),x:(f.left-c.left)/d,y:(f.top-c.top)/d,...a8(b)}}):null};function be({sourceX:a,sourceY:b,targetX:c,targetY:d,sourceControlX:e,sourceControlY:f,targetControlX:g,targetControlY:h}){let i=.125*a+.375*e+.375*g+.125*c,j=.125*b+.375*f+.375*h+.125*d,k=Math.abs(i-a),l=Math.abs(j-b);return[i,j,k,l]}function bf(a,b){return a>=0?.5*a:25*b*Math.sqrt(-a)}function bg({pos:a,x1:b,y1:c,x2:d,y2:e,c:f}){switch(a){case o.Left:return[b-bf(b-d,f),c];case o.Right:return[b+bf(d-b,f),c];case o.Top:return[b,c-bf(c-e,f)];case o.Bottom:return[b,c+bf(e-c,f)]}}function bh({sourceX:a,sourceY:b,sourcePosition:c=o.Bottom,targetX:d,targetY:e,targetPosition:f=o.Top,curvature:g=.25}){let[h,i]=bg({pos:c,x1:a,y1:b,x2:d,y2:e,c:g}),[j,k]=bg({pos:f,x1:d,y1:e,x2:a,y2:b,c:g}),[l,m,n,p]=be({sourceX:a,sourceY:b,targetX:d,targetY:e,sourceControlX:h,sourceControlY:i,targetControlX:j,targetControlY:k});return[`M${a},${b} C${h},${i} ${j},${k} ${d},${e}`,l,m,n,p]}function bi({sourceX:a,sourceY:b,targetX:c,targetY:d}){let e=Math.abs(c-a)/2,f=Math.abs(d-b)/2;return[c<a?c+e:c-e,d<b?d+f:d-f,e,f]}let bj=({source:a,sourceHandle:b,target:c,targetHandle:d})=>`xy-edge__${a}${b||""}-${c}${d||""}`;function bk({sourceX:a,sourceY:b,targetX:c,targetY:d}){let[e,f,g,h]=bi({sourceX:a,sourceY:b,targetX:c,targetY:d});return[`M ${a},${b}L ${c},${d}`,e,f,g,h]}let bl={[o.Left]:{x:-1,y:0},[o.Right]:{x:1,y:0},[o.Top]:{x:0,y:-1},[o.Bottom]:{x:0,y:1}},bm=(a,b)=>Math.sqrt(Math.pow(b.x-a.x,2)+Math.pow(b.y-a.y,2));function bn({sourceX:a,sourceY:b,sourcePosition:c=o.Bottom,targetX:d,targetY:e,targetPosition:f=o.Top,borderRadius:g=5,centerX:h,centerY:i,offset:j=20,stepPosition:k=.5}){let[l,m,n,p,q]=function({source:a,sourcePosition:b=o.Bottom,target:c,targetPosition:d=o.Top,center:e,offset:f,stepPosition:g}){let h,i,j=bl[b],k=bl[d],l={x:a.x+j.x*f,y:a.y+j.y*f},m={x:c.x+k.x*f,y:c.y+k.y*f},n=(({source:a,sourcePosition:b=o.Bottom,target:c})=>b===o.Left||b===o.Right?a.x<c.x?{x:1,y:0}:{x:-1,y:0}:a.y<c.y?{x:0,y:1}:{x:0,y:-1})({source:l,sourcePosition:b,target:m}),p=0!==n.x?"x":"y",q=n[p],r=[],s={x:0,y:0},t={x:0,y:0},[,,u,v]=bi({sourceX:a.x,sourceY:a.y,targetX:c.x,targetY:c.y});if(j[p]*k[p]==-1){"x"===p?(h=e.x??l.x+(m.x-l.x)*g,i=e.y??(l.y+m.y)/2):(h=e.x??(l.x+m.x)/2,i=e.y??l.y+(m.y-l.y)*g);let a=[{x:h,y:l.y},{x:h,y:m.y}],b=[{x:l.x,y:i},{x:m.x,y:i}];r=j[p]===q?"x"===p?a:b:"x"===p?b:a}else{let e=[{x:l.x,y:m.y}],g=[{x:m.x,y:l.y}];if(r="x"===p?j.x===q?g:e:j.y===q?e:g,b===d){let b=Math.abs(a[p]-c[p]);if(b<=f){let d=Math.min(f-1,f-b);j[p]===q?s[p]=(l[p]>a[p]?-1:1)*d:t[p]=(m[p]>c[p]?-1:1)*d}}if(b!==d){let a="x"===p?"y":"x",b=j[p]===k[a],c=l[a]>m[a],d=l[a]<m[a];(1===j[p]&&(!b&&c||b&&d)||1!==j[p]&&(!b&&d||b&&c))&&(r="x"===p?e:g)}let n={x:l.x+s.x,y:l.y+s.y},o={x:m.x+t.x,y:m.y+t.y};Math.max(Math.abs(n.x-r[0].x),Math.abs(o.x-r[0].x))>=Math.max(Math.abs(n.y-r[0].y),Math.abs(o.y-r[0].y))?(h=(n.x+o.x)/2,i=r[0].y):(h=r[0].x,i=(n.y+o.y)/2)}let w={x:l.x+s.x,y:l.y+s.y},x={x:m.x+t.x,y:m.y+t.y};return[[a,...w.x!==r[0].x||w.y!==r[0].y?[w]:[],...r,...x.x!==r[r.length-1].x||x.y!==r[r.length-1].y?[x]:[],c],h,i,u,v]}({source:{x:a,y:b},sourcePosition:c,target:{x:d,y:e},targetPosition:f,center:{x:h,y:i},offset:j,stepPosition:k}),r=`M${l[0].x} ${l[0].y}`;for(let a=1;a<l.length-1;a++)r+=function(a,b,c,d){let e=Math.min(bm(a,b)/2,bm(b,c)/2,d),{x:f,y:g}=b;if(a.x===f&&f===c.x||a.y===g&&g===c.y)return`L${f} ${g}`;if(a.y===g){let b=a.x<c.x?-1:1,d=a.y<c.y?1:-1;return`L ${f+e*b},${g}Q ${f},${g} ${f},${g+e*d}`}let h=a.x<c.x?1:-1,i=a.y<c.y?-1:1;return`L ${f},${g+e*i}Q ${f},${g} ${f+e*h},${g}`}(l[a-1],l[a],l[a+1],g);return[r+=`L${l[l.length-1].x} ${l[l.length-1].y}`,m,n,p,q]}function bo(a){return a&&!!(a.internals.handleBounds||a.handles?.length)&&!!(a.measured.width||a.width||a.initialWidth)}function bp(a){if(!a)return null;let b=[],c=[];for(let d of a)d.width=d.width??1,d.height=d.height??1,"source"===d.type?b.push(d):"target"===d.type&&c.push(d);return{source:b,target:c}}function bq(a,b,c=o.Left,d=!1){let e=(b?.x??0)+a.internals.positionAbsolute.x,f=(b?.y??0)+a.internals.positionAbsolute.y,{width:g,height:h}=b??a2(a);if(d)return{x:e+g/2,y:f+h/2};switch(b?.position??c){case o.Top:return{x:e+g/2,y:f};case o.Right:return{x:e+g,y:f+h/2};case o.Bottom:return{x:e+g/2,y:f+h};case o.Left:return{x:e,y:f+h/2}}}function br(a,b){return a&&(b?a.find(a=>a.id===b):a[0])||null}function bs(a,b){if(!a)return"";if("string"==typeof a)return a;let c=b?`${b}__`:"";return`${c}${Object.keys(a).sort().map(b=>`${b}=${a[b]}`).join("&")}`}let bt={nodeOrigin:[0,0],nodeExtent:au,elevateNodesOnSelect:!0,zIndexMode:"basic",defaults:{}},bu={...bt,checkEquality:!0};function bv(a,b){let c={...a};for(let a in b)void 0!==b[a]&&(c[a]=b[a]);return c}function bw(a){return"manual"===a}function bx(a,b,c,d={}){let e=bv(bu,d),f={i:0},g=new Map(b),h=e?.elevateNodesOnSelect&&!bw(e.zIndexMode)?1e3:0,i=a.length>0,j=!1;for(let k of(b.clear(),c.clear(),a)){let a=g.get(k.id);if(e.checkEquality&&k===a?.internals.userNode)b.set(k.id,a);else{let c=aI(aB(k,e.nodeOrigin),a1(k.extent)?k.extent:e.nodeExtent,a2(k));a={...e.defaults,...k,measured:{width:k.measured?.width,height:k.measured?.height},internals:{positionAbsolute:c,handleBounds:function(a,b){if(!a.handles)return a.measured?b?.internals.handleBounds:void 0;let c=[],d=[];for(let b of a.handles){let e={id:b.id,width:b.width??1,height:b.height??1,nodeId:a.id,x:b.x,y:b.y,position:b.position,type:b.type};"source"===b.type?c.push(e):"target"===b.type&&d.push(e)}return{source:c,target:d}}(k,a),z:bz(k,h,e.zIndexMode),userNode:k}},b.set(k.id,a)}void 0!==a.measured&&void 0!==a.measured.width&&void 0!==a.measured.height||a.hidden||(i=!1),k.parentId&&by(a,b,c,d,f),j||=k.selected??!1}return{nodesInitialized:i,hasSelectedNodes:j}}function by(a,b,c,d,e){let{elevateNodesOnSelect:f,nodeOrigin:g,nodeExtent:h,zIndexMode:i}=bv(bt,d),j=a.parentId,k=b.get(j);if(!k)return void console.warn(`Parent node ${j} not found. Please make sure that parent nodes are in front of their child nodes in the nodes array.`);!function(a,b){if(!a.parentId)return;let c=b.get(a.parentId);c?c.set(a.id,a):b.set(a.parentId,new Map([[a.id,a]]))}(a,c),e&&!k.parentId&&void 0===k.internals.rootParentIndex&&"auto"===i&&(k.internals.rootParentIndex=++e.i,k.internals.z=k.internals.z+10*e.i),e&&void 0!==k.internals.rootParentIndex&&(e.i=k.internals.rootParentIndex);let{x:l,y:m,z:n}=function(a,b,c,d,e,f){let{x:g,y:h}=b.internals.positionAbsolute,i=a2(a),j=aB(a,c),k=a1(a.extent)?aI(j,a.extent,i):j,l=aI({x:g+k.x,y:h+k.y},d,i);"parent"===a.extent&&(l=aJ(l,i,b));let m=bz(a,e,f),n=b.internals.z??0;return{x:l.x,y:l.y,z:n>=m?n+1:m}}(a,k,g,h,f&&!bw(i)?1e3:0,i),{positionAbsolute:o}=a.internals,p=l!==o.x||m!==o.y;(p||n!==a.internals.z)&&b.set(a.id,{...a,internals:{...a.internals,positionAbsolute:p?{x:l,y:m}:o,z:n}})}function bz(a,b,c){let d=aV(a.zIndex)?a.zIndex:0;return bw(c)?d:d+(a.selected?b:0)}function bA(a,b,c,d=[0,0]){let e=[],f=new Map;for(let c of a){let a=b.get(c.parentId);if(!a)continue;let d=aR(f.get(c.parentId)?.expandedRect??aP(a),c.rect);f.set(c.parentId,{expandedRect:d,parent:a})}return f.size>0&&f.forEach(({expandedRect:b,parent:f},g)=>{let h=f.internals.positionAbsolute,i=a2(f),j=f.origin??d,k=b.x<h.x?Math.round(Math.abs(h.x-b.x)):0,l=b.y<h.y?Math.round(Math.abs(h.y-b.y)):0,m=Math.max(i.width,Math.round(b.width)),n=Math.max(i.height,Math.round(b.height)),o=(m-i.width)*j[0],p=(n-i.height)*j[1];(k>0||l>0||o||p)&&(e.push({id:g,type:"position",position:{x:f.position.x-k+o,y:f.position.y-l+p}}),c.get(g)?.forEach(b=>{a.some(a=>a.id===b.id)||e.push({id:b.id,type:"position",position:{x:b.position.x+k,y:b.position.y+l}})})),(i.width<b.width||i.height<b.height||k||l)&&e.push({id:g,type:"dimensions",setAttributes:!0,dimensions:{width:m+(k?j[0]*k-o:0),height:n+(l?j[1]*l-p:0)}})}),e}async function bB({delta:a,panZoom:b,transform:c,translateExtent:d,width:e,height:f}){if(!b||!a.x&&!a.y)return!1;let g=await b.setViewportConstrained({x:c[0]+a.x,y:c[1]+a.y,zoom:c[2]},[[0,0],[e,f]],d);return!!g&&(g.x!==c[0]||g.y!==c[1]||g.k!==c[2])}function bC(a,b,c,d,e,f){let g=e,h=d.get(g)||new Map;d.set(g,h.set(c,b)),g=`${e}-${a}`;let i=d.get(g)||new Map;if(d.set(g,i.set(c,b)),f){g=`${e}-${a}-${f}`;let h=d.get(g)||new Map;d.set(g,h.set(c,b))}}function bD(a,b,c){for(let d of(a.clear(),b.clear(),c)){let{source:c,target:e,sourceHandle:f=null,targetHandle:g=null}=d,h={edgeId:d.id,source:c,target:e,sourceHandle:f,targetHandle:g},i=`${c}-${f}--${e}-${g}`;bC("source",h,`${e}-${g}--${c}-${f}`,a,c,f),bC("target",h,i,a,e,g),b.set(d.id,d)}}function bE(a,b,c){let d=a;do{if(d?.matches?.(b))return!0;if(d===c)break;d=d?.parentElement}while(d)return!1}function bF({nodeId:a,dragItems:b,nodeLookup:c,dragging:d=!0}){let e=[];for(let[a,f]of b){let b=c.get(a)?.internals.userNode;b&&e.push({...b,position:f.position,dragging:d})}if(!a)return[e[0],e];let f=c.get(a)?.internals.userNode;return[f?{...f,position:b.get(a)?.position||f.position,dragging:d}:e[0],e]}function bG(a,b,c,d,e,f=!1){let g=d.get(a);if(!g)return null;let h="strict"===e?g.internals.handleBounds?.[b]:[...g.internals.handleBounds?.source??[],...g.internals.handleBounds?.target??[]],i=(c?h?.find(a=>a.id===c):h?.[0])??null;return i&&f?{...i,...bq(g,i,i.position,!0)}:i}function bH(a,b){return a?a:b?.classList.contains("target")?"target":b?.classList.contains("source")?"source":null}let bI=()=>!0;function bJ(a,{handle:b,connectionMode:c,fromNodeId:d,fromHandleId:e,fromType:f,doc:g,lib:h,flowId:i,isValidConnection:k=bI,nodeLookup:l}){let m="target"===f,n=b?g.querySelector(`.${h}-flow__handle[data-id="${i}-${b?.nodeId}-${b?.id}-${b?.type}"]`):null,{x:o,y:p}=bc(a),q=g.elementFromPoint(o,p),r=q?.classList.contains(`${h}-flow__handle`)?q:n,s={handleDomNode:r,isValid:!1,connection:null,toHandle:null};if(r){let a=bH(void 0,r),b=r.getAttribute("data-nodeid"),f=r.getAttribute("data-handleid"),g=r.classList.contains("connectable"),h=r.classList.contains("connectableend");if(!b||!a)return s;let i={source:m?b:d,sourceHandle:m?f:e,target:m?d:b,targetHandle:m?e:f};s.connection=i,s.isValid=g&&h&&(c===j.Strict?m&&"source"===a||!m&&"target"===a:b!==d||f!==e)&&k(i),s.toHandle=bG(b,a,f,l,c,!0)}return s}let bK=function(a,{connectionMode:b,connectionRadius:c,handleId:d,nodeId:e,edgeUpdaterType:f,isTarget:g,domNode:h,nodeLookup:i,lib:j,autoPanOnConnect:k,flowId:l,panBy:m,cancelConnection:n,onConnectStart:p,onConnect:q,onConnectEnd:r,isValidConnection:s=bI,onReconnectEnd:t,updateConnection:u,getTransform:v,getFromHandle:w,autoPanSpeed:x,dragThreshold:y=1,handleDomNode:z}){let A,B=a9(a.target),C=0,{x:D,y:E}=bc(a),F=bH(f,z),G=h?.getBoundingClientRect(),H=!1;if(!G||!F)return;let I=bG(e,F,d,i,b);if(!I)return;let J=bc(a,G),K=!1,L=null,M=!1,N=null,O={...I,nodeId:e,type:F,position:I.position},P=i.get(e),Q={inProgress:!0,isValid:null,from:bq(P,O,o.Left,!0),fromHandle:O,fromPosition:O.position,fromNode:P,to:J,toHandle:null,toPosition:ay[O.position],toNode:null,pointer:J};function R(){H=!0,u(Q),p?.(a,{nodeId:e,handleId:d,handleType:F})}function S(a){var f,h;let n;if(!H){let{x:b,y:c}=bc(a),d=b-D,e=c-E;if(!(d*d+e*e>y*y))return;R()}if(!w()||!O)return void T(a);let p=v();A=function(a,b,c,d){let e=[],f=1/0;for(let g of function(a,b,c){let d=[],e={x:a.x-c,y:a.y-c,width:2*c,height:2*c};for(let a of b.values())aT(e,aP(a))>0&&d.push(a);return d}(a,c,b+250))for(let c of[...g.internals.handleBounds?.source??[],...g.internals.handleBounds?.target??[]]){if(d.nodeId===c.nodeId&&d.type===c.type&&d.id===c.id)continue;let{x:h,y:i}=bq(g,c,c.position,!0),j=Math.sqrt(Math.pow(h-a.x,2)+Math.pow(i-a.y,2));j>b||(j<f?(e=[{...c,x:h,y:i}],f=j):j===f&&e.push({...c,x:h,y:i}))}if(!e.length)return null;if(e.length>1){let a="source"===d.type?"target":"source";return e.find(b=>b.type===a)??e[0]}return e[0]}(aY(J=bc(a,G),p,!1,[1,1]),c,i,O),K||(!function a(){if(!k||!G)return;let[b,c]=aL(J,G,x);m({x:b,y:c}),C=requestAnimationFrame(a)}(),K=!0);let q=bJ(a,{handle:A,connectionMode:b,fromNodeId:e,fromHandleId:d,fromType:g?"target":"source",isValidConnection:s,doc:B,lib:j,flowId:l,nodeLookup:i});N=q.handleDomNode,L=q.connection,f=!!A,h=q.isValid,n=null,h?n=!0:f&&!h&&(n=!1),M=n;let r=i.get(e),t=r?bq(r,O,o.Left,!0):Q.from,z={...Q,from:t,isValid:M,to:q.toHandle&&M?aZ({x:q.toHandle.x,y:q.toHandle.y},p):J,toHandle:q.toHandle,toPosition:M&&q.toHandle?q.toHandle.position:ay[O.position],toNode:q.toHandle?i.get(q.toHandle.nodeId):null,pointer:J};u(z),Q=z}function T(a){if(!("touches"in a)||!(a.touches.length>0)){if(H){(A||N)&&L&&M&&q?.(L);let{inProgress:b,...c}=Q,d={...c,toPosition:Q.toHandle?Q.toPosition:null};r?.(a,d),f&&t?.(a,d)}n(),cancelAnimationFrame(C),K=!1,M=!1,L=null,N=null,B.removeEventListener("mousemove",S),B.removeEventListener("mouseup",T),B.removeEventListener("touchmove",S),B.removeEventListener("touchend",T)}}0===y&&R(),B.addEventListener("mousemove",S),B.addEventListener("mouseup",T),B.addEventListener("touchmove",S),B.addEventListener("touchend",T)},bL=a=>({x:a.x,y:a.y,zoom:a.k}),bM=({x:a,y:b,zoom:c})=>aq.K.translate(a,b).scale(c),bN=(a,b)=>a.target.closest(`.${b}`),bO=(a,b)=>2===b&&Array.isArray(a)&&a.includes(2),bP=a=>((a*=2)<=1?a*a*a:(a-=2)*a*a+2)/2,bQ=(a,b=0,c=bP,d=()=>{})=>{let e="number"==typeof b&&b>0;return e||d(),e?a.transition().duration(b).ease(c).on("end",d):a},bR=a=>{let b=a.ctrlKey&&a0()?10:1;return-a.deltaY*(1===a.deltaMode?.05:a.deltaMode?1:.002)*b};function bS(a){let b=a.includes("right")||a.includes("left"),c=a.includes("bottom")||a.includes("top");return{isHorizontal:b,isVertical:c,affectsX:a.includes("left"),affectsY:a.includes("top")}}function bT(a,b){return Math.max(0,b-a)}function bU(a,b){return Math.max(0,a-b)}function bV(a,b,c){return Math.max(0,b-a,a-c)}(h=p||(p={})).Line="line",h.Handle="handle";let bW={width:0,height:0,x:0,y:0},bX={...bW,pointerX:0,pointerY:0,aspectRatio:1};var bY=a.i(711822);let bZ=a=>{let b,c=new Set,d=(a,d)=>{let e="function"==typeof a?a(b):a;if(!Object.is(e,b)){let a=b;b=(null!=d?d:"object"!=typeof e||null===e)?e:Object.assign({},b,e),c.forEach(c=>c(b,a))}},e=()=>b,f={setState:d,getState:e,getInitialState:()=>g,subscribe:a=>(c.add(a),()=>c.delete(a)),destroy:()=>{c.clear()}},g=b=a(d,e,f);return f},{useDebugValue:b$}=u.default,{useSyncExternalStoreWithSelector:b_}=bY.default,b0=a=>a;function b1(a,b=b0,c){let d=b_(a.subscribe,a.getState,a.getServerState||a.getInitialState,b,c);return b$(d),d}let b2=(a,b)=>{let c=a?bZ(a):bZ,d=(a,d=b)=>b1(c,a,d);return Object.assign(d,c),d};function b3(a,b){if(Object.is(a,b))return!0;if("object"!=typeof a||null===a||"object"!=typeof b||null===b)return!1;if(a instanceof Map&&b instanceof Map){if(a.size!==b.size)return!1;for(let[c,d]of a)if(!Object.is(d,b.get(c)))return!1;return!0}if(a instanceof Set&&b instanceof Set){if(a.size!==b.size)return!1;for(let c of a)if(!b.has(c))return!1;return!0}let c=Object.keys(a);if(c.length!==Object.keys(b).length)return!1;for(let d of c)if(!Object.prototype.hasOwnProperty.call(b,d)||!Object.is(a[d],b[d]))return!1;return!0}var b4=a.i(240275);let b5=(0,u.createContext)(null),b6=b5.Provider,b7=((a="react")=>`Seems like you have not used ${"svelte"===a?"SvelteFlowProvider":"ReactFlowProvider"} as an ancestor. Help: https://${a}flow.dev/error#001`)("react");function b8(a,b){let c=(0,u.useContext)(b5);if(null===c)throw Error(b7);return b1(c,a,b)}function b9(){let a=(0,u.useContext)(b5);if(null===a)throw Error(b7);return(0,u.useMemo)(()=>({getState:a.getState,setState:a.setState,subscribe:a.subscribe}),[a])}let ca={display:"none"},cb={position:"absolute",width:1,height:1,margin:-1,border:0,padding:0,overflow:"hidden",clip:"rect(0px, 0px, 0px, 0px)",clipPath:"inset(100%)"},cc="react-flow__node-desc",cd="react-flow__edge-desc",ce=a=>a.ariaLiveMessage,cf=a=>a.ariaLabelConfig;function cg({rfId:a}){let b=b8(ce);return(0,r.jsx)("div",{id:`react-flow__aria-live-${a}`,"aria-live":"assertive","aria-atomic":"true",style:cb,children:b})}function ch({rfId:a,disableKeyboardA11y:b}){let c=b8(cf);return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)("div",{id:`${cc}-${a}`,style:ca,children:b?c["node.a11yDescription.default"]:c["node.a11yDescription.keyboardDisabled"]}),(0,r.jsx)("div",{id:`${cd}-${a}`,style:ca,children:c["edge.a11yDescription.default"]}),!b&&(0,r.jsx)(cg,{rfId:a})]})}let ci=(0,u.forwardRef)(({position:a="top-left",children:b,className:c,style:d,...e},f)=>{let g=`${a}`.split("-");return(0,r.jsx)("div",{className:ac(["react-flow__panel",c,...g]),style:d,ref:f,...e,children:b})});ci.displayName="Panel";let cj="https://reactflow.dev?utm_source=attribution";function ck({proOptions:a,position:b="bottom-right"}){return((0,u.useEffect)(()=>{},[]),a?.hideAttribution)?null:(0,r.jsx)(ci,{position:b,className:"react-flow__attribution","data-message":`Please only hide this attribution when you are subscribed to React Flow Pro: ${cj}`,children:(0,r.jsx)("a",{href:cj,target:"_blank",rel:"noopener noreferrer","aria-label":"React Flow attribution",children:"React Flow"})})}let cl=a=>{let b=[],c=[];for(let[,c]of a.nodeLookup)c.selected&&b.push(c.internals.userNode);for(let[,b]of a.edgeLookup)b.selected&&c.push(b);return{selectedNodes:b,selectedEdges:c}},cm=a=>a.id;function cn(a,b){return b3(a.selectedNodes.map(cm),b.selectedNodes.map(cm))&&b3(a.selectedEdges.map(cm),b.selectedEdges.map(cm))}function co({onSelectionChange:a}){let b=b9(),{selectedNodes:c,selectedEdges:d}=b8(cl,cn);return(0,u.useEffect)(()=>{let e={nodes:c,edges:d};a?.(e),b.getState().onSelectionChangeHandlers.forEach(a=>a(e))},[c,d,a]),null}let cp=a=>!!a.onSelectionChangeHandlers;function cq({onSelectionChange:a}){let b=b8(cp);return a||b?(0,r.jsx)(co,{onSelectionChange:a}):null}let cr=[0,0],cs={x:0,y:0,zoom:1},ct=["nodes","edges","defaultNodes","defaultEdges","onConnect","onConnectStart","onConnectEnd","onClickConnectStart","onClickConnectEnd","nodesDraggable","autoPanOnNodeFocus","nodesConnectable","nodesFocusable","edgesFocusable","edgesReconnectable","elevateNodesOnSelect","elevateEdgesOnSelect","minZoom","maxZoom","nodeExtent","onNodesChange","onEdgesChange","elementsSelectable","connectionMode","snapGrid","snapToGrid","translateExtent","connectOnClick","defaultEdgeOptions","fitView","fitViewOptions","onNodesDelete","onEdgesDelete","onDelete","onNodeDrag","onNodeDragStart","onNodeDragStop","onSelectionDrag","onSelectionDragStart","onSelectionDragStop","onMoveStart","onMove","onMoveEnd","noPanClassName","nodeOrigin","autoPanOnConnect","autoPanOnNodeDrag","onError","connectionRadius","isValidConnection","selectNodesOnDrag","nodeDragThreshold","connectionDragThreshold","onBeforeDelete","debug","autoPanSpeed","ariaLabelConfig","zIndexMode","rfId"],cu=a=>({setNodes:a.setNodes,setEdges:a.setEdges,setMinZoom:a.setMinZoom,setMaxZoom:a.setMaxZoom,setTranslateExtent:a.setTranslateExtent,setNodeExtent:a.setNodeExtent,reset:a.reset,setDefaultNodesAndEdges:a.setDefaultNodesAndEdges}),cv={translateExtent:au,nodeOrigin:cr,minZoom:.5,maxZoom:2,elementsSelectable:!0,noPanClassName:"nopan",rfId:"1"};function cw(a){let{setNodes:b,setEdges:c,setMinZoom:d,setMaxZoom:e,setTranslateExtent:f,setNodeExtent:g,reset:h,setDefaultNodesAndEdges:i}=b8(cu,b3),j=b9();(0,u.useEffect)(()=>(i(a.defaultNodes,a.defaultEdges),()=>{k.current=cv,h()}),[]);let k=(0,u.useRef)(cv);return(0,u.useEffect)(()=>{for(let h of ct){let i=a[h];if(i!==k.current[h]&&void 0!==a[h])if("nodes"===h)b(i);else if("edges"===h)c(i);else if("minZoom"===h)d(i);else if("maxZoom"===h)e(i);else if("translateExtent"===h)f(i);else if("nodeExtent"===h)g(i);else if("ariaLabelConfig"===h)j.setState({ariaLabelConfig:{...aw,...i||{}}});else"fitView"===h?j.setState({fitViewQueued:i}):"fitViewOptions"===h?j.setState({fitViewOptions:i}):j.setState({[h]:i})}k.current=a},ct.map(b=>a[b])),null}let cx="u">typeof document?document:null;function cy(a=null,b={target:cx,actInsideInputWithModifier:!0}){let[c,d]=(0,u.useState)(!1),e=(0,u.useRef)(!1),f=(0,u.useRef)(new Set([])),[g,h]=(0,u.useMemo)(()=>{if(null!==a){let b=(Array.isArray(a)?a:[a]).filter(a=>"string"==typeof a).map(a=>a.replace(/\+/g,"\n").replace("\n\n","\n+").split("\n")),c=b.reduce((a,b)=>a.concat(...b),[]);return[b,c]}return[[],[]]},[a]);return(0,u.useEffect)(()=>{let c=b?.target??cx,i=b?.actInsideInputWithModifier??!0;if(null!==a){let a=a=>{if(e.current=a.ctrlKey||a.metaKey||a.shiftKey||a.altKey,(!e.current||e.current&&!i)&&bb(a))return!1;let c=cA(a.code,h);if(f.current.add(a[c]),cz(g,f.current,!1)){let c=a.composedPath?.()?.[0]||a.target,f=c?.nodeName==="BUTTON"||c?.nodeName==="A";!1!==b.preventDefault&&(e.current||!f)&&a.preventDefault(),d(!0)}},j=a=>{let b=cA(a.code,h);cz(g,f.current,!0)?(d(!1),f.current.clear()):f.current.delete(a[b]),"Meta"===a.key&&f.current.clear(),e.current=!1},k=()=>{f.current.clear(),d(!1)};return c?.addEventListener("keydown",a),c?.addEventListener("keyup",j),window.addEventListener("blur",k),window.addEventListener("contextmenu",k),()=>{c?.removeEventListener("keydown",a),c?.removeEventListener("keyup",j),window.removeEventListener("blur",k),window.removeEventListener("contextmenu",k)}}},[a,d]),c}function cz(a,b,c){return a.filter(a=>c||a.length===b.size).some(a=>a.every(a=>b.has(a)))}function cA(a,b){return b.includes(a)?"code":"key"}function cB(a,b){let c=[],d=new Map,e=[];for(let b of a)if("add"===b.type){e.push(b);continue}else if("remove"===b.type||"replace"===b.type)d.set(b.id,[b]);else{let a=d.get(b.id);a?a.push(b):d.set(b.id,[b])}for(let a of b){let b=d.get(a.id);if(!b){c.push(a);continue}if("remove"===b[0].type)continue;if("replace"===b[0].type){c.push({...b[0].item});continue}let e={...a};for(let a of b){var f=a,g=e;switch(f.type){case"select":g.selected=f.selected;break;case"position":void 0!==f.position&&(g.position=f.position),void 0!==f.dragging&&(g.dragging=f.dragging);break;case"dimensions":void 0!==f.dimensions&&(g.measured={...f.dimensions},f.setAttributes&&((!0===f.setAttributes||"width"===f.setAttributes)&&(g.width=f.dimensions.width),(!0===f.setAttributes||"height"===f.setAttributes)&&(g.height=f.dimensions.height))),"boolean"==typeof f.resizing&&(g.resizing=f.resizing)}}c.push(e)}return e.length&&e.forEach(a=>{void 0!==a.index?c.splice(a.index,0,{...a.item}):c.push({...a.item})}),c}function cC(a,b){return{id:a,type:"select",selected:b}}function cD(a,b=new Set,c=!1){let d=[];for(let[e,f]of a){let a=b.has(e);(void 0!==f.selected||a)&&f.selected!==a&&(c&&(f.selected=a),d.push(cC(f.id,a)))}return d}function cE({items:a=[],lookup:b}){let c=[],d=new Map(a.map(a=>[a.id,a]));for(let[d,e]of a.entries()){let a=b.get(e.id),f=a?.internals?.userNode??a;void 0!==f&&f!==e&&c.push({id:e.id,item:e,type:"replace"}),void 0===f&&c.push({item:e,type:"add",index:d})}for(let[a]of b)void 0===d.get(a)&&c.push({id:a,type:"remove"});return c}function cF(a){return{id:a.id,type:"remove"}}let cG=aW("React Flow","https://reactflow.dev/"),cH=a=>!!a&&"object"==typeof a&&"id"in a&&"position"in a&&!("source"in a)&&!("target"in a);function cI(a){return(0,u.forwardRef)(a)}let cJ=u.useEffect;function cK(a){let[b,c]=(0,u.useState)(BigInt(0)),[d]=(0,u.useState)(()=>{var a;let b;return a=()=>c(a=>a+BigInt(1)),b=[],{get:()=>b,reset:()=>{b=[]},push:c=>{b.push(c),a()}}});return cJ(()=>{let b=d.get();b.length&&(a(b),d.reset())},[b]),d}let cL=(0,u.createContext)(null);function cM({children:a}){let b=b9(),c=cK((0,u.useCallback)(a=>{let{nodes:c=[],setNodes:d,hasDefaultNodes:e,onNodesChange:f,nodeLookup:g,fitViewQueued:h,onNodesChangeMiddlewareMap:i}=b.getState(),j=c;for(let b of a)j="function"==typeof b?b(j):b;let k=cE({items:j,lookup:g});for(let a of i.values())k=a(k);e&&d(j),k.length>0?f?.(k):h&&window.requestAnimationFrame(()=>{let{fitViewQueued:a,nodes:c,setNodes:d}=b.getState();a&&d(c)})},[])),d=cK((0,u.useCallback)(a=>{let{edges:c=[],setEdges:d,hasDefaultEdges:e,onEdgesChange:f,edgeLookup:g}=b.getState(),h=c;for(let b of a)h="function"==typeof b?b(h):b;e?d(h):f&&f(cE({items:h,lookup:g}))},[])),e=(0,u.useMemo)(()=>({nodeQueue:c,edgeQueue:d}),[]);return(0,r.jsx)(cL.Provider,{value:e,children:a})}let cN=a=>!!a.panZoom;function cO(){let a,b=(a=b9(),(0,u.useMemo)(()=>({zoomIn:async b=>{let{panZoom:c}=a.getState();return!!c&&c.scaleBy(1.2,b)},zoomOut:async b=>{let{panZoom:c}=a.getState();return!!c&&c.scaleBy(1/1.2,b)},zoomTo:async(b,c)=>{let{panZoom:d}=a.getState();return!!d&&d.scaleTo(b,c)},getZoom:()=>a.getState().transform[2],setViewport:async(b,c)=>{let{transform:[d,e,f],panZoom:g}=a.getState();return!!g&&(await g.setViewport({x:b.x??d,y:b.y??e,zoom:b.zoom??f},c),!0)},getViewport:()=>{let[b,c,d]=a.getState().transform;return{x:b,y:c,zoom:d}},setCenter:async(b,c,d)=>a.getState().setCenter(b,c,d),fitBounds:async(b,c)=>{let{width:d,height:e,minZoom:f,maxZoom:g,panZoom:h}=a.getState(),i=a_(b,d,e,f,g,c?.padding??.1);return!!h&&(await h.setViewport(i,{duration:c?.duration,ease:c?.ease,interpolate:c?.interpolate}),!0)},screenToFlowPosition:(b,c={})=>{let{transform:d,snapGrid:e,snapToGrid:f,domNode:g}=a.getState();if(!g)return b;let{x:h,y:i}=g.getBoundingClientRect(),j={x:b.x-h,y:b.y-i},k=c.snapGrid??e;return aY(j,d,c.snapToGrid??f,k)},flowToScreenPosition:b=>{let{transform:c,domNode:d}=a.getState();if(!d)return b;let{x:e,y:f}=d.getBoundingClientRect(),g=aZ(b,c);return{x:g.x+e,y:g.y+f}}}),[])),c=b9(),d=function(){let a=(0,u.useContext)(cL);if(!a)throw Error("useBatchContext must be used within a BatchProvider");return a}(),e=b8(cN),f=(0,u.useMemo)(()=>{let a=a=>c.getState().nodeLookup.get(a),b=a=>{d.nodeQueue.push(a)},e=a=>{d.edgeQueue.push(a)},f=a=>{let{nodeLookup:b,nodeOrigin:d}=c.getState(),e=cH(a)?a:b.get(a.id),f=e.parentId?a4(e.position,e.measured,e.parentId,b,d):e.position;return aP({...e,position:f,width:e.measured?.width??e.width,height:e.measured?.height??e.height})},g=(a,c,d={replace:!1})=>{b(b=>b.map(b=>{if(b.id===a){let a="function"==typeof c?c(b):c;return d.replace&&cH(a)?a:{...b,...a}}return b}))},h=(a,b,c={replace:!1})=>{e(d=>d.map(d=>{if(d.id===a){let a="function"==typeof b?b(d):b;return c.replace&&az(a)?a:{...d,...a}}return d}))};return{getNodes:()=>c.getState().nodes.map(a=>({...a})),getNode:b=>a(b)?.internals.userNode,getInternalNode:a,getEdges:()=>{let{edges:a=[]}=c.getState();return a.map(a=>({...a}))},getEdge:a=>c.getState().edgeLookup.get(a),setNodes:b,setEdges:e,addNodes:a=>{let b=Array.isArray(a)?a:[a];d.nodeQueue.push(a=>[...a,...b])},addEdges:a=>{let b=Array.isArray(a)?a:[a];d.edgeQueue.push(a=>[...a,...b])},toObject:()=>{let{nodes:a=[],edges:b=[],transform:d}=c.getState(),[e,f,g]=d;return{nodes:a.map(a=>({...a})),edges:b.map(a=>({...a})),viewport:{x:e,y:f,zoom:g}}},deleteElements:async({nodes:a=[],edges:b=[]})=>{let{nodes:d,edges:e,onNodesDelete:f,onEdgesDelete:g,triggerNodeChanges:h,triggerEdgeChanges:i,onDelete:j,onBeforeDelete:k}=c.getState(),{nodes:l,edges:m}=await aG({nodesToRemove:a,edgesToRemove:b,nodes:d,edges:e,onBeforeDelete:k}),n=m.length>0,o=l.length>0;if(n){let a=m.map(cF);g?.(m),i(a)}if(o){let a=l.map(cF);f?.(l),h(a)}return(o||n)&&j?.({nodes:l,edges:m}),{deletedNodes:l,deletedEdges:m}},getIntersectingNodes:(a,b=!0,d)=>{let e=aU(a),g=e?a:f(a),h=void 0!==d;return g?(d||c.getState().nodes).filter(d=>{let f=c.getState().nodeLookup.get(d.id);if(f&&!e&&(d.id===a.id||!f.internals.positionAbsolute))return!1;let i=aP(h?d:f),j=aT(i,g);return b&&j>0||j>=i.width*i.height||j>=g.width*g.height}):[]},isNodeIntersecting:(a,b,c=!0)=>{let d=aU(a)?a:f(a);if(!d)return!1;let e=aT(d,b);return c&&e>0||e>=b.width*b.height||e>=d.width*d.height},updateNode:g,updateNodeData:(a,b,c={replace:!1})=>{g(a,a=>{let d="function"==typeof b?b(a):b;return c.replace?{...a,data:d}:{...a,data:{...a.data,...d}}},c)},updateEdge:h,updateEdgeData:(a,b,c={replace:!1})=>{h(a,a=>{let d="function"==typeof b?b(a):b;return c.replace?{...a,data:d}:{...a,data:{...a.data,...d}}},c)},getNodesBounds:a=>{let{nodeLookup:b,nodeOrigin:d}=c.getState();return((a,b={nodeOrigin:[0,0]})=>{if(0===a.length)return{x:0,y:0,width:0,height:0};let c=!1,d=a.reduce((a,d)=>{let e="string"==typeof d,f=b.nodeLookup||e?void 0:d;return(b.nodeLookup&&(f=e?b.nodeLookup.get(d):aA(d)?d:b.nodeLookup.get(d.id)),f)?(c=!0,aM(a,aQ(f,b.nodeOrigin))):a},{x:1/0,y:1/0,x2:-1/0,y2:-1/0});return c?aO(d):{x:0,y:0,width:0,height:0}})(a,{nodeLookup:b,nodeOrigin:d})},getHandleConnections:({type:a,id:b,nodeId:d})=>Array.from(c.getState().connectionLookup.get(`${d}-${a}${b?`-${b}`:""}`)?.values()??[]),getNodeConnections:({type:a,handleId:b,nodeId:d})=>Array.from(c.getState().connectionLookup.get(`${d}${a?b?`-${a}-${b}`:`-${a}`:""}`)?.values()??[]),fitView:async a=>{let b,e,f=c.getState().fitViewResolver??{promise:new Promise((a,c)=>{b=a,e=c}),resolve:b,reject:e};return c.setState({fitViewQueued:!0,fitViewOptions:a,fitViewResolver:f}),d.nodeQueue.push(a=>[...a]),f.promise}}},[]);return(0,u.useMemo)(()=>({...f,...b,viewportInitialized:e}),[e])}let cP=a=>a.selected,cQ,cR={position:"absolute",width:"100%",height:"100%",top:0,left:0},cS=a=>({userSelectionActive:a.userSelectionActive,lib:a.lib,connectionInProgress:a.connection.inProgress});function cT({onPaneContextMenu:a,zoomOnScroll:b=!0,zoomOnPinch:c=!0,panOnScroll:d=!1,panActivationKeyPressed:e,panOnScrollSpeed:f=.5,panOnScrollMode:g=k.Free,zoomOnDoubleClick:h=!0,panOnDrag:i=!0,defaultViewport:j,translateExtent:l,minZoom:m,maxZoom:n,zoomActivationKeyCode:o,preventScrolling:p=!0,children:q,noWheelClassName:s,noPanClassName:t,onViewportChange:v,isControlledViewport:w,paneClickDistance:x,selectionOnDrag:y}){let z,A=b9(),B=(0,u.useRef)(null),{userSelectionActive:C,lib:D,connectionInProgress:E}=b8(cS,b3),F=cy(o),G=(0,u.useRef)();z=b9(),(0,u.useEffect)(()=>{let a=()=>{if(!B.current||!(B.current.checkVisibility?.()??!0))return!1;let a=a8(B.current);(0===a.height||0===a.width)&&z.getState().onError?.("004","The parent container needs a width and a height to render the graph."),z.setState({width:a.width||500,height:a.height||500})};if(B.current){a(),window.addEventListener("resize",a);let b=new ResizeObserver(()=>a());return b.observe(B.current),()=>{window.removeEventListener("resize",a),b&&B.current&&b.unobserve(B.current)}}},[]);let H=(0,u.useCallback)(a=>{v?.({x:a[0],y:a[1],zoom:a[2]}),w||A.setState({transform:a})},[v,w]);return(0,u.useEffect)(()=>{if(B.current){G.current=function({domNode:a,minZoom:b,maxZoom:c,translateExtent:d,viewport:e,onPanZoom:f,onPanZoomStart:g,onPanZoomEnd:h,onDraggingChange:i}){let j={isZoomingOrPanning:!1,usedRightMouseButton:!1,prevViewport:{},mouseButton:0,timerId:void 0,panScrollTimeout:void 0,isPanScrolling:!1},l=a.getBoundingClientRect(),m=[[0,0],[l.width,l.height]],n="u">typeof ResizeObserver?new ResizeObserver(a=>{let b=a[0];b&&(m=[[0,0],[b.contentRect.width,b.contentRect.height]])}):null;n?.observe(a);let o=(0,ap.f)().extent(()=>m).scaleExtent([b,c]).translateExtent(d),p=(0,ae.f)(a).call(o);u({x:e.x,y:e.y,zoom:aH(e.zoom,b,c)},[[0,0],[l.width,l.height]],d);let q=p.on("wheel.zoom"),r=p.on("dblclick.zoom");async function s(a,b){return!!p&&new Promise(c=>{o?.interpolate(b?.interpolate==="linear"?at.f:as.f).transform(bQ(p,b?.duration,b?.ease,()=>c(!0)),a)})}function t(){o.on("zoom",null)}async function u(a,b,c){let d=bM(a),e=o?.constrain()(d,b,c);return e&&await s(e),e}return o.wheelDelta(bR),{update:function({noWheelClassName:a,noPanClassName:b,onPaneContextMenu:c,userSelectionActive:d,panOnScroll:e,panOnDrag:l,panOnScrollMode:m,panOnScrollSpeed:n,preventScrolling:s,zoomOnPinch:u,zoomOnScroll:v,zoomOnDoubleClick:w,panActivationKeyPressed:x=!1,zoomActivationKeyPressed:y,lib:z,onTransformChange:A,connectionInProgress:B,paneClickDistance:C,selectionOnDrag:D}){d&&!j.isZoomingOrPanning&&t();let E=e&&!y&&!d;o.clickDistance(D?1/0:!aV(C)||C<0?0:C);let F=E?function({zoomPanValues:a,noWheelClassName:b,d3Selection:c,d3Zoom:d,panOnScrollMode:e,panOnScrollSpeed:f,zoomOnPinch:g,onPanZoomStart:h,onPanZoom:i,onPanZoomEnd:j}){return l=>{if(bN(l,b))return l.ctrlKey&&l.preventDefault(),!1;l.preventDefault(),l.stopImmediatePropagation();let m=c.property("__zoom").k||1;if(l.ctrlKey&&g){let a=(0,af.f)(l),b=m*Math.pow(2,bR(l));d.scaleTo(c,b,a,l);return}let n=1===l.deltaMode?20:1,o=e===k.Vertical?0:l.deltaX*n,p=e===k.Horizontal?0:l.deltaY*n;!a0()&&l.shiftKey&&e!==k.Vertical&&(o=l.deltaY*n,p=0),d.translateBy(c,-(o/m)*f,-(p/m)*f,{internal:!0});let q=bL(c.property("__zoom"));clearTimeout(a.panScrollTimeout),a.isPanScrolling?i?.(l,q):(a.isPanScrolling=!0,h?.(l,q)),a.panScrollTimeout=setTimeout(()=>{j?.(l,q),a.isPanScrolling=!1},150)}}({zoomPanValues:j,noWheelClassName:a,d3Selection:p,d3Zoom:o,panOnScrollMode:m,panOnScrollSpeed:n,zoomOnPinch:u,onPanZoomStart:g,onPanZoom:f,onPanZoomEnd:h}):function({noWheelClassName:a,preventScrolling:b,d3ZoomHandler:c}){return function(d,e){let f="wheel"===d.type,g=!b&&f&&!d.ctrlKey,h=bN(d,a);if(d.ctrlKey&&f&&h&&d.preventDefault(),g||h)return null;d.preventDefault(),c.call(this,d,e)}}({noWheelClassName:a,preventScrolling:s,d3ZoomHandler:q});p.on("wheel.zoom",F,{passive:!1});let G=function({zoomPanValues:a,onDraggingChange:b,onPanZoomStart:c}){return d=>{if(d.sourceEvent?.internal)return;let e=bL(d.transform);a.mouseButton=d.sourceEvent?.button||0,a.isZoomingOrPanning=!0,a.prevViewport=e,d.sourceEvent?.type==="mousedown"&&b(!0),c&&c?.(d.sourceEvent,e)}}({zoomPanValues:j,onDraggingChange:i,onPanZoomStart:g});o.on("start",G);let H=function({zoomPanValues:a,panOnDrag:b,onPaneContextMenu:c,onTransformChange:d,onPanZoom:e}){return f=>{a.usedRightMouseButton=!!(c&&bO(b,a.mouseButton??0)),f.sourceEvent?.sync||d([f.transform.x,f.transform.y,f.transform.k]),e&&!f.sourceEvent?.internal&&e?.(f.sourceEvent,bL(f.transform))}}({zoomPanValues:j,panOnDrag:l,onPaneContextMenu:!!c,onPanZoom:f,onTransformChange:A});o.on("zoom",H);let I=function({zoomPanValues:a,panOnDrag:b,panOnScroll:c,onDraggingChange:d,onPanZoomEnd:e,onPaneContextMenu:f}){return g=>{if(!g.sourceEvent?.internal&&(a.isZoomingOrPanning=!1,f&&bO(b,a.mouseButton??0)&&!a.usedRightMouseButton&&g.sourceEvent&&f(g.sourceEvent),a.usedRightMouseButton=!1,d(!1),e)){let b=bL(g.transform);a.prevViewport=b,clearTimeout(a.timerId),a.timerId=setTimeout(()=>{e?.(g.sourceEvent,b)},150*!!c)}}}({zoomPanValues:j,panOnDrag:l,panOnScroll:e,onPaneContextMenu:c,onPanZoomEnd:h,onDraggingChange:i});o.on("end",I);let J=function({panActivationKeyPressed:a,zoomActivationKeyPressed:b,zoomOnScroll:c,zoomOnPinch:d,panOnDrag:e,panOnScroll:f,zoomOnDoubleClick:g,userSelectionActive:h,noWheelClassName:i,noPanClassName:j,lib:k,connectionInProgress:l}){return m=>{let n=b||c,o=d&&m.ctrlKey,p="wheel"===m.type;if(1===m.button&&"mousedown"===m.type&&(bN(m,`${k}-flow__node`)||bN(m,`${k}-flow__edge`)||bN(m,`${k}-flow__selection`)||bN(m,`${k}-flow__nodesselection`)))return!0;if(!e&&!n&&!f&&!g&&!d||h||l&&!p||bN(m,i)&&p||bN(m,j)&&(!p||f&&p&&!b)||!d&&m.ctrlKey&&p)return!1;if(!d&&"touchstart"===m.type&&m.touches?.length>1)return m.preventDefault(),!1;if(!n&&!f&&!o&&p||!e&&("mousedown"===m.type||"touchstart"===m.type)||Array.isArray(e)&&!e.includes(m.button)&&"mousedown"===m.type)return!1;let q=Array.isArray(e)&&e.includes(m.button)||!m.button||m.button<=1;return(!m.ctrlKey||p||a)&&q}}({panActivationKeyPressed:x,zoomActivationKeyPressed:y,panOnDrag:l,zoomOnScroll:v,panOnScroll:e,zoomOnDoubleClick:w,zoomOnPinch:u,userSelectionActive:d,noPanClassName:b,noWheelClassName:a,lib:z,connectionInProgress:B});o.filter(J),w?p.on("dblclick.zoom",r):p.on("dblclick.zoom",null)},destroy:t,setViewport:async function a(a,b){let c=bM(a);return await s(c,b),c},setViewportConstrained:u,getViewport:function(){let a=p?(0,ar.U)(p.node()):{x:0,y:0,k:1};return{x:a.x,y:a.y,zoom:a.k}},scaleTo:async function a(a,b){return!!p&&new Promise(c=>{o?.interpolate(b?.interpolate==="linear"?at.f:as.f).scaleTo(bQ(p,b?.duration,b?.ease,()=>c(!0)),a)})},scaleBy:async function a(a,b){return!!p&&new Promise(c=>{o?.interpolate(b?.interpolate==="linear"?at.f:as.f).scaleBy(bQ(p,b?.duration,b?.ease,()=>c(!0)),a)})},setScaleExtent:function(a){o?.scaleExtent(a)},setTranslateExtent:function(a){o?.translateExtent(a)},syncViewport:function(a){if(p){let b=bM(a),c=p.property("__zoom");(c.k!==a.zoom||c.x!==a.x||c.y!==a.y)&&o?.transform(p,b,null,{sync:!0})}},setClickDistance:function(a){let b=!aV(a)||a<0?0:a;o?.clickDistance(b)}}}({domNode:B.current,minZoom:m,maxZoom:n,translateExtent:l,viewport:j,onDraggingChange:a=>A.setState(b=>b.paneDragging===a?b:{paneDragging:a}),onPanZoomStart:(a,b)=>{let{onViewportChangeStart:c,onMoveStart:d}=A.getState();d?.(a,b),c?.(b)},onPanZoom:(a,b)=>{let{onViewportChange:c,onMove:d}=A.getState();d?.(a,b),c?.(b)},onPanZoomEnd:(a,b)=>{let{onViewportChangeEnd:c,onMoveEnd:d}=A.getState();d?.(a,b),c?.(b)}});let{x:a,y:b,zoom:c}=G.current.getViewport();return A.setState({panZoom:G.current,transform:[a,b,c],domNode:B.current.closest(".react-flow")}),()=>{G.current?.destroy()}}},[]),(0,u.useEffect)(()=>{G.current?.update({onPaneContextMenu:a,zoomOnScroll:b,zoomOnPinch:c,panOnScroll:d,panActivationKeyPressed:e,panOnScrollSpeed:f,panOnScrollMode:g,zoomOnDoubleClick:h,panOnDrag:i,zoomActivationKeyPressed:F,preventScrolling:p,noPanClassName:t,userSelectionActive:C,noWheelClassName:s,lib:D,onTransformChange:H,connectionInProgress:E,selectionOnDrag:y,paneClickDistance:x})},[a,b,c,d,e,f,g,h,i,F,p,t,C,s,D,H,E,y,x]),(0,r.jsx)("div",{className:"react-flow__renderer",ref:B,style:cR,children:q})}let cU=a=>({userSelectionActive:a.userSelectionActive,userSelectionRect:a.userSelectionRect});function cV(){let{userSelectionActive:a,userSelectionRect:b}=b8(cU,b3);return a&&b?(0,r.jsx)("div",{className:"react-flow__selection react-flow__container",style:{width:b.width,height:b.height,transform:`translate(${b.x}px, ${b.y}px)`}}):null}let cW=(a,b)=>c=>{c.target===b.current&&a?.(c)},cX=a=>({userSelectionActive:a.userSelectionActive,elementsSelectable:a.elementsSelectable,dragging:a.paneDragging,panBy:a.panBy,autoPanSpeed:a.autoPanSpeed});function cY({isSelecting:a,selectionKeyPressed:b,selectionMode:c=l.Full,panOnDrag:d,autoPanOnSelection:e,paneClickDistance:f,selectionOnDrag:g,onSelectionStart:h,onSelectionEnd:i,onPaneClick:j,onPaneContextMenu:k,onPaneScroll:m,onPaneMouseEnter:n,onPaneMouseMove:o,onPaneMouseLeave:p,children:q}){let s=(0,u.useRef)(0),t=b9(),{userSelectionActive:v,elementsSelectable:w,dragging:x,panBy:y,autoPanSpeed:z}=b8(cX,b3),A=w&&(a||v),B=(0,u.useRef)(null),C=(0,u.useRef)(),D=(0,u.useRef)(new Set),E=(0,u.useRef)(new Set),F=(0,u.useRef)(!1),G=(0,u.useRef)(!1),H=(0,u.useRef)({x:0,y:0}),I=(0,u.useRef)(!1),J=a=>{if(G.current||F.current||t.getState().connection.inProgress){G.current=!1,F.current=!1;return}j?.(a),t.getState().resetSelectedElements(),t.setState({nodesSelectionActive:!1})};function K(a,b){let{userSelectionRect:d}=t.getState();if(!d)return;let{transform:e,nodeLookup:f,edgeLookup:g,connectionLookup:h,triggerNodeChanges:i,triggerEdgeChanges:j,defaultEdgeOptions:k}=t.getState(),m={x:d.startX,y:d.startY},{x:n,y:o}=aZ(m,e),p={startX:m.x,startY:m.y,x:a<n?a:n,y:b<o?b:o,width:Math.abs(a-n),height:Math.abs(b-o)},q=D.current,r=E.current;D.current=new Set(aD(f,p,e,c===l.Partial,!0).map(a=>a.id)),E.current=new Set;let s=k?.selectable??!0;for(let a of D.current){let b=h.get(a);if(b)for(let{edgeId:a}of b.values()){let b=g.get(a);b&&(b.selectable??s)&&E.current.add(a)}}a5(q,D.current)||i(cD(f,D.current,!0)),a5(r,E.current)||j(cD(g,E.current)),t.setState({userSelectionRect:p,userSelectionActive:!0,nodesSelectionActive:!1})}let L=()=>{cancelAnimationFrame(s.current),s.current=0,I.current=!1};(0,u.useEffect)(()=>()=>L(),[]);let M=!0===d||Array.isArray(d)&&d.includes(0);return(0,r.jsxs)("div",{className:ac(["react-flow__pane",{draggable:M,dragging:x,selection:a}]),onClick:A?void 0:cW(J,B),onContextMenu:cW(a=>{Array.isArray(d)&&d?.includes(2)?a.preventDefault():k?.(a)},B),onWheel:cW(m?a=>m(a):void 0,B),onPointerEnter:A?void 0:n,onPointerMove:A?a=>{let{userSelectionRect:c,transform:d,resetSelectedElements:g}=t.getState();if(!C.current||!c)return;let{x:i,y:j}=bc(a.nativeEvent,C.current);H.current={x:i,y:j};let k=aZ({x:c.startX,y:c.startY},d);if(!G.current){if(Math.hypot(i-k.x,j-k.y)<=(b?0:f))return;g(),h?.(a)}G.current=!0,I.current||(!function a(){if(!e||!C.current)return;let[b,c]=aL(H.current,C.current,z);y({x:b,y:c}).then(b=>{if(!G.current||!b){s.current=requestAnimationFrame(a);return}let{x:c,y:d}=H.current;K(c,d),s.current=requestAnimationFrame(a)})}(),I.current=!0),K(i,j)}:o,onPointerUp:a=>{if(!A){a.target===B.current&&t.getState().connection.inProgress&&(F.current=!0);return}0===a.button&&(a.target?.releasePointerCapture?.(a.pointerId),!v&&a.target===B.current&&t.getState().userSelectionRect&&J?.(a),t.setState({userSelectionActive:!1,userSelectionRect:null}),G.current&&(i?.(a),t.setState({nodesSelectionActive:D.current.size>0})),L())},onPointerCancel:A?a=>{a.target?.releasePointerCapture?.(a.pointerId),L()}:void 0,onPointerDownCapture:A?c=>{if("touch"===c.pointerType&&!1!==d&&!b)return;let{domNode:e,transform:f}=t.getState();if(C.current=e?.getBoundingClientRect(),!C.current)return;let h=c.target===B.current;if(!h&&c.target.closest(".nokey")||!a||!(g&&h||b)||0!==c.button||!c.isPrimary)return;c.target?.setPointerCapture?.(c.pointerId),G.current=!1;let{x:i,y:j}=bc(c.nativeEvent,C.current),k=aY({x:i,y:j},f);t.setState({userSelectionRect:{width:0,height:0,startX:k.x,startY:k.y,x:i,y:j}}),h||(c.stopPropagation(),c.preventDefault())}:void 0,onClickCapture:A?a=>{G.current&&(a.stopPropagation(),G.current=!1)}:void 0,onPointerLeave:p,ref:B,style:cR,children:[q,(0,r.jsx)(cV,{})]})}function cZ({id:a,store:b,unselect:c=!1,nodeRef:d}){let e,{addSelectedNodes:f,unselectNodesAndEdges:g,multiSelectionActive:h,nodeLookup:i,onError:j}=b.getState(),k=i.get(a);k?(b.setState({nodesSelectionActive:!1}),k.selected?(c||k.selected&&h)&&(g({nodes:[k],edges:[]}),requestAnimationFrame(()=>d?.current?.blur())):f([a])):j?.("012",(e=a,`Node with id "${e}" does not exist, it may have been removed. This can happen when a node is deleted before the "onNodeClick" handler is called.`))}function c$({nodeRef:a,disabled:b=!1,noDragClassName:c,handleSelector:d,nodeId:e,isSelectable:f,nodeClickDistance:g}){let h=b9(),[i,j]=(0,u.useState)(!1),k=(0,u.useRef)();return(0,u.useEffect)(()=>{if(!b)return k.current=function({onNodeMouseDown:a,getStoreItems:b,onDragStart:c,onDrag:d,onDragStop:e}){let f={x:null,y:null},g=0,h=new Map,i=!1,j={x:0,y:0},k=null,l=!1,m=null,n=!1,o=!1,p=null;return{update:function({noDragClassName:q,handleSelector:r,domNode:s,isSelectable:t,nodeId:u,nodeClickDistance:v=0}){function w({x:a,y:c}){let{nodeLookup:e,nodeExtent:g,snapGrid:i,snapToGrid:j,nodeOrigin:k,onNodeDrag:l,onSelectionDrag:m,onError:n,updateNodePositions:q}=b();f={x:a,y:c};let r=!1,s=h.size>1,t=s&&g?aN(aC(h)):null,v=s&&j?function({dragItems:a,snapGrid:b,x:c,y:d}){let e=a.values().next().value;if(!e)return null;let f={x:c-e.distance.x,y:d-e.distance.y},g=aX(f,b);return{x:g.x-f.x,y:g.y-f.y}}({dragItems:h,snapGrid:i,x:a,y:c}):null;for(let[b,d]of h){if(!e.has(b))continue;let f={x:a-d.distance.x,y:c-d.distance.y};j&&(f=v?{x:Math.round(f.x+v.x),y:Math.round(f.y+v.y)}:aX(f,i));let h=null;if(s&&g&&!d.extent&&t){let{positionAbsolute:a}=d.internals,b=a.x-t.x+g[0][0],c=a.x+d.measured.width-t.x2+g[1][0];h=[[b,a.y-t.y+g[0][1]],[c,a.y+d.measured.height-t.y2+g[1][1]]]}let{position:l,positionAbsolute:m}=aF({nodeId:b,nextPosition:f,nodeLookup:e,nodeExtent:h||g,nodeOrigin:k,onError:n});r=r||d.position.x!==l.x||d.position.y!==l.y,d.position=l,d.internals.positionAbsolute=m}if(o=o||r,r&&(q(h,!0),p&&(d||l||!u&&m))){let[a,b]=bF({nodeId:u,dragItems:h,nodeLookup:e});d?.(p,h,a,b),l?.(p,a,b),u||m?.(p,b)}}async function x(){if(!k)return;let{transform:a,panBy:c,autoPanSpeed:d,autoPanOnNodeDrag:e}=b();if(!e){i=!1,cancelAnimationFrame(g);return}let[h,l]=aL(j,k,d);(0!==h||0!==l)&&(f.x=(f.x??0)-h/a[2],f.y=(f.y??0)-l/a[2],await c({x:h,y:l})&&w(f)),g=requestAnimationFrame(x)}function y(d){let{nodeLookup:e,multiSelectionActive:g,nodesDraggable:i,transform:j,snapGrid:m,snapToGrid:n,selectNodesOnDrag:o,onNodeDragStart:p,onSelectionDragStart:q,unselectNodesAndEdges:r}=b();l=!0,o&&t||g||!u||e.get(u)?.selected||r(),t&&o&&u&&a?.(u);let s=a7(d.sourceEvent,{transform:j,snapGrid:m,snapToGrid:n,containerBounds:k});if(f=s,(h=function(a,b,c,d){let e=new Map;for(let[f,g]of a)if((g.selected||g.id===d)&&(!g.parentId||!function a(b,c){if(!b.parentId)return!1;let d=c.get(b.parentId);return!!d&&(!!d.selected||a(d,c))}(g,a))&&(g.draggable||b&&void 0===g.draggable)){let b=a.get(f);b&&e.set(f,{id:f,position:b.position||{x:0,y:0},distance:{x:c.x-b.internals.positionAbsolute.x,y:c.y-b.internals.positionAbsolute.y},extent:b.extent,parentId:b.parentId,origin:b.origin,expandParent:b.expandParent,internals:{positionAbsolute:b.internals.positionAbsolute||{x:0,y:0}},measured:{width:b.measured.width??0,height:b.measured.height??0}})}return e}(e,i,s,u)).size>0&&(c||p||!u&&q)){let[a,b]=bF({nodeId:u,dragItems:h,nodeLookup:e});c?.(d.sourceEvent,h,a,b),p?.(d.sourceEvent,a,b),u||q?.(d.sourceEvent,b)}}m=(0,ae.f)(s);let z=ao().clickDistance(v).on("start",a=>{let{domNode:c,nodeDragThreshold:d,transform:e,snapGrid:g,snapToGrid:h}=b();k=c?.getBoundingClientRect()||null,n=!1,o=!1,p=a.sourceEvent,0===d&&y(a),f=a7(a.sourceEvent,{transform:e,snapGrid:g,snapToGrid:h,containerBounds:k}),j=bc(a.sourceEvent,k)}).on("drag",a=>{let{autoPanOnNodeDrag:c,transform:d,snapGrid:e,snapToGrid:g,nodeDragThreshold:m,nodeLookup:o}=b(),q=a7(a.sourceEvent,{transform:d,snapGrid:e,snapToGrid:g,containerBounds:k});if(p=a.sourceEvent,("touchmove"===a.sourceEvent.type&&a.sourceEvent.touches.length>1||u&&!o.has(u))&&(n=!0),!n){if(!i&&c&&l&&(i=!0,x()),!l){let b=bc(a.sourceEvent,k),c=b.x-j.x,d=b.y-j.y;Math.sqrt(c*c+d*d)>m&&y(a)}(f.x!==q.xSnapped||f.y!==q.ySnapped)&&h&&l&&(j=bc(a.sourceEvent,k),w(q))}}).on("end",a=>{if(!l||n){n&&h.size>0&&b().updateNodePositions(h,!1);return}if(i=!1,l=!1,cancelAnimationFrame(g),h.size>0){let{nodeLookup:c,updateNodePositions:d,onNodeDragStop:f,onSelectionDragStop:g}=b();if(o&&(d(h,!1),o=!1),e||f||!u&&g){let[b,d]=bF({nodeId:u,dragItems:h,nodeLookup:c,dragging:!1});e?.(a.sourceEvent,h,b,d),f?.(a.sourceEvent,b,d),u||g?.(a.sourceEvent,d)}}}).filter(a=>{let b=a.target;return!a.button&&(!q||!bE(b,`.${q}`,s))&&(!r||bE(b,r,s))});m.call(z)},destroy:function(){m?.on(".drag",null)}}}({getStoreItems:()=>h.getState(),onNodeMouseDown:b=>{cZ({id:b,store:h,nodeRef:a})},onDragStart:()=>{j(!0)},onDragStop:()=>{j(!1)}}),()=>{k.current?.destroy(),k.current=void 0}},[b,h,a]),(0,u.useEffect)(()=>{!b&&a.current&&k.current&&k.current.update({noDragClassName:c,handleSelector:d,domNode:a.current,isSelectable:f,nodeId:e,nodeClickDistance:g})},[c,d,b,f,a,e,g]),i}function c_(){let a=b9();return(0,u.useCallback)(b=>{let{nodeExtent:c,snapToGrid:d,snapGrid:e,nodesDraggable:f,onError:g,updateNodePositions:h,nodeLookup:i,nodeOrigin:j}=a.getState(),k=new Map,l=a=>a.selected&&(a.draggable||f&&void 0===a.draggable),m=d?e[0]:5,n=d?e[1]:5,o=b.direction.x*m*b.factor,p=b.direction.y*n*b.factor;for(let[,a]of i){if(!l(a))continue;let b={x:a.internals.positionAbsolute.x+o,y:a.internals.positionAbsolute.y+p};d&&(b=aX(b,e));let{position:f,positionAbsolute:h}=aF({nodeId:a.id,nextPosition:b,nodeLookup:i,nodeExtent:c,nodeOrigin:j,onError:g});a.position=f,a.internals.positionAbsolute=h,k.set(a.id,a)}h(k)},[])}let c0=(0,u.createContext)(null),c1=c0.Provider;c0.Consumer;let c2=()=>(0,u.useContext)(c0),c3=a=>({connectOnClick:a.connectOnClick,noPanClassName:a.noPanClassName,rfId:a.rfId}),c4=(0,u.createContext)(null);function c5({children:a}){let b=b8(c3,b3);return(0,r.jsx)(c4.Provider,{value:b,children:a})}let c6={connectingFrom:!1,connectingTo:!1,clickConnecting:!1,isPossibleEndHandle:!0,connectionInProcess:!1,clickConnectionInProcess:!1,valid:!1},c7=(0,u.memo)(cI(function({type:a="source",position:b=o.Top,isValidConnection:c,isConnectable:d=!0,isConnectableStart:e=!0,isConnectableEnd:f=!0,id:g,onConnect:h,children:i,className:k,onMouseDown:l,onTouchStart:m,...n},p){let q=g||null,s="target"===a,t=b9(),v=c2(),{connectOnClick:w,noPanClassName:x,rfId:y}=function(){let a=(0,u.useContext)(c4);if(!a)throw Error("useHandleConfig must be used within a HandleConfigProvider");return a}(),{connectingFrom:z,connectingTo:A,clickConnecting:B,isPossibleEndHandle:C,connectionInProcess:D,clickConnectionInProcess:E,valid:F}=b8(b=>{let{connectionClickStartHandle:c,connectionMode:d,connection:e}=b,{fromHandle:f,toHandle:g,isValid:h}=e;if(!f&&!c)return c6;let i=g?.nodeId===v&&g?.id===q&&g?.type===a;return{connectingFrom:f?.nodeId===v&&f?.id===q&&f?.type===a,connectingTo:i,clickConnecting:c?.nodeId===v&&c?.id===q&&c?.type===a,isPossibleEndHandle:d===j.Strict?f?.type!==a:v!==f?.nodeId||q!==f?.id,connectionInProcess:!!f,clickConnectionInProcess:!!c,valid:i&&h}},b3);v||t.getState().onError?.("010","Handle: No node id found. Make sure to only use a Handle inside a custom Node.");let G=a=>{let{defaultEdgeOptions:b,onConnect:c,hasDefaultEdges:d}=t.getState(),e={...b,...a};if(d){let{edges:a,setEdges:b,onError:c}=t.getState();b(function(a,b,c={}){return((a,b,c={})=>{let d,e;if(!a.source||!a.target)return c.onError?.("006","Can't create edge. An edge needs a source and a target."),b;let f=c.getEdgeId||bj;return(e=d=az(a)?{...a}:{...a,id:f(a)},b.some(a=>a.source===e.source&&a.target===e.target&&(a.sourceHandle===e.sourceHandle||!a.sourceHandle&&!e.sourceHandle)&&(a.targetHandle===e.targetHandle||!a.targetHandle&&!e.targetHandle)))?b:(null===d.sourceHandle&&delete d.sourceHandle,null===d.targetHandle&&delete d.targetHandle,b.concat(d))})(a,b,{...c,onError:c.onError??cG})}(e,a,{onError:c}))}c?.(e),h?.(e)},H=a=>{if(!v)return;let b="clientX"in a.nativeEvent;if(e&&(b&&0===a.button||!b)){let b=t.getState();bK(a.nativeEvent,{handleDomNode:a.currentTarget,autoPanOnConnect:b.autoPanOnConnect,connectionMode:b.connectionMode,connectionRadius:b.connectionRadius,domNode:b.domNode,nodeLookup:b.nodeLookup,lib:b.lib,isTarget:s,handleId:q,nodeId:v,flowId:b.rfId,panBy:b.panBy,cancelConnection:b.cancelConnection,onConnectStart:b.onConnectStart,onConnectEnd:(...a)=>t.getState().onConnectEnd?.(...a),updateConnection:b.updateConnection,onConnect:G,isValidConnection:c||((...a)=>t.getState().isValidConnection?.(...a)??!0),getTransform:()=>t.getState().transform,getFromHandle:()=>t.getState().connection.fromHandle,autoPanSpeed:b.autoPanSpeed,dragThreshold:b.connectionDragThreshold})}b?l?.(a):m?.(a)};return(0,r.jsx)("div",{"data-handleid":q,"data-nodeid":v,"data-handlepos":b,"data-id":`${y}-${v}-${q}-${a}`,className:ac(["react-flow__handle",`react-flow__handle-${b}`,"nodrag",x,k,{source:!s,target:s,connectable:d,connectablestart:e,connectableend:f,clickconnecting:B,connectingfrom:z,connectingto:A,valid:F,connectionindicator:d&&(!D||C)&&(D||E?f:e)}]),onMouseDown:H,onTouchStart:H,onClick:w?b=>{let{onClickConnectStart:d,onClickConnectEnd:f,connectionClickStartHandle:g,connectionMode:h,isValidConnection:i,lib:j,rfId:k,nodeLookup:l,connection:m}=t.getState();if(!v||!g&&!e)return;if(!g){d?.(b.nativeEvent,{nodeId:v,handleId:q,handleType:a}),t.setState({connectionClickStartHandle:{nodeId:v,type:a,id:q}});return}let n=a9(b.target),o=c||i,{connection:p,isValid:r}=bJ(b.nativeEvent,{handle:{nodeId:v,id:q,type:a},connectionMode:h,fromNodeId:g.nodeId,fromHandleId:g.id||null,fromType:g.type,isValidConnection:o,flowId:k,doc:n,lib:j,nodeLookup:l});r&&p&&G(p);let s=structuredClone(m);delete s.inProgress,s.toPosition=s.toHandle?s.toHandle.position:null,f?.(b,s),t.setState({connectionClickStartHandle:null})}:void 0,ref:p,...n,children:i})})),c8={ArrowUp:{x:0,y:-1},ArrowDown:{x:0,y:1},ArrowLeft:{x:-1,y:0},ArrowRight:{x:1,y:0}},c9={input:function({data:a,isConnectable:b,sourcePosition:c=o.Bottom}){return(0,r.jsxs)(r.Fragment,{children:[a?.label,(0,r.jsx)(c7,{type:"source",position:c,isConnectable:b})]})},default:function({data:a,isConnectable:b,targetPosition:c=o.Top,sourcePosition:d=o.Bottom}){return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(c7,{type:"target",position:c,isConnectable:b}),a?.label,(0,r.jsx)(c7,{type:"source",position:d,isConnectable:b})]})},output:function({data:a,isConnectable:b,targetPosition:c=o.Top}){return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(c7,{type:"target",position:c,isConnectable:b}),a?.label]})},group:function(){return null}},da=a=>{let{width:b,height:c,x:d,y:e}=aC(a.nodeLookup,{filter:a=>!!a.selected});return{width:aV(b)?b:null,height:aV(c)?c:null,userSelectionActive:a.userSelectionActive,transformString:`translate(${a.transform[0]}px,${a.transform[1]}px) scale(${a.transform[2]}) translate(${d}px,${e}px)`}};function db({onSelectionContextMenu:a,noPanClassName:b,disableKeyboardA11y:c}){let d=b9(),{width:e,height:f,transformString:g,userSelectionActive:h}=b8(da,b3),i=c_(),j=(0,u.useRef)(null);(0,u.useEffect)(()=>{c||j.current?.focus({preventScroll:!0})},[c]);let k=!h&&null!==e&&null!==f;if(c$({nodeRef:j,disabled:!k}),!k)return null;let l=a?b=>{a(b,d.getState().nodes.filter(a=>a.selected))}:void 0;return(0,r.jsx)("div",{className:ac(["react-flow__nodesselection","react-flow__container",b]),style:{transform:g},children:(0,r.jsx)("div",{ref:j,className:"react-flow__nodesselection-rect",onContextMenu:l,tabIndex:c?void 0:-1,onKeyDown:c?void 0:a=>{Object.prototype.hasOwnProperty.call(c8,a.key)&&(a.preventDefault(),i({direction:c8[a.key],factor:a.shiftKey?4:1}))},style:{width:e,height:f}})})}let dc,dd=a=>({nodesSelectionActive:a.nodesSelectionActive,userSelectionActive:a.userSelectionActive});function de({children:a,onPaneClick:b,onPaneMouseEnter:c,onPaneMouseMove:d,onPaneMouseLeave:e,onPaneContextMenu:f,onPaneScroll:g,paneClickDistance:h,deleteKeyCode:i,selectionKeyCode:j,selectionOnDrag:k,selectionMode:l,onSelectionStart:m,onSelectionEnd:n,multiSelectionKeyCode:o,panActivationKeyCode:p,zoomActivationKeyCode:q,elementsSelectable:s,zoomOnScroll:t,zoomOnPinch:v,panOnScroll:w,panOnScrollSpeed:x,panOnScrollMode:y,zoomOnDoubleClick:z,panOnDrag:A,autoPanOnSelection:B,defaultViewport:C,translateExtent:D,minZoom:E,maxZoom:F,preventScrolling:G,onSelectionContextMenu:H,noWheelClassName:I,noPanClassName:J,disableKeyboardA11y:K,onViewportChange:L,isControlledViewport:M}){let{nodesSelectionActive:N,userSelectionActive:O}=b8(dd,b3),P=cy(j,{target:dc}),Q=cy(p,{target:dc}),R=Q||A,S=Q||w,T=k&&!0!==R,U=P||O||T;return!function({deleteKeyCode:a,multiSelectionKeyCode:b}){let c=b9(),{deleteElements:d}=cO(),e=cy(a,{actInsideInputWithModifier:!1}),f=cy(b,{target:cQ});(0,u.useEffect)(()=>{if(e){let{edges:a,nodes:b}=c.getState();d({nodes:b.filter(cP),edges:a.filter(cP)}),c.setState({nodesSelectionActive:!1})}},[e]),(0,u.useEffect)(()=>{c.setState({multiSelectionActive:f})},[f])}({deleteKeyCode:i,multiSelectionKeyCode:o}),(0,r.jsx)(cT,{onPaneContextMenu:f,elementsSelectable:s,zoomOnScroll:t,zoomOnPinch:v,panOnScroll:S,panActivationKeyPressed:Q,panOnScrollSpeed:x,panOnScrollMode:y,zoomOnDoubleClick:z,panOnDrag:!P&&R,defaultViewport:C,translateExtent:D,minZoom:E,maxZoom:F,zoomActivationKeyCode:q,preventScrolling:G,noWheelClassName:I,noPanClassName:J,onViewportChange:L,isControlledViewport:M,paneClickDistance:h,selectionOnDrag:T,children:(0,r.jsxs)(cY,{onSelectionStart:m,onSelectionEnd:n,onPaneClick:b,onPaneMouseEnter:c,onPaneMouseMove:d,onPaneMouseLeave:e,onPaneContextMenu:f,onPaneScroll:g,panOnDrag:R,autoPanOnSelection:B,isSelecting:!!U,selectionMode:l,selectionKeyPressed:P,paneClickDistance:h,selectionOnDrag:T,children:[a,N&&(0,r.jsx)(db,{onSelectionContextMenu:H,noPanClassName:J,disableKeyboardA11y:K})]})})}de.displayName="FlowRenderer";let df=(0,u.memo)(de),dg=a=>a.updateNodeInternals;var dh=(0,u.memo)(function({id:a,onClick:b,onMouseEnter:c,onMouseMove:d,onMouseLeave:e,onContextMenu:f,onDoubleClick:g,nodesDraggable:h,elementsSelectable:i,nodesConnectable:j,nodesFocusable:k,resizeObserver:l,noDragClassName:m,noPanClassName:n,disableKeyboardA11y:o,rfId:p,nodeTypes:q,nodeClickDistance:s,onError:t}){let v,{node:w,internals:x,isParent:y}=b8(b=>{let c=b.nodeLookup.get(a),d=b.parentLookup.has(a);return{node:c,internals:c.internals,isParent:d}},b3),z=w.type||"default",A=q?.[z]||c9[z];void 0===A&&(t?.("003",(v=z,`Node type "${v}" not found. Using fallback type "default".`)),z="default",A=q?.default||c9.default);let B=!!(w.draggable||h&&void 0===w.draggable),C=!!(w.selectable||i&&void 0===w.selectable),D=!!(w.connectable||j&&void 0===w.connectable),E=!!(w.focusable||k&&void 0===w.focusable),F=b9(),G=a3(w),H=function({node:a,nodeType:b,hasDimensions:c,resizeObserver:d}){let e=b9(),f=(0,u.useRef)(null),g=(0,u.useRef)(null),h=(0,u.useRef)(a.sourcePosition),i=(0,u.useRef)(a.targetPosition),j=(0,u.useRef)(b),k=c&&!!a.internals.handleBounds;return(0,u.useEffect)(()=>{!f.current||a.hidden||k&&g.current===f.current||(g.current&&d?.unobserve(g.current),d?.observe(f.current),g.current=f.current)},[k,a.hidden]),(0,u.useEffect)(()=>()=>{g.current&&(d?.unobserve(g.current),g.current=null)},[]),(0,u.useEffect)(()=>{if(f.current){let c=j.current!==b,d=h.current!==a.sourcePosition,g=i.current!==a.targetPosition;(c||d||g)&&(j.current=b,h.current=a.sourcePosition,i.current=a.targetPosition,e.getState().updateNodeInternals(new Map([[a.id,{id:a.id,nodeElement:f.current,force:!0}]])))}},[a.id,b,a.sourcePosition,a.targetPosition]),f}({node:w,nodeType:z,hasDimensions:G,resizeObserver:l}),I=c$({nodeRef:H,disabled:w.hidden||!B,noDragClassName:m,handleSelector:w.dragHandle,nodeId:a,isSelectable:C,nodeClickDistance:s}),J=c_();if(w.hidden)return null;let K=a2(w),L=void 0===w.internals.handleBounds?{width:w.width??w.initialWidth??w.style?.width,height:w.height??w.initialHeight??w.style?.height}:{width:w.width??w.style?.width,height:w.height??w.style?.height},M=C||B||b||c||d||e,N=c?a=>c(a,{...x.userNode}):void 0,O=d?a=>d(a,{...x.userNode}):void 0,P=e?a=>e(a,{...x.userNode}):void 0,Q=f?a=>f(a,{...x.userNode}):void 0,R=g?a=>g(a,{...x.userNode}):void 0;return(0,r.jsx)("div",{className:ac(["react-flow__node",`react-flow__node-${z}`,{[n]:B},w.className,{selected:w.selected,selectable:C,parent:y,draggable:B,dragging:I}]),ref:H,style:{zIndex:x.z,transform:`translate(${x.positionAbsolute.x}px,${x.positionAbsolute.y}px)`,pointerEvents:M?"all":"none",visibility:G?"visible":"hidden",...w.style,...L},"data-id":a,"data-testid":`rf__node-${a}`,onMouseEnter:N,onMouseMove:O,onMouseLeave:P,onContextMenu:Q,onClick:c=>{let{selectNodesOnDrag:d,nodeDragThreshold:e}=F.getState();C&&(!d||!B||e>0)&&cZ({id:a,store:F,nodeRef:H}),b&&b(c,{...x.userNode})},onDoubleClick:R,onKeyDown:E?b=>{if(!bb(b.nativeEvent)&&!o){if(av.includes(b.key)&&C)cZ({id:a,store:F,unselect:"Escape"===b.key,nodeRef:H});else if(B&&w.selected&&Object.prototype.hasOwnProperty.call(c8,b.key)){b.preventDefault();let{ariaLabelConfig:a}=F.getState();F.setState({ariaLiveMessage:a["node.a11yDescription.ariaLiveMessage"]({direction:b.key.replace("Arrow","").toLowerCase(),x:~~x.positionAbsolute.x,y:~~x.positionAbsolute.y})}),J({direction:c8[b.key],factor:b.shiftKey?4:1})}}}:void 0,tabIndex:E?0:void 0,onFocus:E?()=>{if(o||!H.current?.matches(":focus-visible"))return;let{transform:b,width:c,height:d,autoPanOnNodeFocus:e,setCenter:f}=F.getState();!e||aD(new Map([[a,w]]),{x:0,y:0,width:c,height:d},b,!0).length>0||f(w.position.x+K.width/2,w.position.y+K.height/2,{zoom:b[2]})}:void 0,role:w.ariaRole??(E?"group":void 0),"aria-roledescription":"node","aria-describedby":o?void 0:`${cc}-${p}`,"aria-label":w.ariaLabel,...w.domAttributes,children:(0,r.jsx)(c1,{value:a,children:(0,r.jsx)(A,{id:a,data:w.data,type:z,positionAbsoluteX:x.positionAbsolute.x,positionAbsoluteY:x.positionAbsolute.y,selected:w.selected??!1,selectable:C,draggable:B,deletable:w.deletable??!0,isConnectable:D,sourcePosition:w.sourcePosition,targetPosition:w.targetPosition,dragging:I,dragHandle:w.dragHandle,zIndex:x.z,parentId:w.parentId,...K})})})});let di=a=>({nodesConnectable:a.nodesConnectable,nodesFocusable:a.nodesFocusable,elementsSelectable:a.elementsSelectable,onError:a.onError});function dj(a){var b;let{nodesConnectable:c,nodesFocusable:d,elementsSelectable:e,onError:f}=b8(di,b3),g=(b=a.onlyRenderVisibleElements,b8((0,u.useCallback)(a=>b?aD(a.nodeLookup,{x:0,y:0,width:a.width,height:a.height},a.transform,!0).map(a=>a.id):Array.from(a.nodeLookup.keys()),[b]),b3)),h=function(){let a=b8(dg),[b]=(0,u.useState)(()=>"u"<typeof ResizeObserver?null:new ResizeObserver(b=>{let c=new Map;b.forEach(a=>{let b=a.target.getAttribute("data-id");c.set(b,{id:b,nodeElement:a.target,force:!0})}),a(c)}));return(0,u.useEffect)(()=>()=>{b?.disconnect()},[b]),b}();return(0,r.jsx)("div",{className:"react-flow__nodes",style:cR,children:g.map(b=>(0,r.jsx)(dh,{id:b,nodeTypes:a.nodeTypes,nodeExtent:a.nodeExtent,onClick:a.onNodeClick,onMouseEnter:a.onNodeMouseEnter,onMouseMove:a.onNodeMouseMove,onMouseLeave:a.onNodeMouseLeave,onContextMenu:a.onNodeContextMenu,onDoubleClick:a.onNodeDoubleClick,noDragClassName:a.noDragClassName,noPanClassName:a.noPanClassName,rfId:a.rfId,disableKeyboardA11y:a.disableKeyboardA11y,resizeObserver:h,nodesDraggable:a.nodesDraggable??!0,nodesConnectable:c,nodesFocusable:d,elementsSelectable:e,nodeClickDistance:a.nodeClickDistance,onError:f},b))})}dj.displayName="NodeRenderer";let dk=(0,u.memo)(dj),dl={[n.Arrow]:({color:a="none",strokeWidth:b=1})=>{let c={strokeWidth:b,...a&&{stroke:a}};return(0,r.jsx)("polyline",{className:"arrow",style:c,strokeLinecap:"round",fill:"none",strokeLinejoin:"round",points:"-5,-4 0,0 -5,4"})},[n.ArrowClosed]:({color:a="none",strokeWidth:b=1})=>{let c={strokeWidth:b,...a&&{stroke:a,fill:a}};return(0,r.jsx)("polyline",{className:"arrowclosed",style:c,strokeLinecap:"round",strokeLinejoin:"round",points:"-5,-4 0,0 -5,4 -5,-4"})}},dm=({id:a,type:b,color:c,width:d=12.5,height:e=12.5,markerUnits:f="strokeWidth",strokeWidth:g,orient:h="auto-start-reverse"})=>{let i,j=(i=b9(),(0,u.useMemo)(()=>{let a;return Object.prototype.hasOwnProperty.call(dl,b)?dl[b]:(i.getState().onError?.("009",(a=b,`Marker type "${a}" doesn't exist.`)),null)},[b]));return j?(0,r.jsx)("marker",{className:"react-flow__arrowhead",id:a,markerWidth:`${d}`,markerHeight:`${e}`,viewBox:"-10 -10 20 20",markerUnits:f,orient:h,refX:"0",refY:"0",children:(0,r.jsx)(j,{color:c,strokeWidth:g})}):null},dn=({defaultColor:a,rfId:b})=>{let c=b8(a=>a.edges),d=b8(a=>a.defaultEdgeOptions),e=(0,u.useMemo)(()=>(function(a,{id:b,defaultColor:c,defaultMarkerStart:d,defaultMarkerEnd:e}){let f=new Set;return a.reduce((a,g)=>([g.markerStart||d,g.markerEnd||e].forEach(d=>{if(d&&"object"==typeof d){let e=bs(d,b);f.has(e)||(a.push({id:e,color:d.color||c,...d}),f.add(e))}}),a),[]).sort((a,b)=>a.id.localeCompare(b.id))})(c,{id:b,defaultColor:a,defaultMarkerStart:d?.markerStart,defaultMarkerEnd:d?.markerEnd}),[c,d,b,a]);return e.length?(0,r.jsx)("svg",{className:"react-flow__marker","aria-hidden":"true",children:(0,r.jsx)("defs",{children:e.map(a=>(0,r.jsx)(dm,{id:a.id,type:a.type,color:a.color,width:a.width,height:a.height,markerUnits:a.markerUnits,strokeWidth:a.strokeWidth,orient:a.orient},a.id))})}):null};dn.displayName="MarkerDefinitions";var dp=(0,u.memo)(dn);function dq({x:a,y:b,label:c,labelStyle:d,labelShowBg:e=!0,labelBgStyle:f,labelBgPadding:g=[2,4],labelBgBorderRadius:h=2,children:i,className:j,...k}){let[l,m]=(0,u.useState)({x:1,y:0,width:0,height:0}),n=ac(["react-flow__edge-textwrapper",j]),o=(0,u.useRef)(null);return((0,u.useEffect)(()=>{if(o.current){let a=o.current.getBBox();m({x:a.x,y:a.y,width:a.width,height:a.height})}},[c]),c)?(0,r.jsxs)("g",{transform:`translate(${a-l.width/2} ${b-l.height/2})`,className:n,visibility:l.width?"visible":"hidden",...k,children:[e&&(0,r.jsx)("rect",{width:l.width+2*g[0],x:-g[0],y:-g[1],height:l.height+2*g[1],className:"react-flow__edge-textbg",style:f,rx:h,ry:h}),(0,r.jsx)("text",{className:"react-flow__edge-text",y:l.height/2,dy:"0.3em",ref:o,style:d,children:c}),i]}):null}dq.displayName="EdgeText";let dr=(0,u.memo)(dq);function ds({path:a,labelX:b,labelY:c,label:d,labelStyle:e,labelShowBg:f,labelBgStyle:g,labelBgPadding:h,labelBgBorderRadius:i,interactionWidth:j=20,...k}){return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)("path",{...k,d:a,fill:"none",className:ac(["react-flow__edge-path",k.className])}),j?(0,r.jsx)("path",{d:a,fill:"none",strokeOpacity:0,strokeWidth:j,className:"react-flow__edge-interaction"}):null,d&&aV(b)&&aV(c)?(0,r.jsx)(dr,{x:b,y:c,label:d,labelStyle:e,labelShowBg:f,labelBgStyle:g,labelBgPadding:h,labelBgBorderRadius:i}):null]})}function dt({pos:a,x1:b,y1:c,x2:d,y2:e}){return a===o.Left||a===o.Right?[.5*(b+d),c]:[b,.5*(c+e)]}function du({sourceX:a,sourceY:b,sourcePosition:c=o.Bottom,targetX:d,targetY:e,targetPosition:f=o.Top}){let[g,h]=dt({pos:c,x1:a,y1:b,x2:d,y2:e}),[i,j]=dt({pos:f,x1:d,y1:e,x2:a,y2:b}),[k,l,m,n]=be({sourceX:a,sourceY:b,targetX:d,targetY:e,sourceControlX:g,sourceControlY:h,targetControlX:i,targetControlY:j});return[`M${a},${b} C${g},${h} ${i},${j} ${d},${e}`,k,l,m,n]}function dv(a){return(0,u.memo)(({id:b,sourceX:c,sourceY:d,targetX:e,targetY:f,sourcePosition:g,targetPosition:h,label:i,labelStyle:j,labelShowBg:k,labelBgStyle:l,labelBgPadding:m,labelBgBorderRadius:n,style:o,markerEnd:p,markerStart:q,interactionWidth:s})=>{let[t,u,v]=du({sourceX:c,sourceY:d,sourcePosition:g,targetX:e,targetY:f,targetPosition:h}),w=a.isInternal?void 0:b;return(0,r.jsx)(ds,{id:w,path:t,labelX:u,labelY:v,label:i,labelStyle:j,labelShowBg:k,labelBgStyle:l,labelBgPadding:m,labelBgBorderRadius:n,style:o,markerEnd:p,markerStart:q,interactionWidth:s})})}let dw=dv({isInternal:!1}),dx=dv({isInternal:!0});function dy(a){return(0,u.memo)(({id:b,sourceX:c,sourceY:d,targetX:e,targetY:f,label:g,labelStyle:h,labelShowBg:i,labelBgStyle:j,labelBgPadding:k,labelBgBorderRadius:l,style:m,sourcePosition:n=o.Bottom,targetPosition:p=o.Top,markerEnd:q,markerStart:s,pathOptions:t,interactionWidth:u})=>{let[v,w,x]=bn({sourceX:c,sourceY:d,sourcePosition:n,targetX:e,targetY:f,targetPosition:p,borderRadius:t?.borderRadius,offset:t?.offset,stepPosition:t?.stepPosition}),y=a.isInternal?void 0:b;return(0,r.jsx)(ds,{id:y,path:v,labelX:w,labelY:x,label:g,labelStyle:h,labelShowBg:i,labelBgStyle:j,labelBgPadding:k,labelBgBorderRadius:l,style:m,markerEnd:q,markerStart:s,interactionWidth:u})})}dw.displayName="SimpleBezierEdge",dx.displayName="SimpleBezierEdgeInternal";let dz=dy({isInternal:!1}),dA=dy({isInternal:!0});function dB(a){return(0,u.memo)(({id:b,...c})=>{let d=a.isInternal?void 0:b;return(0,r.jsx)(dz,{...c,id:d,pathOptions:(0,u.useMemo)(()=>({borderRadius:0,offset:c.pathOptions?.offset}),[c.pathOptions?.offset])})})}dz.displayName="SmoothStepEdge",dA.displayName="SmoothStepEdgeInternal";let dC=dB({isInternal:!1}),dD=dB({isInternal:!0});function dE(a){return(0,u.memo)(({id:b,sourceX:c,sourceY:d,targetX:e,targetY:f,label:g,labelStyle:h,labelShowBg:i,labelBgStyle:j,labelBgPadding:k,labelBgBorderRadius:l,style:m,markerEnd:n,markerStart:o,interactionWidth:p})=>{let[q,s,t]=bk({sourceX:c,sourceY:d,targetX:e,targetY:f}),u=a.isInternal?void 0:b;return(0,r.jsx)(ds,{id:u,path:q,labelX:s,labelY:t,label:g,labelStyle:h,labelShowBg:i,labelBgStyle:j,labelBgPadding:k,labelBgBorderRadius:l,style:m,markerEnd:n,markerStart:o,interactionWidth:p})})}dC.displayName="StepEdge",dD.displayName="StepEdgeInternal";let dF=dE({isInternal:!1}),dG=dE({isInternal:!0});function dH(a){return(0,u.memo)(({id:b,sourceX:c,sourceY:d,targetX:e,targetY:f,sourcePosition:g=o.Bottom,targetPosition:h=o.Top,label:i,labelStyle:j,labelShowBg:k,labelBgStyle:l,labelBgPadding:m,labelBgBorderRadius:n,style:p,markerEnd:q,markerStart:s,pathOptions:t,interactionWidth:u})=>{let[v,w,x]=bh({sourceX:c,sourceY:d,sourcePosition:g,targetX:e,targetY:f,targetPosition:h,curvature:t?.curvature}),y=a.isInternal?void 0:b;return(0,r.jsx)(ds,{id:y,path:v,labelX:w,labelY:x,label:i,labelStyle:j,labelShowBg:k,labelBgStyle:l,labelBgPadding:m,labelBgBorderRadius:n,style:p,markerEnd:q,markerStart:s,interactionWidth:u})})}dF.displayName="StraightEdge",dG.displayName="StraightEdgeInternal";let dI=dH({isInternal:!1}),dJ=dH({isInternal:!0});dI.displayName="BezierEdge",dJ.displayName="BezierEdgeInternal";let dK={default:dJ,straight:dG,step:dD,smoothstep:dA,simplebezier:dx},dL={sourceX:null,sourceY:null,targetX:null,targetY:null,sourcePosition:null,targetPosition:null,zIndex:void 0},dM="react-flow__edgeupdater";function dN({position:a,centerX:b,centerY:c,radius:d=10,onMouseDown:e,onMouseEnter:f,onMouseOut:g,type:h}){return(0,r.jsx)("circle",{onMouseDown:e,onMouseEnter:f,onMouseOut:g,className:ac([dM,`${dM}-${h}`]),cx:a===o.Left?b-d:a===o.Right?b+d:b,cy:a===o.Top?c-d:a===o.Bottom?c+d:c,r:d,stroke:"transparent",fill:"transparent"})}function dO({isReconnectable:a,reconnectRadius:b,edge:c,sourceX:d,sourceY:e,targetX:f,targetY:g,sourcePosition:h,targetPosition:i,onReconnect:j,onReconnectStart:k,onReconnectEnd:l,setReconnecting:m,setUpdateHover:n}){let o=b9(),p=(a,b)=>{if(0!==a.button)return;let{autoPanOnConnect:d,domNode:e,connectionMode:f,connectionRadius:g,lib:h,onConnectStart:i,cancelConnection:n,nodeLookup:p,rfId:q,panBy:r,updateConnection:s}=o.getState(),t="target"===b.type;bK(a.nativeEvent,{autoPanOnConnect:d,connectionMode:f,connectionRadius:g,domNode:e,handleId:b.id,nodeId:b.nodeId,nodeLookup:p,isTarget:t,edgeUpdaterType:b.type,lib:h,flowId:q,cancelConnection:n,panBy:r,isValidConnection:(...a)=>o.getState().isValidConnection?.(...a)??!0,onConnect:a=>j?.(c,a),onConnectStart:(d,e)=>{m(!0),k?.(a,c,b.type),i?.(d,e)},onConnectEnd:(...a)=>o.getState().onConnectEnd?.(...a),onReconnectEnd:(a,d)=>{m(!1),l?.(a,c,b.type,d)},updateConnection:s,getTransform:()=>o.getState().transform,getFromHandle:()=>o.getState().connection.fromHandle,dragThreshold:o.getState().connectionDragThreshold,handleDomNode:a.currentTarget})},q=()=>n(!0),s=()=>n(!1);return(0,r.jsxs)(r.Fragment,{children:[(!0===a||"source"===a)&&(0,r.jsx)(dN,{position:h,centerX:d,centerY:e,radius:b,onMouseDown:a=>p(a,{nodeId:c.target,id:c.targetHandle??null,type:"target"}),onMouseEnter:q,onMouseOut:s,type:"source"}),(!0===a||"target"===a)&&(0,r.jsx)(dN,{position:i,centerX:f,centerY:g,radius:b,onMouseDown:a=>p(a,{nodeId:c.source,id:c.sourceHandle??null,type:"source"}),onMouseEnter:q,onMouseOut:s,type:"target"})]})}var dP=(0,u.memo)(function({id:a,edgesFocusable:b,edgesReconnectable:c,elementsSelectable:d,onClick:e,onDoubleClick:f,onContextMenu:g,onMouseEnter:h,onMouseMove:i,onMouseLeave:k,reconnectRadius:l,onReconnect:m,onReconnectStart:n,onReconnectEnd:p,rfId:q,edgeTypes:s,noPanClassName:t,onError:v,disableKeyboardA11y:w}){let x,y=b8(b=>b.edgeLookup.get(a)),z=b8(a=>a.defaultEdgeOptions),A=(y=z?{...z,...y}:y).type||"default",B=s?.[A]||dK[A];void 0===B&&(v?.("011",(x=A,`Edge type "${x}" not found. Using fallback type "default".`)),A="default",B=s?.default||dK.default);let C=!!(y.focusable||b&&void 0===y.focusable),D=void 0!==m&&(y.reconnectable||c&&void 0===y.reconnectable),E=!!(y.selectable||d&&void 0===y.selectable),F=(0,u.useRef)(null),[G,H]=(0,u.useState)(!1),[I,J]=(0,u.useState)(!1),K=b9(),{zIndex:L=y.zIndex,sourceX:M,sourceY:N,targetX:O,targetY:P,sourcePosition:Q,targetPosition:R}=b8((0,u.useCallback)(b=>{let c=b.nodeLookup.get(y.source),d=b.nodeLookup.get(y.target);if(!c||!d)return dL;let e=function(a){let{sourceNode:b,targetNode:c}=a;if(!bo(b)||!bo(c))return null;let d=b.internals.handleBounds||bp(b.handles),e=c.internals.handleBounds||bp(c.handles),f=br(d?.source??[],a.sourceHandle),g=br(a.connectionMode===j.Strict?e?.target??[]:(e?.target??[]).concat(e?.source??[]),a.targetHandle);if(!f||!g)return a.onError?.("008",((a,{id:b,sourceHandle:c,targetHandle:d})=>`Couldn't create edge for ${a} handle id: "${"source"===a?c:d}", edge id: ${b}.`)(!f?"source":"target",{id:a.id,sourceHandle:a.sourceHandle,targetHandle:a.targetHandle})),null;let h=f?.position||o.Bottom,i=g?.position||o.Top,k=bq(b,f,h),l=bq(c,g,i);return{sourceX:k.x,sourceY:k.y,targetX:l.x,targetY:l.y,sourcePosition:h,targetPosition:i}}({id:a,sourceNode:c,targetNode:d,sourceHandle:y.sourceHandle||null,targetHandle:y.targetHandle||null,connectionMode:b.connectionMode,onError:v}),f=function({sourceNode:a,targetNode:b,selected:c=!1,zIndex:d=0,elevateOnSelect:e=!1,zIndexMode:f="basic"}){if("manual"===f)return d;let g=Math.max(a.parentId||e&&a.selected?a.internals.z:0,b.parentId||e&&b.selected?b.internals.z:0);return(e&&c?d+1e3:d)+g}({selected:y.selected,zIndex:y.zIndex,sourceNode:c,targetNode:d,elevateOnSelect:b.elevateEdgesOnSelect,zIndexMode:b.zIndexMode});return{...e||dL,zIndex:f}},[y.source,y.target,y.sourceHandle,y.targetHandle,y.selected,y.zIndex,v]),b3),S=(0,u.useMemo)(()=>y.markerStart?`url('#${bs(y.markerStart,q)}')`:void 0,[y.markerStart,q]),T=(0,u.useMemo)(()=>y.markerEnd?`url('#${bs(y.markerEnd,q)}')`:void 0,[y.markerEnd,q]);if(y.hidden||null===M||null===N||null===O||null===P)return null;let U=f?a=>{f(a,{...y})}:void 0,V=g?a=>{g(a,{...y})}:void 0,W=h?a=>{h(a,{...y})}:void 0,X=i?a=>{i(a,{...y})}:void 0,Y=k?a=>{k(a,{...y})}:void 0;return(0,r.jsx)("svg",{style:{zIndex:L},children:(0,r.jsxs)("g",{className:ac(["react-flow__edge",`react-flow__edge-${A}`,y.className,t,{selected:y.selected,animated:y.animated,inactive:!E&&!e,updating:G,selectable:E}]),onClick:b=>{let{addSelectedEdges:c,unselectNodesAndEdges:d,multiSelectionActive:f}=K.getState();E&&(K.setState({nodesSelectionActive:!1}),y.selected&&f?(d({nodes:[],edges:[y]}),F.current?.blur()):c([a])),e&&e(b,y)},onDoubleClick:U,onContextMenu:V,onMouseEnter:W,onMouseMove:X,onMouseLeave:Y,onKeyDown:C?b=>{if(!w&&av.includes(b.key)&&E){let{unselectNodesAndEdges:c,addSelectedEdges:d}=K.getState();"Escape"===b.key?(F.current?.blur(),c({edges:[y]})):d([a])}}:void 0,tabIndex:C?0:void 0,role:y.ariaRole??(C?"group":"img"),"aria-roledescription":"edge","data-id":a,"data-testid":`rf__edge-${a}`,"aria-label":null===y.ariaLabel?void 0:y.ariaLabel||`Edge from ${y.source} to ${y.target}`,"aria-describedby":C?`${cd}-${q}`:void 0,ref:F,...y.domAttributes,children:[!I&&(0,r.jsx)(B,{id:a,source:y.source,target:y.target,type:y.type,selected:y.selected,animated:y.animated,selectable:E,deletable:y.deletable??!0,label:y.label,labelStyle:y.labelStyle,labelShowBg:y.labelShowBg,labelBgStyle:y.labelBgStyle,labelBgPadding:y.labelBgPadding,labelBgBorderRadius:y.labelBgBorderRadius,sourceX:M,sourceY:N,targetX:O,targetY:P,sourcePosition:Q,targetPosition:R,data:y.data,style:y.style,sourceHandleId:y.sourceHandle,targetHandleId:y.targetHandle,markerStart:S,markerEnd:T,pathOptions:"pathOptions"in y?y.pathOptions:void 0,interactionWidth:y.interactionWidth}),D&&(0,r.jsx)(dO,{edge:y,isReconnectable:D,reconnectRadius:l,onReconnect:m,onReconnectStart:n,onReconnectEnd:p,sourceX:M,sourceY:N,targetX:O,targetY:P,sourcePosition:Q,targetPosition:R,setUpdateHover:H,setReconnecting:J})]})})});let dQ=a=>({edgesFocusable:a.edgesFocusable,edgesReconnectable:a.edgesReconnectable,elementsSelectable:a.elementsSelectable,connectionMode:a.connectionMode,onError:a.onError});function dR({defaultMarkerColor:a,onlyRenderVisibleElements:b,rfId:c,edgeTypes:d,noPanClassName:e,onReconnect:f,onEdgeContextMenu:g,onEdgeMouseEnter:h,onEdgeMouseMove:i,onEdgeMouseLeave:j,onEdgeClick:k,reconnectRadius:l,onEdgeDoubleClick:m,onReconnectStart:n,onReconnectEnd:o,disableKeyboardA11y:p}){let{edgesFocusable:q,edgesReconnectable:s,elementsSelectable:t,onError:v}=b8(dQ,b3),w=b8((0,u.useCallback)(a=>{if(!b)return a.edges.map(a=>a.id);let c=[];if(a.width&&a.height)for(let b of a.edges){let d=a.nodeLookup.get(b.source),e=a.nodeLookup.get(b.target);d&&e&&function({sourceNode:a,targetNode:b,width:c,height:d,transform:e}){let f=aM(aQ(a),aQ(b));return f.x===f.x2&&(f.x2+=1),f.y===f.y2&&(f.y2+=1),aT({x:-e[0]/e[2],y:-e[1]/e[2],width:c/e[2],height:d/e[2]},aO(f))>0}({sourceNode:d,targetNode:e,width:a.width,height:a.height,transform:a.transform})&&c.push(b.id)}return c},[b]),b3);return(0,r.jsxs)("div",{className:"react-flow__edges",children:[(0,r.jsx)(dp,{defaultColor:a,rfId:c}),w.map(a=>(0,r.jsx)(dP,{id:a,edgesFocusable:q,edgesReconnectable:s,elementsSelectable:t,noPanClassName:e,onReconnect:f,onContextMenu:g,onMouseEnter:h,onMouseMove:i,onMouseLeave:j,onClick:k,reconnectRadius:l,onDoubleClick:m,onReconnectStart:n,onReconnectEnd:o,rfId:c,onError:v,edgeTypes:d,disableKeyboardA11y:p},a))]})}dR.displayName="EdgeRenderer";let dS=(0,u.memo)(dR),dT=a=>`translate(${a[0]}px,${a[1]}px) scale(${a[2]})`;function dU({children:a}){let b=b9(),c=(0,u.useRef)(null),[d]=(0,u.useState)(()=>b.getState().transform);return cJ(()=>{let a=null,d=()=>{let d=b.getState().transform;(!a||d[0]!==a[0]||d[1]!==a[1]||d[2]!==a[2])&&(a=d,c.current&&(c.current.style.transform=dT(d)))};return d(),b.subscribe(d)},[b]),(0,r.jsx)("div",{ref:c,className:"react-flow__viewport xyflow__viewport react-flow__container",style:{transform:dT(d)},children:a})}let dV=a=>a.panZoom?.syncViewport;function dW(a){return a.connection.inProgress?{...a.connection,to:aY(a.connection.to,a.transform)}:{...a.connection}}let dX=a=>({nodesConnectable:a.nodesConnectable,isValid:a.connection.isValid,inProgress:a.connection.inProgress,width:a.width,height:a.height});function dY({containerStyle:a,style:b,type:c,component:d}){let{nodesConnectable:e,width:f,height:g,isValid:h,inProgress:i}=b8(dX,b3);return f&&e&&i?(0,r.jsx)("svg",{style:a,width:f,height:g,className:"react-flow__connectionline react-flow__container",children:(0,r.jsx)("g",{className:ac(["react-flow__connection",a6(h)]),children:(0,r.jsx)(dZ,{style:b,type:c,CustomComponent:d,isValid:h})})}):null}let dZ=({style:a,type:b=m.Bezier,CustomComponent:c,isValid:d})=>{let{inProgress:e,from:f,fromNode:g,fromHandle:h,fromPosition:i,to:j,toNode:k,toHandle:l,toPosition:n,pointer:o}=b8(dW,b3);if(!e)return;if(c)return(0,r.jsx)(c,{connectionLineType:b,connectionLineStyle:a,fromNode:g,fromHandle:h,fromX:f.x,fromY:f.y,toX:j.x,toY:j.y,fromPosition:i,toPosition:n,connectionStatus:a6(d),toNode:k,toHandle:l,pointer:o});let p="",q={sourceX:f.x,sourceY:f.y,sourcePosition:i,targetX:j.x,targetY:j.y,targetPosition:n};switch(b){case m.Bezier:[p]=bh(q);break;case m.SimpleBezier:[p]=du(q);break;case m.Step:[p]=bn({...q,borderRadius:0});break;case m.SmoothStep:[p]=bn(q);break;default:[p]=bk(q)}return(0,r.jsx)("path",{d:p,fill:"none",className:"react-flow__connection-path",style:a})};dZ.displayName="ConnectionLine";let d$={};function d_(a=d$){(0,u.useRef)(a),b9(),(0,u.useEffect)(()=>{},[a])}function d0({nodeTypes:a,edgeTypes:b,onInit:c,onNodeClick:d,onEdgeClick:e,onNodeDoubleClick:f,onEdgeDoubleClick:g,onNodeMouseEnter:h,onNodeMouseMove:i,onNodeMouseLeave:j,onNodeContextMenu:k,onSelectionContextMenu:l,onSelectionStart:m,onSelectionEnd:n,connectionLineType:o,connectionLineStyle:p,connectionLineComponent:q,connectionLineContainerStyle:s,selectionKeyCode:t,selectionOnDrag:v,selectionMode:w,multiSelectionKeyCode:x,panActivationKeyCode:y,zoomActivationKeyCode:z,deleteKeyCode:A,onlyRenderVisibleElements:B,elementsSelectable:C,defaultViewport:D,translateExtent:E,minZoom:F,maxZoom:G,preventScrolling:H,defaultMarkerColor:I,zoomOnScroll:J,zoomOnPinch:K,panOnScroll:L,panOnScrollSpeed:M,panOnScrollMode:N,zoomOnDoubleClick:O,panOnDrag:P,autoPanOnSelection:Q,onPaneClick:R,onPaneMouseEnter:S,onPaneMouseMove:T,onPaneMouseLeave:U,onPaneScroll:V,onPaneContextMenu:W,paneClickDistance:X,nodeClickDistance:Y,onEdgeContextMenu:Z,onEdgeMouseEnter:$,onEdgeMouseMove:_,onEdgeMouseLeave:aa,reconnectRadius:ab,onReconnect:ac,onReconnectStart:ad,onReconnectEnd:ae,noDragClassName:af,noWheelClassName:ag,noPanClassName:ah,disableKeyboardA11y:ai,nodeExtent:aj,rfId:ak,viewport:al,onViewportChange:am,nodesDraggable:an}){let ao,ap,aq,ar;return d_(a),d_(b),b9(),(0,u.useRef)(!1),(0,u.useEffect)(()=>{},[]),ao=cO(),ap=(0,u.useRef)(!1),(0,u.useEffect)(()=>{!ap.current&&ao.viewportInitialized&&c&&(setTimeout(()=>c(ao),1),ap.current=!0)},[c,ao.viewportInitialized]),aq=b8(dV),ar=b9(),(0,u.useEffect)(()=>{al&&(aq?.(al),ar.setState({transform:[al.x,al.y,al.zoom]}))},[al,aq]),(0,r.jsx)(df,{onPaneClick:R,onPaneMouseEnter:S,onPaneMouseMove:T,onPaneMouseLeave:U,onPaneContextMenu:W,onPaneScroll:V,paneClickDistance:X,deleteKeyCode:A,selectionKeyCode:t,selectionOnDrag:v,selectionMode:w,onSelectionStart:m,onSelectionEnd:n,multiSelectionKeyCode:x,panActivationKeyCode:y,zoomActivationKeyCode:z,elementsSelectable:C,zoomOnScroll:J,zoomOnPinch:K,zoomOnDoubleClick:O,panOnScroll:L,panOnScrollSpeed:M,panOnScrollMode:N,panOnDrag:P,autoPanOnSelection:Q,defaultViewport:D,translateExtent:E,minZoom:F,maxZoom:G,onSelectionContextMenu:l,preventScrolling:H,noDragClassName:af,noWheelClassName:ag,noPanClassName:ah,disableKeyboardA11y:ai,onViewportChange:am,isControlledViewport:!!al,children:(0,r.jsxs)(dU,{children:[(0,r.jsx)(dS,{edgeTypes:b,onEdgeClick:e,onEdgeDoubleClick:g,onReconnect:ac,onReconnectStart:ad,onReconnectEnd:ae,onlyRenderVisibleElements:B,onEdgeContextMenu:Z,onEdgeMouseEnter:$,onEdgeMouseMove:_,onEdgeMouseLeave:aa,reconnectRadius:ab,defaultMarkerColor:I,noPanClassName:ah,disableKeyboardA11y:ai,rfId:ak}),(0,r.jsx)(dY,{style:p,type:o,component:q,containerStyle:s}),(0,r.jsx)("div",{className:"react-flow__edgelabel-renderer"}),(0,r.jsx)(dk,{nodeTypes:a,onNodeClick:d,onNodeDoubleClick:f,onNodeMouseEnter:h,onNodeMouseMove:i,onNodeMouseLeave:j,onNodeContextMenu:k,nodeClickDistance:Y,onlyRenderVisibleElements:B,noPanClassName:ah,noDragClassName:af,disableKeyboardA11y:ai,nodeExtent:aj,rfId:ak,nodesDraggable:an}),(0,r.jsx)("div",{className:"react-flow__viewport-portal"})]})})}d0.displayName="GraphView";let d1=(0,u.memo)(d0),d2=aW("React Flow","https://reactflow.dev/"),d3=({nodes:a,edges:b,defaultNodes:c,defaultEdges:d,width:e,height:f,fitView:g,fitViewOptions:h,minZoom:i=.5,maxZoom:k=2,nodeOrigin:l,nodeExtent:m,zIndexMode:n="basic"}={})=>{let o=new Map,p=new Map,q=new Map,r=new Map,s=d??b??[],t=c??a??[],u=l??[0,0],v=m??au;bD(q,r,s);let{nodesInitialized:w}=bx(t,o,p,{nodeOrigin:u,nodeExtent:v,zIndexMode:n}),x=[0,0,1];if(g&&e&&f){let{x:a,y:b,zoom:c}=a_(aC(o,{filter:a=>!!((a.width||a.initialWidth)&&(a.height||a.initialHeight))}),e,f,i,k,h?.padding??.1);x=[a,b,c]}return{rfId:"1",width:e??0,height:f??0,transform:x,nodes:t,nodesInitialized:w,nodeLookup:o,parentLookup:p,edges:s,edgeLookup:r,connectionLookup:q,onNodesChange:null,onEdgesChange:null,hasDefaultNodes:void 0!==c,hasDefaultEdges:void 0!==d,panZoom:null,minZoom:i,maxZoom:k,translateExtent:au,nodeExtent:v,nodesSelectionActive:!1,userSelectionActive:!1,userSelectionRect:null,connectionMode:j.Strict,domNode:null,paneDragging:!1,noPanClassName:"nopan",nodeOrigin:u,nodeDragThreshold:1,connectionDragThreshold:1,snapGrid:[15,15],snapToGrid:!1,nodesDraggable:!0,nodesConnectable:!0,nodesFocusable:!0,edgesFocusable:!0,edgesReconnectable:!0,elementsSelectable:!0,elevateNodesOnSelect:!0,elevateEdgesOnSelect:!0,selectNodesOnDrag:!0,multiSelectionActive:!1,fitViewQueued:g??!1,fitViewOptions:h,fitViewResolver:null,connection:{...ax},connectionClickStartHandle:null,connectOnClick:!0,ariaLiveMessage:"",autoPanOnConnect:!0,autoPanOnNodeDrag:!0,autoPanOnNodeFocus:!0,autoPanSpeed:15,connectionRadius:20,onError:d2,isValidConnection:void 0,onSelectionChangeHandlers:[],lib:"react",debug:!1,ariaLabelConfig:aw,zIndexMode:n,defaultEdgeOptions:void 0,onNodesChangeMiddlewareMap:new Map,onEdgesChangeMiddlewareMap:new Map,onNodesDelete:void 0,onEdgesDelete:void 0,onDelete:void 0,onBeforeDelete:void 0,onViewportChangeStart:void 0,onViewportChange:void 0,onViewportChangeEnd:void 0,onNodeDragStart:void 0,onNodeDrag:void 0,onNodeDragStop:void 0,onSelectionDragStart:void 0,onSelectionDrag:void 0,onSelectionDragStop:void 0,onMoveStart:void 0,onMove:void 0,onMoveEnd:void 0,onConnect:void 0,onConnectStart:void 0,onConnectEnd:void 0,onClickConnectStart:void 0,onClickConnectEnd:void 0}};function d4({initialNodes:a,initialEdges:b,defaultNodes:c,defaultEdges:d,initialWidth:e,initialHeight:f,initialMinZoom:g,initialMaxZoom:h,initialFitViewOptions:i,fitView:j,nodeOrigin:k,nodeExtent:l,zIndexMode:m,children:n}){let[p]=(0,u.useState)(()=>(({nodes:a,edges:b,defaultNodes:c,defaultEdges:d,width:e,height:f,fitView:g,fitViewOptions:h,minZoom:i,maxZoom:j,nodeOrigin:k,nodeExtent:l,zIndexMode:m})=>{let n,p;return n=(n,p)=>{async function q(){let{nodeLookup:a,panZoom:b,fitViewOptions:c,fitViewResolver:d,width:e,height:f,minZoom:g,maxZoom:h}=p();b&&(await aE({nodes:a,width:e,height:f,panZoom:b,minZoom:g,maxZoom:h},c),d?.resolve(!0),n({fitViewResolver:null}))}return{...d3({nodes:a,edges:b,width:e,height:f,fitView:g,fitViewOptions:h,minZoom:i,maxZoom:j,nodeOrigin:k,nodeExtent:l,defaultNodes:c,defaultEdges:d,zIndexMode:m}),setNodes:a=>{let{nodeLookup:b,parentLookup:c,nodeOrigin:d,nodeExtent:e,elevateNodesOnSelect:f,fitViewQueued:g,zIndexMode:h,nodesSelectionActive:i}=p(),{nodesInitialized:j,hasSelectedNodes:k}=bx(a,b,c,{nodeOrigin:d,nodeExtent:e,elevateNodesOnSelect:f,checkEquality:!0,zIndexMode:h}),l=i&&k;g&&j?(q(),n({nodes:a,nodesInitialized:j,fitViewQueued:!1,fitViewOptions:void 0,nodesSelectionActive:l})):n({nodes:a,nodesInitialized:j,nodesSelectionActive:l})},setEdges:a=>{let{connectionLookup:b,edgeLookup:c}=p();bD(b,c,a),n({edges:a})},setDefaultNodesAndEdges:(a,b)=>{if(a){let{setNodes:b}=p();b(a),n({hasDefaultNodes:!0})}if(b){let{setEdges:a}=p();a(b),n({hasDefaultEdges:!0})}},updateNodeInternals:a=>{let{triggerNodeChanges:b,nodeLookup:c,parentLookup:d,domNode:e,nodeOrigin:f,nodeExtent:g,debug:h,fitViewQueued:i,zIndexMode:j}=p(),{changes:k,updatedInternals:l}=function(a,b,c,d,e,f,g){let h=d?.querySelector(".xyflow__viewport"),i=!1;if(!h)return{changes:[],updatedInternals:i};let j=[],k=window.getComputedStyle(h),{m22:l}=new window.DOMMatrixReadOnly(k.transform),m=[];for(let d of a.values()){let a=b.get(d.id);if(!a)continue;if(a.hidden){b.set(a.id,{...a,internals:{...a.internals,handleBounds:void 0}}),i=!0;continue}let h=a8(d.nodeElement),k=a.measured.width!==h.width||a.measured.height!==h.height;if(h.width&&h.height&&(k||!a.internals.handleBounds||d.force)){let n=d.nodeElement.getBoundingClientRect(),o=a1(a.extent)?a.extent:f,{positionAbsolute:p}=a.internals;if(a.parentId&&"parent"===a.extent){let c=b.get(a.parentId);c&&(p=aJ(p,h,c))}else o&&(p=aI(p,o,h));let q={...a,measured:h,internals:{...a.internals,positionAbsolute:p,handleBounds:{source:bd("source",d.nodeElement,n,l,a.id),target:bd("target",d.nodeElement,n,l,a.id)}}};b.set(a.id,q),a.parentId&&by(q,b,c,{nodeOrigin:e,zIndexMode:g}),i=!0,k&&(j.push({id:a.id,type:"dimensions",dimensions:h}),a.expandParent&&a.parentId&&m.push({id:a.id,parentId:a.parentId,rect:aP(q,e)}))}}if(m.length>0){let a=bA(m,b,c,e);j.push(...a)}return{changes:j,updatedInternals:i}}(a,c,d,e,f,g,j);l&&(!function(a,b,c){let d=bv(bt,c);for(let c of a.values())if(c.parentId)by(c,a,b,d);else{let a=aI(aB(c,d.nodeOrigin),a1(c.extent)?c.extent:d.nodeExtent,a2(c));c.internals.positionAbsolute=a}}(c,d,{nodeOrigin:f,nodeExtent:g,zIndexMode:j}),i?(q(),n({fitViewQueued:!1,fitViewOptions:void 0})):n({}),k?.length>0&&(h&&console.log("React Flow: trigger node changes",k),b?.(k)))},updateNodePositions:(a,b=!1)=>{let c=[],d=[],{nodeLookup:e,triggerNodeChanges:f,connection:g,updateConnection:h,onNodesChangeMiddlewareMap:i}=p();for(let[f,i]of a){let a=e.get(f),j=!!(a?.expandParent&&a?.parentId&&i?.position),k={id:f,type:"position",position:j?{x:Math.max(0,i.position.x),y:Math.max(0,i.position.y)}:i.position,dragging:b};if(a&&g.inProgress&&g.fromNode.id===a.id){let b=bq(a,g.fromHandle,o.Left,!0);h({...g,from:b})}j&&a.parentId&&c.push({id:f,parentId:a.parentId,rect:{...i.internals.positionAbsolute,width:i.measured.width??0,height:i.measured.height??0}}),d.push(k)}if(c.length>0){let{parentLookup:a,nodeOrigin:b}=p(),f=bA(c,e,a,b);d.push(...f)}for(let a of i.values())d=a(d);f(d)},triggerNodeChanges:a=>{let{onNodesChange:b,setNodes:c,nodes:d,hasDefaultNodes:e,debug:f}=p();a?.length&&(e&&c(cB(a,d)),f&&console.log("React Flow: trigger node changes",a),b?.(a))},triggerEdgeChanges:a=>{let{onEdgesChange:b,setEdges:c,edges:d,hasDefaultEdges:e,debug:f}=p();a?.length&&(e&&c(cB(a,d)),f&&console.log("React Flow: trigger edge changes",a),b?.(a))},addSelectedNodes:a=>{let{multiSelectionActive:b,edgeLookup:c,nodeLookup:d,triggerNodeChanges:e,triggerEdgeChanges:f}=p();b?e(a.map(a=>cC(a,!0))):(e(cD(d,new Set([...a]),!0)),f(cD(c)))},addSelectedEdges:a=>{let{multiSelectionActive:b,edgeLookup:c,nodeLookup:d,triggerNodeChanges:e,triggerEdgeChanges:f}=p();b?f(a.map(a=>cC(a,!0))):(f(cD(c,new Set([...a]))),e(cD(d,new Set,!0)))},unselectNodesAndEdges:({nodes:a,edges:b}={})=>{let{edges:c,nodes:d,nodeLookup:e,triggerNodeChanges:f,triggerEdgeChanges:g}=p(),h=[];for(let b of a||d){if(!b.selected)continue;let a=e.get(b.id);a&&(a.selected=!1),h.push(cC(b.id,!1))}let i=[];for(let a of b||c)a.selected&&i.push(cC(a.id,!1));f(h),g(i)},setMinZoom:a=>{let{panZoom:b,maxZoom:c}=p();b?.setScaleExtent([a,c]),n({minZoom:a})},setMaxZoom:a=>{let{panZoom:b,minZoom:c}=p();b?.setScaleExtent([c,a]),n({maxZoom:a})},setTranslateExtent:a=>{p().panZoom?.setTranslateExtent(a),n({translateExtent:a})},resetSelectedElements:()=>{let{edges:a,nodes:b,triggerNodeChanges:c,triggerEdgeChanges:d,elementsSelectable:e}=p();if(!e)return;let f=b.reduce((a,b)=>b.selected?[...a,cC(b.id,!1)]:a,[]),g=a.reduce((a,b)=>b.selected?[...a,cC(b.id,!1)]:a,[]);c(f),d(g)},setNodeExtent:a=>{let{nodes:b,nodeLookup:c,parentLookup:d,nodeOrigin:e,elevateNodesOnSelect:f,nodeExtent:g,zIndexMode:h}=p();(a[0][0]!==g[0][0]||a[0][1]!==g[0][1]||a[1][0]!==g[1][0]||a[1][1]!==g[1][1])&&(bx(b,c,d,{nodeOrigin:e,nodeExtent:a,elevateNodesOnSelect:f,checkEquality:!1,zIndexMode:h}),n({nodeExtent:a}))},panBy:a=>{let{transform:b,width:c,height:d,panZoom:e,translateExtent:f}=p();return bB({delta:a,panZoom:e,transform:b,translateExtent:f,width:c,height:d})},setCenter:async(a,b,c)=>{let{width:d,height:e,maxZoom:f,panZoom:g}=p();if(!g)return!1;let h=void 0!==c?.zoom?c.zoom:f;return await g.setViewport({x:d/2-a*h,y:e/2-b*h,zoom:h},{duration:c?.duration,ease:c?.ease,interpolate:c?.interpolate}),!0},cancelConnection:()=>{n({connection:{...ax}})},updateConnection:a=>{n({connection:a})},reset:()=>n({...d3()})}},p=Object.is,n?b2(n,p):b2})({nodes:a,edges:b,defaultNodes:c,defaultEdges:d,width:e,height:f,fitView:j,minZoom:g,maxZoom:h,fitViewOptions:i,nodeOrigin:k,nodeExtent:l,zIndexMode:m}));return(0,r.jsx)(b6,{value:p,children:(0,r.jsx)(cM,{children:(0,r.jsx)(c5,{children:n})})})}function d5({children:a,nodes:b,edges:c,defaultNodes:d,defaultEdges:e,width:f,height:g,fitView:h,fitViewOptions:i,minZoom:j,maxZoom:k,nodeOrigin:l,nodeExtent:m,zIndexMode:n}){return(0,u.useContext)(b5)?(0,r.jsx)(r.Fragment,{children:a}):(0,r.jsx)(d4,{initialNodes:b,initialEdges:c,defaultNodes:d,defaultEdges:e,initialWidth:f,initialHeight:g,fitView:h,initialFitViewOptions:i,initialMinZoom:j,initialMaxZoom:k,nodeOrigin:l,nodeExtent:m,zIndexMode:n,children:a})}let d6={width:"100%",height:"100%",overflow:"hidden",position:"relative",zIndex:0};var d7=cI(function({nodes:a,edges:b,defaultNodes:c,defaultEdges:d,className:e,nodeTypes:f,edgeTypes:g,onNodeClick:h,onEdgeClick:i,onInit:j,onMove:n,onMoveStart:o,onMoveEnd:p,onConnect:q,onConnectStart:s,onConnectEnd:t,onClickConnectStart:v,onClickConnectEnd:w,onNodeMouseEnter:x,onNodeMouseMove:y,onNodeMouseLeave:z,onNodeContextMenu:A,onNodeDoubleClick:B,onNodeDragStart:C,onNodeDrag:D,onNodeDragStop:E,onNodesDelete:F,onEdgesDelete:G,onDelete:H,onSelectionChange:I,onSelectionDragStart:J,onSelectionDrag:K,onSelectionDragStop:L,onSelectionContextMenu:M,onSelectionStart:N,onSelectionEnd:O,onBeforeDelete:P,connectionMode:Q,connectionLineType:R=m.Bezier,connectionLineStyle:S,connectionLineComponent:T,connectionLineContainerStyle:U,deleteKeyCode:V="Backspace",selectionKeyCode:W="Shift",selectionOnDrag:X=!1,selectionMode:Y=l.Full,panActivationKeyCode:Z="Space",multiSelectionKeyCode:$=a0()?"Meta":"Control",zoomActivationKeyCode:_=a0()?"Meta":"Control",snapToGrid:aa,snapGrid:ab,onlyRenderVisibleElements:ad=!1,selectNodesOnDrag:ae,nodesDraggable:af,autoPanOnNodeFocus:ag,nodesConnectable:ah,nodesFocusable:ai,nodeOrigin:aj=cr,edgesFocusable:ak,edgesReconnectable:al,elementsSelectable:am=!0,defaultViewport:an=cs,minZoom:ao=.5,maxZoom:ap=2,translateExtent:aq=au,preventScrolling:ar=!0,nodeExtent:as,defaultMarkerColor:at="#b1b1b7",zoomOnScroll:av=!0,zoomOnPinch:aw=!0,panOnScroll:ax=!1,panOnScrollSpeed:ay=.5,panOnScrollMode:az=k.Free,zoomOnDoubleClick:aA=!0,panOnDrag:aB=!0,onPaneClick:aC,onPaneMouseEnter:aD,onPaneMouseMove:aE,onPaneMouseLeave:aF,onPaneScroll:aG,onPaneContextMenu:aH,paneClickDistance:aI=1,nodeClickDistance:aJ=0,children:aK,onReconnect:aL,onReconnectStart:aM,onReconnectEnd:aN,onEdgeContextMenu:aO,onEdgeDoubleClick:aP,onEdgeMouseEnter:aQ,onEdgeMouseMove:aR,onEdgeMouseLeave:aS,reconnectRadius:aT=10,onNodesChange:aU,onEdgesChange:aV,noDragClassName:aW="nodrag",noWheelClassName:aX="nowheel",noPanClassName:aY="nopan",fitView:aZ,fitViewOptions:a$,connectOnClick:a_,attributionPosition:a1,proOptions:a2,defaultEdgeOptions:a3,elevateNodesOnSelect:a4=!0,elevateEdgesOnSelect:a5=!1,disableKeyboardA11y:a6=!1,autoPanOnConnect:a7,autoPanOnNodeDrag:a8,autoPanOnSelection:a9=!0,autoPanSpeed:ba,connectionRadius:bb,isValidConnection:bc,onError:bd,style:be,id:bf,nodeDragThreshold:bg,connectionDragThreshold:bh,viewport:bi,onViewportChange:bj,width:bk,height:bl,colorMode:bm="light",debug:bn,onScroll:bo,ariaLabelConfig:bp,zIndexMode:bq="basic",...br},bs){let bt=bf||"1",bu=function(a){let[b,c]=(0,u.useState)("system"===a?null:a);return(0,u.useEffect)(()=>"system"!==a?void c(a):(c("light"),()=>{}),[a]),null!==b?b:"light"}(bm),bv=(0,u.useCallback)(a=>{a.currentTarget.scrollTo({top:0,left:0,behavior:"instant"}),bo?.(a)},[bo]);return(0,r.jsx)("div",{"data-testid":"rf__wrapper",...br,onScroll:bv,style:{...be,...d6},ref:bs,className:ac(["react-flow",e,bu]),id:bf,role:"application",children:(0,r.jsxs)(d5,{nodes:a,edges:b,width:bk,height:bl,fitView:aZ,fitViewOptions:a$,minZoom:ao,maxZoom:ap,nodeOrigin:aj,nodeExtent:as,zIndexMode:bq,children:[(0,r.jsx)(cw,{nodes:a,edges:b,defaultNodes:c,defaultEdges:d,onConnect:q,onConnectStart:s,onConnectEnd:t,onClickConnectStart:v,onClickConnectEnd:w,nodesDraggable:af,autoPanOnNodeFocus:ag,nodesConnectable:ah,nodesFocusable:ai,edgesFocusable:ak,edgesReconnectable:al,elementsSelectable:am,elevateNodesOnSelect:a4,elevateEdgesOnSelect:a5,minZoom:ao,maxZoom:ap,nodeExtent:as,onNodesChange:aU,onEdgesChange:aV,snapToGrid:aa,snapGrid:ab,connectionMode:Q,translateExtent:aq,connectOnClick:a_,defaultEdgeOptions:a3,fitView:aZ,fitViewOptions:a$,onNodesDelete:F,onEdgesDelete:G,onDelete:H,onNodeDragStart:C,onNodeDrag:D,onNodeDragStop:E,onSelectionDrag:K,onSelectionDragStart:J,onSelectionDragStop:L,onMove:n,onMoveStart:o,onMoveEnd:p,noPanClassName:aY,nodeOrigin:aj,rfId:bt,autoPanOnConnect:a7,autoPanOnNodeDrag:a8,autoPanSpeed:ba,onError:bd,connectionRadius:bb,isValidConnection:bc,selectNodesOnDrag:ae,nodeDragThreshold:bg,connectionDragThreshold:bh,onBeforeDelete:P,debug:bn,ariaLabelConfig:bp,zIndexMode:bq}),(0,r.jsx)(d1,{onInit:j,onNodeClick:h,onEdgeClick:i,onNodeMouseEnter:x,onNodeMouseMove:y,onNodeMouseLeave:z,onNodeContextMenu:A,onNodeDoubleClick:B,nodeTypes:f,edgeTypes:g,connectionLineType:R,connectionLineStyle:S,connectionLineComponent:T,connectionLineContainerStyle:U,selectionKeyCode:W,selectionOnDrag:X,selectionMode:Y,deleteKeyCode:V,multiSelectionKeyCode:$,panActivationKeyCode:Z,zoomActivationKeyCode:_,onlyRenderVisibleElements:ad,defaultViewport:an,translateExtent:aq,minZoom:ao,maxZoom:ap,preventScrolling:ar,zoomOnScroll:av,zoomOnPinch:aw,zoomOnDoubleClick:aA,panOnScroll:ax,panOnScrollSpeed:ay,panOnScrollMode:az,panOnDrag:aB,autoPanOnSelection:a9,onPaneClick:aC,onPaneMouseEnter:aD,onPaneMouseMove:aE,onPaneMouseLeave:aF,onPaneScroll:aG,onPaneContextMenu:aH,paneClickDistance:aI,nodeClickDistance:aJ,onSelectionContextMenu:M,onSelectionStart:N,onSelectionEnd:O,onReconnect:aL,onReconnectStart:aM,onReconnectEnd:aN,onEdgeContextMenu:aO,onEdgeDoubleClick:aP,onEdgeMouseEnter:aQ,onEdgeMouseMove:aR,onEdgeMouseLeave:aS,reconnectRadius:aT,defaultMarkerColor:at,noDragClassName:aW,noWheelClassName:aX,noPanClassName:aY,rfId:bt,disableKeyboardA11y:a6,nodeExtent:as,viewport:bi,onViewportChange:bj,nodesDraggable:af}),(0,r.jsx)(cq,{onSelectionChange:I}),aK,(0,r.jsx)(ck,{proOptions:a2,position:a1}),(0,r.jsx)(ch,{rfId:bt,disableKeyboardA11y:a6})]})})});let d8=a=>a.domNode?.querySelector(".react-flow__viewport-portal");function d9({children:a}){let b=b8(d8);return b?(0,b4.createPortal)(a,b):null}function ea({dimensions:a,lineWidth:b,variant:c,className:d}){return(0,r.jsx)("path",{strokeWidth:b,d:`M${a[0]/2} 0 V${a[1]} M0 ${a[1]/2} H${a[0]}`,className:ac(["react-flow__background-pattern",c,d])})}function eb({radius:a,className:b}){return(0,r.jsx)("circle",{cx:a,cy:a,r:a,className:ac(["react-flow__background-pattern","dots",b])})}(i=q||(q={})).Lines="lines",i.Dots="dots",i.Cross="cross";let ec={[q.Dots]:1,[q.Lines]:1,[q.Cross]:6},ed=a=>({transform:a.transform,patternId:`pattern-${a.rfId}`});function ee({id:a,variant:b=q.Dots,gap:c=20,size:d,lineWidth:e=1,offset:f=0,color:g,bgColor:h,style:i,className:j,patternClassName:k}){let l=(0,u.useRef)(null),{transform:m,patternId:n}=b8(ed,b3),o=d||ec[b],p=b===q.Dots,s=b===q.Cross,t=Array.isArray(c)?c:[c,c],v=[t[0]*m[2]||1,t[1]*m[2]||1],w=o*m[2],x=Array.isArray(f)?f:[f,f],y=s?[w,w]:v,z=[x[0]*m[2]+y[0]/2,x[1]*m[2]+y[1]/2],A=`${n}${a||""}`;return(0,r.jsxs)("svg",{className:ac(["react-flow__background",j]),style:{...i,...cR,"--xy-background-color-props":h,"--xy-background-pattern-color-props":g},ref:l,"data-testid":"rf__background",children:[(0,r.jsx)("pattern",{id:A,x:m[0]%v[0],y:m[1]%v[1],width:v[0],height:v[1],patternUnits:"userSpaceOnUse",patternTransform:`translate(-${z[0]},-${z[1]})`,children:p?(0,r.jsx)(eb,{radius:w/2,className:k}):(0,r.jsx)(ea,{dimensions:y,lineWidth:e,variant:b,className:k})}),(0,r.jsx)("rect",{x:"0",y:"0",width:"100%",height:"100%",fill:`url(#${A})`})]})}function ef(){return(0,r.jsx)("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 32",children:(0,r.jsx)("path",{d:"M32 18.133H18.133V32h-4.266V18.133H0v-4.266h13.867V0h4.266v13.867H32z"})})}function eg(){return(0,r.jsx)("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 5",children:(0,r.jsx)("path",{d:"M0 0h32v4.2H0z"})})}function eh(){return(0,r.jsx)("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 30",children:(0,r.jsx)("path",{d:"M3.692 4.63c0-.53.4-.938.939-.938h5.215V0H4.708C2.13 0 0 2.054 0 4.63v5.216h3.692V4.631zM27.354 0h-5.2v3.692h5.17c.53 0 .984.4.984.939v5.215H32V4.631A4.624 4.624 0 0027.354 0zm.954 24.83c0 .532-.4.94-.939.94h-5.215v3.768h5.215c2.577 0 4.631-2.13 4.631-4.707v-5.139h-3.692v5.139zm-23.677.94c-.531 0-.939-.4-.939-.94v-5.138H0v5.139c0 2.577 2.13 4.707 4.708 4.707h5.138V25.77H4.631z"})})}function ei(){return(0,r.jsx)("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 25 32",children:(0,r.jsx)("path",{d:"M21.333 10.667H19.81V7.619C19.81 3.429 16.38 0 12.19 0 8 0 4.571 3.429 4.571 7.619v3.048H3.048A3.056 3.056 0 000 13.714v15.238A3.056 3.056 0 003.048 32h18.285a3.056 3.056 0 003.048-3.048V13.714a3.056 3.056 0 00-3.048-3.047zM12.19 24.533a3.056 3.056 0 01-3.047-3.047 3.056 3.056 0 013.047-3.048 3.056 3.056 0 013.048 3.048 3.056 3.056 0 01-3.048 3.047zm4.724-13.866H7.467V7.619c0-2.59 2.133-4.724 4.723-4.724 2.591 0 4.724 2.133 4.724 4.724v3.048z"})})}function ej(){return(0,r.jsx)("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 25 32",children:(0,r.jsx)("path",{d:"M21.333 10.667H19.81V7.619C19.81 3.429 16.38 0 12.19 0c-4.114 1.828-1.37 2.133.305 2.438 1.676.305 4.42 2.59 4.42 5.181v3.048H3.047A3.056 3.056 0 000 13.714v15.238A3.056 3.056 0 003.048 32h18.285a3.056 3.056 0 003.048-3.048V13.714a3.056 3.056 0 00-3.048-3.047zM12.19 24.533a3.056 3.056 0 01-3.047-3.047 3.056 3.056 0 013.047-3.048 3.056 3.056 0 013.048 3.048 3.056 3.056 0 01-3.048 3.047z"})})}function ek({children:a,className:b,...c}){return(0,r.jsx)("button",{type:"button",className:ac(["react-flow__controls-button",b]),...c,children:a})}ee.displayName="Background",(0,u.memo)(ee);let el=a=>({isInteractive:a.nodesDraggable||a.nodesConnectable||a.elementsSelectable,minZoomReached:a.transform[2]<=a.minZoom,maxZoomReached:a.transform[2]>=a.maxZoom,ariaLabelConfig:a.ariaLabelConfig});function em({style:a,showZoom:b=!0,showFitView:c=!0,showInteractive:d=!0,fitViewOptions:e,onZoomIn:f,onZoomOut:g,onFitView:h,onInteractiveChange:i,className:j,children:k,position:l="bottom-left",orientation:m="vertical","aria-label":n}){let o=b9(),{isInteractive:p,minZoomReached:q,maxZoomReached:s,ariaLabelConfig:t}=b8(el,b3),{zoomIn:u,zoomOut:v,fitView:w}=cO();return(0,r.jsxs)(ci,{className:ac(["react-flow__controls","horizontal"===m?"horizontal":"vertical",j]),position:l,style:a,"data-testid":"rf__controls","aria-label":n??t["controls.ariaLabel"],children:[b&&(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(ek,{onClick:()=>{u(),f?.()},className:"react-flow__controls-zoomin",title:t["controls.zoomIn.ariaLabel"],"aria-label":t["controls.zoomIn.ariaLabel"],disabled:s,children:(0,r.jsx)(ef,{})}),(0,r.jsx)(ek,{onClick:()=>{v(),g?.()},className:"react-flow__controls-zoomout",title:t["controls.zoomOut.ariaLabel"],"aria-label":t["controls.zoomOut.ariaLabel"],disabled:q,children:(0,r.jsx)(eg,{})})]}),c&&(0,r.jsx)(ek,{className:"react-flow__controls-fitview",onClick:()=>{w(e),h?.()},title:t["controls.fitView.ariaLabel"],"aria-label":t["controls.fitView.ariaLabel"],children:(0,r.jsx)(eh,{})}),d&&(0,r.jsx)(ek,{className:"react-flow__controls-interactive",onClick:()=>{o.setState({nodesDraggable:!p,nodesConnectable:!p,elementsSelectable:!p}),i?.(!p)},title:t["controls.interactive.ariaLabel"],"aria-label":t["controls.interactive.ariaLabel"],children:p?(0,r.jsx)(ej,{}):(0,r.jsx)(ei,{})}),k]})}em.displayName="Controls";let en=(0,u.memo)(em),eo=(0,u.memo)(function({id:a,x:b,y:c,width:d,height:e,style:f,color:g,strokeColor:h,strokeWidth:i,className:j,borderRadius:k,shapeRendering:l,selected:m,onClick:n}){let{background:o,backgroundColor:p}=f||{};return(0,r.jsx)("rect",{className:ac(["react-flow__minimap-node",{selected:m},j]),x:b,y:c,rx:k,ry:k,width:d,height:e,style:{fill:g||o||p,stroke:h,strokeWidth:i},shapeRendering:l,onClick:n?b=>n(b,a):void 0})}),ep=a=>a.nodes.map(a=>a.id),eq=a=>a instanceof Function?a:()=>a,er=(0,u.memo)(function({id:a,nodeColorFunc:b,nodeStrokeColorFunc:c,nodeClassNameFunc:d,nodeBorderRadius:e,nodeStrokeWidth:f,shapeRendering:g,NodeComponent:h,onClick:i}){let{node:j,x:k,y:l,width:m,height:n}=b8(b=>{let c=b.nodeLookup.get(a);if(!c)return{node:void 0,x:0,y:0,width:0,height:0};let d=c.internals.userNode,{x:e,y:f}=c.internals.positionAbsolute,{width:g,height:h}=a2(d);return{node:d,x:e,y:f,width:g,height:h}},b3);return j&&!j.hidden&&a3(j)?(0,r.jsx)(h,{x:k,y:l,width:m,height:n,style:j.style,selected:!!j.selected,className:d(j),color:b(j),borderRadius:e,strokeColor:c(j),strokeWidth:f,shapeRendering:g,onClick:i,id:j.id}):null});var es=(0,u.memo)(function({nodeStrokeColor:a,nodeColor:b,nodeClassName:c="",nodeBorderRadius:d=5,nodeStrokeWidth:e,nodeComponent:f=eo,onClick:g}){let h=b8(ep,b3),i=eq(b),j=eq(a),k=eq(c);return(0,r.jsx)(r.Fragment,{children:h.map(a=>(0,r.jsx)(er,{id:a,nodeColorFunc:i,nodeStrokeColorFunc:j,nodeClassNameFunc:k,nodeBorderRadius:d,nodeStrokeWidth:e,NodeComponent:f,onClick:g,shapeRendering:"crispEdges"},a))})});let et=a=>!a.hidden,eu=a=>{let b={x:-a.transform[0]/a.transform[2],y:-a.transform[1]/a.transform[2],width:a.width/a.transform[2],height:a.height/a.transform[2]},c=!1;for(let b of a.nodeLookup.values())if(!b.hidden){c=!0;break}return{viewBB:b,boundingRect:c?aR(aC(a.nodeLookup,{filter:et}),b):b,rfId:a.rfId,panZoom:a.panZoom,translateExtent:a.translateExtent,flowWidth:a.width,flowHeight:a.height,ariaLabelConfig:a.ariaLabelConfig}},ev=(a,b)=>a.x===b.x&&a.y===b.y&&a.width===b.width&&a.height===b.height,ew=(a,b)=>ev(a.viewBB,b.viewBB)&&ev(a.boundingRect,b.boundingRect)&&a.rfId===b.rfId&&a.panZoom===b.panZoom&&a.translateExtent===b.translateExtent&&a.flowWidth===b.flowWidth&&a.flowHeight===b.flowHeight&&a.ariaLabelConfig===b.ariaLabelConfig;function ex({style:a,className:b,nodeStrokeColor:c,nodeColor:d,nodeClassName:e="",nodeBorderRadius:f=5,nodeStrokeWidth:g,nodeComponent:h,bgColor:i,maskColor:j,maskStrokeColor:k,maskStrokeWidth:l,position:m="bottom-right",onClick:n,onNodeClick:o,pannable:p=!1,zoomable:q=!1,ariaLabel:s,inversePan:t,zoomStep:v=1,offsetScale:w=5}){let x=b9(),y=(0,u.useRef)(null),{boundingRect:z,panZoom:A,viewBB:B,rfId:C,translateExtent:D,flowWidth:E,flowHeight:F,ariaLabelConfig:G}=b8(eu,ew),H=a?.width??200,I=a?.height??150,J=Math.max(z.width/H,z.height/I),K=J*H,L=J*I,M=w*J,N=z.x-(K-z.width)/2-M,O=z.y-(L-z.height)/2-M,P=K+2*M,Q=L+2*M,R=`react-flow__minimap-desc-${C}`,S=(0,u.useRef)(0),T=(0,u.useRef)();S.current=J,(0,u.useEffect)(()=>{let a=x.getState().panZoom;if(y.current&&a)return T.current=function({domNode:a,panZoom:b,getTransform:c,getViewScale:d}){let e=(0,ae.f)(a);return{update:function({translateExtent:a,width:f,height:g,zoomStep:h=1,pannable:i=!0,zoomable:j=!0,inversePan:k=!1}){let l=[0,0],m=(0,ap.f)().on("start",a=>{("mousedown"===a.sourceEvent.type||"touchstart"===a.sourceEvent.type)&&(l=[a.sourceEvent.clientX??a.sourceEvent.touches[0].clientX,a.sourceEvent.clientY??a.sourceEvent.touches[0].clientY])}).on("zoom",i?e=>{let h=c();if("mousemove"!==e.sourceEvent.type&&"touchmove"!==e.sourceEvent.type||!b)return;let i=[e.sourceEvent.clientX??e.sourceEvent.touches[0].clientX,e.sourceEvent.clientY??e.sourceEvent.touches[0].clientY],j=[i[0]-l[0],i[1]-l[1]];l=i;let m=d()*Math.max(h[2],Math.log(h[2]))*(k?-1:1),n={x:h[0]-j[0]*m,y:h[1]-j[1]*m};b.setViewportConstrained({x:n.x,y:n.y,zoom:h[2]},[[0,0],[f,g]],a)}:null).on("zoom.wheel",j?a=>{if("wheel"!==a.sourceEvent.type||!b)return;let d=c(),e=a.sourceEvent.ctrlKey&&a0()?10:1,f=-a.sourceEvent.deltaY*(1===a.sourceEvent.deltaMode?.05:a.sourceEvent.deltaMode?1:.002)*h,g=d[2]*Math.pow(2,f*e);b.scaleTo(g)}:null);e.call(m,{})},destroy:function(){e.on("zoom",null)},pointer:af.f}}({domNode:y.current,panZoom:a,getTransform:()=>x.getState().transform,getViewScale:()=>S.current}),()=>{T.current?.destroy()}},[A]),(0,u.useEffect)(()=>{T.current?.update({translateExtent:D,width:E,height:F,inversePan:t,pannable:p,zoomStep:v,zoomable:q})},[p,q,t,v,D,E,F]);let U=n?a=>{let[b,c]=T.current?.pointer(a)||[0,0];n(a,{x:b,y:c})}:void 0,V=(0,u.useCallback)((a,b)=>{let c=x.getState().nodeLookup.get(b).internals.userNode;o?.(a,c)},[o]),W=s??G["minimap.ariaLabel"];return(0,r.jsx)(ci,{position:m,style:{...a,"--xy-minimap-background-color-props":"string"==typeof i?i:void 0,"--xy-minimap-mask-background-color-props":"string"==typeof j?j:void 0,"--xy-minimap-mask-stroke-color-props":"string"==typeof k?k:void 0,"--xy-minimap-mask-stroke-width-props":"number"==typeof l?l*J:void 0,"--xy-minimap-node-background-color-props":"string"==typeof d?d:void 0,"--xy-minimap-node-stroke-color-props":"string"==typeof c?c:void 0,"--xy-minimap-node-stroke-width-props":"number"==typeof g?g:void 0},className:ac(["react-flow__minimap",b]),"data-testid":"rf__minimap",children:(0,r.jsxs)("svg",{width:H,height:I,viewBox:`${N} ${O} ${P} ${Q}`,className:"react-flow__minimap-svg",role:"img","aria-labelledby":R,ref:y,onClick:U,children:[W&&(0,r.jsx)("title",{id:R,children:W}),(0,r.jsx)(es,{onClick:o?V:void 0,nodeColor:d,nodeStrokeColor:c,nodeBorderRadius:f,nodeClassName:e,nodeStrokeWidth:g,nodeComponent:h}),(0,r.jsx)("path",{className:"react-flow__minimap-mask",d:`M${N-M},${O-M}h${P+2*M}v${Q+2*M}h${-P-2*M}z
3
- M${B.x},${B.y}h${B.width}v${B.height}h${-B.width}z`,fillRule:"evenodd",pointerEvents:"none"})]})})}ex.displayName="MiniMap";let ey=(0,u.memo)(ex),ez={[p.Line]:"right",[p.Handle]:"bottom-right"};(0,u.memo)(function({nodeId:a,position:b,variant:c=p.Handle,className:d,style:e,children:f,color:g,minWidth:h=10,minHeight:i=10,maxWidth:j=Number.MAX_VALUE,maxHeight:k=Number.MAX_VALUE,keepAspectRatio:l=!1,resizeDirection:m,autoScale:n=!0,shouldResize:o,onResizeStart:q,onResize:s,onResizeEnd:t}){let v,w=c2(),x="string"==typeof a?a:w,y=b9(),z=(0,u.useRef)(null),A=c===p.Handle,B=b8((0,u.useCallback)((v=A&&n,a=>v?`${Math.max(1/a.transform[2],1)}`:void 0),[A,n]),b3),C=(0,u.useRef)(null),D=b??ez[c];(0,u.useEffect)(()=>{if(z.current&&x)return C.current||(C.current=function({domNode:a,nodeId:b,getStoreItems:c,onChange:d,onEnd:e}){let f=(0,ae.f)(a),g={controlDirection:bS("bottom-right"),boundaries:{minWidth:0,minHeight:0,maxWidth:Number.MAX_VALUE,maxHeight:Number.MAX_VALUE},resizeDirection:void 0,keepAspectRatio:!1};return{update:function({controlPosition:a,boundaries:h,keepAspectRatio:i,resizeDirection:j,onResizeStart:k,onResize:l,onResizeEnd:m,shouldResize:n}){let o,p,q,r,s={...bW},t={...bX};g={boundaries:h,resizeDirection:j,keepAspectRatio:i,controlDirection:bS(a)};let u=null,v=[],w=ao().on("start",a=>{let{nodeLookup:d,transform:e,snapGrid:f,snapToGrid:g,nodeOrigin:h,paneDomNode:i}=c();if(!(o=d.get(b)))return;u=i?.getBoundingClientRect()??null;let{xSnapped:j,ySnapped:l}=a7(a.sourceEvent,{transform:e,snapGrid:f,snapToGrid:g,containerBounds:u});for(let[a,c]of(t={...s={width:o.measured.width??0,height:o.measured.height??0,x:o.position.x??0,y:o.position.y??0},pointerX:j,pointerY:l,aspectRatio:s.width/s.height},p=void 0,q=a1(o.extent)?o.extent:void 0,o.parentId&&("parent"===o.extent||o.expandParent)&&(p=d.get(o.parentId)),p&&"parent"===o.extent&&(q=[[0,0],[p.measured.width,p.measured.height]]),v=[],r=void 0,d))if(c.parentId===b&&(v.push({id:a,position:{...c.position},extent:c.extent}),"parent"===c.extent||c.expandParent)){let a=function(a,b,c){let d=b.position.x+a.position.x,e=b.position.y+a.position.y,f=a.measured.width??0,g=a.measured.height??0,h=c[0]*f,i=c[1]*g;return[[d-h,e-i],[d+f-h,e+g-i]]}(c,o,c.origin??h);r=r?[[Math.min(a[0][0],r[0][0]),Math.min(a[0][1],r[0][1])],[Math.max(a[1][0],r[1][0]),Math.max(a[1][1],r[1][1])]]:a}k?.(a,{...s})}).on("drag",a=>{let{transform:b,snapGrid:e,snapToGrid:f,nodeOrigin:h}=c(),i=a7(a.sourceEvent,{transform:b,snapGrid:e,snapToGrid:f,containerBounds:u}),j=[];if(!o)return;let{x:k,y:m,width:w,height:x}=s,y={},z=o.origin??h,{width:A,height:B,x:C,y:D}=function(a,b,c,d,e,f,g,h){var i,j,k,l;let{affectsX:m,affectsY:n}=b,{isHorizontal:o,isVertical:p}=b,q=o&&p,{xSnapped:r,ySnapped:s}=c,{minWidth:t,maxWidth:u,minHeight:v,maxHeight:w}=d,{x:x,y:y,width:z,height:A,aspectRatio:B}=a,C=Math.floor(o?r-a.pointerX:0),D=Math.floor(p?s-a.pointerY:0),E=z+(m?-C:C),F=A+(n?-D:D),G=-f[0]*z,H=-f[1]*A,I=bV(E,t,u),J=bV(F,v,w);if(g){let a=0,b=0;m&&C<0?a=bT(x+C+G,g[0][0]):!m&&C>0&&(a=bU(x+E+G,g[1][0])),n&&D<0?b=bT(y+D+H,g[0][1]):!n&&D>0&&(b=bU(y+F+H,g[1][1])),I=Math.max(I,a),J=Math.max(J,b)}if(h){let a=0,b=0;m&&C>0?a=bU(x+C,h[0][0]):!m&&C<0&&(a=bT(x+E,h[1][0])),n&&D>0?b=bU(y+D,h[0][1]):!n&&D<0&&(b=bT(y+F,h[1][1])),I=Math.max(I,a),J=Math.max(J,b)}if(e){if(o){(I=Math.max(I,bV(E/B,v,w)*B),g)&&(I=Math.max(I,(m||n)&&(!m||n||!q)?bT(y+H+(m?C:-C)/B,g[0][1])*B:bU(y+H+E/B,g[1][1])*B));h&&(I=Math.max(I,(m||n)&&(!m||n||!q)?bU(y+(m?C:-C)/B,h[0][1])*B:bT(y+E/B,h[1][1])*B))}if(p){(J=Math.max(J,bV(F*B,t,u)/B),g)&&(J=Math.max(J,(m||n)&&(!n||m||!q)?bT(x+(n?D:-D)*B+G,g[0][0])/B:bU(x+F*B+G,g[1][0])/B));h&&(J=Math.max(J,(m||n)&&(!n||m||!q)?bU(x+(n?D:-D)*B,h[0][0])/B:bT(x+F*B,h[1][0])/B))}}D+=D<0?J:-J,C+=C<0?I:-I,e&&(q?E>F*B?D=((i=m,j=n,i?!j:j)?-C:C)/B:C=((k=m,l=n,k?!l:l)?-D:D)*B:o?(D=C/B,n=m):(C=D*B,m=n));let K=m?x+C:x,L=n?y+D:y;return{width:z+(m?-C:C),height:A+(n?-D:D),x:f[0]*C*(m?-1:1)+K,y:f[1]*D*(n?-1:1)+L}}(t,g.controlDirection,i,g.boundaries,g.keepAspectRatio,z,q,r),E=A!==w,F=B!==x,G=C!==k&&E,H=D!==m&&F;if(!G&&!H&&!E&&!F)return;let I={prevValues:{...s},startX:t.x,startY:t.y,childNodes:v.map(a=>({...a,position:{...a.position}}))};if((G||H||1===z[0]||1===z[1])&&(y.x=G?C:s.x,y.y=H?D:s.y,s.x=y.x,s.y=y.y,v.length>0)){let a=C-k,b=D-m;for(let c of v)c.position={x:c.position.x-a+z[0]*(A-w),y:c.position.y-b+z[1]*(B-x)},j.push(c)}if((E||F)&&(y.width=E&&(!g.resizeDirection||"horizontal"===g.resizeDirection)?A:s.width,y.height=F&&(!g.resizeDirection||"vertical"===g.resizeDirection)?B:s.height,s.width=y.width,s.height=y.height),p&&o.expandParent){let a=z[0]*(y.width??0);y.x&&y.x<a&&(s.x=a,t.x=t.x-(y.x-a));let b=z[1]*(y.height??0);y.y&&y.y<b&&(s.y=b,t.y=t.y-(y.y-b))}let J=function({width:a,prevWidth:b,height:c,prevHeight:d,affectsX:e,affectsY:f}){let g=a-b,h=c-d,i=[g>0?1:g<0?-1:0,h>0?1:h<0?-1:0];return g&&e&&(i[0]=-1*i[0]),h&&f&&(i[1]=-1*i[1]),i}({width:s.width,prevWidth:w,height:s.height,prevHeight:x,affectsX:g.controlDirection.affectsX,affectsY:g.controlDirection.affectsY}),K={...s,direction:J};if(!1===n?.(a,K)){s=I.prevValues,t.x=I.startX,t.y=I.startY,v.forEach((a,b)=>{a.position=I.childNodes[b].position});return}l?.(a,K),d(y,j)}).on("end",a=>{m?.(a,{...s}),e?.({...s})});f.call(w)},destroy:function(){f.on(".drag",null)}}}({domNode:z.current,nodeId:x,getStoreItems:()=>{let{nodeLookup:a,transform:b,snapGrid:c,snapToGrid:d,nodeOrigin:e,domNode:f}=y.getState();return{nodeLookup:a,transform:b,snapGrid:c,snapToGrid:d,nodeOrigin:e,paneDomNode:f}},onChange:(a,b)=>{let{triggerNodeChanges:c,nodeLookup:d,parentLookup:e,nodeOrigin:f}=y.getState(),g=[],h={x:a.x,y:a.y},i=d.get(x);if(i&&i.expandParent&&i.parentId){let b=i.origin??f,c=a.width??i.measured.width??0,j=a.height??i.measured.height??0,k=bA([{id:i.id,parentId:i.parentId,rect:{width:c,height:j,...a4({x:a.x??i.position.x,y:a.y??i.position.y},{width:c,height:j},i.parentId,d,b)}}],d,e,f);g.push(...k),h.x=a.x?Math.max(b[0]*c,a.x):void 0,h.y=a.y?Math.max(b[1]*j,a.y):void 0}if(void 0!==h.x&&void 0!==h.y){let a={id:x,type:"position",position:{...h}};g.push(a)}if(void 0!==a.width&&void 0!==a.height){let b={id:x,type:"dimensions",resizing:!0,setAttributes:!m||("horizontal"===m?"width":"height"),dimensions:{width:a.width,height:a.height}};g.push(b)}for(let a of b){let b={...a,type:"position"};g.push(b)}c(g)},onEnd:({width:a,height:b})=>{y.getState().triggerNodeChanges([{id:x,type:"dimensions",resizing:!1,dimensions:{width:a,height:b}}])}})),C.current.update({controlPosition:D,boundaries:{minWidth:h,minHeight:i,maxWidth:j,maxHeight:k},keepAspectRatio:l,resizeDirection:m,onResizeStart:q,onResize:s,onResizeEnd:t,shouldResize:o}),()=>{C.current?.destroy()}},[D,h,i,j,k,l,q,s,t,o]);let E=D.split("-");return(0,r.jsx)("div",{className:ac(["react-flow__resize-control","nodrag",...E,c,d]),ref:z,style:{...e,scale:B,...g&&{[A?"backgroundColor":"borderColor"]:g}},children:f})});var eA=a.i(516103);function eB({issue:a,href:b,plan:c,center:d=!1}){let e=(0,L.useMessages)(),f=(0,Z.N)(a);return(0,r.jsxs)("div",{className:"nopan pointer-events-auto relative flex size-full flex-col gap-1 rounded-lg border border-transparent bg-base-100 px-3 py-2 text-xs",children:[(0,r.jsx)(s.default,{href:b,scroll:!1,title:a.id,"aria-label":`${a.id} ${a.title}`,"aria-current":d?"true":void 0,className:`absolute -inset-px rounded-lg border border-base-300 transition hover:border-base-content/30 hover:shadow-sm aria-[current=true]:shadow-md aria-[current=true]:ring-2 aria-[current=true]:ring-primary ${c?.outside?"border-dashed":""}`}),(0,r.jsxs)("span",{className:"flex items-center gap-1.5 text-base-content/55",children:[(0,r.jsx)(_.f,{issueType:a.issueType}),(0,r.jsx)("span",{"aria-hidden":!0,children:"·"}),(0,r.jsx)("span",{className:`tone-dot ${(0,$._)(f)}`}),(0,r.jsx)("span",{className:"min-w-0 truncate",children:e.workStates.labels[f]}),(0,r.jsx)(eA.f,{issueId:a.id,short:!0,className:"nodrag relative ml-auto shrink-0 rounded"})]}),(0,r.jsx)("span",{className:`text-sm leading-snug wrap-anywhere whitespace-pre-wrap font-medium ${"closed"===f?"text-base-content/65":"text-base-content"}`,children:a.title}),c&&(0,r.jsxs)("span",{className:"mt-auto flex items-center gap-1.5 text-base-content/55",children:[c.outside&&(0,r.jsx)("span",{className:"relative",title:e.graph.outsideHint,children:e.graph.outside}),(0,r.jsx)(aa.f,{count:c.waiters,className:"relative ml-auto"})]})]})}function eC({layout:a,edgeLooks:b,issueHref:c,plan:d,centerId:e,ready:f=!0}){let g,h,i,j,k=(0,u.useRef)(null),l=(0,u.useMemo)(()=>{let b;return d?function(a,{total:b,current:c}){let d=a.columns[c??b-1];return void 0===d?void 0:{x:d+140,y:-32,anchor:"top"}}(a,d.stages):void 0===e?void 0:(b=a.nodes.find(({issue:a})=>a.id===e))&&{x:b.x+140,y:b.y+b.height/2,anchor:"center"}},[a,d,e]),m=!!d,{onInit:n,preserveViewport:o,showFocus:p}=(g=(0,u.useRef)(null),h=(0,u.useRef)({layout:a,focus:l}),i=(0,u.useRef)(!1),j=()=>{i.current=!0},(0,u.useLayoutEffect)(()=>{h.current={layout:a,focus:l}},[a,l]),(0,u.useLayoutEffect)(()=>{let a=k.current;if(!a)return;let b=new ResizeObserver(()=>{i.current||g.current?.setViewport(Y(h.current.layout,a.clientWidth,a.clientHeight,m,h.current.focus))});return b.observe(a),()=>b.disconnect()},[k,m]),{onInit:b=>{g.current=b;let c=k.current;b.setViewport(Y(a,c.clientWidth,c.clientHeight,m,l))},preserveViewport:j,showFocus:()=>{let a=g.current,b=k.current;a&&b&&l&&(j(),a.setViewport(X(l,b.clientWidth,b.clientHeight,a.getZoom())))}}),[q,s]=(0,u.useState)(!1);f&&!q&&s(!0);let t=(0,L.useMessages)(),v=d?null===d.stages.current?t.graph.focusLastStage:t.graph.focusStage:t.graph.focusIssue,w=`edge${(0,u.useId)().replace(/\W/g,"")}`,{nodes:x,edges:y}=(0,u.useMemo)(()=>{let f=new Set(a.nodes.filter(({issue:a})=>"gate"===a.issueType).map(({issue:a})=>a.id));return{nodes:a.nodes.map(({issue:a,x:b,y:f,height:g})=>({id:a.id,type:"issue",position:{x:b,y:f},width:280,height:g,data:{issue:a,href:c(a.id),center:a.id===e,...d&&{plan:{outside:d.outside.has(a.id),waiters:d.waiters.get(a.id)??0}}}})),edges:[...a.edges.map(({from:a,to:c,points:e},g)=>{let h=b[g],i=!d&&[a,c].some(a=>f.has(a));return{id:`${a}->${c}`,type:"route",source:a,target:c,data:{points:e,look:h},markerEnd:T(w,h),ariaLabel:i?t.graph.conditionEdge(a,c):t.graph.edgeLabel(a,c)}}),...a.auxiliary.map(({from:a,to:b,type:c,points:d})=>{let e=O(c);return{id:`${c}:${a}->${b}`,type:"route",source:a,target:b,data:{points:d,look:e},markerEnd:T(w,e),ariaLabel:"related"===c?t.graph.relatedEdge(a,b):t.graph.discoveredEdge(a,b)}})]}},[a,b,c,d,e,t,w]);return(0,r.jsxs)("section",{ref:k,onWheelCapture:o,onPointerDownCapture:a=>{a.target.closest(".react-flow__minimap")&&o()},"aria-label":t.graph.canvas,className:"min-h-64 flex-1 overflow-hidden rounded-box border border-base-300 bg-base-100",children:[(0,r.jsx)(U,{idPrefix:w}),q&&(0,r.jsxs)(d7,{nodes:x,edges:y,nodeTypes:eF,edgeTypes:eG,onInit:n,onMoveStart:a=>{a&&o()},minZoom:.2,nodesDraggable:!1,nodesConnectable:!1,nodesFocusable:!1,edgesFocusable:!1,elementsSelectable:!1,ariaLabelConfig:{"controls.ariaLabel":t.graph.controls,"controls.zoomIn.ariaLabel":t.graph.zoomIn,"controls.zoomOut.ariaLabel":t.graph.zoomOut,"controls.fitView.ariaLabel":t.graph.fitView,"minimap.ariaLabel":t.graph.minimap},children:[d&&(0,r.jsx)(eD,{stages:d.stages,columns:a.columns}),(0,r.jsx)(en,{showInteractive:!1,onZoomIn:o,onZoomOut:o,onFitView:o,children:l&&(0,r.jsx)(ek,{onClick:p,title:v,"aria-label":v,children:(0,r.jsx)(eE,{})})}),(0,r.jsx)(ey,{pannable:!0,zoomable:!0,maskStrokeWidth:2,nodeClassName:eH})]})]})}function eD({stages:{total:a,current:b},columns:c}){let d=(0,L.useMessages)();return(0,r.jsx)(d9,{children:Array.from({length:a},(a,e)=>{let f=d.graph.stage(e+1),[g,h]=null===b||e<b?["text-base-content/40",`${f} \xb7 ${d.graph.stageDone}`]:e===b?["text-primary",`${f} \xb7 ${d.graph.stageCurrent}`]:["text-base-content/65",f];return(0,r.jsx)("div",{className:`absolute text-xs font-medium ${g}`,style:{width:280,transform:`translate(${c[e]??0}px, -32px)`},children:h},e)})})}function eE(){return(0,r.jsxs)("svg",{viewBox:"0 0 24 24","aria-hidden":"true",children:[(0,r.jsx)("circle",{cx:"12",cy:"12",r:"7",fill:"none",stroke:"currentColor",strokeWidth:"2.5"}),(0,r.jsx)("circle",{cx:"12",cy:"12",r:"2.5"}),(0,r.jsx)("path",{d:"M11 0h2v5h-2zM11 19h2v5h-2zM0 11h5v2H0zM19 11h5v2h-5z"})]})}let eF={issue:function({data:{issue:a,href:b,plan:c,center:d}}){return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(c7,{type:"target",position:o.Left,isConnectable:!1,className:"opacity-0"}),(0,r.jsx)(eB,{issue:a,href:b,plan:c,center:d}),(0,r.jsx)(c7,{type:"source",position:o.Right,isConnectable:!1,className:"opacity-0"})]})}},eG={route:function({data:a,markerEnd:b}){if(!a)return null;let c=a.points.map(({x:a,y:b},c)=>`${0===c?"M":"L"}${a},${b}`).join(" ");return(0,r.jsx)(ds,{path:c,markerEnd:b,style:S(a.look),"data-edge":a.look.kind})}};function eH(a){let b=(0,$._)((0,Z.N)(a.data.issue));return a.data.center?`${b} minimap-center`:b}function eI(a,b,c,d){let e=eJ(a.from,a.start,b.start,c),f=[e];a.channels.forEach(({axis:a},b)=>{e="x"===a?{x:d(b),y:e.y}:{x:e.x,y:d(b)},f.push(e)});let g=eJ(a.to,a.end,b.end,c);return f.push(eK(a.end)?{x:e.x,y:g.y}:{x:g.x,y:e.y},g),f}function eJ(a,b,c,d){let{x:e,y:f}=d(a);switch(b){case"left":return{x:e,y:f+c};case"right":return{x:e+280,y:f+c};case"top":return{x:e+c,y:f};case"bottom":return{x:e+c,y:f+a.height}}}function eK(a){return"left"===a||"right"===a}function eL(a,b){return eI(a,b,({column:a,row:b})=>({x:(2*a+1)*1e6,y:(2*b+1)*1e6}),b=>2*a.channels[b].gap*1e6)}function eM(a,b){return eK(b)?a.height/2:140}function eN(a,b,c,d){let e=eK(b)?"y":"x",f=eK(b)?"x":"y";return{moves:d?[]:a.slice(1).map(b=>b[e]-a[0][e]).filter(a=>0!==a),ties:[Math.abs(a.at(-1)[f]-a[0][f]),c.column,c.row]}}function eO(a,b){let c=[],d=0;for(let e=0;e<a.length-1;e++)c.push(d+=a[e]),d+=b(e);return c}function eP(a,b){let c=new Map;for(let d of a){let[a,e]="from"===b?[d.from,d.to]:[d.to,d.from];c.set(a,[...c.get(a)??[],e])}return c}function eQ(a,b=!1,c){let d=(0,u.useRef)(null),[e,f]=(0,u.useState)(new Map),g=b?96:76,h=(0,u.useMemo)(()=>(function({order:a,heights:b,nodeHeight:c,auxiliary:d}){let e=[],f=new Set,g=0;for(let b of a.components){g>0&&f.add(g);let a=function(a){let b=C(a);if(0===b.length)return a.layers;let c=function(a,b){let c=new Map(b.flatMap((a,b)=>a.map(({id:a})=>[a,b]))),d=new Map(a.layers.flatMap((a,b)=>a.map(({id:a})=>[a,b]))),e=a=>!c.has(a),f=eP(a.edges,"from"),g=eP(a.edges,"to"),h=new Map([...d.keys()].map(a=>[a,[...f.get(a)??[],...g.get(a)??[]]])),i=(a,b)=>{let c=new Set([a]),d=[];for(let f=[a];f.length>0;){let a=[];for(let g of f)for(let f of b.get(g)??[])c.has(f)||(c.add(f),e(f)?a.push(f):d.push(f));f=a}return d},j=(a,b)=>a.reduce((a,d)=>b(c.get(d),c.get(a))?d:a),k=new Map,l=new Map;for(let b of a.layers.flat().filter(({id:a})=>e(a))){let a=i(b.id,f),c=i(b.id,g),d=a.length>0?j(a,(a,b)=>a<b):c.length>0?j(c,(a,b)=>a>b):i(b.id,h)[0];k.set(d,[...k.get(d)??[],{gate:b,waits:a.length>0}]),l.set(b.id,d)}return new Map([...k].map(([a,b])=>[a,b.map(a=>({...a,leaves:(a=>{let b=l.get(a),c=new Set([a]);for(let d=[a];d.length>0;)for(let a of f.get(d.pop())??[]){if((l.get(a)??a)!==b)return!0;l.has(a)&&!c.has(a)&&(c.add(a),d.push(a))}return!1})(a.gate.id)})).toSorted((a,b)=>Number(a.leaves)-Number(b.leaves)||Number(b.waits)-Number(a.waits)||(a.waits?d.get(b.gate.id)-d.get(a.gate.id):d.get(a.gate.id)-d.get(b.gate.id))).map(({gate:a})=>a)]))}(a,b),d=new Map([...c].flatMap(([a,b])=>b.map(b=>[b.id,a])));return(function(a,b,c,d){let e=new Map(a.flatMap((a,b)=>a.map(({id:a})=>[a,b]))),f=new Map,g=[];for(let a of b){let[b,d]=[a.from,a.to].map(a=>c.get(a)??a);e.get(b)!==e.get(d)&&(f.set(b,[...f.get(b)??[],d]),f.set(d,[...f.get(d)??[],b]),g.push([b,d]))}let h=a=>new Map(a.flatMap(a=>{let b=0;return a.map(({id:a})=>{let c=b;return b+=1+(d.get(a)?.length??0),[a,c]})})),i=Map.groupBy(g.map(a=>a.toSorted((a,b)=>e.get(a)-e.get(b))).filter(([a,b])=>e.get(b)-e.get(a)==1),([a])=>e.get(a)),j=a=>{let b=h(a),c=0;for(let a of i.values())for(let d=0;d<a.length;d++)for(let e=d+1;e<a.length;e++){let[f,g]=a[d],[h,i]=a[e];(b.get(f)-b.get(h))*(b.get(g)-b.get(i))<0&&c++}return c},k=a.map(a=>[...a]),l=k,m=j(k);for(let a=0;a<8;a++){let b=a%2==0,c=k.map((a,b)=>b);for(let a of b?c.slice(1):c.slice(0,-1).toReversed()){let c=h(k),d=({id:d})=>{let g=(f.get(d)??[]).filter(c=>b?e.get(c)<a:e.get(c)>a);return g.length>0?g.reduce((a,b)=>a+c.get(b),0)/g.length:c.get(d)};k=k.with(a,k[a].toSorted((a,b)=>d(a)-d(b)))}let d=j(k);d<m&&(l=k,m=d)}return l})(b,a.edges,d,c).map(a=>a.flatMap(a=>[a,...c.get(a.id)??[]]))}(b);a.forEach((a,b)=>a.forEach((a,c)=>e.push({issue:a,column:b,row:g+c}))),g+=Math.max(...a.map(a=>a.length))}let h=a.components.flatMap(({edges:a})=>a),i=d?function(a,{center:b,issues:c,edges:d},e){if(0===d.length)return[];0===a.length&&b&&a.push({issue:b,column:0,row:0});let f=new Map(a.map(a=>[a.issue.id,a])),g=new Set(a.map(({column:a,row:b})=>`${a}:${b}`)),h=[...e];for(let e of c){let c=d.filter(({from:a,to:b})=>a===e.id&&f.has(b)||b===e.id&&f.has(a)),i=c[0],j=i?f.get(i.from===e.id?i.to:i.from):b&&f.get(b.id);if(!j)continue;let k=(i?.type==="discovered-from"?function({column:a,row:b},c,d){return Array.from({length:2*d+1},(d,e)=>({column:a+c,row:b+(e%2==1?(e+1)/2:-e/2),distance:Math.ceil(e/2)}))}(j,i.to===e.id?1:-1,a.length):function({column:a,row:b},c){let d=c+1;return Array.from({length:7},(a,b)=>b-3).flatMap(a=>Array.from({length:2*d+1},(a,b)=>b-d).map(b=>({dc:a,dr:b,distance:3*Math.abs(a)+Math.abs(b)}))).filter(({dc:a,dr:b})=>0!==a||0!==b).toSorted((a,b)=>a.distance-b.distance||Math.abs(a.dc)-Math.abs(b.dc)||Number(a.dr<0)-Number(b.dr<0)||Number(a.dc<0)-Number(b.dc<0)).map(({dc:c,dr:d,distance:e})=>({column:a+c,row:b+d,distance:e}))}(j,a.length)).filter(a=>!g.has(`${a.column}:${a.row}`)),l=a=>c.reduce((b,{from:c,to:d})=>{let g=f.get(c===e.id?d:c);return b+h.filter(b=>(function(a,b,c,d){let[e,f]=[d.get(c.from),d.get(c.to)];if(!e||!f)return!1;let g=(a,b,c)=>Math.sign((b.column-a.column)*(c.row-a.row)-(b.row-a.row)*(c.column-a.column));return g(a,b,e)*g(a,b,f)<0&&g(e,f,a)*g(e,f,b)<0})(a,g,b,f)).length},0),{column:m,row:n}=k.filter(({distance:a})=>a===k[0].distance).map(a=>({...a,crossings:l(a)})).reduce((a,b)=>b.crossings<a.crossings?b:a),o={issue:e,column:m,row:n};a.push(o),f.set(e.id,o),g.add(`${m}:${n}`),h.push(...c)}return d.filter(({from:a,to:b})=>f.has(a)&&f.has(b))}(e,d,h):[],j=Math.min(0,...e.map(({column:a})=>a)),k=Math.min(0,...e.map(({row:a})=>a)),l=new Map(e.map(a=>[a.issue.id,a])),m=function({nodes:a,componentStarts:b,edges:c}){let d=new Map(a.map(a=>[a.id,a])),e=Math.max(0,...a.map(({column:a})=>a+1)),f=Math.max(0,...a.map(({row:a})=>a+1)),g=c.map(({from:a,to:b})=>(function(a,b){let{column:c,row:d}=a,{column:e,row:f}=b;if(c===e){let e=d<f,[g,h]=e?["bottom","top"]:["top","bottom"];return 1===Math.abs(f-d)?{from:a,to:b,start:g,end:h,channels:[]}:{from:a,to:b,start:g,end:h,channels:[{axis:"y",gap:e?d+1:d},{axis:"x",gap:c+1},{axis:"y",gap:e?f:f+1}]}}let g={from:a,to:b,start:"right",end:"left"};return e===c+1?{...g,channels:d===f?[]:[{axis:"x",gap:e}]}:{...g,channels:[{axis:"x",gap:c+1},{axis:"y",gap:f>=d?d+1:d},{axis:"x",gap:e}]}})(d.get(a),d.get(b))),h=function(a){let b=new Map,c=a.map(a=>eL(a,{start:eM(a.from,a.start),end:eM(a.to,a.end)}));a.forEach((a,d)=>{let e=c[d],f=0===a.channels.length,g=[{route:d,at:"start",nodes:f?[a.from,a.to]:[a.from],key:eN(e,a.start,a.to,f)}];if(!f){let b=e.toReversed();g.push({route:d,at:"end",nodes:[a.to],key:eN(b,a.end,a.from,!1)})}for(let c of g){let d=function({column:a,row:b},c){switch(c){case"left":return`x:${a}:${b}`;case"right":return`x:${a+1}:${b}`;case"top":return`y:${b}:${a}`;case"bottom":return`y:${b+1}:${a}`}}(c.nodes[0],"start"===c.at?a.start:a.end);b.set(d,[...b.get(d)??[],c])}});let d=a.map(()=>({start:0,end:0}));for(let[c,e]of b){let b=c.startsWith("x")?Math.min(...e.flatMap(({nodes:a})=>a.map(({height:a})=>a))):280;e.toSorted((a,b)=>(function(a,b){for(let c=0;c<Math.max(a.moves.length,b.moves.length);c++){let d=(a.moves[c]??0)-(b.moves[c]??0);if(0!==d)return d}let c=a.ties.findIndex((a,c)=>a!==b.ties[c]);return c<0?0:a.ties[c]-b.ties[c]})(a.key,b.key)||a.route-b.route).forEach(({route:c,at:f},g)=>{let h=b*(g+1)/(e.length+1);"start"===f&&(d[c].start=h),("end"===f||0===a[c].channels.length)&&(d[c].end=h)})}return d}(g),i=function(a,b){let c=new Map;a.forEach(({channels:a},d)=>{let e=b[d];a.forEach(({axis:a,gap:b},f)=>{let g="x"===a?"y":"x",[h,i,j,k]=e.slice(f,f+4),l={route:d,channel:f,low:Math.min(i[g],j[g]),high:Math.max(i[g],j[g]),turns:[{at:i[g],toward:Math.sign(h[a]-i[a])},{at:j[g],toward:Math.sign(k[a]-j[a])}]},m=`${a}:${b}`;c.set(m,[...c.get(m)??[],l])})});let d=a.map(({channels:a})=>a.map(()=>0)),e=new Map;for(let[a,b]of c){let c=(a,b)=>a.low<=b.high&&b.low<=a.high,f=new Map(b.map(a=>[a,new Set]));for(let a of b)for(let d of b)if(a!==d&&c(a,d))for(let{at:b,toward:c}of a.turns)b<=d.low||b>=d.high||(c<0&&f.get(d).add(a),c>0&&f.get(a).add(d));let g=b.toSorted((a,b)=>a.low-b.low||a.high-b.high||a.route-b.route),h=0;for(;g.length>0;){let a=g.filter(a=>[...f.get(a)].every(a=>!g.includes(a))),b=a.length>0?a:g,e=[];for(let a of b)e.some(b=>c(b,a))||(e.push(a),d[a.route][a.channel]=h);g=g.filter(a=>!e.includes(a)),h++}e.set(a,h)}return{of:d,counts:e}}(g,g.map((a,b)=>eL(a,h[b]))),j=Array.from({length:f},(b,c)=>Math.max(0,...a.filter(a=>a.row===c).map(({height:a})=>a))),k=(a,b,c)=>{let d=i.counts.get(`${a}:${b}`)??0;return 0!==d||g.some(({channels:c,start:d,from:e})=>0===c.length&&("x"===a?"right"===d&&e.column+1===b:!eK(d)&&("bottom"===d?e.row+1:e.row)===b))?Math.max(c,48+10*Math.max(0,d-1)):c},l=Array.from({length:e+1},(a,b)=>k("x",b,72*(0!==b&&b!==e))),m=Array.from({length:f+1},(a,c)=>k("y",c,0===c||c===f?0:b.has(c)?56:16)),n=eO(l,()=>280),o=eO(m,a=>j[a]),p=g.map((a,b)=>{var c;let d;return(d=(c=eI(a,h[b],a=>({x:n[a.column],y:o[a.row]}),c=>{let{axis:d,gap:e}=a.channels[c];return((a,b,c)=>{let[d,e,f]="x"===a?[l,n,()=>280]:[m,o,a=>j[a]],g=0===b?0:e[b-1]+f(b-1),h=i.counts.get(`${a}:${b}`);return g+(d[b]-(h-1)*10)/2+10*c})(d,e,i.of[b][c])})).filter((a,b)=>0===b||a.x!==c[b-1].x||a.y!==c[b-1].y)).filter((a,b)=>{let c=d[b-1],e=d[b+1];return!c||!e||(c.x!==a.x||a.x!==e.x)&&(c.y!==a.y||a.y!==e.y)})});return{columns:n,rows:o,points:p}}({nodes:e.map(({issue:a,column:d,row:e})=>({id:a.id,column:d-j,row:e-k,height:b.get(a.id)??c})),componentStarts:new Set([...f].map(a=>a-k)),edges:[...h,...i.map(({from:a,to:b,type:c})=>"related"===c&&l.get(b).column<l.get(a).column?{from:b,to:a}:{from:a,to:b})]}),n=e.map(({issue:a,column:d,row:e})=>({issue:a,x:m.columns[d-j],y:m.rows[e-k],height:b.get(a.id)??c}));return{nodes:n,nodeOf:new Map(n.map(a=>[a.issue.id,a])),edges:h.map((a,b)=>({...a,points:m.points[b]})),auxiliary:i.map((a,b)=>({...a,points:m.points[h.length+b]})),columns:m.columns}})({order:a,heights:e,nodeHeight:g,auxiliary:c}),[a,g,e,c]),i=(0,u.useMemo)(()=>h.edges.map(a=>(function(a,{from:b,to:c}){let d=b=>a.nodeOf.get(b).issue,e=d(b),f="closed"===e.status,g=[e,d(c)].find(({issueType:a})=>"gate"===a);return g?{kind:"human"===g.awaitType?"humanGate":"gate",resolved:f}:{kind:"blocks",resolved:f}})(h,a)),[h]);(0,u.useLayoutEffect)(()=>{let a=d.current;if(!a)return;let b=()=>{if(0===a.getBoundingClientRect().width)return;let b=new Map(Array.from(a.children,a=>[a.getAttribute("data-issue"),Math.max(g,Math.ceil(a.getBoundingClientRect().height))]));f(a=>b.size===a.size&&[...b].every(([b,c])=>a.get(b)===c)?a:b)};b();let c=new ResizeObserver(b);for(let b of a.children)c.observe(b);return()=>c.disconnect()},[a,g]);let j=(0,r.jsx)("div",{ref:d,"aria-hidden":!0,inert:!0,className:"pointer-events-none invisible fixed -left-[10000px] top-0",style:{width:280},children:h.nodes.map(({issue:a})=>(0,r.jsx)("div",{"data-issue":a.id,children:(0,r.jsx)(eB,{issue:a,href:"#",plan:b?{outside:!0,waiters:1}:void 0})},a.id))});return{layout:h,edgeLooks:i,measurement:j,ready:h.nodes.every(({issue:a})=>e.has(a.id))}}function eR({data:a,epicId:b,issueHref:c}){let d=(0,L.useMessages)(),e=(0,u.useMemo)(()=>{let c,d,e;return c=D(a,{kind:"epic",id:b}),d=function({issues:a,dependencies:b},c){let d=new Set(c.map(a=>a.id)),e=new Set(b.filter(({issueId:a,dependsOnId:b,type:c})=>"blocks"===c&&d.has(a)&&!d.has(b)).map(({dependsOnId:a})=>a));return a.filter(a=>e.has(a.id))}(a,c),{order:e=B([...c,...d],a.dependencies),outside:new Set(d.map(a=>a.id)),unordered:e.unlinked.filter(({issueType:a})=>"feature"!==a&&"epic"!==a).toSorted((a,b)=>Number("closed"===a.status)-Number("closed"===b.status)||(0,z.m)(a,b)),stages:function({components:a}){let b=a.map(C),c=Math.max(0,...b.map(a=>a.length)),d=Array.from({length:c},(a,b)=>b).find(a=>b.some(b=>(b[a]??[]).some(a=>"closed"!==a.status)));return{total:c,current:d??null}}(e)}},[a,b]),f=(0,u.useMemo)(()=>(0,ab.f)(a.issues),[a]),{layout:g,edgeLooks:h,measurement:i,ready:j}=eQ(e.order,!0),k=(0,u.useMemo)(()=>({stages:e.stages,outside:e.outside,waiters:f}),[e,f]),{total:l,current:m}=e.stages,n=(0,u.useRef)(null),[o,p]=(0,u.useState)(null),q=o??!0;return(0,u.useLayoutEffect)(()=>{let a=n.current;if(null!==o||!j||0===e.unordered.length||!a)return;let b=new ResizeObserver(()=>{0===a.clientWidth||p(.75*W(g,!0).width+80+2<=a.clientWidth)});return b.observe(a),()=>b.disconnect()},[o,g,j,e.unordered.length]),(0,r.jsxs)(r.Fragment,{children:[i,l>0&&(0,r.jsx)("p",{className:"text-sm text-base-content/70",children:null===m?d.graph.allStagesDone(l):d.graph.progress(m+1,l)}),e.order.cycles.length>0&&(0,r.jsxs)("div",{role:"alert",className:"alert alert-warning alert-soft flex-col items-start gap-1",children:[(0,r.jsx)("span",{children:d.graph.cycle}),(0,r.jsx)("ul",{className:"flex flex-col gap-0.5 font-mono text-xs",children:e.order.cycles.map(a=>(0,r.jsx)("li",{"aria-label":d.graph.cyclePath,children:a.map((a,b)=>(0,r.jsxs)(u.Fragment,{children:[b>0&&(0,r.jsx)("span",{"aria-hidden":!0,children:" → "}),(0,r.jsx)(s.default,{href:c(a),scroll:!1,className:"link link-hover",children:a})]},b))},a.join(" ")))})]}),(0,r.jsx)(V,{edgeLooks:h}),(0,r.jsxs)("div",{className:`flex min-h-0 flex-1 gap-4 ${q?"flex-col @2xl/plan:flex-row":"flex-col"}`,children:[(0,r.jsx)("div",{ref:n,className:"flex min-h-0 min-w-0 flex-1",children:g.nodes.length>0?(0,r.jsx)(eC,{ready:j,layout:g,edgeLooks:h,issueHref:c,plan:k}):(0,r.jsx)("p",{className:"flex-1 self-start rounded-box border border-dashed border-base-300 px-6 py-10 text-center text-sm text-base-content/55",children:d.graph.empty.epic})}),e.unordered.length>0&&(0,r.jsx)(eS,{issues:e.unordered,issueHref:c,waiters:f,expanded:q,onToggle:()=>p(!q)})]})]})}function eS({issues:a,issueHref:b,waiters:c,expanded:d,onToggle:e}){let f=(0,L.useMessages)();return(0,r.jsxs)("section",{"aria-label":f.graph.unordered,className:`flex shrink-0 flex-col overflow-hidden rounded-box border border-base-300 bg-base-200/40 ${d?"max-h-64 w-full @2xl/plan:max-h-none @2xl/plan:w-80":"order-first max-w-full self-end"}`,children:[(0,r.jsxs)("header",{className:"flex flex-col gap-1 px-3 py-2",children:[(0,r.jsxs)("div",{className:"flex items-center justify-between gap-3",children:[(0,r.jsxs)("h2",{className:"text-sm font-semibold",children:[f.graph.unordered," ",(0,r.jsx)("span",{className:"font-normal text-base-content/45 tabular-nums",children:a.length})]}),(0,r.jsx)("button",{type:"button",className:"btn btn-ghost btn-xs shrink-0","aria-expanded":d,"aria-label":d?f.graph.collapseUnordered:f.graph.expandUnordered,onClick:e,children:d?f.graph.collapse:f.graph.expand})]}),d&&(0,r.jsx)("p",{className:"text-xs text-base-content/55",children:f.graph.unorderedHint})]}),d&&(0,r.jsx)("ul",{className:"flex flex-col divide-y divide-base-300 overflow-y-auto px-3 pb-3",children:a.map(a=>(0,r.jsx)("li",{className:"shrink-0",children:(0,r.jsx)(eT,{issue:a,href:b(a.id),waiters:c.get(a.id)??0})},a.id))})]})}function eT({issue:a,href:b,waiters:c}){let d=(0,L.useMessages)(),e=(0,Z.N)(a);return(0,r.jsxs)("div",{className:`relative flex flex-col gap-1 rounded-lg px-2 py-3 text-xs transition hover:bg-base-200 ${"closed"===e?"opacity-50":""}`,children:[(0,r.jsx)(s.default,{href:b,scroll:!1,title:a.id,"aria-label":`${a.id} ${a.title}`,className:"absolute inset-0 rounded-lg"}),(0,r.jsxs)("span",{className:"flex items-center gap-1.5 text-base-content/55",children:[(0,r.jsx)(_.f,{issueType:a.issueType}),(0,r.jsx)("span",{"aria-hidden":!0,children:"·"}),(0,r.jsx)("span",{className:`tone-dot ${(0,$._)(e)}`}),(0,r.jsx)("span",{className:"min-w-0 truncate",children:d.workStates.labels[e]}),(0,r.jsx)(eA.f,{issueId:a.id,short:!0,className:"relative ml-auto shrink-0 rounded"})]}),(0,r.jsx)("span",{className:"text-sm leading-snug font-medium wrap-anywhere text-base-content",children:a.title}),(0,r.jsx)(aa.f,{count:c,className:"relative self-end"})]})}var eU=a.i(9465);function eV({scope:a}){let{data:b,error:c,loading:d}=(0,y.f)("graph",x),e=(0,K.n)(),f=(0,L.useMessages)(),g=(0,t.useSearchParams)(),h=(0,t.useRouter)(),i=(0,v.f)({queryOnly:!0}),j=(0,u.useRef)(null),k=(0,eU.F)(a,new URLSearchParams(g)),l=b?.issues.find(b=>b.id===a.id)?.title||a.id,m=`${l} \xb7 ${f.graph.scopes[a.kind]}`;return(0,J.p)(j),(0,r.jsxs)("dialog",{ref:j,className:"modal","aria-label":m,onClose:()=>h.replace(k,{scroll:!1}),onCancel:a=>{a.preventDefault(),(0,J.D)()||(g.has("issue")?i(a=>{a.delete("issue"),a.delete("side")}):h.replace(k,{scroll:!1}))},children:[(0,r.jsxs)("div",{className:"modal-box flex h-[94dvh] max-h-none w-[96vw] max-w-none flex-col overflow-hidden p-0",children:[(0,r.jsxs)("header",{className:"flex shrink-0 items-start gap-3 border-b border-base-300 px-5 py-3",children:[(0,r.jsxs)("h1",{className:"min-w-0 flex-1 text-base leading-snug font-semibold wrap-anywhere",children:[(0,r.jsx)(s.default,{href:e(a.id),scroll:!1,className:"decoration-base-content/30 underline-offset-4 hover:underline",children:l}),(0,r.jsxs)("span",{className:"text-base-content/50",children:[" · ",f.graph.scopes[a.kind]]})]}),d&&(0,r.jsx)("span",{className:"loading loading-spinner loading-xs","aria-label":f.common.loading}),(0,r.jsx)(I.f,{help:f.graph.help[a.kind],placement:"header-end"}),(0,r.jsx)(s.default,{href:k,scroll:!1,className:"btn btn-ghost btn-sm btn-square shrink-0","aria-label":f.common.close,children:(0,r.jsx)(G.U,{})})]}),(0,r.jsxs)("div",{className:"flex min-h-0 flex-1 flex-col overflow-y-auto xl:flex-row xl:overflow-hidden",children:[(0,r.jsxs)("div",{className:"flex @container/plan min-h-[40rem] min-w-0 shrink-0 flex-1 flex-col gap-3 p-4 xl:min-h-0 xl:shrink",children:[c&&(0,r.jsx)(H.f,{children:f.graph.loadFailed(c)}),b&&("epic"===a.kind?(0,r.jsx)(eR,{data:b,epicId:a.id,issueHref:e},`epic:${a.id}`):(0,r.jsx)(eW,{data:b,scope:a,issueHref:e},`center:${a.id}`))]}),(0,r.jsx)(K.Y,{embedded:!0})]})]}),(0,r.jsx)(J.X,{})]})}function eW({data:a,scope:b,issueHref:c}){let d=(0,L.useMessages)(),e=(0,u.useMemo)(()=>{var c;let d,e,f,g,h,i,{order:j,extra:k,auxiliary:l}=(c=b.id,e=new Set((d=E(a.issues,a.dependencies,c)).map(({id:a})=>a)),g=new Set((f=D(a,{kind:"center",id:c},d)).map(({id:a})=>a)),h=new Set,i=a.dependencies.flatMap(({issueId:a,dependsOnId:b,type:d})=>{if("related"!==d&&"discovered-from"!==d||a!==c&&b!==c||a===b||!g.has(a)||!g.has(b))return[];let e="related"===d?[a,b].sort():[b,a],f=`${d}:${e.join(":")}`;return h.has(f)?[]:(h.add(f),[{from:e[0],to:e[1],type:d}])}),{order:B(d,a.dependencies),extra:f.filter(({id:a})=>!e.has(a)),auxiliary:i});return{order:j,auxiliary:{center:a.issues.find(({id:a})=>a===b.id),issues:k,edges:l}}},[a,b]),{layout:f,edgeLooks:g,measurement:h,ready:i}=eQ(e.order,!1,e.auxiliary);return(0,r.jsxs)(r.Fragment,{children:[h,f.nodes.length>0?(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(V,{edgeLooks:g,auxiliary:e.auxiliary.edges}),(0,r.jsx)(eC,{layout:f,edgeLooks:g,ready:i,issueHref:c,centerId:b.id})]}):(0,r.jsx)("p",{className:"rounded-box border border-dashed border-base-300 px-6 py-10 text-center text-sm text-base-content/55",children:d.graph.empty.center})]})}a.s(["GraphScreen",0,function(){let a=(0,t.useSearchParams)(),b=(0,u.useMemo)(()=>(0,eU.p)(new URLSearchParams(a)),[a]);return b&&(0,r.jsx)(eV,{scope:b})}],927540)},607505,a=>{var b=a.i(978971),c=a.i(211578),d=a.i(856730),e=a.i(910373),f=a.i(454025),g=a.i(844101),h=a.i(496953),i=a.i(114614),j=a.i(880306),k=a.i(393008),l=a.i(311315),m=a.i(900847);let n={ko:"한국어",en:"English"};function o(){let a=(0,j.useLocale)(),c=(0,j.useMessages)(),e=(0,d.useRouter)();return(0,b.jsx)("select",{className:"select w-full","aria-label":c.settings.language,value:a,onChange:a=>{let b=a.target.value;(0,m.Y)(b)&&((0,l.b)(b),e.refresh())},children:m.H.map(a=>(0,b.jsx)("option",{value:a,children:n[a]},a))})}let p=["system","light","dark"];var q=a.i(864550);function r(){let a=(0,q.useTheme)(),c=(0,j.useMessages)(),e=(0,d.useRouter)();return(0,b.jsx)("select",{className:"select w-full","aria-label":c.settings.theme,value:a,onChange:a=>{let b=a.target.value;p.includes(b)&&(document.cookie=`beads-desk-theme=${b}; path=/; max-age=31536000; samesite=lax`,e.refresh())},children:p.map(a=>(0,b.jsx)("option",{value:a,children:c.settings.themes[a]},a))})}function s({onClose:a}){let c=(0,e.useRef)(null),d=(0,j.useMessages)();return(0,k.p)(c),(0,b.jsxs)("dialog",{ref:c,className:"modal","aria-label":d.settings.title,onClose:a,children:[(0,b.jsxs)("div",{className:"modal-box flex max-w-md flex-col gap-0 p-0",children:[(0,b.jsxs)("div",{className:"flex flex-col gap-5 px-7 pt-7 pb-6",children:[(0,b.jsx)("h2",{className:"text-xl font-bold tracking-tight",children:d.settings.title}),(0,b.jsxs)("label",{className:"flex flex-col gap-1.5",children:[(0,b.jsx)("span",{className:"caption",children:d.settings.theme}),(0,b.jsx)(r,{})]}),(0,b.jsxs)("label",{className:"flex flex-col gap-1.5",children:[(0,b.jsx)("span",{className:"caption",children:d.settings.language}),(0,b.jsx)(o,{})]})]}),(0,b.jsx)("div",{className:"flex items-center border-t border-base-300 bg-base-200/50 px-7 py-4",children:(0,b.jsx)("button",{type:"button",className:"btn btn-primary ml-auto",onClick:()=>c.current?.close(),children:d.common.close})})]}),(0,b.jsx)(k.X,{})]})}let t=[{tone:"tone-azure",color:"#bedafe"},{tone:"tone-lilac",color:"#e6cdf2"},{tone:"tone-mint",color:"#a7f3d1"},{tone:"tone-sand",color:"#fee1b9"}];var u=a.i(459922),v=a.i(619796);let w=(0,v.createServerReference)("405fe2d9ae820f3e31cae127f418bc1e1c5f849b7b",v.callServer,void 0,v.findSourceMapURL,"selectWorkspaceAction");async function x(a){try{return await w(a)}catch{return{ok:!1,error:(0,l.k)().common.requestFailed}}}var y=a.i(160624),z=a.i(470774);function A(){let{data:a}=(0,y.f)(),[c,d,e]=(0,z.f)(a?.current??"");return a?a.workspaces.length<=1?(0,b.jsxs)("span",{className:"flex min-w-0 max-w-48 items-center gap-1.5 text-sm text-base-content/60",title:a.current,children:[(0,b.jsx)(g.s,{width:15,height:15,className:"shrink-0"}),(0,b.jsx)("span",{className:"truncate",children:B(a.current)})]}):(0,b.jsxs)("label",{className:"relative flex min-w-0 max-w-48 items-center text-base-content/70",children:[(0,b.jsx)(g.s,{width:15,height:15,className:"pointer-events-none absolute left-2.5"}),(0,b.jsx)("select",{className:"ghost-select min-w-0 max-w-full pl-8","aria-label":"workspace",title:c,value:c,onChange:async a=>{let b=a.target.value;d(b);let c=await x(b);c.ok||(e(),window.alert(c.error))},children:a.workspaces.map(a=>(0,b.jsx)("option",{value:a,title:a,children:B(a)},a))})]}):null}function B(a){return a.split(/[\\/]/).filter(Boolean).at(-1)??a}function C(){return(0,b.jsx)("span",{className:"grid grid-cols-2 gap-0.5","aria-hidden":"true",children:t.map(({tone:a})=>(0,b.jsx)("span",{className:`tone-dot ${a} size-2`},a))})}a.s(["AppHeader",0,function(){let a=(0,d.usePathname)(),k=(0,d.useRouter)(),l=(0,h.n)(),m=(0,j.useMessages)(),n=(0,f.f)(),o=n.error?0:n.data??0,[p,q]=(0,e.useState)(!1),[r,t]=(0,e.useState)(!1);return(0,b.jsxs)("header",{className:"sticky top-0 z-20 shrink-0 border-b border-base-300 bg-base-100/85 backdrop-blur",children:[(0,b.jsxs)("div",{className:"mx-auto flex max-w-[96rem] flex-wrap items-center gap-x-4 gap-y-2 px-4 py-3 sm:px-8 xl:h-14 xl:flex-nowrap xl:gap-6 xl:py-0",children:[(0,b.jsxs)(c.default,{href:"/",className:"flex shrink-0 items-center gap-2.5",children:[(0,b.jsx)(C,{}),(0,b.jsx)("span",{className:"text-[15px] font-bold tracking-tight",children:"beads-desk"})]}),(0,b.jsx)("nav",{className:"order-last flex w-full min-w-0 items-center gap-1 overflow-x-auto xl:order-none xl:w-auto","aria-label":m.shell.screens,children:u.Y.map(d=>(0,b.jsxs)(c.default,{href:d.href,"aria-current":a===d.href?"page":void 0,className:`nav-tab ${d.tone}`,children:[m[d.screen].title,"/human"===d.href&&o>0&&(0,b.jsxs)("span",{className:"nav-tab-count",children:[(0,b.jsx)("span",{"aria-hidden":"true",children:o}),(0,b.jsxs)("span",{className:"sr-only",children:[" ",m.shell.awaitingCount(o)]})]})]},d.href))}),(0,b.jsxs)("div",{className:"ml-auto flex min-w-0 flex-1 items-center justify-end gap-2 sm:gap-3 xl:flex-none",children:[(0,b.jsx)(A,{}),(0,b.jsx)("button",{type:"button",className:"btn btn-ghost btn-sm btn-square shrink-0 text-base-content/70","aria-label":m.settings.title,onClick:()=>t(!0),children:(0,b.jsx)(g.t,{width:17,height:17})}),(0,b.jsxs)("button",{type:"button",className:"btn btn-primary btn-sm shrink-0 gap-1.5 rounded-full pr-4 pl-3",onClick:()=>q(!0),children:[(0,b.jsx)(g.z,{width:15,height:15}),m.shell.newIssue]})]})]}),r&&(0,b.jsx)(s,{onClose:()=>t(!1)}),p&&(0,b.jsx)(i.f,{onCreated:a=>{q(!1),k.push(l(a),{scroll:!1})},onClose:()=>q(!1)})]})}],607505)},864550,a=>{var b=a.i(978971),c=a.i(910373);let d=(0,c.createContext)("system");a.s(["ThemeProvider",0,function({theme:a,children:c}){return(0,b.jsx)(d,{value:a,children:c})},"useTheme",0,function(){return(0,c.use)(d)}])}]})();
1
+ (()=>{"use strict";module.exports=[596461,a=>{var b=a.i(27561);a.s(["KeyboardFocusMode",0,function(){return(0,b.useEffect)(()=>{let a=document.documentElement,b=b=>{"Tab"===b.key&&(a.dataset.keyboardFocus="")},c=()=>{delete a.dataset.keyboardFocus};return window.addEventListener("keydown",b,!0),window.addEventListener("pointerdown",c,!0),()=>{window.removeEventListener("keydown",b,!0),window.removeEventListener("pointerdown",c,!0)}},[]),null}])},927540,a=>{var b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r=a.i(510666),s=a.i(600373),t=a.i(135085),u=a.i(27561),v=a.i(982839),w=a.i(480872);function x(){return(0,w.f)("/api/graph")}var y=a.i(700780),z=a.i(655780);function A(a){return a.layers.reduce((a,b)=>a+b.length,0)}function B(a,b){var c,d,e;let f,g,h,i=new Map(a.map(a=>[a.id,a]));return g=new Set((d=i,e=b,f=new Set,c=e.flatMap(({issueId:a,dependsOnId:b,type:c})=>{let e=`${b}
2
+ ${a}`;return"blocks"!==c||a===b||f.has(e)||!d.has(a)||!d.has(b)?[]:(f.add(e),[{from:b,to:a}])})).flatMap(a=>[a.from,a.to])),{components:(h=(function(a,b){let c=new Map(a.map(a=>[a.id,a.id])),d=a=>{let b=c.get(a);if(b===a)return a;let e=d(b);return c.set(a,e),e};for(let{from:a,to:e}of b)c.set(d(a),d(e));let e=new Map;for(let b of a){let a=d(b.id);e.set(a,[...e.get(a)??[],b])}return[...e.values()]})(a.filter(a=>g.has(a.id)),c).map(a=>(function(a,b){let c=new Set(a.map(a=>a.id)),d=b.filter(a=>c.has(a.from)),e=new Map;for(let{from:a,to:b}of d)e.set(a,[...e.get(a)??[],b]);let f=function(a,b){let c=new Map,d=new Map,e=[],f=new Set,g=[],h=a=>{for(let g of(c.set(a,c.size),d.set(a,c.get(a)),e.push(a),f.add(a),b.get(a)??[]))c.has(g)?f.has(g)&&d.set(a,Math.min(d.get(a),c.get(g))):(h(g),d.set(a,Math.min(d.get(a),d.get(g))));if(d.get(a)===c.get(a)){let b,c=[];do b=e.pop(),f.delete(b),c.push(b);while(b!==a)g.push(c)}};for(let b of a)c.has(b.id)||h(b.id);return g}(a,e),g=function(a,b){let c=new Map(a.flatMap((a,b)=>a.map(a=>[a,b]))),d=a.map(()=>0);for(let e=a.length-1;e>=0;e--)for(let f of a[e])for(let a of b.get(f)??[]){let b=c.get(a);b!==e&&(d[b]=Math.max(d[b],d[e]+1))}return new Map([...c].map(([a,b])=>[a,d[b]]))}(f,e),h=[];for(let b of a)(h[g.get(b.id)]??=[]).push(b);let i=new Map;return h.forEach((a,b)=>{let c=({id:a})=>{let c=d.filter(c=>c.to===a&&g.get(c.from)<b).map(a=>i.get(a.from));return c.length>0?c.reduce((a,b)=>a+b,0)/c.length:0};a.sort((a,b)=>c(a)-c(b)||(0,z.m)(a,b)),a.forEach(({id:a},b)=>i.set(a,b))}),{component:{layers:h,edges:d},cycles:f.filter(a=>a.length>1).map(a=>(function(a,b){let c=new Set(a),d=a.at(-1),e=new Map,f=[d];for(let a=0;a<f.length;a++){let g=f[a];for(let a of b.get(g)??[]){if(a===d){let a=[d];for(let b=g;b!==d;b=e.get(b))a.splice(1,0,b);return[...a,d]}!c.has(a)||e.has(a)||(e.set(a,g),f.push(a))}}return[d,d]})(a,e))}})(a,c)).sort((a,b)=>A(b.component)-A(a.component))).map(({component:a})=>a),unlinked:a.filter(a=>!g.has(a.id)),cycles:h.flatMap(({cycles:a})=>a)}}function C({layers:a}){return a.map(a=>a.filter(({issueType:a})=>"gate"!==a)).filter(a=>a.length>0)}function D({issues:a,dependencies:b,ancestorEpics:c},d,e){if("epic"===d.kind)return a.filter(a=>c[a.id]?.includes(d.id));let f=new Set((e??E(a,b,d.id)).map(({id:a})=>a));for(let{issueId:a,dependsOnId:c,type:e}of b)("related"===e||"discovered-from"===e)&&(a===d.id&&f.add(c),c===d.id&&f.add(a));return a.filter(({id:a})=>f.has(a))}function E(a,b,c){let d=new Set(a.map(a=>a.id)),e=new Map,f=new Map;for(let{issueId:a,dependsOnId:c,type:g}of b)"blocks"===g&&d.has(a)&&d.has(c)&&(e.set(a,[...e.get(a)??[],c]),f.set(c,[...f.get(c)??[],a]));let g=new Set([c,...F(c,e),...F(c,f)]);return a.filter(a=>g.has(a.id))}function F(a,b){let c=new Set,d=[a];for(;d.length>0;)for(let a of b.get(d.pop())??[])c.has(a)||(c.add(a),d.push(a));return c}var G=a.i(844101),H=a.i(861481),I=a.i(539224),J=a.i(393008),K=a.i(496953),L=a.i(880306);let M=["blocks","gate","humanGate","related","discovered"],N=new Set(["blocks","gate","humanGate","discovered"]);function O(a){return{kind:"related"===a?"related":"discovered",resolved:!1}}let P=a=>`color-mix(in oklab, var(--color-base-content) ${a}%, var(--color-base-100))`,Q={blocks:{color:P(75),resolvedColor:P(50),width:2},gate:{color:P(75),resolvedColor:P(50),width:3},humanGate:{color:"var(--color-lavender-line)",resolvedColor:"color-mix(in oklab, var(--color-lavender-line) 75%, var(--color-base-100))",width:3},related:{color:P(60),width:1.5,dash:"0 4",linecap:"round"},discovered:{color:P(60),width:1.5,dash:"6 4",arrow:"hollow"}};function R({kind:a,resolved:b}){let c=Q[a];return b?c.resolvedColor??c.color:c.color}function S(a){let{width:b,dash:c,linecap:d}=Q[a.kind];return{stroke:R(a),strokeWidth:b,strokeDasharray:c,strokeLinecap:d}}function T(a,b){var c;if(c=b.kind,N.has(c))return`${a}-${b.kind}${b.resolved?"-resolved":""}`}function U({idPrefix:a}){let b=M.flatMap(a=>Q[a].resolvedColor?[{kind:a,resolved:!1},{kind:a,resolved:!0}]:[{kind:a,resolved:!1}]);return(0,r.jsx)("svg",{"aria-hidden":!0,className:"absolute size-0",children:(0,r.jsx)("defs",{children:b.map(b=>{let c=T(a,b);if(!c)return null;let d=R(b),e="hollow"===Q[b.kind].arrow;return(0,r.jsx)("marker",{id:c,markerUnits:"userSpaceOnUse",markerWidth:12,markerHeight:10,viewBox:"0 0 12 10",refX:12,refY:5,orient:"auto",overflow:"visible",children:(0,r.jsx)("path",{d:"M0,0 L12,5 L0,10 Z",style:e?{fill:"var(--color-base-100)",stroke:d,strokeWidth:1.5}:{fill:d,stroke:"none"}})},c)})})})}function V({edgeLooks:a,auxiliary:b=[]}){let c,d=(0,L.useMessages)(),e=`legend${(0,u.useId)().replace(/\W/g,"")}`,f=(c=new Set([...a.map(({kind:a})=>a),...b.map(({type:a})=>O(a).kind)]),M.filter(a=>c.has(a)));return 0===f.length?null:(0,r.jsxs)("div",{className:"@container relative flex flex-wrap gap-x-4 gap-y-1 text-xs text-base-content/65","aria-label":d.graph.legend,children:[(0,r.jsx)(U,{idPrefix:e}),f.map(a=>{let b={kind:a,resolved:!1},c=T(e,b);return(0,r.jsxs)("span",{className:"flex items-center gap-1.5",children:[(0,r.jsx)("svg",{"aria-hidden":!0,"data-edge":a,width:32,height:12,className:"shrink-0 overflow-visible",children:(0,r.jsx)("path",{d:`M1,${6} L${31},${6}`,fill:"none",style:S(b),markerEnd:c&&`url(#${c})`})}),d.graph.edgeLegend[a],(0,r.jsx)(I.f,{help:d.graph.edgeLegendHelp[a]})]},a)})]})}function W(a,b){let c=[...a.edges,...a.auxiliary].flatMap(({points:a})=>a),d=Math.min(0,...a.nodes.map(a=>a.x),...c.map(({x:a})=>a)),e=Math.min(0,...a.nodes.map(a=>a.y))-32*!!b;return{x:d,y:e,width:Math.max(0,...a.nodes.map(a=>a.x+280),...c.map(({x:a})=>a))-d,height:Math.max(0,...a.nodes.map(a=>a.y+a.height),...c.map(({y:a})=>a))-e}}function X({x:a,y:b,anchor:c},d,e,f){return{x:d/2-a*f,y:("center"===c?e/2:40)-b*f,zoom:f}}function Y(a,b,c,d,e){let f=W(a,d),g=Math.min((b-80)/Math.max(1,f.width),(c-80)/Math.max(1,f.height)),h=Math.max(.75,Math.min(1.25,g));return e&&g<.75?X(e,b,c,h):{x:(b-f.width*h)/2-f.x*h,y:(c-f.height*h)/2-f.y*h,zoom:h}}a.i(801374);var Z=a.i(284295),$=a.i(395126),_=a.i(967460),aa=a.i(303632),ab=a.i(65024);function ac(a){if("string"==typeof a||"number"==typeof a)return""+a;let b="";if(Array.isArray(a))for(let c=0,d;c<a.length;c++)""!==(d=ac(a[c]))&&(b+=(b&&" ")+d);else for(let c in a)a[c]&&(b+=(b&&" ")+c);return b}var ad=a.i(781078),ae=a.i(455784),af=a.i(34669),ag=a.i(314600),ah=a.i(624894);let ai=a=>()=>a;function aj(a,{sourceEvent:b,subject:c,target:d,identifier:e,active:f,x:g,y:h,dx:i,dy:j,dispatch:k}){Object.defineProperties(this,{type:{value:a,enumerable:!0,configurable:!0},sourceEvent:{value:b,enumerable:!0,configurable:!0},subject:{value:c,enumerable:!0,configurable:!0},target:{value:d,enumerable:!0,configurable:!0},identifier:{value:e,enumerable:!0,configurable:!0},active:{value:f,enumerable:!0,configurable:!0},x:{value:g,enumerable:!0,configurable:!0},y:{value:h,enumerable:!0,configurable:!0},dx:{value:i,enumerable:!0,configurable:!0},dy:{value:j,enumerable:!0,configurable:!0},_:{value:k}})}function ak(a){return!a.ctrlKey&&!a.button}function al(){return this.parentNode}function am(a,b){return null==b?{x:a.x,y:a.y}:b}function an(){return navigator.maxTouchPoints||"ontouchstart"in this}function ao(){var a,b,c,d,e=ak,f=al,g=am,h=an,i={},j=(0,ad.f)("start","drag","end"),k=0,l=0;function m(a){a.on("mousedown.drag",n).filter(h).on("touchstart.drag",q).on("touchmove.drag",r,ah._).on("touchend.drag touchcancel.drag",s).style("touch-action","none").style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}function n(g,h){if(!d&&e.call(this,g,h)){var i=t(this,f.call(this,g,h),g,h,"mouse");i&&((0,ae.f)(g.view).on("mousemove.drag",o,ah.w).on("mouseup.drag",p,ah.w),(0,ag.U)(g.view),(0,ah.Z)(g),c=!1,a=g.clientX,b=g.clientY,i("start",g))}}function o(d){if((0,ah.U)(d),!c){var e=d.clientX-a,f=d.clientY-b;c=e*e+f*f>l}i.mouse("drag",d)}function p(a){(0,ae.f)(a.view).on("mousemove.drag mouseup.drag",null),(0,ag.L)(a.view,c),(0,ah.U)(a),i.mouse("end",a)}function q(a,b){if(e.call(this,a,b)){var c,d,g=a.changedTouches,h=f.call(this,a,b),i=g.length;for(c=0;c<i;++c)(d=t(this,h,a,b,g[c].identifier,g[c]))&&((0,ah.Z)(a),d("start",a,g[c]))}}function r(a){var b,c,d=a.changedTouches,e=d.length;for(b=0;b<e;++b)(c=i[d[b].identifier])&&((0,ah.U)(a),c("drag",a,d[b]))}function s(a){var b,c,e=a.changedTouches,f=e.length;for(d&&clearTimeout(d),d=setTimeout(function(){d=null},500),b=0;b<f;++b)(c=i[e[b].identifier])&&((0,ah.Z)(a),c("end",a,e[b]))}function t(a,b,c,d,e,f){var h,l,n,o=j.copy(),p=(0,af.f)(f||c,b);if(null!=(n=g.call(a,new aj("beforestart",{sourceEvent:c,target:m,identifier:e,active:k,x:p[0],y:p[1],dx:0,dy:0,dispatch:o}),d)))return h=n.x-p[0]||0,l=n.y-p[1]||0,function c(f,g,j){var q,r=p;switch(f){case"start":i[e]=c,q=k++;break;case"end":delete i[e],--k;case"drag":p=(0,af.f)(j||g,b),q=k}o.call(f,a,new aj(f,{sourceEvent:g,subject:n,target:m,identifier:e,active:q,x:p[0]+h,y:p[1]+l,dx:p[0]-r[0],dy:p[1]-r[1],dispatch:o}),d)}}return m.filter=function(a){return arguments.length?(e="function"==typeof a?a:ai(!!a),m):e},m.container=function(a){return arguments.length?(f="function"==typeof a?a:ai(a),m):f},m.subject=function(a){return arguments.length?(g="function"==typeof a?a:ai(a),m):g},m.touchable=function(a){return arguments.length?(h="function"==typeof a?a:ai(!!a),m):h},m.on=function(){var a=j.on.apply(j,arguments);return a===j?m:a},m.clickDistance=function(a){return arguments.length?(l=(a*=1)*a,m):Math.sqrt(l)},m}aj.prototype.on=function(){var a=this._.on.apply(this._,arguments);return a===this._?this:a},a.i(633534);var ap=a.i(455376),ap=ap,aq=a.i(83356),aq=aq,ar=aq,as=a.i(238018),at=a.i(86915);let au=[[-1/0,-1/0],[1/0,1/0]],av=["Enter"," ","Escape"],aw={"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:a,x:b,y:c})=>`Moved selected node ${a}. New position, x: ${b}, y: ${c}`,"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"};(b=j||(j={})).Strict="strict",b.Loose="loose",(c=k||(k={})).Free="free",c.Vertical="vertical",c.Horizontal="horizontal",(d=l||(l={})).Partial="partial",d.Full="full";let ax={inProgress:!1,isValid:null,from:null,fromHandle:null,fromPosition:null,fromNode:null,to:null,toHandle:null,toPosition:null,toNode:null,pointer:null};(e=m||(m={})).Bezier="default",e.Straight="straight",e.Step="step",e.SmoothStep="smoothstep",e.SimpleBezier="simplebezier",(f=n||(n={})).Arrow="arrow",f.ArrowClosed="arrowclosed",(g=o||(o={})).Left="left",g.Top="top",g.Right="right",g.Bottom="bottom";let ay={[o.Left]:o.Right,[o.Right]:o.Left,[o.Top]:o.Bottom,[o.Bottom]:o.Top},az=a=>!!a&&"object"==typeof a&&"id"in a&&"source"in a&&"target"in a,aA=a=>!!a&&"object"==typeof a&&"id"in a&&"internals"in a&&!("source"in a)&&!("target"in a),aB=(a,b=[0,0])=>{let{width:c,height:d}=a2(a),e=a.origin??b,f=c*e[0],g=d*e[1];return{x:a.position.x-f,y:a.position.y-g}},aC=(a,b={})=>{let c={x:1/0,y:1/0,x2:-1/0,y2:-1/0},d=!1;return a.forEach(a=>{(void 0===b.filter||b.filter(a))&&(c=aM(c,aQ(a)),d=!0)}),d?aO(c):{x:0,y:0,width:0,height:0}},aD=(a,b,[c,d,e]=[0,0,1],f=!1,g=!1)=>{let h=(b.x-c)/e,i=(b.y-d)/e,j=b.width/e,k=b.height/e,l=[];for(let b of a.values()){let{measured:a,selectable:c=!0,hidden:d=!1}=b;if(g&&!c||d)continue;let e=a.width??b.width??b.initialWidth??0,m=a.height??b.height??b.initialHeight??0,{x:n,y:o}=b.internals.positionAbsolute,p=aS(h,i,j,k,n,o,e,m),q=e*m,r=f&&p>0;(!b.internals.handleBounds||r||p>=q||b.dragging)&&l.push(b)}return l};async function aE({nodes:a,width:b,height:c,panZoom:d,minZoom:e,maxZoom:f},g){let h,i;if(0===a.size)return!0;let j=a_(aC((h=new Map,i=g?.nodes?new Set(g.nodes.map(a=>a.id)):null,a.forEach(a=>{let b;if(g?.includeHiddenNodes){let{width:c,height:d}=a2(a);b=c>0&&d>0}else b=!!(a.measured.width&&a.measured.height&&!a.hidden);b&&(!i||i.has(a.id))&&h.set(a.id,a)}),h)),b,c,g?.minZoom??e,g?.maxZoom??f,g?.padding??.1);return await d.setViewport(j,{duration:g?.duration,ease:g?.ease,interpolate:g?.interpolate}),!0}function aF({nodeId:a,nextPosition:b,nodeLookup:c,nodeOrigin:d=[0,0],nodeExtent:e,onError:f}){let g=c.get(a),h=g.parentId?c.get(g.parentId):void 0,{x:i,y:j}=h?h.internals.positionAbsolute:{x:0,y:0},k=g.origin??d,l=g.extent||e;if("parent"!==g.extent||g.expandParent)h&&a1(g.extent)&&(l=[[g.extent[0][0]+i,g.extent[0][1]+j],[g.extent[1][0]+i,g.extent[1][1]+j]]);else if(h){let{width:a,height:b}=a2(h);a&&b&&(l=[[i,j],[i+a,j+b]])}else f?.("005","Only child nodes can use a parent extent.");let m=a1(l)?aI(b,l,g.measured):b;return(void 0===g.measured.width||void 0===g.measured.height)&&f?.("015","It seems that you are trying to drag a node that is not initialized. Please use onNodesChange as explained in the docs."),{position:{x:m.x-i+(g.measured.width??0)*k[0],y:m.y-j+(g.measured.height??0)*k[1]},positionAbsolute:m}}async function aG({nodesToRemove:a=[],edgesToRemove:b=[],nodes:c,edges:d,onBeforeDelete:e}){let f,g=new Set(a.map(a=>a.id)),h=[];for(let a of c){if(!1===a.deletable)continue;let b=g.has(a.id),c=!b&&a.parentId&&h.find(b=>b.id===a.parentId);(b||c)&&h.push(a)}let i=new Set(b.map(a=>a.id)),j=d.filter(a=>!1!==a.deletable),k=(f=new Set,h.forEach(a=>{f.add(a.id)}),j.filter(a=>f.has(a.source)||f.has(a.target)));for(let a of j)i.has(a.id)&&!k.find(b=>b.id===a.id)&&k.push(a);if(!e)return{edges:k,nodes:h};let l=await e({nodes:h,edges:k});return"boolean"==typeof l?l?{edges:k,nodes:h}:{edges:[],nodes:[]}:l}let aH=(a,b=0,c=1)=>Math.min(Math.max(a,b),c),aI=(a={x:0,y:0},b,c)=>({x:aH(a.x,b[0][0],b[1][0]-(c?.width??0)),y:aH(a.y,b[0][1],b[1][1]-(c?.height??0))});function aJ(a,b,c){let{width:d,height:e}=a2(c),{x:f,y:g}=c.internals.positionAbsolute;return aI(a,[[f,g],[f+d,g+e]],b)}let aK=(a,b,c)=>a<b?aH(Math.abs(a-b),1,b)/b:a>c?-aH(Math.abs(a-c),1,b)/b:0,aL=(a,b,c=15,d=40)=>[aK(a.x,d,b.width-d)*c,aK(a.y,d,b.height-d)*c],aM=(a,b)=>({x:Math.min(a.x,b.x),y:Math.min(a.y,b.y),x2:Math.max(a.x2,b.x2),y2:Math.max(a.y2,b.y2)}),aN=({x:a,y:b,width:c,height:d})=>({x:a,y:b,x2:a+c,y2:b+d}),aO=({x:a,y:b,x2:c,y2:d})=>({x:a,y:b,width:c-a,height:d-b}),aP=(a,b=[0,0])=>{let{x:c,y:d}=aA(a)?a.internals.positionAbsolute:aB(a,b);return{x:c,y:d,width:a.measured?.width??a.width??a.initialWidth??0,height:a.measured?.height??a.height??a.initialHeight??0}},aQ=(a,b=[0,0])=>{let{x:c,y:d}=aA(a)?a.internals.positionAbsolute:aB(a,b);return{x:c,y:d,x2:c+(a.measured?.width??a.width??a.initialWidth??0),y2:d+(a.measured?.height??a.height??a.initialHeight??0)}},aR=(a,b)=>aO(aM(aN(a),aN(b))),aS=(a,b,c,d,e,f,g,h)=>Math.ceil(Math.max(0,Math.min(a+c,e+g)-Math.max(a,e))*Math.max(0,Math.min(b+d,f+h)-Math.max(b,f))),aT=(a,b)=>aS(a.x,a.y,a.width,a.height,b.x,b.y,b.width,b.height),aU=a=>aV(a.width)&&aV(a.height)&&aV(a.x)&&aV(a.y),aV=a=>!isNaN(a)&&isFinite(a),aW=(a,b)=>(a,b)=>{},aX=(a,b=[1,1])=>({x:b[0]*Math.round(a.x/b[0]),y:b[1]*Math.round(a.y/b[1])}),aY=({x:a,y:b},[c,d,e],f=!1,g=[1,1])=>{let h={x:(a-c)/e,y:(b-d)/e};return f?aX(h,g):h},aZ=({x:a,y:b},[c,d,e])=>({x:a*e+c,y:b*e+d});function a$(a,b){if("number"==typeof a)return Math.floor((b-b/(1+a))*.5);if("string"==typeof a&&a.endsWith("px")){let b=parseFloat(a);if(!Number.isNaN(b))return Math.floor(b)}if("string"==typeof a&&a.endsWith("%")){let c=parseFloat(a);if(!Number.isNaN(c))return Math.floor(b*c*.01)}return console.error(`The padding value "${a}" is invalid. Please provide a number or a string with a valid unit (px or %).`),0}let a_=(a,b,c,d,e,f)=>{let g=function(a,b,c){if("string"==typeof a||"number"==typeof a){let d=a$(a,c),e=a$(a,b);return{top:d,right:e,bottom:d,left:e,x:2*e,y:2*d}}if("object"==typeof a){let d=a$(a.top??a.y??0,c),e=a$(a.bottom??a.y??0,c),f=a$(a.left??a.x??0,b),g=a$(a.right??a.x??0,b);return{top:d,right:g,bottom:e,left:f,x:f+g,y:d+e}}return{top:0,right:0,bottom:0,left:0,x:0,y:0}}(f,b,c),h=aH(Math.min((b-g.x)/a.width,(c-g.y)/a.height),d,e),i=a.x+a.width/2,j=a.y+a.height/2,k=b/2-i*h,l=c/2-j*h,m=function(a,b,c,d,e,f){let{x:g,y:h}=aZ(a,[b,c,d]),{x:i,y:j}=aZ({x:a.x+a.width,y:a.y+a.height},[b,c,d]);return{left:Math.floor(g),top:Math.floor(h),right:Math.floor(e-i),bottom:Math.floor(f-j)}}(a,k,l,h,b,c),n={left:Math.min(m.left-g.left,0),top:Math.min(m.top-g.top,0),right:Math.min(m.right-g.right,0),bottom:Math.min(m.bottom-g.bottom,0)};return{x:k-n.left+n.right,y:l-n.top+n.bottom,zoom:h}},a0=()=>"u">typeof navigator&&navigator?.userAgent?.indexOf("Mac")>=0;function a1(a){return null!=a&&"parent"!==a}function a2(a){return{width:a.measured?.width??a.width??a.initialWidth??0,height:a.measured?.height??a.height??a.initialHeight??0}}function a3(a){return(a.measured?.width??a.width??a.initialWidth)!==void 0&&(a.measured?.height??a.height??a.initialHeight)!==void 0}function a4(a,b={width:0,height:0},c,d,e){let f={...a},g=d.get(c);if(g){let a=g.origin||e;f.x+=g.internals.positionAbsolute.x-(b.width??0)*a[0],f.y+=g.internals.positionAbsolute.y-(b.height??0)*a[1]}return f}function a5(a,b){if(a.size!==b.size)return!1;for(let c of a)if(!b.has(c))return!1;return!0}function a6(a){return null===a?null:a?"valid":"invalid"}function a7(a,{snapGrid:b=[0,0],snapToGrid:c=!1,transform:d,containerBounds:e}){let{x:f,y:g}=bc(a),h=aY({x:f-(e?.left??0),y:g-(e?.top??0)},d),{x:i,y:j}=c?aX(h,b):h;return{xSnapped:i,ySnapped:j,...h}}let a8=a=>({width:a.offsetWidth,height:a.offsetHeight}),a9=a=>a?.getRootNode?.()||window?.document,ba=["INPUT","SELECT","TEXTAREA"];function bb(a){let b=a.composedPath?.()?.[0]||a.target;return b?.nodeType===1&&(ba.includes(b.nodeName)||b.hasAttribute("contenteditable")||!!b.closest(".nokey"))}let bc=(a,b)=>{let c="clientX"in a,d=c?a.clientX:a.touches?.[0].clientX,e=c?a.clientY:a.touches?.[0].clientY;return{x:d-(b?.left??0),y:e-(b?.top??0)}},bd=(a,b,c,d,e)=>{let f=b.querySelectorAll(`.${a}`);return f&&f.length?Array.from(f).map(b=>{let f=b.getBoundingClientRect();return{id:b.getAttribute("data-handleid"),type:a,nodeId:e,position:b.getAttribute("data-handlepos"),x:(f.left-c.left)/d,y:(f.top-c.top)/d,...a8(b)}}):null};function be({sourceX:a,sourceY:b,targetX:c,targetY:d,sourceControlX:e,sourceControlY:f,targetControlX:g,targetControlY:h}){let i=.125*a+.375*e+.375*g+.125*c,j=.125*b+.375*f+.375*h+.125*d,k=Math.abs(i-a),l=Math.abs(j-b);return[i,j,k,l]}function bf(a,b){return a>=0?.5*a:25*b*Math.sqrt(-a)}function bg({pos:a,x1:b,y1:c,x2:d,y2:e,c:f}){switch(a){case o.Left:return[b-bf(b-d,f),c];case o.Right:return[b+bf(d-b,f),c];case o.Top:return[b,c-bf(c-e,f)];case o.Bottom:return[b,c+bf(e-c,f)]}}function bh({sourceX:a,sourceY:b,sourcePosition:c=o.Bottom,targetX:d,targetY:e,targetPosition:f=o.Top,curvature:g=.25}){let[h,i]=bg({pos:c,x1:a,y1:b,x2:d,y2:e,c:g}),[j,k]=bg({pos:f,x1:d,y1:e,x2:a,y2:b,c:g}),[l,m,n,p]=be({sourceX:a,sourceY:b,targetX:d,targetY:e,sourceControlX:h,sourceControlY:i,targetControlX:j,targetControlY:k});return[`M${a},${b} C${h},${i} ${j},${k} ${d},${e}`,l,m,n,p]}function bi({sourceX:a,sourceY:b,targetX:c,targetY:d}){let e=Math.abs(c-a)/2,f=Math.abs(d-b)/2;return[c<a?c+e:c-e,d<b?d+f:d-f,e,f]}let bj=({source:a,sourceHandle:b,target:c,targetHandle:d})=>`xy-edge__${a}${b||""}-${c}${d||""}`;function bk({sourceX:a,sourceY:b,targetX:c,targetY:d}){let[e,f,g,h]=bi({sourceX:a,sourceY:b,targetX:c,targetY:d});return[`M ${a},${b}L ${c},${d}`,e,f,g,h]}let bl={[o.Left]:{x:-1,y:0},[o.Right]:{x:1,y:0},[o.Top]:{x:0,y:-1},[o.Bottom]:{x:0,y:1}},bm=(a,b)=>Math.sqrt(Math.pow(b.x-a.x,2)+Math.pow(b.y-a.y,2));function bn({sourceX:a,sourceY:b,sourcePosition:c=o.Bottom,targetX:d,targetY:e,targetPosition:f=o.Top,borderRadius:g=5,centerX:h,centerY:i,offset:j=20,stepPosition:k=.5}){let[l,m,n,p,q]=function({source:a,sourcePosition:b=o.Bottom,target:c,targetPosition:d=o.Top,center:e,offset:f,stepPosition:g}){let h,i,j=bl[b],k=bl[d],l={x:a.x+j.x*f,y:a.y+j.y*f},m={x:c.x+k.x*f,y:c.y+k.y*f},n=(({source:a,sourcePosition:b=o.Bottom,target:c})=>b===o.Left||b===o.Right?a.x<c.x?{x:1,y:0}:{x:-1,y:0}:a.y<c.y?{x:0,y:1}:{x:0,y:-1})({source:l,sourcePosition:b,target:m}),p=0!==n.x?"x":"y",q=n[p],r=[],s={x:0,y:0},t={x:0,y:0},[,,u,v]=bi({sourceX:a.x,sourceY:a.y,targetX:c.x,targetY:c.y});if(j[p]*k[p]==-1){"x"===p?(h=e.x??l.x+(m.x-l.x)*g,i=e.y??(l.y+m.y)/2):(h=e.x??(l.x+m.x)/2,i=e.y??l.y+(m.y-l.y)*g);let a=[{x:h,y:l.y},{x:h,y:m.y}],b=[{x:l.x,y:i},{x:m.x,y:i}];r=j[p]===q?"x"===p?a:b:"x"===p?b:a}else{let e=[{x:l.x,y:m.y}],g=[{x:m.x,y:l.y}];if(r="x"===p?j.x===q?g:e:j.y===q?e:g,b===d){let b=Math.abs(a[p]-c[p]);if(b<=f){let d=Math.min(f-1,f-b);j[p]===q?s[p]=(l[p]>a[p]?-1:1)*d:t[p]=(m[p]>c[p]?-1:1)*d}}if(b!==d){let a="x"===p?"y":"x",b=j[p]===k[a],c=l[a]>m[a],d=l[a]<m[a];(1===j[p]&&(!b&&c||b&&d)||1!==j[p]&&(!b&&d||b&&c))&&(r="x"===p?e:g)}let n={x:l.x+s.x,y:l.y+s.y},o={x:m.x+t.x,y:m.y+t.y};Math.max(Math.abs(n.x-r[0].x),Math.abs(o.x-r[0].x))>=Math.max(Math.abs(n.y-r[0].y),Math.abs(o.y-r[0].y))?(h=(n.x+o.x)/2,i=r[0].y):(h=r[0].x,i=(n.y+o.y)/2)}let w={x:l.x+s.x,y:l.y+s.y},x={x:m.x+t.x,y:m.y+t.y};return[[a,...w.x!==r[0].x||w.y!==r[0].y?[w]:[],...r,...x.x!==r[r.length-1].x||x.y!==r[r.length-1].y?[x]:[],c],h,i,u,v]}({source:{x:a,y:b},sourcePosition:c,target:{x:d,y:e},targetPosition:f,center:{x:h,y:i},offset:j,stepPosition:k}),r=`M${l[0].x} ${l[0].y}`;for(let a=1;a<l.length-1;a++)r+=function(a,b,c,d){let e=Math.min(bm(a,b)/2,bm(b,c)/2,d),{x:f,y:g}=b;if(a.x===f&&f===c.x||a.y===g&&g===c.y)return`L${f} ${g}`;if(a.y===g){let b=a.x<c.x?-1:1,d=a.y<c.y?1:-1;return`L ${f+e*b},${g}Q ${f},${g} ${f},${g+e*d}`}let h=a.x<c.x?1:-1,i=a.y<c.y?-1:1;return`L ${f},${g+e*i}Q ${f},${g} ${f+e*h},${g}`}(l[a-1],l[a],l[a+1],g);return[r+=`L${l[l.length-1].x} ${l[l.length-1].y}`,m,n,p,q]}function bo(a){return a&&!!(a.internals.handleBounds||a.handles?.length)&&!!(a.measured.width||a.width||a.initialWidth)}function bp(a){if(!a)return null;let b=[],c=[];for(let d of a)d.width=d.width??1,d.height=d.height??1,"source"===d.type?b.push(d):"target"===d.type&&c.push(d);return{source:b,target:c}}function bq(a,b,c=o.Left,d=!1){let e=(b?.x??0)+a.internals.positionAbsolute.x,f=(b?.y??0)+a.internals.positionAbsolute.y,{width:g,height:h}=b??a2(a);if(d)return{x:e+g/2,y:f+h/2};switch(b?.position??c){case o.Top:return{x:e+g/2,y:f};case o.Right:return{x:e+g,y:f+h/2};case o.Bottom:return{x:e+g/2,y:f+h};case o.Left:return{x:e,y:f+h/2}}}function br(a,b){return a&&(b?a.find(a=>a.id===b):a[0])||null}function bs(a,b){if(!a)return"";if("string"==typeof a)return a;let c=b?`${b}__`:"";return`${c}${Object.keys(a).sort().map(b=>`${b}=${a[b]}`).join("&")}`}let bt={nodeOrigin:[0,0],nodeExtent:au,elevateNodesOnSelect:!0,zIndexMode:"basic",defaults:{}},bu={...bt,checkEquality:!0};function bv(a,b){let c={...a};for(let a in b)void 0!==b[a]&&(c[a]=b[a]);return c}function bw(a){return"manual"===a}function bx(a,b,c,d={}){let e=bv(bu,d),f={i:0},g=new Map(b),h=e?.elevateNodesOnSelect&&!bw(e.zIndexMode)?1e3:0,i=a.length>0,j=!1;for(let k of(b.clear(),c.clear(),a)){let a=g.get(k.id);if(e.checkEquality&&k===a?.internals.userNode)b.set(k.id,a);else{let c=aI(aB(k,e.nodeOrigin),a1(k.extent)?k.extent:e.nodeExtent,a2(k));a={...e.defaults,...k,measured:{width:k.measured?.width,height:k.measured?.height},internals:{positionAbsolute:c,handleBounds:function(a,b){if(!a.handles)return a.measured?b?.internals.handleBounds:void 0;let c=[],d=[];for(let b of a.handles){let e={id:b.id,width:b.width??1,height:b.height??1,nodeId:a.id,x:b.x,y:b.y,position:b.position,type:b.type};"source"===b.type?c.push(e):"target"===b.type&&d.push(e)}return{source:c,target:d}}(k,a),z:bz(k,h,e.zIndexMode),userNode:k}},b.set(k.id,a)}void 0!==a.measured&&void 0!==a.measured.width&&void 0!==a.measured.height||a.hidden||(i=!1),k.parentId&&by(a,b,c,d,f),j||=k.selected??!1}return{nodesInitialized:i,hasSelectedNodes:j}}function by(a,b,c,d,e){let{elevateNodesOnSelect:f,nodeOrigin:g,nodeExtent:h,zIndexMode:i}=bv(bt,d),j=a.parentId,k=b.get(j);if(!k)return void console.warn(`Parent node ${j} not found. Please make sure that parent nodes are in front of their child nodes in the nodes array.`);!function(a,b){if(!a.parentId)return;let c=b.get(a.parentId);c?c.set(a.id,a):b.set(a.parentId,new Map([[a.id,a]]))}(a,c),e&&!k.parentId&&void 0===k.internals.rootParentIndex&&"auto"===i&&(k.internals.rootParentIndex=++e.i,k.internals.z=k.internals.z+10*e.i),e&&void 0!==k.internals.rootParentIndex&&(e.i=k.internals.rootParentIndex);let{x:l,y:m,z:n}=function(a,b,c,d,e,f){let{x:g,y:h}=b.internals.positionAbsolute,i=a2(a),j=aB(a,c),k=a1(a.extent)?aI(j,a.extent,i):j,l=aI({x:g+k.x,y:h+k.y},d,i);"parent"===a.extent&&(l=aJ(l,i,b));let m=bz(a,e,f),n=b.internals.z??0;return{x:l.x,y:l.y,z:n>=m?n+1:m}}(a,k,g,h,f&&!bw(i)?1e3:0,i),{positionAbsolute:o}=a.internals,p=l!==o.x||m!==o.y;(p||n!==a.internals.z)&&b.set(a.id,{...a,internals:{...a.internals,positionAbsolute:p?{x:l,y:m}:o,z:n}})}function bz(a,b,c){let d=aV(a.zIndex)?a.zIndex:0;return bw(c)?d:d+(a.selected?b:0)}function bA(a,b,c,d=[0,0]){let e=[],f=new Map;for(let c of a){let a=b.get(c.parentId);if(!a)continue;let d=aR(f.get(c.parentId)?.expandedRect??aP(a),c.rect);f.set(c.parentId,{expandedRect:d,parent:a})}return f.size>0&&f.forEach(({expandedRect:b,parent:f},g)=>{let h=f.internals.positionAbsolute,i=a2(f),j=f.origin??d,k=b.x<h.x?Math.round(Math.abs(h.x-b.x)):0,l=b.y<h.y?Math.round(Math.abs(h.y-b.y)):0,m=Math.max(i.width,Math.round(b.width)),n=Math.max(i.height,Math.round(b.height)),o=(m-i.width)*j[0],p=(n-i.height)*j[1];(k>0||l>0||o||p)&&(e.push({id:g,type:"position",position:{x:f.position.x-k+o,y:f.position.y-l+p}}),c.get(g)?.forEach(b=>{a.some(a=>a.id===b.id)||e.push({id:b.id,type:"position",position:{x:b.position.x+k,y:b.position.y+l}})})),(i.width<b.width||i.height<b.height||k||l)&&e.push({id:g,type:"dimensions",setAttributes:!0,dimensions:{width:m+(k?j[0]*k-o:0),height:n+(l?j[1]*l-p:0)}})}),e}async function bB({delta:a,panZoom:b,transform:c,translateExtent:d,width:e,height:f}){if(!b||!a.x&&!a.y)return!1;let g=await b.setViewportConstrained({x:c[0]+a.x,y:c[1]+a.y,zoom:c[2]},[[0,0],[e,f]],d);return!!g&&(g.x!==c[0]||g.y!==c[1]||g.k!==c[2])}function bC(a,b,c,d,e,f){let g=e,h=d.get(g)||new Map;d.set(g,h.set(c,b)),g=`${e}-${a}`;let i=d.get(g)||new Map;if(d.set(g,i.set(c,b)),f){g=`${e}-${a}-${f}`;let h=d.get(g)||new Map;d.set(g,h.set(c,b))}}function bD(a,b,c){for(let d of(a.clear(),b.clear(),c)){let{source:c,target:e,sourceHandle:f=null,targetHandle:g=null}=d,h={edgeId:d.id,source:c,target:e,sourceHandle:f,targetHandle:g},i=`${c}-${f}--${e}-${g}`;bC("source",h,`${e}-${g}--${c}-${f}`,a,c,f),bC("target",h,i,a,e,g),b.set(d.id,d)}}function bE(a,b,c){let d=a;do{if(d?.matches?.(b))return!0;if(d===c)break;d=d?.parentElement}while(d)return!1}function bF({nodeId:a,dragItems:b,nodeLookup:c,dragging:d=!0}){let e=[];for(let[a,f]of b){let b=c.get(a)?.internals.userNode;b&&e.push({...b,position:f.position,dragging:d})}if(!a)return[e[0],e];let f=c.get(a)?.internals.userNode;return[f?{...f,position:b.get(a)?.position||f.position,dragging:d}:e[0],e]}function bG(a,b,c,d,e,f=!1){let g=d.get(a);if(!g)return null;let h="strict"===e?g.internals.handleBounds?.[b]:[...g.internals.handleBounds?.source??[],...g.internals.handleBounds?.target??[]],i=(c?h?.find(a=>a.id===c):h?.[0])??null;return i&&f?{...i,...bq(g,i,i.position,!0)}:i}function bH(a,b){return a?a:b?.classList.contains("target")?"target":b?.classList.contains("source")?"source":null}let bI=()=>!0;function bJ(a,{handle:b,connectionMode:c,fromNodeId:d,fromHandleId:e,fromType:f,doc:g,lib:h,flowId:i,isValidConnection:k=bI,nodeLookup:l}){let m="target"===f,n=b?g.querySelector(`.${h}-flow__handle[data-id="${i}-${b?.nodeId}-${b?.id}-${b?.type}"]`):null,{x:o,y:p}=bc(a),q=g.elementFromPoint(o,p),r=q?.classList.contains(`${h}-flow__handle`)?q:n,s={handleDomNode:r,isValid:!1,connection:null,toHandle:null};if(r){let a=bH(void 0,r),b=r.getAttribute("data-nodeid"),f=r.getAttribute("data-handleid"),g=r.classList.contains("connectable"),h=r.classList.contains("connectableend");if(!b||!a)return s;let i={source:m?b:d,sourceHandle:m?f:e,target:m?d:b,targetHandle:m?e:f};s.connection=i,s.isValid=g&&h&&(c===j.Strict?m&&"source"===a||!m&&"target"===a:b!==d||f!==e)&&k(i),s.toHandle=bG(b,a,f,l,c,!0)}return s}let bK=function(a,{connectionMode:b,connectionRadius:c,handleId:d,nodeId:e,edgeUpdaterType:f,isTarget:g,domNode:h,nodeLookup:i,lib:j,autoPanOnConnect:k,flowId:l,panBy:m,cancelConnection:n,onConnectStart:p,onConnect:q,onConnectEnd:r,isValidConnection:s=bI,onReconnectEnd:t,updateConnection:u,getTransform:v,getFromHandle:w,autoPanSpeed:x,dragThreshold:y=1,handleDomNode:z}){let A,B=a9(a.target),C=0,{x:D,y:E}=bc(a),F=bH(f,z),G=h?.getBoundingClientRect(),H=!1;if(!G||!F)return;let I=bG(e,F,d,i,b);if(!I)return;let J=bc(a,G),K=!1,L=null,M=!1,N=null,O={...I,nodeId:e,type:F,position:I.position},P=i.get(e),Q={inProgress:!0,isValid:null,from:bq(P,O,o.Left,!0),fromHandle:O,fromPosition:O.position,fromNode:P,to:J,toHandle:null,toPosition:ay[O.position],toNode:null,pointer:J};function R(){H=!0,u(Q),p?.(a,{nodeId:e,handleId:d,handleType:F})}function S(a){var f,h;let n;if(!H){let{x:b,y:c}=bc(a),d=b-D,e=c-E;if(!(d*d+e*e>y*y))return;R()}if(!w()||!O)return void T(a);let p=v();A=function(a,b,c,d){let e=[],f=1/0;for(let g of function(a,b,c){let d=[],e={x:a.x-c,y:a.y-c,width:2*c,height:2*c};for(let a of b.values())aT(e,aP(a))>0&&d.push(a);return d}(a,c,b+250))for(let c of[...g.internals.handleBounds?.source??[],...g.internals.handleBounds?.target??[]]){if(d.nodeId===c.nodeId&&d.type===c.type&&d.id===c.id)continue;let{x:h,y:i}=bq(g,c,c.position,!0),j=Math.sqrt(Math.pow(h-a.x,2)+Math.pow(i-a.y,2));j>b||(j<f?(e=[{...c,x:h,y:i}],f=j):j===f&&e.push({...c,x:h,y:i}))}if(!e.length)return null;if(e.length>1){let a="source"===d.type?"target":"source";return e.find(b=>b.type===a)??e[0]}return e[0]}(aY(J=bc(a,G),p,!1,[1,1]),c,i,O),K||(!function a(){if(!k||!G)return;let[b,c]=aL(J,G,x);m({x:b,y:c}),C=requestAnimationFrame(a)}(),K=!0);let q=bJ(a,{handle:A,connectionMode:b,fromNodeId:e,fromHandleId:d,fromType:g?"target":"source",isValidConnection:s,doc:B,lib:j,flowId:l,nodeLookup:i});N=q.handleDomNode,L=q.connection,f=!!A,h=q.isValid,n=null,h?n=!0:f&&!h&&(n=!1),M=n;let r=i.get(e),t=r?bq(r,O,o.Left,!0):Q.from,z={...Q,from:t,isValid:M,to:q.toHandle&&M?aZ({x:q.toHandle.x,y:q.toHandle.y},p):J,toHandle:q.toHandle,toPosition:M&&q.toHandle?q.toHandle.position:ay[O.position],toNode:q.toHandle?i.get(q.toHandle.nodeId):null,pointer:J};u(z),Q=z}function T(a){if(!("touches"in a)||!(a.touches.length>0)){if(H){(A||N)&&L&&M&&q?.(L);let{inProgress:b,...c}=Q,d={...c,toPosition:Q.toHandle?Q.toPosition:null};r?.(a,d),f&&t?.(a,d)}n(),cancelAnimationFrame(C),K=!1,M=!1,L=null,N=null,B.removeEventListener("mousemove",S),B.removeEventListener("mouseup",T),B.removeEventListener("touchmove",S),B.removeEventListener("touchend",T)}}0===y&&R(),B.addEventListener("mousemove",S),B.addEventListener("mouseup",T),B.addEventListener("touchmove",S),B.addEventListener("touchend",T)},bL=a=>({x:a.x,y:a.y,zoom:a.k}),bM=({x:a,y:b,zoom:c})=>aq.K.translate(a,b).scale(c),bN=(a,b)=>a.target.closest(`.${b}`),bO=(a,b)=>2===b&&Array.isArray(a)&&a.includes(2),bP=a=>((a*=2)<=1?a*a*a:(a-=2)*a*a+2)/2,bQ=(a,b=0,c=bP,d=()=>{})=>{let e="number"==typeof b&&b>0;return e||d(),e?a.transition().duration(b).ease(c).on("end",d):a},bR=a=>{let b=a.ctrlKey&&a0()?10:1;return-a.deltaY*(1===a.deltaMode?.05:a.deltaMode?1:.002)*b};function bS(a){let b=a.includes("right")||a.includes("left"),c=a.includes("bottom")||a.includes("top");return{isHorizontal:b,isVertical:c,affectsX:a.includes("left"),affectsY:a.includes("top")}}function bT(a,b){return Math.max(0,b-a)}function bU(a,b){return Math.max(0,a-b)}function bV(a,b,c){return Math.max(0,b-a,a-c)}(h=p||(p={})).Line="line",h.Handle="handle";let bW={width:0,height:0,x:0,y:0},bX={...bW,pointerX:0,pointerY:0,aspectRatio:1};var bY=a.i(711822);let bZ=a=>{let b,c=new Set,d=(a,d)=>{let e="function"==typeof a?a(b):a;if(!Object.is(e,b)){let a=b;b=(null!=d?d:"object"!=typeof e||null===e)?e:Object.assign({},b,e),c.forEach(c=>c(b,a))}},e=()=>b,f={setState:d,getState:e,getInitialState:()=>g,subscribe:a=>(c.add(a),()=>c.delete(a)),destroy:()=>{c.clear()}},g=b=a(d,e,f);return f},{useDebugValue:b$}=u.default,{useSyncExternalStoreWithSelector:b_}=bY.default,b0=a=>a;function b1(a,b=b0,c){let d=b_(a.subscribe,a.getState,a.getServerState||a.getInitialState,b,c);return b$(d),d}let b2=(a,b)=>{let c=a?bZ(a):bZ,d=(a,d=b)=>b1(c,a,d);return Object.assign(d,c),d};function b3(a,b){if(Object.is(a,b))return!0;if("object"!=typeof a||null===a||"object"!=typeof b||null===b)return!1;if(a instanceof Map&&b instanceof Map){if(a.size!==b.size)return!1;for(let[c,d]of a)if(!Object.is(d,b.get(c)))return!1;return!0}if(a instanceof Set&&b instanceof Set){if(a.size!==b.size)return!1;for(let c of a)if(!b.has(c))return!1;return!0}let c=Object.keys(a);if(c.length!==Object.keys(b).length)return!1;for(let d of c)if(!Object.prototype.hasOwnProperty.call(b,d)||!Object.is(a[d],b[d]))return!1;return!0}var b4=a.i(531065);let b5=(0,u.createContext)(null),b6=b5.Provider,b7=((a="react")=>`Seems like you have not used ${"svelte"===a?"SvelteFlowProvider":"ReactFlowProvider"} as an ancestor. Help: https://${a}flow.dev/error#001`)("react");function b8(a,b){let c=(0,u.useContext)(b5);if(null===c)throw Error(b7);return b1(c,a,b)}function b9(){let a=(0,u.useContext)(b5);if(null===a)throw Error(b7);return(0,u.useMemo)(()=>({getState:a.getState,setState:a.setState,subscribe:a.subscribe}),[a])}let ca={display:"none"},cb={position:"absolute",width:1,height:1,margin:-1,border:0,padding:0,overflow:"hidden",clip:"rect(0px, 0px, 0px, 0px)",clipPath:"inset(100%)"},cc="react-flow__node-desc",cd="react-flow__edge-desc",ce=a=>a.ariaLiveMessage,cf=a=>a.ariaLabelConfig;function cg({rfId:a}){let b=b8(ce);return(0,r.jsx)("div",{id:`react-flow__aria-live-${a}`,"aria-live":"assertive","aria-atomic":"true",style:cb,children:b})}function ch({rfId:a,disableKeyboardA11y:b}){let c=b8(cf);return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)("div",{id:`${cc}-${a}`,style:ca,children:b?c["node.a11yDescription.default"]:c["node.a11yDescription.keyboardDisabled"]}),(0,r.jsx)("div",{id:`${cd}-${a}`,style:ca,children:c["edge.a11yDescription.default"]}),!b&&(0,r.jsx)(cg,{rfId:a})]})}let ci=(0,u.forwardRef)(({position:a="top-left",children:b,className:c,style:d,...e},f)=>{let g=`${a}`.split("-");return(0,r.jsx)("div",{className:ac(["react-flow__panel",c,...g]),style:d,ref:f,...e,children:b})});ci.displayName="Panel";let cj="https://reactflow.dev?utm_source=attribution";function ck({proOptions:a,position:b="bottom-right"}){return((0,u.useEffect)(()=>{},[]),a?.hideAttribution)?null:(0,r.jsx)(ci,{position:b,className:"react-flow__attribution","data-message":`Please only hide this attribution when you are subscribed to React Flow Pro: ${cj}`,children:(0,r.jsx)("a",{href:cj,target:"_blank",rel:"noopener noreferrer","aria-label":"React Flow attribution",children:"React Flow"})})}let cl=a=>{let b=[],c=[];for(let[,c]of a.nodeLookup)c.selected&&b.push(c.internals.userNode);for(let[,b]of a.edgeLookup)b.selected&&c.push(b);return{selectedNodes:b,selectedEdges:c}},cm=a=>a.id;function cn(a,b){return b3(a.selectedNodes.map(cm),b.selectedNodes.map(cm))&&b3(a.selectedEdges.map(cm),b.selectedEdges.map(cm))}function co({onSelectionChange:a}){let b=b9(),{selectedNodes:c,selectedEdges:d}=b8(cl,cn);return(0,u.useEffect)(()=>{let e={nodes:c,edges:d};a?.(e),b.getState().onSelectionChangeHandlers.forEach(a=>a(e))},[c,d,a]),null}let cp=a=>!!a.onSelectionChangeHandlers;function cq({onSelectionChange:a}){let b=b8(cp);return a||b?(0,r.jsx)(co,{onSelectionChange:a}):null}let cr=[0,0],cs={x:0,y:0,zoom:1},ct=["nodes","edges","defaultNodes","defaultEdges","onConnect","onConnectStart","onConnectEnd","onClickConnectStart","onClickConnectEnd","nodesDraggable","autoPanOnNodeFocus","nodesConnectable","nodesFocusable","edgesFocusable","edgesReconnectable","elevateNodesOnSelect","elevateEdgesOnSelect","minZoom","maxZoom","nodeExtent","onNodesChange","onEdgesChange","elementsSelectable","connectionMode","snapGrid","snapToGrid","translateExtent","connectOnClick","defaultEdgeOptions","fitView","fitViewOptions","onNodesDelete","onEdgesDelete","onDelete","onNodeDrag","onNodeDragStart","onNodeDragStop","onSelectionDrag","onSelectionDragStart","onSelectionDragStop","onMoveStart","onMove","onMoveEnd","noPanClassName","nodeOrigin","autoPanOnConnect","autoPanOnNodeDrag","onError","connectionRadius","isValidConnection","selectNodesOnDrag","nodeDragThreshold","connectionDragThreshold","onBeforeDelete","debug","autoPanSpeed","ariaLabelConfig","zIndexMode","rfId"],cu=a=>({setNodes:a.setNodes,setEdges:a.setEdges,setMinZoom:a.setMinZoom,setMaxZoom:a.setMaxZoom,setTranslateExtent:a.setTranslateExtent,setNodeExtent:a.setNodeExtent,reset:a.reset,setDefaultNodesAndEdges:a.setDefaultNodesAndEdges}),cv={translateExtent:au,nodeOrigin:cr,minZoom:.5,maxZoom:2,elementsSelectable:!0,noPanClassName:"nopan",rfId:"1"};function cw(a){let{setNodes:b,setEdges:c,setMinZoom:d,setMaxZoom:e,setTranslateExtent:f,setNodeExtent:g,reset:h,setDefaultNodesAndEdges:i}=b8(cu,b3),j=b9();(0,u.useEffect)(()=>(i(a.defaultNodes,a.defaultEdges),()=>{k.current=cv,h()}),[]);let k=(0,u.useRef)(cv);return(0,u.useEffect)(()=>{for(let h of ct){let i=a[h];if(i!==k.current[h]&&void 0!==a[h])if("nodes"===h)b(i);else if("edges"===h)c(i);else if("minZoom"===h)d(i);else if("maxZoom"===h)e(i);else if("translateExtent"===h)f(i);else if("nodeExtent"===h)g(i);else if("ariaLabelConfig"===h)j.setState({ariaLabelConfig:{...aw,...i||{}}});else"fitView"===h?j.setState({fitViewQueued:i}):"fitViewOptions"===h?j.setState({fitViewOptions:i}):j.setState({[h]:i})}k.current=a},ct.map(b=>a[b])),null}let cx="u">typeof document?document:null;function cy(a=null,b={target:cx,actInsideInputWithModifier:!0}){let[c,d]=(0,u.useState)(!1),e=(0,u.useRef)(!1),f=(0,u.useRef)(new Set([])),[g,h]=(0,u.useMemo)(()=>{if(null!==a){let b=(Array.isArray(a)?a:[a]).filter(a=>"string"==typeof a).map(a=>a.replace(/\+/g,"\n").replace("\n\n","\n+").split("\n")),c=b.reduce((a,b)=>a.concat(...b),[]);return[b,c]}return[[],[]]},[a]);return(0,u.useEffect)(()=>{let c=b?.target??cx,i=b?.actInsideInputWithModifier??!0;if(null!==a){let a=a=>{if(e.current=a.ctrlKey||a.metaKey||a.shiftKey||a.altKey,(!e.current||e.current&&!i)&&bb(a))return!1;let c=cA(a.code,h);if(f.current.add(a[c]),cz(g,f.current,!1)){let c=a.composedPath?.()?.[0]||a.target,f=c?.nodeName==="BUTTON"||c?.nodeName==="A";!1!==b.preventDefault&&(e.current||!f)&&a.preventDefault(),d(!0)}},j=a=>{let b=cA(a.code,h);cz(g,f.current,!0)?(d(!1),f.current.clear()):f.current.delete(a[b]),"Meta"===a.key&&f.current.clear(),e.current=!1},k=()=>{f.current.clear(),d(!1)};return c?.addEventListener("keydown",a),c?.addEventListener("keyup",j),window.addEventListener("blur",k),window.addEventListener("contextmenu",k),()=>{c?.removeEventListener("keydown",a),c?.removeEventListener("keyup",j),window.removeEventListener("blur",k),window.removeEventListener("contextmenu",k)}}},[a,d]),c}function cz(a,b,c){return a.filter(a=>c||a.length===b.size).some(a=>a.every(a=>b.has(a)))}function cA(a,b){return b.includes(a)?"code":"key"}function cB(a,b){let c=[],d=new Map,e=[];for(let b of a)if("add"===b.type){e.push(b);continue}else if("remove"===b.type||"replace"===b.type)d.set(b.id,[b]);else{let a=d.get(b.id);a?a.push(b):d.set(b.id,[b])}for(let a of b){let b=d.get(a.id);if(!b){c.push(a);continue}if("remove"===b[0].type)continue;if("replace"===b[0].type){c.push({...b[0].item});continue}let e={...a};for(let a of b){var f=a,g=e;switch(f.type){case"select":g.selected=f.selected;break;case"position":void 0!==f.position&&(g.position=f.position),void 0!==f.dragging&&(g.dragging=f.dragging);break;case"dimensions":void 0!==f.dimensions&&(g.measured={...f.dimensions},f.setAttributes&&((!0===f.setAttributes||"width"===f.setAttributes)&&(g.width=f.dimensions.width),(!0===f.setAttributes||"height"===f.setAttributes)&&(g.height=f.dimensions.height))),"boolean"==typeof f.resizing&&(g.resizing=f.resizing)}}c.push(e)}return e.length&&e.forEach(a=>{void 0!==a.index?c.splice(a.index,0,{...a.item}):c.push({...a.item})}),c}function cC(a,b){return{id:a,type:"select",selected:b}}function cD(a,b=new Set,c=!1){let d=[];for(let[e,f]of a){let a=b.has(e);(void 0!==f.selected||a)&&f.selected!==a&&(c&&(f.selected=a),d.push(cC(f.id,a)))}return d}function cE({items:a=[],lookup:b}){let c=[],d=new Map(a.map(a=>[a.id,a]));for(let[d,e]of a.entries()){let a=b.get(e.id),f=a?.internals?.userNode??a;void 0!==f&&f!==e&&c.push({id:e.id,item:e,type:"replace"}),void 0===f&&c.push({item:e,type:"add",index:d})}for(let[a]of b)void 0===d.get(a)&&c.push({id:a,type:"remove"});return c}function cF(a){return{id:a.id,type:"remove"}}let cG=aW("React Flow","https://reactflow.dev/"),cH=a=>!!a&&"object"==typeof a&&"id"in a&&"position"in a&&!("source"in a)&&!("target"in a);function cI(a){return(0,u.forwardRef)(a)}let cJ=u.useEffect;function cK(a){let[b,c]=(0,u.useState)(BigInt(0)),[d]=(0,u.useState)(()=>{var a;let b;return a=()=>c(a=>a+BigInt(1)),b=[],{get:()=>b,reset:()=>{b=[]},push:c=>{b.push(c),a()}}});return cJ(()=>{let b=d.get();b.length&&(a(b),d.reset())},[b]),d}let cL=(0,u.createContext)(null);function cM({children:a}){let b=b9(),c=cK((0,u.useCallback)(a=>{let{nodes:c=[],setNodes:d,hasDefaultNodes:e,onNodesChange:f,nodeLookup:g,fitViewQueued:h,onNodesChangeMiddlewareMap:i}=b.getState(),j=c;for(let b of a)j="function"==typeof b?b(j):b;let k=cE({items:j,lookup:g});for(let a of i.values())k=a(k);e&&d(j),k.length>0?f?.(k):h&&window.requestAnimationFrame(()=>{let{fitViewQueued:a,nodes:c,setNodes:d}=b.getState();a&&d(c)})},[])),d=cK((0,u.useCallback)(a=>{let{edges:c=[],setEdges:d,hasDefaultEdges:e,onEdgesChange:f,edgeLookup:g}=b.getState(),h=c;for(let b of a)h="function"==typeof b?b(h):b;e?d(h):f&&f(cE({items:h,lookup:g}))},[])),e=(0,u.useMemo)(()=>({nodeQueue:c,edgeQueue:d}),[]);return(0,r.jsx)(cL.Provider,{value:e,children:a})}let cN=a=>!!a.panZoom;function cO(){let a,b=(a=b9(),(0,u.useMemo)(()=>({zoomIn:async b=>{let{panZoom:c}=a.getState();return!!c&&c.scaleBy(1.2,b)},zoomOut:async b=>{let{panZoom:c}=a.getState();return!!c&&c.scaleBy(1/1.2,b)},zoomTo:async(b,c)=>{let{panZoom:d}=a.getState();return!!d&&d.scaleTo(b,c)},getZoom:()=>a.getState().transform[2],setViewport:async(b,c)=>{let{transform:[d,e,f],panZoom:g}=a.getState();return!!g&&(await g.setViewport({x:b.x??d,y:b.y??e,zoom:b.zoom??f},c),!0)},getViewport:()=>{let[b,c,d]=a.getState().transform;return{x:b,y:c,zoom:d}},setCenter:async(b,c,d)=>a.getState().setCenter(b,c,d),fitBounds:async(b,c)=>{let{width:d,height:e,minZoom:f,maxZoom:g,panZoom:h}=a.getState(),i=a_(b,d,e,f,g,c?.padding??.1);return!!h&&(await h.setViewport(i,{duration:c?.duration,ease:c?.ease,interpolate:c?.interpolate}),!0)},screenToFlowPosition:(b,c={})=>{let{transform:d,snapGrid:e,snapToGrid:f,domNode:g}=a.getState();if(!g)return b;let{x:h,y:i}=g.getBoundingClientRect(),j={x:b.x-h,y:b.y-i},k=c.snapGrid??e;return aY(j,d,c.snapToGrid??f,k)},flowToScreenPosition:b=>{let{transform:c,domNode:d}=a.getState();if(!d)return b;let{x:e,y:f}=d.getBoundingClientRect(),g=aZ(b,c);return{x:g.x+e,y:g.y+f}}}),[])),c=b9(),d=function(){let a=(0,u.useContext)(cL);if(!a)throw Error("useBatchContext must be used within a BatchProvider");return a}(),e=b8(cN),f=(0,u.useMemo)(()=>{let a=a=>c.getState().nodeLookup.get(a),b=a=>{d.nodeQueue.push(a)},e=a=>{d.edgeQueue.push(a)},f=a=>{let{nodeLookup:b,nodeOrigin:d}=c.getState(),e=cH(a)?a:b.get(a.id),f=e.parentId?a4(e.position,e.measured,e.parentId,b,d):e.position;return aP({...e,position:f,width:e.measured?.width??e.width,height:e.measured?.height??e.height})},g=(a,c,d={replace:!1})=>{b(b=>b.map(b=>{if(b.id===a){let a="function"==typeof c?c(b):c;return d.replace&&cH(a)?a:{...b,...a}}return b}))},h=(a,b,c={replace:!1})=>{e(d=>d.map(d=>{if(d.id===a){let a="function"==typeof b?b(d):b;return c.replace&&az(a)?a:{...d,...a}}return d}))};return{getNodes:()=>c.getState().nodes.map(a=>({...a})),getNode:b=>a(b)?.internals.userNode,getInternalNode:a,getEdges:()=>{let{edges:a=[]}=c.getState();return a.map(a=>({...a}))},getEdge:a=>c.getState().edgeLookup.get(a),setNodes:b,setEdges:e,addNodes:a=>{let b=Array.isArray(a)?a:[a];d.nodeQueue.push(a=>[...a,...b])},addEdges:a=>{let b=Array.isArray(a)?a:[a];d.edgeQueue.push(a=>[...a,...b])},toObject:()=>{let{nodes:a=[],edges:b=[],transform:d}=c.getState(),[e,f,g]=d;return{nodes:a.map(a=>({...a})),edges:b.map(a=>({...a})),viewport:{x:e,y:f,zoom:g}}},deleteElements:async({nodes:a=[],edges:b=[]})=>{let{nodes:d,edges:e,onNodesDelete:f,onEdgesDelete:g,triggerNodeChanges:h,triggerEdgeChanges:i,onDelete:j,onBeforeDelete:k}=c.getState(),{nodes:l,edges:m}=await aG({nodesToRemove:a,edgesToRemove:b,nodes:d,edges:e,onBeforeDelete:k}),n=m.length>0,o=l.length>0;if(n){let a=m.map(cF);g?.(m),i(a)}if(o){let a=l.map(cF);f?.(l),h(a)}return(o||n)&&j?.({nodes:l,edges:m}),{deletedNodes:l,deletedEdges:m}},getIntersectingNodes:(a,b=!0,d)=>{let e=aU(a),g=e?a:f(a),h=void 0!==d;return g?(d||c.getState().nodes).filter(d=>{let f=c.getState().nodeLookup.get(d.id);if(f&&!e&&(d.id===a.id||!f.internals.positionAbsolute))return!1;let i=aP(h?d:f),j=aT(i,g);return b&&j>0||j>=i.width*i.height||j>=g.width*g.height}):[]},isNodeIntersecting:(a,b,c=!0)=>{let d=aU(a)?a:f(a);if(!d)return!1;let e=aT(d,b);return c&&e>0||e>=b.width*b.height||e>=d.width*d.height},updateNode:g,updateNodeData:(a,b,c={replace:!1})=>{g(a,a=>{let d="function"==typeof b?b(a):b;return c.replace?{...a,data:d}:{...a,data:{...a.data,...d}}},c)},updateEdge:h,updateEdgeData:(a,b,c={replace:!1})=>{h(a,a=>{let d="function"==typeof b?b(a):b;return c.replace?{...a,data:d}:{...a,data:{...a.data,...d}}},c)},getNodesBounds:a=>{let{nodeLookup:b,nodeOrigin:d}=c.getState();return((a,b={nodeOrigin:[0,0]})=>{if(0===a.length)return{x:0,y:0,width:0,height:0};let c=!1,d=a.reduce((a,d)=>{let e="string"==typeof d,f=b.nodeLookup||e?void 0:d;return(b.nodeLookup&&(f=e?b.nodeLookup.get(d):aA(d)?d:b.nodeLookup.get(d.id)),f)?(c=!0,aM(a,aQ(f,b.nodeOrigin))):a},{x:1/0,y:1/0,x2:-1/0,y2:-1/0});return c?aO(d):{x:0,y:0,width:0,height:0}})(a,{nodeLookup:b,nodeOrigin:d})},getHandleConnections:({type:a,id:b,nodeId:d})=>Array.from(c.getState().connectionLookup.get(`${d}-${a}${b?`-${b}`:""}`)?.values()??[]),getNodeConnections:({type:a,handleId:b,nodeId:d})=>Array.from(c.getState().connectionLookup.get(`${d}${a?b?`-${a}-${b}`:`-${a}`:""}`)?.values()??[]),fitView:async a=>{let b,e,f=c.getState().fitViewResolver??{promise:new Promise((a,c)=>{b=a,e=c}),resolve:b,reject:e};return c.setState({fitViewQueued:!0,fitViewOptions:a,fitViewResolver:f}),d.nodeQueue.push(a=>[...a]),f.promise}}},[]);return(0,u.useMemo)(()=>({...f,...b,viewportInitialized:e}),[e])}let cP=a=>a.selected,cQ,cR={position:"absolute",width:"100%",height:"100%",top:0,left:0},cS=a=>({userSelectionActive:a.userSelectionActive,lib:a.lib,connectionInProgress:a.connection.inProgress});function cT({onPaneContextMenu:a,zoomOnScroll:b=!0,zoomOnPinch:c=!0,panOnScroll:d=!1,panActivationKeyPressed:e,panOnScrollSpeed:f=.5,panOnScrollMode:g=k.Free,zoomOnDoubleClick:h=!0,panOnDrag:i=!0,defaultViewport:j,translateExtent:l,minZoom:m,maxZoom:n,zoomActivationKeyCode:o,preventScrolling:p=!0,children:q,noWheelClassName:s,noPanClassName:t,onViewportChange:v,isControlledViewport:w,paneClickDistance:x,selectionOnDrag:y}){let z,A=b9(),B=(0,u.useRef)(null),{userSelectionActive:C,lib:D,connectionInProgress:E}=b8(cS,b3),F=cy(o),G=(0,u.useRef)();z=b9(),(0,u.useEffect)(()=>{let a=()=>{if(!B.current||!(B.current.checkVisibility?.()??!0))return!1;let a=a8(B.current);(0===a.height||0===a.width)&&z.getState().onError?.("004","The parent container needs a width and a height to render the graph."),z.setState({width:a.width||500,height:a.height||500})};if(B.current){a(),window.addEventListener("resize",a);let b=new ResizeObserver(()=>a());return b.observe(B.current),()=>{window.removeEventListener("resize",a),b&&B.current&&b.unobserve(B.current)}}},[]);let H=(0,u.useCallback)(a=>{v?.({x:a[0],y:a[1],zoom:a[2]}),w||A.setState({transform:a})},[v,w]);return(0,u.useEffect)(()=>{if(B.current){G.current=function({domNode:a,minZoom:b,maxZoom:c,translateExtent:d,viewport:e,onPanZoom:f,onPanZoomStart:g,onPanZoomEnd:h,onDraggingChange:i}){let j={isZoomingOrPanning:!1,usedRightMouseButton:!1,prevViewport:{},mouseButton:0,timerId:void 0,panScrollTimeout:void 0,isPanScrolling:!1},l=a.getBoundingClientRect(),m=[[0,0],[l.width,l.height]],n="u">typeof ResizeObserver?new ResizeObserver(a=>{let b=a[0];b&&(m=[[0,0],[b.contentRect.width,b.contentRect.height]])}):null;n?.observe(a);let o=(0,ap.f)().extent(()=>m).scaleExtent([b,c]).translateExtent(d),p=(0,ae.f)(a).call(o);u({x:e.x,y:e.y,zoom:aH(e.zoom,b,c)},[[0,0],[l.width,l.height]],d);let q=p.on("wheel.zoom"),r=p.on("dblclick.zoom");async function s(a,b){return!!p&&new Promise(c=>{o?.interpolate(b?.interpolate==="linear"?at.f:as.f).transform(bQ(p,b?.duration,b?.ease,()=>c(!0)),a)})}function t(){o.on("zoom",null)}async function u(a,b,c){let d=bM(a),e=o?.constrain()(d,b,c);return e&&await s(e),e}return o.wheelDelta(bR),{update:function({noWheelClassName:a,noPanClassName:b,onPaneContextMenu:c,userSelectionActive:d,panOnScroll:e,panOnDrag:l,panOnScrollMode:m,panOnScrollSpeed:n,preventScrolling:s,zoomOnPinch:u,zoomOnScroll:v,zoomOnDoubleClick:w,panActivationKeyPressed:x=!1,zoomActivationKeyPressed:y,lib:z,onTransformChange:A,connectionInProgress:B,paneClickDistance:C,selectionOnDrag:D}){d&&!j.isZoomingOrPanning&&t();let E=e&&!y&&!d;o.clickDistance(D?1/0:!aV(C)||C<0?0:C);let F=E?function({zoomPanValues:a,noWheelClassName:b,d3Selection:c,d3Zoom:d,panOnScrollMode:e,panOnScrollSpeed:f,zoomOnPinch:g,onPanZoomStart:h,onPanZoom:i,onPanZoomEnd:j}){return l=>{if(bN(l,b))return l.ctrlKey&&l.preventDefault(),!1;l.preventDefault(),l.stopImmediatePropagation();let m=c.property("__zoom").k||1;if(l.ctrlKey&&g){let a=(0,af.f)(l),b=m*Math.pow(2,bR(l));d.scaleTo(c,b,a,l);return}let n=1===l.deltaMode?20:1,o=e===k.Vertical?0:l.deltaX*n,p=e===k.Horizontal?0:l.deltaY*n;!a0()&&l.shiftKey&&e!==k.Vertical&&(o=l.deltaY*n,p=0),d.translateBy(c,-(o/m)*f,-(p/m)*f,{internal:!0});let q=bL(c.property("__zoom"));clearTimeout(a.panScrollTimeout),a.isPanScrolling?i?.(l,q):(a.isPanScrolling=!0,h?.(l,q)),a.panScrollTimeout=setTimeout(()=>{j?.(l,q),a.isPanScrolling=!1},150)}}({zoomPanValues:j,noWheelClassName:a,d3Selection:p,d3Zoom:o,panOnScrollMode:m,panOnScrollSpeed:n,zoomOnPinch:u,onPanZoomStart:g,onPanZoom:f,onPanZoomEnd:h}):function({noWheelClassName:a,preventScrolling:b,d3ZoomHandler:c}){return function(d,e){let f="wheel"===d.type,g=!b&&f&&!d.ctrlKey,h=bN(d,a);if(d.ctrlKey&&f&&h&&d.preventDefault(),g||h)return null;d.preventDefault(),c.call(this,d,e)}}({noWheelClassName:a,preventScrolling:s,d3ZoomHandler:q});p.on("wheel.zoom",F,{passive:!1});let G=function({zoomPanValues:a,onDraggingChange:b,onPanZoomStart:c}){return d=>{if(d.sourceEvent?.internal)return;let e=bL(d.transform);a.mouseButton=d.sourceEvent?.button||0,a.isZoomingOrPanning=!0,a.prevViewport=e,d.sourceEvent?.type==="mousedown"&&b(!0),c&&c?.(d.sourceEvent,e)}}({zoomPanValues:j,onDraggingChange:i,onPanZoomStart:g});o.on("start",G);let H=function({zoomPanValues:a,panOnDrag:b,onPaneContextMenu:c,onTransformChange:d,onPanZoom:e}){return f=>{a.usedRightMouseButton=!!(c&&bO(b,a.mouseButton??0)),f.sourceEvent?.sync||d([f.transform.x,f.transform.y,f.transform.k]),e&&!f.sourceEvent?.internal&&e?.(f.sourceEvent,bL(f.transform))}}({zoomPanValues:j,panOnDrag:l,onPaneContextMenu:!!c,onPanZoom:f,onTransformChange:A});o.on("zoom",H);let I=function({zoomPanValues:a,panOnDrag:b,panOnScroll:c,onDraggingChange:d,onPanZoomEnd:e,onPaneContextMenu:f}){return g=>{if(!g.sourceEvent?.internal&&(a.isZoomingOrPanning=!1,f&&bO(b,a.mouseButton??0)&&!a.usedRightMouseButton&&g.sourceEvent&&f(g.sourceEvent),a.usedRightMouseButton=!1,d(!1),e)){let b=bL(g.transform);a.prevViewport=b,clearTimeout(a.timerId),a.timerId=setTimeout(()=>{e?.(g.sourceEvent,b)},150*!!c)}}}({zoomPanValues:j,panOnDrag:l,panOnScroll:e,onPaneContextMenu:c,onPanZoomEnd:h,onDraggingChange:i});o.on("end",I);let J=function({panActivationKeyPressed:a,zoomActivationKeyPressed:b,zoomOnScroll:c,zoomOnPinch:d,panOnDrag:e,panOnScroll:f,zoomOnDoubleClick:g,userSelectionActive:h,noWheelClassName:i,noPanClassName:j,lib:k,connectionInProgress:l}){return m=>{let n=b||c,o=d&&m.ctrlKey,p="wheel"===m.type;if(1===m.button&&"mousedown"===m.type&&(bN(m,`${k}-flow__node`)||bN(m,`${k}-flow__edge`)||bN(m,`${k}-flow__selection`)||bN(m,`${k}-flow__nodesselection`)))return!0;if(!e&&!n&&!f&&!g&&!d||h||l&&!p||bN(m,i)&&p||bN(m,j)&&(!p||f&&p&&!b)||!d&&m.ctrlKey&&p)return!1;if(!d&&"touchstart"===m.type&&m.touches?.length>1)return m.preventDefault(),!1;if(!n&&!f&&!o&&p||!e&&("mousedown"===m.type||"touchstart"===m.type)||Array.isArray(e)&&!e.includes(m.button)&&"mousedown"===m.type)return!1;let q=Array.isArray(e)&&e.includes(m.button)||!m.button||m.button<=1;return(!m.ctrlKey||p||a)&&q}}({panActivationKeyPressed:x,zoomActivationKeyPressed:y,panOnDrag:l,zoomOnScroll:v,panOnScroll:e,zoomOnDoubleClick:w,zoomOnPinch:u,userSelectionActive:d,noPanClassName:b,noWheelClassName:a,lib:z,connectionInProgress:B});o.filter(J),w?p.on("dblclick.zoom",r):p.on("dblclick.zoom",null)},destroy:t,setViewport:async function a(a,b){let c=bM(a);return await s(c,b),c},setViewportConstrained:u,getViewport:function(){let a=p?(0,ar.U)(p.node()):{x:0,y:0,k:1};return{x:a.x,y:a.y,zoom:a.k}},scaleTo:async function a(a,b){return!!p&&new Promise(c=>{o?.interpolate(b?.interpolate==="linear"?at.f:as.f).scaleTo(bQ(p,b?.duration,b?.ease,()=>c(!0)),a)})},scaleBy:async function a(a,b){return!!p&&new Promise(c=>{o?.interpolate(b?.interpolate==="linear"?at.f:as.f).scaleBy(bQ(p,b?.duration,b?.ease,()=>c(!0)),a)})},setScaleExtent:function(a){o?.scaleExtent(a)},setTranslateExtent:function(a){o?.translateExtent(a)},syncViewport:function(a){if(p){let b=bM(a),c=p.property("__zoom");(c.k!==a.zoom||c.x!==a.x||c.y!==a.y)&&o?.transform(p,b,null,{sync:!0})}},setClickDistance:function(a){let b=!aV(a)||a<0?0:a;o?.clickDistance(b)}}}({domNode:B.current,minZoom:m,maxZoom:n,translateExtent:l,viewport:j,onDraggingChange:a=>A.setState(b=>b.paneDragging===a?b:{paneDragging:a}),onPanZoomStart:(a,b)=>{let{onViewportChangeStart:c,onMoveStart:d}=A.getState();d?.(a,b),c?.(b)},onPanZoom:(a,b)=>{let{onViewportChange:c,onMove:d}=A.getState();d?.(a,b),c?.(b)},onPanZoomEnd:(a,b)=>{let{onViewportChangeEnd:c,onMoveEnd:d}=A.getState();d?.(a,b),c?.(b)}});let{x:a,y:b,zoom:c}=G.current.getViewport();return A.setState({panZoom:G.current,transform:[a,b,c],domNode:B.current.closest(".react-flow")}),()=>{G.current?.destroy()}}},[]),(0,u.useEffect)(()=>{G.current?.update({onPaneContextMenu:a,zoomOnScroll:b,zoomOnPinch:c,panOnScroll:d,panActivationKeyPressed:e,panOnScrollSpeed:f,panOnScrollMode:g,zoomOnDoubleClick:h,panOnDrag:i,zoomActivationKeyPressed:F,preventScrolling:p,noPanClassName:t,userSelectionActive:C,noWheelClassName:s,lib:D,onTransformChange:H,connectionInProgress:E,selectionOnDrag:y,paneClickDistance:x})},[a,b,c,d,e,f,g,h,i,F,p,t,C,s,D,H,E,y,x]),(0,r.jsx)("div",{className:"react-flow__renderer",ref:B,style:cR,children:q})}let cU=a=>({userSelectionActive:a.userSelectionActive,userSelectionRect:a.userSelectionRect});function cV(){let{userSelectionActive:a,userSelectionRect:b}=b8(cU,b3);return a&&b?(0,r.jsx)("div",{className:"react-flow__selection react-flow__container",style:{width:b.width,height:b.height,transform:`translate(${b.x}px, ${b.y}px)`}}):null}let cW=(a,b)=>c=>{c.target===b.current&&a?.(c)},cX=a=>({userSelectionActive:a.userSelectionActive,elementsSelectable:a.elementsSelectable,dragging:a.paneDragging,panBy:a.panBy,autoPanSpeed:a.autoPanSpeed});function cY({isSelecting:a,selectionKeyPressed:b,selectionMode:c=l.Full,panOnDrag:d,autoPanOnSelection:e,paneClickDistance:f,selectionOnDrag:g,onSelectionStart:h,onSelectionEnd:i,onPaneClick:j,onPaneContextMenu:k,onPaneScroll:m,onPaneMouseEnter:n,onPaneMouseMove:o,onPaneMouseLeave:p,children:q}){let s=(0,u.useRef)(0),t=b9(),{userSelectionActive:v,elementsSelectable:w,dragging:x,panBy:y,autoPanSpeed:z}=b8(cX,b3),A=w&&(a||v),B=(0,u.useRef)(null),C=(0,u.useRef)(),D=(0,u.useRef)(new Set),E=(0,u.useRef)(new Set),F=(0,u.useRef)(!1),G=(0,u.useRef)(!1),H=(0,u.useRef)({x:0,y:0}),I=(0,u.useRef)(!1),J=a=>{if(G.current||F.current||t.getState().connection.inProgress){G.current=!1,F.current=!1;return}j?.(a),t.getState().resetSelectedElements(),t.setState({nodesSelectionActive:!1})};function K(a,b){let{userSelectionRect:d}=t.getState();if(!d)return;let{transform:e,nodeLookup:f,edgeLookup:g,connectionLookup:h,triggerNodeChanges:i,triggerEdgeChanges:j,defaultEdgeOptions:k}=t.getState(),m={x:d.startX,y:d.startY},{x:n,y:o}=aZ(m,e),p={startX:m.x,startY:m.y,x:a<n?a:n,y:b<o?b:o,width:Math.abs(a-n),height:Math.abs(b-o)},q=D.current,r=E.current;D.current=new Set(aD(f,p,e,c===l.Partial,!0).map(a=>a.id)),E.current=new Set;let s=k?.selectable??!0;for(let a of D.current){let b=h.get(a);if(b)for(let{edgeId:a}of b.values()){let b=g.get(a);b&&(b.selectable??s)&&E.current.add(a)}}a5(q,D.current)||i(cD(f,D.current,!0)),a5(r,E.current)||j(cD(g,E.current)),t.setState({userSelectionRect:p,userSelectionActive:!0,nodesSelectionActive:!1})}let L=()=>{cancelAnimationFrame(s.current),s.current=0,I.current=!1};(0,u.useEffect)(()=>()=>L(),[]);let M=!0===d||Array.isArray(d)&&d.includes(0);return(0,r.jsxs)("div",{className:ac(["react-flow__pane",{draggable:M,dragging:x,selection:a}]),onClick:A?void 0:cW(J,B),onContextMenu:cW(a=>{Array.isArray(d)&&d?.includes(2)?a.preventDefault():k?.(a)},B),onWheel:cW(m?a=>m(a):void 0,B),onPointerEnter:A?void 0:n,onPointerMove:A?a=>{let{userSelectionRect:c,transform:d,resetSelectedElements:g}=t.getState();if(!C.current||!c)return;let{x:i,y:j}=bc(a.nativeEvent,C.current);H.current={x:i,y:j};let k=aZ({x:c.startX,y:c.startY},d);if(!G.current){if(Math.hypot(i-k.x,j-k.y)<=(b?0:f))return;g(),h?.(a)}G.current=!0,I.current||(!function a(){if(!e||!C.current)return;let[b,c]=aL(H.current,C.current,z);y({x:b,y:c}).then(b=>{if(!G.current||!b){s.current=requestAnimationFrame(a);return}let{x:c,y:d}=H.current;K(c,d),s.current=requestAnimationFrame(a)})}(),I.current=!0),K(i,j)}:o,onPointerUp:a=>{if(!A){a.target===B.current&&t.getState().connection.inProgress&&(F.current=!0);return}0===a.button&&(a.target?.releasePointerCapture?.(a.pointerId),!v&&a.target===B.current&&t.getState().userSelectionRect&&J?.(a),t.setState({userSelectionActive:!1,userSelectionRect:null}),G.current&&(i?.(a),t.setState({nodesSelectionActive:D.current.size>0})),L())},onPointerCancel:A?a=>{a.target?.releasePointerCapture?.(a.pointerId),L()}:void 0,onPointerDownCapture:A?c=>{if("touch"===c.pointerType&&!1!==d&&!b)return;let{domNode:e,transform:f}=t.getState();if(C.current=e?.getBoundingClientRect(),!C.current)return;let h=c.target===B.current;if(!h&&c.target.closest(".nokey")||!a||!(g&&h||b)||0!==c.button||!c.isPrimary)return;c.target?.setPointerCapture?.(c.pointerId),G.current=!1;let{x:i,y:j}=bc(c.nativeEvent,C.current),k=aY({x:i,y:j},f);t.setState({userSelectionRect:{width:0,height:0,startX:k.x,startY:k.y,x:i,y:j}}),h||(c.stopPropagation(),c.preventDefault())}:void 0,onClickCapture:A?a=>{G.current&&(a.stopPropagation(),G.current=!1)}:void 0,onPointerLeave:p,ref:B,style:cR,children:[q,(0,r.jsx)(cV,{})]})}function cZ({id:a,store:b,unselect:c=!1,nodeRef:d}){let e,{addSelectedNodes:f,unselectNodesAndEdges:g,multiSelectionActive:h,nodeLookup:i,onError:j}=b.getState(),k=i.get(a);k?(b.setState({nodesSelectionActive:!1}),k.selected?(c||k.selected&&h)&&(g({nodes:[k],edges:[]}),requestAnimationFrame(()=>d?.current?.blur())):f([a])):j?.("012",(e=a,`Node with id "${e}" does not exist, it may have been removed. This can happen when a node is deleted before the "onNodeClick" handler is called.`))}function c$({nodeRef:a,disabled:b=!1,noDragClassName:c,handleSelector:d,nodeId:e,isSelectable:f,nodeClickDistance:g}){let h=b9(),[i,j]=(0,u.useState)(!1),k=(0,u.useRef)();return(0,u.useEffect)(()=>{if(!b)return k.current=function({onNodeMouseDown:a,getStoreItems:b,onDragStart:c,onDrag:d,onDragStop:e}){let f={x:null,y:null},g=0,h=new Map,i=!1,j={x:0,y:0},k=null,l=!1,m=null,n=!1,o=!1,p=null;return{update:function({noDragClassName:q,handleSelector:r,domNode:s,isSelectable:t,nodeId:u,nodeClickDistance:v=0}){function w({x:a,y:c}){let{nodeLookup:e,nodeExtent:g,snapGrid:i,snapToGrid:j,nodeOrigin:k,onNodeDrag:l,onSelectionDrag:m,onError:n,updateNodePositions:q}=b();f={x:a,y:c};let r=!1,s=h.size>1,t=s&&g?aN(aC(h)):null,v=s&&j?function({dragItems:a,snapGrid:b,x:c,y:d}){let e=a.values().next().value;if(!e)return null;let f={x:c-e.distance.x,y:d-e.distance.y},g=aX(f,b);return{x:g.x-f.x,y:g.y-f.y}}({dragItems:h,snapGrid:i,x:a,y:c}):null;for(let[b,d]of h){if(!e.has(b))continue;let f={x:a-d.distance.x,y:c-d.distance.y};j&&(f=v?{x:Math.round(f.x+v.x),y:Math.round(f.y+v.y)}:aX(f,i));let h=null;if(s&&g&&!d.extent&&t){let{positionAbsolute:a}=d.internals,b=a.x-t.x+g[0][0],c=a.x+d.measured.width-t.x2+g[1][0];h=[[b,a.y-t.y+g[0][1]],[c,a.y+d.measured.height-t.y2+g[1][1]]]}let{position:l,positionAbsolute:m}=aF({nodeId:b,nextPosition:f,nodeLookup:e,nodeExtent:h||g,nodeOrigin:k,onError:n});r=r||d.position.x!==l.x||d.position.y!==l.y,d.position=l,d.internals.positionAbsolute=m}if(o=o||r,r&&(q(h,!0),p&&(d||l||!u&&m))){let[a,b]=bF({nodeId:u,dragItems:h,nodeLookup:e});d?.(p,h,a,b),l?.(p,a,b),u||m?.(p,b)}}async function x(){if(!k)return;let{transform:a,panBy:c,autoPanSpeed:d,autoPanOnNodeDrag:e}=b();if(!e){i=!1,cancelAnimationFrame(g);return}let[h,l]=aL(j,k,d);(0!==h||0!==l)&&(f.x=(f.x??0)-h/a[2],f.y=(f.y??0)-l/a[2],await c({x:h,y:l})&&w(f)),g=requestAnimationFrame(x)}function y(d){let{nodeLookup:e,multiSelectionActive:g,nodesDraggable:i,transform:j,snapGrid:m,snapToGrid:n,selectNodesOnDrag:o,onNodeDragStart:p,onSelectionDragStart:q,unselectNodesAndEdges:r}=b();l=!0,o&&t||g||!u||e.get(u)?.selected||r(),t&&o&&u&&a?.(u);let s=a7(d.sourceEvent,{transform:j,snapGrid:m,snapToGrid:n,containerBounds:k});if(f=s,(h=function(a,b,c,d){let e=new Map;for(let[f,g]of a)if((g.selected||g.id===d)&&(!g.parentId||!function a(b,c){if(!b.parentId)return!1;let d=c.get(b.parentId);return!!d&&(!!d.selected||a(d,c))}(g,a))&&(g.draggable||b&&void 0===g.draggable)){let b=a.get(f);b&&e.set(f,{id:f,position:b.position||{x:0,y:0},distance:{x:c.x-b.internals.positionAbsolute.x,y:c.y-b.internals.positionAbsolute.y},extent:b.extent,parentId:b.parentId,origin:b.origin,expandParent:b.expandParent,internals:{positionAbsolute:b.internals.positionAbsolute||{x:0,y:0}},measured:{width:b.measured.width??0,height:b.measured.height??0}})}return e}(e,i,s,u)).size>0&&(c||p||!u&&q)){let[a,b]=bF({nodeId:u,dragItems:h,nodeLookup:e});c?.(d.sourceEvent,h,a,b),p?.(d.sourceEvent,a,b),u||q?.(d.sourceEvent,b)}}m=(0,ae.f)(s);let z=ao().clickDistance(v).on("start",a=>{let{domNode:c,nodeDragThreshold:d,transform:e,snapGrid:g,snapToGrid:h}=b();k=c?.getBoundingClientRect()||null,n=!1,o=!1,p=a.sourceEvent,0===d&&y(a),f=a7(a.sourceEvent,{transform:e,snapGrid:g,snapToGrid:h,containerBounds:k}),j=bc(a.sourceEvent,k)}).on("drag",a=>{let{autoPanOnNodeDrag:c,transform:d,snapGrid:e,snapToGrid:g,nodeDragThreshold:m,nodeLookup:o}=b(),q=a7(a.sourceEvent,{transform:d,snapGrid:e,snapToGrid:g,containerBounds:k});if(p=a.sourceEvent,("touchmove"===a.sourceEvent.type&&a.sourceEvent.touches.length>1||u&&!o.has(u))&&(n=!0),!n){if(!i&&c&&l&&(i=!0,x()),!l){let b=bc(a.sourceEvent,k),c=b.x-j.x,d=b.y-j.y;Math.sqrt(c*c+d*d)>m&&y(a)}(f.x!==q.xSnapped||f.y!==q.ySnapped)&&h&&l&&(j=bc(a.sourceEvent,k),w(q))}}).on("end",a=>{if(!l||n){n&&h.size>0&&b().updateNodePositions(h,!1);return}if(i=!1,l=!1,cancelAnimationFrame(g),h.size>0){let{nodeLookup:c,updateNodePositions:d,onNodeDragStop:f,onSelectionDragStop:g}=b();if(o&&(d(h,!1),o=!1),e||f||!u&&g){let[b,d]=bF({nodeId:u,dragItems:h,nodeLookup:c,dragging:!1});e?.(a.sourceEvent,h,b,d),f?.(a.sourceEvent,b,d),u||g?.(a.sourceEvent,d)}}}).filter(a=>{let b=a.target;return!a.button&&(!q||!bE(b,`.${q}`,s))&&(!r||bE(b,r,s))});m.call(z)},destroy:function(){m?.on(".drag",null)}}}({getStoreItems:()=>h.getState(),onNodeMouseDown:b=>{cZ({id:b,store:h,nodeRef:a})},onDragStart:()=>{j(!0)},onDragStop:()=>{j(!1)}}),()=>{k.current?.destroy(),k.current=void 0}},[b,h,a]),(0,u.useEffect)(()=>{!b&&a.current&&k.current&&k.current.update({noDragClassName:c,handleSelector:d,domNode:a.current,isSelectable:f,nodeId:e,nodeClickDistance:g})},[c,d,b,f,a,e,g]),i}function c_(){let a=b9();return(0,u.useCallback)(b=>{let{nodeExtent:c,snapToGrid:d,snapGrid:e,nodesDraggable:f,onError:g,updateNodePositions:h,nodeLookup:i,nodeOrigin:j}=a.getState(),k=new Map,l=a=>a.selected&&(a.draggable||f&&void 0===a.draggable),m=d?e[0]:5,n=d?e[1]:5,o=b.direction.x*m*b.factor,p=b.direction.y*n*b.factor;for(let[,a]of i){if(!l(a))continue;let b={x:a.internals.positionAbsolute.x+o,y:a.internals.positionAbsolute.y+p};d&&(b=aX(b,e));let{position:f,positionAbsolute:h}=aF({nodeId:a.id,nextPosition:b,nodeLookup:i,nodeExtent:c,nodeOrigin:j,onError:g});a.position=f,a.internals.positionAbsolute=h,k.set(a.id,a)}h(k)},[])}let c0=(0,u.createContext)(null),c1=c0.Provider;c0.Consumer;let c2=()=>(0,u.useContext)(c0),c3=a=>({connectOnClick:a.connectOnClick,noPanClassName:a.noPanClassName,rfId:a.rfId}),c4=(0,u.createContext)(null);function c5({children:a}){let b=b8(c3,b3);return(0,r.jsx)(c4.Provider,{value:b,children:a})}let c6={connectingFrom:!1,connectingTo:!1,clickConnecting:!1,isPossibleEndHandle:!0,connectionInProcess:!1,clickConnectionInProcess:!1,valid:!1},c7=(0,u.memo)(cI(function({type:a="source",position:b=o.Top,isValidConnection:c,isConnectable:d=!0,isConnectableStart:e=!0,isConnectableEnd:f=!0,id:g,onConnect:h,children:i,className:k,onMouseDown:l,onTouchStart:m,...n},p){let q=g||null,s="target"===a,t=b9(),v=c2(),{connectOnClick:w,noPanClassName:x,rfId:y}=function(){let a=(0,u.useContext)(c4);if(!a)throw Error("useHandleConfig must be used within a HandleConfigProvider");return a}(),{connectingFrom:z,connectingTo:A,clickConnecting:B,isPossibleEndHandle:C,connectionInProcess:D,clickConnectionInProcess:E,valid:F}=b8(b=>{let{connectionClickStartHandle:c,connectionMode:d,connection:e}=b,{fromHandle:f,toHandle:g,isValid:h}=e;if(!f&&!c)return c6;let i=g?.nodeId===v&&g?.id===q&&g?.type===a;return{connectingFrom:f?.nodeId===v&&f?.id===q&&f?.type===a,connectingTo:i,clickConnecting:c?.nodeId===v&&c?.id===q&&c?.type===a,isPossibleEndHandle:d===j.Strict?f?.type!==a:v!==f?.nodeId||q!==f?.id,connectionInProcess:!!f,clickConnectionInProcess:!!c,valid:i&&h}},b3);v||t.getState().onError?.("010","Handle: No node id found. Make sure to only use a Handle inside a custom Node.");let G=a=>{let{defaultEdgeOptions:b,onConnect:c,hasDefaultEdges:d}=t.getState(),e={...b,...a};if(d){let{edges:a,setEdges:b,onError:c}=t.getState();b(function(a,b,c={}){return((a,b,c={})=>{let d,e;if(!a.source||!a.target)return c.onError?.("006","Can't create edge. An edge needs a source and a target."),b;let f=c.getEdgeId||bj;return(e=d=az(a)?{...a}:{...a,id:f(a)},b.some(a=>a.source===e.source&&a.target===e.target&&(a.sourceHandle===e.sourceHandle||!a.sourceHandle&&!e.sourceHandle)&&(a.targetHandle===e.targetHandle||!a.targetHandle&&!e.targetHandle)))?b:(null===d.sourceHandle&&delete d.sourceHandle,null===d.targetHandle&&delete d.targetHandle,b.concat(d))})(a,b,{...c,onError:c.onError??cG})}(e,a,{onError:c}))}c?.(e),h?.(e)},H=a=>{if(!v)return;let b="clientX"in a.nativeEvent;if(e&&(b&&0===a.button||!b)){let b=t.getState();bK(a.nativeEvent,{handleDomNode:a.currentTarget,autoPanOnConnect:b.autoPanOnConnect,connectionMode:b.connectionMode,connectionRadius:b.connectionRadius,domNode:b.domNode,nodeLookup:b.nodeLookup,lib:b.lib,isTarget:s,handleId:q,nodeId:v,flowId:b.rfId,panBy:b.panBy,cancelConnection:b.cancelConnection,onConnectStart:b.onConnectStart,onConnectEnd:(...a)=>t.getState().onConnectEnd?.(...a),updateConnection:b.updateConnection,onConnect:G,isValidConnection:c||((...a)=>t.getState().isValidConnection?.(...a)??!0),getTransform:()=>t.getState().transform,getFromHandle:()=>t.getState().connection.fromHandle,autoPanSpeed:b.autoPanSpeed,dragThreshold:b.connectionDragThreshold})}b?l?.(a):m?.(a)};return(0,r.jsx)("div",{"data-handleid":q,"data-nodeid":v,"data-handlepos":b,"data-id":`${y}-${v}-${q}-${a}`,className:ac(["react-flow__handle",`react-flow__handle-${b}`,"nodrag",x,k,{source:!s,target:s,connectable:d,connectablestart:e,connectableend:f,clickconnecting:B,connectingfrom:z,connectingto:A,valid:F,connectionindicator:d&&(!D||C)&&(D||E?f:e)}]),onMouseDown:H,onTouchStart:H,onClick:w?b=>{let{onClickConnectStart:d,onClickConnectEnd:f,connectionClickStartHandle:g,connectionMode:h,isValidConnection:i,lib:j,rfId:k,nodeLookup:l,connection:m}=t.getState();if(!v||!g&&!e)return;if(!g){d?.(b.nativeEvent,{nodeId:v,handleId:q,handleType:a}),t.setState({connectionClickStartHandle:{nodeId:v,type:a,id:q}});return}let n=a9(b.target),o=c||i,{connection:p,isValid:r}=bJ(b.nativeEvent,{handle:{nodeId:v,id:q,type:a},connectionMode:h,fromNodeId:g.nodeId,fromHandleId:g.id||null,fromType:g.type,isValidConnection:o,flowId:k,doc:n,lib:j,nodeLookup:l});r&&p&&G(p);let s=structuredClone(m);delete s.inProgress,s.toPosition=s.toHandle?s.toHandle.position:null,f?.(b,s),t.setState({connectionClickStartHandle:null})}:void 0,ref:p,...n,children:i})})),c8={ArrowUp:{x:0,y:-1},ArrowDown:{x:0,y:1},ArrowLeft:{x:-1,y:0},ArrowRight:{x:1,y:0}},c9={input:function({data:a,isConnectable:b,sourcePosition:c=o.Bottom}){return(0,r.jsxs)(r.Fragment,{children:[a?.label,(0,r.jsx)(c7,{type:"source",position:c,isConnectable:b})]})},default:function({data:a,isConnectable:b,targetPosition:c=o.Top,sourcePosition:d=o.Bottom}){return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(c7,{type:"target",position:c,isConnectable:b}),a?.label,(0,r.jsx)(c7,{type:"source",position:d,isConnectable:b})]})},output:function({data:a,isConnectable:b,targetPosition:c=o.Top}){return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(c7,{type:"target",position:c,isConnectable:b}),a?.label]})},group:function(){return null}},da=a=>{let{width:b,height:c,x:d,y:e}=aC(a.nodeLookup,{filter:a=>!!a.selected});return{width:aV(b)?b:null,height:aV(c)?c:null,userSelectionActive:a.userSelectionActive,transformString:`translate(${a.transform[0]}px,${a.transform[1]}px) scale(${a.transform[2]}) translate(${d}px,${e}px)`}};function db({onSelectionContextMenu:a,noPanClassName:b,disableKeyboardA11y:c}){let d=b9(),{width:e,height:f,transformString:g,userSelectionActive:h}=b8(da,b3),i=c_(),j=(0,u.useRef)(null);(0,u.useEffect)(()=>{c||j.current?.focus({preventScroll:!0})},[c]);let k=!h&&null!==e&&null!==f;if(c$({nodeRef:j,disabled:!k}),!k)return null;let l=a?b=>{a(b,d.getState().nodes.filter(a=>a.selected))}:void 0;return(0,r.jsx)("div",{className:ac(["react-flow__nodesselection","react-flow__container",b]),style:{transform:g},children:(0,r.jsx)("div",{ref:j,className:"react-flow__nodesselection-rect",onContextMenu:l,tabIndex:c?void 0:-1,onKeyDown:c?void 0:a=>{Object.prototype.hasOwnProperty.call(c8,a.key)&&(a.preventDefault(),i({direction:c8[a.key],factor:a.shiftKey?4:1}))},style:{width:e,height:f}})})}let dc,dd=a=>({nodesSelectionActive:a.nodesSelectionActive,userSelectionActive:a.userSelectionActive});function de({children:a,onPaneClick:b,onPaneMouseEnter:c,onPaneMouseMove:d,onPaneMouseLeave:e,onPaneContextMenu:f,onPaneScroll:g,paneClickDistance:h,deleteKeyCode:i,selectionKeyCode:j,selectionOnDrag:k,selectionMode:l,onSelectionStart:m,onSelectionEnd:n,multiSelectionKeyCode:o,panActivationKeyCode:p,zoomActivationKeyCode:q,elementsSelectable:s,zoomOnScroll:t,zoomOnPinch:v,panOnScroll:w,panOnScrollSpeed:x,panOnScrollMode:y,zoomOnDoubleClick:z,panOnDrag:A,autoPanOnSelection:B,defaultViewport:C,translateExtent:D,minZoom:E,maxZoom:F,preventScrolling:G,onSelectionContextMenu:H,noWheelClassName:I,noPanClassName:J,disableKeyboardA11y:K,onViewportChange:L,isControlledViewport:M}){let{nodesSelectionActive:N,userSelectionActive:O}=b8(dd,b3),P=cy(j,{target:dc}),Q=cy(p,{target:dc}),R=Q||A,S=Q||w,T=k&&!0!==R,U=P||O||T;return!function({deleteKeyCode:a,multiSelectionKeyCode:b}){let c=b9(),{deleteElements:d}=cO(),e=cy(a,{actInsideInputWithModifier:!1}),f=cy(b,{target:cQ});(0,u.useEffect)(()=>{if(e){let{edges:a,nodes:b}=c.getState();d({nodes:b.filter(cP),edges:a.filter(cP)}),c.setState({nodesSelectionActive:!1})}},[e]),(0,u.useEffect)(()=>{c.setState({multiSelectionActive:f})},[f])}({deleteKeyCode:i,multiSelectionKeyCode:o}),(0,r.jsx)(cT,{onPaneContextMenu:f,elementsSelectable:s,zoomOnScroll:t,zoomOnPinch:v,panOnScroll:S,panActivationKeyPressed:Q,panOnScrollSpeed:x,panOnScrollMode:y,zoomOnDoubleClick:z,panOnDrag:!P&&R,defaultViewport:C,translateExtent:D,minZoom:E,maxZoom:F,zoomActivationKeyCode:q,preventScrolling:G,noWheelClassName:I,noPanClassName:J,onViewportChange:L,isControlledViewport:M,paneClickDistance:h,selectionOnDrag:T,children:(0,r.jsxs)(cY,{onSelectionStart:m,onSelectionEnd:n,onPaneClick:b,onPaneMouseEnter:c,onPaneMouseMove:d,onPaneMouseLeave:e,onPaneContextMenu:f,onPaneScroll:g,panOnDrag:R,autoPanOnSelection:B,isSelecting:!!U,selectionMode:l,selectionKeyPressed:P,paneClickDistance:h,selectionOnDrag:T,children:[a,N&&(0,r.jsx)(db,{onSelectionContextMenu:H,noPanClassName:J,disableKeyboardA11y:K})]})})}de.displayName="FlowRenderer";let df=(0,u.memo)(de),dg=a=>a.updateNodeInternals;var dh=(0,u.memo)(function({id:a,onClick:b,onMouseEnter:c,onMouseMove:d,onMouseLeave:e,onContextMenu:f,onDoubleClick:g,nodesDraggable:h,elementsSelectable:i,nodesConnectable:j,nodesFocusable:k,resizeObserver:l,noDragClassName:m,noPanClassName:n,disableKeyboardA11y:o,rfId:p,nodeTypes:q,nodeClickDistance:s,onError:t}){let v,{node:w,internals:x,isParent:y}=b8(b=>{let c=b.nodeLookup.get(a),d=b.parentLookup.has(a);return{node:c,internals:c.internals,isParent:d}},b3),z=w.type||"default",A=q?.[z]||c9[z];void 0===A&&(t?.("003",(v=z,`Node type "${v}" not found. Using fallback type "default".`)),z="default",A=q?.default||c9.default);let B=!!(w.draggable||h&&void 0===w.draggable),C=!!(w.selectable||i&&void 0===w.selectable),D=!!(w.connectable||j&&void 0===w.connectable),E=!!(w.focusable||k&&void 0===w.focusable),F=b9(),G=a3(w),H=function({node:a,nodeType:b,hasDimensions:c,resizeObserver:d}){let e=b9(),f=(0,u.useRef)(null),g=(0,u.useRef)(null),h=(0,u.useRef)(a.sourcePosition),i=(0,u.useRef)(a.targetPosition),j=(0,u.useRef)(b),k=c&&!!a.internals.handleBounds;return(0,u.useEffect)(()=>{!f.current||a.hidden||k&&g.current===f.current||(g.current&&d?.unobserve(g.current),d?.observe(f.current),g.current=f.current)},[k,a.hidden]),(0,u.useEffect)(()=>()=>{g.current&&(d?.unobserve(g.current),g.current=null)},[]),(0,u.useEffect)(()=>{if(f.current){let c=j.current!==b,d=h.current!==a.sourcePosition,g=i.current!==a.targetPosition;(c||d||g)&&(j.current=b,h.current=a.sourcePosition,i.current=a.targetPosition,e.getState().updateNodeInternals(new Map([[a.id,{id:a.id,nodeElement:f.current,force:!0}]])))}},[a.id,b,a.sourcePosition,a.targetPosition]),f}({node:w,nodeType:z,hasDimensions:G,resizeObserver:l}),I=c$({nodeRef:H,disabled:w.hidden||!B,noDragClassName:m,handleSelector:w.dragHandle,nodeId:a,isSelectable:C,nodeClickDistance:s}),J=c_();if(w.hidden)return null;let K=a2(w),L=void 0===w.internals.handleBounds?{width:w.width??w.initialWidth??w.style?.width,height:w.height??w.initialHeight??w.style?.height}:{width:w.width??w.style?.width,height:w.height??w.style?.height},M=C||B||b||c||d||e,N=c?a=>c(a,{...x.userNode}):void 0,O=d?a=>d(a,{...x.userNode}):void 0,P=e?a=>e(a,{...x.userNode}):void 0,Q=f?a=>f(a,{...x.userNode}):void 0,R=g?a=>g(a,{...x.userNode}):void 0;return(0,r.jsx)("div",{className:ac(["react-flow__node",`react-flow__node-${z}`,{[n]:B},w.className,{selected:w.selected,selectable:C,parent:y,draggable:B,dragging:I}]),ref:H,style:{zIndex:x.z,transform:`translate(${x.positionAbsolute.x}px,${x.positionAbsolute.y}px)`,pointerEvents:M?"all":"none",visibility:G?"visible":"hidden",...w.style,...L},"data-id":a,"data-testid":`rf__node-${a}`,onMouseEnter:N,onMouseMove:O,onMouseLeave:P,onContextMenu:Q,onClick:c=>{let{selectNodesOnDrag:d,nodeDragThreshold:e}=F.getState();C&&(!d||!B||e>0)&&cZ({id:a,store:F,nodeRef:H}),b&&b(c,{...x.userNode})},onDoubleClick:R,onKeyDown:E?b=>{if(!bb(b.nativeEvent)&&!o){if(av.includes(b.key)&&C)cZ({id:a,store:F,unselect:"Escape"===b.key,nodeRef:H});else if(B&&w.selected&&Object.prototype.hasOwnProperty.call(c8,b.key)){b.preventDefault();let{ariaLabelConfig:a}=F.getState();F.setState({ariaLiveMessage:a["node.a11yDescription.ariaLiveMessage"]({direction:b.key.replace("Arrow","").toLowerCase(),x:~~x.positionAbsolute.x,y:~~x.positionAbsolute.y})}),J({direction:c8[b.key],factor:b.shiftKey?4:1})}}}:void 0,tabIndex:E?0:void 0,onFocus:E?()=>{if(o||!H.current?.matches(":focus-visible"))return;let{transform:b,width:c,height:d,autoPanOnNodeFocus:e,setCenter:f}=F.getState();!e||aD(new Map([[a,w]]),{x:0,y:0,width:c,height:d},b,!0).length>0||f(w.position.x+K.width/2,w.position.y+K.height/2,{zoom:b[2]})}:void 0,role:w.ariaRole??(E?"group":void 0),"aria-roledescription":"node","aria-describedby":o?void 0:`${cc}-${p}`,"aria-label":w.ariaLabel,...w.domAttributes,children:(0,r.jsx)(c1,{value:a,children:(0,r.jsx)(A,{id:a,data:w.data,type:z,positionAbsoluteX:x.positionAbsolute.x,positionAbsoluteY:x.positionAbsolute.y,selected:w.selected??!1,selectable:C,draggable:B,deletable:w.deletable??!0,isConnectable:D,sourcePosition:w.sourcePosition,targetPosition:w.targetPosition,dragging:I,dragHandle:w.dragHandle,zIndex:x.z,parentId:w.parentId,...K})})})});let di=a=>({nodesConnectable:a.nodesConnectable,nodesFocusable:a.nodesFocusable,elementsSelectable:a.elementsSelectable,onError:a.onError});function dj(a){var b;let{nodesConnectable:c,nodesFocusable:d,elementsSelectable:e,onError:f}=b8(di,b3),g=(b=a.onlyRenderVisibleElements,b8((0,u.useCallback)(a=>b?aD(a.nodeLookup,{x:0,y:0,width:a.width,height:a.height},a.transform,!0).map(a=>a.id):Array.from(a.nodeLookup.keys()),[b]),b3)),h=function(){let a=b8(dg),[b]=(0,u.useState)(()=>"u"<typeof ResizeObserver?null:new ResizeObserver(b=>{let c=new Map;b.forEach(a=>{let b=a.target.getAttribute("data-id");c.set(b,{id:b,nodeElement:a.target,force:!0})}),a(c)}));return(0,u.useEffect)(()=>()=>{b?.disconnect()},[b]),b}();return(0,r.jsx)("div",{className:"react-flow__nodes",style:cR,children:g.map(b=>(0,r.jsx)(dh,{id:b,nodeTypes:a.nodeTypes,nodeExtent:a.nodeExtent,onClick:a.onNodeClick,onMouseEnter:a.onNodeMouseEnter,onMouseMove:a.onNodeMouseMove,onMouseLeave:a.onNodeMouseLeave,onContextMenu:a.onNodeContextMenu,onDoubleClick:a.onNodeDoubleClick,noDragClassName:a.noDragClassName,noPanClassName:a.noPanClassName,rfId:a.rfId,disableKeyboardA11y:a.disableKeyboardA11y,resizeObserver:h,nodesDraggable:a.nodesDraggable??!0,nodesConnectable:c,nodesFocusable:d,elementsSelectable:e,nodeClickDistance:a.nodeClickDistance,onError:f},b))})}dj.displayName="NodeRenderer";let dk=(0,u.memo)(dj),dl={[n.Arrow]:({color:a="none",strokeWidth:b=1})=>{let c={strokeWidth:b,...a&&{stroke:a}};return(0,r.jsx)("polyline",{className:"arrow",style:c,strokeLinecap:"round",fill:"none",strokeLinejoin:"round",points:"-5,-4 0,0 -5,4"})},[n.ArrowClosed]:({color:a="none",strokeWidth:b=1})=>{let c={strokeWidth:b,...a&&{stroke:a,fill:a}};return(0,r.jsx)("polyline",{className:"arrowclosed",style:c,strokeLinecap:"round",strokeLinejoin:"round",points:"-5,-4 0,0 -5,4 -5,-4"})}},dm=({id:a,type:b,color:c,width:d=12.5,height:e=12.5,markerUnits:f="strokeWidth",strokeWidth:g,orient:h="auto-start-reverse"})=>{let i,j=(i=b9(),(0,u.useMemo)(()=>{let a;return Object.prototype.hasOwnProperty.call(dl,b)?dl[b]:(i.getState().onError?.("009",(a=b,`Marker type "${a}" doesn't exist.`)),null)},[b]));return j?(0,r.jsx)("marker",{className:"react-flow__arrowhead",id:a,markerWidth:`${d}`,markerHeight:`${e}`,viewBox:"-10 -10 20 20",markerUnits:f,orient:h,refX:"0",refY:"0",children:(0,r.jsx)(j,{color:c,strokeWidth:g})}):null},dn=({defaultColor:a,rfId:b})=>{let c=b8(a=>a.edges),d=b8(a=>a.defaultEdgeOptions),e=(0,u.useMemo)(()=>(function(a,{id:b,defaultColor:c,defaultMarkerStart:d,defaultMarkerEnd:e}){let f=new Set;return a.reduce((a,g)=>([g.markerStart||d,g.markerEnd||e].forEach(d=>{if(d&&"object"==typeof d){let e=bs(d,b);f.has(e)||(a.push({id:e,color:d.color||c,...d}),f.add(e))}}),a),[]).sort((a,b)=>a.id.localeCompare(b.id))})(c,{id:b,defaultColor:a,defaultMarkerStart:d?.markerStart,defaultMarkerEnd:d?.markerEnd}),[c,d,b,a]);return e.length?(0,r.jsx)("svg",{className:"react-flow__marker","aria-hidden":"true",children:(0,r.jsx)("defs",{children:e.map(a=>(0,r.jsx)(dm,{id:a.id,type:a.type,color:a.color,width:a.width,height:a.height,markerUnits:a.markerUnits,strokeWidth:a.strokeWidth,orient:a.orient},a.id))})}):null};dn.displayName="MarkerDefinitions";var dp=(0,u.memo)(dn);function dq({x:a,y:b,label:c,labelStyle:d,labelShowBg:e=!0,labelBgStyle:f,labelBgPadding:g=[2,4],labelBgBorderRadius:h=2,children:i,className:j,...k}){let[l,m]=(0,u.useState)({x:1,y:0,width:0,height:0}),n=ac(["react-flow__edge-textwrapper",j]),o=(0,u.useRef)(null);return((0,u.useEffect)(()=>{if(o.current){let a=o.current.getBBox();m({x:a.x,y:a.y,width:a.width,height:a.height})}},[c]),c)?(0,r.jsxs)("g",{transform:`translate(${a-l.width/2} ${b-l.height/2})`,className:n,visibility:l.width?"visible":"hidden",...k,children:[e&&(0,r.jsx)("rect",{width:l.width+2*g[0],x:-g[0],y:-g[1],height:l.height+2*g[1],className:"react-flow__edge-textbg",style:f,rx:h,ry:h}),(0,r.jsx)("text",{className:"react-flow__edge-text",y:l.height/2,dy:"0.3em",ref:o,style:d,children:c}),i]}):null}dq.displayName="EdgeText";let dr=(0,u.memo)(dq);function ds({path:a,labelX:b,labelY:c,label:d,labelStyle:e,labelShowBg:f,labelBgStyle:g,labelBgPadding:h,labelBgBorderRadius:i,interactionWidth:j=20,...k}){return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)("path",{...k,d:a,fill:"none",className:ac(["react-flow__edge-path",k.className])}),j?(0,r.jsx)("path",{d:a,fill:"none",strokeOpacity:0,strokeWidth:j,className:"react-flow__edge-interaction"}):null,d&&aV(b)&&aV(c)?(0,r.jsx)(dr,{x:b,y:c,label:d,labelStyle:e,labelShowBg:f,labelBgStyle:g,labelBgPadding:h,labelBgBorderRadius:i}):null]})}function dt({pos:a,x1:b,y1:c,x2:d,y2:e}){return a===o.Left||a===o.Right?[.5*(b+d),c]:[b,.5*(c+e)]}function du({sourceX:a,sourceY:b,sourcePosition:c=o.Bottom,targetX:d,targetY:e,targetPosition:f=o.Top}){let[g,h]=dt({pos:c,x1:a,y1:b,x2:d,y2:e}),[i,j]=dt({pos:f,x1:d,y1:e,x2:a,y2:b}),[k,l,m,n]=be({sourceX:a,sourceY:b,targetX:d,targetY:e,sourceControlX:g,sourceControlY:h,targetControlX:i,targetControlY:j});return[`M${a},${b} C${g},${h} ${i},${j} ${d},${e}`,k,l,m,n]}function dv(a){return(0,u.memo)(({id:b,sourceX:c,sourceY:d,targetX:e,targetY:f,sourcePosition:g,targetPosition:h,label:i,labelStyle:j,labelShowBg:k,labelBgStyle:l,labelBgPadding:m,labelBgBorderRadius:n,style:o,markerEnd:p,markerStart:q,interactionWidth:s})=>{let[t,u,v]=du({sourceX:c,sourceY:d,sourcePosition:g,targetX:e,targetY:f,targetPosition:h}),w=a.isInternal?void 0:b;return(0,r.jsx)(ds,{id:w,path:t,labelX:u,labelY:v,label:i,labelStyle:j,labelShowBg:k,labelBgStyle:l,labelBgPadding:m,labelBgBorderRadius:n,style:o,markerEnd:p,markerStart:q,interactionWidth:s})})}let dw=dv({isInternal:!1}),dx=dv({isInternal:!0});function dy(a){return(0,u.memo)(({id:b,sourceX:c,sourceY:d,targetX:e,targetY:f,label:g,labelStyle:h,labelShowBg:i,labelBgStyle:j,labelBgPadding:k,labelBgBorderRadius:l,style:m,sourcePosition:n=o.Bottom,targetPosition:p=o.Top,markerEnd:q,markerStart:s,pathOptions:t,interactionWidth:u})=>{let[v,w,x]=bn({sourceX:c,sourceY:d,sourcePosition:n,targetX:e,targetY:f,targetPosition:p,borderRadius:t?.borderRadius,offset:t?.offset,stepPosition:t?.stepPosition}),y=a.isInternal?void 0:b;return(0,r.jsx)(ds,{id:y,path:v,labelX:w,labelY:x,label:g,labelStyle:h,labelShowBg:i,labelBgStyle:j,labelBgPadding:k,labelBgBorderRadius:l,style:m,markerEnd:q,markerStart:s,interactionWidth:u})})}dw.displayName="SimpleBezierEdge",dx.displayName="SimpleBezierEdgeInternal";let dz=dy({isInternal:!1}),dA=dy({isInternal:!0});function dB(a){return(0,u.memo)(({id:b,...c})=>{let d=a.isInternal?void 0:b;return(0,r.jsx)(dz,{...c,id:d,pathOptions:(0,u.useMemo)(()=>({borderRadius:0,offset:c.pathOptions?.offset}),[c.pathOptions?.offset])})})}dz.displayName="SmoothStepEdge",dA.displayName="SmoothStepEdgeInternal";let dC=dB({isInternal:!1}),dD=dB({isInternal:!0});function dE(a){return(0,u.memo)(({id:b,sourceX:c,sourceY:d,targetX:e,targetY:f,label:g,labelStyle:h,labelShowBg:i,labelBgStyle:j,labelBgPadding:k,labelBgBorderRadius:l,style:m,markerEnd:n,markerStart:o,interactionWidth:p})=>{let[q,s,t]=bk({sourceX:c,sourceY:d,targetX:e,targetY:f}),u=a.isInternal?void 0:b;return(0,r.jsx)(ds,{id:u,path:q,labelX:s,labelY:t,label:g,labelStyle:h,labelShowBg:i,labelBgStyle:j,labelBgPadding:k,labelBgBorderRadius:l,style:m,markerEnd:n,markerStart:o,interactionWidth:p})})}dC.displayName="StepEdge",dD.displayName="StepEdgeInternal";let dF=dE({isInternal:!1}),dG=dE({isInternal:!0});function dH(a){return(0,u.memo)(({id:b,sourceX:c,sourceY:d,targetX:e,targetY:f,sourcePosition:g=o.Bottom,targetPosition:h=o.Top,label:i,labelStyle:j,labelShowBg:k,labelBgStyle:l,labelBgPadding:m,labelBgBorderRadius:n,style:p,markerEnd:q,markerStart:s,pathOptions:t,interactionWidth:u})=>{let[v,w,x]=bh({sourceX:c,sourceY:d,sourcePosition:g,targetX:e,targetY:f,targetPosition:h,curvature:t?.curvature}),y=a.isInternal?void 0:b;return(0,r.jsx)(ds,{id:y,path:v,labelX:w,labelY:x,label:i,labelStyle:j,labelShowBg:k,labelBgStyle:l,labelBgPadding:m,labelBgBorderRadius:n,style:p,markerEnd:q,markerStart:s,interactionWidth:u})})}dF.displayName="StraightEdge",dG.displayName="StraightEdgeInternal";let dI=dH({isInternal:!1}),dJ=dH({isInternal:!0});dI.displayName="BezierEdge",dJ.displayName="BezierEdgeInternal";let dK={default:dJ,straight:dG,step:dD,smoothstep:dA,simplebezier:dx},dL={sourceX:null,sourceY:null,targetX:null,targetY:null,sourcePosition:null,targetPosition:null,zIndex:void 0},dM="react-flow__edgeupdater";function dN({position:a,centerX:b,centerY:c,radius:d=10,onMouseDown:e,onMouseEnter:f,onMouseOut:g,type:h}){return(0,r.jsx)("circle",{onMouseDown:e,onMouseEnter:f,onMouseOut:g,className:ac([dM,`${dM}-${h}`]),cx:a===o.Left?b-d:a===o.Right?b+d:b,cy:a===o.Top?c-d:a===o.Bottom?c+d:c,r:d,stroke:"transparent",fill:"transparent"})}function dO({isReconnectable:a,reconnectRadius:b,edge:c,sourceX:d,sourceY:e,targetX:f,targetY:g,sourcePosition:h,targetPosition:i,onReconnect:j,onReconnectStart:k,onReconnectEnd:l,setReconnecting:m,setUpdateHover:n}){let o=b9(),p=(a,b)=>{if(0!==a.button)return;let{autoPanOnConnect:d,domNode:e,connectionMode:f,connectionRadius:g,lib:h,onConnectStart:i,cancelConnection:n,nodeLookup:p,rfId:q,panBy:r,updateConnection:s}=o.getState(),t="target"===b.type;bK(a.nativeEvent,{autoPanOnConnect:d,connectionMode:f,connectionRadius:g,domNode:e,handleId:b.id,nodeId:b.nodeId,nodeLookup:p,isTarget:t,edgeUpdaterType:b.type,lib:h,flowId:q,cancelConnection:n,panBy:r,isValidConnection:(...a)=>o.getState().isValidConnection?.(...a)??!0,onConnect:a=>j?.(c,a),onConnectStart:(d,e)=>{m(!0),k?.(a,c,b.type),i?.(d,e)},onConnectEnd:(...a)=>o.getState().onConnectEnd?.(...a),onReconnectEnd:(a,d)=>{m(!1),l?.(a,c,b.type,d)},updateConnection:s,getTransform:()=>o.getState().transform,getFromHandle:()=>o.getState().connection.fromHandle,dragThreshold:o.getState().connectionDragThreshold,handleDomNode:a.currentTarget})},q=()=>n(!0),s=()=>n(!1);return(0,r.jsxs)(r.Fragment,{children:[(!0===a||"source"===a)&&(0,r.jsx)(dN,{position:h,centerX:d,centerY:e,radius:b,onMouseDown:a=>p(a,{nodeId:c.target,id:c.targetHandle??null,type:"target"}),onMouseEnter:q,onMouseOut:s,type:"source"}),(!0===a||"target"===a)&&(0,r.jsx)(dN,{position:i,centerX:f,centerY:g,radius:b,onMouseDown:a=>p(a,{nodeId:c.source,id:c.sourceHandle??null,type:"source"}),onMouseEnter:q,onMouseOut:s,type:"target"})]})}var dP=(0,u.memo)(function({id:a,edgesFocusable:b,edgesReconnectable:c,elementsSelectable:d,onClick:e,onDoubleClick:f,onContextMenu:g,onMouseEnter:h,onMouseMove:i,onMouseLeave:k,reconnectRadius:l,onReconnect:m,onReconnectStart:n,onReconnectEnd:p,rfId:q,edgeTypes:s,noPanClassName:t,onError:v,disableKeyboardA11y:w}){let x,y=b8(b=>b.edgeLookup.get(a)),z=b8(a=>a.defaultEdgeOptions),A=(y=z?{...z,...y}:y).type||"default",B=s?.[A]||dK[A];void 0===B&&(v?.("011",(x=A,`Edge type "${x}" not found. Using fallback type "default".`)),A="default",B=s?.default||dK.default);let C=!!(y.focusable||b&&void 0===y.focusable),D=void 0!==m&&(y.reconnectable||c&&void 0===y.reconnectable),E=!!(y.selectable||d&&void 0===y.selectable),F=(0,u.useRef)(null),[G,H]=(0,u.useState)(!1),[I,J]=(0,u.useState)(!1),K=b9(),{zIndex:L=y.zIndex,sourceX:M,sourceY:N,targetX:O,targetY:P,sourcePosition:Q,targetPosition:R}=b8((0,u.useCallback)(b=>{let c=b.nodeLookup.get(y.source),d=b.nodeLookup.get(y.target);if(!c||!d)return dL;let e=function(a){let{sourceNode:b,targetNode:c}=a;if(!bo(b)||!bo(c))return null;let d=b.internals.handleBounds||bp(b.handles),e=c.internals.handleBounds||bp(c.handles),f=br(d?.source??[],a.sourceHandle),g=br(a.connectionMode===j.Strict?e?.target??[]:(e?.target??[]).concat(e?.source??[]),a.targetHandle);if(!f||!g)return a.onError?.("008",((a,{id:b,sourceHandle:c,targetHandle:d})=>`Couldn't create edge for ${a} handle id: "${"source"===a?c:d}", edge id: ${b}.`)(!f?"source":"target",{id:a.id,sourceHandle:a.sourceHandle,targetHandle:a.targetHandle})),null;let h=f?.position||o.Bottom,i=g?.position||o.Top,k=bq(b,f,h),l=bq(c,g,i);return{sourceX:k.x,sourceY:k.y,targetX:l.x,targetY:l.y,sourcePosition:h,targetPosition:i}}({id:a,sourceNode:c,targetNode:d,sourceHandle:y.sourceHandle||null,targetHandle:y.targetHandle||null,connectionMode:b.connectionMode,onError:v}),f=function({sourceNode:a,targetNode:b,selected:c=!1,zIndex:d=0,elevateOnSelect:e=!1,zIndexMode:f="basic"}){if("manual"===f)return d;let g=Math.max(a.parentId||e&&a.selected?a.internals.z:0,b.parentId||e&&b.selected?b.internals.z:0);return(e&&c?d+1e3:d)+g}({selected:y.selected,zIndex:y.zIndex,sourceNode:c,targetNode:d,elevateOnSelect:b.elevateEdgesOnSelect,zIndexMode:b.zIndexMode});return{...e||dL,zIndex:f}},[y.source,y.target,y.sourceHandle,y.targetHandle,y.selected,y.zIndex,v]),b3),S=(0,u.useMemo)(()=>y.markerStart?`url('#${bs(y.markerStart,q)}')`:void 0,[y.markerStart,q]),T=(0,u.useMemo)(()=>y.markerEnd?`url('#${bs(y.markerEnd,q)}')`:void 0,[y.markerEnd,q]);if(y.hidden||null===M||null===N||null===O||null===P)return null;let U=f?a=>{f(a,{...y})}:void 0,V=g?a=>{g(a,{...y})}:void 0,W=h?a=>{h(a,{...y})}:void 0,X=i?a=>{i(a,{...y})}:void 0,Y=k?a=>{k(a,{...y})}:void 0;return(0,r.jsx)("svg",{style:{zIndex:L},children:(0,r.jsxs)("g",{className:ac(["react-flow__edge",`react-flow__edge-${A}`,y.className,t,{selected:y.selected,animated:y.animated,inactive:!E&&!e,updating:G,selectable:E}]),onClick:b=>{let{addSelectedEdges:c,unselectNodesAndEdges:d,multiSelectionActive:f}=K.getState();E&&(K.setState({nodesSelectionActive:!1}),y.selected&&f?(d({nodes:[],edges:[y]}),F.current?.blur()):c([a])),e&&e(b,y)},onDoubleClick:U,onContextMenu:V,onMouseEnter:W,onMouseMove:X,onMouseLeave:Y,onKeyDown:C?b=>{if(!w&&av.includes(b.key)&&E){let{unselectNodesAndEdges:c,addSelectedEdges:d}=K.getState();"Escape"===b.key?(F.current?.blur(),c({edges:[y]})):d([a])}}:void 0,tabIndex:C?0:void 0,role:y.ariaRole??(C?"group":"img"),"aria-roledescription":"edge","data-id":a,"data-testid":`rf__edge-${a}`,"aria-label":null===y.ariaLabel?void 0:y.ariaLabel||`Edge from ${y.source} to ${y.target}`,"aria-describedby":C?`${cd}-${q}`:void 0,ref:F,...y.domAttributes,children:[!I&&(0,r.jsx)(B,{id:a,source:y.source,target:y.target,type:y.type,selected:y.selected,animated:y.animated,selectable:E,deletable:y.deletable??!0,label:y.label,labelStyle:y.labelStyle,labelShowBg:y.labelShowBg,labelBgStyle:y.labelBgStyle,labelBgPadding:y.labelBgPadding,labelBgBorderRadius:y.labelBgBorderRadius,sourceX:M,sourceY:N,targetX:O,targetY:P,sourcePosition:Q,targetPosition:R,data:y.data,style:y.style,sourceHandleId:y.sourceHandle,targetHandleId:y.targetHandle,markerStart:S,markerEnd:T,pathOptions:"pathOptions"in y?y.pathOptions:void 0,interactionWidth:y.interactionWidth}),D&&(0,r.jsx)(dO,{edge:y,isReconnectable:D,reconnectRadius:l,onReconnect:m,onReconnectStart:n,onReconnectEnd:p,sourceX:M,sourceY:N,targetX:O,targetY:P,sourcePosition:Q,targetPosition:R,setUpdateHover:H,setReconnecting:J})]})})});let dQ=a=>({edgesFocusable:a.edgesFocusable,edgesReconnectable:a.edgesReconnectable,elementsSelectable:a.elementsSelectable,connectionMode:a.connectionMode,onError:a.onError});function dR({defaultMarkerColor:a,onlyRenderVisibleElements:b,rfId:c,edgeTypes:d,noPanClassName:e,onReconnect:f,onEdgeContextMenu:g,onEdgeMouseEnter:h,onEdgeMouseMove:i,onEdgeMouseLeave:j,onEdgeClick:k,reconnectRadius:l,onEdgeDoubleClick:m,onReconnectStart:n,onReconnectEnd:o,disableKeyboardA11y:p}){let{edgesFocusable:q,edgesReconnectable:s,elementsSelectable:t,onError:v}=b8(dQ,b3),w=b8((0,u.useCallback)(a=>{if(!b)return a.edges.map(a=>a.id);let c=[];if(a.width&&a.height)for(let b of a.edges){let d=a.nodeLookup.get(b.source),e=a.nodeLookup.get(b.target);d&&e&&function({sourceNode:a,targetNode:b,width:c,height:d,transform:e}){let f=aM(aQ(a),aQ(b));return f.x===f.x2&&(f.x2+=1),f.y===f.y2&&(f.y2+=1),aT({x:-e[0]/e[2],y:-e[1]/e[2],width:c/e[2],height:d/e[2]},aO(f))>0}({sourceNode:d,targetNode:e,width:a.width,height:a.height,transform:a.transform})&&c.push(b.id)}return c},[b]),b3);return(0,r.jsxs)("div",{className:"react-flow__edges",children:[(0,r.jsx)(dp,{defaultColor:a,rfId:c}),w.map(a=>(0,r.jsx)(dP,{id:a,edgesFocusable:q,edgesReconnectable:s,elementsSelectable:t,noPanClassName:e,onReconnect:f,onContextMenu:g,onMouseEnter:h,onMouseMove:i,onMouseLeave:j,onClick:k,reconnectRadius:l,onDoubleClick:m,onReconnectStart:n,onReconnectEnd:o,rfId:c,onError:v,edgeTypes:d,disableKeyboardA11y:p},a))]})}dR.displayName="EdgeRenderer";let dS=(0,u.memo)(dR),dT=a=>`translate(${a[0]}px,${a[1]}px) scale(${a[2]})`;function dU({children:a}){let b=b9(),c=(0,u.useRef)(null),[d]=(0,u.useState)(()=>b.getState().transform);return cJ(()=>{let a=null,d=()=>{let d=b.getState().transform;(!a||d[0]!==a[0]||d[1]!==a[1]||d[2]!==a[2])&&(a=d,c.current&&(c.current.style.transform=dT(d)))};return d(),b.subscribe(d)},[b]),(0,r.jsx)("div",{ref:c,className:"react-flow__viewport xyflow__viewport react-flow__container",style:{transform:dT(d)},children:a})}let dV=a=>a.panZoom?.syncViewport;function dW(a){return a.connection.inProgress?{...a.connection,to:aY(a.connection.to,a.transform)}:{...a.connection}}let dX=a=>({nodesConnectable:a.nodesConnectable,isValid:a.connection.isValid,inProgress:a.connection.inProgress,width:a.width,height:a.height});function dY({containerStyle:a,style:b,type:c,component:d}){let{nodesConnectable:e,width:f,height:g,isValid:h,inProgress:i}=b8(dX,b3);return f&&e&&i?(0,r.jsx)("svg",{style:a,width:f,height:g,className:"react-flow__connectionline react-flow__container",children:(0,r.jsx)("g",{className:ac(["react-flow__connection",a6(h)]),children:(0,r.jsx)(dZ,{style:b,type:c,CustomComponent:d,isValid:h})})}):null}let dZ=({style:a,type:b=m.Bezier,CustomComponent:c,isValid:d})=>{let{inProgress:e,from:f,fromNode:g,fromHandle:h,fromPosition:i,to:j,toNode:k,toHandle:l,toPosition:n,pointer:o}=b8(dW,b3);if(!e)return;if(c)return(0,r.jsx)(c,{connectionLineType:b,connectionLineStyle:a,fromNode:g,fromHandle:h,fromX:f.x,fromY:f.y,toX:j.x,toY:j.y,fromPosition:i,toPosition:n,connectionStatus:a6(d),toNode:k,toHandle:l,pointer:o});let p="",q={sourceX:f.x,sourceY:f.y,sourcePosition:i,targetX:j.x,targetY:j.y,targetPosition:n};switch(b){case m.Bezier:[p]=bh(q);break;case m.SimpleBezier:[p]=du(q);break;case m.Step:[p]=bn({...q,borderRadius:0});break;case m.SmoothStep:[p]=bn(q);break;default:[p]=bk(q)}return(0,r.jsx)("path",{d:p,fill:"none",className:"react-flow__connection-path",style:a})};dZ.displayName="ConnectionLine";let d$={};function d_(a=d$){(0,u.useRef)(a),b9(),(0,u.useEffect)(()=>{},[a])}function d0({nodeTypes:a,edgeTypes:b,onInit:c,onNodeClick:d,onEdgeClick:e,onNodeDoubleClick:f,onEdgeDoubleClick:g,onNodeMouseEnter:h,onNodeMouseMove:i,onNodeMouseLeave:j,onNodeContextMenu:k,onSelectionContextMenu:l,onSelectionStart:m,onSelectionEnd:n,connectionLineType:o,connectionLineStyle:p,connectionLineComponent:q,connectionLineContainerStyle:s,selectionKeyCode:t,selectionOnDrag:v,selectionMode:w,multiSelectionKeyCode:x,panActivationKeyCode:y,zoomActivationKeyCode:z,deleteKeyCode:A,onlyRenderVisibleElements:B,elementsSelectable:C,defaultViewport:D,translateExtent:E,minZoom:F,maxZoom:G,preventScrolling:H,defaultMarkerColor:I,zoomOnScroll:J,zoomOnPinch:K,panOnScroll:L,panOnScrollSpeed:M,panOnScrollMode:N,zoomOnDoubleClick:O,panOnDrag:P,autoPanOnSelection:Q,onPaneClick:R,onPaneMouseEnter:S,onPaneMouseMove:T,onPaneMouseLeave:U,onPaneScroll:V,onPaneContextMenu:W,paneClickDistance:X,nodeClickDistance:Y,onEdgeContextMenu:Z,onEdgeMouseEnter:$,onEdgeMouseMove:_,onEdgeMouseLeave:aa,reconnectRadius:ab,onReconnect:ac,onReconnectStart:ad,onReconnectEnd:ae,noDragClassName:af,noWheelClassName:ag,noPanClassName:ah,disableKeyboardA11y:ai,nodeExtent:aj,rfId:ak,viewport:al,onViewportChange:am,nodesDraggable:an}){let ao,ap,aq,ar;return d_(a),d_(b),b9(),(0,u.useRef)(!1),(0,u.useEffect)(()=>{},[]),ao=cO(),ap=(0,u.useRef)(!1),(0,u.useEffect)(()=>{!ap.current&&ao.viewportInitialized&&c&&(setTimeout(()=>c(ao),1),ap.current=!0)},[c,ao.viewportInitialized]),aq=b8(dV),ar=b9(),(0,u.useEffect)(()=>{al&&(aq?.(al),ar.setState({transform:[al.x,al.y,al.zoom]}))},[al,aq]),(0,r.jsx)(df,{onPaneClick:R,onPaneMouseEnter:S,onPaneMouseMove:T,onPaneMouseLeave:U,onPaneContextMenu:W,onPaneScroll:V,paneClickDistance:X,deleteKeyCode:A,selectionKeyCode:t,selectionOnDrag:v,selectionMode:w,onSelectionStart:m,onSelectionEnd:n,multiSelectionKeyCode:x,panActivationKeyCode:y,zoomActivationKeyCode:z,elementsSelectable:C,zoomOnScroll:J,zoomOnPinch:K,zoomOnDoubleClick:O,panOnScroll:L,panOnScrollSpeed:M,panOnScrollMode:N,panOnDrag:P,autoPanOnSelection:Q,defaultViewport:D,translateExtent:E,minZoom:F,maxZoom:G,onSelectionContextMenu:l,preventScrolling:H,noDragClassName:af,noWheelClassName:ag,noPanClassName:ah,disableKeyboardA11y:ai,onViewportChange:am,isControlledViewport:!!al,children:(0,r.jsxs)(dU,{children:[(0,r.jsx)(dS,{edgeTypes:b,onEdgeClick:e,onEdgeDoubleClick:g,onReconnect:ac,onReconnectStart:ad,onReconnectEnd:ae,onlyRenderVisibleElements:B,onEdgeContextMenu:Z,onEdgeMouseEnter:$,onEdgeMouseMove:_,onEdgeMouseLeave:aa,reconnectRadius:ab,defaultMarkerColor:I,noPanClassName:ah,disableKeyboardA11y:ai,rfId:ak}),(0,r.jsx)(dY,{style:p,type:o,component:q,containerStyle:s}),(0,r.jsx)("div",{className:"react-flow__edgelabel-renderer"}),(0,r.jsx)(dk,{nodeTypes:a,onNodeClick:d,onNodeDoubleClick:f,onNodeMouseEnter:h,onNodeMouseMove:i,onNodeMouseLeave:j,onNodeContextMenu:k,nodeClickDistance:Y,onlyRenderVisibleElements:B,noPanClassName:ah,noDragClassName:af,disableKeyboardA11y:ai,nodeExtent:aj,rfId:ak,nodesDraggable:an}),(0,r.jsx)("div",{className:"react-flow__viewport-portal"})]})})}d0.displayName="GraphView";let d1=(0,u.memo)(d0),d2=aW("React Flow","https://reactflow.dev/"),d3=({nodes:a,edges:b,defaultNodes:c,defaultEdges:d,width:e,height:f,fitView:g,fitViewOptions:h,minZoom:i=.5,maxZoom:k=2,nodeOrigin:l,nodeExtent:m,zIndexMode:n="basic"}={})=>{let o=new Map,p=new Map,q=new Map,r=new Map,s=d??b??[],t=c??a??[],u=l??[0,0],v=m??au;bD(q,r,s);let{nodesInitialized:w}=bx(t,o,p,{nodeOrigin:u,nodeExtent:v,zIndexMode:n}),x=[0,0,1];if(g&&e&&f){let{x:a,y:b,zoom:c}=a_(aC(o,{filter:a=>!!((a.width||a.initialWidth)&&(a.height||a.initialHeight))}),e,f,i,k,h?.padding??.1);x=[a,b,c]}return{rfId:"1",width:e??0,height:f??0,transform:x,nodes:t,nodesInitialized:w,nodeLookup:o,parentLookup:p,edges:s,edgeLookup:r,connectionLookup:q,onNodesChange:null,onEdgesChange:null,hasDefaultNodes:void 0!==c,hasDefaultEdges:void 0!==d,panZoom:null,minZoom:i,maxZoom:k,translateExtent:au,nodeExtent:v,nodesSelectionActive:!1,userSelectionActive:!1,userSelectionRect:null,connectionMode:j.Strict,domNode:null,paneDragging:!1,noPanClassName:"nopan",nodeOrigin:u,nodeDragThreshold:1,connectionDragThreshold:1,snapGrid:[15,15],snapToGrid:!1,nodesDraggable:!0,nodesConnectable:!0,nodesFocusable:!0,edgesFocusable:!0,edgesReconnectable:!0,elementsSelectable:!0,elevateNodesOnSelect:!0,elevateEdgesOnSelect:!0,selectNodesOnDrag:!0,multiSelectionActive:!1,fitViewQueued:g??!1,fitViewOptions:h,fitViewResolver:null,connection:{...ax},connectionClickStartHandle:null,connectOnClick:!0,ariaLiveMessage:"",autoPanOnConnect:!0,autoPanOnNodeDrag:!0,autoPanOnNodeFocus:!0,autoPanSpeed:15,connectionRadius:20,onError:d2,isValidConnection:void 0,onSelectionChangeHandlers:[],lib:"react",debug:!1,ariaLabelConfig:aw,zIndexMode:n,defaultEdgeOptions:void 0,onNodesChangeMiddlewareMap:new Map,onEdgesChangeMiddlewareMap:new Map,onNodesDelete:void 0,onEdgesDelete:void 0,onDelete:void 0,onBeforeDelete:void 0,onViewportChangeStart:void 0,onViewportChange:void 0,onViewportChangeEnd:void 0,onNodeDragStart:void 0,onNodeDrag:void 0,onNodeDragStop:void 0,onSelectionDragStart:void 0,onSelectionDrag:void 0,onSelectionDragStop:void 0,onMoveStart:void 0,onMove:void 0,onMoveEnd:void 0,onConnect:void 0,onConnectStart:void 0,onConnectEnd:void 0,onClickConnectStart:void 0,onClickConnectEnd:void 0}};function d4({initialNodes:a,initialEdges:b,defaultNodes:c,defaultEdges:d,initialWidth:e,initialHeight:f,initialMinZoom:g,initialMaxZoom:h,initialFitViewOptions:i,fitView:j,nodeOrigin:k,nodeExtent:l,zIndexMode:m,children:n}){let[p]=(0,u.useState)(()=>(({nodes:a,edges:b,defaultNodes:c,defaultEdges:d,width:e,height:f,fitView:g,fitViewOptions:h,minZoom:i,maxZoom:j,nodeOrigin:k,nodeExtent:l,zIndexMode:m})=>{let n,p;return n=(n,p)=>{async function q(){let{nodeLookup:a,panZoom:b,fitViewOptions:c,fitViewResolver:d,width:e,height:f,minZoom:g,maxZoom:h}=p();b&&(await aE({nodes:a,width:e,height:f,panZoom:b,minZoom:g,maxZoom:h},c),d?.resolve(!0),n({fitViewResolver:null}))}return{...d3({nodes:a,edges:b,width:e,height:f,fitView:g,fitViewOptions:h,minZoom:i,maxZoom:j,nodeOrigin:k,nodeExtent:l,defaultNodes:c,defaultEdges:d,zIndexMode:m}),setNodes:a=>{let{nodeLookup:b,parentLookup:c,nodeOrigin:d,nodeExtent:e,elevateNodesOnSelect:f,fitViewQueued:g,zIndexMode:h,nodesSelectionActive:i}=p(),{nodesInitialized:j,hasSelectedNodes:k}=bx(a,b,c,{nodeOrigin:d,nodeExtent:e,elevateNodesOnSelect:f,checkEquality:!0,zIndexMode:h}),l=i&&k;g&&j?(q(),n({nodes:a,nodesInitialized:j,fitViewQueued:!1,fitViewOptions:void 0,nodesSelectionActive:l})):n({nodes:a,nodesInitialized:j,nodesSelectionActive:l})},setEdges:a=>{let{connectionLookup:b,edgeLookup:c}=p();bD(b,c,a),n({edges:a})},setDefaultNodesAndEdges:(a,b)=>{if(a){let{setNodes:b}=p();b(a),n({hasDefaultNodes:!0})}if(b){let{setEdges:a}=p();a(b),n({hasDefaultEdges:!0})}},updateNodeInternals:a=>{let{triggerNodeChanges:b,nodeLookup:c,parentLookup:d,domNode:e,nodeOrigin:f,nodeExtent:g,debug:h,fitViewQueued:i,zIndexMode:j}=p(),{changes:k,updatedInternals:l}=function(a,b,c,d,e,f,g){let h=d?.querySelector(".xyflow__viewport"),i=!1;if(!h)return{changes:[],updatedInternals:i};let j=[],k=window.getComputedStyle(h),{m22:l}=new window.DOMMatrixReadOnly(k.transform),m=[];for(let d of a.values()){let a=b.get(d.id);if(!a)continue;if(a.hidden){b.set(a.id,{...a,internals:{...a.internals,handleBounds:void 0}}),i=!0;continue}let h=a8(d.nodeElement),k=a.measured.width!==h.width||a.measured.height!==h.height;if(h.width&&h.height&&(k||!a.internals.handleBounds||d.force)){let n=d.nodeElement.getBoundingClientRect(),o=a1(a.extent)?a.extent:f,{positionAbsolute:p}=a.internals;if(a.parentId&&"parent"===a.extent){let c=b.get(a.parentId);c&&(p=aJ(p,h,c))}else o&&(p=aI(p,o,h));let q={...a,measured:h,internals:{...a.internals,positionAbsolute:p,handleBounds:{source:bd("source",d.nodeElement,n,l,a.id),target:bd("target",d.nodeElement,n,l,a.id)}}};b.set(a.id,q),a.parentId&&by(q,b,c,{nodeOrigin:e,zIndexMode:g}),i=!0,k&&(j.push({id:a.id,type:"dimensions",dimensions:h}),a.expandParent&&a.parentId&&m.push({id:a.id,parentId:a.parentId,rect:aP(q,e)}))}}if(m.length>0){let a=bA(m,b,c,e);j.push(...a)}return{changes:j,updatedInternals:i}}(a,c,d,e,f,g,j);l&&(!function(a,b,c){let d=bv(bt,c);for(let c of a.values())if(c.parentId)by(c,a,b,d);else{let a=aI(aB(c,d.nodeOrigin),a1(c.extent)?c.extent:d.nodeExtent,a2(c));c.internals.positionAbsolute=a}}(c,d,{nodeOrigin:f,nodeExtent:g,zIndexMode:j}),i?(q(),n({fitViewQueued:!1,fitViewOptions:void 0})):n({}),k?.length>0&&(h&&console.log("React Flow: trigger node changes",k),b?.(k)))},updateNodePositions:(a,b=!1)=>{let c=[],d=[],{nodeLookup:e,triggerNodeChanges:f,connection:g,updateConnection:h,onNodesChangeMiddlewareMap:i}=p();for(let[f,i]of a){let a=e.get(f),j=!!(a?.expandParent&&a?.parentId&&i?.position),k={id:f,type:"position",position:j?{x:Math.max(0,i.position.x),y:Math.max(0,i.position.y)}:i.position,dragging:b};if(a&&g.inProgress&&g.fromNode.id===a.id){let b=bq(a,g.fromHandle,o.Left,!0);h({...g,from:b})}j&&a.parentId&&c.push({id:f,parentId:a.parentId,rect:{...i.internals.positionAbsolute,width:i.measured.width??0,height:i.measured.height??0}}),d.push(k)}if(c.length>0){let{parentLookup:a,nodeOrigin:b}=p(),f=bA(c,e,a,b);d.push(...f)}for(let a of i.values())d=a(d);f(d)},triggerNodeChanges:a=>{let{onNodesChange:b,setNodes:c,nodes:d,hasDefaultNodes:e,debug:f}=p();a?.length&&(e&&c(cB(a,d)),f&&console.log("React Flow: trigger node changes",a),b?.(a))},triggerEdgeChanges:a=>{let{onEdgesChange:b,setEdges:c,edges:d,hasDefaultEdges:e,debug:f}=p();a?.length&&(e&&c(cB(a,d)),f&&console.log("React Flow: trigger edge changes",a),b?.(a))},addSelectedNodes:a=>{let{multiSelectionActive:b,edgeLookup:c,nodeLookup:d,triggerNodeChanges:e,triggerEdgeChanges:f}=p();b?e(a.map(a=>cC(a,!0))):(e(cD(d,new Set([...a]),!0)),f(cD(c)))},addSelectedEdges:a=>{let{multiSelectionActive:b,edgeLookup:c,nodeLookup:d,triggerNodeChanges:e,triggerEdgeChanges:f}=p();b?f(a.map(a=>cC(a,!0))):(f(cD(c,new Set([...a]))),e(cD(d,new Set,!0)))},unselectNodesAndEdges:({nodes:a,edges:b}={})=>{let{edges:c,nodes:d,nodeLookup:e,triggerNodeChanges:f,triggerEdgeChanges:g}=p(),h=[];for(let b of a||d){if(!b.selected)continue;let a=e.get(b.id);a&&(a.selected=!1),h.push(cC(b.id,!1))}let i=[];for(let a of b||c)a.selected&&i.push(cC(a.id,!1));f(h),g(i)},setMinZoom:a=>{let{panZoom:b,maxZoom:c}=p();b?.setScaleExtent([a,c]),n({minZoom:a})},setMaxZoom:a=>{let{panZoom:b,minZoom:c}=p();b?.setScaleExtent([c,a]),n({maxZoom:a})},setTranslateExtent:a=>{p().panZoom?.setTranslateExtent(a),n({translateExtent:a})},resetSelectedElements:()=>{let{edges:a,nodes:b,triggerNodeChanges:c,triggerEdgeChanges:d,elementsSelectable:e}=p();if(!e)return;let f=b.reduce((a,b)=>b.selected?[...a,cC(b.id,!1)]:a,[]),g=a.reduce((a,b)=>b.selected?[...a,cC(b.id,!1)]:a,[]);c(f),d(g)},setNodeExtent:a=>{let{nodes:b,nodeLookup:c,parentLookup:d,nodeOrigin:e,elevateNodesOnSelect:f,nodeExtent:g,zIndexMode:h}=p();(a[0][0]!==g[0][0]||a[0][1]!==g[0][1]||a[1][0]!==g[1][0]||a[1][1]!==g[1][1])&&(bx(b,c,d,{nodeOrigin:e,nodeExtent:a,elevateNodesOnSelect:f,checkEquality:!1,zIndexMode:h}),n({nodeExtent:a}))},panBy:a=>{let{transform:b,width:c,height:d,panZoom:e,translateExtent:f}=p();return bB({delta:a,panZoom:e,transform:b,translateExtent:f,width:c,height:d})},setCenter:async(a,b,c)=>{let{width:d,height:e,maxZoom:f,panZoom:g}=p();if(!g)return!1;let h=void 0!==c?.zoom?c.zoom:f;return await g.setViewport({x:d/2-a*h,y:e/2-b*h,zoom:h},{duration:c?.duration,ease:c?.ease,interpolate:c?.interpolate}),!0},cancelConnection:()=>{n({connection:{...ax}})},updateConnection:a=>{n({connection:a})},reset:()=>n({...d3()})}},p=Object.is,n?b2(n,p):b2})({nodes:a,edges:b,defaultNodes:c,defaultEdges:d,width:e,height:f,fitView:j,minZoom:g,maxZoom:h,fitViewOptions:i,nodeOrigin:k,nodeExtent:l,zIndexMode:m}));return(0,r.jsx)(b6,{value:p,children:(0,r.jsx)(cM,{children:(0,r.jsx)(c5,{children:n})})})}function d5({children:a,nodes:b,edges:c,defaultNodes:d,defaultEdges:e,width:f,height:g,fitView:h,fitViewOptions:i,minZoom:j,maxZoom:k,nodeOrigin:l,nodeExtent:m,zIndexMode:n}){return(0,u.useContext)(b5)?(0,r.jsx)(r.Fragment,{children:a}):(0,r.jsx)(d4,{initialNodes:b,initialEdges:c,defaultNodes:d,defaultEdges:e,initialWidth:f,initialHeight:g,fitView:h,initialFitViewOptions:i,initialMinZoom:j,initialMaxZoom:k,nodeOrigin:l,nodeExtent:m,zIndexMode:n,children:a})}let d6={width:"100%",height:"100%",overflow:"hidden",position:"relative",zIndex:0};var d7=cI(function({nodes:a,edges:b,defaultNodes:c,defaultEdges:d,className:e,nodeTypes:f,edgeTypes:g,onNodeClick:h,onEdgeClick:i,onInit:j,onMove:n,onMoveStart:o,onMoveEnd:p,onConnect:q,onConnectStart:s,onConnectEnd:t,onClickConnectStart:v,onClickConnectEnd:w,onNodeMouseEnter:x,onNodeMouseMove:y,onNodeMouseLeave:z,onNodeContextMenu:A,onNodeDoubleClick:B,onNodeDragStart:C,onNodeDrag:D,onNodeDragStop:E,onNodesDelete:F,onEdgesDelete:G,onDelete:H,onSelectionChange:I,onSelectionDragStart:J,onSelectionDrag:K,onSelectionDragStop:L,onSelectionContextMenu:M,onSelectionStart:N,onSelectionEnd:O,onBeforeDelete:P,connectionMode:Q,connectionLineType:R=m.Bezier,connectionLineStyle:S,connectionLineComponent:T,connectionLineContainerStyle:U,deleteKeyCode:V="Backspace",selectionKeyCode:W="Shift",selectionOnDrag:X=!1,selectionMode:Y=l.Full,panActivationKeyCode:Z="Space",multiSelectionKeyCode:$=a0()?"Meta":"Control",zoomActivationKeyCode:_=a0()?"Meta":"Control",snapToGrid:aa,snapGrid:ab,onlyRenderVisibleElements:ad=!1,selectNodesOnDrag:ae,nodesDraggable:af,autoPanOnNodeFocus:ag,nodesConnectable:ah,nodesFocusable:ai,nodeOrigin:aj=cr,edgesFocusable:ak,edgesReconnectable:al,elementsSelectable:am=!0,defaultViewport:an=cs,minZoom:ao=.5,maxZoom:ap=2,translateExtent:aq=au,preventScrolling:ar=!0,nodeExtent:as,defaultMarkerColor:at="#b1b1b7",zoomOnScroll:av=!0,zoomOnPinch:aw=!0,panOnScroll:ax=!1,panOnScrollSpeed:ay=.5,panOnScrollMode:az=k.Free,zoomOnDoubleClick:aA=!0,panOnDrag:aB=!0,onPaneClick:aC,onPaneMouseEnter:aD,onPaneMouseMove:aE,onPaneMouseLeave:aF,onPaneScroll:aG,onPaneContextMenu:aH,paneClickDistance:aI=1,nodeClickDistance:aJ=0,children:aK,onReconnect:aL,onReconnectStart:aM,onReconnectEnd:aN,onEdgeContextMenu:aO,onEdgeDoubleClick:aP,onEdgeMouseEnter:aQ,onEdgeMouseMove:aR,onEdgeMouseLeave:aS,reconnectRadius:aT=10,onNodesChange:aU,onEdgesChange:aV,noDragClassName:aW="nodrag",noWheelClassName:aX="nowheel",noPanClassName:aY="nopan",fitView:aZ,fitViewOptions:a$,connectOnClick:a_,attributionPosition:a1,proOptions:a2,defaultEdgeOptions:a3,elevateNodesOnSelect:a4=!0,elevateEdgesOnSelect:a5=!1,disableKeyboardA11y:a6=!1,autoPanOnConnect:a7,autoPanOnNodeDrag:a8,autoPanOnSelection:a9=!0,autoPanSpeed:ba,connectionRadius:bb,isValidConnection:bc,onError:bd,style:be,id:bf,nodeDragThreshold:bg,connectionDragThreshold:bh,viewport:bi,onViewportChange:bj,width:bk,height:bl,colorMode:bm="light",debug:bn,onScroll:bo,ariaLabelConfig:bp,zIndexMode:bq="basic",...br},bs){let bt=bf||"1",bu=function(a){let[b,c]=(0,u.useState)("system"===a?null:a);return(0,u.useEffect)(()=>"system"!==a?void c(a):(c("light"),()=>{}),[a]),null!==b?b:"light"}(bm),bv=(0,u.useCallback)(a=>{a.currentTarget.scrollTo({top:0,left:0,behavior:"instant"}),bo?.(a)},[bo]);return(0,r.jsx)("div",{"data-testid":"rf__wrapper",...br,onScroll:bv,style:{...be,...d6},ref:bs,className:ac(["react-flow",e,bu]),id:bf,role:"application",children:(0,r.jsxs)(d5,{nodes:a,edges:b,width:bk,height:bl,fitView:aZ,fitViewOptions:a$,minZoom:ao,maxZoom:ap,nodeOrigin:aj,nodeExtent:as,zIndexMode:bq,children:[(0,r.jsx)(cw,{nodes:a,edges:b,defaultNodes:c,defaultEdges:d,onConnect:q,onConnectStart:s,onConnectEnd:t,onClickConnectStart:v,onClickConnectEnd:w,nodesDraggable:af,autoPanOnNodeFocus:ag,nodesConnectable:ah,nodesFocusable:ai,edgesFocusable:ak,edgesReconnectable:al,elementsSelectable:am,elevateNodesOnSelect:a4,elevateEdgesOnSelect:a5,minZoom:ao,maxZoom:ap,nodeExtent:as,onNodesChange:aU,onEdgesChange:aV,snapToGrid:aa,snapGrid:ab,connectionMode:Q,translateExtent:aq,connectOnClick:a_,defaultEdgeOptions:a3,fitView:aZ,fitViewOptions:a$,onNodesDelete:F,onEdgesDelete:G,onDelete:H,onNodeDragStart:C,onNodeDrag:D,onNodeDragStop:E,onSelectionDrag:K,onSelectionDragStart:J,onSelectionDragStop:L,onMove:n,onMoveStart:o,onMoveEnd:p,noPanClassName:aY,nodeOrigin:aj,rfId:bt,autoPanOnConnect:a7,autoPanOnNodeDrag:a8,autoPanSpeed:ba,onError:bd,connectionRadius:bb,isValidConnection:bc,selectNodesOnDrag:ae,nodeDragThreshold:bg,connectionDragThreshold:bh,onBeforeDelete:P,debug:bn,ariaLabelConfig:bp,zIndexMode:bq}),(0,r.jsx)(d1,{onInit:j,onNodeClick:h,onEdgeClick:i,onNodeMouseEnter:x,onNodeMouseMove:y,onNodeMouseLeave:z,onNodeContextMenu:A,onNodeDoubleClick:B,nodeTypes:f,edgeTypes:g,connectionLineType:R,connectionLineStyle:S,connectionLineComponent:T,connectionLineContainerStyle:U,selectionKeyCode:W,selectionOnDrag:X,selectionMode:Y,deleteKeyCode:V,multiSelectionKeyCode:$,panActivationKeyCode:Z,zoomActivationKeyCode:_,onlyRenderVisibleElements:ad,defaultViewport:an,translateExtent:aq,minZoom:ao,maxZoom:ap,preventScrolling:ar,zoomOnScroll:av,zoomOnPinch:aw,zoomOnDoubleClick:aA,panOnScroll:ax,panOnScrollSpeed:ay,panOnScrollMode:az,panOnDrag:aB,autoPanOnSelection:a9,onPaneClick:aC,onPaneMouseEnter:aD,onPaneMouseMove:aE,onPaneMouseLeave:aF,onPaneScroll:aG,onPaneContextMenu:aH,paneClickDistance:aI,nodeClickDistance:aJ,onSelectionContextMenu:M,onSelectionStart:N,onSelectionEnd:O,onReconnect:aL,onReconnectStart:aM,onReconnectEnd:aN,onEdgeContextMenu:aO,onEdgeDoubleClick:aP,onEdgeMouseEnter:aQ,onEdgeMouseMove:aR,onEdgeMouseLeave:aS,reconnectRadius:aT,defaultMarkerColor:at,noDragClassName:aW,noWheelClassName:aX,noPanClassName:aY,rfId:bt,disableKeyboardA11y:a6,nodeExtent:as,viewport:bi,onViewportChange:bj,nodesDraggable:af}),(0,r.jsx)(cq,{onSelectionChange:I}),aK,(0,r.jsx)(ck,{proOptions:a2,position:a1}),(0,r.jsx)(ch,{rfId:bt,disableKeyboardA11y:a6})]})})});let d8=a=>a.domNode?.querySelector(".react-flow__viewport-portal");function d9({children:a}){let b=b8(d8);return b?(0,b4.createPortal)(a,b):null}function ea({dimensions:a,lineWidth:b,variant:c,className:d}){return(0,r.jsx)("path",{strokeWidth:b,d:`M${a[0]/2} 0 V${a[1]} M0 ${a[1]/2} H${a[0]}`,className:ac(["react-flow__background-pattern",c,d])})}function eb({radius:a,className:b}){return(0,r.jsx)("circle",{cx:a,cy:a,r:a,className:ac(["react-flow__background-pattern","dots",b])})}(i=q||(q={})).Lines="lines",i.Dots="dots",i.Cross="cross";let ec={[q.Dots]:1,[q.Lines]:1,[q.Cross]:6},ed=a=>({transform:a.transform,patternId:`pattern-${a.rfId}`});function ee({id:a,variant:b=q.Dots,gap:c=20,size:d,lineWidth:e=1,offset:f=0,color:g,bgColor:h,style:i,className:j,patternClassName:k}){let l=(0,u.useRef)(null),{transform:m,patternId:n}=b8(ed,b3),o=d||ec[b],p=b===q.Dots,s=b===q.Cross,t=Array.isArray(c)?c:[c,c],v=[t[0]*m[2]||1,t[1]*m[2]||1],w=o*m[2],x=Array.isArray(f)?f:[f,f],y=s?[w,w]:v,z=[x[0]*m[2]+y[0]/2,x[1]*m[2]+y[1]/2],A=`${n}${a||""}`;return(0,r.jsxs)("svg",{className:ac(["react-flow__background",j]),style:{...i,...cR,"--xy-background-color-props":h,"--xy-background-pattern-color-props":g},ref:l,"data-testid":"rf__background",children:[(0,r.jsx)("pattern",{id:A,x:m[0]%v[0],y:m[1]%v[1],width:v[0],height:v[1],patternUnits:"userSpaceOnUse",patternTransform:`translate(-${z[0]},-${z[1]})`,children:p?(0,r.jsx)(eb,{radius:w/2,className:k}):(0,r.jsx)(ea,{dimensions:y,lineWidth:e,variant:b,className:k})}),(0,r.jsx)("rect",{x:"0",y:"0",width:"100%",height:"100%",fill:`url(#${A})`})]})}function ef(){return(0,r.jsx)("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 32",children:(0,r.jsx)("path",{d:"M32 18.133H18.133V32h-4.266V18.133H0v-4.266h13.867V0h4.266v13.867H32z"})})}function eg(){return(0,r.jsx)("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 5",children:(0,r.jsx)("path",{d:"M0 0h32v4.2H0z"})})}function eh(){return(0,r.jsx)("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 30",children:(0,r.jsx)("path",{d:"M3.692 4.63c0-.53.4-.938.939-.938h5.215V0H4.708C2.13 0 0 2.054 0 4.63v5.216h3.692V4.631zM27.354 0h-5.2v3.692h5.17c.53 0 .984.4.984.939v5.215H32V4.631A4.624 4.624 0 0027.354 0zm.954 24.83c0 .532-.4.94-.939.94h-5.215v3.768h5.215c2.577 0 4.631-2.13 4.631-4.707v-5.139h-3.692v5.139zm-23.677.94c-.531 0-.939-.4-.939-.94v-5.138H0v5.139c0 2.577 2.13 4.707 4.708 4.707h5.138V25.77H4.631z"})})}function ei(){return(0,r.jsx)("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 25 32",children:(0,r.jsx)("path",{d:"M21.333 10.667H19.81V7.619C19.81 3.429 16.38 0 12.19 0 8 0 4.571 3.429 4.571 7.619v3.048H3.048A3.056 3.056 0 000 13.714v15.238A3.056 3.056 0 003.048 32h18.285a3.056 3.056 0 003.048-3.048V13.714a3.056 3.056 0 00-3.048-3.047zM12.19 24.533a3.056 3.056 0 01-3.047-3.047 3.056 3.056 0 013.047-3.048 3.056 3.056 0 013.048 3.048 3.056 3.056 0 01-3.048 3.047zm4.724-13.866H7.467V7.619c0-2.59 2.133-4.724 4.723-4.724 2.591 0 4.724 2.133 4.724 4.724v3.048z"})})}function ej(){return(0,r.jsx)("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 25 32",children:(0,r.jsx)("path",{d:"M21.333 10.667H19.81V7.619C19.81 3.429 16.38 0 12.19 0c-4.114 1.828-1.37 2.133.305 2.438 1.676.305 4.42 2.59 4.42 5.181v3.048H3.047A3.056 3.056 0 000 13.714v15.238A3.056 3.056 0 003.048 32h18.285a3.056 3.056 0 003.048-3.048V13.714a3.056 3.056 0 00-3.048-3.047zM12.19 24.533a3.056 3.056 0 01-3.047-3.047 3.056 3.056 0 013.047-3.048 3.056 3.056 0 013.048 3.048 3.056 3.056 0 01-3.048 3.047z"})})}function ek({children:a,className:b,...c}){return(0,r.jsx)("button",{type:"button",className:ac(["react-flow__controls-button",b]),...c,children:a})}ee.displayName="Background",(0,u.memo)(ee);let el=a=>({isInteractive:a.nodesDraggable||a.nodesConnectable||a.elementsSelectable,minZoomReached:a.transform[2]<=a.minZoom,maxZoomReached:a.transform[2]>=a.maxZoom,ariaLabelConfig:a.ariaLabelConfig});function em({style:a,showZoom:b=!0,showFitView:c=!0,showInteractive:d=!0,fitViewOptions:e,onZoomIn:f,onZoomOut:g,onFitView:h,onInteractiveChange:i,className:j,children:k,position:l="bottom-left",orientation:m="vertical","aria-label":n}){let o=b9(),{isInteractive:p,minZoomReached:q,maxZoomReached:s,ariaLabelConfig:t}=b8(el,b3),{zoomIn:u,zoomOut:v,fitView:w}=cO();return(0,r.jsxs)(ci,{className:ac(["react-flow__controls","horizontal"===m?"horizontal":"vertical",j]),position:l,style:a,"data-testid":"rf__controls","aria-label":n??t["controls.ariaLabel"],children:[b&&(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(ek,{onClick:()=>{u(),f?.()},className:"react-flow__controls-zoomin",title:t["controls.zoomIn.ariaLabel"],"aria-label":t["controls.zoomIn.ariaLabel"],disabled:s,children:(0,r.jsx)(ef,{})}),(0,r.jsx)(ek,{onClick:()=>{v(),g?.()},className:"react-flow__controls-zoomout",title:t["controls.zoomOut.ariaLabel"],"aria-label":t["controls.zoomOut.ariaLabel"],disabled:q,children:(0,r.jsx)(eg,{})})]}),c&&(0,r.jsx)(ek,{className:"react-flow__controls-fitview",onClick:()=>{w(e),h?.()},title:t["controls.fitView.ariaLabel"],"aria-label":t["controls.fitView.ariaLabel"],children:(0,r.jsx)(eh,{})}),d&&(0,r.jsx)(ek,{className:"react-flow__controls-interactive",onClick:()=>{o.setState({nodesDraggable:!p,nodesConnectable:!p,elementsSelectable:!p}),i?.(!p)},title:t["controls.interactive.ariaLabel"],"aria-label":t["controls.interactive.ariaLabel"],children:p?(0,r.jsx)(ej,{}):(0,r.jsx)(ei,{})}),k]})}em.displayName="Controls";let en=(0,u.memo)(em),eo=(0,u.memo)(function({id:a,x:b,y:c,width:d,height:e,style:f,color:g,strokeColor:h,strokeWidth:i,className:j,borderRadius:k,shapeRendering:l,selected:m,onClick:n}){let{background:o,backgroundColor:p}=f||{};return(0,r.jsx)("rect",{className:ac(["react-flow__minimap-node",{selected:m},j]),x:b,y:c,rx:k,ry:k,width:d,height:e,style:{fill:g||o||p,stroke:h,strokeWidth:i},shapeRendering:l,onClick:n?b=>n(b,a):void 0})}),ep=a=>a.nodes.map(a=>a.id),eq=a=>a instanceof Function?a:()=>a,er=(0,u.memo)(function({id:a,nodeColorFunc:b,nodeStrokeColorFunc:c,nodeClassNameFunc:d,nodeBorderRadius:e,nodeStrokeWidth:f,shapeRendering:g,NodeComponent:h,onClick:i}){let{node:j,x:k,y:l,width:m,height:n}=b8(b=>{let c=b.nodeLookup.get(a);if(!c)return{node:void 0,x:0,y:0,width:0,height:0};let d=c.internals.userNode,{x:e,y:f}=c.internals.positionAbsolute,{width:g,height:h}=a2(d);return{node:d,x:e,y:f,width:g,height:h}},b3);return j&&!j.hidden&&a3(j)?(0,r.jsx)(h,{x:k,y:l,width:m,height:n,style:j.style,selected:!!j.selected,className:d(j),color:b(j),borderRadius:e,strokeColor:c(j),strokeWidth:f,shapeRendering:g,onClick:i,id:j.id}):null});var es=(0,u.memo)(function({nodeStrokeColor:a,nodeColor:b,nodeClassName:c="",nodeBorderRadius:d=5,nodeStrokeWidth:e,nodeComponent:f=eo,onClick:g}){let h=b8(ep,b3),i=eq(b),j=eq(a),k=eq(c);return(0,r.jsx)(r.Fragment,{children:h.map(a=>(0,r.jsx)(er,{id:a,nodeColorFunc:i,nodeStrokeColorFunc:j,nodeClassNameFunc:k,nodeBorderRadius:d,nodeStrokeWidth:e,NodeComponent:f,onClick:g,shapeRendering:"crispEdges"},a))})});let et=a=>!a.hidden,eu=a=>{let b={x:-a.transform[0]/a.transform[2],y:-a.transform[1]/a.transform[2],width:a.width/a.transform[2],height:a.height/a.transform[2]},c=!1;for(let b of a.nodeLookup.values())if(!b.hidden){c=!0;break}return{viewBB:b,boundingRect:c?aR(aC(a.nodeLookup,{filter:et}),b):b,rfId:a.rfId,panZoom:a.panZoom,translateExtent:a.translateExtent,flowWidth:a.width,flowHeight:a.height,ariaLabelConfig:a.ariaLabelConfig}},ev=(a,b)=>a.x===b.x&&a.y===b.y&&a.width===b.width&&a.height===b.height,ew=(a,b)=>ev(a.viewBB,b.viewBB)&&ev(a.boundingRect,b.boundingRect)&&a.rfId===b.rfId&&a.panZoom===b.panZoom&&a.translateExtent===b.translateExtent&&a.flowWidth===b.flowWidth&&a.flowHeight===b.flowHeight&&a.ariaLabelConfig===b.ariaLabelConfig;function ex({style:a,className:b,nodeStrokeColor:c,nodeColor:d,nodeClassName:e="",nodeBorderRadius:f=5,nodeStrokeWidth:g,nodeComponent:h,bgColor:i,maskColor:j,maskStrokeColor:k,maskStrokeWidth:l,position:m="bottom-right",onClick:n,onNodeClick:o,pannable:p=!1,zoomable:q=!1,ariaLabel:s,inversePan:t,zoomStep:v=1,offsetScale:w=5}){let x=b9(),y=(0,u.useRef)(null),{boundingRect:z,panZoom:A,viewBB:B,rfId:C,translateExtent:D,flowWidth:E,flowHeight:F,ariaLabelConfig:G}=b8(eu,ew),H=a?.width??200,I=a?.height??150,J=Math.max(z.width/H,z.height/I),K=J*H,L=J*I,M=w*J,N=z.x-(K-z.width)/2-M,O=z.y-(L-z.height)/2-M,P=K+2*M,Q=L+2*M,R=`react-flow__minimap-desc-${C}`,S=(0,u.useRef)(0),T=(0,u.useRef)();S.current=J,(0,u.useEffect)(()=>{let a=x.getState().panZoom;if(y.current&&a)return T.current=function({domNode:a,panZoom:b,getTransform:c,getViewScale:d}){let e=(0,ae.f)(a);return{update:function({translateExtent:a,width:f,height:g,zoomStep:h=1,pannable:i=!0,zoomable:j=!0,inversePan:k=!1}){let l=[0,0],m=(0,ap.f)().on("start",a=>{("mousedown"===a.sourceEvent.type||"touchstart"===a.sourceEvent.type)&&(l=[a.sourceEvent.clientX??a.sourceEvent.touches[0].clientX,a.sourceEvent.clientY??a.sourceEvent.touches[0].clientY])}).on("zoom",i?e=>{let h=c();if("mousemove"!==e.sourceEvent.type&&"touchmove"!==e.sourceEvent.type||!b)return;let i=[e.sourceEvent.clientX??e.sourceEvent.touches[0].clientX,e.sourceEvent.clientY??e.sourceEvent.touches[0].clientY],j=[i[0]-l[0],i[1]-l[1]];l=i;let m=d()*Math.max(h[2],Math.log(h[2]))*(k?-1:1),n={x:h[0]-j[0]*m,y:h[1]-j[1]*m};b.setViewportConstrained({x:n.x,y:n.y,zoom:h[2]},[[0,0],[f,g]],a)}:null).on("zoom.wheel",j?a=>{if("wheel"!==a.sourceEvent.type||!b)return;let d=c(),e=a.sourceEvent.ctrlKey&&a0()?10:1,f=-a.sourceEvent.deltaY*(1===a.sourceEvent.deltaMode?.05:a.sourceEvent.deltaMode?1:.002)*h,g=d[2]*Math.pow(2,f*e);b.scaleTo(g)}:null);e.call(m,{})},destroy:function(){e.on("zoom",null)},pointer:af.f}}({domNode:y.current,panZoom:a,getTransform:()=>x.getState().transform,getViewScale:()=>S.current}),()=>{T.current?.destroy()}},[A]),(0,u.useEffect)(()=>{T.current?.update({translateExtent:D,width:E,height:F,inversePan:t,pannable:p,zoomStep:v,zoomable:q})},[p,q,t,v,D,E,F]);let U=n?a=>{let[b,c]=T.current?.pointer(a)||[0,0];n(a,{x:b,y:c})}:void 0,V=(0,u.useCallback)((a,b)=>{let c=x.getState().nodeLookup.get(b).internals.userNode;o?.(a,c)},[o]),W=s??G["minimap.ariaLabel"];return(0,r.jsx)(ci,{position:m,style:{...a,"--xy-minimap-background-color-props":"string"==typeof i?i:void 0,"--xy-minimap-mask-background-color-props":"string"==typeof j?j:void 0,"--xy-minimap-mask-stroke-color-props":"string"==typeof k?k:void 0,"--xy-minimap-mask-stroke-width-props":"number"==typeof l?l*J:void 0,"--xy-minimap-node-background-color-props":"string"==typeof d?d:void 0,"--xy-minimap-node-stroke-color-props":"string"==typeof c?c:void 0,"--xy-minimap-node-stroke-width-props":"number"==typeof g?g:void 0},className:ac(["react-flow__minimap",b]),"data-testid":"rf__minimap",children:(0,r.jsxs)("svg",{width:H,height:I,viewBox:`${N} ${O} ${P} ${Q}`,className:"react-flow__minimap-svg",role:"img","aria-labelledby":R,ref:y,onClick:U,children:[W&&(0,r.jsx)("title",{id:R,children:W}),(0,r.jsx)(es,{onClick:o?V:void 0,nodeColor:d,nodeStrokeColor:c,nodeBorderRadius:f,nodeClassName:e,nodeStrokeWidth:g,nodeComponent:h}),(0,r.jsx)("path",{className:"react-flow__minimap-mask",d:`M${N-M},${O-M}h${P+2*M}v${Q+2*M}h${-P-2*M}z
3
+ M${B.x},${B.y}h${B.width}v${B.height}h${-B.width}z`,fillRule:"evenodd",pointerEvents:"none"})]})})}ex.displayName="MiniMap";let ey=(0,u.memo)(ex),ez={[p.Line]:"right",[p.Handle]:"bottom-right"};(0,u.memo)(function({nodeId:a,position:b,variant:c=p.Handle,className:d,style:e,children:f,color:g,minWidth:h=10,minHeight:i=10,maxWidth:j=Number.MAX_VALUE,maxHeight:k=Number.MAX_VALUE,keepAspectRatio:l=!1,resizeDirection:m,autoScale:n=!0,shouldResize:o,onResizeStart:q,onResize:s,onResizeEnd:t}){let v,w=c2(),x="string"==typeof a?a:w,y=b9(),z=(0,u.useRef)(null),A=c===p.Handle,B=b8((0,u.useCallback)((v=A&&n,a=>v?`${Math.max(1/a.transform[2],1)}`:void 0),[A,n]),b3),C=(0,u.useRef)(null),D=b??ez[c];(0,u.useEffect)(()=>{if(z.current&&x)return C.current||(C.current=function({domNode:a,nodeId:b,getStoreItems:c,onChange:d,onEnd:e}){let f=(0,ae.f)(a),g={controlDirection:bS("bottom-right"),boundaries:{minWidth:0,minHeight:0,maxWidth:Number.MAX_VALUE,maxHeight:Number.MAX_VALUE},resizeDirection:void 0,keepAspectRatio:!1};return{update:function({controlPosition:a,boundaries:h,keepAspectRatio:i,resizeDirection:j,onResizeStart:k,onResize:l,onResizeEnd:m,shouldResize:n}){let o,p,q,r,s={...bW},t={...bX};g={boundaries:h,resizeDirection:j,keepAspectRatio:i,controlDirection:bS(a)};let u=null,v=[],w=ao().on("start",a=>{let{nodeLookup:d,transform:e,snapGrid:f,snapToGrid:g,nodeOrigin:h,paneDomNode:i}=c();if(!(o=d.get(b)))return;u=i?.getBoundingClientRect()??null;let{xSnapped:j,ySnapped:l}=a7(a.sourceEvent,{transform:e,snapGrid:f,snapToGrid:g,containerBounds:u});for(let[a,c]of(t={...s={width:o.measured.width??0,height:o.measured.height??0,x:o.position.x??0,y:o.position.y??0},pointerX:j,pointerY:l,aspectRatio:s.width/s.height},p=void 0,q=a1(o.extent)?o.extent:void 0,o.parentId&&("parent"===o.extent||o.expandParent)&&(p=d.get(o.parentId)),p&&"parent"===o.extent&&(q=[[0,0],[p.measured.width,p.measured.height]]),v=[],r=void 0,d))if(c.parentId===b&&(v.push({id:a,position:{...c.position},extent:c.extent}),"parent"===c.extent||c.expandParent)){let a=function(a,b,c){let d=b.position.x+a.position.x,e=b.position.y+a.position.y,f=a.measured.width??0,g=a.measured.height??0,h=c[0]*f,i=c[1]*g;return[[d-h,e-i],[d+f-h,e+g-i]]}(c,o,c.origin??h);r=r?[[Math.min(a[0][0],r[0][0]),Math.min(a[0][1],r[0][1])],[Math.max(a[1][0],r[1][0]),Math.max(a[1][1],r[1][1])]]:a}k?.(a,{...s})}).on("drag",a=>{let{transform:b,snapGrid:e,snapToGrid:f,nodeOrigin:h}=c(),i=a7(a.sourceEvent,{transform:b,snapGrid:e,snapToGrid:f,containerBounds:u}),j=[];if(!o)return;let{x:k,y:m,width:w,height:x}=s,y={},z=o.origin??h,{width:A,height:B,x:C,y:D}=function(a,b,c,d,e,f,g,h){var i,j,k,l;let{affectsX:m,affectsY:n}=b,{isHorizontal:o,isVertical:p}=b,q=o&&p,{xSnapped:r,ySnapped:s}=c,{minWidth:t,maxWidth:u,minHeight:v,maxHeight:w}=d,{x:x,y:y,width:z,height:A,aspectRatio:B}=a,C=Math.floor(o?r-a.pointerX:0),D=Math.floor(p?s-a.pointerY:0),E=z+(m?-C:C),F=A+(n?-D:D),G=-f[0]*z,H=-f[1]*A,I=bV(E,t,u),J=bV(F,v,w);if(g){let a=0,b=0;m&&C<0?a=bT(x+C+G,g[0][0]):!m&&C>0&&(a=bU(x+E+G,g[1][0])),n&&D<0?b=bT(y+D+H,g[0][1]):!n&&D>0&&(b=bU(y+F+H,g[1][1])),I=Math.max(I,a),J=Math.max(J,b)}if(h){let a=0,b=0;m&&C>0?a=bU(x+C,h[0][0]):!m&&C<0&&(a=bT(x+E,h[1][0])),n&&D>0?b=bU(y+D,h[0][1]):!n&&D<0&&(b=bT(y+F,h[1][1])),I=Math.max(I,a),J=Math.max(J,b)}if(e){if(o){(I=Math.max(I,bV(E/B,v,w)*B),g)&&(I=Math.max(I,(m||n)&&(!m||n||!q)?bT(y+H+(m?C:-C)/B,g[0][1])*B:bU(y+H+E/B,g[1][1])*B));h&&(I=Math.max(I,(m||n)&&(!m||n||!q)?bU(y+(m?C:-C)/B,h[0][1])*B:bT(y+E/B,h[1][1])*B))}if(p){(J=Math.max(J,bV(F*B,t,u)/B),g)&&(J=Math.max(J,(m||n)&&(!n||m||!q)?bT(x+(n?D:-D)*B+G,g[0][0])/B:bU(x+F*B+G,g[1][0])/B));h&&(J=Math.max(J,(m||n)&&(!n||m||!q)?bU(x+(n?D:-D)*B,h[0][0])/B:bT(x+F*B,h[1][0])/B))}}D+=D<0?J:-J,C+=C<0?I:-I,e&&(q?E>F*B?D=((i=m,j=n,i?!j:j)?-C:C)/B:C=((k=m,l=n,k?!l:l)?-D:D)*B:o?(D=C/B,n=m):(C=D*B,m=n));let K=m?x+C:x,L=n?y+D:y;return{width:z+(m?-C:C),height:A+(n?-D:D),x:f[0]*C*(m?-1:1)+K,y:f[1]*D*(n?-1:1)+L}}(t,g.controlDirection,i,g.boundaries,g.keepAspectRatio,z,q,r),E=A!==w,F=B!==x,G=C!==k&&E,H=D!==m&&F;if(!G&&!H&&!E&&!F)return;let I={prevValues:{...s},startX:t.x,startY:t.y,childNodes:v.map(a=>({...a,position:{...a.position}}))};if((G||H||1===z[0]||1===z[1])&&(y.x=G?C:s.x,y.y=H?D:s.y,s.x=y.x,s.y=y.y,v.length>0)){let a=C-k,b=D-m;for(let c of v)c.position={x:c.position.x-a+z[0]*(A-w),y:c.position.y-b+z[1]*(B-x)},j.push(c)}if((E||F)&&(y.width=E&&(!g.resizeDirection||"horizontal"===g.resizeDirection)?A:s.width,y.height=F&&(!g.resizeDirection||"vertical"===g.resizeDirection)?B:s.height,s.width=y.width,s.height=y.height),p&&o.expandParent){let a=z[0]*(y.width??0);y.x&&y.x<a&&(s.x=a,t.x=t.x-(y.x-a));let b=z[1]*(y.height??0);y.y&&y.y<b&&(s.y=b,t.y=t.y-(y.y-b))}let J=function({width:a,prevWidth:b,height:c,prevHeight:d,affectsX:e,affectsY:f}){let g=a-b,h=c-d,i=[g>0?1:g<0?-1:0,h>0?1:h<0?-1:0];return g&&e&&(i[0]=-1*i[0]),h&&f&&(i[1]=-1*i[1]),i}({width:s.width,prevWidth:w,height:s.height,prevHeight:x,affectsX:g.controlDirection.affectsX,affectsY:g.controlDirection.affectsY}),K={...s,direction:J};if(!1===n?.(a,K)){s=I.prevValues,t.x=I.startX,t.y=I.startY,v.forEach((a,b)=>{a.position=I.childNodes[b].position});return}l?.(a,K),d(y,j)}).on("end",a=>{m?.(a,{...s}),e?.({...s})});f.call(w)},destroy:function(){f.on(".drag",null)}}}({domNode:z.current,nodeId:x,getStoreItems:()=>{let{nodeLookup:a,transform:b,snapGrid:c,snapToGrid:d,nodeOrigin:e,domNode:f}=y.getState();return{nodeLookup:a,transform:b,snapGrid:c,snapToGrid:d,nodeOrigin:e,paneDomNode:f}},onChange:(a,b)=>{let{triggerNodeChanges:c,nodeLookup:d,parentLookup:e,nodeOrigin:f}=y.getState(),g=[],h={x:a.x,y:a.y},i=d.get(x);if(i&&i.expandParent&&i.parentId){let b=i.origin??f,c=a.width??i.measured.width??0,j=a.height??i.measured.height??0,k=bA([{id:i.id,parentId:i.parentId,rect:{width:c,height:j,...a4({x:a.x??i.position.x,y:a.y??i.position.y},{width:c,height:j},i.parentId,d,b)}}],d,e,f);g.push(...k),h.x=a.x?Math.max(b[0]*c,a.x):void 0,h.y=a.y?Math.max(b[1]*j,a.y):void 0}if(void 0!==h.x&&void 0!==h.y){let a={id:x,type:"position",position:{...h}};g.push(a)}if(void 0!==a.width&&void 0!==a.height){let b={id:x,type:"dimensions",resizing:!0,setAttributes:!m||("horizontal"===m?"width":"height"),dimensions:{width:a.width,height:a.height}};g.push(b)}for(let a of b){let b={...a,type:"position"};g.push(b)}c(g)},onEnd:({width:a,height:b})=>{y.getState().triggerNodeChanges([{id:x,type:"dimensions",resizing:!1,dimensions:{width:a,height:b}}])}})),C.current.update({controlPosition:D,boundaries:{minWidth:h,minHeight:i,maxWidth:j,maxHeight:k},keepAspectRatio:l,resizeDirection:m,onResizeStart:q,onResize:s,onResizeEnd:t,shouldResize:o}),()=>{C.current?.destroy()}},[D,h,i,j,k,l,q,s,t,o]);let E=D.split("-");return(0,r.jsx)("div",{className:ac(["react-flow__resize-control","nodrag",...E,c,d]),ref:z,style:{...e,scale:B,...g&&{[A?"backgroundColor":"borderColor"]:g}},children:f})});var eA=a.i(424756);function eB({issue:a,href:b,plan:c,center:d=!1}){let e=(0,L.useMessages)(),f=(0,Z.N)(a);return(0,r.jsxs)(eA.j,{className:"nopan pointer-events-auto flex size-full flex-col gap-1 rounded-lg border border-transparent bg-base-100 px-3 py-2 text-xs",coverClassName:`-inset-px rounded-lg border border-base-300 transition hover:border-base-content/30 hover:shadow-sm aria-[current=true]:shadow-md aria-[current=true]:ring-2 aria-[current=true]:ring-primary ${c?.outside?"border-dashed":""}`,coverTooltip:a.id,issueId:a.id,title:a.title,cover:{href:b},current:d,children:[(0,r.jsxs)("span",{className:"flex items-center gap-1.5 text-base-content/55",children:[(0,r.jsx)(_.f,{issueType:a.issueType}),(0,r.jsx)("span",{"aria-hidden":!0,children:"·"}),(0,r.jsx)("span",{className:`tone-dot ${(0,$._)(f)}`}),(0,r.jsx)("span",{className:"min-w-0 truncate",children:e.workStates.labels[f]}),(0,r.jsx)(eA.s,{issueId:a.id,short:!0,className:"nodrag ml-auto shrink-0 rounded"})]}),(0,r.jsx)("span",{className:`text-sm leading-snug wrap-anywhere whitespace-pre-wrap font-medium ${"closed"===f?"text-base-content/65":"text-base-content"}`,children:a.title}),c&&(0,r.jsxs)("span",{className:"mt-auto flex items-center gap-1.5 text-base-content/55",children:[c.outside&&(0,r.jsx)("span",{className:"relative",title:e.graph.outsideHint,children:e.graph.outside}),(0,r.jsx)(aa.f,{count:c.waiters,className:"relative ml-auto"})]})]})}function eC({layout:a,edgeLooks:b,issueHref:c,plan:d,centerId:e,ready:f=!0}){let g,h,i,j,k=(0,u.useRef)(null),l=(0,u.useMemo)(()=>{let b;return d?function(a,{total:b,current:c}){let d=a.columns[c??b-1];return void 0===d?void 0:{x:d+140,y:-32,anchor:"top"}}(a,d.stages):void 0===e?void 0:(b=a.nodes.find(({issue:a})=>a.id===e))&&{x:b.x+140,y:b.y+b.height/2,anchor:"center"}},[a,d,e]),m=!!d,{onInit:n,preserveViewport:o,showFocus:p}=(g=(0,u.useRef)(null),h=(0,u.useRef)({layout:a,focus:l}),i=(0,u.useRef)(!1),j=()=>{i.current=!0},(0,u.useLayoutEffect)(()=>{h.current={layout:a,focus:l}},[a,l]),(0,u.useLayoutEffect)(()=>{let a=k.current;if(!a)return;let b=new ResizeObserver(()=>{i.current||g.current?.setViewport(Y(h.current.layout,a.clientWidth,a.clientHeight,m,h.current.focus))});return b.observe(a),()=>b.disconnect()},[k,m]),{onInit:b=>{g.current=b;let c=k.current;b.setViewport(Y(a,c.clientWidth,c.clientHeight,m,l))},preserveViewport:j,showFocus:()=>{let a=g.current,b=k.current;a&&b&&l&&(j(),a.setViewport(X(l,b.clientWidth,b.clientHeight,a.getZoom())))}}),[q,s]=(0,u.useState)(!1);f&&!q&&s(!0);let t=(0,L.useMessages)(),v=d?null===d.stages.current?t.graph.focusLastStage:t.graph.focusStage:t.graph.focusIssue,w=`edge${(0,u.useId)().replace(/\W/g,"")}`,{nodes:x,edges:y}=(0,u.useMemo)(()=>{let f=new Set(a.nodes.filter(({issue:a})=>"gate"===a.issueType).map(({issue:a})=>a.id));return{nodes:a.nodes.map(({issue:a,x:b,y:f,height:g})=>({id:a.id,type:"issue",position:{x:b,y:f},width:280,height:g,data:{issue:a,href:c(a.id),center:a.id===e,...d&&{plan:{outside:d.outside.has(a.id),waiters:d.waiters.get(a.id)??0}}}})),edges:[...a.edges.map(({from:a,to:c,points:e},g)=>{let h=b[g],i=!d&&[a,c].some(a=>f.has(a));return{id:`${a}->${c}`,type:"route",source:a,target:c,data:{points:e,look:h},markerEnd:T(w,h),ariaLabel:i?t.graph.conditionEdge(a,c):t.graph.edgeLabel(a,c)}}),...a.auxiliary.map(({from:a,to:b,type:c,points:d})=>{let e=O(c);return{id:`${c}:${a}->${b}`,type:"route",source:a,target:b,data:{points:d,look:e},markerEnd:T(w,e),ariaLabel:"related"===c?t.graph.relatedEdge(a,b):t.graph.discoveredEdge(a,b)}})]}},[a,b,c,d,e,t,w]);return(0,r.jsxs)("section",{ref:k,onWheelCapture:o,onPointerDownCapture:a=>{a.target.closest(".react-flow__minimap")&&o()},"aria-label":t.graph.canvas,className:"min-h-64 flex-1 overflow-hidden rounded-box border border-base-300 bg-base-100",children:[(0,r.jsx)(U,{idPrefix:w}),q&&(0,r.jsxs)(d7,{nodes:x,edges:y,nodeTypes:eF,edgeTypes:eG,onInit:n,onMoveStart:a=>{a&&o()},minZoom:.2,nodesDraggable:!1,nodesConnectable:!1,nodesFocusable:!1,edgesFocusable:!1,elementsSelectable:!1,ariaLabelConfig:{"controls.ariaLabel":t.graph.controls,"controls.zoomIn.ariaLabel":t.graph.zoomIn,"controls.zoomOut.ariaLabel":t.graph.zoomOut,"controls.fitView.ariaLabel":t.graph.fitView,"minimap.ariaLabel":t.graph.minimap},children:[d&&(0,r.jsx)(eD,{stages:d.stages,columns:a.columns}),(0,r.jsx)(en,{showInteractive:!1,onZoomIn:o,onZoomOut:o,onFitView:o,children:l&&(0,r.jsx)(ek,{onClick:p,title:v,"aria-label":v,children:(0,r.jsx)(eE,{})})}),(0,r.jsx)(ey,{pannable:!0,zoomable:!0,maskStrokeWidth:2,nodeClassName:eH})]})]})}function eD({stages:{total:a,current:b},columns:c}){let d=(0,L.useMessages)();return(0,r.jsx)(d9,{children:Array.from({length:a},(a,e)=>{let f=d.graph.stage(e+1),[g,h]=null===b||e<b?["text-base-content/40",`${f} \xb7 ${d.graph.stageDone}`]:e===b?["text-primary",`${f} \xb7 ${d.graph.stageCurrent}`]:["text-base-content/65",f];return(0,r.jsx)("div",{className:`absolute text-xs font-medium ${g}`,style:{width:280,transform:`translate(${c[e]??0}px, -32px)`},children:h},e)})})}function eE(){return(0,r.jsxs)("svg",{viewBox:"0 0 24 24","aria-hidden":"true",children:[(0,r.jsx)("circle",{cx:"12",cy:"12",r:"7",fill:"none",stroke:"currentColor",strokeWidth:"2.5"}),(0,r.jsx)("circle",{cx:"12",cy:"12",r:"2.5"}),(0,r.jsx)("path",{d:"M11 0h2v5h-2zM11 19h2v5h-2zM0 11h5v2H0zM19 11h5v2h-5z"})]})}let eF={issue:function({data:{issue:a,href:b,plan:c,center:d}}){return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(c7,{type:"target",position:o.Left,isConnectable:!1,className:"opacity-0"}),(0,r.jsx)(eB,{issue:a,href:b,plan:c,center:d}),(0,r.jsx)(c7,{type:"source",position:o.Right,isConnectable:!1,className:"opacity-0"})]})}},eG={route:function({data:a,markerEnd:b}){if(!a)return null;let c=a.points.map(({x:a,y:b},c)=>`${0===c?"M":"L"}${a},${b}`).join(" ");return(0,r.jsx)(ds,{path:c,markerEnd:b,style:S(a.look),"data-edge":a.look.kind})}};function eH(a){let b=(0,$._)((0,Z.N)(a.data.issue));return a.data.center?`${b} minimap-center`:b}function eI(a,b,c,d){let e=eJ(a.from,a.start,b.start,c),f=[e];a.channels.forEach(({axis:a},b)=>{e="x"===a?{x:d(b),y:e.y}:{x:e.x,y:d(b)},f.push(e)});let g=eJ(a.to,a.end,b.end,c);return f.push(eK(a.end)?{x:e.x,y:g.y}:{x:g.x,y:e.y},g),f}function eJ(a,b,c,d){let{x:e,y:f}=d(a);switch(b){case"left":return{x:e,y:f+c};case"right":return{x:e+280,y:f+c};case"top":return{x:e+c,y:f};case"bottom":return{x:e+c,y:f+a.height}}}function eK(a){return"left"===a||"right"===a}function eL(a,b){return eI(a,b,({column:a,row:b})=>({x:(2*a+1)*1e6,y:(2*b+1)*1e6}),b=>2*a.channels[b].gap*1e6)}function eM(a,b){return eK(b)?a.height/2:140}function eN(a,b,c,d){let e=eK(b)?"y":"x",f=eK(b)?"x":"y";return{moves:d?[]:a.slice(1).map(b=>b[e]-a[0][e]).filter(a=>0!==a),ties:[Math.abs(a.at(-1)[f]-a[0][f]),c.column,c.row]}}function eO(a,b){let c=[],d=0;for(let e=0;e<a.length-1;e++)c.push(d+=a[e]),d+=b(e);return c}function eP(a,b){let c=new Map;for(let d of a){let[a,e]="from"===b?[d.from,d.to]:[d.to,d.from];c.set(a,[...c.get(a)??[],e])}return c}function eQ(a,b=!1,c){let d=(0,u.useRef)(null),[e,f]=(0,u.useState)(new Map),g=b?96:76,h=(0,u.useMemo)(()=>(function({order:a,heights:b,nodeHeight:c,auxiliary:d}){let e=[],f=new Set,g=0;for(let b of a.components){g>0&&f.add(g);let a=function(a){let b=C(a);if(0===b.length)return a.layers;let c=function(a,b){let c=new Map(b.flatMap((a,b)=>a.map(({id:a})=>[a,b]))),d=new Map(a.layers.flatMap((a,b)=>a.map(({id:a})=>[a,b]))),e=a=>!c.has(a),f=eP(a.edges,"from"),g=eP(a.edges,"to"),h=new Map([...d.keys()].map(a=>[a,[...f.get(a)??[],...g.get(a)??[]]])),i=(a,b)=>{let c=new Set([a]),d=[];for(let f=[a];f.length>0;){let a=[];for(let g of f)for(let f of b.get(g)??[])c.has(f)||(c.add(f),e(f)?a.push(f):d.push(f));f=a}return d},j=(a,b)=>a.reduce((a,d)=>b(c.get(d),c.get(a))?d:a),k=new Map,l=new Map;for(let b of a.layers.flat().filter(({id:a})=>e(a))){let a=i(b.id,f),c=i(b.id,g),d=a.length>0?j(a,(a,b)=>a<b):c.length>0?j(c,(a,b)=>a>b):i(b.id,h)[0];k.set(d,[...k.get(d)??[],{gate:b,waits:a.length>0}]),l.set(b.id,d)}return new Map([...k].map(([a,b])=>[a,b.map(a=>({...a,leaves:(a=>{let b=l.get(a),c=new Set([a]);for(let d=[a];d.length>0;)for(let a of f.get(d.pop())??[]){if((l.get(a)??a)!==b)return!0;l.has(a)&&!c.has(a)&&(c.add(a),d.push(a))}return!1})(a.gate.id)})).toSorted((a,b)=>Number(a.leaves)-Number(b.leaves)||Number(b.waits)-Number(a.waits)||(a.waits?d.get(b.gate.id)-d.get(a.gate.id):d.get(a.gate.id)-d.get(b.gate.id))).map(({gate:a})=>a)]))}(a,b),d=new Map([...c].flatMap(([a,b])=>b.map(b=>[b.id,a])));return(function(a,b,c,d){let e=new Map(a.flatMap((a,b)=>a.map(({id:a})=>[a,b]))),f=new Map,g=[];for(let a of b){let[b,d]=[a.from,a.to].map(a=>c.get(a)??a);e.get(b)!==e.get(d)&&(f.set(b,[...f.get(b)??[],d]),f.set(d,[...f.get(d)??[],b]),g.push([b,d]))}let h=a=>new Map(a.flatMap(a=>{let b=0;return a.map(({id:a})=>{let c=b;return b+=1+(d.get(a)?.length??0),[a,c]})})),i=Map.groupBy(g.map(a=>a.toSorted((a,b)=>e.get(a)-e.get(b))).filter(([a,b])=>e.get(b)-e.get(a)==1),([a])=>e.get(a)),j=a=>{let b=h(a),c=0;for(let a of i.values())for(let d=0;d<a.length;d++)for(let e=d+1;e<a.length;e++){let[f,g]=a[d],[h,i]=a[e];(b.get(f)-b.get(h))*(b.get(g)-b.get(i))<0&&c++}return c},k=a.map(a=>[...a]),l=k,m=j(k);for(let a=0;a<8;a++){let b=a%2==0,c=k.map((a,b)=>b);for(let a of b?c.slice(1):c.slice(0,-1).toReversed()){let c=h(k),d=({id:d})=>{let g=(f.get(d)??[]).filter(c=>b?e.get(c)<a:e.get(c)>a);return g.length>0?g.reduce((a,b)=>a+c.get(b),0)/g.length:c.get(d)};k=k.with(a,k[a].toSorted((a,b)=>d(a)-d(b)))}let d=j(k);d<m&&(l=k,m=d)}return l})(b,a.edges,d,c).map(a=>a.flatMap(a=>[a,...c.get(a.id)??[]]))}(b);a.forEach((a,b)=>a.forEach((a,c)=>e.push({issue:a,column:b,row:g+c}))),g+=Math.max(...a.map(a=>a.length))}let h=a.components.flatMap(({edges:a})=>a),i=d?function(a,{center:b,issues:c,edges:d},e){if(0===d.length)return[];0===a.length&&b&&a.push({issue:b,column:0,row:0});let f=new Map(a.map(a=>[a.issue.id,a])),g=new Set(a.map(({column:a,row:b})=>`${a}:${b}`)),h=[...e];for(let e of c){let c=d.filter(({from:a,to:b})=>a===e.id&&f.has(b)||b===e.id&&f.has(a)),i=c[0],j=i?f.get(i.from===e.id?i.to:i.from):b&&f.get(b.id);if(!j)continue;let k=(i?.type==="discovered-from"?function({column:a,row:b},c,d){return Array.from({length:2*d+1},(d,e)=>({column:a+c,row:b+(e%2==1?(e+1)/2:-e/2),distance:Math.ceil(e/2)}))}(j,i.to===e.id?1:-1,a.length):function({column:a,row:b},c){let d=c+1;return Array.from({length:7},(a,b)=>b-3).flatMap(a=>Array.from({length:2*d+1},(a,b)=>b-d).map(b=>({dc:a,dr:b,distance:3*Math.abs(a)+Math.abs(b)}))).filter(({dc:a,dr:b})=>0!==a||0!==b).toSorted((a,b)=>a.distance-b.distance||Math.abs(a.dc)-Math.abs(b.dc)||Number(a.dr<0)-Number(b.dr<0)||Number(a.dc<0)-Number(b.dc<0)).map(({dc:c,dr:d,distance:e})=>({column:a+c,row:b+d,distance:e}))}(j,a.length)).filter(a=>!g.has(`${a.column}:${a.row}`)),l=a=>c.reduce((b,{from:c,to:d})=>{let g=f.get(c===e.id?d:c);return b+h.filter(b=>(function(a,b,c,d){let[e,f]=[d.get(c.from),d.get(c.to)];if(!e||!f)return!1;let g=(a,b,c)=>Math.sign((b.column-a.column)*(c.row-a.row)-(b.row-a.row)*(c.column-a.column));return g(a,b,e)*g(a,b,f)<0&&g(e,f,a)*g(e,f,b)<0})(a,g,b,f)).length},0),{column:m,row:n}=k.filter(({distance:a})=>a===k[0].distance).map(a=>({...a,crossings:l(a)})).reduce((a,b)=>b.crossings<a.crossings?b:a),o={issue:e,column:m,row:n};a.push(o),f.set(e.id,o),g.add(`${m}:${n}`),h.push(...c)}return d.filter(({from:a,to:b})=>f.has(a)&&f.has(b))}(e,d,h):[],j=Math.min(0,...e.map(({column:a})=>a)),k=Math.min(0,...e.map(({row:a})=>a)),l=new Map(e.map(a=>[a.issue.id,a])),m=function({nodes:a,componentStarts:b,edges:c}){let d=new Map(a.map(a=>[a.id,a])),e=Math.max(0,...a.map(({column:a})=>a+1)),f=Math.max(0,...a.map(({row:a})=>a+1)),g=c.map(({from:a,to:b})=>(function(a,b){let{column:c,row:d}=a,{column:e,row:f}=b;if(c===e){let e=d<f,[g,h]=e?["bottom","top"]:["top","bottom"];return 1===Math.abs(f-d)?{from:a,to:b,start:g,end:h,channels:[]}:{from:a,to:b,start:g,end:h,channels:[{axis:"y",gap:e?d+1:d},{axis:"x",gap:c+1},{axis:"y",gap:e?f:f+1}]}}let g={from:a,to:b,start:"right",end:"left"};return e===c+1?{...g,channels:d===f?[]:[{axis:"x",gap:e}]}:{...g,channels:[{axis:"x",gap:c+1},{axis:"y",gap:f>=d?d+1:d},{axis:"x",gap:e}]}})(d.get(a),d.get(b))),h=function(a){let b=new Map,c=a.map(a=>eL(a,{start:eM(a.from,a.start),end:eM(a.to,a.end)}));a.forEach((a,d)=>{let e=c[d],f=0===a.channels.length,g=[{route:d,at:"start",nodes:f?[a.from,a.to]:[a.from],key:eN(e,a.start,a.to,f)}];if(!f){let b=e.toReversed();g.push({route:d,at:"end",nodes:[a.to],key:eN(b,a.end,a.from,!1)})}for(let c of g){let d=function({column:a,row:b},c){switch(c){case"left":return`x:${a}:${b}`;case"right":return`x:${a+1}:${b}`;case"top":return`y:${b}:${a}`;case"bottom":return`y:${b+1}:${a}`}}(c.nodes[0],"start"===c.at?a.start:a.end);b.set(d,[...b.get(d)??[],c])}});let d=a.map(()=>({start:0,end:0}));for(let[c,e]of b){let b=c.startsWith("x")?Math.min(...e.flatMap(({nodes:a})=>a.map(({height:a})=>a))):280;e.toSorted((a,b)=>(function(a,b){for(let c=0;c<Math.max(a.moves.length,b.moves.length);c++){let d=(a.moves[c]??0)-(b.moves[c]??0);if(0!==d)return d}let c=a.ties.findIndex((a,c)=>a!==b.ties[c]);return c<0?0:a.ties[c]-b.ties[c]})(a.key,b.key)||a.route-b.route).forEach(({route:c,at:f},g)=>{let h=b*(g+1)/(e.length+1);"start"===f&&(d[c].start=h),("end"===f||0===a[c].channels.length)&&(d[c].end=h)})}return d}(g),i=function(a,b){let c=new Map;a.forEach(({channels:a},d)=>{let e=b[d];a.forEach(({axis:a,gap:b},f)=>{let g="x"===a?"y":"x",[h,i,j,k]=e.slice(f,f+4),l={route:d,channel:f,low:Math.min(i[g],j[g]),high:Math.max(i[g],j[g]),turns:[{at:i[g],toward:Math.sign(h[a]-i[a])},{at:j[g],toward:Math.sign(k[a]-j[a])}]},m=`${a}:${b}`;c.set(m,[...c.get(m)??[],l])})});let d=a.map(({channels:a})=>a.map(()=>0)),e=new Map;for(let[a,b]of c){let c=(a,b)=>a.low<=b.high&&b.low<=a.high,f=new Map(b.map(a=>[a,new Set]));for(let a of b)for(let d of b)if(a!==d&&c(a,d))for(let{at:b,toward:c}of a.turns)b<=d.low||b>=d.high||(c<0&&f.get(d).add(a),c>0&&f.get(a).add(d));let g=b.toSorted((a,b)=>a.low-b.low||a.high-b.high||a.route-b.route),h=0;for(;g.length>0;){let a=g.filter(a=>[...f.get(a)].every(a=>!g.includes(a))),b=a.length>0?a:g,e=[];for(let a of b)e.some(b=>c(b,a))||(e.push(a),d[a.route][a.channel]=h);g=g.filter(a=>!e.includes(a)),h++}e.set(a,h)}return{of:d,counts:e}}(g,g.map((a,b)=>eL(a,h[b]))),j=Array.from({length:f},(b,c)=>Math.max(0,...a.filter(a=>a.row===c).map(({height:a})=>a))),k=(a,b,c)=>{let d=i.counts.get(`${a}:${b}`)??0;return 0!==d||g.some(({channels:c,start:d,from:e})=>0===c.length&&("x"===a?"right"===d&&e.column+1===b:!eK(d)&&("bottom"===d?e.row+1:e.row)===b))?Math.max(c,48+10*Math.max(0,d-1)):c},l=Array.from({length:e+1},(a,b)=>k("x",b,72*(0!==b&&b!==e))),m=Array.from({length:f+1},(a,c)=>k("y",c,0===c||c===f?0:b.has(c)?56:16)),n=eO(l,()=>280),o=eO(m,a=>j[a]),p=g.map((a,b)=>{var c;let d;return(d=(c=eI(a,h[b],a=>({x:n[a.column],y:o[a.row]}),c=>{let{axis:d,gap:e}=a.channels[c];return((a,b,c)=>{let[d,e,f]="x"===a?[l,n,()=>280]:[m,o,a=>j[a]],g=0===b?0:e[b-1]+f(b-1),h=i.counts.get(`${a}:${b}`);return g+(d[b]-(h-1)*10)/2+10*c})(d,e,i.of[b][c])})).filter((a,b)=>0===b||a.x!==c[b-1].x||a.y!==c[b-1].y)).filter((a,b)=>{let c=d[b-1],e=d[b+1];return!c||!e||(c.x!==a.x||a.x!==e.x)&&(c.y!==a.y||a.y!==e.y)})});return{columns:n,rows:o,points:p}}({nodes:e.map(({issue:a,column:d,row:e})=>({id:a.id,column:d-j,row:e-k,height:b.get(a.id)??c})),componentStarts:new Set([...f].map(a=>a-k)),edges:[...h,...i.map(({from:a,to:b,type:c})=>"related"===c&&l.get(b).column<l.get(a).column?{from:b,to:a}:{from:a,to:b})]}),n=e.map(({issue:a,column:d,row:e})=>({issue:a,x:m.columns[d-j],y:m.rows[e-k],height:b.get(a.id)??c}));return{nodes:n,nodeOf:new Map(n.map(a=>[a.issue.id,a])),edges:h.map((a,b)=>({...a,points:m.points[b]})),auxiliary:i.map((a,b)=>({...a,points:m.points[h.length+b]})),columns:m.columns}})({order:a,heights:e,nodeHeight:g,auxiliary:c}),[a,g,e,c]),i=(0,u.useMemo)(()=>h.edges.map(a=>(function(a,{from:b,to:c}){let d=b=>a.nodeOf.get(b).issue,e=d(b),f="closed"===e.status,g=[e,d(c)].find(({issueType:a})=>"gate"===a);return g?{kind:"human"===g.awaitType?"humanGate":"gate",resolved:f}:{kind:"blocks",resolved:f}})(h,a)),[h]);(0,u.useLayoutEffect)(()=>{let a=d.current;if(!a)return;let b=()=>{if(0===a.getBoundingClientRect().width)return;let b=new Map(Array.from(a.children,a=>[a.getAttribute("data-issue"),Math.max(g,Math.ceil(a.getBoundingClientRect().height))]));f(a=>b.size===a.size&&[...b].every(([b,c])=>a.get(b)===c)?a:b)};b();let c=new ResizeObserver(b);for(let b of a.children)c.observe(b);return()=>c.disconnect()},[a,g]);let j=(0,r.jsx)("div",{ref:d,"aria-hidden":!0,inert:!0,className:"pointer-events-none invisible fixed -left-[10000px] top-0",style:{width:280},children:h.nodes.map(({issue:a})=>(0,r.jsx)("div",{"data-issue":a.id,children:(0,r.jsx)(eB,{issue:a,href:"#",plan:b?{outside:!0,waiters:1}:void 0})},a.id))});return{layout:h,edgeLooks:i,measurement:j,ready:h.nodes.every(({issue:a})=>e.has(a.id))}}function eR({data:a,epicId:b,issueHref:c}){let d=(0,L.useMessages)(),e=(0,u.useMemo)(()=>{let c,d,e;return c=D(a,{kind:"epic",id:b}),d=function({issues:a,dependencies:b},c){let d=new Set(c.map(a=>a.id)),e=new Set(b.filter(({issueId:a,dependsOnId:b,type:c})=>"blocks"===c&&d.has(a)&&!d.has(b)).map(({dependsOnId:a})=>a));return a.filter(a=>e.has(a.id))}(a,c),{order:e=B([...c,...d],a.dependencies),outside:new Set(d.map(a=>a.id)),unordered:e.unlinked.filter(({issueType:a})=>"feature"!==a&&"epic"!==a).toSorted((a,b)=>Number("closed"===a.status)-Number("closed"===b.status)||(0,z.m)(a,b)),stages:function({components:a}){let b=a.map(C),c=Math.max(0,...b.map(a=>a.length)),d=Array.from({length:c},(a,b)=>b).find(a=>b.some(b=>(b[a]??[]).some(a=>"closed"!==a.status)));return{total:c,current:d??null}}(e)}},[a,b]),f=(0,u.useMemo)(()=>(0,ab.f)(a.issues),[a]),{layout:g,edgeLooks:h,measurement:i,ready:j}=eQ(e.order,!0),k=(0,u.useMemo)(()=>({stages:e.stages,outside:e.outside,waiters:f}),[e,f]),{total:l,current:m}=e.stages,n=(0,u.useRef)(null),[o,p]=(0,u.useState)(null),q=o??!0;return(0,u.useLayoutEffect)(()=>{let a=n.current;if(null!==o||!j||0===e.unordered.length||!a)return;let b=new ResizeObserver(()=>{0===a.clientWidth||p(.75*W(g,!0).width+80+2<=a.clientWidth)});return b.observe(a),()=>b.disconnect()},[o,g,j,e.unordered.length]),(0,r.jsxs)(r.Fragment,{children:[i,l>0&&(0,r.jsx)("p",{className:"text-sm text-base-content/70",children:null===m?d.graph.allStagesDone(l):d.graph.progress(m+1,l)}),e.order.cycles.length>0&&(0,r.jsxs)("div",{role:"alert",className:"alert alert-warning alert-soft flex-col items-start gap-1",children:[(0,r.jsx)("span",{children:d.graph.cycle}),(0,r.jsx)("ul",{className:"flex flex-col gap-0.5 font-mono text-xs",children:e.order.cycles.map(a=>(0,r.jsx)("li",{"aria-label":d.graph.cyclePath,children:a.map((a,b)=>(0,r.jsxs)(u.Fragment,{children:[b>0&&(0,r.jsx)("span",{"aria-hidden":!0,children:" → "}),(0,r.jsx)(s.default,{href:c(a),scroll:!1,className:"link link-hover",children:a})]},b))},a.join(" ")))})]}),(0,r.jsx)(V,{edgeLooks:h}),(0,r.jsxs)("div",{className:`flex min-h-0 flex-1 gap-4 ${q?"flex-col @2xl/plan:flex-row":"flex-col"}`,children:[(0,r.jsx)("div",{ref:n,className:"flex min-h-0 min-w-0 flex-1",children:g.nodes.length>0?(0,r.jsx)(eC,{ready:j,layout:g,edgeLooks:h,issueHref:c,plan:k}):(0,r.jsx)("p",{className:"flex-1 self-start rounded-box border border-dashed border-base-300 px-6 py-10 text-center text-sm text-base-content/55",children:d.graph.empty.epic})}),e.unordered.length>0&&(0,r.jsx)(eS,{issues:e.unordered,issueHref:c,waiters:f,expanded:q,onToggle:()=>p(!q)})]})]})}function eS({issues:a,issueHref:b,waiters:c,expanded:d,onToggle:e}){let f=(0,L.useMessages)();return(0,r.jsxs)("section",{"aria-label":f.graph.unordered,className:`flex shrink-0 flex-col overflow-hidden rounded-box border border-base-300 bg-base-200/40 ${d?"max-h-64 w-full @2xl/plan:max-h-none @2xl/plan:w-80":"order-first max-w-full self-end"}`,children:[(0,r.jsxs)("header",{className:"flex flex-col gap-1 px-3 py-2",children:[(0,r.jsxs)("div",{className:"flex items-center justify-between gap-3",children:[(0,r.jsxs)("h2",{className:"text-sm font-semibold",children:[f.graph.unordered," ",(0,r.jsx)("span",{className:"font-normal text-base-content/45 tabular-nums",children:a.length})]}),(0,r.jsx)("button",{type:"button",className:"btn btn-ghost btn-xs shrink-0","aria-expanded":d,"aria-label":d?f.graph.collapseUnordered:f.graph.expandUnordered,onClick:e,children:d?f.graph.collapse:f.graph.expand})]}),d&&(0,r.jsx)("p",{className:"text-xs text-base-content/55",children:f.graph.unorderedHint})]}),d&&(0,r.jsx)("ul",{className:"flex flex-col divide-y divide-base-300 overflow-y-auto px-3 pb-3",children:a.map(a=>(0,r.jsx)("li",{className:"shrink-0",children:(0,r.jsx)(eT,{issue:a,href:b(a.id),waiters:c.get(a.id)??0})},a.id))})]})}function eT({issue:a,href:b,waiters:c}){let d=(0,L.useMessages)(),e=(0,Z.N)(a);return(0,r.jsxs)(eA.j,{className:`flex flex-col gap-1 rounded-lg px-2 py-3 text-xs transition hover:bg-base-200 ${"closed"===e?"opacity-50":""}`,coverClassName:"inset-0 rounded-lg",coverTooltip:a.id,issueId:a.id,title:a.title,cover:{href:b},children:[(0,r.jsxs)("span",{className:"flex items-center gap-1.5 text-base-content/55",children:[(0,r.jsx)(_.f,{issueType:a.issueType}),(0,r.jsx)("span",{"aria-hidden":!0,children:"·"}),(0,r.jsx)("span",{className:`tone-dot ${(0,$._)(e)}`}),(0,r.jsx)("span",{className:"min-w-0 truncate",children:d.workStates.labels[e]}),(0,r.jsx)(eA.s,{issueId:a.id,short:!0,className:"ml-auto shrink-0 rounded"})]}),(0,r.jsx)("span",{className:"text-sm leading-snug font-medium wrap-anywhere text-base-content",children:a.title}),(0,r.jsx)(aa.f,{count:c,className:"relative self-end"})]})}var eU=a.i(9465);function eV({scope:a}){let{data:b,error:c,loading:d}=(0,y.f)("graph",x),e=(0,K.n)(),f=(0,L.useMessages)(),g=(0,t.useSearchParams)(),h=(0,t.useRouter)(),i=(0,v.f)({queryOnly:!0}),j=(0,u.useRef)(null),k=(0,eU.F)(a,new URLSearchParams(g)),l=b?.issues.find(b=>b.id===a.id)?.title||a.id,m=`${l} \xb7 ${f.graph.scopes[a.kind]}`;return(0,J.p)(j),(0,r.jsxs)("dialog",{ref:j,className:"modal","aria-label":m,onClose:()=>h.replace(k,{scroll:!1}),onCancel:a=>{a.preventDefault(),(0,J.D)()||(g.has("issue")?i(a=>{a.delete("issue"),a.delete("side")}):h.replace(k,{scroll:!1}))},children:[(0,r.jsxs)("div",{className:"modal-box flex h-[94dvh] max-h-none w-[96vw] max-w-none flex-col overflow-hidden p-0",children:[(0,r.jsxs)("header",{className:"flex shrink-0 items-start gap-3 border-b border-base-300 px-5 py-3",children:[(0,r.jsxs)("h1",{className:"min-w-0 flex-1 text-base leading-snug font-semibold wrap-anywhere",children:[(0,r.jsx)(s.default,{href:e(a.id),scroll:!1,className:"decoration-base-content/30 underline-offset-4 hover:underline",children:l}),(0,r.jsxs)("span",{className:"text-base-content/50",children:[" · ",f.graph.scopes[a.kind]]})]}),d&&(0,r.jsx)("span",{className:"loading loading-spinner loading-xs","aria-label":f.common.loading}),(0,r.jsx)(I.f,{help:f.graph.help[a.kind],placement:"header-end"}),(0,r.jsx)(s.default,{href:k,scroll:!1,className:"btn btn-ghost btn-sm btn-square shrink-0","aria-label":f.common.close,children:(0,r.jsx)(G.U,{})})]}),(0,r.jsxs)("div",{className:"flex min-h-0 flex-1 flex-col overflow-y-auto xl:flex-row xl:overflow-hidden",children:[(0,r.jsxs)("div",{className:"flex @container/plan min-h-[40rem] min-w-0 shrink-0 flex-1 flex-col gap-3 p-4 xl:min-h-0 xl:shrink",children:[c&&(0,r.jsx)(H.f,{children:f.graph.loadFailed(c)}),b&&("epic"===a.kind?(0,r.jsx)(eR,{data:b,epicId:a.id,issueHref:e},`epic:${a.id}`):(0,r.jsx)(eW,{data:b,scope:a,issueHref:e},`center:${a.id}`))]}),(0,r.jsx)(K.Y,{embedded:!0})]})]}),(0,r.jsx)(J.X,{})]})}function eW({data:a,scope:b,issueHref:c}){let d=(0,L.useMessages)(),e=(0,u.useMemo)(()=>{var c;let d,e,f,g,h,i,{order:j,extra:k,auxiliary:l}=(c=b.id,e=new Set((d=E(a.issues,a.dependencies,c)).map(({id:a})=>a)),g=new Set((f=D(a,{kind:"center",id:c},d)).map(({id:a})=>a)),h=new Set,i=a.dependencies.flatMap(({issueId:a,dependsOnId:b,type:d})=>{if("related"!==d&&"discovered-from"!==d||a!==c&&b!==c||a===b||!g.has(a)||!g.has(b))return[];let e="related"===d?[a,b].sort():[b,a],f=`${d}:${e.join(":")}`;return h.has(f)?[]:(h.add(f),[{from:e[0],to:e[1],type:d}])}),{order:B(d,a.dependencies),extra:f.filter(({id:a})=>!e.has(a)),auxiliary:i});return{order:j,auxiliary:{center:a.issues.find(({id:a})=>a===b.id),issues:k,edges:l}}},[a,b]),{layout:f,edgeLooks:g,measurement:h,ready:i}=eQ(e.order,!1,e.auxiliary);return(0,r.jsxs)(r.Fragment,{children:[h,f.nodes.length>0?(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(V,{edgeLooks:g,auxiliary:e.auxiliary.edges}),(0,r.jsx)(eC,{layout:f,edgeLooks:g,ready:i,issueHref:c,centerId:b.id})]}):(0,r.jsx)("p",{className:"rounded-box border border-dashed border-base-300 px-6 py-10 text-center text-sm text-base-content/55",children:d.graph.empty.center})]})}a.s(["GraphScreen",0,function(){let a=(0,t.useSearchParams)(),b=(0,u.useMemo)(()=>(0,eU.p)(new URLSearchParams(a)),[a]);return b&&(0,r.jsx)(eV,{scope:b})}],927540)},607505,a=>{var b=a.i(510666),c=a.i(600373),d=a.i(135085),e=a.i(27561),f=a.i(454025),g=a.i(844101),h=a.i(496953),i=a.i(114614),j=a.i(880306),k=a.i(393008),l=a.i(311315),m=a.i(900847);let n={ko:"한국어",en:"English"};function o(){let a=(0,j.useLocale)(),c=(0,j.useMessages)(),e=(0,d.useRouter)();return(0,b.jsx)("select",{className:"select w-full","aria-label":c.settings.language,value:a,onChange:a=>{let b=a.target.value;(0,m.Y)(b)&&((0,l.b)(b),e.refresh())},children:m.H.map(a=>(0,b.jsx)("option",{value:a,children:n[a]},a))})}let p=["system","light","dark"];var q=a.i(864550);function r(){let a=(0,q.useTheme)(),c=(0,j.useMessages)(),e=(0,d.useRouter)();return(0,b.jsx)("select",{className:"select w-full","aria-label":c.settings.theme,value:a,onChange:a=>{let b=a.target.value;p.includes(b)&&(document.cookie=`beads-desk-theme=${b}; path=/; max-age=31536000; samesite=lax`,e.refresh())},children:p.map(a=>(0,b.jsx)("option",{value:a,children:c.settings.themes[a]},a))})}function s({onClose:a}){let c=(0,e.useRef)(null),d=(0,j.useMessages)();return(0,k.p)(c),(0,b.jsxs)("dialog",{ref:c,className:"modal","aria-label":d.settings.title,onClose:a,children:[(0,b.jsxs)("div",{className:"modal-box flex max-w-md flex-col gap-0 p-0",children:[(0,b.jsxs)("div",{className:"flex flex-col gap-5 px-7 pt-7 pb-6",children:[(0,b.jsx)("h2",{className:"text-xl font-bold tracking-tight",children:d.settings.title}),(0,b.jsxs)("label",{className:"flex flex-col gap-1.5",children:[(0,b.jsx)("span",{className:"caption",children:d.settings.theme}),(0,b.jsx)(r,{})]}),(0,b.jsxs)("label",{className:"flex flex-col gap-1.5",children:[(0,b.jsx)("span",{className:"caption",children:d.settings.language}),(0,b.jsx)(o,{})]})]}),(0,b.jsx)("div",{className:"flex items-center border-t border-base-300 bg-base-200/50 px-7 py-4",children:(0,b.jsx)("button",{type:"button",className:"btn btn-primary ml-auto",onClick:()=>c.current?.close(),children:d.common.close})})]}),(0,b.jsx)(k.X,{})]})}let t=[{tone:"tone-azure",color:"#bedafe"},{tone:"tone-lilac",color:"#e6cdf2"},{tone:"tone-mint",color:"#a7f3d1"},{tone:"tone-sand",color:"#fee1b9"}];var u=a.i(459922),v=a.i(519591);let w=(0,v.createServerReference)("40b4d5ed4dab8f2b9d7cd26fc65303d26738fe6a9b",v.callServer,void 0,v.findSourceMapURL,"selectWorkspaceAction");async function x(a){try{return await w(a)}catch{return{ok:!1,error:(0,l.k)().common.requestFailed}}}var y=a.i(160624),z=a.i(470774);function A(){let{data:a}=(0,y.f)(),[c,d,e]=(0,z.f)(a?.current??"");return a?a.workspaces.length<=1?(0,b.jsxs)("span",{className:"flex min-w-0 max-w-48 items-center gap-1.5 text-sm text-base-content/60",title:a.current,children:[(0,b.jsx)(g.s,{width:15,height:15,className:"shrink-0"}),(0,b.jsx)("span",{className:"truncate",children:B(a.current)})]}):(0,b.jsxs)("label",{className:"relative flex min-w-0 max-w-48 items-center text-base-content/70",children:[(0,b.jsx)(g.s,{width:15,height:15,className:"pointer-events-none absolute left-2.5"}),(0,b.jsx)("select",{className:"ghost-select min-w-0 max-w-full pl-8","aria-label":"workspace",title:c,value:c,onChange:async a=>{let b=a.target.value;d(b);let c=await x(b);c.ok||(e(),window.alert(c.error))},children:a.workspaces.map(a=>(0,b.jsx)("option",{value:a,title:a,children:B(a)},a))})]}):null}function B(a){return a.split(/[\\/]/).filter(Boolean).at(-1)??a}function C(){return(0,b.jsx)("span",{className:"grid grid-cols-2 gap-0.5","aria-hidden":"true",children:t.map(({tone:a})=>(0,b.jsx)("span",{className:`tone-dot ${a} size-2`},a))})}a.s(["AppHeader",0,function(){let a=(0,d.usePathname)(),k=(0,d.useRouter)(),l=(0,h.n)(),m=(0,j.useMessages)(),n=(0,f.f)(),o=n.error?0:n.data??0,[p,q]=(0,e.useState)(!1),[r,t]=(0,e.useState)(!1);return(0,b.jsxs)("header",{className:"sticky top-0 z-20 shrink-0 border-b border-base-300 bg-base-100/85 backdrop-blur",children:[(0,b.jsxs)("div",{className:"mx-auto flex max-w-[96rem] flex-wrap items-center gap-x-4 gap-y-2 px-4 py-3 sm:px-8 xl:h-14 xl:flex-nowrap xl:gap-6 xl:py-0",children:[(0,b.jsxs)(c.default,{href:"/",className:"flex shrink-0 items-center gap-2.5",children:[(0,b.jsx)(C,{}),(0,b.jsx)("span",{className:"text-[15px] font-bold tracking-tight",children:"beads-desk"})]}),(0,b.jsx)("nav",{className:"order-last flex w-full min-w-0 items-center gap-1 overflow-x-auto xl:order-none xl:w-auto","aria-label":m.shell.screens,children:u.Y.map(d=>(0,b.jsxs)(c.default,{href:d.href,"aria-current":a===d.href?"page":void 0,className:`nav-tab ${d.tone}`,children:[m[d.screen].title,"/human"===d.href&&o>0&&(0,b.jsxs)("span",{className:"nav-tab-count",children:[(0,b.jsx)("span",{"aria-hidden":"true",children:o}),(0,b.jsxs)("span",{className:"sr-only",children:[" ",m.shell.awaitingCount(o)]})]})]},d.href))}),(0,b.jsxs)("div",{className:"ml-auto flex min-w-0 flex-1 items-center justify-end gap-2 sm:gap-3 xl:flex-none",children:[(0,b.jsx)(A,{}),(0,b.jsx)("button",{type:"button",className:"btn btn-ghost btn-sm btn-square shrink-0 text-base-content/70","aria-label":m.settings.title,onClick:()=>t(!0),children:(0,b.jsx)(g.t,{width:17,height:17})}),(0,b.jsxs)("button",{type:"button",className:"btn btn-primary btn-sm shrink-0 gap-1.5 rounded-full pr-4 pl-3",onClick:()=>q(!0),children:[(0,b.jsx)(g.z,{width:15,height:15}),m.shell.newIssue]})]})]}),r&&(0,b.jsx)(s,{onClose:()=>t(!1)}),p&&(0,b.jsx)(i.f,{onCreated:a=>{q(!1),k.push(l(a),{scroll:!1})},onClose:()=>q(!1)})]})}],607505)},864550,a=>{var b=a.i(510666),c=a.i(27561);let d=(0,c.createContext)("system");a.s(["ThemeProvider",0,function({theme:a,children:c}){return(0,b.jsx)(d,{value:a,children:c})},"useTheme",0,function(){return(0,c.use)(d)}])}]})();
4
4
 
5
5
  //# sourceMappingURL=packages_app_src_client_ui_1ty1yi51yl_mx._.js.map