@pi-outpost/embed 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (250) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +63 -0
  3. package/dist/abnfDiagram-VRR7QNED-BPTALLb_.cjs +1 -0
  4. package/dist/abnfDiagram-VRR7QNED-DlAvVtuC.js +89 -0
  5. package/dist/arc-BBnpgwVQ.js +80 -0
  6. package/dist/arc-DcUn9_NX.cjs +1 -0
  7. package/dist/architecture-TIHT7OUA-D-35jO9Y.cjs +1 -0
  8. package/dist/architecture-TIHT7OUA-DDyMqjR1.js +3 -0
  9. package/dist/architectureDiagram-ZJ3FMSHR-Bh5-VPPg.cjs +36 -0
  10. package/dist/architectureDiagram-ZJ3FMSHR-D7UsY5ua.js +4120 -0
  11. package/dist/array-CApNbSU9.js +6 -0
  12. package/dist/array-DZSRzHA_.cjs +1 -0
  13. package/dist/bash-BLBHkRa_.js +169 -0
  14. package/dist/bash-DHJu-DNv.cjs +1 -0
  15. package/dist/blockDiagram-677ZJIJ3-BrXgigdO.cjs +132 -0
  16. package/dist/blockDiagram-677ZJIJ3-s-fanRPN.js +3160 -0
  17. package/dist/c-4QgYfi8K.cjs +1 -0
  18. package/dist/c-Cw4FsAeJ.js +176 -0
  19. package/dist/c4Diagram-LMCZKHZV-BbZFAi_K.js +2962 -0
  20. package/dist/c4Diagram-LMCZKHZV-DFBVQ9Uo.cjs +10 -0
  21. package/dist/channel-DV0ST12Z.js +5 -0
  22. package/dist/channel-DkMGzfUR.cjs +1 -0
  23. package/dist/chunk-2Q5K7J3B-B8v9mTdK.cjs +1 -0
  24. package/dist/chunk-2Q5K7J3B-DqJF2oYF.js +15 -0
  25. package/dist/chunk-32BRIVSS-Byu3FrKX.js +61 -0
  26. package/dist/chunk-32BRIVSS-oWSJWk-u.cjs +1 -0
  27. package/dist/chunk-52WLFC77-C9zQbcGs.js +590 -0
  28. package/dist/chunk-52WLFC77-D9PTsiCj.cjs +10 -0
  29. package/dist/chunk-5VM5RSS4-BMfgdMFU.js +5 -0
  30. package/dist/chunk-5VM5RSS4-CwDmQ9T_.cjs +15 -0
  31. package/dist/chunk-7BUUIJ7U-BFUeQBoS.js +82 -0
  32. package/dist/chunk-7BUUIJ7U-MzS1pW_S.cjs +1 -0
  33. package/dist/chunk-C7G6YPKG-CDjkH_UW.cjs +1 -0
  34. package/dist/chunk-C7G6YPKG-GTlyrFFt.js +67 -0
  35. package/dist/chunk-EX3LRPZG-BBldDxGh.js +2046 -0
  36. package/dist/chunk-EX3LRPZG-u-BKCEWO.cjs +231 -0
  37. package/dist/chunk-FWX5IMBZ-h3GfgkP2.js +57 -0
  38. package/dist/chunk-FWX5IMBZ-nqBth1J9.cjs +1 -0
  39. package/dist/chunk-HOUHSVGY-CgfXy94u.cjs +1 -0
  40. package/dist/chunk-HOUHSVGY-CtRCnz1G.js +277 -0
  41. package/dist/chunk-ICXQ74PX-BmEfYj-r.cjs +2 -0
  42. package/dist/chunk-ICXQ74PX-CC59NQmW.js +1366 -0
  43. package/dist/chunk-JWPE2WC7-B_J6qwQL.js +8 -0
  44. package/dist/chunk-JWPE2WC7-Cs1kjq8S.cjs +1 -0
  45. package/dist/chunk-KEIR6QF5-BVnxrdHo.js +21388 -0
  46. package/dist/chunk-KEIR6QF5-Cy_QBNG6.cjs +161 -0
  47. package/dist/chunk-MOJQB5TN-D6YxvkUY.js +490 -0
  48. package/dist/chunk-MOJQB5TN-H2vwz-oQ.cjs +88 -0
  49. package/dist/chunk-OGEWGWER-BGdqgMza.js +32 -0
  50. package/dist/chunk-OGEWGWER-BP4o8A-v.cjs +1 -0
  51. package/dist/chunk-PUDLZKDR-C8jMDFq6.js +4142 -0
  52. package/dist/chunk-PUDLZKDR-DtzwSdxX.cjs +156 -0
  53. package/dist/chunk-Q4XR5HBZ-Bk18cMuk.js +1628 -0
  54. package/dist/chunk-Q4XR5HBZ-COrrWZzi.cjs +70 -0
  55. package/dist/chunk-RYQCIY6F-27FDzaaE.cjs +1 -0
  56. package/dist/chunk-RYQCIY6F-C-YC3QS_.js +239 -0
  57. package/dist/chunk-V7JOEXUC-BROsdKzY.js +3357 -0
  58. package/dist/chunk-V7JOEXUC-Cfrm5GQn.cjs +206 -0
  59. package/dist/chunk-VAUOI2AC-05FwamOA.js +10 -0
  60. package/dist/chunk-VAUOI2AC-CBXi4Di2.cjs +1 -0
  61. package/dist/chunk-VR4S4FIN-CSU_1xTZ.cjs +1 -0
  62. package/dist/chunk-VR4S4FIN-Ci491c8N.js +26 -0
  63. package/dist/chunk-WYO6CB5R-BTvDzbWd.cjs +127 -0
  64. package/dist/chunk-WYO6CB5R-Y9HJHB3Q.js +3739 -0
  65. package/dist/chunk-XXDRQBXY-DsVp5qjg.js +9 -0
  66. package/dist/chunk-XXDRQBXY-gWcN0uCZ.cjs +1 -0
  67. package/dist/chunk-Y2CYZVJY-CnmLqFtv.cjs +1 -0
  68. package/dist/chunk-Y2CYZVJY-CwsV_8W4.js +12 -0
  69. package/dist/chunk-ZGVPDNZ5-CDTkXY1G.js +3736 -0
  70. package/dist/chunk-ZGVPDNZ5-COEQX4AZ.cjs +62 -0
  71. package/dist/chunk-ZIRB5QZD-BU6XQUGC.cjs +32 -0
  72. package/dist/chunk-ZIRB5QZD-Cj-y77rH.js +1146 -0
  73. package/dist/classDiagram-OUVF2IWQ-Avsu6OKn.cjs +1 -0
  74. package/dist/classDiagram-OUVF2IWQ-eC72Wwol.js +30 -0
  75. package/dist/classDiagram-v2-EOCWNBFH-Avsu6OKn.cjs +1 -0
  76. package/dist/classDiagram-v2-EOCWNBFH-DsRoQgCt.js +30 -0
  77. package/dist/core-2nR1zkKb.cjs +3 -0
  78. package/dist/core-BO2hTFeF.js +845 -0
  79. package/dist/cose-bilkent-JH36ORCC-AyWV1dUo.cjs +1 -0
  80. package/dist/cose-bilkent-JH36ORCC-BFo5zomD.js +2251 -0
  81. package/dist/cpp-BUtp-HE2.cjs +1 -0
  82. package/dist/cpp-CeyO6lBG.js +225 -0
  83. package/dist/csharp-BJu4kEpt.cjs +1 -0
  84. package/dist/csharp-Ck6Fet_o.js +260 -0
  85. package/dist/css-ClSGJRju.js +140 -0
  86. package/dist/css-DeFr0lev.cjs +1 -0
  87. package/dist/cynefin-VYW2F7L2-DHhUPDgc.cjs +1 -0
  88. package/dist/cynefin-VYW2F7L2-DwiVqvhg.js +3 -0
  89. package/dist/cynefinDiagram-TSTJHNR4-BRUl09PN.js +349 -0
  90. package/dist/cynefinDiagram-TSTJHNR4-rKPqxFde.cjs +62 -0
  91. package/dist/cytoscape.esm-ByjvpCPI.cjs +321 -0
  92. package/dist/cytoscape.esm-asYnbYTy.js +18148 -0
  93. package/dist/dagre-BBlCxSvR.cjs +1 -0
  94. package/dist/dagre-BpqwxFKp.js +1701 -0
  95. package/dist/dagre-VKFMJZFB-BsfMZfPu.cjs +4 -0
  96. package/dist/dagre-VKFMJZFB-ChTkS14y.js +328 -0
  97. package/dist/defaultLocale-u9yUoUmE.cjs +1 -0
  98. package/dist/defaultLocale-up9-vqhM.js +201 -0
  99. package/dist/diagram-FQU43EPY-BnAYoLDy.js +432 -0
  100. package/dist/diagram-FQU43EPY-CdbwLZpm.cjs +3 -0
  101. package/dist/diagram-G47NLZAW-C1ZiELQG.js +525 -0
  102. package/dist/diagram-G47NLZAW-CtWKuxkf.cjs +24 -0
  103. package/dist/diagram-NH7WQ7WH-Be0KXo6w.js +134 -0
  104. package/dist/diagram-NH7WQ7WH-CG6VWVza.cjs +24 -0
  105. package/dist/diagram-OA4YK3LP-B7avlqjG.js +300 -0
  106. package/dist/diagram-OA4YK3LP-Drq_GA6o.cjs +30 -0
  107. package/dist/diagram-WEI45ONY-CoPX6-sx.js +214 -0
  108. package/dist/diagram-WEI45ONY-SJmgVL59.cjs +41 -0
  109. package/dist/dist-D6LMt8nW.js +59 -0
  110. package/dist/dist-DNGlMOWd.cjs +1 -0
  111. package/dist/dockerfile-O4rAswfG.js +34 -0
  112. package/dist/dockerfile-YBgAWga3.cjs +1 -0
  113. package/dist/ebnfDiagram-CCIWWBDH-B-T4_JnX.js +100 -0
  114. package/dist/ebnfDiagram-CCIWWBDH-BY7L3HVQ.cjs +1 -0
  115. package/dist/erDiagram-Q63AITRT-DPgZpeaH.js +1727 -0
  116. package/dist/erDiagram-Q63AITRT-w4C1PxYd.cjs +85 -0
  117. package/dist/eventmodeling-45OFAUF4-COTtdYDJ.js +3 -0
  118. package/dist/eventmodeling-45OFAUF4-CPEyr9kU.cjs +1 -0
  119. package/dist/flowDiagram-23GEKE2U-CQxPdUX4.cjs +1 -0
  120. package/dist/flowDiagram-23GEKE2U-ClCSBl2p.js +17 -0
  121. package/dist/ganttDiagram-NO4QXBWP-BcBp028S.cjs +292 -0
  122. package/dist/ganttDiagram-NO4QXBWP-Cf12fLfa.js +3083 -0
  123. package/dist/gitGraph-TEB2WS4Q-C3qBT0GM.js +3 -0
  124. package/dist/gitGraph-TEB2WS4Q-a8KsoPmR.cjs +1 -0
  125. package/dist/gitGraphDiagram-IHSO6WYX-13ahKewT.js +729 -0
  126. package/dist/gitGraphDiagram-IHSO6WYX-BTtNkGkN.cjs +106 -0
  127. package/dist/go-D-pz-dmd.cjs +1 -0
  128. package/dist/go-rg7jg1mu.js +140 -0
  129. package/dist/graphlib-B0GbLif1.js +1267 -0
  130. package/dist/graphlib-CkkG5MuS.cjs +1 -0
  131. package/dist/info-DKCQHKI2-BEYhR6ip.cjs +1 -0
  132. package/dist/info-DKCQHKI2-BPF6-pOb.js +3 -0
  133. package/dist/infoDiagram-FWYZ7A6U-20rh0VNL.cjs +2 -0
  134. package/dist/infoDiagram-FWYZ7A6U-DcV-eSsb.js +20 -0
  135. package/dist/ini-C1q3_1-Q.js +88 -0
  136. package/dist/ini-nVcUEghj.cjs +1 -0
  137. package/dist/init-07zIhv_j.cjs +1 -0
  138. package/dist/init-CirqLVcp.js +15 -0
  139. package/dist/ishikawaDiagram-FXEZZL3T-BTaBCHIG.js +719 -0
  140. package/dist/ishikawaDiagram-FXEZZL3T-BUq5kcFI.cjs +70 -0
  141. package/dist/java-CUN_usaq.cjs +1 -0
  142. package/dist/java-HguKEfA2.js +169 -0
  143. package/dist/javascript-C8NCH8DE.js +436 -0
  144. package/dist/javascript-UZXSyUuu.cjs +1 -0
  145. package/dist/journeyDiagram-5HDEW3XC-Cl9Z4b58.js +884 -0
  146. package/dist/journeyDiagram-5HDEW3XC-XQa-rhY_.cjs +139 -0
  147. package/dist/json-Cp01TR_B.js +36 -0
  148. package/dist/json-usH_MUzR.cjs +1 -0
  149. package/dist/kanban-definition-HUTT4EX6-CtWnZ0nS.js +975 -0
  150. package/dist/kanban-definition-HUTT4EX6-DVHXUPOt.cjs +89 -0
  151. package/dist/line-Ca8dE_lT.cjs +1 -0
  152. package/dist/line-O2xx2vVQ.js +34 -0
  153. package/dist/linear-CVhyaVzf.js +289 -0
  154. package/dist/linear-Cl2-QuPP.cjs +1 -0
  155. package/dist/map-CwPlMWPw.cjs +1 -0
  156. package/dist/map-DU12fF3s.js +241 -0
  157. package/dist/markdown-CzgRofaE.js +181 -0
  158. package/dist/markdown-qeo95R0i.cjs +1 -0
  159. package/dist/mermaid-parser.core-B8DQcCaz.js +638 -0
  160. package/dist/mermaid-parser.core-Cgsz0CdK.cjs +6 -0
  161. package/dist/mermaid.core-BR-iKb2Q.js +1064 -0
  162. package/dist/mermaid.core-DQrbAA--.cjs +10 -0
  163. package/dist/mindmap-definition-LN4V7U3C-C0I9iWmq.cjs +96 -0
  164. package/dist/mindmap-definition-LN4V7U3C-lkSmRsIC.js +1008 -0
  165. package/dist/mount.d.ts +31 -0
  166. package/dist/ordinal-CCTD6_le.js +65 -0
  167. package/dist/ordinal-CUPR-p0T.cjs +1 -0
  168. package/dist/packet-7NZHBO7P-DqvBYJTR.js +3 -0
  169. package/dist/packet-7NZHBO7P-Dz0O2bgq.cjs +1 -0
  170. package/dist/path-Kklx0M1v.cjs +1 -0
  171. package/dist/path-mKa7UESy.js +85 -0
  172. package/dist/pegDiagram-2B236MQR-BgRCQTZd.js +94 -0
  173. package/dist/pegDiagram-2B236MQR-hlmRl_PA.cjs +1 -0
  174. package/dist/php-C9FOMGEA.js +294 -0
  175. package/dist/php-j6EhDZDE.cjs +2 -0
  176. package/dist/pi-outpost-embed.cjs +305 -0
  177. package/dist/pi-outpost-embed.js +40942 -0
  178. package/dist/pie-RZYD4A2V-Hi9UdoE3.cjs +1 -0
  179. package/dist/pie-RZYD4A2V-qnruo9sH.js +3 -0
  180. package/dist/pieDiagram-ENE6RG2P-BVi7ck2I.js +205 -0
  181. package/dist/pieDiagram-ENE6RG2P-Buuvrs-h.cjs +39 -0
  182. package/dist/plaintext-BYYAHR3Z.js +10 -0
  183. package/dist/plaintext-DmnjizxG.cjs +1 -0
  184. package/dist/python-BYJzTRkK.cjs +1 -0
  185. package/dist/python-DKAazMIE.js +238 -0
  186. package/dist/quadrantDiagram-ABIIQ3AL-DeU97c2B.js +2001 -0
  187. package/dist/quadrantDiagram-ABIIQ3AL-LCbC0LEt.cjs +7 -0
  188. package/dist/radar-I7S5WNFK-Dqdssa34.cjs +1 -0
  189. package/dist/radar-I7S5WNFK-np_pJCO-.js +3 -0
  190. package/dist/railroad-3IZDKUUU-NILjDQft.cjs +1 -0
  191. package/dist/railroad-3IZDKUUU-sjKBeXxB.js +3 -0
  192. package/dist/railroad-abnf-AHOZXSZD-BojH9sxV.cjs +1 -0
  193. package/dist/railroad-abnf-AHOZXSZD-x5cC_e_R.js +3 -0
  194. package/dist/railroad-ebnf-EBAXGLYW-2mlWpz38.js +3 -0
  195. package/dist/railroad-ebnf-EBAXGLYW-BKCSut1M.cjs +1 -0
  196. package/dist/railroad-peg-LSFZ7HO6-CsH-gnsp.cjs +1 -0
  197. package/dist/railroad-peg-LSFZ7HO6-D5vguo03.js +3 -0
  198. package/dist/railroadDiagram-RFXS5EU6-CMTDNjsw.cjs +1 -0
  199. package/dist/railroadDiagram-RFXS5EU6-DNSNpLmQ.js +76 -0
  200. package/dist/requirementDiagram-TGXJPOKE-CdspXMgv.js +2223 -0
  201. package/dist/requirementDiagram-TGXJPOKE-irImpO8w.cjs +84 -0
  202. package/dist/rolldown-runtime-Dqa2HsxW.js +20 -0
  203. package/dist/rolldown-runtime-mLOUI7ql.cjs +1 -0
  204. package/dist/rough.esm-C5XyeDCN.js +1352 -0
  205. package/dist/rough.esm-r0QOSzHM.cjs +1 -0
  206. package/dist/ruby-BAUeZQKZ.js +262 -0
  207. package/dist/ruby-ClR4zp-1.cjs +1 -0
  208. package/dist/rust-DiTjMjP5.js +169 -0
  209. package/dist/rust-ghVvEWhm.cjs +1 -0
  210. package/dist/sankeyDiagram-HTMAVEWB-B0ZJBVpN.cjs +40 -0
  211. package/dist/sankeyDiagram-HTMAVEWB-BQcvUCMA.js +970 -0
  212. package/dist/scss-CKxh5HRg.cjs +1 -0
  213. package/dist/scss-CckAvQOx.js +150 -0
  214. package/dist/sequenceDiagram-DBY2YBRQ-BQFP2DGs.js +4168 -0
  215. package/dist/sequenceDiagram-DBY2YBRQ-C5WukkcA.cjs +162 -0
  216. package/dist/sizeCapture-X5ZJPWSS-DKbHZNyz.js +46 -0
  217. package/dist/sizeCapture-X5ZJPWSS-bJ2ZX4Du.cjs +1 -0
  218. package/dist/sql-B-Rnc2C3.js +118 -0
  219. package/dist/sql-B7syKcd8.cjs +1 -0
  220. package/dist/src-CR--T_NF.cjs +1 -0
  221. package/dist/src-DJ4x3y2O.js +2142 -0
  222. package/dist/stateDiagram-2N3HPSRC-4aBQt5dk.js +220 -0
  223. package/dist/stateDiagram-2N3HPSRC-YbRd67eD.cjs +1 -0
  224. package/dist/stateDiagram-v2-6OUMAXLB-D-c6D5za.js +30 -0
  225. package/dist/stateDiagram-v2-6OUMAXLB-ciXN_270.cjs +1 -0
  226. package/dist/swimlanes-5IMT3BWC-C8zkS7yx.cjs +1 -0
  227. package/dist/swimlanes-5IMT3BWC-aKH3Xgob.js +5066 -0
  228. package/dist/swimlanesDiagram-G3AALYLV-BcgsG1in.js +31 -0
  229. package/dist/swimlanesDiagram-G3AALYLV-CBjVJdH0.cjs +8 -0
  230. package/dist/timeline-definition-FHXFAJF6-DS-X0FCl.cjs +120 -0
  231. package/dist/timeline-definition-FHXFAJF6-Lnag6wiw.js +1069 -0
  232. package/dist/treeView-QDETBFTQ-Cpg_YeQ4.cjs +1 -0
  233. package/dist/treeView-QDETBFTQ-DdpEhzZX.js +3 -0
  234. package/dist/treemap-6X3UGDF4-BeCuRpkA.js +3 -0
  235. package/dist/treemap-6X3UGDF4-CFAmnKaf.cjs +1 -0
  236. package/dist/typescript-clWeqIBY.cjs +1 -0
  237. package/dist/typescript-mdYq8uqf.js +521 -0
  238. package/dist/vennDiagram-L72KCM5P-CF7lC7jn.js +1880 -0
  239. package/dist/vennDiagram-L72KCM5P-DYZP8jT_.cjs +34 -0
  240. package/dist/wardley-OPB4EBWU-B0jnKd8x.cjs +1 -0
  241. package/dist/wardley-OPB4EBWU-DlIk2K0J.js +3 -0
  242. package/dist/wardleyDiagram-EHGQE667-CbtWlMOa.js +645 -0
  243. package/dist/wardleyDiagram-EHGQE667-Dxewrpeh.cjs +78 -0
  244. package/dist/xml-BamqaQOf.cjs +1 -0
  245. package/dist/xml-DVYfB8uY.js +166 -0
  246. package/dist/xychartDiagram-FW5EYKEG-BAnVfMdN.cjs +7 -0
  247. package/dist/xychartDiagram-FW5EYKEG-DmdGPSi6.js +2102 -0
  248. package/dist/yaml-_1BORZTQ.js +144 -0
  249. package/dist/yaml-bAgWofBg.cjs +1 -0
  250. package/package.json +72 -0
@@ -0,0 +1,220 @@
1
+ import { n as e } from "./chunk-Y2CYZVJY-CwsV_8W4.js";
2
+ import { m as t, p as n } from "./src-DJ4x3y2O.js";
3
+ import { O as r, c as i, s as a, x as o } from "./chunk-WYO6CB5R-Y9HJHB3Q.js";
4
+ import { et as s, g as c } from "./chunk-ICXQ74PX-CC59NQmW.js";
5
+ import { t as l } from "./line-O2xx2vVQ.js";
6
+ import "./chunk-HOUHSVGY-CtRCnz1G.js";
7
+ import "./chunk-Q4XR5HBZ-Bk18cMuk.js";
8
+ import "./chunk-7BUUIJ7U-BFUeQBoS.js";
9
+ import "./chunk-OGEWGWER-BGdqgMza.js";
10
+ import { t as u } from "./graphlib-B0GbLif1.js";
11
+ import { t as d } from "./dagre-BpqwxFKp.js";
12
+ import "./chunk-32BRIVSS-Byu3FrKX.js";
13
+ import "./chunk-XXDRQBXY-DsVp5qjg.js";
14
+ import "./chunk-VR4S4FIN-Ci491c8N.js";
15
+ import "./chunk-C7G6YPKG-GTlyrFFt.js";
16
+ import "./chunk-ZGVPDNZ5-CDTkXY1G.js";
17
+ import "./chunk-52WLFC77-C9zQbcGs.js";
18
+ import "./chunk-FWX5IMBZ-h3GfgkP2.js";
19
+ import { i as f, n as p, t as m } from "./chunk-EX3LRPZG-BBldDxGh.js";
20
+ //#region ../node_modules/mermaid/dist/chunks/mermaid.core/stateDiagram-2N3HPSRC.mjs
21
+ var h = /* @__PURE__ */ e((e) => e.append("circle").attr("class", "start-state").attr("r", o().state.sizeUnit).attr("cx", o().state.padding + o().state.sizeUnit).attr("cy", o().state.padding + o().state.sizeUnit), "drawStartState"), g = /* @__PURE__ */ e((e) => e.append("line").style("stroke", "grey").style("stroke-dasharray", "3").attr("x1", o().state.textHeight).attr("class", "divider").attr("x2", o().state.textHeight * 2).attr("y1", 0).attr("y2", 0), "drawDivider"), _ = /* @__PURE__ */ e((e, t) => {
22
+ let n = e.append("text").attr("x", 2 * o().state.padding).attr("y", o().state.textHeight + 2 * o().state.padding).attr("font-size", o().state.fontSize).attr("class", "state-title").text(t.id), r = n.node().getBBox();
23
+ return e.insert("rect", ":first-child").attr("x", o().state.padding).attr("y", o().state.padding).attr("width", r.width + 2 * o().state.padding).attr("height", r.height + 2 * o().state.padding).attr("rx", o().state.radius), n;
24
+ }, "drawSimpleState"), v = /* @__PURE__ */ e((t, n) => {
25
+ let r = /* @__PURE__ */ e(function(e, t, n) {
26
+ let r = e.append("tspan").attr("x", 2 * o().state.padding).text(t);
27
+ n || r.attr("dy", o().state.textHeight);
28
+ }, "addTspan"), i = t.append("text").attr("x", 2 * o().state.padding).attr("y", o().state.textHeight + 1.3 * o().state.padding).attr("font-size", o().state.fontSize).attr("class", "state-title").text(n.descriptions[0]).node().getBBox(), a = i.height, s = t.append("text").attr("x", o().state.padding).attr("y", a + o().state.padding * .4 + o().state.dividerMargin + o().state.textHeight).attr("class", "state-description"), c = !0, l = !0;
29
+ n.descriptions.forEach(function(e) {
30
+ c || (r(s, e, l), l = !1), c = !1;
31
+ });
32
+ let u = t.append("line").attr("x1", o().state.padding).attr("y1", o().state.padding + a + o().state.dividerMargin / 2).attr("y2", o().state.padding + a + o().state.dividerMargin / 2).attr("class", "descr-divider"), d = s.node().getBBox(), f = Math.max(d.width, i.width);
33
+ return u.attr("x2", f + 3 * o().state.padding), t.insert("rect", ":first-child").attr("x", o().state.padding).attr("y", o().state.padding).attr("width", f + 2 * o().state.padding).attr("height", d.height + a + 2 * o().state.padding).attr("rx", o().state.radius), t;
34
+ }, "drawDescrState"), y = /* @__PURE__ */ e((e, t, n) => {
35
+ let r = o().state.padding, i = 2 * o().state.padding, a = e.node().getBBox(), s = a.width, c = a.x, l = e.append("text").attr("x", 0).attr("y", o().state.titleShift).attr("font-size", o().state.fontSize).attr("class", "state-title").text(t.id), u = l.node().getBBox().width + i, d = Math.max(u, s);
36
+ d === s && (d += i);
37
+ let f, p = e.node().getBBox();
38
+ t.doc, f = c - r, u > s && (f = (s - d) / 2 + r), Math.abs(c - p.x) < r && u > s && (f = c - (u - s) / 2);
39
+ let m = 1 - o().state.textHeight;
40
+ return e.insert("rect", ":first-child").attr("x", f).attr("y", m).attr("class", n ? "alt-composit" : "composit").attr("width", d).attr("height", p.height + o().state.textHeight + o().state.titleShift + 1).attr("rx", "0"), l.attr("x", f + r), u <= s && l.attr("x", c + (d - i) / 2 - u / 2 + r), e.insert("rect", ":first-child").attr("x", f).attr("y", o().state.titleShift - o().state.textHeight - o().state.padding).attr("width", d).attr("height", o().state.textHeight * 3).attr("rx", o().state.radius), e.insert("rect", ":first-child").attr("x", f).attr("y", o().state.titleShift - o().state.textHeight - o().state.padding).attr("width", d).attr("height", p.height + 3 + 2 * o().state.textHeight).attr("rx", o().state.radius), e;
41
+ }, "addTitleAndBox"), b = /* @__PURE__ */ e((e) => (e.append("circle").attr("class", "end-state-outer").attr("r", o().state.sizeUnit + o().state.miniPadding).attr("cx", o().state.padding + o().state.sizeUnit + o().state.miniPadding).attr("cy", o().state.padding + o().state.sizeUnit + o().state.miniPadding), e.append("circle").attr("class", "end-state-inner").attr("r", o().state.sizeUnit).attr("cx", o().state.padding + o().state.sizeUnit + 2).attr("cy", o().state.padding + o().state.sizeUnit + 2)), "drawEndState"), x = /* @__PURE__ */ e((e, t) => {
42
+ let n = o().state.forkWidth, r = o().state.forkHeight;
43
+ if (t.parentId) {
44
+ let e = n;
45
+ n = r, r = e;
46
+ }
47
+ return e.append("rect").style("stroke", "black").style("fill", "black").attr("width", n).attr("height", r).attr("x", o().state.padding).attr("y", o().state.padding);
48
+ }, "drawForkJoinState"), S = /* @__PURE__ */ e((e, t, n, r) => {
49
+ let i = 0, s = r.append("text");
50
+ s.style("text-anchor", "start"), s.attr("class", "noteText");
51
+ let c = e.replace(/\r\n/g, "<br/>");
52
+ c = c.replace(/\n/g, "<br/>");
53
+ let l = c.split(a.lineBreakRegex), u = 1.25 * o().state.noteMargin;
54
+ for (let e of l) {
55
+ let r = e.trim();
56
+ if (r.length > 0) {
57
+ let e = s.append("tspan");
58
+ if (e.text(r), u === 0) {
59
+ let t = e.node().getBBox();
60
+ u += t.height;
61
+ }
62
+ i += u, e.attr("x", t + o().state.noteMargin), e.attr("y", n + i + 1.25 * o().state.noteMargin);
63
+ }
64
+ }
65
+ return {
66
+ textWidth: s.node().getBBox().width,
67
+ textHeight: i
68
+ };
69
+ }, "_drawLongText"), C = /* @__PURE__ */ e((e, t) => {
70
+ t.attr("class", "state-note");
71
+ let n = t.append("rect").attr("x", 0).attr("y", o().state.padding), { textWidth: r, textHeight: i } = S(e, 0, 0, t.append("g"));
72
+ return n.attr("height", i + 2 * o().state.noteMargin), n.attr("width", r + o().state.noteMargin * 2), n;
73
+ }, "drawNote"), w = /* @__PURE__ */ e(function(e, t) {
74
+ let n = t.id, r = {
75
+ id: n,
76
+ label: t.id,
77
+ width: 0,
78
+ height: 0
79
+ }, i = e.append("g").attr("id", n).attr("class", "stateGroup");
80
+ t.type === "start" && h(i), t.type === "end" && b(i), (t.type === "fork" || t.type === "join") && x(i, t), t.type === "note" && C(t.note.text, i), t.type === "divider" && g(i), t.type === "default" && t.descriptions.length === 0 && _(i, t), t.type === "default" && t.descriptions.length > 0 && v(i, t);
81
+ let a = i.node().getBBox();
82
+ return r.width = a.width + 2 * o().state.padding, r.height = a.height + 2 * o().state.padding, r;
83
+ }, "drawState"), T = 0, E = /* @__PURE__ */ e(function(n, i, u) {
84
+ let d = /* @__PURE__ */ e(function(e) {
85
+ switch (e) {
86
+ case m.relationType.AGGREGATION: return "aggregation";
87
+ case m.relationType.EXTENSION: return "extension";
88
+ case m.relationType.COMPOSITION: return "composition";
89
+ case m.relationType.DEPENDENCY: return "dependency";
90
+ }
91
+ }, "getRelationType");
92
+ i.points = i.points.filter((e) => !Number.isNaN(e.y));
93
+ let f = i.points, p = l().x(function(e) {
94
+ return e.x;
95
+ }).y(function(e) {
96
+ return e.y;
97
+ }).curve(s), h = n.append("path").attr("d", p(f)).attr("id", "edge" + T).attr("class", "transition"), g = "";
98
+ if (o().state.arrowMarkerAbsolute && (g = r(!0)), h.attr("marker-end", "url(" + g + "#" + d(m.relationType.DEPENDENCY) + "End)"), u.title !== void 0) {
99
+ let e = n.append("g").attr("class", "stateLabel"), { x: r, y: s } = c.calcLabelPosition(i.points), l = a.getRows(u.title), d = 0, f = [], p = 0, m = 0;
100
+ for (let n = 0; n <= l.length; n++) {
101
+ let i = e.append("text").attr("text-anchor", "middle").text(l[n]).attr("x", r).attr("y", s + d), a = i.node().getBBox();
102
+ p = Math.max(p, a.width), m = Math.min(m, a.x), t.info(a.x, r, s + d), d === 0 && (d = i.node().getBBox().height, t.info("Title height", d, s)), f.push(i);
103
+ }
104
+ let h = d * l.length;
105
+ if (l.length > 1) {
106
+ let e = (l.length - 1) * d * .5;
107
+ f.forEach((t, n) => t.attr("y", s + n * d - e)), h = d * l.length;
108
+ }
109
+ let g = e.node().getBBox();
110
+ e.insert("rect", ":first-child").attr("class", "box").attr("x", r - p / 2 - o().state.padding / 2).attr("y", s - h / 2 - o().state.padding / 2 - 3.5).attr("width", p + o().state.padding).attr("height", h + o().state.padding), t.info(g);
111
+ }
112
+ T++;
113
+ }, "drawEdge"), D, O = {}, k = /* @__PURE__ */ e(function() {}, "setConf"), A = /* @__PURE__ */ e(function(e) {
114
+ e.append("defs").append("marker").attr("id", "dependencyEnd").attr("refX", 19).attr("refY", 7).attr("markerWidth", 20).attr("markerHeight", 28).attr("orient", "auto").append("path").attr("d", "M 19,7 L9,13 L14,7 L9,1 Z");
115
+ }, "insertMarkers"), j = /* @__PURE__ */ e(function(e, r, a, s) {
116
+ D = o().state;
117
+ let c = o().securityLevel, l;
118
+ c === "sandbox" && (l = n("#i" + r));
119
+ let u = n(c === "sandbox" ? l.nodes()[0].contentDocument.body : "body"), d = c === "sandbox" ? l.nodes()[0].contentDocument : document;
120
+ t.debug("Rendering diagram " + e);
121
+ let f = u.select(`[id='${r}']`);
122
+ A(f), N(s.db.getRootDoc(), f.append("g").attr("id", r + "-root"), void 0, !1, u, d, s);
123
+ let p = D.padding, m = f.node().getBBox(), h = m.width + p * 2, g = m.height + p * 2;
124
+ i(f, g, h * 1.75, D.useMaxWidth), f.attr("viewBox", `${m.x - D.padding} ${m.y - D.padding} ` + h + " " + g);
125
+ }, "draw"), M = /* @__PURE__ */ e((e) => e ? e.length * D.fontSizeFactor : 1, "getLabelWidth"), N = /* @__PURE__ */ e((e, n, r, i, o, s, c) => {
126
+ let l = new u({
127
+ compound: !0,
128
+ multigraph: !0
129
+ }), f, p = !0;
130
+ for (f = 0; f < e.length; f++) if (e[f].stmt === "relation") {
131
+ p = !1;
132
+ break;
133
+ }
134
+ r ? l.setGraph({
135
+ rankdir: "LR",
136
+ multigraph: !0,
137
+ compound: !0,
138
+ ranker: "tight-tree",
139
+ ranksep: p ? 1 : D.edgeLengthFactor,
140
+ nodeSep: p ? 1 : 50,
141
+ isMultiGraph: !0
142
+ }) : l.setGraph({
143
+ rankdir: "TB",
144
+ multigraph: !0,
145
+ compound: !0,
146
+ ranksep: p ? 1 : D.edgeLengthFactor,
147
+ nodeSep: p ? 1 : 50,
148
+ ranker: "tight-tree",
149
+ isMultiGraph: !0
150
+ }), l.setDefaultEdgeLabel(function() {
151
+ return {};
152
+ });
153
+ let m = c.db.getStates(), h = c.db.getRelations(), g = Object.keys(m);
154
+ for (let e of g) {
155
+ let t = m[e];
156
+ r && (t.parentId = r);
157
+ let a;
158
+ if (t.doc) {
159
+ let e = n.append("g").attr("id", t.id).attr("class", "stateGroup");
160
+ a = N(t.doc, e, t.id, !i, o, s, c);
161
+ {
162
+ e = y(e, t, i);
163
+ let n = e.node().getBBox();
164
+ a.width = n.width, a.height = n.height + D.padding / 2, O[t.id] = { y: D.compositTitleSize };
165
+ }
166
+ } else a = w(n, t, l);
167
+ if (t.note) {
168
+ let e = w(n, {
169
+ descriptions: [],
170
+ id: t.id + "-note",
171
+ note: t.note,
172
+ type: "note"
173
+ }, l);
174
+ t.note.position === "left of" ? (l.setNode(a.id + "-note", e), l.setNode(a.id, a)) : (l.setNode(a.id, a), l.setNode(a.id + "-note", e)), l.setParent(a.id, a.id + "-group"), l.setParent(a.id + "-note", a.id + "-group");
175
+ } else l.setNode(a.id, a);
176
+ }
177
+ t.debug("Count=", l.nodeCount(), l);
178
+ let _ = 0;
179
+ h.forEach(function(e) {
180
+ _++, t.debug("Setting edge", e), l.setEdge(e.id1, e.id2, {
181
+ relation: e,
182
+ width: M(e.title),
183
+ height: D.labelHeight * a.getRows(e.title).length,
184
+ labelpos: "c"
185
+ }, "id" + _);
186
+ }), d(l), t.debug("Graph after layout", l.nodes());
187
+ let v = n.node();
188
+ l.nodes().forEach(function(e) {
189
+ e !== void 0 && l.node(e) !== void 0 ? (t.warn("Node " + e + ": " + JSON.stringify(l.node(e))), o.select("#" + v.id + " #" + e).attr("transform", "translate(" + (l.node(e).x - l.node(e).width / 2) + "," + (l.node(e).y + (O[e] ? O[e].y : 0) - l.node(e).height / 2) + " )"), o.select("#" + v.id + " #" + e).attr("data-x-shift", l.node(e).x - l.node(e).width / 2), s.querySelectorAll("#" + v.id + " #" + e + " .divider").forEach((e) => {
190
+ let t = e.parentElement, n = 0, r = 0;
191
+ t && (t.parentElement && (n = t.parentElement.getBBox().width), r = parseInt(t.getAttribute("data-x-shift"), 10), Number.isNaN(r) && (r = 0)), e.setAttribute("x1", 0 - r + 8), e.setAttribute("x2", n - r - 8);
192
+ })) : t.debug("No Node " + e + ": " + JSON.stringify(l.node(e)));
193
+ });
194
+ let b = v.getBBox();
195
+ l.edges().forEach(function(e) {
196
+ e !== void 0 && l.edge(e) !== void 0 && (t.debug("Edge " + e.v + " -> " + e.w + ": " + JSON.stringify(l.edge(e))), E(n, l.edge(e), l.edge(e).relation));
197
+ }), b = v.getBBox();
198
+ let x = {
199
+ id: r || "root",
200
+ label: r || "root",
201
+ width: 0,
202
+ height: 0
203
+ };
204
+ return x.width = b.width + 2 * D.padding, x.height = b.height + 2 * D.padding, t.debug("Doc rendered", x, l), x;
205
+ }, "renderDoc"), P = {
206
+ parser: p,
207
+ get db() {
208
+ return new m(1);
209
+ },
210
+ renderer: {
211
+ setConf: k,
212
+ draw: j
213
+ },
214
+ styles: f,
215
+ init: /* @__PURE__ */ e((e) => {
216
+ e.state ||= {}, e.state.arrowMarkerAbsolute = e.arrowMarkerAbsolute;
217
+ }, "init")
218
+ };
219
+ //#endregion
220
+ export { P as diagram };
@@ -0,0 +1 @@
1
+ const e=require("./chunk-Y2CYZVJY-CnmLqFtv.cjs"),t=require("./src-CR--T_NF.cjs"),n=require("./chunk-WYO6CB5R-BTvDzbWd.cjs"),r=require("./chunk-ICXQ74PX-BmEfYj-r.cjs"),i=require("./line-Ca8dE_lT.cjs");require("./chunk-HOUHSVGY-CgfXy94u.cjs"),require("./chunk-Q4XR5HBZ-COrrWZzi.cjs"),require("./chunk-7BUUIJ7U-MzS1pW_S.cjs"),require("./chunk-OGEWGWER-BP4o8A-v.cjs");const a=require("./graphlib-CkkG5MuS.cjs"),o=require("./dagre-BBlCxSvR.cjs");require("./chunk-32BRIVSS-oWSJWk-u.cjs"),require("./chunk-XXDRQBXY-gWcN0uCZ.cjs"),require("./chunk-VR4S4FIN-CSU_1xTZ.cjs"),require("./chunk-C7G6YPKG-CDjkH_UW.cjs"),require("./chunk-ZGVPDNZ5-COEQX4AZ.cjs"),require("./chunk-52WLFC77-D9PTsiCj.cjs"),require("./chunk-FWX5IMBZ-nqBth1J9.cjs");const s=require("./chunk-EX3LRPZG-u-BKCEWO.cjs");var c=e.n(e=>e.append(`circle`).attr(`class`,`start-state`).attr(`r`,n.x().state.sizeUnit).attr(`cx`,n.x().state.padding+n.x().state.sizeUnit).attr(`cy`,n.x().state.padding+n.x().state.sizeUnit),`drawStartState`),l=e.n(e=>e.append(`line`).style(`stroke`,`grey`).style(`stroke-dasharray`,`3`).attr(`x1`,n.x().state.textHeight).attr(`class`,`divider`).attr(`x2`,n.x().state.textHeight*2).attr(`y1`,0).attr(`y2`,0),`drawDivider`),u=e.n((e,t)=>{let r=e.append(`text`).attr(`x`,2*n.x().state.padding).attr(`y`,n.x().state.textHeight+2*n.x().state.padding).attr(`font-size`,n.x().state.fontSize).attr(`class`,`state-title`).text(t.id),i=r.node().getBBox();return e.insert(`rect`,`:first-child`).attr(`x`,n.x().state.padding).attr(`y`,n.x().state.padding).attr(`width`,i.width+2*n.x().state.padding).attr(`height`,i.height+2*n.x().state.padding).attr(`rx`,n.x().state.radius),r},`drawSimpleState`),d=e.n((t,r)=>{let i=e.n(function(e,t,r){let i=e.append(`tspan`).attr(`x`,2*n.x().state.padding).text(t);r||i.attr(`dy`,n.x().state.textHeight)},`addTspan`),a=t.append(`text`).attr(`x`,2*n.x().state.padding).attr(`y`,n.x().state.textHeight+1.3*n.x().state.padding).attr(`font-size`,n.x().state.fontSize).attr(`class`,`state-title`).text(r.descriptions[0]).node().getBBox(),o=a.height,s=t.append(`text`).attr(`x`,n.x().state.padding).attr(`y`,o+n.x().state.padding*.4+n.x().state.dividerMargin+n.x().state.textHeight).attr(`class`,`state-description`),c=!0,l=!0;r.descriptions.forEach(function(e){c||(i(s,e,l),l=!1),c=!1});let u=t.append(`line`).attr(`x1`,n.x().state.padding).attr(`y1`,n.x().state.padding+o+n.x().state.dividerMargin/2).attr(`y2`,n.x().state.padding+o+n.x().state.dividerMargin/2).attr(`class`,`descr-divider`),d=s.node().getBBox(),f=Math.max(d.width,a.width);return u.attr(`x2`,f+3*n.x().state.padding),t.insert(`rect`,`:first-child`).attr(`x`,n.x().state.padding).attr(`y`,n.x().state.padding).attr(`width`,f+2*n.x().state.padding).attr(`height`,d.height+o+2*n.x().state.padding).attr(`rx`,n.x().state.radius),t},`drawDescrState`),f=e.n((e,t,r)=>{let i=n.x().state.padding,a=2*n.x().state.padding,o=e.node().getBBox(),s=o.width,c=o.x,l=e.append(`text`).attr(`x`,0).attr(`y`,n.x().state.titleShift).attr(`font-size`,n.x().state.fontSize).attr(`class`,`state-title`).text(t.id),u=l.node().getBBox().width+a,d=Math.max(u,s);d===s&&(d+=a);let f,p=e.node().getBBox();t.doc,f=c-i,u>s&&(f=(s-d)/2+i),Math.abs(c-p.x)<i&&u>s&&(f=c-(u-s)/2);let m=1-n.x().state.textHeight;return e.insert(`rect`,`:first-child`).attr(`x`,f).attr(`y`,m).attr(`class`,r?`alt-composit`:`composit`).attr(`width`,d).attr(`height`,p.height+n.x().state.textHeight+n.x().state.titleShift+1).attr(`rx`,`0`),l.attr(`x`,f+i),u<=s&&l.attr(`x`,c+(d-a)/2-u/2+i),e.insert(`rect`,`:first-child`).attr(`x`,f).attr(`y`,n.x().state.titleShift-n.x().state.textHeight-n.x().state.padding).attr(`width`,d).attr(`height`,n.x().state.textHeight*3).attr(`rx`,n.x().state.radius),e.insert(`rect`,`:first-child`).attr(`x`,f).attr(`y`,n.x().state.titleShift-n.x().state.textHeight-n.x().state.padding).attr(`width`,d).attr(`height`,p.height+3+2*n.x().state.textHeight).attr(`rx`,n.x().state.radius),e},`addTitleAndBox`),p=e.n(e=>(e.append(`circle`).attr(`class`,`end-state-outer`).attr(`r`,n.x().state.sizeUnit+n.x().state.miniPadding).attr(`cx`,n.x().state.padding+n.x().state.sizeUnit+n.x().state.miniPadding).attr(`cy`,n.x().state.padding+n.x().state.sizeUnit+n.x().state.miniPadding),e.append(`circle`).attr(`class`,`end-state-inner`).attr(`r`,n.x().state.sizeUnit).attr(`cx`,n.x().state.padding+n.x().state.sizeUnit+2).attr(`cy`,n.x().state.padding+n.x().state.sizeUnit+2)),`drawEndState`),m=e.n((e,t)=>{let r=n.x().state.forkWidth,i=n.x().state.forkHeight;if(t.parentId){let e=r;r=i,i=e}return e.append(`rect`).style(`stroke`,`black`).style(`fill`,`black`).attr(`width`,r).attr(`height`,i).attr(`x`,n.x().state.padding).attr(`y`,n.x().state.padding)},`drawForkJoinState`),h=e.n((e,t,r,i)=>{let a=0,o=i.append(`text`);o.style(`text-anchor`,`start`),o.attr(`class`,`noteText`);let s=e.replace(/\r\n/g,`<br/>`);s=s.replace(/\n/g,`<br/>`);let c=s.split(n.s.lineBreakRegex),l=1.25*n.x().state.noteMargin;for(let e of c){let i=e.trim();if(i.length>0){let e=o.append(`tspan`);if(e.text(i),l===0){let t=e.node().getBBox();l+=t.height}a+=l,e.attr(`x`,t+n.x().state.noteMargin),e.attr(`y`,r+a+1.25*n.x().state.noteMargin)}}return{textWidth:o.node().getBBox().width,textHeight:a}},`_drawLongText`),g=e.n((e,t)=>{t.attr(`class`,`state-note`);let r=t.append(`rect`).attr(`x`,0).attr(`y`,n.x().state.padding),{textWidth:i,textHeight:a}=h(e,0,0,t.append(`g`));return r.attr(`height`,a+2*n.x().state.noteMargin),r.attr(`width`,i+n.x().state.noteMargin*2),r},`drawNote`),_=e.n(function(e,t){let r=t.id,i={id:r,label:t.id,width:0,height:0},a=e.append(`g`).attr(`id`,r).attr(`class`,`stateGroup`);t.type===`start`&&c(a),t.type===`end`&&p(a),(t.type===`fork`||t.type===`join`)&&m(a,t),t.type===`note`&&g(t.note.text,a),t.type===`divider`&&l(a),t.type==="default"&&t.descriptions.length===0&&u(a,t),t.type==="default"&&t.descriptions.length>0&&d(a,t);let o=a.node().getBBox();return i.width=o.width+2*n.x().state.padding,i.height=o.height+2*n.x().state.padding,i},`drawState`),v=0,y=e.n(function(a,o,c){let l=e.n(function(e){switch(e){case s.t.relationType.AGGREGATION:return`aggregation`;case s.t.relationType.EXTENSION:return`extension`;case s.t.relationType.COMPOSITION:return`composition`;case s.t.relationType.DEPENDENCY:return`dependency`}},`getRelationType`);o.points=o.points.filter(e=>!Number.isNaN(e.y));let u=o.points,d=i.t().x(function(e){return e.x}).y(function(e){return e.y}).curve(r.et),f=a.append(`path`).attr(`d`,d(u)).attr(`id`,`edge`+v).attr(`class`,`transition`),p=``;if(n.x().state.arrowMarkerAbsolute&&(p=n.O(!0)),f.attr(`marker-end`,`url(`+p+`#`+l(s.t.relationType.DEPENDENCY)+`End)`),c.title!==void 0){let e=a.append(`g`).attr(`class`,`stateLabel`),{x:i,y:s}=r.g.calcLabelPosition(o.points),l=n.s.getRows(c.title),u=0,d=[],f=0,p=0;for(let n=0;n<=l.length;n++){let r=e.append(`text`).attr(`text-anchor`,`middle`).text(l[n]).attr(`x`,i).attr(`y`,s+u),a=r.node().getBBox();f=Math.max(f,a.width),p=Math.min(p,a.x),t.m.info(a.x,i,s+u),u===0&&(u=r.node().getBBox().height,t.m.info(`Title height`,u,s)),d.push(r)}let m=u*l.length;if(l.length>1){let e=(l.length-1)*u*.5;d.forEach((t,n)=>t.attr(`y`,s+n*u-e)),m=u*l.length}let h=e.node().getBBox();e.insert(`rect`,`:first-child`).attr(`class`,`box`).attr(`x`,i-f/2-n.x().state.padding/2).attr(`y`,s-m/2-n.x().state.padding/2-3.5).attr(`width`,f+n.x().state.padding).attr(`height`,m+n.x().state.padding),t.m.info(h)}v++},`drawEdge`),b,x={},S=e.n(function(){},`setConf`),C=e.n(function(e){e.append(`defs`).append(`marker`).attr(`id`,`dependencyEnd`).attr(`refX`,19).attr(`refY`,7).attr(`markerWidth`,20).attr(`markerHeight`,28).attr(`orient`,`auto`).append(`path`).attr(`d`,`M 19,7 L9,13 L14,7 L9,1 Z`)},`insertMarkers`),w=e.n(function(e,r,i,a){b=n.x().state;let o=n.x().securityLevel,s;o===`sandbox`&&(s=t.p(`#i`+r));let c=o===`sandbox`?t.p(s.nodes()[0].contentDocument.body):t.p(`body`),l=o===`sandbox`?s.nodes()[0].contentDocument:document;t.m.debug(`Rendering diagram `+e);let u=c.select(`[id='${r}']`);C(u),E(a.db.getRootDoc(),u.append(`g`).attr(`id`,r+`-root`),void 0,!1,c,l,a);let d=b.padding,f=u.node().getBBox(),p=f.width+d*2,m=f.height+d*2;n.c(u,m,p*1.75,b.useMaxWidth),u.attr(`viewBox`,`${f.x-b.padding} ${f.y-b.padding} `+p+` `+m)},`draw`),T=e.n(e=>e?e.length*b.fontSizeFactor:1,`getLabelWidth`),E=e.n((e,r,i,s,c,l,u)=>{let d=new a.t({compound:!0,multigraph:!0}),p,m=!0;for(p=0;p<e.length;p++)if(e[p].stmt===`relation`){m=!1;break}i?d.setGraph({rankdir:`LR`,multigraph:!0,compound:!0,ranker:`tight-tree`,ranksep:m?1:b.edgeLengthFactor,nodeSep:m?1:50,isMultiGraph:!0}):d.setGraph({rankdir:`TB`,multigraph:!0,compound:!0,ranksep:m?1:b.edgeLengthFactor,nodeSep:m?1:50,ranker:`tight-tree`,isMultiGraph:!0}),d.setDefaultEdgeLabel(function(){return{}});let h=u.db.getStates(),g=u.db.getRelations(),v=Object.keys(h);for(let e of v){let t=h[e];i&&(t.parentId=i);let n;if(t.doc){let e=r.append(`g`).attr(`id`,t.id).attr(`class`,`stateGroup`);n=E(t.doc,e,t.id,!s,c,l,u);{e=f(e,t,s);let r=e.node().getBBox();n.width=r.width,n.height=r.height+b.padding/2,x[t.id]={y:b.compositTitleSize}}}else n=_(r,t,d);if(t.note){let e=_(r,{descriptions:[],id:t.id+`-note`,note:t.note,type:`note`},d);t.note.position===`left of`?(d.setNode(n.id+`-note`,e),d.setNode(n.id,n)):(d.setNode(n.id,n),d.setNode(n.id+`-note`,e)),d.setParent(n.id,n.id+`-group`),d.setParent(n.id+`-note`,n.id+`-group`)}else d.setNode(n.id,n)}t.m.debug(`Count=`,d.nodeCount(),d);let S=0;g.forEach(function(e){S++,t.m.debug(`Setting edge`,e),d.setEdge(e.id1,e.id2,{relation:e,width:T(e.title),height:b.labelHeight*n.s.getRows(e.title).length,labelpos:`c`},`id`+S)}),o.t(d),t.m.debug(`Graph after layout`,d.nodes());let C=r.node();d.nodes().forEach(function(e){e!==void 0&&d.node(e)!==void 0?(t.m.warn(`Node `+e+`: `+JSON.stringify(d.node(e))),c.select(`#`+C.id+` #`+e).attr(`transform`,`translate(`+(d.node(e).x-d.node(e).width/2)+`,`+(d.node(e).y+(x[e]?x[e].y:0)-d.node(e).height/2)+` )`),c.select(`#`+C.id+` #`+e).attr(`data-x-shift`,d.node(e).x-d.node(e).width/2),l.querySelectorAll(`#`+C.id+` #`+e+` .divider`).forEach(e=>{let t=e.parentElement,n=0,r=0;t&&(t.parentElement&&(n=t.parentElement.getBBox().width),r=parseInt(t.getAttribute(`data-x-shift`),10),Number.isNaN(r)&&(r=0)),e.setAttribute(`x1`,0-r+8),e.setAttribute(`x2`,n-r-8)})):t.m.debug(`No Node `+e+`: `+JSON.stringify(d.node(e)))});let w=C.getBBox();d.edges().forEach(function(e){e!==void 0&&d.edge(e)!==void 0&&(t.m.debug(`Edge `+e.v+` -> `+e.w+`: `+JSON.stringify(d.edge(e))),y(r,d.edge(e),d.edge(e).relation))}),w=C.getBBox();let D={id:i||`root`,label:i||`root`,width:0,height:0};return D.width=w.width+2*b.padding,D.height=w.height+2*b.padding,t.m.debug(`Doc rendered`,D,d),D},`renderDoc`),D={parser:s.n,get db(){return new s.t(1)},renderer:{setConf:S,draw:w},styles:s.i,init:e.n(e=>{e.state||={},e.state.arrowMarkerAbsolute=e.arrowMarkerAbsolute},`init`)};exports.diagram=D;
@@ -0,0 +1,30 @@
1
+ import { n as e } from "./chunk-Y2CYZVJY-CwsV_8W4.js";
2
+ import "./src-DJ4x3y2O.js";
3
+ import "./chunk-WYO6CB5R-Y9HJHB3Q.js";
4
+ import "./chunk-ICXQ74PX-CC59NQmW.js";
5
+ import "./chunk-HOUHSVGY-CtRCnz1G.js";
6
+ import "./chunk-Q4XR5HBZ-Bk18cMuk.js";
7
+ import "./chunk-7BUUIJ7U-BFUeQBoS.js";
8
+ import "./chunk-OGEWGWER-BGdqgMza.js";
9
+ import "./chunk-32BRIVSS-Byu3FrKX.js";
10
+ import "./chunk-XXDRQBXY-DsVp5qjg.js";
11
+ import "./chunk-VR4S4FIN-Ci491c8N.js";
12
+ import "./chunk-C7G6YPKG-GTlyrFFt.js";
13
+ import "./chunk-ZGVPDNZ5-CDTkXY1G.js";
14
+ import "./chunk-52WLFC77-C9zQbcGs.js";
15
+ import "./chunk-FWX5IMBZ-h3GfgkP2.js";
16
+ import { i as t, n, r, t as i } from "./chunk-EX3LRPZG-BBldDxGh.js";
17
+ //#region ../node_modules/mermaid/dist/chunks/mermaid.core/stateDiagram-v2-6OUMAXLB.mjs
18
+ var a = {
19
+ parser: n,
20
+ get db() {
21
+ return new i(2);
22
+ },
23
+ renderer: r,
24
+ styles: t,
25
+ init: /* @__PURE__ */ e((e) => {
26
+ e.state ||= {}, e.state.arrowMarkerAbsolute = e.arrowMarkerAbsolute;
27
+ }, "init")
28
+ };
29
+ //#endregion
30
+ export { a as diagram };
@@ -0,0 +1 @@
1
+ const e=require("./chunk-Y2CYZVJY-CnmLqFtv.cjs");require("./src-CR--T_NF.cjs"),require("./chunk-WYO6CB5R-BTvDzbWd.cjs"),require("./chunk-ICXQ74PX-BmEfYj-r.cjs"),require("./chunk-HOUHSVGY-CgfXy94u.cjs"),require("./chunk-Q4XR5HBZ-COrrWZzi.cjs"),require("./chunk-7BUUIJ7U-MzS1pW_S.cjs"),require("./chunk-OGEWGWER-BP4o8A-v.cjs"),require("./chunk-32BRIVSS-oWSJWk-u.cjs"),require("./chunk-XXDRQBXY-gWcN0uCZ.cjs"),require("./chunk-VR4S4FIN-CSU_1xTZ.cjs"),require("./chunk-C7G6YPKG-CDjkH_UW.cjs"),require("./chunk-ZGVPDNZ5-COEQX4AZ.cjs"),require("./chunk-52WLFC77-D9PTsiCj.cjs"),require("./chunk-FWX5IMBZ-nqBth1J9.cjs");const t=require("./chunk-EX3LRPZG-u-BKCEWO.cjs");var n={parser:t.n,get db(){return new t.t(2)},renderer:t.r,styles:t.i,init:e.n(e=>{e.state||={},e.state.arrowMarkerAbsolute=e.arrowMarkerAbsolute},`init`)};exports.diagram=n;
@@ -0,0 +1 @@
1
+ const e=require("./chunk-Y2CYZVJY-CnmLqFtv.cjs"),t=require("./src-CR--T_NF.cjs"),n=require("./chunk-WYO6CB5R-BTvDzbWd.cjs"),r=require("./chunk-ICXQ74PX-BmEfYj-r.cjs");require("./chunk-HOUHSVGY-CgfXy94u.cjs"),require("./chunk-Q4XR5HBZ-COrrWZzi.cjs");const i=require("./chunk-7BUUIJ7U-MzS1pW_S.cjs"),a=require("./chunk-OGEWGWER-BP4o8A-v.cjs"),o=require("./graphlib-CkkG5MuS.cjs"),s=require("./chunk-RYQCIY6F-27FDzaaE.cjs");require("./chunk-C7G6YPKG-CDjkH_UW.cjs");const c=require("./chunk-ZGVPDNZ5-COEQX4AZ.cjs"),l=require("./chunk-52WLFC77-D9PTsiCj.cjs");async function u(e,t){let r=new o.t({multigraph:!0,compound:!0}),i=[...t.edges],a=n.x(),s=e.insert(`g`).attr(`class`,`root`),l=s.insert(`g`).attr(`class`,`clusters`),u=s.insert(`g`).attr(`class`,`edges edgePath`),d=s.insert(`g`).attr(`class`,`edgeLabels`),f=s.insert(`g`).attr(`class`,`nodes`),p=new Map,m=e.node()!=null;await Promise.all(t.nodes.map(async e=>{if(e.isGroup)r.setNode(e.id,{...e});else{if(m){let t=await c.a(f,e,{config:a,dir:e.dir}),n=t.node()?.getBBox()??{width:0,height:0};p.set(e.id,t),e.width=n.width,e.height=n.height}r.setNode(e.id,{...e})}}));for(let e of i)r.setEdge(e.start,e.end,{...e},e.id),t.edges.some(t=>t.id===e.id)||t.edges.push(e);if(globalThis.mermaidCaptureSizes){let{captureNodeSizes:n}=await Promise.resolve().then(()=>require("./sizeCapture-X5ZJPWSS-bJ2ZX4Du.cjs"));n(e,t)}return{graph:r,groups:{clusters:l,edgePaths:u,edgeLabels:d,nodes:f,rootGroups:s},nodeElements:p}}e.n(u,`createGraphWithElements`);var d=5,f=1e-5,p=1e-6;function m(e){let t=[];for(let n=0;n<e.length-1;n++)t.push({a:e[n],b:e[n+1]});return t}e.n(m,`buildSegmentList`);function h(e,t,n,r){let i=t.x-e.x,a=t.y-e.y,o=r.x-n.x,s=r.y-n.y,c=i*s-a*o;if(c===0)return null;let l=n.x-e.x,u=n.y-e.y,d=(l*s-u*o)/c,f=(l*a-u*i)/c;return d<=p||d>=1-p||f<=p||f>=1-p?null:{point:{x:e.x+d*i,y:e.y+d*a},tA:d,tB:f}}e.n(h,`segmentIntersection`);function g(e){return Math.abs(e.b.x-e.a.x)>=Math.abs(e.b.y-e.a.y)}e.n(g,`isHorizontalSeg`);function _(e){let t=[];for(let n=0;n<e.length;n++){let r=e[n],i=m(r.points);for(let a=n+1;a<e.length;a++){let n=e[a],o=m(n.points);for(let[e,a]of i.entries())for(let[i,s]of o.entries()){let o=h(a.a,a.b,s.a,s.b);if(!o)continue;let c=g(a);c!==g(s)&&c?t.push({jumpEdgeId:r.id,otherEdgeId:n.id,segIndex:e,t:o.tA,point:o.point}):t.push({jumpEdgeId:n.id,otherEdgeId:r.id,segIndex:i,t:o.tB,point:o.point})}}}return t}e.n(_,`findEdgeIntersections`);function v(e){return`${Math.round(e*1e3)/1e3}`}e.n(v,`fmt`);function y(e){return`${v(e.x)},${v(e.y)}`}e.n(y,`pointToString`);function b(e){let t=e.b.x-e.a.x,n=e.b.y-e.a.y;return Math.abs(t)>=Math.abs(n)?+(t>=0):+(n>=0)}e.n(b,`getArcSweepFlag`);var x=.001;function S(e,t){if(e.length<2)return e.map(e=>({...e}));let n=e.map(e=>({...e})),r=t.arrowTypeStart&&i.r[t.arrowTypeStart];if(r){let t=e[0],i=e[1],a=Math.atan2(i.y-t.y,i.x-t.x);n[0].x=t.x+r*Math.cos(a),n[0].y=t.y+r*Math.sin(a)}let a=t.arrowTypeEnd&&i.r[t.arrowTypeEnd];if(a){let t=e.length,r=e[t-2],i=e[t-1],o=Math.atan2(i.y-r.y,i.x-r.x);n[t-1].x=i.x-a*Math.cos(o),n[t-1].y=i.y-a*Math.sin(o)}return n}e.n(S,`applyMarkerOffsets`);function C(e,t,n,r,i){let a=e.point.x,o=e.point.y,s={x:a-t*e.r,y:o-n*e.r},c={x:a+t*e.r,y:o+n*e.r},l=[`L${y(s)}`];return i===`arc`?l.push(`A${v(e.r)},${v(e.r)} 0 0 ${r} ${y(c)}`):l.push(`M${y(c)}`),l}e.n(C,`emitJump`);function w(e,t,n,r){let i=t.x-e.x,a=t.y-e.y,o=n.x-t.x,s=n.y-t.y,c=Math.hypot(i,a),l=Math.hypot(o,s);if(c<f||l<f)return null;let u=i/c,d=a/c,p=o/l,m=s/l,h=u*p+d*m,g=Math.acos(Math.max(-1,Math.min(1,h)));if(g<f||Math.abs(Math.PI-g)<f)return null;let _=Math.min(r/Math.sin(g/2),c/2,l/2);return{startX:t.x-u*_,startY:t.y-d*_,endX:t.x+p*_,endY:t.y+m*_,ctrlX:t.x,ctrlY:t.y,cutLen:_}}e.n(w,`computeRoundedCorner`);function T(e,t,n){let r=e.points;if(r.length<2)return``;let i=S(r,e),a=e.curve===`rounded`,o=m(i),s=new Map;for(let e of t){let t=o[e.segIndex];if(!t)continue;let r=Math.hypot(t.b.x-t.a.x,t.b.y-t.a.y),i=s.get(e.segIndex)??[];i.push({t:e.t,point:e.point,d:e.t*r,r:n.jumpRadius}),s.set(e.segIndex,i)}let c=[`M${y(i[0])}`];for(let e=0;e<o.length;e++){let t=o[e],r=Math.hypot(t.b.x-t.a.x,t.b.y-t.a.y),l=r===0?0:(t.b.x-t.a.x)/r,u=r===0?0:(t.b.y-t.a.y)/r,f=b(t),p=0;if(a&&e>0){let t=w(i[e-1],i[e],i[e+1]??i[e],d);t&&(p=t.cutLen)}let m=r,h=null;a&&e<o.length-1&&(h=w(i[e],i[e+1],i[e+2]??i[e+1],d),h&&(m=r-h.cutLen));let g=[...s.get(e)??[]].sort((e,t)=>e.t-t.t);for(let e of g)e.r=Math.min(e.r,e.d-p,m-e.d);for(let e=0;e<g.length-1;e++){let t=g[e+1].d-g[e].d;if(g[e].r+g[e+1].r>t){let n=t/2;g[e].r=Math.min(g[e].r,n),g[e+1].r=Math.min(g[e+1].r,n)}}for(let e of g)e.r<x||c.push(...C(e,l,u,f,n.jumpStyle));a&&h?(c.push(`L${v(h.startX)},${v(h.startY)}`),c.push(`Q${v(h.ctrlX)},${v(h.ctrlY)} ${v(h.endX)},${v(h.endY)}`)):c.push(`L${y(t.b)}`)}return c.join(` `)}e.n(T,`rewriteEdgePath`);function E(e){return/^[\d\s+,.LMelm-]*$/.test(e)}e.n(E,`isStraightPath`);function D(e){return e?e===`linear`||e===`rounded`||e===`step`||e===`stepBefore`||e===`stepAfter`:!0}e.n(D,`curveSupportsLineHops`);function O(e){if(!e)return null;try{let t=typeof atob==`function`?atob(e):Buffer.from(e,`base64`).toString(),n=JSON.parse(t);if(!Array.isArray(n))return null;let r=[];for(let e of n)e&&typeof e.x==`number`&&typeof e.y==`number`&&r.push({x:e.x,y:e.y});return r.length>=2?r:null}catch{return null}}e.n(O,`decodeDataPoints`);function k(e,t,n){if(!n.enabled)return;let r=e.node();if(!r)return;let i=new Map;for(let e of t)i.set(e.id,e);let a=[],o=new Map;for(let e of t){let t=typeof CSS<`u`&&CSS.escape?CSS.escape(e.id):e.id,n=r.querySelector(`path[data-id="${t}"]`);if(!n)continue;o.set(e.id,n);let i=O(n.getAttribute(`data-points`))??e.points;a.push({...e,points:i})}let s=_(a);if(s.length===0)return;let c=new Map;for(let e of s){let t=c.get(e.jumpEdgeId)??[];t.push(e),c.set(e.jumpEdgeId,t)}for(let e of a){let t=c.get(e.id);if(!t||t.length===0)continue;let r=i.get(e.id)?.curve;if(r!==void 0&&!D(r))continue;let a=o.get(e.id);if(!a||r===void 0&&!E(a.getAttribute(`d`)??``))continue;let s=a.getAttribute(`style`)??``,l=/stroke-dasharray\s*:\s*0\s+([\d.]+)\s+[\d.]+\s+([\d.]+)/.exec(s),u=l?Number.parseFloat(l[1]):null,d=l?Number.parseFloat(l[2]):null,f=T(e,t,n);if(a.setAttribute(`d`,f),u!==null&&d!==null&&typeof a.getTotalLength==`function`){let e=a.getTotalLength(),t=`0 ${u} ${Math.max(0,e-u-d)} ${d}`,n=s.replace(/stroke-dasharray\s*:[^;]*;?/g,`stroke-dasharray: ${t};`).replace(/;\s*;+/g,`;`);a.setAttribute(`style`,n)}}}e.n(k,`applyLineJumpsToSvg`);async function A(e,t){for(let n of e.nodes)n.isGroup?await c.i(t.clusters,n):c.c(n);let n=new Map;for(let t of e.nodes)t?.id&&n.set(t.id,t);for(let r of e.edges){let i=r.start?n.get(r.start)??{}:{},a=r.end?n.get(r.end)??{}:{},o=l.r(t.edgePaths,{...r},{},e.type,i,a,e.diagramId);r.label&&await l.i(t.rootGroups,r),r.label&&j(r,o)}let r=e.config?.swimlane?.lineHops;if(r!==!1){let n=r===`gap`?`gap`:`arc`,i=e.edges.filter(e=>Array.isArray(e.points)&&e.points.length>=2).map(e=>({id:e.id,points:e.points,curve:e.curve,arrowTypeStart:e.arrowTypeStart,arrowTypeEnd:e.arrowTypeEnd}));k(t.edgePaths,i,{enabled:!0,jumpRadius:6,jumpStyle:n})}}e.n(A,`adjustLayout`);function j(e,i){let o=i?.updatedPath??i?.originalPath,{subGraphTitleTotalMargin:s}=a.n({flowchart:n.b().flowchart??{}});if(e.label){let n=l.n.get(e.id),a=e.x,c=e.y;if(o){let n=r.g.calcLabelPosition(o);t.m.debug(`Moving label `+e.label+` from (`,a,`,`,c,`) to (`,n.x,`,`,n.y,`) abc88`),i&&(a=n.x,c=n.y)}n.attr(`transform`,`translate(${a}, ${c+s/2})`)}if(e?.startLabelLeft){let t=l.s.get(e.id).startLeft,n=e?.x,i=e?.y;if(o){let t=r.g.calcTerminalLabelPosition(e.arrowTypeStart?10:0,`start_left`,o);n=t.x,i=t.y}t.attr(`transform`,`translate(${n}, ${i})`)}if(e.startLabelRight){let t=l.s.get(e.id).startRight,n=e.x,i=e.y;if(o){let t=r.g.calcTerminalLabelPosition(e.arrowTypeStart?10:0,`start_right`,o);n=t.x,i=t.y}t.attr(`transform`,`translate(${n}, ${i})`)}if(e.endLabelLeft){let t=l.s.get(e.id).endLeft,n=e.x,i=e.y;if(o){let t=r.g.calcTerminalLabelPosition(e.arrowTypeEnd?10:0,`end_left`,o);n=t.x,i=t.y}t.attr(`transform`,`translate(${n}, ${i})`)}if(e.endLabelRight){let t=l.s.get(e.id).endRight,n=e.x,i=e.y;if(o){let t=r.g.calcTerminalLabelPosition(e.arrowTypeEnd?10:0,`end_right`,o);n=t.x,i=t.y}t.attr(`transform`,`translate(${n}, ${i})`)}}e.n(j,`positionEdgeLabel`);var M=`__swimlane_default__`,ee=21,N=20;function te(e){return Math.max(e.padding??N,N)}e.n(te,`topLaneHorizontalPadding`);function P(e){let{x:t,y:n,width:r,height:i}=e,a=e.swimlaneContentTop;if(typeof t!=`number`||typeof n!=`number`||typeof r!=`number`||typeof i!=`number`||typeof a!=`number`||!Number.isFinite(t)||!Number.isFinite(n)||!Number.isFinite(r)||!Number.isFinite(i)||!Number.isFinite(a)||r<=0||i<=0){delete e.groupTitleRect;return}let o=n-i/2,s=Math.min(a,n+i/2),c=o+Math.min(ee,Math.max(0,s-o));if(c<=o){delete e.groupTitleRect;return}e.groupTitleRect={left:t-r/2,right:t+r/2,top:o,bottom:c}}e.n(P,`assignTopLaneTitleRect`);function ne(e){let t=e.direction,n=e.nodes??=[];for(let n of e.nodes??[])n.isGroup&&!n.parentId&&(n.shape=`swimlane`,t&&(n.direction=t));let r=n.filter(e=>!e.isGroup&&!e.parentId);if(r.length===0)return;let i=n.find(e=>e.id===M);i?i.isGroup&&(i.shape=`swimlane`,t&&(i.direction=t)):(i={id:M,label:``,isGroup:!0,shape:`swimlane`,padding:20,...t?{direction:t}:{}},n.push(i));for(let e of r)e.parentId=M}e.n(ne,`prepareLayoutForSwimlanes`);function re(e){let t=new Map;for(let n of e.nodes??[])t.set(n.id,n);let n=[];for(let t of e.edges??[]){let e=typeof t.start==`string`?t.start:void 0,r=typeof t.end==`string`?t.end:void 0;!e||!r||t.labelNodeId||n.push({id:t.id,src:e,dst:r,ref:t})}let r=e.nodes??[],i=r.filter(e=>e.isGroup),a=r.filter(e=>!e.isGroup);return{nodes:[...[...i].reverse(),...a].map(e=>e.id),edges:n,layout:e,nodeById:t}}e.n(re,`toGraphView`);function ie(e,t,n,r){let{layout:i}=e,a=e.nodeById,o=r?.layerGap??100,s=r?.nodeGap??40,c=0;for(let e of t.layers){let t=0;for(let r of e){let e=a.get(r);if(!e){t++;continue}e.layer=c,e.order=t;let i=n.x[r]??t*s,l=n.y[r]??c*o;e.x=i,e.y=l,t++}c++}let l=i.nodes??[],u=new Map,d=[];for(let e of l){if(!e?.isGroup)continue;e.parentId||d.push(e);let t=l.filter(t=>t.parentId===e.id),r=1/0,i=-1/0,a=1/0,o=-1/0;for(let e of t){let t=e.x??n.x[e.id],s=e.y??n.y[e.id],c=e.width??0,l=e.height??0;t!=null&&s!=null&&(r=Math.min(r,t-c/2),i=Math.max(i,t+c/2),a=Math.min(a,s-l/2),o=Math.max(o,s+l/2))}if(r===1/0||a===1/0)e.x=e.x??0,e.y=e.y??0,e.width=e.width??0,e.height=e.height??0;else{let t=e.padding??20,n=e.parentId?t:2*te(e),s=t,c=Math.max(0,i-r)+n,l=Math.max(0,o-a)+s,d=(r+i)/2,f=(a+o)/2;e.x=d,e.y=f,e.width=c,e.height=l,u.set(e.id,{minX:r,maxX:i,minY:a,maxY:o})}}if(d.length>0&&u.size>0){let e=1/0,t=-1/0,n=0;for(let r of d){let i=r.padding??20;i>n&&(n=i);let a=u.get(r.id);a&&(e=Math.min(e,a.minY),t=Math.max(t,a.maxY))}if(e!==1/0&&t!==-1/0){let r=Math.max(0,t-e)+2*Math.max(n,36),i=(e+t)/2;for(let t of d)t.y=i,t.height=r,t.swimlaneContentTop=e;let a=[...d].sort((e,t)=>(e.x??0)-(t.x??0)),o=[],s=[],c=[];for(let e of a){let t=u.get(e.id);if(!t)continue;let n=Math.max(0,t.maxX-t.minX)+2*te(e),r=(t.minX+t.maxX)/2;o.push(e.id),s.push(r),c.push(n)}let l=o.length;if(l>0){let e=new Map;if(l===1)e.set(o[0],c[0]);else{let t=[];for(let e=0;e<l-1;e++)t.push(s[e+1]-s[e]);let n=Array(l);n[0]=0;for(let e=0;e<l-1;e++)n[e+1]=2*t[e]-n[e];let r=0,i=1/0;for(let e=0;e<l;e++){let t=c[e];e%2==0?r=Math.max(r,t-n[e]):i=Math.min(i,n[e]-t)}let a=r;a=r<=i?(r+i)/2:r;for(let t=0;t<l;t++){let r=n[t]+(t%2==0?a:-a),i=Math.max(c[t],r);e.set(o[t],i)}}for(let t of d){let n=e.get(t.id);n!=null&&(t.width=n),P(t)}}}}}e.n(ie,`writeBackToLayoutData`);var ae=`[EdgeLabelNodes]`;function oe(e){let n=[],r=[],i=new Map;for(let t of e.nodes)i.set(t.id,t);for(let a of e.edges){if(!a.label||a.label.length===0||a.isLayoutOnly||a.labelNodeId)continue;let e=a.start?i.get(a.start):void 0,o=a.end?i.get(a.end):void 0;if(!e||!o){t.m.warn(ae,`Edge ${a.id} has missing source or target node`);continue}let s=`edge-label-${a.start}-${a.end}-${a.id}`,c=e.parentId===o.parentId?e.parentId:o.parentId,l={id:s,label:a.label,edgeStart:a.start??``,edgeEnd:a.end??``,shape:`labelRect`,width:0,height:0,isEdgeLabel:!0,isDummy:!0,parentId:c,isGroup:!1,labelStyle:Array.isArray(a.labelStyle)?a.labelStyle[0]:a.labelStyle??``,...e.dir?{dir:e.dir}:{}};n.push(l),a.labelNodeId=s,a.label=void 0,a.text=void 0;let u={id:`${a.id}-to-label`,start:a.start,end:s,type:`normal`,isLayoutOnly:!0},d={id:`${a.id}-from-label`,start:s,end:a.end,type:`normal`,isLayoutOnly:!0};r.push(u,d)}let a=[...e.nodes,...n],o=[...e.edges,...r];return{...e,nodes:a,edges:o}}e.n(oe,`createEdgeLabelNodes`);var F=.001;function se(e){let t=e.x??0,n=e.y??0,r=e.width??0,i=e.height??0;return r>0&&i>0?{cx:t,cy:n,rect:he(t,n,r,i)}:void 0}e.n(se,`measuredNodeRect`);function ce(e){if(e.isGroup)return;let t=se(e);if(t)return{id:String(e.id??``),cx:t.cx,cy:t.cy,rect:t.rect}}e.n(ce,`nodeBoundsInfoFor`);function I(e,t,n=F){return Math.abs(e.x-t.x)<n&&Math.abs(e.y-t.y)<n}e.n(I,`samePoint`);function L(e,t,n=F){return Math.abs(e.x-t.x)<n}e.n(L,`sameX`);function R(e,t,n=F){return Math.abs(e.y-t.y)<n}e.n(R,`sameY`);function z(e,t,n=F){return R(e,t,n)&&Math.abs(e.x-t.x)>n}e.n(z,`isHorizontalSegment`);function B(e,t,n=F){return L(e,t,n)&&Math.abs(e.y-t.y)>n}e.n(B,`isVerticalSegment`);function V(e,t,n,r){return Math.max(0,Math.min(Math.max(e,t),Math.max(n,r))-Math.max(Math.min(e,t),Math.min(n,r)))}e.n(V,`overlapLength`);function H(e,t,n=F){return e.horizontal&&t.horizontal&&R(e.a,t.a,n)?V(e.a.x,e.b.x,t.a.x,t.b.x):e.vertical&&t.vertical&&L(e.a,t.a,n)?V(e.a.y,e.b.y,t.a.y,t.b.y):0}e.n(H,`sameAxisSegmentOverlapLength`);function le(e,t=F){let n=[];for(let r=0;r<e.length-1;r++){let i=e[r],a=e[r+1],o=z(i,a,t),s=B(i,a,t);(o||s)&&n.push({index:r,a:i,b:a,horizontal:o,vertical:s})}return n}e.n(le,`orthogonalSegmentsForPoints`);function U(e,t=F){let n=le(e,t),r=0;for(let e=1;e<n.length;e++)n[e-1].horizontal!==n[e].horizontal&&r++;return r}e.n(U,`countOrthogonalBends`);function W(e,t=F){let n=[];for(let r of e){let e=n.length>0?n[n.length-1]:void 0;(!e||!I(e,r,t))&&n.push({x:r.x,y:r.y})}return n}e.n(W,`dedupeConsecutivePoints`);function ue(e,t=F){if(!e||e.length!==4)return;let[n,r,i,a]=e;return z(n,r,t)&&B(r,i,t)&&z(i,a,t)?{kind:`HVH`,p0:n,p1:r,p2:i,p3:a}:B(n,r,t)&&z(r,i,t)&&B(i,a,t)?{kind:`VHV`,p0:n,p1:r,p2:i,p3:a}:void 0}e.n(ue,`classifyThreeSegmentRoute`);function de(e,t,n,r=0){let i=Math.min(e.x,t.x),a=Math.max(e.x,t.x),o=Math.min(e.y,t.y),s=Math.max(e.y,t.y);return a>n.left-r&&i<n.right+r&&s>n.top-r&&o<n.bottom+r}e.n(de,`segmentBoundsOverlapRect`);function fe(e,t,n=0){return e.x>t.left+n&&e.x<t.right-n&&e.y>t.top+n&&e.y<t.bottom-n}e.n(fe,`pointInsideRect`);function pe(e,t){return e.left<=t.left&&e.right>=t.right&&e.top<=t.top&&e.bottom>=t.bottom}e.n(pe,`rectContainsRect`);function G(e,t){return e.left<t.right&&e.right>t.left&&e.top<t.bottom&&e.bottom>t.top}e.n(G,`rectsOverlap`);function me(e,t){return{left:e.left-t,right:e.right+t,top:e.top-t,bottom:e.bottom+t}}e.n(me,`inflateRect`);function he(e,t,n,r){return{left:e-n/2,right:e+n/2,top:t-r/2,bottom:t+r/2}}e.n(he,`rectFromCenterSize`);function K(e){return se(e)?.rect}e.n(K,`rectOfNodeBounds`);function ge(e,t){switch(t){case`top`:return{x:e.cx,y:e.rect.top};case`bottom`:return{x:e.cx,y:e.rect.bottom};case`left`:return{x:e.rect.left,y:e.cy};case`right`:return{x:e.rect.right,y:e.cy}}}e.n(ge,`portForRectSide`);function _e(e,t,n,r,i,a=F){let o=t===`left`||t===`right`,s=r===`left`||r===`right`;if(o&&s){if(t===`right`&&r===`left`&&e.x<n.x||t===`left`&&r===`right`&&e.x>n.x){if(R(e,n,a))return[e,n];let t=(e.x+n.x)/2;return[e,{x:t,y:e.y},{x:t,y:n.y},n]}if(t===r){if(R(e,n,a))return;let r=t===`left`?Math.min(e.x,n.x)-i:Math.max(e.x,n.x)+i;return[e,{x:r,y:e.y},{x:r,y:n.y},n]}return}if(!o&&!s){if(t===r){if(L(e,n,a))return;let r=t===`top`?Math.min(e.y,n.y)-i:Math.max(e.y,n.y)+i;return[e,{x:e.x,y:r},{x:n.x,y:r},n]}if(!(t===`bottom`&&r===`top`&&e.y<n.y||t===`top`&&r===`bottom`&&e.y>n.y))return;if(L(e,n,a))return[e,n];let o=(e.y+n.y)/2;return[e,{x:e.x,y:o},{x:n.x,y:o},n]}if(o&&!s){let i=t===`right`&&n.x>e.x||t===`left`&&n.x<e.x,a=r===`top`&&e.y<n.y||r===`bottom`&&e.y>n.y;return i&&a?[e,{x:n.x,y:e.y},n]:void 0}let c=t===`bottom`&&n.y>e.y||t===`top`&&n.y<e.y,l=r===`left`&&e.x<n.x||r===`right`&&e.x>n.x;return c&&l?[e,{x:e.x,y:n.y},n]:void 0}e.n(_e,`buildOrthogonalPortPath`);function ve(e,t,n,r){return t===`left`||t===`right`?[e,{x:r,y:e.y},{x:r,y:n.y},n]:[e,{x:e.x,y:r},{x:n.x,y:r},n]}e.n(ve,`buildSameSideTrackPath`);function ye(e){let t=new Map,n=[];for(let r of e){if(r.isEdgeLabel)continue;let e=ce(r);e&&(t.set(e.id,e),n.push({id:e.id,rect:e.rect}))}return{nodeInfoById:t,realNodeRects:n}}e.n(ye,`collectRealNodeBounds`);function be(e){let t=[],n=[];for(let r of e){let e=ce(r);if(!e)continue;let i={id:e.id,rect:e.rect};r.isEdgeLabel?n.push(i):t.push(i)}return{realNodeRects:t,labelNodeRects:n}}e.n(be,`collectNodeRectEntries`);function xe(e,{includeEdgeLabels:t=!0}={}){let n=[];for(let r of e){if(r.isGroup||!t&&r.isEdgeLabel)continue;let e=r.x??0,i=r.y??0,a=r.width??0,o=r.height??0;n.push({nodeId:r.id,...he(e,i,a,o)})}return n}e.n(xe,`collectLayoutNodeRects`);function Se(e,t,n=F){let r=e.start,i=e.end;if(!r||!i)return;let a=t.get(r),o=t.get(i);if(!(!a||!o))return{srcId:r,dstId:i,srcInfo:a,dstInfo:o,collinearX:Math.abs(a.cx-o.cx)<n,collinearY:Math.abs(a.cy-o.cy)<n}}e.n(Se,`getNodePairGeometry`);function q(e,t,n,r=[],i=0){for(let a of n)if(!r.includes(a.id)&&de(e,t,a.rect,-i))return!0;return!1}e.n(q,`segmentHitsAnyRect`);function Ce(e,t,n,r,i=F,a=1e-6){let o=R(e,t,i),s=L(e,t,i),c=R(n,r,i),l=L(n,r,i);if(o&&c||s&&l||!(o||s)||!(c||l))return!1;let u=o?{a:e,b:t}:{a:n,b:r},d=s?{a:e,b:t}:{a:n,b:r},f=u.a.y,p=Math.min(u.a.x,u.b.x),m=Math.max(u.a.x,u.b.x),h=d.a.x,g=Math.min(d.a.y,d.b.y),_=Math.max(d.a.y,d.b.y);if(h<p||h>m||f<g||f>_)return!1;let v=Math.abs(h-u.a.x)<a&&Math.abs(f-u.a.y)<a||Math.abs(h-u.b.x)<a&&Math.abs(f-u.b.y)<a,y=Math.abs(h-d.a.x)<a&&Math.abs(f-d.a.y)<a||Math.abs(h-d.b.x)<a&&Math.abs(f-d.b.y)<a;return!(v&&y)}e.n(Ce,`orthogonalSegmentsCross`);function we(e,t,n,r,i=F){let a=R(e,t,i),o=L(e,t,i),s=R(n,r,i),c=L(n,r,i);return o&&c&&L(e,n,i)?V(e.y,t.y,n.y,r.y)>i:a&&s&&R(e,n,i)?V(e.x,t.x,n.x,r.x)>i:!1}e.n(we,`sameAxisSegmentsOverlap`);function Te(e,t,n,r,{epsilon:i=F,skipDegenerateOther:a=!1}={}){for(let o of n){if(o===r||o.isLayoutOnly)continue;let n=o.points;if(!(!n||n.length<2))for(let r=0;r<n.length-1;r++){let o=n[r],s=n[r+1];if(!(a&&I(o,s,i))&&(Ce(e,t,o,s,i)||we(e,t,o,s,i)))return!0}}return!1}e.n(Te,`segmentConflictsWithAnyEdge`);function Ee(e,t,n,r,i=F){let a=R(e,t,i),o=L(e,t,i),s=R(n,r,i),c=L(n,r,i);if(!(a&&c||o&&s))return!1;let l=a?{a:e,b:t}:{a:n,b:r},u=a?{a:n,b:r}:{a:e,b:t},d=l.a.y,f=Math.min(l.a.x,l.b.x),p=Math.max(l.a.x,l.b.x),m=u.a.x,h=Math.min(u.a.y,u.b.y),g=Math.max(u.a.y,u.b.y);return m>f+i&&m<p-i&&d>h+i&&d<g-i}e.n(Ee,`orthogonalSegmentsStrictlyCross`);function De(e,t,n){let r=Math.min(t,n),i=Math.max(t,n);return e>r+F&&e<i-F}e.n(De,`strictlyBetween`);function Oe(e,t,n){return L(e,t)&&L(t,n)?De(t.y,e.y,n.y):R(e,t)&&R(t,n)?De(t.x,e.x,n.x):!1}e.n(Oe,`isCollinearIntermediate`);function ke(e){let t=!1,n=[];for(let r=0;r<e.length;r++){let i=n[n.length-1],a=e[r],o=r+1<e.length?e[r+1]:void 0;if(i&&o){if(I(i,o)){r++,t=!0;continue}if(Oe(i,a,o)){t=!0;continue}}n.push(a)}return{points:n,changed:t}}e.n(ke,`simplifyPolylineOnce`);function Ae(e){let t=[e[0]];for(let n=1;n<e.length;n++){let r=t[t.length-1],i=e[n];if(!L(r,i)&&!R(r,i)){let e=t.length>=2?t[t.length-2]:void 0,n=e&&L(e,r)?{x:r.x,y:i.y}:{x:i.x,y:r.y};t.push(n)}t.push(i)}let n=[];for(let e of t){let t=n[n.length-1];(!t||!I(t,e))&&n.push(e)}return n}e.n(Ae,`orthogonalizePolyline`);function je(e){if(e.length<3)return e;let t=[...e];for(let e=0;e<32;e++){let e=ke(t);if(t=e.points,!e.changed)break}return t}e.n(je,`simplifyPolyline`);var J=.001,Me=.5,Ne=4;function Pe(e,t,n){let r=e;if(r.isLayoutOnly||!r.points||r.points.length<n)return;let i=r.start?t.get(r.start):void 0,a=r.end?t.get(r.end):void 0;return{edge:r,points:r.points,srcRect:i?K(i):void 0,dstRect:a?K(a):void 0}}e.n(Pe,`endpointContextFor`);function Fe(e,t,n){if(R(e,t,J))return{x:e.x<n.left?n.left:n.right,y:e.y};if(L(e,t,J)){let t=e.y<n.top?n.top:n.bottom;return{x:e.x,y:t}}return{x:Math.min(n.right,Math.max(n.left,e.x)),y:Math.min(n.bottom,Math.max(n.top,e.y))}}e.n(Fe,`segmentEnterPoint`);function Ie(e,t,n){let r=n?1:-1,i=n?0:e.length-1;for(;i>=0&&i<e.length&&fe(e[i],t,Me);)i+=r;if(i<0||i>=e.length)return e;let a=i-r;if(a<0||a>=e.length)return e;let o=Fe(e[i],e[a],t);return n?[o,...e.slice(i)]:[...e.slice(0,i+1),o]}e.n(Ie,`clipEndpoint`);function Le(e,t){for(let n of e){let e=Pe(n,t,2);if(!e)continue;let r=[...e.points];e.srcRect&&(r=Ie(r,e.srcRect,!0)),e.dstRect&&(r=Ie(r,e.dstRect,!1)),r=je(Ae(r)),r=Je(r,e.srcRect,e.dstRect),e.edge.points=je(Ae(r))}}e.n(Le,`clipEdgeEndpointsToNodeBoundaries`);function Re(e,t,n,r=!1){if(R(e,t,J)){if(t.y<n.top-J||t.y>n.bottom+J)return t;if(r){if(e.x<n.left-J)return{x:n.left,y:e.y};if(e.x>n.right+J)return{x:n.right,y:e.y}}return{x:Math.abs(t.x-n.left)<=Math.abs(t.x-n.right)?n.left:n.right,y:e.y}}if(L(e,t,J)){if(t.x<n.left-J||t.x>n.right+J)return t;if(r){if(e.y<n.top-J)return{x:e.x,y:n.top};if(e.y>n.bottom+J)return{x:e.x,y:n.bottom}}let i=Math.abs(t.y-n.top)<=Math.abs(t.y-n.bottom);return{x:e.x,y:i?n.top:n.bottom}}return t}e.n(Re,`snapEndpointToBoundary`);function ze(e,t,n){let r=e[t];for(let i=t+n;i>=0&&i<e.length;i+=n){let t=e[i];if(!I(t,r,J))return t}return e[t+n]}e.n(ze,`firstDistinctAdjacent`);function Be(e,t){let n=e+Ne,r=t-Ne;return n<=r?{lo:n,hi:r}:{lo:(e+t)/2,hi:(e+t)/2}}e.n(Be,`cornerClearanceRange`);function Ve(e,t,n){let{lo:r,hi:i}=Be(t,n);return Math.min(i,Math.max(r,e))}e.n(Ve,`clampToCornerClearance`);function He(e){let t=Math.max(...e.map(e=>e.lo)),n=Math.min(...e.map(e=>e.hi));if(!(t>n))return{lo:t,hi:n}}e.n(He,`intersectRanges`);function Ue(e,t){return t===`left`||t===`right`?Be(e.top,e.bottom):Be(e.left,e.right)}e.n(Ue,`clearanceRangeForSide`);function We(e,t,n){let r=e.y>=n.top-J&&e.y<=n.bottom+J,i=e.x>=n.left-J&&e.x<=n.right+J;if(R(e,t,J)&&r){if(Math.abs(e.x-n.left)<J)return`left`;if(Math.abs(e.x-n.right)<J)return`right`}if(L(e,t,J)&&i){if(Math.abs(e.y-n.top)<J)return`top`;if(Math.abs(e.y-n.bottom)<J)return`bottom`}}e.n(We,`terminalSideForSegment`);function Ge(e){return e===`left`||e===`right`}e.n(Ge,`isHorizontalSide`);function Ke(e,t,n,r,i){let a=[],o=n?We(e,t,n):void 0,s=r?We(t,e,r):void 0;return n&&o&&Ge(o)===i&&a.push(Ue(n,o)),r&&s&&Ge(s)===i&&a.push(Ue(r,s)),a.length>0?He(a):void 0}e.n(Ke,`straightClearanceRange`);function qe(e,t,n,r,i){let a=Ke(e,t,n,r,i);if(!a)return;let o=i?e.y:e.x,s=Math.min(a.hi,Math.max(a.lo,o));if(!(Math.abs(s-o)<J))return i?[{x:e.x,y:s},{x:t.x,y:s}]:[{x:s,y:e.y},{x:s,y:t.y}]}e.n(qe,`clearStraightEndpointCornerAxis`);function Je(e,t,n){if(e.length!==2)return e;let[r,i]=e;return R(r,i,J)?qe(r,i,t,n,!0)??e:L(r,i,J)?qe(r,i,t,n,!1)??e:e}e.n(Je,`clearStraightEndpointCornerConnections`);function Ye(e,t,n){return Ge(n)?{x:e.x,y:Ve(e.y,t.top,t.bottom)}:{x:Ve(e.x,t.left,t.right),y:e.y}}e.n(Ye,`cornerClearedEndpoint`);function Xe(e,t,n,r,i,a){let o=e.map(e=>({...e}));for(let s=t;s>=0&&s<e.length;s+=n){let t=e[s];if(a&&!R(t,r,J)||!a&&!L(t,r,J))break;a?o[s].y=i.y:o[s].x=i.x}return o}e.n(Xe,`moveCollinearEndpointRun`);function Ze(e,t,n){if(e.length<2)return e;let r=n?0:e.length-1,i=n?1:-1,a=e[r],o=ze(e,r,i);if(!o)return e;let s=We(a,o,t);if(!s)return e;let c=Ge(s),l=Ye(a,t,s);return I(a,l,J)?e:Xe(e,r,i,a,l,c)}e.n(Ze,`clearEndpointCornerConnection`);function Qe(e,t,n){let r=Math.min(e.x,t.x)>=n.left-J&&Math.max(e.x,t.x)<=n.right+J,i=Math.min(e.y,t.y)>=n.top-J&&Math.max(e.y,t.y)<=n.bottom+J;if(Math.abs(e.y-n.top)<J&&Math.abs(t.y-n.top)<J&&r)return`top`;if(Math.abs(e.y-n.bottom)<J&&Math.abs(t.y-n.bottom)<J&&r)return`bottom`;if(Math.abs(e.x-n.left)<J&&Math.abs(t.x-n.left)<J&&i)return`left`;if(Math.abs(e.x-n.right)<J&&Math.abs(t.x-n.right)<J&&i)return`right`}e.n(Qe,`borderSideForSegment`);function $e(e,t,n,r){switch(e){case`top`:return L(t,n,J)&&n.y<r.top-J;case`bottom`:return L(t,n,J)&&n.y>r.bottom+J;case`left`:return R(t,n,J)&&n.x<r.left-J;case`right`:return R(t,n,J)&&n.x>r.right+J}}e.n($e,`leavesOutward`);function et(e,t,n){if(e.length<3)return e;if(n){let n=Qe(e[0],e[1],t);return n&&$e(n,e[1],e[2],t)?e.slice(1):e}let r=e.length-1,i=Qe(e[r-1],e[r],t);return i&&$e(i,e[r-1],e[r-2],t)?e.slice(0,r):e}e.n(et,`collapseOwnBorderStub`);function tt(e,t,n){let r=e;if(t){let e=ze(r,0,1);if(e){let n=Re(e,r[0],t);n!==r[0]&&(r=[n,...r.slice(1)])}r=et(r,t,!0)}if(n){let e=r.length-1,t=ze(r,e,-1);if(t){let i=Re(t,r[e],n,!0);i!==r[e]&&(r=[...r.slice(0,e),i])}r=et(r,n,!1)}let i=Je(r,t,n);return i!==r||r.length===2?i:(t&&(r=Ze(r,t,!0)),n&&(r=Ze(r,n,!1)),r)}e.n(tt,`snapAndCollapseEndpoints`);function nt(e,t){for(let n of e){let e=Pe(n,t,2);if(!e)continue;let r=tt(W(e.points,J),e.srcRect,e.dstRect);if(r.length<3){e.edge.points=r;continue}let i=[r[0],{...r[0]},...r.slice(1,-1),r[r.length-1],{...r[r.length-1]}];e.edge.points=i}}e.n(nt,`prepareEdgeEndpointsForRenderer`);function rt(e){return new Map(e.map(e=>[e.id,e]))}e.n(rt,`buildNodeMap`);function it(e,t){let n=e.parentId,r=null;for(;n;){let e=t.get(n);if(!e?.isGroup)break;r=e.id,n=e.parentId}return r}e.n(it,`resolveTopLevelGroupId`);function at(e,t){let n=0,r=e.parentId;for(;r;){let e=t.get(r);if(!e?.isGroup)break;n++,r=e.parentId}return n}e.n(at,`groupDepth`);function ot(e){let t=1/0,n=-1/0,r=1/0,i=-1/0;for(let a of e){let e=a.x,o=a.y;if(typeof e!=`number`||typeof o!=`number`)continue;let s=a.width??0,c=a.height??0;t=Math.min(t,e-s/2),n=Math.max(n,e+s/2),r=Math.min(r,o-c/2),i=Math.max(i,o+c/2)}return t===1/0||r===1/0?null:{minX:t,maxX:n,minY:r,maxY:i}}e.n(ot,`boundsForChildren`);function st(e,t){let n=e.padding??20;e.x=(t.minX+t.maxX)/2,e.y=(t.minY+t.maxY)/2,e.width=Math.max(0,t.maxX-t.minX)+n,e.height=Math.max(0,t.maxY-t.minY)+n}e.n(st,`applyGroupBounds`);function ct(e){let t=rt(e),n=e.filter(e=>e.isGroup&&e.parentId).sort((e,n)=>at(n,t)-at(e,t));for(let t of n){let n=ot(e.filter(e=>e.parentId===t.id));n&&st(t,n)}}e.n(ct,`recomputeNestedGroupBounds`);function lt(t,n){let r=t.nodes??[],i=t.edges??[],a=r.filter(e=>!e.isGroup),o=1/0,s=-1/0;for(let e of a){let t=e[n];typeof t==`number`&&(o=Math.min(o,t),s=Math.max(s,t))}if(!Number.isFinite(o)||!Number.isFinite(s))return!1;let c=e.n(e=>o+s-e,`mirror`);for(let e of r){let t=e[n];typeof t==`number`&&(e[n]=c(t));let r=e.groupTitleRect;r&&(e.groupTitleRect=n===`x`?{...r,left:c(r.right),right:c(r.left)}:{...r,top:c(r.bottom),bottom:c(r.top)})}for(let e of i)for(let t of e.points??[])t[n]=c(t[n]);return!0}e.n(lt,`mirrorAxis`);function ut(e){return(e.nodes??[]).some(e=>!e.isGroup)?lt(e,`y`):!0}e.n(ut,`applyBtDirectionTransform`);function dt(e,t=`LR`){let n=e.nodes??[],r=e.edges??[],i=n.filter(e=>!e.isGroup),a=1/0,o=1/0;for(let e of i){let t=e.x??0,n=e.y??0;t<a&&(a=t),n<o&&(o=n)}if(!Number.isFinite(a)||!Number.isFinite(o))return!1;let s=0,c=0;for(let e of i)s+=e.width??0,c+=e.height??0;let l=s/i.length,u=c/i.length,d=u>0?Math.max(1,l/u):1;for(let e of i){let t=e.x??0,n=((e.y??0)-o)*d+36,r=t-a;e.x=n,e.y=r}for(let e of r)if(e.points)for(let t of e.points){let e=t.x,n=(t.y-o)*d+36,r=e-a;t.x=n,t.y=r}ct(n);let f=n.filter(e=>e.isGroup&&!e.parentId);if(f.length===0)return t===`RL`&&lt(e,`x`),!0;let p=rt(n),m=new Map;for(let e of n){if(e.isGroup)continue;let t=it(e,p);if(!t)continue;let n=m.get(t)??[];n.push(e),m.set(t,n)}let h=0;for(let e of f){let t=e.padding??0;t>h&&(h=t)}let g=[],_=1/0,v=-1/0;for(let e of f){let t=ot(m.get(e.id)??[]);t&&(_=Math.min(_,t.minX),v=Math.max(v,t.maxX),g.push({lane:e,contentTop:t.minY,contentBottom:t.maxY,centerY:(t.minY+t.maxY)/2}))}if(_===1/0||v===-1/0)return!0;let y=Math.max(0,v-_)+2*Math.max(h,10),b=36+y,x=(_+v)/2-y/2-36,S=x+b/2,C=Math.max(h,36);g.sort((e,t)=>e.centerY-t.centerY);for(let e=0;e<g.length;e++){let t=g[e],n,r;if(n=e===0?t.contentTop-C:(g[e-1].contentBottom+t.contentTop)/2,e===g.length-1)r=t.contentBottom+C;else{let n=g[e+1];r=(t.contentBottom+n.contentTop)/2}let i=Math.max(0,r-n),a=(n+r)/2;t.lane.x=S,t.lane.y=a,t.lane.width=b,t.lane.height=i,t.lane.swimlaneContentTop=t.contentTop,t.lane.groupTitleRect={left:x,right:x+36,top:n,bottom:r}}return t===`RL`&&lt(e,`x`),!0}e.n(dt,`applyLrDirectionTransform`);var ft=1e-6,pt=8,mt=[0,pt,-pt,2*pt,-2*pt];function ht(e,t){let{nodeInfoById:n,realNodeRects:r}=ye(t);for(let t of e){if(t.isLayoutOnly)continue;let i=t.points;if(!i||i.length<4)continue;let a=ue(W(i,ft),ft);if(!a)continue;let{p3:o}=a,s=a.kind===`HVH`,c=Se(t,n,ft);if(!c)continue;let{srcId:l,dstId:u,srcInfo:d,dstInfo:f,collinearX:p,collinearY:m}=c;if(p||m)continue;let h,g=d.rect;for(let n of mt){let i,a,c;if(s){let e=f.cy>d.cy?g.bottom:g.top,t=d.cx+n;if(t<=g.left+ft||t>=g.right-ft)continue;i={x:t,y:e},a={x:t,y:o.y},c={x:o.x,y:o.y}}else{let e=f.cx>d.cx?g.right:g.left,t=d.cy+n;if(t<=g.top+ft||t>=g.bottom-ft)continue;i={x:e,y:t},a={x:o.x,y:t},c={x:o.x,y:o.y}}let p=I(i,a,ft),m=I(a,c,ft);if(p&&m||!p&&q(i,a,r,[l],1)||!m&&q(a,c,r,[u],1))continue;let _=!p&&Te(i,a,e,t,{epsilon:ft,skipDegenerateOther:!0}),v=!m&&Te(a,c,e,t,{epsilon:ft,skipDegenerateOther:!0});if(!(_||v)){h=p?[a,c]:m?[i,a]:[i,a,c];break}}h&&(t.points=h)}}e.n(ht,`portSwapToLShape`);function gt(t,n){let r=.001,{realNodeRects:i,labelNodeRects:a}=be(n.values());for(let o of t){if(o.isLayoutOnly)continue;let s=o.points;if(!s||s.length<4)continue;let c=W(s,r);if(c.length<4)continue;let l=c.length-1,u=c[l],d=c[l-1],f=c[l-2],p=u.x-d.x,m=u.y-d.y,h=Math.hypot(p,m);if(h>=10||h<r)continue;let g=d.x-f.x,_=d.y-f.y;if(Math.hypot(g,_)<r)continue;let v=z(d,u,r),y=B(d,u,r),b=z(f,d,r),x=B(f,d,r);if(!(v&&x||y&&b))continue;let S=o.end,C=o.start,w=S?n.get(S):void 0;if(!w)continue;let T=w.x??0,E=w.y??0,D=K(w);if(!D)continue;let O,k;if(x){let e=_<0;O={x:T,y:f.y},k={x:T,y:e?D.bottom:D.top}}else{let e=g>0;O={x:f.x,y:E},k={x:e?D.right:D.left,y:E}}if(q(O,k,i,S?[S]:[],-2)||q(O,k,a,[],-2))continue;if(C){let e=n.get(C),t=e?K(e):void 0;if(t&&fe(O,t,2))continue}let A=e.n((e,t)=>`${e.x.toFixed(3)},${e.y.toFixed(3)}|${t.x.toFixed(3)},${t.y.toFixed(3)}`,`ownSegmentKey`),j=new Set;for(let e=0;e<c.length-1;e++)j.add(A(c[e],c[e+1]));let M=e.n((e,n)=>{for(let i of t){if(i===o||i.isLayoutOnly)continue;let t=i.points;if(!(!t||t.length<2))for(let i=0;i<t.length-1;i++){let a=t[i],o=t[i+1];if(!j.has(A(a,o))&&Ee(e,n,a,o,r))return!0}}return!1},`segmentCrossesOtherEdge`);if(M(O,k))continue;if(l-3>=0){let e=c[l-3],t=[C,S].filter(e=>!!e);if(q(e,O,i,t,-2)||M(e,O))continue}let ee=[...c.slice(0,l-2),O,k];o.points=ee;let N=o.labelNodeId;if(N){let e=n.get(N);if(e){let t=e.width??0,n=e.height??0;if(t>0&&n>0){let i,a,o=-1;for(let e=0;e<ee.length-1;e++){let s=ee[e],c=ee[e+1],l=Math.hypot(c.x-s.x,c.y-s.y),u=R(s,c,r),d=L(s,c,r);(u&&l>=t+2||d&&l>=n+2)&&l>o&&(o=l,i=(s.x+c.x)/2,a=(s.y+c.y)/2)}i!==void 0&&a!==void 0&&(e.x=i,e.y=a)}}}}}e.n(gt,`collapseShortTerminalStub`);var Y=.001,X=8,Z=le,_t=e.n((e,t)=>L(e,t,Y)||R(e,t,Y),`orthogonallyAligned`);function vt(t,n){let r=e.n((e,t)=>{let n=e.x??0,r=e.y??0,i=t.x-n,a=t.y-r,o=(e.width??0)/2,s=(e.height??0)/2;return Math.abs(a)*o>Math.abs(i)*s?(a<0&&(s=-s),{x:n+(a===0?0:s*i/a),y:r+s}):(i<0&&(o=-o),{x:n+o,y:r+(i===0?0:o*a/i)})},`rectIntersect`),i=e.n((e,t)=>{let i=W(e.points??[]);if(i.length<2)return;let a=t?e.start:e.end,o=a?n.get(a):void 0,s=o?K(o):void 0;if(!o||!a||!s)return;let c=t?i[0]:i[i.length-1],l=t?i[1]:i[i.length-2],u=r(o,c),d=c;if(_t(l,u)&&(d=l),L(u,d,Y))return{edge:e,edgeId:String(e.id??``),nodeId:a,atStart:t,orientation:`V`,coord:u.x,min:Math.min(u.y,d.y),max:Math.max(u.y,d.y),boundary:u,railEnd:d,rect:s};if(R(u,d,Y))return{edge:e,edgeId:String(e.id??``),nodeId:a,atStart:t,orientation:`H`,coord:u.y,min:Math.min(u.x,d.x),max:Math.max(u.x,d.x),boundary:u,railEnd:d,rect:s}},`terminalLaneFor`),a=e.n((e,t)=>Math.max(0,Math.min(e.max,t.max)-Math.max(e.min,t.min)),`projectedOverlapLength`),o=e.n((e,t)=>e.nodeId!==t.nodeId||e.orientation!==t.orientation?!1:e.orientation===`H`?(Math.abs(e.boundary.x-e.rect.left)<1||Math.abs(e.boundary.x-e.rect.right)<1)&&L(e.boundary,t.boundary,1):(Math.abs(e.boundary.y-e.rect.top)<1||Math.abs(e.boundary.y-e.rect.bottom)<1)&&R(e.boundary,t.boundary,1),`sameTerminalFace`),s=e.n((e,t)=>e.nodeId!==t.nodeId||e.orientation!==t.orientation?!1:a(e,t)>=X&&Math.abs(e.coord-t.coord)<.5,`exactTerminalLaneConflict`),c=e.n((e,t)=>{if(e.nodeId!==t.nodeId||e.orientation!==t.orientation||e.orientation!==`H`||e.atStart===t.atStart)return!1;let n=a(e,t);if(n<X)return!1;let r=e.rect.bottom-e.rect.top;return n<r||n>2*r?!1:o(e,t)&&Math.abs(e.coord-t.coord)<16},`nearTerminalLaneConflict`),l=e.n((t,n)=>{let r=W(t.edge.points??[]);if(r.length<2)return;let i=t.orientation===`V`?{x:t.boundary.x+n,y:t.boundary.y}:{x:t.boundary.x,y:t.boundary.y+n},a=t.orientation===`V`?{x:t.railEnd.x+n,y:t.railEnd.y}:{x:t.railEnd.x,y:t.railEnd.y+n};if(!e.n(()=>Math.abs(t.boundary.y-t.rect.top)<1||Math.abs(t.boundary.y-t.rect.bottom)<1?R(i,t.boundary,Y)&&i.x>=t.rect.left+1&&i.x<=t.rect.right-1:Math.abs(t.boundary.x-t.rect.left)<1||Math.abs(t.boundary.x-t.rect.right)<1?L(i,t.boundary,Y)&&i.y>=t.rect.top+1&&i.y<=t.rect.bottom-1:!1,`boundaryStaysOnSameFace`)())return;if(t.atStart){let e=r.length>1&&I(r[1],t.railEnd,Y),n=r.slice(e?2:1),o=n[0];return o&&!_t(o,a)?void 0:[i,a,...n]}let o=r.length>1&&I(r[r.length-2],t.railEnd,Y),s=r.slice(0,o?-2:-1),c=s[s.length-1];if(!(c&&!_t(c,a)))return[...s,a,i]},`shiftedCandidate`),u=e.n(e=>{let t=e.edge,r=W(t.points??[]);if(r.length!==2)return!1;let i=t.start,a=t.end,o=i?n.get(i):void 0,s=a?n.get(a):void 0;if(!o||!s)return!1;let c=o.x??0,l=o.y??0,u=s.x??0,d=s.y??0,[f,p]=r;return R(f,p,Y)&&Math.abs(l-d)<1&&Math.abs(c-u)>1||L(f,p,Y)&&Math.abs(c-u)<1&&Math.abs(l-d)>1},`laneIsStraightCollinearConnector`),d=[-7,7,-14,14,-21,21];for(let e=0;e<8;e++){let e=t.filter(e=>!e.isLayoutOnly).flatMap(e=>[i(e,!0),i(e,!1)]).filter(e=>!!e),n=!1;for(let t=0;t<e.length&&!n;t++)for(let r=t+1;r<e.length&&!n;r++){let a=e[t],o=e[r];if(a.edge===o.edge||!(s(a,o)||c(a,o)))continue;let f=!s(a,o),p=[a,o].sort((e,t)=>{let n=u(e),r=u(t);return n===r?Number(!t.atStart)-Number(!e.atStart):Number(n)-Number(r)});for(let t of p){for(let r of d){let a=l(t,r);if(!a)continue;let o=i({...t.edge,points:a},t.atStart);if(!(!o||e.some(e=>e.edge!==t.edge&&(s(o,e)||f&&c(o,e))))){t.edge.points=a,n=!0;break}}if(n)break}}if(!n)return}}e.n(vt,`separateSharedRenderedTerminalLanes`);function yt(t,n){let{realNodeRects:r,labelNodeRects:i}=be(n.values()),a=e.n((e,n)=>{let a=e.start,o=e.end,s=Z(n);if(s.length!==n.length-1)return!1;let c=[a,o].filter(e=>!!e);for(let e of s)if(q(e.a,e.b,r,c,-2)||q(e.a,e.b,i,[],-2))return!1;for(let n of t){if(n===e||n.isLayoutOnly)continue;let t=n.points;if(!(!t||t.length<2)){for(let e of s)for(let n of Z(W(t)))if(H(e,n,.5)>=X||Ee(e.a,e.b,n.a,n.b,Y))return!1}}return!0},`candidateIsSafe`),o=e.n((e,t)=>{if(t+4>=e.length)return;let n=e[t],r=e[t+1],i=e[t+2],a=e[t+3],o=e[t+4],s=z(n,r)&&B(r,i)&&z(i,a)&&B(a,o)&&L(n,a,Y)&&L(n,o,Y)&&L(r,i,Y)&&(r.x-n.x)*(a.x-i.x)<0,c=B(n,r)&&z(r,i)&&B(i,a)&&z(a,o)&&R(n,a,Y)&&R(n,o,Y)&&R(r,i,Y)&&(r.y-n.y)*(a.y-i.y)<0;if(s||c)return W([...e.slice(0,t+1),o,...e.slice(t+5)]);if(t+5>=e.length)return;let l=e[t+5],u=B(n,r)&&z(r,i)&&B(i,a)&&z(a,o)&&B(o,l)&&L(n,o,Y)&&L(n,l,Y)&&L(i,a,Y)&&(i.x-r.x)*(o.x-a.x)<0,d=z(n,r)&&B(r,i)&&z(i,a)&&B(a,o)&&z(o,l)&&R(n,o,Y)&&R(n,l,Y)&&R(i,a,Y)&&(i.y-r.y)*(o.y-a.y)<0;if(!(!u&&!d))return W([...e.slice(0,t+1),l,...e.slice(t+6)])},`withoutDogleg`);for(let e=0;e<8;e++){let e=!1;for(let n of t){if(n.isLayoutOnly)continue;let t=W(n.points??[]);for(let r=0;r<=t.length-5;r++){let i=o(t,r);if(!(!i||!a(n,i))){n.points=i,e=!0;break}}if(e)break}if(!e)return}}e.n(yt,`collapseRedundantRectangularDoglegs`);function bt(t,n){let{realNodeRects:r,labelNodeRects:i}=be(n.values()),a=t.filter(e=>!e.isLayoutOnly),o=e.n((e,t,n)=>W(e===t?n??[]:e.points??[]),`pointsFor`),s=e.n((e,t)=>{let n=0;for(let r=0;r<a.length;r++){let i=Z(o(a[r],e,t));for(let s=r+1;s<a.length;s++){let r=Z(o(a[s],e,t));for(let e of i)for(let t of r)Ee(e.a,e.b,t.a,t.b,Y)&&n++}}return n},`strictCrossingCount`),c=e.n(e=>{let t=Z(e);if(t.length!==3)return;let n=t[1];if(!(t[0].horizontal===n.horizontal||t[2].horizontal===n.horizontal))return{index:n.index,horizontal:n.horizontal,vertical:n.vertical,segment:n}},`middleRail`),l=e.n((e,t)=>{let n=[e.start,e.end].filter(e=>!!e);return r.filter(e=>{if(n.includes(e.id))return!1;let r=e.rect;return t.horizontal?V(t.a.x,t.b.x,r.left,r.right)>=X&&t.a.y>=r.top-2&&t.a.y<=r.bottom+2:V(t.a.y,t.b.y,r.top,r.bottom)>=X&&t.a.x>=r.left-2&&t.a.x<=r.right+2})},`blockingRectsFor`),u=e.n((e,t,n)=>{let r=e.map(e=>({...e}));if(t.horizontal)r[t.index].y=n,r[t.index+1].y=n;else if(t.vertical)r[t.index].x=n,r[t.index+1].x=n;else return;let i=je(W(r));return Z(i).length===i.length-1?i:void 0},`candidateByMovingRail`),d=e.n((e,t,n)=>{let c=[e.start,e.end].filter(e=>!!e),l=Z(t);if(l.length!==t.length-1)return!1;for(let e of l)if(q(e.a,e.b,r,c,-2)||q(e.a,e.b,i,[],-2))return!1;for(let t of a)if(t!==e){for(let e of l)for(let n of Z(o(t)))if(H(e,n,.5)>=X)return!1}return s(e,t)<=n},`candidateIsSafe`);for(let e=0;e<8;e++){let e=s(),t=!1;for(let n of a){let r=o(n),i=c(r);if(!i)continue;let a=l(n,i.segment);if(a.length===0)continue;let s=i.horizontal?[Math.min(...a.map(e=>e.rect.top))-20,Math.max(...a.map(e=>e.rect.bottom))+20]:[Math.min(...a.map(e=>e.rect.left))-20,Math.max(...a.map(e=>e.rect.right))+20];for(let a of s){let o=u(r,i.segment,a);if(!(!o||!d(n,o,e))){n.points=o,t=!0;break}}if(t)break}if(!t)return}}e.n(bt,`liftObstacleHuggingSameSideRails`);function xt(t,n){let r=e.n(e=>{let t=e.groupTitleRect;if(!(!t||typeof t.left!=`number`||typeof t.right!=`number`||typeof t.top!=`number`||typeof t.bottom!=`number`||!Number.isFinite(t.left)||!Number.isFinite(t.right)||!Number.isFinite(t.top)||!Number.isFinite(t.bottom)||t.right<=t.left||t.bottom<=t.top))return{left:t.left,right:t.right,top:t.top,bottom:t.bottom}},`validTitleRect`),i=e.n(e=>{if(!e.isGroup||e.parentId)return;let t=e.direction,n=typeof t==`string`?t.toUpperCase():``;if(n===`LR`||n===`RL`||n===`BT`)return;let i=r(e),a=e.y,o=e.height;if(!i||typeof a!=`number`||typeof o!=`number`||!Number.isFinite(a)||!Number.isFinite(o)||o<=0)return;let s=i.right-i.left,c=i.bottom-i.top;if(!(c<=0||s<c))return{node:e,rect:i}},`topLaneTitleFor`),a=e.n((e,t)=>{if(!e.horizontal)return!1;let n=e.a.y;return n<=t.top+Y||n>=t.bottom-Y?!1:V(e.a.x,e.b.x,t.left,t.right)>=X},`horizontalSegmentIntersectsTitle`),o=[...n.values()].map(i).filter(e=>!!e);if(o.length===0)return;let s=0;for(let e of t){if(e.isLayoutOnly)continue;let t=W(e.points??[]);for(let e of Z(t))for(let t of o)a(e,t.rect)&&(s=Math.max(s,t.rect.bottom-e.a.y+4))}if(!(s<=Y))for(let e of o){let t=e.node.y,n=e.node.height;typeof t!=`number`||typeof n!=`number`||!Number.isFinite(t)||!Number.isFinite(n)||n<=0||(e.node.y=t-s/2,e.node.height=n+s,e.node.groupTitleRect={...e.rect,top:e.rect.top-s,bottom:e.rect.bottom-s})}}e.n(xt,`liftTopLaneTitleBandsAboveRails`);function St(t,n){let r=e.n(e=>{let t=e.groupTitleRect;if(!(!t||typeof t.left!=`number`||typeof t.right!=`number`||typeof t.top!=`number`||typeof t.bottom!=`number`||!Number.isFinite(t.left)||!Number.isFinite(t.right)||!Number.isFinite(t.top)||!Number.isFinite(t.bottom)||t.right<=t.left||t.bottom<=t.top))return{left:t.left,right:t.right,top:t.top,bottom:t.bottom}},`validTitleRect`),i=e.n(e=>{if(!e.isGroup||e.parentId||e.direction!==`LR`)return;let t=r(e),n=e.x,i=e.width;if(!t||typeof n!=`number`||typeof i!=`number`||!Number.isFinite(n)||!Number.isFinite(i)||i<=0)return;let a=t.right-t.left,o=t.bottom-t.top;if(!(a<=0||o<a))return{node:e,rect:t}},`leftLaneTitleFor`),a=e.n((e,t)=>{if(!e.vertical)return!1;let n=e.a.x;return n<=t.left+Y||n>=t.right-Y?!1:V(e.a.y,e.b.y,t.top,t.bottom)>=X},`verticalSegmentIntersectsTitle`),o=e.n((e,t)=>{if(!e.horizontal)return!1;let n=e.a.y;return n<=t.top+Y||n>=t.bottom-Y?!1:V(e.a.x,e.b.x,t.left,t.right)>=X},`horizontalSegmentIntersectsTitle`),s=[...n.values()].map(i).filter(e=>!!e);if(s.length===0)return;let c=0;for(let e of t){if(e.isLayoutOnly)continue;let t=W(e.points??[]);for(let e of Z(t))for(let t of s)if(a(e,t.rect))c=Math.max(c,t.rect.right-e.a.x+4);else if(o(e,t.rect)){let n=Math.min(e.a.x,e.b.x);c=Math.max(c,t.rect.right-n+4)}}if(!(c<=Y))for(let e of s){let t=e.node.x,n=e.node.width;typeof t!=`number`||typeof n!=`number`||!Number.isFinite(t)||!Number.isFinite(n)||n<=0||(e.node.x=t-c/2,e.node.width=n+c,e.node.groupTitleRect={...e.rect,left:e.rect.left-c,right:e.rect.right-c})}}e.n(St,`shiftLeftLaneTitleBandsLeftOfRails`);function Ct(t,n){let{realNodeRects:r}=be(n.values()),i=t.filter(e=>!e.isLayoutOnly),a=e.n((e,t=new Map)=>W(t.get(e)??e.points??[]),`replacementPointsFor`),o=e.n((e=new Map)=>{let t=0;for(let n=0;n<i.length;n++){let r=Z(a(i[n],e));for(let o=n+1;o<i.length;o++){let n=Z(a(i[o],e));for(let e of r)for(let r of n)Ee(e.a,e.b,r.a,r.b,Y)&&t++}}return t},`crossingCount`),s=e.n((e=new Map)=>i.reduce((t,n)=>t+U(a(n,e)),0),`totalBends`),c=e.n(e=>{let t=a(e);if(t.length<4)return;let n=t[t.length-2],r=t[t.length-1];if(!(!z(n,r,Y)&&!B(n,r,Y)))return{tailStart:n,terminal:r}},`terminalTailFor`),l=e.n((e,t)=>{let n=a(e);if(n.length<3)return;let r=n[0],i=n[1],o;if(z(r,i,Y))o={x:i.x,y:t.tailStart.y};else if(B(r,i,Y))o={x:t.tailStart.x,y:i.y};else return;let s=je(W([r,i,o,t.tailStart,t.terminal]));return Z(s).length===s.length-1?s:void 0},`candidateWithDestinationTail`),u=e.n((e,t)=>{let n=[e.start,e.end].filter(e=>!!e);for(let e of Z(t))if(q(e.a,e.b,r,n,-2))return!0;return!1},`pathHasNodeHit`),d=e.n((e,t,n)=>{for(let r of i)if(r!==e){for(let e of Z(t))for(let t of Z(a(r,n)))if(H(e,t,.5)>=X)return!0}return!1},`pathHasSharedTrack`),f=e.n((e,t,n)=>!u(e,t)&&!d(e,t,n),`candidateIsSafe`),p=e.n(()=>{let e=new Map;for(let t of i){let r=t.end;if(!r||!n.has(r)||a(t).length<4)continue;let i=e.get(r)??[];i.push(t),e.set(r,i)}return e},`edgesByDestination`);for(let e=0;e<4;e++){let e=o();if(e===0)return;let t=s(),n,r=e,i=t;for(let t of p().values())for(let a=0;a<t.length;a++)for(let u=a+1;u<t.length;u++){let d=t[a],p=t[u],m=c(d),h=c(p);if(!m||!h)continue;let g=l(d,h),_=l(p,m);if(!g||!_)continue;let v=new Map([[d,g],[p,_]]);if(!f(d,g,v)||!f(p,_,v))continue;let y=o(v),b=s(v);y>=e||y>r||y===r&&b>=i||(n=v,r=y,i=b)}if(!n)return;for(let[e,t]of n)e.points=t}}e.n(Ct,`swapDestinationTerminalTailsToReduceCrossings`);function wt(t,n){let{realNodeRects:r,labelNodeRects:i}=be(n.values()),a=t.filter(e=>!e.isLayoutOnly),o=e.n((e,t=new Map)=>W(t.get(e)??e.points??[]),`replacementPointsFor`),s=e.n((e=new Map)=>{let t=0;for(let n=0;n<a.length;n++){let r=Z(o(a[n],e));for(let i=n+1;i<a.length;i++){let n=Z(o(a[i],e));for(let e of r)for(let r of n)Ee(e.a,e.b,r.a,r.b,Y)&&t++}}return t},`strictCrossingCount`),c=e.n((e=new Map)=>a.reduce((t,n)=>t+U(o(n,e)),0),`totalBends`),l=e.n(e=>{let t=e.start,r=e.end,i=t?n.get(t):void 0,a=r?n.get(r):void 0,o=i?K(i):void 0,s=a?K(a):void 0;return o&&s?{src:o,dst:s}:void 0},`endpointRectsFor`),u=e.n((e,t,n)=>{if(n.index<=0||n.index+1>=t.length-1)return;let r=l(e);if(r){if(n.vertical){let i=n.a.x,a=Math.min(r.src.left,r.dst.left),o=Math.max(r.src.right,r.dst.right),s=i<a-Y?`left`:i>o+Y?`right`:void 0;return s?{edge:e,points:t,segmentIndex:n.index,axis:`vertical`,side:s,coord:i,min:Math.min(n.a.y,n.b.y),max:Math.max(n.a.y,n.b.y)}:void 0}if(n.horizontal){let i=n.a.y,a=Math.min(r.src.top,r.dst.top),o=Math.max(r.src.bottom,r.dst.bottom),s=i<a-Y?`top`:i>o+Y?`bottom`:void 0;return s?{edge:e,points:t,segmentIndex:n.index,axis:`horizontal`,side:s,coord:i,min:Math.min(n.a.x,n.b.x),max:Math.max(n.a.x,n.b.x)}:void 0}}},`externalRailForSegment`),d=e.n(()=>{let e=[];for(let t of a){let n=o(t);for(let r of Z(n)){let i=u(t,n,r);i&&e.push(i)}}return e},`collectExternalRails`),f=e.n((e,t)=>e.edge!==t.edge&&e.axis===t.axis&&e.side===t.side&&V(e.min,e.max,t.min,t.max)>=X,`railsInteract`),p=e.n(e=>{let t=[],n=new Set;for(let r of e){if(n.has(r))continue;let i=[r],a=[];for(n.add(r);i.length>0;){let t=i.pop();a.push(t);for(let r of e)!n.has(r)&&f(t,r)&&(n.add(r),i.push(r))}a.length>1&&t.push(a)}return t},`connectedComponents`),m=e.n(e=>{let t=[];for(let n of e)t.some(e=>Math.abs(e-n.coord)<Y)||t.push(n.coord);for(;t.length<e.length;){let n=Math.min(...t),r=Math.max(...t),i=e[0].side;t.push(i===`left`||i===`top`?n-12*(e.length-t.length):r+12*(e.length-t.length))}return t},`uniqueCoordsFor`),h=e.n(t=>{let n=t.map(e=>e.coord),r=m(t),i=[];if(t.length<=6){let a=Array(r.length).fill(!1),o=[],s=e.n(()=>{if(o.length===t.length){o.some((e,t)=>Math.abs(e-n[t])>=Y)&&i.push([...o]);return}for(let[e,t]of r.entries())a[e]||(a[e]=!0,o.push(t),s(),o.pop(),a[e]=!1)},`visit`);return s(),i}for(let e=0;e<n.length;e++)for(let t=e+1;t<n.length;t++){let r=[...n];[r[e],r[t]]=[r[t],r[e]],i.push(r)}return i},`coordinateAssignmentsFor`),g=e.n((e,t)=>{let n=new Map;for(let[r,i]of e.entries()){let e=t[r],a=n.get(i.edge)??i.points.map(e=>({x:e.x,y:e.y}));i.axis===`vertical`?(a[i.segmentIndex].x=e,a[i.segmentIndex+1].x=e):(a[i.segmentIndex].y=e,a[i.segmentIndex+1].y=e),n.set(i.edge,a)}let r=new Map;for(let[e,t]of n){let n=je(W(t));if(Z(n).length!==n.length-1)return;r.set(e,n)}return r},`replacementsForAssignment`),_=e.n(e=>{for(let[t,n]of e){let e=[t.start,t.end].filter(e=>!!e);for(let t of Z(n))if(q(t.a,t.b,r,e,-2)||q(t.a,t.b,i,[],-2))return!1}for(let t=0;t<a.length;t++){let n=a[t],r=e.has(n),i=Z(o(n,e));for(let n=t+1;n<a.length;n++){let t=a[n];if(!r&&!e.has(t))continue;let s=Z(o(t,e));for(let e of i)for(let t of s)if(H(e,t,.5)>=X)return!1}}return!0},`candidateIsSafe`);for(let e=0;e<4;e++){let e=s();if(e===0)return;let t,n=e,r=c(),i=1/0;for(let a of p(d()))for(let o of h(a)){let l=g(a,o);if(!l||!_(l))continue;let u=s(l);if(u>=e)continue;let d=c(l),f=a.reduce((e,t,n)=>e+Math.abs(o[n]-t.coord),0);u>n||u===n&&(d>r||d===r&&f>=i)||(t=l,n=u,r=d,i=f)}if(!t)return;for(let[e,n]of t)e.points=n}}e.n(wt,`reassignCrossingExternalRailChannels`);function Tt(t,n){let{realNodeRects:r,labelNodeRects:i}=be(n.values()),a=t.filter(e=>!e.isLayoutOnly),o=e.n((e,t,n)=>W(e===t?n??[]:e.points??[]),`pointsFor`),s=e.n(e=>Z(e).reduce((e,t)=>{let n=t.a.x-t.b.x,r=t.a.y-t.b.y;return e+Math.hypot(n,r)},0),`pathLength`),c=e.n((e,t)=>{let n=0;for(let r=0;r<a.length;r++){let i=Z(o(a[r],e,t));for(let s=r+1;s<a.length;s++){let r=Z(o(a[s],e,t));for(let e of i)for(let t of r)Ee(e.a,e.b,t.a,t.b,Y)&&n++}}return n},`strictCrossingCount`),l=e.n((e,t)=>{if(e.horizontal){let n=e.a.y;return(Math.abs(n-t.top)<1||Math.abs(n-t.bottom)<1)&&V(e.a.x,e.b.x,t.left,t.right)>=X}if(e.vertical){let n=e.a.x;return(Math.abs(n-t.left)<1||Math.abs(n-t.right)<1)&&V(e.a.y,e.b.y,t.top,t.bottom)>=X}return!1},`segmentRunsAlongRectBorder`),u=e.n(e=>{let t=[e.start,e.end].filter(e=>!!e),r=[];for(let e of t){let t=n.get(e),i=t?K(t):void 0;i&&r.push(i)}return r},`endpointRectsFor`),d=e.n((e,t)=>{if(t+3>=e.length)return[];let n=e[t],r=e[t+1],i=e[t+2],a=e[t+3],o=z(n,r,Y)&&B(r,i,Y)&&z(i,a,Y),s=B(n,r,Y)&&z(r,i,Y)&&B(i,a,Y);if(!o&&!s||!(o?Math.sign(r.x-n.x)!==Math.sign(a.x-i.x):Math.sign(r.y-n.y)!==Math.sign(a.y-i.y)))return[];let c=L(n,a,Y)||R(n,a,Y)?[]:[{x:n.x,y:a.y},{x:a.x,y:n.y}],l=c.length===0?[[...e.slice(0,t+1),...e.slice(t+3)]]:c.map(n=>[...e.slice(0,t+1),n,...e.slice(t+3)]),u=new Set;return l.map(e=>je(W(e))).filter(e=>{if(Z(e).length!==e.length-1||!e.some(e=>I(e,a,Y)))return!1;let t=e.map(e=>`${e.x.toFixed(3)},${e.y.toFixed(3)}`).join(`|`);return u.has(t)?!1:(u.add(t),!0)})},`shortcutCandidatesAt`),f=e.n((e,t,n)=>{let s=[e.start,e.end].filter(e=>!!e),d=u(e);for(let e of Z(t))if(q(e.a,e.b,r,s,-2)||q(e.a,e.b,i,[],-2)||d.some(t=>l(e,t)))return!1;for(let n of a)if(n!==e){for(let e of Z(t))for(let t of Z(o(n)))if(H(e,t,.5)>=X)return!1}return c(e,t)<=n},`candidateIsSafe`);for(let e=0;e<8;e++){let e=c(),t,n,r=e,i=1/0,l=1/0;for(let u of a){let a=o(u),p=U(a,Y),m=s(a);for(let o=0;o<=a.length-4;o++)for(let h of d(a,o)){let a=U(h,Y),o=s(h);if(!(a<p||a===p&&o<m-Y)||!f(u,h,e))continue;let d=c(u,h);d>r||d===r&&(a>i||a===i&&o>=l)||(t=u,n=h,r=d,i=a,l=o)}}if(!t||!n)return;t.points=n}}e.n(Tt,`shortcutRedundantOrthogonalJogs`);function Et(t,n){let r=[];for(let e of n.values()){if(e.isGroup||e.isEdgeLabel)continue;let t=e.x??0,n=e.y??0,i=K(e);i&&r.push({id:String(e.id??``),cx:t,cy:n,rect:i})}if(r.length===0)return;let i=new Map(r.map(e=>[e.id,e])),a=r.map(e=>({id:e.id,rect:e.rect})),o=[`top`,`bottom`,`left`,`right`],s={top:Math.min(...r.map(e=>e.rect.top))-20,bottom:Math.max(...r.map(e=>e.rect.bottom))+20,left:Math.min(...r.map(e=>e.rect.left))-20,right:Math.max(...r.map(e=>e.rect.right))+20},c=t.filter(e=>!e.isLayoutOnly),l=new Map(c.map((e,t)=>[e,t])),u=e.n(e=>{let t=e===`left`||e===`top`?-1:1,n=[];for(let r=0;r<=2;r++)n.push(s[e]+t*20*r);return n},`outwardTracksForSide`),d=e.n((e,t=new Map)=>W(t.get(e)??e.points??[]),`replacementPointsFor`),f=e.n((e,t)=>{let n=0;for(let r of e)for(let e of t)Ee(r.a,r.b,e.a,e.b,Y)&&n++;return n},`crossingCountBetweenSegments`),p=e.n((e,t)=>f(Z(e),Z(t)),`crossingCountBetweenPaths`),m=e.n((t=new Map)=>{let n=0,r=[],i=new Set,a=[],o=e.n(e=>{i.has(e)||(i.add(e),a.push(e))},`addEdge`);for(let e=0;e<c.length;e++){let i=c[e],a=d(i,t);for(let s=e+1;s<c.length;s++){let e=c[s],l=p(a,d(e,t));l>0&&(n+=l,r.push({first:i,second:e,count:l}),o(i),o(e))}}return a.sort((e,t)=>(l.get(e)??0)-(l.get(t)??0)),{count:n,pairs:r,edgeSet:i,edges:a}},`crossingSnapshot`),h=e.n((e,t)=>{let n=new Set(t.keys());if(n.size===0)return e.count;let r=0;for(let t of e.pairs)(n.has(t.first)||n.has(t.second))&&(r+=t.count);let i=0;for(let e=0;e<c.length;e++){let r=c[e],a=n.has(r),o=d(r,t);for(let r=e+1;r<c.length;r++){let e=c[r];!a&&!n.has(e)||(i+=p(o,d(e,t)))}}return e.count-r+i},`crossingCountWithReplacements`),g=e.n(e=>{let t=new Map;for(let n of e.pairs){let e=t.get(n.first)??new Set;e.add(n.second),t.set(n.first,e);let r=t.get(n.second)??new Set;r.add(n.first),t.set(n.second,r)}let n=[],r=new Set;for(let i of e.edges){if(r.has(i))continue;let e=[i],a=[];for(r.add(i);e.length>0;){let n=e.pop();a.push(n);for(let i of t.get(n)??[])r.has(i)||(r.add(i),e.push(i))}a.sort((e,t)=>(l.get(e)??0)-(l.get(t)??0)),a.length>1&&n.push(a)}return n},`crossingComponents`),_=e.n(e=>[e.start,e.end].filter(e=>!!e),`endpointIdsFor`),v=e.n(e=>{let t=[];for(let n of g(e)){let e=new Set(n),r=new Set(n.flatMap(e=>_(e))),i=[...n];for(let t of c)e.has(t)||_(t).some(e=>r.has(e))&&i.push(t);i.sort((e,t)=>(l.get(e)??0)-(l.get(t)??0)),t.push(i)}return t},`pairSearchGroups`),y=e.n((e,t,n)=>h(e,new Map([[t,n]])),`crossingCountWithSingleReplacement`),b=e.n(e=>{let t=new Map;for(let n of e.pairs)t.set(n.first,(t.get(n.first)??0)+n.count),t.set(n.second,(t.get(n.second)??0)+n.count);return t},`currentCrossingsByEdge`),x=e.n(e=>e.slice(1).reduce((t,n,r)=>{let i=e[r];return t+Math.abs(n.x-i.x)+Math.abs(n.y-i.y)},0),`pathLength`),S=e.n((e=new Map)=>c.reduce((t,n)=>t+U(d(n,e)),0),`totalBends`),C=e.n((e=new Map)=>c.reduce((t,n)=>t+x(d(n,e)),0),`totalLength`),w=e.n((e,t,n=new Map)=>{let r=Z(t);for(let t of c)if(t!==e){for(let e of r)for(let r of Z(d(t,n)))if(H(e,r,.5)>=X)return!0}return!1},`pathHasSegmentConflict`),T=e.n((e,t)=>{let n=[e.start,e.end].filter(e=>!!e);for(let e of Z(t))if(q(e.a,e.b,a,n,-2))return!0;return!1},`pathHitsNode`),E=e.n((e,t)=>{let n=je(W(t));Z(n).length===n.length-1&&e.push(n)},`pushOrthogonalCandidate`),D=e.n(e=>e===`left`||e===`right`,`sideIsHorizontal`),O=e.n((e,t,n)=>{switch(t){case`left`:return Math.min(e.x,n.x)-20;case`right`:return Math.max(e.x,n.x)+20;case`top`:return Math.min(e.y,n.y)-20;case`bottom`:return Math.max(e.y,n.y)+20}},`localTrackForSameSide`),k=e.n((e,t,n,r)=>{let i=n===`left`||n===`top`?-1:1,a=[O(t,n,r),s[n]];for(let o of a)for(let a=0;a<=2;a++)E(e,ve(t,n,r,o+i*20*a))},`addSameSideCandidates`),A=e.n((e,t,n,r,i)=>{for(let a of u(n))for(let n of u(i))E(e,[t,{x:a,y:t.y},{x:a,y:n},{x:r.x,y:n},r])},`addHorizontalToVerticalCandidates`),j=e.n((e,t,n,r,i)=>{for(let a of u(n))for(let n of u(i))E(e,[t,{x:t.x,y:a},{x:n,y:a},{x:n,y:r.y},r])},`addVerticalToHorizontalCandidates`),M=e.n((e,t,n,r,i)=>{let a=[...u(`top`),...u(`bottom`)];for(let o of u(n))for(let n of u(i))for(let i of a)E(e,[t,{x:o,y:t.y},{x:o,y:i},{x:n,y:i},{x:n,y:r.y},r])},`addHorizontalPairCandidates`),ee=e.n((e,t,n,r,i)=>{let a=[...u(`left`),...u(`right`)];for(let o of u(n))for(let n of u(i))for(let i of a)E(e,[t,{x:t.x,y:o},{x:i,y:o},{x:i,y:n},{x:r.x,y:n},r])},`addVerticalPairCandidates`),N=e.n(e=>{let t=new Set;return e.map(e=>W(e)).filter(e=>{let n=e.map(e=>`${e.x.toFixed(3)},${e.y.toFixed(3)}`).join(`|`);return t.has(n)||e.length<2?!1:(t.add(n),!0)})},`dedupeCandidatePaths`),te=e.n((e,t,n,r)=>{let i=[],a=_e(e,t,n,r,20,Y);a&&E(i,a),t===r&&k(i,e,t,n);let o=D(t),s=D(r);return o&&!s?A(i,e,t,n,r):!o&&s?j(i,e,t,n,r):o?M(i,e,t,n,r):ee(i,e,t,n,r),N(i)},`buildCandidatesForSides`),P=e.n((e,t,n,r)=>{let i=[...u(`left`),...u(`right`)],a=[...u(`top`),...u(`bottom`)];for(let s of o){let o=ge(r,s),c=s===`top`||s===`bottom`?u(s):a;for(let r of i){E(e,[t,n,{x:r,y:n.y},{x:r,y:o.y},o]);for(let i of c)E(e,[t,n,{x:r,y:n.y},{x:r,y:i},{x:o.x,y:i},o])}}},`addVerticalDepartureOuterTrackCandidates`),ne=e.n((e,t,n,r)=>{let i=[...u(`left`),...u(`right`)],a=[...u(`top`),...u(`bottom`)];for(let s of o){let o=ge(r,s),c=s===`left`||s===`right`?u(s):i;for(let r of a){E(e,[t,n,{x:n.x,y:r},{x:o.x,y:r},o]);for(let i of c)E(e,[t,n,{x:n.x,y:r},{x:i,y:r},{x:i,y:o.y},o])}}},`addHorizontalDepartureOuterTrackCandidates`),re=e.n(e=>{let t=e.start,n=e.end,r=n?i.get(n):void 0;if(!t||!r)return[];let a=W(e.points??[]);if(a.length<4)return[];let o=a[0],s=a[1],c=[];return B(o,s,Y)?P(c,o,s,r):z(o,s,Y)&&ne(c,o,s,r),c},`terminalPreservingOuterTrackCandidates`),ie=e.n(e=>{let t=e.start,n=e.end,r=t?i.get(t):void 0,a=n?i.get(n):void 0;if(!r||!a)return[];let s=[];for(let e of o){let t=ge(r,e);for(let n of o)s.push(...te(t,e,ge(a,n),n))}return s.push(...re(e)),s},`candidatePathsFor`),ae=e.n(()=>new Map(c.map(e=>[e,Z(d(e))])),`currentSegmentsByEdge`),oe=e.n((e,t,n)=>{let r=new Set;for(let i of c){if(i===e)continue;let a=n.get(i)??Z(d(i));t.some(e=>a.some(t=>H(e,t,.5)>=X))&&r.add(i)}return r},`sharedTrackConflictsFor`),F=e.n((e,t,n,r)=>{let i=new Set;return ie(e).map(e=>je(W(e))).filter(t=>{if(T(e,t))return!1;let n=t.map(e=>`${e.x.toFixed(3)},${e.y.toFixed(3)}`).join(`|`);return i.has(n)||t.length<2?!1:(i.add(n),!0)}).map(i=>{let a=Z(i),o=0;for(let t of c)t!==e&&(o+=f(a,n.get(t)??Z(d(t))));return{candidate:i,candidateSegments:a,crossings:t.count-(r.get(e)??0)+o,bends:U(i,Y),totalBends:U(i),length:x(i)}}).filter(({crossings:e})=>e<=t.count).sort((e,t)=>e.crossings-t.crossings||e.bends-t.bends||e.length-t.length).slice(0,48).map(t=>({path:t.candidate,segments:t.candidateSegments,sharedTrackConflicts:oe(e,t.candidateSegments,n),totalBends:t.totalBends,length:t.length}))},`pairCandidatesFor`),se=e.n((e,t,n,r,i,a)=>{let o=0;for(let n of e.pairs)(n.first===t||n.second===t||n.first===r||n.second===r)&&(o+=n.count);let s=f(n.segments,i.segments);for(let e of c){if(e===t||e===r)continue;let o=a.get(e)??Z(d(e));s+=f(n.segments,o)+f(i.segments,o)}return e.count-o+s},`pairCrossingCount`),ce=e.n((e,t)=>{for(let n of e.sharedTrackConflicts)if(n!==t)return!1;return!0},`conflictsOnlyWith`),I=e.n((e,t)=>e.segments.some(e=>t.segments.some(t=>H(e,t,.5)>=X)),`candidatesShareTrack`),L=e.n((e,t,n,r)=>ce(t,n.edge)&&ce(r,e.edge)&&!I(t,r),`pairCandidatesAreCompatible`),R=e.n((e,t,n,r,i)=>{let a=se(e.current,t.edge,n,r.edge,i,e.baseSegments);if(!(a>=e.current.count))return{replacements:new Map([[t.edge,n.path],[r.edge,i.path]]),crossings:a,bends:e.currentBends-(e.baseBendsByEdge.get(t.edge)??0)-(e.baseBendsByEdge.get(r.edge)??0)+n.totalBends+i.totalBends,length:e.currentLength-(e.baseLengthByEdge.get(t.edge)??0)-(e.baseLengthByEdge.get(r.edge)??0)+n.length+i.length}},`scorePairReplacement`),V=e.n((e,t)=>e.crossings<t.crossings||e.crossings===t.crossings&&(e.bends<t.bends||e.bends===t.bends&&e.length<t.length),`pairScoreIsBetter`),le=e.n((e,t,n,r)=>{let i=r;for(let r of t.candidates)for(let a of n.candidates){if(!L(t,r,n,a))continue;let o=R(e,t,r,n,a);o&&V(o,i)&&(i=o)}return i},`bestScoreForOptionPair`),ue=e.n(e=>{let t=S(),n=C(),r=ae(),i=b(e),a=new Map(c.map(e=>[e,U(d(e))])),o=new Map(c.map(e=>[e,x(d(e))])),s=new Map,l=v(e);for(let t of l)for(let n of t){if(s.has(n))continue;let t=F(n,e,r,i);t.length>0&&s.set(n,{edge:n,candidates:t})}let u={replacements:new Map,crossings:e.count,bends:t,length:n},f={current:e,currentBends:t,currentLength:n,baseBendsByEdge:a,baseLengthByEdge:o,baseSegments:r};for(let t of l){let n=new Set(t.filter(t=>e.edgeSet.has(t))),r=t.map(e=>s.get(e)).filter(e=>!!e);for(let e=0;e<r.length;e++){let t=r[e];for(let i=e+1;i<r.length;i++){let e=r[i];!n.has(t.edge)&&!n.has(e.edge)||(u=le(f,t,e,u))}}}return u.replacements.size>0?u.replacements:void 0},`bestPairedReplacement`);for(let e=0;e<4;e++){let e=m(),t=e.count;if(t===0)return;let n,r,i=t,a=1/0;for(let o of e.edges){let s=U(d(o),Y);for(let c of ie(o)){let l=T(o,c),u=!l&&w(o,c),d=y(e,o,c),f=U(c,Y);l||u||(d<t||d===t&&f<s)&&(d>i||d===i&&f>=a||(n=o,r=c,i=d,a=f))}}if(n&&r){n.points=r;continue}let o=ue(e);if(!o)return;for(let[e,t]of o)e.points=t}}e.n(Et,`resolveRenderedOrthogonalCrossings`);var Dt=.001,Ot=8;function kt(t,n){let{nodeInfoById:r,realNodeRects:i}=ye(n),a=[`top`,`bottom`,`left`,`right`],o={top:Math.min(...i.map(e=>e.rect.top))-20,bottom:Math.max(...i.map(e=>e.rect.bottom))+20,left:Math.min(...i.map(e=>e.rect.left))-20,right:Math.max(...i.map(e=>e.rect.right))+20},s=e.n((e,t,n,r)=>{let i=[],a=_e(e,t,n,r,20,Dt);return a&&i.push(a),t===r&&i.push(ve(e,t,n,o[t])),i},`buildOrthogonalPathCandidates`),c=e.n((e,t)=>{for(let n=0;n<e.length-1;n++){let r=e[n],a=e[n+1];if(q(r,a,i,t,1))return!0}return!1},`pathHitsNode`),l=e.n((e,n,r=!1)=>{let i=0,a=le(e,Dt),o=n.start,s=n.end;for(let e of t){if(e===n||e.isLayoutOnly)continue;let t=e.start,c=e.end;if(!r&&o&&s&&(t===o||t===s||c===o||c===s))continue;let l=e.points;if(!(!l||l.length<2))for(let e of a)for(let t of le(l,Dt)){if(Ce(e.a,e.b,t.a,t.b,Dt,Dt)){i++;continue}H(e,t,Dt)>=Ot&&i++}}return i},`pathConflictCount`),u=e.n((e,t)=>{let n=Math.abs(e.y-t.rect.top),r=Math.abs(e.y-t.rect.bottom),i=Math.abs(e.x-t.rect.left),a=Math.abs(e.x-t.rect.right),o=`top`,s=n;return r<s&&(o=`bottom`,s=r),i<s&&(o=`left`,s=i),a<s&&(o=`right`,s=a),o},`nearestSideOfRect`),d=new Map,f=e.n((e,t,n)=>{let r=d.get(e)??[];r.push({side:t,edgeId:n}),d.set(e,r)},`addFaceClaim`);for(let e of t){if(e.isLayoutOnly)continue;let t=e.points??[];if(t.length<1)continue;let n=e.id??``,i=e.start,a=e.end;if(i){let e=r.get(i);e&&f(i,u(t[0],e),n)}if(a){let e=r.get(a);e&&f(a,u(t[t.length-1],e),n)}}let p=e.n((e,t,n)=>d.get(e)?.some(e=>e.edgeId!==n&&e.side===t)??!1,`faceIsClaimed`);for(let e of t){if(e.isLayoutOnly)continue;let t=e.points;if(!t||t.length<2)continue;let n=U(t,Dt);if(n<4)continue;let i=e.start,o=e.end;if(!i||!o)continue;let m=r.get(i),h=r.get(o);if(!m||!h)continue;let g=e.id??``,_=l(t,e,!0),v=l(t,e),y,b=_,x=n;for(let t of a){if(p(i,t,g))continue;let n=ge(m,t);for(let r of a){if(p(o,r,g))continue;let a=ge(h,r);for(let u of s(n,t,a,r)){if(c(u,[i,o]))continue;let t=U(u,Dt);if(_>0){let n=l(u,e,!0);if(n>b||n===b&&t>=x)continue;b=n,x=t,y=u;continue}l(u,e)>v||t<x&&(x=t,y=u)}}}if(y){e.points=y;let t=d.get(i);t&&d.set(i,t.filter(e=>e.edgeId!==g));let n=d.get(o);n&&d.set(o,n.filter(e=>e.edgeId!==g)),f(i,u(y[0],m),g),f(o,u(y[y.length-1],h),g)}}}e.n(kt,`simplifyDetouredEdges`);var Q=.001,At=10,jt=7;function Mt(e,t){let n=t?0:e.length-1,r=t?1:-1,i=e[n],a=e[n+r];if(!i||!a)return;let o=a.x-i.x,s=a.y-i.y;if(!(Math.abs(o)+Math.abs(s)<Q)){if(Math.abs(s)<=Q){let e=i.x+Math.sign(o)*At;return{left:Math.min(i.x,e),right:Math.max(i.x,e),top:i.y-jt,bottom:i.y+jt}}if(Math.abs(o)<=Q){let e=i.y+Math.sign(s)*At;return{left:i.x-jt,right:i.x+jt,top:Math.min(i.y,e),bottom:Math.max(i.y,e)}}return{left:Math.min(i.x,a.x),right:Math.max(i.x,a.x),top:Math.min(i.y,a.y),bottom:Math.max(i.y,a.y)}}}e.n(Mt,`markerClearanceRectFor`);function Nt(e){return{left:Math.min(e.left,e.right),right:Math.max(e.left,e.right),top:Math.min(e.top,e.bottom),bottom:Math.max(e.top,e.bottom)}}e.n(Nt,`normalizeRect`);function Pt(e,t){let n=W(t);return[Mt(n,!0),Mt(n,!1)].some(t=>t&&G(e,Nt(t)))}e.n(Pt,`labelOverlapsOwnMarker`);function Ft(t,n){let r=[];for(let e of t){if(e.isLayoutOnly)continue;let t=e.points;if(!(!t||t.length<2))for(let n=0;n<t.length-1;n++)r.push({edgeId:e.id,p1:t[n],p2:t[n+1]})}let i=[],a=[];for(let e of n.values()){let t=e.isGroup,n=e.parentId;if(t&&!n){let t=K(e);t&&a.push({id:e.id,rect:t});continue}if(t||e.isEdgeLabel)continue;let r=K(e);r&&i.push({nodeId:e.id,rect:r})}let o=e.n((e,t)=>{let n=me(t,3);for(let{nodeId:t,rect:r}of i)if(t!==e&&G(n,r))return!0;return!1},`labelOverlapsForeignNode`),s=e.n((e,t)=>{let n=me(t,3);for(let t of r)if(t.edgeId!==e&&de(t.p1,t.p2,n))return!0;return!1},`labelOverlapsForeignEdge`),c=e.n((e,t,n)=>o(e,n)||s(t,n),`labelOverlapsAnything`),l=[],u=e.n(e=>{for(let{id:t,rect:n}of a)if(pe(n,e))return t},`findContainingLane`),d=e.n((e,t)=>l.some(n=>n.labelId!==e&&G(t,n.rect)),`overlapsPlacedLabel`);for(let r of t){if(r.isLayoutOnly)continue;let t=r.labelNodeId;if(!t)continue;let i=n.get(t);if(!i)continue;let f=r.points;if(!f||f.length<2)continue;let p=i.width??0,m=i.height??0;if(p<=0||m<=0)continue;let h=[];for(let e=0;e<f.length-1;e++){let t=f[e],n=f[e+1],r=Math.abs(t.x-n.x),i=Math.abs(t.y-n.y);r<Q&&i<Q||r>=Q&&i>=Q||h.push({idx:e,length:r+i,orientation:r>=Q?`horizontal`:`vertical`,midX:(t.x+n.x)/2,midY:(t.y+n.y)/2})}if(h.length===0)continue;let g=h.length>=3?h.filter(e=>e.idx>0&&e.idx<h.length-1):h,_=g.length>0?g:h,v=p>=m?`horizontal`:`vertical`,y=e.n(e=>[...e].sort((e,t)=>{let n=e.orientation===v;if(n!==(t.orientation===v))return n?-1:1;let r=e.length>=(e.orientation===`horizontal`?p:m)+2;return r===t.length>=(t.orientation===`horizontal`?p:m)+2?t.length-e.length:r?-1:1}),`rankSegments`),b=h[0],x=h[h.length-1],S=[.5,.25,.75,.05,.95,.15,.85,.1,.9],C=e.n((e,t)=>{let n=f[e.idx],r=f[e.idx+1];return{midX:n.x+(r.x-n.x)*t,midY:n.y+(r.y-n.y)*t}},`anchorAtT`),w=e.n((e,t,n)=>Math.min(n,Math.max(t,e)),`clamp`),T=e.n((e,t)=>e.midX>=t.left-Q&&e.midX<=t.right+Q&&e.midY>=t.top-Q&&e.midY<=t.bottom+Q,`pointInsideRectInclusive`),E=e.n(e=>{let t=he(e.midX,e.midY,p,m),n=u(t);if(n)return{laneId:n,anchor:e,rect:t};let r=a.find(({rect:t})=>T(e,t));if(!r)return;let i=r.rect.left+p/2+1,o=r.rect.right-p/2-1,s=r.rect.top+m/2+1,c=r.rect.bottom-m/2-1;if(i>o||s>c)return;let l={midX:w(e.midX,i,o),midY:w(e.midY,s,c)},d=he(l.midX,l.midY,p,m);return T(e,d)?{laneId:r.id,anchor:l,rect:d}:void 0},`placementForAnchor`),D=e.n((e,t,n)=>e.orientation===`horizontal`?Math.abs(t.midX-n.x):Math.abs(t.midY-n.y),`distanceAlongSegment`),O=e.n((e,t)=>{let n=(e.orientation===`horizontal`?p/2:m/2)+12;if(e===b){let r=f[e.idx];if(D(e,t,r)+Q<n)return!1}if(e===x){let r=f[e.idx+1];if(D(e,t,r)+Q<n)return!1}return!0},`labelClearsTerminalEndpoints`),k=e.n(e=>{let n=y(e);for(let e of n)for(let n of S){let i=C(e,n);if(!O(e,i))continue;let a=E(i);if(a&&!Pt(a.rect,f)&&!d(t,a.rect)&&!c(t,r.id,a.rect))return{laneId:a.laneId,anchor:a.anchor}}},`tryPool`),A=e.n((e,n,i=!1)=>{let a=y(e);for(let e of a){let a={midX:e.midX,midY:e.midY};if(n&&!O(e,a))continue;let c=E(a);if(c&&!Pt(c.rect,f)&&!d(t,c.rect)&&!o(t,c.rect)&&(i||!s(r.id,c.rect)))return{laneId:c.laneId,anchor:c.anchor}}},`findLaneContainingFallback`),j=k(_)??(_.length<h.length?k(h):void 0)??A(h,!0)??A(h,!1)??A(h,!1,!0);if(j){i.x=j.anchor.midX,i.y=j.anchor.midY,i.parentId=j.laneId;let e=he(j.anchor.midX,j.anchor.midY,p,m),n=l.findIndex(e=>e.labelId===t);n>=0?l[n]={labelId:t,rect:e}:l.push({labelId:t,rect:e})}}}e.n(Ft,`anchorLabelsToPolyline`);var It=1e-6,Lt=8/2,Rt=3;function zt(e,t){return e<t?`${e}::${t}`:`${t}::${e}`}e.n(zt,`pairKey`);function Bt(t,n){let{nodeInfoById:r,realNodeRects:i}=ye(n),a=new Map;for(let e of n){let t=e.id;if(!e.isGroup&&e.isEdgeLabel){a.set(t,{w:e.width??0,h:e.height??0});continue}}let o=e.n((n,r,i,o)=>{let s=zt(r,i),c=0,l=e.n(e=>{if(!e)return;let t=a.get(e);if(!t)return;let n=o===`x`?t.w/2:t.h/2;n>c&&(c=n)},`consider`);l(n.labelNodeId);for(let e of t){if(e===n||e.isLayoutOnly)continue;let t=e.start,r=e.end;!t||!r||zt(t,r)===s&&l(e.labelNodeId)}return c>0?c+Rt:0},`labelClearanceFor`);for(let e of t){if(e.isLayoutOnly)continue;let n=e.points;if(!ue(n,It))continue;let a=Se(e,r,It);if(!a)continue;let{srcId:s,dstId:c,srcInfo:l,dstInfo:u,collinearX:d,collinearY:f}=a;if(d===f)continue;let p,m;if(d){let e=u.cy>l.cy;p={x:l.cx,y:e?l.rect.bottom:l.rect.top},m={x:u.cx,y:e?u.rect.top:u.rect.bottom}}else{let e=u.cx>l.cx;p={x:e?l.rect.right:l.rect.left,y:l.cy},m={x:e?u.rect.left:u.rect.right,y:u.cy}}if(q(p,m,i,[s,c],1))continue;let h=o(e,s,c,d?`x`:`y`),g=h>Lt?h:Lt,_=[0,g,-g];for(let n of _){let r={...p},a={...m};if(d){if(r.x+=n,a.x+=n,r.x<=l.rect.left||r.x>=l.rect.right||a.x<=u.rect.left||a.x>=u.rect.right)continue}else if(r.y+=n,a.y+=n,r.y<=l.rect.top||r.y>=l.rect.bottom||a.y<=u.rect.top||a.y>=u.rect.bottom)continue;if(!q(r,a,i,[s,c],1)&&!Te(r,a,t,e,{epsilon:It})){e.points=[r,a];break}}}}e.n(Bt,`straightenCollinearSiblingDetours`);function Vt(t,n){let r=.001,{realNodeRects:i,labelNodeRects:a}=be(n.values()),o=e.n((e,t)=>le(t,r).map(n=>({...n,edge:e,interior:n.index>=1&&n.index<=t.length-3})),`segmentsFor`),s=e.n(()=>{let e=[];for(let n of t){if(n.isLayoutOnly)continue;let t=n.points;!t||t.length<2||e.push(...o(n,W(t)))}return e},`allSegments`),c=e.n((e,t)=>e.horizontal&&t.horizontal?V(e.a.x,e.b.x,t.a.x,t.b.x)>=8&&Math.abs(e.a.y-t.a.y)<7:e.vertical&&t.vertical?V(e.a.y,e.b.y,t.a.y,t.b.y)>=8&&Math.abs(e.a.x-t.a.x)<7:!1,`hasCrowdedParallelTrack`),l=e.n((e,n)=>{let s=e.start,l=e.end,u=o(e,n);if(u.length!==n.length-1)return!1;let d=[s,l].filter(e=>!!e),f=e.labelNodeId?[e.labelNodeId]:[];for(let e of u)if(q(e.a,e.b,i,d,-2)||q(e.a,e.b,a,f,-2))return!1;for(let n of t){if(n===e||n.isLayoutOnly)continue;let t=n.points;if(!(!t||t.length<2)){for(let e of u)for(let i of o(n,W(t)))if(c(e,i)||Ee(e.a,e.b,i.a,i.b,r))return!1}}return!0},`candidateIsSafe`),u=e.n((e,t)=>{let n=W(e.edge.points??[]);if(n.length<4||e.index>=n.length-1)return;let r=n.map(e=>({...e}));if(e.horizontal)r[e.index].y+=t,r[e.index+1].y+=t;else if(e.vertical)r[e.index].x+=t,r[e.index+1].x+=t;else return;return o(e.edge,r).length===r.length-1?r:void 0},`shiftedCandidate`),d=e.n((e,t)=>({x:e.x??(t.left+t.right)/2,y:e.y??(t.top+t.bottom)/2}),`nodeCenter`),f=e.n(e=>{let t=e.edge,r=W(t.points??[]);if(r.length!==4||e.index!==1)return;let i=t.start?n.get(t.start):void 0,a=t.end?n.get(t.end):void 0,o=i?K(i):void 0,s=a?K(a):void 0,c=r.slice(e.index+2);if(!(!i||!a||!o||!s||c.length===0))return{sourceCenter:d(i,o),targetCenter:d(a,s),sourceRect:o,tail:c}},`sourceDetourContextFor`),p=e.n((e,t,n,i,a,o)=>{let s=i.y>=n.y,c=s?a.bottom:a.top,l=c+(s?20:-20);if(s&&e.b.y<=l+r||!s&&e.b.y>=l-r)return;let u=e.a.x+t;return W([{x:n.x,y:c},{x:n.x,y:l},{x:u,y:l},{x:u,y:e.b.y},...o],r)},`verticalSourceDetour`),m=e.n((e,t,n,i,a,o)=>{let s=i.x>=n.x,c=s?a.right:a.left,l=c+(s?20:-20);if(s&&e.b.x<=l+r||!s&&e.b.x>=l-r)return;let u=e.a.y+t;return W([{x:c,y:n.y},{x:l,y:n.y},{x:l,y:u},{x:e.b.x,y:u},...o],r)},`horizontalSourceDetour`),h=e.n((e,t)=>{let n=f(e);if(n){if(e.vertical)return p(e,t,n.sourceCenter,n.targetCenter,n.sourceRect,n.tail);if(e.horizontal)return m(e,t,n.sourceCenter,n.targetCenter,n.sourceRect,n.tail)}},`sourceDetourCandidate`),g=[-7,7,-14,14,-21,21];for(let e=0;e<12;e++){let e=s(),t=!1;for(let n=0;n<e.length&&!t;n++)for(let r=n+1;r<e.length&&!t;r++){let i=e[n],a=e[r];if(i.edge===a.edge||!c(i,a))continue;let o=[i,a].filter(e=>e.interior);for(let e of o){for(let n of g){let r=u(e,n);if(r&&l(e.edge,r)){e.edge.points=r,t=!0;break}let i=h(e,n);if(i&&l(e.edge,i)){e.edge.points=i,t=!0;break}}if(t)break}}if(!t)return}}e.n(Vt,`nudgeSharedInteriorSubpaths`);function Ht(e,t,n,r){let i=t.x-e.x,a=t.y-e.y,o=r.x-n.x,s=r.y-n.y,c=i*s-a*o;if(Math.abs(c)<1e-10)return!1;let l=n.x-e.x,u=n.y-e.y,d=(l*s-u*o)/c,f=(l*a-u*i)/c,p=.01;return d>p&&d<1-p&&f>p&&f<1-p}e.n(Ht,`segmentsIntersect`);function Ut(e){let n=e.nodes??[],r=e.edges??[],i=[];if(!r.length||!n.length)return i;let a=xe(n),o=[];for(let e of r){if(e.isLayoutOnly)continue;let t=e.points;if(!t||t.length<2)continue;let n=e.start,r=e.end,s=e.labelNodeId,c=e.id??`${n}->${r}`;for(let e of a)if(!(e.nodeId===n||e.nodeId===r)&&!(s&&e.nodeId===s)){for(let n=0;n<t.length-1;n++)if(de(t[n],t[n+1],e,-1)){i.push({type:`edge-node-overlap`,edgeId:c,targetId:e.nodeId,detail:`segment ${n} passes through node "${e.nodeId}"`});break}}for(let e=0;e<t.length-1;e++)o.push({edgeId:c,start:n,end:r,p1:t[e],p2:t[e+1]})}let s=new Set;for(let e=0;e<o.length;e++)for(let t=e+1;t<o.length;t++){let n=o[e],r=o[t];if(n.edgeId!==r.edgeId&&!(n.start===r.start||n.start===r.end||n.end===r.start||n.end===r.end)&&Ht(n.p1,n.p2,r.p1,r.p2)){let e=n.edgeId<r.edgeId?`${n.edgeId}|${r.edgeId}`:`${r.edgeId}|${n.edgeId}`;s.has(e)||(s.add(e),i.push({type:`edge-edge-crossing`,edgeId:n.edgeId,targetId:r.edgeId,detail:`edges "${n.edgeId}" and "${r.edgeId}" cross`}))}}if(i.length>0){let e=i.filter(e=>e.type===`edge-node-overlap`).length,n=i.filter(e=>e.type===`edge-edge-crossing`).length;t.m.warn(`[SWIMLANE_VALIDATE] ${i.length} issue(s) detected: ${e} edge-node overlap(s), ${n} edge crossing(s)`);for(let e of i)t.m.warn(`[SWIMLANE_VALIDATE] ${e.type}: ${e.detail}`)}return i}e.n(Ut,`validateSwimlanesLayout`);function Wt(t,n){let r=t.nodes??[],i=t.edges??[],a=r.filter(e=>!e.isGroup);if((n===`LR`||n===`RL`)&&a.length>0&&!dt(t,n)||n===`BT`&&a.length>0&&!ut(t))return;for(let e of i){if(e.isLayoutOnly)continue;let t=e.points;!t||t.length<2||(e.points=je(Ae(t)))}kt(i,r),Bt(i,r),ht(i,r);let o=new Map;for(let e of r)o.set(String(e.id),e);Ft(i,o),Le(i,o),gt(i,o),Vt(i,o),vt(i,o),yt(i,o),bt(i,o),Ct(i,o);let s=e.n(()=>{Et(i,o),wt(i,o),Tt(i,o),Ft(i,o),nt(i,o),bt(i,o),Ft(i,o),nt(i,o)},`finalizeRenderedEdges`);s(),Vt(i,o),s(),xt(i,o),St(i,o),xt(i,o),St(i,o)}e.n(Wt,`postProcessSwimlaneLayout`);function Gt(e){let t=new Map(e.nodeById),n=new Set,r=[];for(let i of e.edges){if(!t.has(i.src)||!t.has(i.dst))continue;let e=`${i.id}:${i.src}->${i.dst}`;n.has(e)||(n.add(e),r.push(i))}return{nodes:[...t.keys()],edges:r,layout:e.layout,nodeById:t}}e.n(Gt,`normalizeGraph`);function Kt(e,t){return e.edges.filter(e=>e.dst===t)}e.n(Kt,`incoming`);function qt(e){let t=new Map;for(let n of e.nodes)t.set(n,[]);for(let n of e.edges)t.get(n.src).push(n.dst);return t}e.n(qt,`buildSuccessorMap`);function Jt(e){let t=qt(e);for(let e of t.values())e.sort((e,t)=>e.localeCompare(t));return t}e.n(Jt,`buildSortedSuccessorMap`);function Yt(e){let t=new Map;for(let n of e.nodes)t.set(n,0);for(let n of e.edges)t.set(n.dst,(t.get(n.dst)??0)+1);return t}e.n(Yt,`buildInDegreeMap`);function Xt(e){return[...e.entries()].filter(([,e])=>e===0).map(([e])=>e).sort((e,t)=>e.localeCompare(t))}e.n(Xt,`sortedZeroInDegreeNodes`);function Zt(e,t=()=>!0){let n=new Map,r=new Map;for(let t of e.nodes)n.set(t,[]),r.set(t,[]);for(let i of e.edges)t(i)&&(r.get(i.src).push(i.dst),n.get(i.dst).push(i.src));return{preds:n,succs:r}}e.n(Zt,`buildPredecessorSuccessorMaps`);function Qt(e,t,n,r){let i=0;for(let t of e.nodes)r?.skipGroups&&e.nodeById.get(t)?.isGroup||(i=Math.max(i,n[t]??0));let a=Array.from({length:i+1},()=>[]);for(let i of t)r?.skipGroups&&e.nodeById.get(i)?.isGroup||a[Math.max(0,n[i]??0)].push(i);return a}e.n(Qt,`buildLayersFromRanks`);function $t(e){let t=Yt(e),n=Xt(t),r=[],i=Jt(e);for(;n.length;){let e=n.shift();r.push(e);for(let r of i.get(e)??[])if(t.set(r,(t.get(r)??0)-1),(t.get(r)??0)===0){let e=0;for(;e<n.length&&n[e]<r;)e++;n.splice(e,0,r)}}return r.length===e.nodes.length?r:null}e.n($t,`topoSortIfAcyclic`);function en(e){let t=new Map,n=0;for(let r of e)t.set(r,n),n++;return t}e.n(en,`buildLayerIndex`);function tn(t){let n=Array(t.length),r=e.n((e,i)=>{if(i-e<=1)return 0;let a=e+i>>1,o=r(e,a)+r(a,i),s=e,c=a,l=e;for(;s<a||c<i;)c>=i||s<a&&t[s]<=t[c]?n[l++]=t[s++]:(n[l++]=t[c++],o+=a-s);for(let r=e;r<i;r++)t[r]=n[r];return o},`count`);return r(0,t.length)}e.n(tn,`countInversions`);function nn(t){let n=Gt(t),r=new Map;for(let e of n.nodes)r.set(e,[]);for(let e of n.edges)r.get(e.src).push(e);for(let e of r.values())e.sort((e,t)=>e.dst===t.dst?e.id.localeCompare(t.id):e.dst.localeCompare(t.dst));let i=Object.create(null);for(let e of n.nodes)i[e]=0;let a=[],o=e.n(e=>{i[e]=1;for(let t of r.get(e)??[]){let e=t.dst;i[e]===0?o(e):i[e]===1&&a.push(t)}i[e]=2},`dfs`),s=[...n.nodes].sort((e,t)=>e.localeCompare(t));for(let e of s)i[e]===0&&o(e);let c=new Set(a.map(e=>`${e.id}:${e.src}->${e.dst}`)),l=n.edges.map(e=>c.has(`${e.id}:${e.src}->${e.dst}`)?{id:e.id,src:e.dst,dst:e.src,weight:e.weight,ref:e.ref}:e);return{acyclic:{nodes:[...n.nodes],edges:l,layout:n.layout,nodeById:new Map(n.nodeById)},reversed:a}}e.n(nn,`removeCycles_DFS`);function rn(t){let n=new Map,r=e.n(e=>{if(n.has(e))return n.get(e);let i=t.nodeById.get(e);if(!i)return n.set(e,null),null;let a=i.parentId;if(!a)return n.set(e,null),null;let o=r(a)??a;return n.set(e,o),o},`resolve`);for(let e of t.nodes)r(e);return n}e.n(rn,`buildTopLaneMap`);function an(e){let t=rn(e);return e=>t.get(e)??null}e.n(an,`createTopLaneResolver`);function on(e){let t=[];for(let n of e.layout.nodes??[])n.isGroup&&!n.parentId&&t.push(n.id);return[...new Set(t)].reverse()}e.n(on,`buildTopLaneOrder`);function sn(e,t){let n=on(e);if(!t||t.length===0)return n;let r=new Set(n),i=new Set,a=[];for(let e of t)!r.has(e)||i.has(e)||(i.add(e),a.push(e));for(let e of n)i.has(e)||a.push(e);return a}e.n(sn,`resolveTopLaneOrder`);var cn={EPSILON:1e-6},ln={GRAVITY_ITERATIONS:8,MAX_CROSSING_OPTIMIZATION_PASSES:4,DEFAULT_COMPACT_SINGLE_INPUT:!0},un={DEFAULT_LAYER_GAP:100,DEFAULT_NODE_GAP:40};function dn(t,n){let r=Gt(t),i=n?.laneOf??(()=>null),a=n?.rankHint,{preds:o}=Zt(r);for(let e of o.values())e.sort((e,t)=>e.localeCompare(t));let s=$t(r)??[...r.nodes].sort((e,t)=>e.localeCompare(t)),c=new Map;for(let[e,t]of s.entries())c.set(t,e);let l=new Map,u=new Map;for(let e of r.nodes)u.set(e,[]);for(let e of s){let t=(o.get(e)??[]).filter(e=>l.has(e));if(t.length>0){let n=fn(e,t,{laneOf:i,rankHint:a,topoIndex:c});l.set(e,n),u.get(n).push(e)}else l.has(e)||l.set(e,null)}for(let e of r.nodes)l.has(e)||l.set(e,null);let d=new Set;for(let e of r.nodes)(l.get(e)??null)===null&&d.add(e);let f=[...d].sort((e,t)=>{let n=c.get(e)??0,r=c.get(t)??0;return n===r?e.localeCompare(t):n-r}),p=pn(r),m=new Map;for(let[e,t]of p.entries())m.set(e,[...t].sort((e,t)=>e.localeCompare(t)));let h=mn(m),g=hn(m),_=new Map;for(let e of r.nodes)_.set(e,[]);for(let e of g)for(let t of e.nodes){let n=_.get(t);n?n.push(e.id):_.set(t,[e.id])}let v=[],y=[],b=new Set,x=e.n(e=>{if(!b.has(e)){b.add(e),v.push(e);for(let t of u.get(e)??[])x(t);y.push(e)}},`walk`);for(let e of f)x(e);for(let e of s)x(e);return{parent:l,children:u,roots:f,componentOf:h,blocks:g,nodeBlocks:_,adjacency:m,preorder:v,postorder:y,topologicalOrder:s}}e.n(dn,`buildDrivingTree`);function fn(e,t,n){let r=n.laneOf(e);return[...t].sort((e,t)=>{let i=n.laneOf(e),a=n.laneOf(t),o=i!=null&&i===r;if(o!==(a!=null&&a===r))return o?-1:1;let s=n.rankHint?.[e],c=n.rankHint?.[t];if(s!=null&&c!=null&&s!==c)return c-s;let l=n.topoIndex.get(e)??0,u=n.topoIndex.get(t)??0;return l===u?e.localeCompare(t):l-u})[0]}e.n(fn,`chooseParent`);function pn(e){let t=new Map;for(let n of e.nodes)t.set(n,new Set);for(let n of e.edges)t.get(n.src).add(n.dst),t.get(n.dst).add(n.src);return t}e.n(pn,`buildAdjacency`);function mn(e){let t=new Map,n=0;for(let r of e.keys()){if(t.has(r))continue;let i=[r];for(;i.length>0;){let r=i.pop();if(!t.has(r)){t.set(r,n);for(let n of e.get(r)??[])t.has(n)||i.push(n)}}n++}return t}e.n(mn,`assignComponents`);function hn(t){let n=new Map,r=new Map,i=[],a=[],o=0,s=e.n((e,c)=>{n.set(e,++o),r.set(e,o);for(let l of t.get(e)??[])l!==c&&(n.has(l)?(n.get(l)??0)<(n.get(e)??0)&&(i.push([e,l]),r.set(e,Math.min(r.get(e)??o,n.get(l)??o))):(i.push([e,l]),s(l,e),r.set(e,Math.min(r.get(e)??o,r.get(l)??o)),(r.get(l)??0)>=(n.get(e)??0)&&a.push(gn(e,l,i,a.length))))},`visit`);for(let e of t.keys())n.has(e)||s(e,null);return a}e.n(hn,`computeBlocks`);function gn(e,t,n,r){let i=[],a=new Set;for(;n.length>0;){let r=n.pop();if(i.push(r),a.add(r[0]),a.add(r[1]),r[0]===e&&r[1]===t||r[0]===t&&r[1]===e)break}return{id:r,edges:i,nodes:[...a]}}e.n(gn,`popBlock`);function _n(t,n,r){let i=[...t.nodes],a=new Map;for(let[e,t]of i.entries())a.set(t,e);let o=i.length,s=Array(o).fill(-1),c=Array(o).fill(0),l=[],u=new Set;for(let e of i){let t=r.parent.get(e)??null,n=a.get(e);n!=null&&(t??(s[n]=-1,c[n]=0,u.has(e)||(u.add(e),l.push(e))))}for(;l.length>0;){let e=l.shift(),t=a.get(e);if(t==null)continue;let n=r.children.get(e)??[];for(let e of n){if(u.has(e))continue;let n=a.get(e);n!=null&&(s[n]=t,c[n]=c[t]+1,u.add(e),l.push(e))}}for(let e of i){if(u.has(e))continue;let t=a.get(e);t!=null&&(s[t]=-1,c[t]=0,u.add(e))}let d=Math.max(1,Math.ceil(Math.log2(Math.max(1,o)))+1),f=Array.from({length:d},()=>Array(o).fill(-1));for(let e=0;e<o;e++)f[0][e]=s[e];for(let e=1;e<d;e++)for(let t=0;t<o;t++){let n=f[e-1][t];f[e][t]=n===-1?-1:f[e-1][n]}let p=e.n((e,t)=>{if(e===-1||t===-1)return-1;c[e]<c[t]&&([e,t]=[t,e]);let n=c[e]-c[t];for(let t=0;t<d;t++)if(n>>t&1&&(e=f[t][e],e===-1))return-1;if(e===t)return e;for(let n=d-1;n>=0;n--){let r=f[n][e],i=f[n][t];r===-1||i===-1||r!==i&&(e=r,t=i)}return f[0][e]},`lcaIndex`),m=Array.from({length:o},()=>new Map);for(let e of t.edges){let t=e.src,r=e.dst,i=n[t],o=n[r];if(i==null||o==null||(i>o&&([t,r]=[r,t],[i,o]=[o,i]),i==null||o==null||i===o))continue;let s=a.get(t),c=a.get(r);if(s==null||c==null)continue;let l=p(s,c);if(l===-1)continue;let u=m[l];for(let e=i;e<o;e++)u.set(e,(u.get(e)??0)+1)}let h=new Map,g=e.n((e,t)=>{if(t.size!==0)for(let[n,r]of t)e.set(n,(e.get(n)??0)+r)},`mergeInto`),_=new Set,v=e.n(e=>{let t=a.get(e);_.add(e);let i=t==null?void 0:m[t],o=i?new Map(i):new Map,s=r.children.get(e)??[];for(let t of s){let r=v(t),i=n[e];if(i!=null){let a=h.get(e);a||(a=new Map,h.set(e,a));let o=r.get(i)??0,s=n[t];s!=null&&s>i&&(o+=1),a.set(t,o)}g(o,r)}return o},`dfs`);for(let e of r.roots)_.has(e)||v(e);for(let e of i)_.has(e)||v(e);return h}e.n(_n,`computeSubtreeCrossCounts`);function vn(t,n,r){let i=new Map,a=e.n(e=>{let t=r[e]??0,o=[...n.get(e)??[]];o.sort(yn(r));for(let e of o){a(e);let n=i.get(e);n!=null&&(t=Math.min(t,n))}i.set(e,t)},`annotate`);for(let e of t)a(e);return i}e.n(vn,`annotateMinimumLayers`);function yn(e){return(t,n)=>{let r=e[t]??0,i=e[n]??0;return r===i?t.localeCompare(n):r-i}}e.n(yn,`compareByRankThenId`);function bn(t,n,r,i){let a=0;for(let e of n){let t=r[e]??0;t>a&&(a=t)}let o=Array.from({length:a+1},()=>[]),s=new Set,c=e.n(e=>{if(s.has(e))return;s.add(e);let t=r[e]??0;o[t]||(o[t]=[]),o[t].push(e);for(let t of i(e))c(t)},`emit`);for(let e of t)c(e);for(let e of n)if(!s.has(e)){let t=r[e]??0;o[t]||(o[t]=[]),o[t].push(e),s.add(e)}return o}e.n(bn,`emitNodesInTreeOrder`);function xn(e){let t=[];for(let n of e){let e=new Set,r=[];for(let t of n)e.has(t)||(e.add(t),r.push(t));t.push(r)}return t}e.n(xn,`deduplicateLayers`);function Sn(e,t,n,r){return i=>{let a=e.get(i)??[];if(a.length===0)return[];let o=t[i]??0,s=[],c=[],l=n.get(i);for(let e of a){let t=r.get(e)??o;t>o?s.push({child:e,min:t}):c.push(e)}return s.sort((e,t)=>e.min===t.min?e.child.localeCompare(t.child):e.min-t.min),c.sort((e,t)=>{let n=l?.get(e)??0,i=l?.get(t)??0;if(n!==i)return n-i;let a=r.get(e)??o,s=r.get(t)??o;return a===s?e.localeCompare(t):a-s}),[...s.map(e=>e.child),...c]}}e.n(Sn,`createChildOrderer`);function Cn(e,t,n){let r=dn(e,{rankHint:t,laneOf:n}),{children:i,roots:a}=r;for(let t of e.nodes)i.has(t)||i.set(t,[]);let o=_n(e,t,r),s=[...a].sort(yn(t)),c=Sn(i,t,o,vn(s,i,t)),l=bn(s,e.nodes,t,c);return l=xn(l),l}e.n(Cn,`buildMultitreeLayerOrder`);function wn(e,t,n){let r=new Set(e),i=new Set(t),a=en(t),o=[];for(let e of n)r.has(e.src)&&i.has(e.dst)&&o.push(a.get(e.dst));return tn(o)}e.n(wn,`countCrossingsBetweenAdjacent`);function Tn(e,t,n){let r=[];for(let e of t){let t=n[e.src],i=n[e.dst];if(t==null||i==null||t===i)continue;let a=e.src,o=e.dst,s=t,c=i;t>i&&(a=e.dst,o=e.src,s=i,c=t);for(let t=s;t<c;t++)r.push({id:`${e.id}@${t}`,src:a,dst:o,ref:e.ref})}let i=0;for(let t=0;t+1<e.length;t++)i+=wn(e[t],e[t+1],r);return i}e.n(Tn,`totalCrossings`);function En(e,t){let n={...t},{preds:r}=Zt(e),i=an(e),a=Tn(Cn(e,n,i),e.edges,n),o=ln.MAX_CROSSING_OPTIMIZATION_PASSES;for(let t=0;t<o;t++){let t=!1,o=[...e.nodes].sort((e,t)=>(n[t]??0)-(n[e]??0));for(let s of o){let o=n[s]??0;if(o===0)continue;let c=0;for(let e of r.get(s)??[])c=Math.max(c,(n[e]??0)+1);if(c>=o)continue;let l=o;n[s]=c;let u=Tn(Cn(e,n,i),e.edges,n);u<a?(a=u,t=!0):n[s]=l}if(!t)break}return n}e.n(En,`optimizeRanksByCrossings`);function Dn(e,t){let n=an(e),r=[...e.nodes].sort((e,n)=>(t[e]??0)-(t[n]??0)||e.localeCompare(n));for(let i of r){let r=n(i);if(!r)continue;let a=e.edges.filter(e=>e.src===i);if(a.length===0)continue;let o=!1,s=0;for(let e of a){let t=n(e.dst);t==null||t===r?o=!0:s++}if(s===0||o)continue;let c=0,l=!1;for(let t of e.edges){if(t.dst!==i)continue;let e=n(t.src);e&&(e===r?l=!0:c++)}if(c>0||!l)continue;let u=t[i]??0,d=u+s,f=0;for(let n of e.edges)n.dst===i&&(f=Math.max(f,(t[n.src]??0)+1));let p=Math.max(u,f,d);p!==u&&(t[i]=p)}}e.n(Dn,`adjustCrossLaneSources`);function On(e,t){let n=Gt(e),r=$t(n)??[...n.nodes].sort(),i=t?.compactSingleInput??!1,a=an(n),o=Object.create(null);for(let e of r){let r=Kt(n,e),s=t?.ignoreCrossLaneEdges?r.filter(t=>{let n=a(t.src),r=a(e);return!n||!r?!0:n===r}):r;if(s.length===0)o[e]=0;else if(i&&s.length===1){let t=s[0].src;a(t)===a(e)?o[e]=(o[t]??0)+1:o[e]=o[t]??0}else{let t=-1/0;for(let e of s)t=Math.max(t,(o[e.src]??0)+1);o[e]=t===-1/0?0:t}}return(t?.optimizeRanksByCrossings??!1)&&(o=En(n,o)),t?.ignoreCrossLaneEdges&&Dn(n,o),{layers:Cn(n,o,a),rankOf:o,dummy:new Set}}e.n(On,`assignLayers_LongestPath`);function kn(t,n){let r=Gt(t),i={...On(r,{compactSingleInput:n?.compactSingleInput,ignoreCrossLaneEdges:n?.ignoreCrossLaneEdges,optimizeRanksByCrossings:n?.optimizeRanksByCrossings}).rankOf},a=an(r),{preds:o,succs:s}=Zt(r,e=>{if(n?.ignoreCrossLaneEdges){let t=a(e.src),n=a(e.dst);if(t&&n&&t!==n)return!1}return!0}),c=$t(r)??[...r.nodes],l=[...c].reverse(),u=e.n((e,t)=>{let n=0;for(let t of o.get(e)??[])n=Math.max(n,(i[t]??0)+1);let r=1/0,a=s.get(e)??[];return a.length>0&&(r=Math.min(...a.map(e=>(i[e]??0)-1))),Number.isFinite(r)||(r=Math.max(n,t)),Math.min(Math.max(t,n),r)},`clampFeasible`),d=ln.GRAVITY_ITERATIONS,f=e.n(e=>{let t=!1;for(let n of e){let e=o.get(n)??[],r=s.get(n)??[];if(e.length===0&&r.length===0)continue;let a=e.length>0?e.reduce((e,t)=>e+(i[t]??0)+1,0)/e.length:i[n]??0,c=r.length>0?r.reduce((e,t)=>e+(i[t]??0)-1,0)/r.length:i[n]??0,l=Math.round((a+c)/2),d=u(n,l);d!==i[n]&&(i[n]=d,t=!0)}return t},`relaxOrder`);for(let e=0;e<d;e++){let e=f(c),t=f(l);if(!e&&!t)break}for(let e of c){let t=0;for(let n of o.get(e)??[])t=Math.max(t,(i[n]??0)+1);(i[e]??0)<t&&(i[e]=t)}for(let e of l){let t=s.get(e)??[];if(t.length>0){let n=Math.min(...t.map(e=>(i[e]??0)-1));(i[e]??0)>n&&(i[e]=n)}}return{layers:Qt(r,c,i),rankOf:i,dummy:new Set}}e.n(kn,`assignLayers_Gravity`);function An(e){let t=Yt(e),n=Jt(e),r=Xt(t),i=[];for(;r.length>0;){let e=[];for(let a of r){i.push(a);for(let r of n.get(a)??[])t.set(r,(t.get(r)??0)-1),(t.get(r)??0)===0&&e.push(r)}r=e.sort((e,t)=>e.localeCompare(t))}return i.length===e.nodes.length?i:null}e.n(An,`topoSortByGenerationIfAcyclic`);function jn(t,n){let r=Gt(t),i=n?.direction===`LR`?An(r)??[...r.nodes].sort():$t(r)??[...r.nodes].sort(),a=an(r),o=e.n(e=>a(e)??e,`laneOf`),s=Object.create(null),c=new Map,l=e.n((e,t)=>n?.ignoreCrossLaneEdges??!0?+(o(e)===o(t)):1,`edgeWeight`);for(let e of i){if(r.nodeById.get(e)?.isGroup)continue;let t=Kt(r,e),n=0;if(t.length>0)for(let r of t){let t=r.src,i=s[t]??0;n=Math.max(n,i+l(t,e))}let i=o(e),a=c.get(i)??0,u=Math.max(n,a);s[e]=u,c.set(i,u+1)}return{layers:Qt(r,i,s,{skipGroups:!0}),rankOf:s,dummy:new Set}}e.n(jn,`assignLayers_LaneAwareCompact`);function Mn(t,n){let r=Gt(n),{rankOf:i}=t,a=t.layers.map(e=>[...e]),o=new Set(t.dummy?[...t.dummy]:[]),s=0,c=new Map(r.nodeById),l=e.n(e=>{let t=`placeholder-${s++}`,n={id:t,isGroup:!1,isDummy:!0,width:0,height:0};for(c.set(t,n),o.add(t);a.length<=e;)a.push([]);return a[e].push(t),i[t]=e,t},`addDummyAt`),u=[...r.edges].sort((e,t)=>e.id===t.id?e.src===t.src?e.dst.localeCompare(t.dst):e.src.localeCompare(t.src):e.id.localeCompare(t.id)),d=[];for(let e of u){let t=i[e.src]??0,n=i[e.dst]??0;if(n-t<=1){d.push(e);continue}let r=e.src;for(let i=t+1,a=0;i<n;i++,a++){let t=l(i);d.push({id:`${e.id}#${a}`,src:r,dst:t,weight:e.weight,ref:e.ref}),r=t}let a=n-t-2;d.push({id:`${e.id}#${Math.max(a+1,0)}`,src:r,dst:e.dst,weight:e.weight,ref:e.ref})}let f={nodes:[...r.nodes,...[...o].filter(e=>!r.nodes.includes(e))],edges:d,layout:r.layout,nodeById:c};return{layering:{layers:a,rankOf:i,dummy:o},graphWithDummies:f}}e.n(Mn,`makeProperLayering`);function Nn(e){let t=e.length;if(t===0)return 1/0;let n=[...e].sort((e,t)=>e-t);return t%2==1?n[(t-1)/2]:.5*(n[t/2-1]+n[t/2])}e.n(Nn,`median`);function Pn(e){return e.length===0?1/0:e.reduce((e,t)=>e+t,0)/e.length}e.n(Pn,`barycenter`);function Fn(e,t,n,r){let i=new Map;for(let t of e)i.set(t,[]);for(let e of n)r===`down`?t.has(e.src)&&i.has(e.dst)&&i.get(e.dst).push(t.get(e.src)):t.has(e.dst)&&i.has(e.src)&&i.get(e.src).push(t.get(e.dst));return i}e.n(Fn,`neighborPositionsFor`);function In(e,t,n){let r=n.get(e)??0,i=n.get(t)??0;return r===i?e.localeCompare(t):r-i}e.n(In,`currentOrderTieBreak`);function Ln(e,t,n){let r=new Set(e),i=new Set(t),a=en(e),o=en(t),s=[];for(let e of n)r.has(e.src)&&i.has(e.dst)&&s.push({u:a.get(e.src),v:o.get(e.dst)});return s.sort((e,t)=>e.u===t.u?e.v-t.v:e.u-t.u),tn(s.map(e=>e.v))}e.n(Ln,`countCrossingsBetweenAdjacent`);function Rn(e,t,n){return[...e].sort((e,r)=>{let i=Nn(t.get(e)??[]),a=Nn(t.get(r)??[]);return i===a?In(e,r,n):isFinite(i)?isFinite(a)?i-a:-1:1})}e.n(Rn,`sortByHeuristic`);function zn(e,t,n,r,i,a){let o=en(e),s=en(t),c=Fn(t,o,n,r);if(!i||!a||a.length===0)return Rn(t,c,s);let l=new Map;for(let e of t){let t=i(e),n=l.get(t)??[];n.push(e),l.set(t,n)}let u=[];for(let e of a){let t=l.get(e);if(!t||t.length===0)continue;let n=Rn(t,c,s);u.push(...n)}let d=l.get(null);if(d&&d.length>0){let e=Rn(d,c,s);for(let t of e){let e=Pn(c.get(t)??[]),n=u.length;if(isFinite(e)){for(let[t,r]of u.entries())if(e<Pn(c.get(r)??[])){n=t;break}}u.splice(n,0,t)}}return u}e.n(zn,`reorderLayer`);function Bn(t,n,r,i,a){let o=[...n],s=new Set(t),c=new Set(n),l=i?new Set(i):null,u=r.filter(e=>s.has(e.src)&&c.has(e.dst)),d=l?r.filter(e=>c.has(e.src)&&l.has(e.dst)):void 0,f=e.n(e=>{let n=Ln(t,e,u);return d&&i&&(n+=Ln(e,i,d)),n},`crossingScore`),p=a?new Map:null;if(a&&p)for(let e of n)p.set(e,a(e));let m=!0,h=f(o);for(;m;){m=!1;for(let e=0;e+1<o.length;e++){if(p&&p.get(o[e])!==p.get(o[e+1]))continue;let t=h;[o[e],o[e+1]]=[o[e+1],o[e]];let n=f(o);n<t?(h=n,m=!0):[o[e],o[e+1]]=[o[e+1],o[e]]}}return o}e.n(Bn,`transposeImprove`);function Vn(e,t,n){let r=e.layers.map(e=>[...e]),i=t.edges,a=an(t),o=sn(t,n?.laneOrder);for(let e=0;e<3;e++){for(let e=1;e<r.length;e++)r[e]=zn(r[e-1],r[e],i,`down`,a,o),r[e]=Bn(r[e-1],r[e],i,r[e+1],a);for(let e=r.length-2;e>=0;e--)r[e]=zn(r[e+1],r[e],i,`up`,a,o),r[e]=Bn(r[e+1],r[e],i,r[e-1],a)}return{layers:r}}e.n(Vn,`orderLayers`);function Hn(t,n,r){let i=r?.layerGap??un.DEFAULT_LAYER_GAP,a=r?.nodeGap??un.DEFAULT_NODE_GAP,o=r?.laneGap??a*2,s=r?.direction??`TB`,c=s===`LR`||s===`RL`,l=t.layers,u=Object.create(null),d=Object.create(null),f=e.n(e=>n.nodeById.get(e),`getNode`),p=e.n(e=>f(e)?.width??0,`getWidth`),m=e.n(e=>f(e)?.height??0,`getHeight`),h=an(n),g=sn(n,r?.laneOrder),_=l.map(e=>e.reduce((e,t)=>Math.max(e,m(t)),0)),v=[];if(c)for(let e=0;e+1<l.length;e++){let t=l[e].reduce((e,t)=>Math.max(e,p(t)),0),n=l[e+1].reduce((e,t)=>Math.max(e,p(t)),0),r=_[e],a=_[e+1],o=r/2+a/2,s=(t+n)/2,c=Math.max(0,s-o-i);v.push(c)}let y=new Set;for(let e of l)for(let t of e)y.add(h(t));let b=y.has(null),x=g.filter(e=>y.has(e)),S=[...b?[null]:[],...x],C=Object.create(null);for(let e of x)C[e]=0;b&&(C.null=0);for(let e of l){let t=Object.create(null),n=[];for(let r of e){let e=h(r);e===null?n.push(r):(t[e]||=[]).push(r)}for(let[e,n]of Object.entries(t)){let t=n.reduce((e,t)=>e+p(t),0)+a*Math.max(0,n.length-1);C[e]=Math.max(C[e]??0,t)}if(b&&n.length){let e=n.reduce((e,t)=>e+p(t),0)+a*Math.max(0,n.length-1);C.null=Math.max(C.null??0,e)}}let w=new Map;{let e=S.map(e=>(e===null?C.null:C[e])??0),t=-(e.reduce((e,t)=>e+t,0)+o*Math.max(0,S.length-1))/2;for(let n=0;n<S.length;n++){let r=S[n],i=e[n]??0,a=t+i/2;w.set(r,a),t+=i,n<S.length-1&&(t+=o)}}let T=0;for(let[e,t]of l.entries()){let n=_[e]??0,r=new Map;for(let e of t){let t=h(e),n=r.get(t)??[];n.push(e),r.set(t,n)}for(let e of S){let t=r.get(e)??[];if(t.length===0)continue;let i=w.get(e);if(t.length===1){let e=t[0];u[e]=i,d[e]=T+n/2}else{let e=t.map(e=>p(e)),r=i-(e.reduce((e,t)=>e+t,0)+a*(t.length-1))/2;for(let[i,o]of t.entries()){let t=e[i];u[o]=r+t/2,d[o]=T+n/2,r+=t+a}}}let o=v[e]??0;T+=n+i+o}let E=new Map;for(let e of n.edges){let t=e.ref.id;E.has(t)||E.set(t,[]),E.get(t).push(e)}for(let[,e]of E){if(e.length===0)continue;let t=e[0].ref,r=t.start,i=t.end;if(r==null||i==null)continue;let a=Math.round(((u[r]??0)+(u[i]??0))/2),o=new Set;for(let t of e)o.add(t.src),o.add(t.dst);for(let e of o)e===r||e===i||n.nodeById.get(e)?.isDummy&&(u[e]=a)}return{x:u,y:d}}e.n(Hn,`assignCoordinates`);var Un=8;function Wn(e){let t=2166136261;for(let n=0;n<e.length;n++)t^=e.charCodeAt(n),t=Math.imul(t,16777619);return t>>>0}e.n(Wn,`hashString`);function Gn(e){let t=e>>>0;return()=>{t+=1831565813;let e=t;return e=Math.imul(e^e>>>15,e|1),e^=e+Math.imul(e^e>>>7,e|61),((e^e>>>14)>>>0)/4294967296}}e.n(Gn,`mulberry32`);function Kn(e,t){let n=[...e],r=Gn(t);for(let e=n.length-1;e>0;e--){let t=Math.floor(r()*(e+1));[n[e],n[t]]=[n[t],n[e]]}return n}e.n(Kn,`deterministicShuffle`);function qn(e,t){let n=0;for(let[r,i]of e.entries())n+=Math.abs(r-(t.get(i)??r));return n}e.n(qn,`sourceDistance`);function Jn(e,t){let n=new Map;for(let[t,r]of e.entries())n.set(r,t);let r=0;for(let{a:e,b:i,weight:a}of t){let t=n.get(e),o=n.get(i);t==null||o==null||(r+=a*Math.abs(t-o))}return r}e.n(Jn,`laneArrangementCost`);function Yn(e){let t=on(e);if(t.length<2)return[];let n=new Map(t.map((e,t)=>[e,t])),r=an(e),i=new Map;for(let t of e.layout.edges??[]){if(t.isLayoutOnly)continue;let a=typeof t.start==`string`?t.start:void 0,o=typeof t.end==`string`?t.end:void 0;if(!a||!o||!e.nodeById.has(a)||!e.nodeById.has(o))continue;let s=r(a),c=r(o);if(!s||!c||s===c)continue;let l=n.get(s),u=n.get(c);if(l==null||u==null)continue;let[d,f]=l<=u?[s,c]:[c,s],p=`${d}\0${f}`,m=i.get(p);m?m.weight++:i.set(p,{a:d,b:f,weight:1})}return[...i.values()]}e.n(Yn,`buildWeightedLaneEdges`);function Xn(e,t,n){let r=[...e],i=Jn(r,t),a=!0,o=0,s=Math.max(1,r.length);for(;a&&o<s;){a=!1,o++;for(let e=0;e+1<r.length;e++){[r[e],r[e+1]]=[r[e+1],r[e]];let n=Jn(r,t);n<i?(i=n,a=!0):[r[e],r[e+1]]=[r[e+1],r[e]]}}return{order:r,cost:i,sourceDistance:qn(r,n)}}e.n(Xn,`greedySwitch`);function Zn(e,t){return e.cost===t.cost?e.sourceDistance<t.sourceDistance:e.cost<t.cost}e.n(Zn,`isBetterCandidate`);function Qn(e,t,n){let r=[...t].sort((e,t)=>e.a===t.a?e.b.localeCompare(t.b):e.a.localeCompare(t.a)).map(({a:e,b:t,weight:n})=>`${e}:${t}:${n}`).join(`|`);return Wn(`${e.join(`|`)}#${r}#${n}`)}e.n(Qn,`seedForRestart`);function $n(e,t={}){let n=on(e);if(n.length<2)return n;let r=Yn(e);if(r.length===0)return n;let i=new Map(n.map((e,t)=>[e,t])),a=Xn(n,r,i),o=Math.max(0,t.restarts??Un);for(let e=0;e<o;e++){let t=Xn(Kn(n,Qn(n,r,e)),r,i);Zn(t,a)&&(a=t)}return a.order}e.n($n,`optimizeTopLaneOrder`);function er(e,t){let n=t?.ignoreCrossLaneEdges??!0,r=t?.optimizeRanksByCrossings??!0,i=Gt(e),a=t?.automaticLaneOrdering?$n(i,{restarts:Un}):void 0,o=nn(i),s=o.acyclic,{layering:c,graphWithDummies:l}=Mn(n?jn(s,{compactSingleInput:t?.compactSingleInput??ln.DEFAULT_COMPACT_SINGLE_INPUT,ignoreCrossLaneEdges:!0,direction:t?.direction}):kn(s,{compactSingleInput:t?.compactSingleInput??ln.DEFAULT_COMPACT_SINGLE_INPUT,ignoreCrossLaneEdges:!1,optimizeRanksByCrossings:r}),s),u=Vn(c,l,{laneOrder:a}),d=Hn(u,l,{layerGap:t?.layerGap,nodeGap:t?.nodeGap,direction:t?.direction,laneOrder:a});return{acyclic:s,reversed:o.reversed,layering:c,ordered:u,coordinates:d}}e.n(er,`sugiyamaLayout`);var $=cn.EPSILON,tr=8,nr=15,rr=15,ir=25,ar=20,or=10;function sr(e,t,n){let r=e.x??0,i=e.y??0,a=t.x-r,o=t.y-i,s=Math.abs(a),c=Math.abs(o);return s<$&&c<$?n:c>$&&c*3>=s?o>0?`bottom`:`top`:s>$?a>0?`right`:`left`:n}e.n(sr,`chooseOrthogonalSide`);function cr(e,t){return Math.abs(e.to-t.from)<$||Math.abs(e.to-t.to)<$?e.to:e.from}e.n(cr,`sharedLineEndpointCoord`);function lr(e,t){return e.orient===`vertical`?{x:e.coord,y:t}:{x:t,y:e.coord}}e.n(lr,`pointOnLine`);function ur(t,n){let r=t.nodes??[],i=t.edges??[],a=[];for(let e of i)e.isLayoutOnly||a.push({...e,__originalEdge:e});let o=new Map,s=new Map,c=[],l=n===`LR`;for(let e of r)o.set(e.id,e);let u=r.filter(e=>e.isGroup&&!e.parentId);for(let t of u){let n={id:t.id},i=e.n(e=>{s.set(e.id,n),r.filter(t=>t.parentId===e.id).forEach(i)},`assignLane`);i(t)}let d=r.filter(e=>!e.isGroup&&!e.isEdgeLabel).map(e=>{let t=e.width??10,n=e.height??10,r=e.x??0,i=e.y??0,a=tr;return{nodeId:e.id,minX:r-t/2-a,maxX:r+t/2+a,minY:i-n/2-a,maxY:i+n/2+a,visualXHalfExtent:l?n/2+a:t/2+a}}),f=e.n((e,t,n,r)=>{let i=c.find(n=>n.orientation===e&&Math.abs(n.coord-t)<1);return i||(i={id:`pipe-${e}-${t.toFixed(0)}`,orientation:e,coord:t,spanMin:n,spanMax:r,tracks:[]},c.push(i)),i.spanMin=Math.min(i.spanMin,n),i.spanMax=Math.max(i.spanMax,r),i},`getOrAddPipe`),p=e.n((e,t)=>{let n=e.width??10,r=e.height??10,i=e.x??0,a=e.y??0;switch(t){case`top`:return{x:i,y:a-r/2};case`bottom`:return{x:i,y:a+r/2};case`left`:return{x:i-n/2,y:a};case`right`:return{x:i+n/2,y:a}}},`portForSide`),m=e.n((e,t,n)=>p(e,sr(e,t,n?`bottom`:`top`)),`getOrthogonalPort`),h=[],g=[],_=new Set,v=1e3,y=e.n((e,t,n)=>{if(h.length===0)return 0;let r=Math.abs(t.y-n.y)<$,i=Math.abs(t.x-n.x)<$;if(!r&&!i)return 0;let a=0;if(r){let r=t.y,i=Math.min(t.x,n.x)-$,o=Math.max(t.x,n.x)+$;if(o<=i)return 0;for(let t of h)t.edgeIndex===e||t.orientation!==`vertical`||t.pipe.coord<i||t.pipe.coord>o||t.from-$<=r&&t.to+$>=r&&(a+=v)}else if(i){let r=t.x,i=Math.min(t.y,n.y)-$,o=Math.max(t.y,n.y)+$;if(o<=i)return 0;for(let t of h)t.edgeIndex===e||t.orientation!==`horizontal`||t.pipe.coord<i||t.pipe.coord>o||t.from-$<=r&&t.to+$>=r&&(a+=v)}return a},`crossingPenalty`),b=a.map((e,t)=>{if(!e.start||!e.end)return{idx:t,crossLane:0,dx:0,dy:0};let n=o.get(e.start),r=o.get(e.end),i=s.get(e.start),a=s.get(e.end);return{idx:t,crossLane:i&&a&&i.id!==a.id?1:0,dx:n&&r?Math.abs((r.x??0)-(n.x??0)):0,dy:n&&r?Math.abs((r.y??0)-(n.y??0)):0}}).sort((e,t)=>{if(e.crossLane!==t.crossLane)return t.crossLane-e.crossLane;let n=e.dx+e.dy,r=t.dx+t.dy;return Math.abs(n-r)>1?n-r:e.idx-t.idx}).map(e=>e.idx),x=e.n((e,t,n,r)=>{let i=Math.min(e.x,t.x),a=Math.max(e.x,t.x),o=Math.min(e.y,t.y),s=Math.max(e.y,t.y);return!!d.find(c=>n&&c.nodeId===n||r&&c.nodeId===r?!1:Math.abs(e.x-t.x)>$?c.minY<e.y&&c.maxY>e.y&&c.maxX>i&&c.minX<a:c.minX<e.x&&c.maxX>e.x&&c.maxY>o&&c.minY<s)},`isSegmentBlocked`),S=new Map,C=new Map;for(let e of a)!e.start||!e.end||e.start===e.end||(C.set(e.start,(C.get(e.start)??0)+1),C.set(e.end,(C.get(e.end)??0)+1));let w=e.n((e,t)=>sr(e,t,`bottom`),`determineSide`),T=new Map;for(let[e,t]of a.entries()){if(!t.start||!t.end||t.start===t.end||t.points&&t.points.length>0)continue;let n=o.get(t.start),r=o.get(t.end);if(!n||!r)continue;let i=(r.x??0)-(n.x??0),a=(r.y??0)-(n.y??0);T.set(e,{edgeIdx:e,srcId:t.start,dstId:t.end,srcSide:w(n,{x:r.x??0,y:r.y??0}),dstSide:w(r,{x:n.x??0,y:n.y??0}),absDx:Math.abs(i),absDy:Math.abs(a),dxSign:Math.sign(i),dySign:Math.sign(a)})}let E=e.n(e=>e.srcSide===`top`||e.srcSide===`bottom`?e.absDx===0?1/0:e.absDy/e.absDx:e.absDy===0?1/0:e.absDx/e.absDy,`preferenceStrength`),D=e.n(e=>e.srcSide===`top`||e.srcSide===`bottom`?e.dxSign>=0?`right`:`left`:e.dySign>=0?`bottom`:`top`,`secondarySide`),O=new Map;for(let e of T.values()){let t=`${e.srcId}:${e.srcSide}`;O.has(t)||O.set(t,[]),O.get(t).push(e)}let k=new Map,A=e.n((e,t)=>`${e}:${t}`,`loadKey`);for(let e of T.values())k.set(A(e.srcId,e.srcSide),(k.get(A(e.srcId,e.srcSide))??0)+1),k.set(A(e.dstId,e.dstSide),(k.get(A(e.dstId,e.dstSide))??0)+1);for(let e of O.values())if(!(e.length<2)){e.sort((e,t)=>{let n=E(e),r=E(t);return Math.abs(n-r)>1e-9?r-n:e.edgeIdx-t.edgeIdx});for(let t=1;t<e.length;t++){let n=e[t],r=D(n),i=k.get(A(n.srcId,n.srcSide))??0,a=k.get(A(n.srcId,r))??0;a>=i||(k.set(A(n.srcId,n.srcSide),i-1),k.set(A(n.srcId,r),a+1),n.srcSide=r)}}let j=e.n(e=>{let t=e?.shape;return t===`question`||t===`diamond`},`isDiamondNode`),M=new Map;for(let e of T.values())M.has(e.dstId)||M.set(e.dstId,new Set),M.get(e.dstId).add(e.dstSide);for(let e of T.values()){if(!j(o.get(e.srcId)))continue;let t=M.get(e.srcId);if(!t?.has(e.srcSide))continue;let n=D(e);if(t.has(n)||(k.get(A(e.srcId,n))??0)>0)continue;let r=k.get(A(e.srcId,e.srcSide))??0;k.set(A(e.srcId,e.srcSide),Math.max(0,r-1)),k.set(A(e.srcId,n),1),e.srcSide=n}for(let e of T.values()){let{edgeIdx:t,srcId:n,dstId:r,srcSide:i,dstSide:a}=e,s=o.get(n),c=o.get(r),l=`${n}:${i}:src`,u=i===`top`||i===`bottom`?c.x??0:c.y??0;S.has(l)||S.set(l,[]),S.get(l).push({edgeIdx:t,oppositeCoord:u});let d=`${r}:${a}:dst`,f=a===`top`||a===`bottom`?s.x??0:s.y??0;S.has(d)||S.set(d,[]),S.get(d).push({edgeIdx:t,oppositeCoord:f})}let ee=new Map;for(let[e,t]of S){if(t.length<2)continue;t.sort((e,t)=>e.oppositeCoord-t.oppositeCoord);let n=e.split(`:`),r=n.slice(0,-2).join(`:`),i=n[n.length-2],a=n[n.length-1],s=o.get(r);if(!s)continue;let c=i===`left`||i===`right`?s.height??10:s.width??10,l=s.shape,u=l===`question`||l===`diamond`?c*.3:c,d=Math.min(20,Math.max(8,u/(t.length+1))),f=-(d*(t.length-1))/2;for(let[e,n]of t.entries()){let t=f+e*d,r=`${n.edgeIdx}:${a}`;ee.set(r,t)}}let N=e.n(e=>!!a[e]?.labelNodeId,`edgeHasLabelNode`),te=e.n((e,t)=>e?(S.get(`${e}:${t}:src`)??[]).some(({edgeIdx:e})=>N(e))||(S.get(`${e}:${t}:dst`)??[]).some(({edgeIdx:e})=>N(e)):!1,`faceHasLabelNode`),P=e.n((e,t,n)=>t===`top`||t===`bottom`?{x:e.x+n,y:e.y}:{x:e.x,y:e.y+n},`applyPortOffset`),ne=e.n((e,t,n)=>{let r=T.get(e),i={x:n.x??0,y:n.y??0},a={x:t.x??0,y:t.y??0},o=r?.srcSide??w(t,i),s=r?.dstSide??w(n,a),c=r?p(t,r.srcSide):m(t,i,!0),l=r?p(n,r.dstSide):m(n,a,!1),u=ee.get(`${e}:src`),d=ee.get(`${e}:dst`);return u!==void 0&&(c=P(c,o,u)),d!==void 0&&(l=P(l,s,d)),{pSrcPort:c,pDstPort:l,srcSide:o,dstSide:s}},`portsForEdge`);for(let t of b){let n=a[t];if(g[t]=[],!n.start||!n.end||n.points&&n.points.length>0||n.start===n.end)continue;let r=o.get(n.start),i=o.get(n.end);if(!r||!i)continue;let{pSrcPort:s,pDstPort:u,srcSide:p,dstSide:m}=ne(t,r,i),v={...s},b={...u},w=p===`top`||p===`bottom`,T=m===`top`||m===`bottom`;w?v.y=s.y>(r.y??0)?s.y+ar:s.y-ar:v.x=s.x>(r.x??0)?s.x+ar:s.x-ar,T?b.y=u.y>(i.y??0)?u.y+ar:u.y-ar:b.x=u.x>(i.x??0)?u.x+ar:u.x-ar;let E=e.n((e,t)=>{for(let n of d)if(!t.includes(n.nodeId)&&e.x>n.minX&&e.x<n.maxX&&e.y>n.minY&&e.y<n.maxY)return{inside:!0,obstacle:n};return{inside:!1}},`isPointInObstacle`),D=e.n((e,t,n,r,i)=>{if(i){let i=e.y>(t.y??0);return{x:(n.x??0)>=e.x?r.maxX+nr:r.minX-nr,y:i?r.maxY+rr:r.minY-rr,leavesPositiveSide:i}}let a=e.x>(t.x??0),o=(n.y??0)>=e.y;return{x:a?r.maxX+nr:r.minX-nr,y:o?r.maxY+rr:r.minY-rr,leavesPositiveSide:a}},`obstacleDetour`),O=[],k=[n.start,n.end],A=E(v,k);if(A.inside&&A.obstacle){let e=A.obstacle;if(w){let t=D(s,r,i,e,!0);v.x=t.x,v.y=t.y;let n=t.leavesPositiveSide?Math.min(e.minY-2,s.y+ar):Math.max(e.maxY+2,s.y-ar);O=[{x:s.x,y:n},{x:t.x,y:n},{x:t.x,y:t.y}]}else{let t=D(s,r,i,e,!1),n=t.leavesPositiveSide?Math.min(e.minX-2,s.x+ar):Math.max(e.maxX+2,s.x-ar);v.x=t.x,v.y=t.y,O=[{x:n,y:s.y},{x:n,y:t.y},{x:t.x,y:t.y}]}}let j=[],M=E(b,k);if(M.inside&&M.obstacle){let e=M.obstacle;if(T){let t=D(u,i,r,e,!0);b.x=t.x,b.y=t.y,j=[{x:t.x,y:t.y},{x:u.x,y:t.y}]}else{let t=D(u,i,r,e,!1);b.x=t.x,b.y=t.y,j=[{x:t.x,y:t.y},{x:t.x,y:u.y}]}}if(O.length===0&&j.length===0){let e=nr,r=Math.abs(v.x-b.x)<e,i=Math.abs(v.y-b.y)<e,a=ee.get(`${t}:src`)!==void 0||ee.get(`${t}:dst`)!==void 0,o=(S.get(`${n.start??``}:${p}:src`)?.length??0)+(S.get(`${n.start??``}:${p}:dst`)?.length??0),c=(S.get(`${n.end??``}:${m}:src`)?.length??0)+(S.get(`${n.end??``}:${m}:dst`)?.length??0),l=o>1||c>1,d=C.get(n.start??``)??0,f=C.get(n.end??``)??0,g=o>1&&te(n.start,p)||c>1&&te(n.end,m);if((r||i)&&!a&&(!l||l&&!g&&(o<=1||d<=2)&&(c<=1||f<=2))&&!x(s,u,n.start,n.end)){n.points=[{...s},{...v},{...b},{...u}],_.add(t);let e=i?`horizontal`:`vertical`,r=i?s.y:s.x,a=i?Math.min(s.x,u.x):Math.min(s.y,u.y),o=i?Math.max(s.x,u.x):Math.max(s.y,u.y),c={id:`fast-path-${e}-${r.toFixed(0)}-${t}`,orientation:e,coord:r,spanMin:a,spanMax:o,tracks:[]};h.push({edgeIndex:t,segmentIndex:0,orientation:e,pipe:c,trackIndex:0,from:a,to:o});continue}}v.x=f(`vertical`,v.x,v.y,v.y).coord,b.x=f(`vertical`,b.x,b.y,b.y).coord;let N=Math.min(v.x,b.x)-50,P=Math.max(v.x,b.x)+50,re=Math.min(v.y,b.y)-50,ie=Math.max(v.y,b.y)+50;for(let e of d){let t=Math.min(v.x,b.x),n=Math.max(v.x,b.x),r=Math.min(v.y,b.y),i=Math.max(v.y,b.y);e.minX<n&&e.maxX>t&&e.minY<i&&e.maxY>r&&(N=Math.min(N,e.minX-ir),P=Math.max(P,e.maxX+ir),re=Math.min(re,e.minY-ir),ie=Math.max(ie,e.maxY+ir))}for(let e of d){if(e.maxX<N||e.minX>P||e.maxY<re||e.minY>ie)continue;let t=nr;f(`horizontal`,e.minY-t,N,P),f(`horizontal`,e.maxY+t,N,P);let n=rr;f(`vertical`,e.minX-n,re,ie),f(`vertical`,e.maxX+n,re,ie)}f(`horizontal`,v.y,N,P),f(`horizontal`,b.y,N,P);let ae=c.filter(e=>e.orientation===`horizontal`&&e.coord>=re&&e.coord<=ie),oe=c.filter(e=>e.orientation===`vertical`&&e.coord>=N&&e.coord<=P),F=e.n((e,t)=>`${e.toFixed(1)},${t.toFixed(1)}`,`getKey`),se=F(v.x,v.y),ce=F(b.x,b.y),I=new Map,L=new Map,R=new Map,z=new Set,B=[];I.set(se,0),R.set(se,`n`),B.push({key:se,f:Math.hypot(b.x-v.x,b.y-v.y),pt:v}),z.add(se);let V=[],H=e.n((e,t)=>x(e,t,n.start,n.end),`checkSegmentBlocked`),le={x:b.x,y:v.y},U=H(v,le),W=H(le,b),ue=U||W,de={x:v.x,y:b.y},fe=H(v,de),pe=H(de,b);if(ue?fe||pe||(V=Math.abs(v.x-b.x)<$?[v,b]:[v,de,b]):V=Math.abs(v.y-b.y)<$||Math.abs(v.x-b.x)<$?[v,b]:[v,le,b],V.length===0)for(;B.length>0;){B.sort((e,t)=>e.f-t.f);let e=B.shift();if(z.delete(e.key),e.key===ce){let e=ce,t=b;for(V=[t];L.has(e);){let n=L.get(e);V.unshift(n),t=n,e=F(n.x,n.y)}break}let r=e.pt.x,i=e.pt.y,a=oe.sort((e,t)=>e.coord-t.coord),o=a.findIndex(e=>Math.abs(e.coord-r)<1),s=ae.sort((e,t)=>e.coord-t.coord),c=s.findIndex(e=>Math.abs(e.coord-i)<1),l=[];o>0&&l.push({x:a[o-1].coord,y:i}),o>=0&&o<a.length-1&&l.push({x:a[o+1].coord,y:i}),c>0&&l.push({x:r,y:s[c-1].coord}),c>=0&&c<s.length-1&&l.push({x:r,y:s[c+1].coord});for(let a of l){let o=Math.min(r,a.x),s=Math.max(r,a.x),c=Math.min(i,a.y),l=Math.max(i,a.y);if(d.some(e=>e.nodeId===n.start||e.nodeId===n.end?!1:o===s?e.minX<r&&e.maxX>r&&e.maxY>c&&e.minY<l:e.minY<i&&e.maxY>i&&e.maxX>o&&e.minX<s))continue;let u=F(a.x,a.y),f=Math.abs(a.x-r)+Math.abs(a.y-i),p=y(t,e.pt,a),m=0,h=b.x-v.x,g=b.y-v.y,_=a.x-r,x=a.y-i;(g>10&&x<-5||g<-10&&x>5)&&(m=Math.abs(x)*100),(h>10&&_<-5||h<-10&&_>5)&&(m+=Math.abs(_)*50);let S=0,C=R.get(e.key)??`n`,w=Math.abs(_)>$?`h`:`v`;C!==`n`&&C!==w&&(S=50);let T=f+p+m+S,E=(I.get(e.key)??1/0)+T,D=Math.abs(b.x-a.x)+Math.abs(b.y-a.y);if(E<(I.get(u)??1/0))if(L.set(u,e.pt),I.set(u,E),R.set(u,w),!z.has(u))B.push({key:u,f:E+D,pt:a}),z.add(u);else{let e=B.findIndex(e=>e.key===u);e!==-1&&(B[e].f=E+D)}}}if(V.length===0&&(V=[v,{x:v.x,y:b.y},b]),V.length>4){let t=V[0],n=V[V.length-1],r=Math.min(t.x,n.x),i=Math.max(t.x,n.x),a=Math.min(t.y,n.y),o=Math.max(t.y,n.y);for(let e of V)r=Math.min(r,e.x),i=Math.max(i,e.x),a=Math.min(a,e.y),o=Math.max(o,e.y);let s=i>Math.max(t.x,n.x),c=r<Math.min(t.x,n.x);if(l){let e=rr;if(s){let r=Math.max(t.x,n.x),a=Math.min(t.y,n.y),o=Math.max(t.y,n.y),s=d.filter(e=>e.minX<r&&e.maxX>r&&e.minY<o&&e.maxY>a);if(s.length>0){let r=Math.max(t.x,n.x);for(let t of s){let n=(t.minX+t.maxX)/2;if(t.visualXHalfExtent===void 0||isNaN(t.visualXHalfExtent))continue;let i=n+t.visualXHalfExtent+e;r=Math.max(r,i)}isNaN(r)||(i=r)}}if(c){let i=d.filter(r=>r.minX<Math.min(t.x,n.x)+e&&r.minY<Math.max(t.y,n.y)&&r.maxY>Math.min(t.y,n.y));if(i.length>0){let a=Math.min(t.x,n.x);for(let t of i){let n=(t.minX+t.maxX)/2-t.visualXHalfExtent-e;a=Math.min(a,n)}r=a}}}let u=e.n(e=>{let r=n.y>t.y,i=d.filter(e=>{let r=Math.min(t.x,n.x)<e.maxX&&Math.max(t.x,n.x)>e.minX,i=Math.min(t.y,n.y)<e.maxY&&Math.max(t.y,n.y)>e.minY;return r&&i}),a=i;if(l&&i.length>0){let t=i.filter(t=>t.minX<e&&t.maxX>e);t.length>0&&(a=t)}if(a.length===0)return n.y;let o=nr;if(r){let e=Math.max(...a.map(e=>e.maxY))+o;if(e<n.y-$)return e}else{let e=Math.min(...a.map(e=>e.minY))-o;if(e>n.y+$)return e}return n.y},`findBestReturnY`),f=e.n(e=>{let r=u(e),i={x:e,y:t.y},a={x:e,y:r},o={x:n.x,y:r},s=H(t,i),c=H(i,a),l=H(a,o),d=r===n.y?!1:H(o,n);return!s&&!c&&!l&&!d?Math.abs(r-n.y)<$?[t,i,a,n]:[t,i,a,o,n]:null},`trySimplifyWithDetourX`),p=s&&!c?f(i):c&&!s?f(r):null;p&&(V=p)}let G=[s,...O,...V,...j.reverse(),u];if(G.length>=3){let e=G[G.length-1],t=G[G.length-2],n=G[G.length-3],r=Math.abs(n.y-t.y)<$&&Math.abs(t.y-e.y)<$,i=Math.abs(n.x-t.x)<$&&Math.abs(t.x-e.x)<$;if(r){let r=Math.sign(t.x-n.x),i=Math.sign(e.x-n.x);r!==0&&r===i&&Math.abs(t.x-n.x)>Math.abs(e.x-n.x)&&G.splice(-2,1)}else if(i){let r=Math.sign(t.y-n.y),i=Math.sign(e.y-n.y);r!==0&&r===i&&Math.abs(t.y-n.y)>Math.abs(e.y-n.y)&&G.splice(-2,1)}}let me=[G[0]];for(let e=1;e<G.length-1;e++){if(e===1){me.push(G[e]);continue}let t=me[me.length-1],n=G[e],r=G[e+1];if(Math.abs(t.y-n.y)<$&&Math.abs(n.y-r.y)<$){if(n.x>t.x!=r.x>n.x){me.push(n);continue}continue}if(Math.abs(t.x-n.x)<$&&Math.abs(n.x-r.x)<$){if(n.y>t.y!=r.y>n.y){me.push(n);continue}continue}me.push(n)}me.push(G[G.length-1]);for(let e=0;e<me.length-1;e++){let n=me[e],r=me[e+1],i=Math.abs(n.x-r.x)<$?`vertical`:`horizontal`,a=i===`vertical`?n.x:n.y,o=i===`vertical`?Math.min(n.y,r.y):Math.min(n.x,r.x),s=i===`vertical`?Math.max(n.y,r.y):Math.max(n.x,r.x),c=f(i,a,o,s),l={edgeIndex:t,segmentIndex:e,orientation:i,pipe:c,trackIndex:0,from:o,to:s};h.push(l),g[t].push(h.length-1),c.tracks[0]||(c.tracks[0]={index:0,coord:c.coord,segments:[]}),c.tracks[0].segments.push({edgeIndex:t,segmentIndex:e,from:o,to:s})}}let re=e.n((e,t)=>e.from<t.to&&t.from<e.to,`segmentsOverlap`),ie=e.n((e,t,n,r)=>{let i=!r.segments.some(n=>(n.edgeIndex!==t.edgeIndex||n.segmentIndex!==t.segmentIndex)&&re(n,e)),a=!n.segments.some(n=>(n.edgeIndex!==e.edgeIndex||n.segmentIndex!==e.segmentIndex)&&re(n,t));return i&&a?(e.trackIndex=r.index,t.trackIndex=n.index,n.segments=[...n.segments.filter(t=>t.edgeIndex!==e.edgeIndex||t.segmentIndex!==e.segmentIndex),{edgeIndex:t.edgeIndex,segmentIndex:t.segmentIndex,from:t.from,to:t.to}],r.segments=[...r.segments.filter(e=>e.edgeIndex!==t.edgeIndex||e.segmentIndex!==t.segmentIndex),{edgeIndex:e.edgeIndex,segmentIndex:e.segmentIndex,from:e.from,to:e.to}],!0):!1},`trySwapSegmentsAcrossTracks`),ae=e.n(e=>{let t=e.tracks.length;return e.tracks[t]={index:t,coord:e.coord,segments:[]},t},`createNewTrack`),oe=e.n((e,t)=>{let n=e.pipe.tracks[e.trackIndex];n.segments=n.segments.filter(t=>t.edgeIndex!==e.edgeIndex||t.segmentIndex!==e.segmentIndex),e.trackIndex=t,e.pipe.tracks[t].segments.push({edgeIndex:e.edgeIndex,segmentIndex:e.segmentIndex,from:e.from,to:e.to})},`moveSegmentToTrack`),F=e.n((e,t)=>{let n=g[e.edgeIndex];for(let r of n){let n=h[r];n.pipe===e.pipe&&oe(n,t)}},`moveSegmentChainToTrack`),se=e.n(e=>{let t=g[e.edgeIndex],n=t.indexOf(h.indexOf(e)),r=[];return n>0&&r.push(h[t[n-1]]),n<t.length-1&&r.push(h[t[n+1]]),r},`getAdjacentSegmentsAlongEdge`),ce=e.n((e,t)=>{if(e.orientation===t.orientation)return!1;let n=e.orientation===`horizontal`?e:t,r=e.orientation===`horizontal`?t:e;return r.pipe.coord>n.from&&r.pipe.coord<n.to&&n.pipe.coord>r.from&&n.pipe.coord<r.to},`haveAnyCrossing`),I=e.n((e,t)=>{for(let n of e.tracks)if(!n.segments.some(e=>(e.edgeIndex!==t.edgeIndex||e.segmentIndex!==t.segmentIndex)&&re(e,t)))return n.index;return-1},`findAvailableTrack`),L=e.n((e,t)=>{if(e.trackIndex===t.trackIndex)return re(e,t);let n=se(e),r=se(t);return n.some(e=>r.some(t=>ce(e,t)))},`segmentsConflict`),R=e.n((e,t,n)=>{if(ie(e,t,e.pipe.tracks[e.trackIndex],t.pipe.tracks[t.trackIndex]))return;let r=I(e.pipe,t);n(t,r===-1?ae(e.pipe):r)},`resolveTrackConflict`),z=e.n(e=>{let t=0;for(let n=0;n<e.length;n++)for(let r=n+1;r<e.length;r++){let i=e[n],a=e[r];i.pipe===a.pipe&&L(i,a)&&(t++,R(i,a,F))}return t},`resolveHandleConflicts`),B=new Map,V=e.n(e=>{if(B.has(e))return B.get(e);let t=g[e];if(t.length===0){let t={dest:0,deviation:0,base:0,delta:0};return B.set(e,t),t}let n=h[t[0]].pipe.coord,r=n;for(let e=1;e<t.length;e++){let i=h[t[e]];if(i.orientation===`horizontal`){let e=i.from,t=i.to;r=Math.abs(e-n)>Math.abs(t-n)?e:t;break}}let i=Math.abs(r-n),a={dest:r,deviation:i,base:n,delta:r-n};return B.set(e,a),a},`getDestInfo`),H=e.n(()=>{let t=0,n=new Map;for(let[e,t]of a.entries())g[e].length!==0&&t.start&&(n.has(t.start)||n.set(t.start,[]),n.get(t.start).push(e));let r=e.n(e=>{let t=a[e];if(!t.start||!t.end)return 0;let n=o.get(t.start),r=o.get(t.end);if(!n||!r)return 0;let i=(r.x??0)-(n.x??0),s=(r.y??0)-(n.y??0);return Math.abs(i)+Math.abs(s)},`getEdgeDistance`);for(let e of n.values()){e.sort((e,t)=>{let n=V(e),i=V(t);if(Math.abs(n.deviation-i.deviation)>1)return n.deviation-i.deviation;if(Math.abs(n.dest-i.dest)>1)return n.dest-i.dest;let a=r(e),o=r(t);if(Math.abs(a-o)>1)return o-a;let s=g[e].length,c=g[t].length;if(s!==c)return s-c;if(s===1){let n=g[e][0],r=g[t][0];if(h[n]&&h[r]){let e=h[n],t=h[r],i=Math.abs(e.to-e.from),a=Math.abs(t.to-t.from);if(Math.abs(i-a)>1)return i-a}}return 0});let n=e.map(e=>h[g[e][0]]);t+=z(n)}return t},`fixSourceHandleCrossings`),le=e.n(()=>{let t=0,n=new Map;for(let[e,t]of a.entries())g[e].length!==0&&t.end&&(n.has(t.end)||n.set(t.end,[]),n.get(t.end).push(e));for(let r of n.values()){r.sort((t,n)=>{let r=e.n(e=>{let t=g[e];if(t.length<2)return 0;let n=h[t[t.length-2]];return Math.abs(n.to-n.from)},`getDist`),i=r(t),a=r(n);return Math.abs(i-a)>.1?i-a:t-n});let n=r.map(e=>h[g[e][g[e].length-1]]);t+=z(n)}return t},`fixTargetHandleCrossings`),U=e.n(()=>{let e=0;for(let t of c){let n=[];for(let e of t.tracks)for(let t of e.segments){let e=g[t.edgeIndex].find(e=>h[e].segmentIndex===t.segmentIndex);e!==void 0&&n.push(h[e])}n.sort((e,t)=>e.edgeIndex-t.edgeIndex||e.segmentIndex-t.segmentIndex);for(let t=0;t<n.length;t++)for(let r=t+1;r<n.length;r++){let i=n[t],a=n[r];L(i,a)&&(e++,R(i,a,oe))}}return e},`fixPipeCrossings`),W=0;for(;W<10;){let e=0;if(e+=H(),e+=le(),e+=U(),e===0)break;W++}let ue=new Map;for(let t of c){let n=[];t.tracks.forEach(e=>{e.segments.forEach(t=>{n.push({edgeIndex:t.edgeIndex,segmentIndex:t.segmentIndex,trackIndex:e.index,from:t.from,to:t.to})})}),n.sort((e,t)=>e.from-t.from);let r=[];if(n.length>0){let e=[n[0]],t=n[0].to;for(let i=1;i<n.length;i++){let a=n[i];a.from<t?(e.push(a),t=Math.max(t,a.to)):(r.push(e),e=[a],t=a.to)}r.push(e)}for(let n of r){let r=new Set;n.forEach(e=>r.add(e.trackIndex));let i=new Map;n.forEach(e=>{let t=V(e.edgeIndex);i.set(e.trackIndex,(i.get(e.trackIndex)??0)+t.delta)});let a=[...r].filter(e=>(i.get(e)??0)<-1),o=[...r].filter(e=>(i.get(e)??0)>1),s=[...r].filter(e=>Math.abs(i.get(e)??0)<=1);a.sort((e,t)=>(i.get(t)??0)-(i.get(e)??0)),o.sort((e,t)=>(i.get(e)??0)-(i.get(t)??0));let c=e.n((e,r)=>{n.filter(t=>t.trackIndex===e).forEach(e=>{let n=_.has(e.edgeIndex)?t.coord:r;ue.set(`${e.edgeIndex}-${e.segmentIndex}`,n)})},`assignCoord`),l=0;for(let e of a)l++,c(e,t.coord-l*or);if(s.length===0&&r.size>0){let e=[...r].sort((e,t)=>Math.abs(i.get(e)??0)-Math.abs(i.get(t)??0))[0],t=a.indexOf(e);t!==-1&&a.splice(t,1);let n=o.indexOf(e);n!==-1&&o.splice(n,1),s.push(e)}let u=0;for(let e of s){if(u===0)c(e,t.coord);else{let n=u%2==1?1:-1,r=Math.ceil(u/2);c(e,t.coord+n*r*or*.5)}u++}let d=0;for(let e of o)d++,c(e,t.coord+d*or)}}for(let[e,t]of a.entries()){let n=g[e]??[];if(n.length===0)continue;let r=[],{pSrcPort:i,pDstPort:a}=ne(e,o.get(t.start),o.get(t.end)),s=n.map(e=>{let t=h[e],n=ue.get(`${t.edgeIndex}-${t.segmentIndex}`)??t.pipe.coord;return{orient:t.orientation,coord:n,from:t.from,to:t.to}});r.push(i);for(let e=0;e<s.length;e++){let t=s[e],n=r[r.length-1],i=t.orient===`vertical`?n.y:n.x,a=t.orient===`vertical`?n.x:n.y,o=s[e+1],c=e<s.length-1;if(Math.abs(a-t.coord)>$&&r.push(lr(t,i)),c&&o.orient===t.orient)if(Math.abs(t.coord-o.coord)>$){let e=t.orient===`vertical`?(i+o.from)/2:cr(t,o);r.push(lr(t,e),lr(o,e))}else(e===0||e===s.length-2)&&r.push(lr(t,cr(t,o)));else if(c)r.push(lr(t,o.coord));else{let e=Math.abs(t.from-i)<Math.abs(t.to-i)?t.to:t.from;r.push(lr(t,e))}}let c=r[r.length-1];(Math.abs(c.x-a.x)>$||Math.abs(c.y-a.y)>$)&&r.push(a);let l=[];r.length>0&&l.push(r[0]);for(let e=1;e<r.length;e++){let t=r[e],n=l[l.length-1];(Math.abs(t.x-n.x)>$||Math.abs(t.y-n.y)>$)&&l.push(t)}t.points=l}for(let e of a){let t=e.__originalEdge;t&&e.points&&(t.points=e.points)}t.edges=(t.edges??[]).filter(e=>!e.isLayoutOnly);let de=e.n((e,t)=>{let n=t.x??0,r=t.y??0,i=t.width??0,a=t.height??0;if(i<=0||a<=0)return e;let o=n-i/2,s=n+i/2,c=r-a/2,l=r+a/2;if(e.x<o||e.x>s||e.y<c||e.y>l)return e;let u=e.x-o,d=s-e.x,f=e.y-c,p=l-e.y,m=Math.min(u,d,f,p);return m===u?{x:o,y:e.y}:m===d?{x:s,y:e.y}:m===f?{x:e.x,y:c}:{x:e.x,y:l}},`nodeBoundaryClamp`);for(let e of t.edges){let t=e.points;if(!t||t.length<2)continue;let n=e.start,r=e.end,i=n?o.get(n):void 0,a=r?o.get(r):void 0;i&&(t[0]=de(t[0],i)),a&&(t[t.length-1]=de(t[t.length-1],a))}return t}e.n(ur,`routeEdgesOrthogonal`);function dr(e){return e.direction??`TB`}e.n(dr,`getSwimlaneDirection`);function fr(e){let t=re(e),n=e.config.flowchart?.nodeSpacing??40,r=e.config.flowchart?.rankSpacing??100,i=e.config.swimlane?.ignoreCrossLaneEdges??!0,a=e.config.swimlane?.optimizeRanksByCrossings??!0,o=e.config.swimlane?.automaticLaneOrdering??!1,s=dr(e),{ordered:c,coordinates:l}=er(t,{nodeGap:n,layerGap:r,ignoreCrossLaneEdges:i,optimizeRanksByCrossings:a,automaticLaneOrdering:o,direction:s});ie(t,c,l,{nodeGap:n,layerGap:r});for(let t of e.edges??[])delete t.points;ur(e,s);for(let t of e.edges??[])(!t.curve||t.curve===`basis`)&&(t.curve=`rounded`);return Wt(e,s),Ut(e),s}e.n(fr,`runSwimlaneLayoutCore`);async function pr(e,t){let n=t.select(`g`);l.a(n,e.markers,e.type,e.diagramId),c.n(),l.t(),c.t(),s.n(),ne(e);let r=oe(e);e.nodes=r.nodes,e.edges=r.edges;let{groups:i}=await u(n,e);fr(e),await A(e,i)}e.n(pr,`render`),exports.render=pr;