elanous 0.2.36 → 0.2.38

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 (741) hide show
  1. package/apps/pwa/out/404/index.html +1 -1
  2. package/apps/pwa/out/404.html +1 -1
  3. package/apps/pwa/out/_next/static/{uC-N0emedeNOFuaBQFv-I → RrjXTwz-urRAbChP1bX02}/_buildManifest.js +1 -1
  4. package/apps/pwa/out/_next/static/chunks/{9250-072df22eaadaa6b5.js → 1026-44010f405704050c.js} +1 -1
  5. package/apps/pwa/out/_next/static/chunks/1118.a8a74ea29aac3e46.js +27 -0
  6. package/apps/pwa/out/_next/static/chunks/1204-2aa830479adf80f4.js +1 -0
  7. package/apps/pwa/out/_next/static/chunks/1341-43b7d2dc77d45c9d.js +1 -0
  8. package/apps/pwa/out/_next/static/chunks/1440-c3ea8882badfd9bf.js +1 -0
  9. package/apps/pwa/out/_next/static/chunks/{4304.e9b2512834a9e23e.js → 1632.7d87f998e714bede.js} +1 -1
  10. package/apps/pwa/out/_next/static/chunks/1698-9c11cbf97f13717e.js +1 -0
  11. package/apps/pwa/out/_next/static/chunks/1770-3b1fc92253ef9f2f.js +1 -0
  12. package/apps/pwa/out/_next/static/chunks/1923-5c1695332240246a.js +1 -0
  13. package/apps/pwa/out/_next/static/chunks/1938.0e6c60ee91c4d7f5.js +148 -0
  14. package/apps/pwa/out/_next/static/chunks/{7784.1f0ac4a16d190cf4.js → 2104.70e086d5174a4736.js} +1 -1
  15. package/apps/pwa/out/_next/static/chunks/213-20675f20673ba22a.js +1 -0
  16. package/apps/pwa/out/_next/static/chunks/{6566.926a1d1b7c911442.js → 214.186a430da28338f1.js} +1 -1
  17. package/apps/pwa/out/_next/static/chunks/2277.3bd4c0ac7f1b5996.js +93 -0
  18. package/apps/pwa/out/_next/static/chunks/240.e09f433f71c78ff4.js +104 -0
  19. package/apps/pwa/out/_next/static/chunks/{5711.957b095705c12560.js → 2415.738b777642a02233.js} +1 -1
  20. package/apps/pwa/out/_next/static/chunks/2417.02151393605a7cd0.js +1 -0
  21. package/apps/pwa/out/_next/static/chunks/2463.cd2641a76daaa9ff.js +1 -0
  22. package/apps/pwa/out/_next/static/chunks/2576.b9e9c629c4b84c52.js +1 -0
  23. package/apps/pwa/out/_next/static/chunks/265-c021de53f0865bd9.js +1 -0
  24. package/apps/pwa/out/_next/static/chunks/2998-b1cc13956cd6a6e7.js +1 -0
  25. package/apps/pwa/out/_next/static/chunks/2e4782d3.ba2f0ab2b63a53e7.js +1 -0
  26. package/apps/pwa/out/_next/static/chunks/{4286.b70c4520306817e8.js → 3086.fb14b60ce98b53d3.js} +1 -1
  27. package/apps/pwa/out/_next/static/chunks/{3148-98efd4869d660a87.js → 3124-561f7f037943cde2.js} +1 -1
  28. package/apps/pwa/out/_next/static/chunks/3130.626b54382b4dc379.js +1 -0
  29. package/apps/pwa/out/_next/static/chunks/3221-1bb3f99a55088613.js +1 -0
  30. package/apps/pwa/out/_next/static/chunks/3280.24edb1ffd03a7f3f.js +24 -0
  31. package/apps/pwa/out/_next/static/chunks/3288-eb3c22a1cbf2ae68.js +1 -0
  32. package/apps/pwa/out/_next/static/chunks/{3727.7949ccaacaa71242.js → 3291.f6c1005387d514bd.js} +2 -2
  33. package/apps/pwa/out/_next/static/chunks/33.ef99e8374f96c6c4.js +36 -0
  34. package/apps/pwa/out/_next/static/chunks/3341-f09b9efbd7a82f70.js +1 -0
  35. package/apps/pwa/out/_next/static/chunks/3389.012c70767a872f9b.js +1 -0
  36. package/apps/pwa/out/_next/static/chunks/3410-d7c0f14b329d6fda.js +1 -0
  37. package/apps/pwa/out/_next/static/chunks/3421.c87d6313a7d670f7.js +287 -0
  38. package/apps/pwa/out/_next/static/chunks/3422-83a3953f9bd67e26.js +1 -0
  39. package/apps/pwa/out/_next/static/chunks/{8904.7d51af2dc033965c.js → 3528.e4b8ab70d339f965.js} +2 -2
  40. package/apps/pwa/out/_next/static/chunks/3587-002e24e368c515a9.js +1 -0
  41. package/apps/pwa/out/_next/static/chunks/3644.f12a7d821ab940af.js +1 -0
  42. package/apps/pwa/out/_next/static/chunks/3660.d7516588e2d875c3.js +1 -0
  43. package/apps/pwa/out/_next/static/chunks/3695.b82e2610f4cd4ea9.js +1 -0
  44. package/apps/pwa/out/_next/static/chunks/3858.ca1f5bc0f577eac9.js +94 -0
  45. package/apps/pwa/out/_next/static/chunks/3959-e6ac4a139d9d4bcc.js +1 -0
  46. package/apps/pwa/out/_next/static/chunks/3f0de3de-2340c532c00395db.js +1 -0
  47. package/apps/pwa/out/_next/static/chunks/4032.53f62176514ec0ea.js +1 -0
  48. package/apps/pwa/out/_next/static/chunks/{3031-85328a92fcce4da6.js → 4199-f7c6eb40cd0322f8.js} +1 -1
  49. package/apps/pwa/out/_next/static/chunks/4204-ef8484cbecd5d62f.js +1 -0
  50. package/apps/pwa/out/_next/static/chunks/4259-163129ca79913c4b.js +1 -0
  51. package/apps/pwa/out/_next/static/chunks/428-eaa77df3d0c85969.js +1 -0
  52. package/apps/pwa/out/_next/static/chunks/4432-97e400ffa1e161f5.js +1 -0
  53. package/apps/pwa/out/_next/static/chunks/449-aa427cf2cbb75f50.js +1 -0
  54. package/apps/pwa/out/_next/static/chunks/4491-39a0fd32bbaf3840.js +1 -0
  55. package/apps/pwa/out/_next/static/chunks/4588.b7cf06d382953979.js +1 -0
  56. package/apps/pwa/out/_next/static/chunks/4690.70ec8060825366ab.js +32 -0
  57. package/apps/pwa/out/_next/static/chunks/4804.6012b5cd33c22792.js +90 -0
  58. package/apps/pwa/out/_next/static/chunks/4881.e4d22d730e3b9df5.js +1 -0
  59. package/apps/pwa/out/_next/static/chunks/4937.ce2e340dc29cad3e.js +79 -0
  60. package/apps/pwa/out/_next/static/chunks/5-bb1c08d84bd71df3.js +1 -0
  61. package/apps/pwa/out/_next/static/chunks/5005.de98df23b37cdf3c.js +1 -0
  62. package/apps/pwa/out/_next/static/chunks/5035.dc64a89cad5573cc.js +74 -0
  63. package/apps/pwa/out/_next/static/chunks/5041-5aada92ca215ffdd.js +1 -0
  64. package/apps/pwa/out/_next/static/chunks/{528.38ce20ef8aa251ff.js → 5203.51e5d8b5f1dcfe53.js} +16 -16
  65. package/apps/pwa/out/_next/static/chunks/5207.1a224035455790fd.js +1 -0
  66. package/apps/pwa/out/_next/static/chunks/5255-1b60d50eabe9f057.js +1 -0
  67. package/apps/pwa/out/_next/static/chunks/5269.d0436ee6d773382a.js +286 -0
  68. package/apps/pwa/out/_next/static/chunks/5300.677c97e0393742e6.js +1 -0
  69. package/apps/pwa/out/_next/static/chunks/{2683.c9773a0c589b031b.js → 5307.d7328020227880c2.js} +4 -4
  70. package/apps/pwa/out/_next/static/chunks/5309.3367c4d50f52b489.js +1 -0
  71. package/apps/pwa/out/_next/static/chunks/552-689827d49780fa00.js +1 -0
  72. package/apps/pwa/out/_next/static/chunks/5539.34cc9d60622cb69b.js +8 -0
  73. package/apps/pwa/out/_next/static/chunks/5568.218dea0c00ca2ec7.js +1 -0
  74. package/apps/pwa/out/_next/static/chunks/{552.b7d061ad91eeac51.js → 5638.107314dc479e2f37.js} +2 -2
  75. package/apps/pwa/out/_next/static/chunks/5645.b7e3b055455a04ea.js +1 -0
  76. package/apps/pwa/out/_next/static/chunks/5662.18cc0f30353cbd96.js +1 -0
  77. package/apps/pwa/out/_next/static/chunks/5671.da24fc9dc5e98325.js +1 -0
  78. package/apps/pwa/out/_next/static/chunks/5b141171.324c40fd49cb6821.js +1 -0
  79. package/apps/pwa/out/_next/static/chunks/6142.913b44e260a3f925.js +64 -0
  80. package/apps/pwa/out/_next/static/chunks/6175-d4621f6a10b0cfab.js +1 -0
  81. package/apps/pwa/out/_next/static/chunks/6290.3eb53a20746b72ce.js +1 -0
  82. package/apps/pwa/out/_next/static/chunks/6415-9307f3eafa90837f.js +1 -0
  83. package/apps/pwa/out/_next/static/chunks/{6925.562d532110879886.js → 6493.27ad77de7aac7966.js} +1 -1
  84. package/apps/pwa/out/_next/static/chunks/6579-3de35d00aacd71b5.js +1 -0
  85. package/apps/pwa/out/_next/static/chunks/680-2f324c4e039a5b67.js +1 -0
  86. package/apps/pwa/out/_next/static/chunks/6845-331b3c7481da3ba3.js +1 -0
  87. package/apps/pwa/out/_next/static/chunks/7000.28157393caaf5343.js +62 -0
  88. package/apps/pwa/out/_next/static/chunks/{275-02ea4c2a33980422.js → 7161-8f22db3ec5ed005e.js} +3 -3
  89. package/apps/pwa/out/_next/static/chunks/7311-60a7ea80d23c7521.js +1 -0
  90. package/apps/pwa/out/_next/static/chunks/7401.525d0a12f7d02c06.js +1 -0
  91. package/apps/pwa/out/_next/static/chunks/7438.c2cf72b66dca6aa4.js +1 -0
  92. package/apps/pwa/out/_next/static/chunks/{3136.30aaaa5fa03662a3.js → 7488.966b116789f3d41a.js} +1 -1
  93. package/apps/pwa/out/_next/static/chunks/{4116.a84a92a2492c080e.js → 7524.ce973525d30b3d52.js} +1 -1
  94. package/apps/pwa/out/_next/static/chunks/7573.2376e13c9c21f1f8.js +77 -0
  95. package/apps/pwa/out/_next/static/chunks/7577.ea6e9ac72e035520.js +1 -0
  96. package/apps/pwa/out/_next/static/chunks/{3324.a09703033abcbd2f.js → 7628.6b16863ac3972333.js} +1 -1
  97. package/apps/pwa/out/_next/static/chunks/7657.8d1fb3d2f7ebe273.js +1 -0
  98. package/apps/pwa/out/_next/static/chunks/7903-1435d5d2f0dd7807.js +1 -0
  99. package/apps/pwa/out/_next/static/chunks/{3410.7f9af5ab77cbe65f.js → 7954.4f7a8832663ee979.js} +1 -1
  100. package/apps/pwa/out/_next/static/chunks/7978-30a91192c5dbe3c2.js +1 -0
  101. package/apps/pwa/out/_next/static/chunks/{771.c3cdb6c1f7f47c02.js → 8019.21ca554a821dad01.js} +16 -16
  102. package/apps/pwa/out/_next/static/chunks/8025-8795821525cf1a07.js +1 -0
  103. package/apps/pwa/out/_next/static/chunks/8191.3674a00f0b565c23.js +1 -0
  104. package/apps/pwa/out/_next/static/chunks/8217-604955d8885c5ef2.js +1 -0
  105. package/apps/pwa/out/_next/static/chunks/8298-eed6f5f2585a63f4.js +1 -0
  106. package/apps/pwa/out/_next/static/chunks/{4615.8525eb0add35eba6.js → 8487.291666583bebe640.js} +1 -1
  107. package/apps/pwa/out/_next/static/chunks/8509.3a54d4e61893d7cb.js +1 -0
  108. package/apps/pwa/out/_next/static/chunks/8758.ac421f726a189125.js +1 -0
  109. package/apps/pwa/out/_next/static/chunks/{6943.c6b24124853a47b2.js → 8879.ac06755bcf3e44a1.js} +1 -1
  110. package/apps/pwa/out/_next/static/chunks/891.d6c723a51a067b36.js +149 -0
  111. package/apps/pwa/out/_next/static/chunks/{575.d929793a53f27c4b.js → 8911.bf5e712acb25fb6c.js} +1 -1
  112. package/apps/pwa/out/_next/static/chunks/{9f31e478.fefcbcd3c388ebc5.js → 8994d93e.33ba491f95345fc2.js} +1 -1
  113. package/apps/pwa/out/_next/static/chunks/{da5ecc5c-b005ad8cac737d57.js → 89d6c04f-6b8ab341748e468a.js} +1 -1
  114. package/apps/pwa/out/_next/static/chunks/{599.c39c571b6733f2a2.js → 9223.cbcc88e0e9950426.js} +2 -2
  115. package/apps/pwa/out/_next/static/chunks/9299.24e2a7d9b6d1f91b.js +226 -0
  116. package/apps/pwa/out/_next/static/chunks/9317.6a9869039c231bb3.js +24 -0
  117. package/apps/pwa/out/_next/static/chunks/9383.e4755f275b3c11ff.js +1 -0
  118. package/apps/pwa/out/_next/static/chunks/{8037.e254fd797aa224d1.js → 9581.da63ddf41acfad46.js} +1 -1
  119. package/apps/pwa/out/_next/static/chunks/9715.8c5529a0a5c41a36.js +1 -0
  120. package/apps/pwa/out/_next/static/chunks/9817.3009d65f0889ef1f.js +2 -0
  121. package/apps/pwa/out/_next/static/chunks/{ceba0382.650712b56b85b582.js → 9fe1b809.738da85c8b17e3fb.js} +1 -1
  122. package/apps/pwa/out/_next/static/chunks/app/_not-found/page-76873dd80da4f715.js +1 -0
  123. package/apps/pwa/out/_next/static/chunks/app/approvals/page-ed32b6ec5dea8f23.js +1 -0
  124. package/apps/pwa/out/_next/static/chunks/app/autopilot/page-fdd40e15babf3d25.js +1 -0
  125. package/apps/pwa/out/_next/static/chunks/app/board/page-384efc78e85e400b.js +1 -0
  126. package/apps/pwa/out/_next/static/chunks/app/botlab/page-866aac5ff226a7f3.js +1 -0
  127. package/apps/pwa/out/_next/static/chunks/app/bots/page-d91809c5aeed319a.js +1 -0
  128. package/apps/pwa/out/_next/static/chunks/app/ceo/page-128f3522f89a81ab.js +1 -0
  129. package/apps/pwa/out/_next/static/chunks/app/chat/page-595961abf3b43ad1.js +1 -0
  130. package/apps/pwa/out/_next/static/chunks/app/consult/page-f41dccb76d8c0263.js +1 -0
  131. package/apps/pwa/out/_next/static/chunks/app/control/page-a3205c2e28b7d0d9.js +1 -0
  132. package/apps/pwa/out/_next/static/chunks/app/decisions/page-c39a80277814a3f4.js +1 -0
  133. package/apps/pwa/out/_next/static/chunks/app/design-check/page-1ab3f98194513195.js +1 -0
  134. package/apps/pwa/out/_next/static/chunks/app/editor/page-a5246f7e254d77d0.js +1 -0
  135. package/apps/pwa/out/_next/static/chunks/app/exec/page-0f92287bdb81217d.js +1 -0
  136. package/apps/pwa/out/_next/static/chunks/app/field/page-5a37131ff63793ef.js +1 -0
  137. package/apps/pwa/out/_next/static/chunks/app/healthz/route-76873dd80da4f715.js +1 -0
  138. package/apps/pwa/out/_next/static/chunks/app/inside/page-ac4bd14bb2348bfd.js +1 -0
  139. package/apps/pwa/out/_next/static/chunks/app/intake/page-c348a3959c5b5fc6.js +1 -0
  140. package/apps/pwa/out/_next/static/chunks/app/layout-2addd81c0d3e2906.js +1 -0
  141. package/apps/pwa/out/_next/static/chunks/app/live/page-da6b765f58a3eefb.js +1 -0
  142. package/apps/pwa/out/_next/static/chunks/app/live-run/page-0661e40f8780c32c.js +1 -0
  143. package/apps/pwa/out/_next/static/chunks/app/loops/page-b89af1b1c8e4875b.js +1 -0
  144. package/apps/pwa/out/_next/static/chunks/app/market/page-da8aeb82ba751cdb.js +1 -0
  145. package/apps/pwa/out/_next/static/chunks/app/missions/[id]/page-cc71317b239439db.js +1 -0
  146. package/apps/pwa/out/_next/static/chunks/app/morning/page-bde7fc1d64ffe369.js +1 -0
  147. package/apps/pwa/out/_next/static/chunks/app/not-found-e2797214f713fa58.js +1 -0
  148. package/apps/pwa/out/_next/static/chunks/app/observatory/page-2a35bcda70defaf6.js +1 -0
  149. package/apps/pwa/out/_next/static/chunks/app/ops/checklist/page-3af03deedde45032.js +1 -0
  150. package/apps/pwa/out/_next/static/chunks/app/ops/release/page-d1d1210f99f620ae.js +1 -0
  151. package/apps/pwa/out/_next/static/chunks/app/ops/seats/page-46d1b5500885861d.js +1 -0
  152. package/apps/pwa/out/_next/static/chunks/app/outputs/{page-e7abc34a48a6f71e.js → page-291ab19fe2acb173.js} +1 -1
  153. package/apps/pwa/out/_next/static/chunks/app/page-7f569e533ddeecba.js +1 -0
  154. package/apps/pwa/out/_next/static/chunks/app/reflection/page-990129c9fee46d8f.js +1 -0
  155. package/apps/pwa/out/_next/static/chunks/app/scheduler/page-7737f785ebb1cdaf.js +1 -0
  156. package/apps/pwa/out/_next/static/chunks/app/sessions/page-9f3c73a4f7ffd2f8.js +1 -0
  157. package/apps/pwa/out/_next/static/chunks/app/settings/devices/page-03be7fb347f01058.js +1 -0
  158. package/apps/pwa/out/_next/static/chunks/app/settings/page-96b0280625e4df2b.js +1 -0
  159. package/apps/pwa/out/_next/static/chunks/app/setup/done/page-56855545049eb56d.js +1 -0
  160. package/apps/pwa/out/_next/static/chunks/app/setup/layout-76873dd80da4f715.js +1 -0
  161. package/apps/pwa/out/_next/static/chunks/app/setup/page-79a909c9981f0338.js +1 -0
  162. package/apps/pwa/out/_next/static/chunks/app/share/page-a9d9a3e66459c1e0.js +1 -0
  163. package/apps/pwa/out/_next/static/chunks/app/showroom/page-c383cbf2013f7069.js +1 -0
  164. package/apps/pwa/out/_next/static/chunks/app/tasks/page-f57c6a2e54dbdca4.js +1 -0
  165. package/apps/pwa/out/_next/static/chunks/app/term/{page-c15958835534404b.js → page-6b140f77593576eb.js} +1 -1
  166. package/apps/pwa/out/_next/static/chunks/app/today/page-6b767ae2d9d0adfc.js +1 -0
  167. package/apps/pwa/out/_next/static/chunks/app/trace/page-116d6198d5da0e3d.js +1 -0
  168. package/apps/pwa/out/_next/static/chunks/app/vault/page-b9c9b778c7501370.js +1 -0
  169. package/apps/pwa/out/_next/static/chunks/app/workflows/chat-ui/page-a6c78392ab8f6335.js +1 -0
  170. package/apps/pwa/out/_next/static/chunks/app/workflows/page-455183deb4ed0cfe.js +1 -0
  171. package/apps/pwa/out/_next/static/chunks/app/workspace/page-6a63e99526bd63d0.js +1 -0
  172. package/apps/pwa/out/_next/static/chunks/app/worktrees/page-31c22caafe788c08.js +1 -0
  173. package/apps/pwa/out/_next/static/chunks/{3a3d9966.cc4d4585a2708e7c.js → b7459770.6539b11860eb8a9c.js} +7 -7
  174. package/apps/pwa/out/_next/static/chunks/{053a429e.9a63436527cc751c.js → b7478fef.5917716286213fcc.js} +3 -3
  175. package/apps/pwa/out/_next/static/chunks/bb6987f9.3647e1a23b0e3217.js +122 -0
  176. package/apps/pwa/out/_next/static/chunks/{2812ca6a.3b9f4a7a08885744.js → de8b930d.d94c0f42acf807fc.js} +1 -1
  177. package/apps/pwa/out/_next/static/chunks/{873d6c12.09bd499f57171543.js → eaad0cba.771200940c529df7.js} +1 -1
  178. package/apps/pwa/out/_next/static/chunks/framework-4b12a946f352cee2.js +1 -0
  179. package/apps/pwa/out/_next/static/chunks/main-941155250ed2644b.js +1 -0
  180. package/apps/pwa/out/_next/static/chunks/main-app-f8b6765abed6d149.js +1 -0
  181. package/apps/pwa/out/_next/static/chunks/pages/_app-78432194c85388f9.js +1 -0
  182. package/apps/pwa/out/_next/static/chunks/pages/_error-cdf7390829512b1b.js +1 -0
  183. package/apps/pwa/out/_next/static/chunks/webpack-d5f0964a9c2e92d2.js +1 -0
  184. package/apps/pwa/out/_next/static/css/{b5d88eba78a3d7bf.css → be9019f696217521.css} +1 -1
  185. package/apps/pwa/out/approvals/index.html +1 -1
  186. package/apps/pwa/out/approvals/index.txt +23 -23
  187. package/apps/pwa/out/autopilot/index.html +1 -1
  188. package/apps/pwa/out/autopilot/index.txt +23 -23
  189. package/apps/pwa/out/board/index.html +1 -1
  190. package/apps/pwa/out/board/index.txt +23 -23
  191. package/apps/pwa/out/botlab/index.html +1 -1
  192. package/apps/pwa/out/botlab/index.txt +22 -22
  193. package/apps/pwa/out/bots/index.html +1 -1
  194. package/apps/pwa/out/bots/index.txt +22 -22
  195. package/apps/pwa/out/ceo/index.html +1 -1
  196. package/apps/pwa/out/ceo/index.txt +23 -23
  197. package/apps/pwa/out/chat/index.html +1 -1
  198. package/apps/pwa/out/chat/index.txt +22 -22
  199. package/apps/pwa/out/consult/index.html +1 -1
  200. package/apps/pwa/out/consult/index.txt +23 -23
  201. package/apps/pwa/out/control/index.html +1 -1
  202. package/apps/pwa/out/control/index.txt +23 -23
  203. package/apps/pwa/out/decisions/index.html +1 -1
  204. package/apps/pwa/out/decisions/index.txt +22 -22
  205. package/apps/pwa/out/design-check/index.html +1 -1
  206. package/apps/pwa/out/design-check/index.txt +23 -23
  207. package/apps/pwa/out/editor/index.html +1 -1
  208. package/apps/pwa/out/editor/index.txt +23 -23
  209. package/apps/pwa/out/exec/index.html +1 -1
  210. package/apps/pwa/out/exec/index.txt +23 -23
  211. package/apps/pwa/out/field/index.html +1 -1
  212. package/apps/pwa/out/field/index.txt +23 -23
  213. package/apps/pwa/out/healthz +1 -1
  214. package/apps/pwa/out/index.html +1 -1
  215. package/apps/pwa/out/index.txt +22 -22
  216. package/apps/pwa/out/inside/index.html +1 -1
  217. package/apps/pwa/out/inside/index.txt +22 -22
  218. package/apps/pwa/out/intake/index.html +1 -1
  219. package/apps/pwa/out/intake/index.txt +23 -23
  220. package/apps/pwa/out/live/index.html +1 -1
  221. package/apps/pwa/out/live/index.txt +23 -23
  222. package/apps/pwa/out/live-run/index.html +1 -1
  223. package/apps/pwa/out/live-run/index.txt +23 -23
  224. package/apps/pwa/out/loops/index.html +1 -1
  225. package/apps/pwa/out/loops/index.txt +22 -22
  226. package/apps/pwa/out/market/index.html +1 -1
  227. package/apps/pwa/out/market/index.txt +22 -22
  228. package/apps/pwa/out/missions/placeholder/index.html +1 -1
  229. package/apps/pwa/out/missions/placeholder/index.txt +22 -22
  230. package/apps/pwa/out/morning/index.html +1 -1
  231. package/apps/pwa/out/morning/index.txt +23 -23
  232. package/apps/pwa/out/observatory/index.html +1 -1
  233. package/apps/pwa/out/observatory/index.txt +23 -23
  234. package/apps/pwa/out/ops/checklist/index.html +1 -1
  235. package/apps/pwa/out/ops/checklist/index.txt +22 -22
  236. package/apps/pwa/out/ops/release/index.html +1 -1
  237. package/apps/pwa/out/ops/release/index.txt +22 -22
  238. package/apps/pwa/out/ops/seats/index.html +1 -1
  239. package/apps/pwa/out/ops/seats/index.txt +22 -22
  240. package/apps/pwa/out/outputs/index.html +1 -1
  241. package/apps/pwa/out/outputs/index.txt +22 -22
  242. package/apps/pwa/out/reflection/index.html +1 -1
  243. package/apps/pwa/out/reflection/index.txt +23 -23
  244. package/apps/pwa/out/scheduler/index.html +1 -1
  245. package/apps/pwa/out/scheduler/index.txt +23 -23
  246. package/apps/pwa/out/sessions/index.html +1 -1
  247. package/apps/pwa/out/sessions/index.txt +22 -22
  248. package/apps/pwa/out/settings/devices/index.html +1 -1
  249. package/apps/pwa/out/settings/devices/index.txt +23 -23
  250. package/apps/pwa/out/settings/index.html +1 -1
  251. package/apps/pwa/out/settings/index.txt +23 -23
  252. package/apps/pwa/out/setup/done/index.html +1 -1
  253. package/apps/pwa/out/setup/done/index.txt +23 -23
  254. package/apps/pwa/out/setup/index.html +1 -1
  255. package/apps/pwa/out/setup/index.txt +23 -23
  256. package/apps/pwa/out/share/index.html +1 -1
  257. package/apps/pwa/out/share/index.txt +23 -23
  258. package/apps/pwa/out/showroom/index.html +1 -1
  259. package/apps/pwa/out/showroom/index.txt +22 -22
  260. package/apps/pwa/out/tasks/index.html +1 -1
  261. package/apps/pwa/out/tasks/index.txt +23 -23
  262. package/apps/pwa/out/term/index.html +1 -1
  263. package/apps/pwa/out/term/index.txt +23 -23
  264. package/apps/pwa/out/today/index.html +1 -1
  265. package/apps/pwa/out/today/index.txt +23 -23
  266. package/apps/pwa/out/trace/index.html +1 -1
  267. package/apps/pwa/out/trace/index.txt +23 -23
  268. package/apps/pwa/out/vault/index.html +1 -1
  269. package/apps/pwa/out/vault/index.txt +23 -23
  270. package/apps/pwa/out/workflows/chat-ui/index.html +1 -1
  271. package/apps/pwa/out/workflows/chat-ui/index.txt +23 -23
  272. package/apps/pwa/out/workflows/index.html +1 -1
  273. package/apps/pwa/out/workflows/index.txt +23 -23
  274. package/apps/pwa/out/workspace/index.html +1 -1
  275. package/apps/pwa/out/workspace/index.txt +23 -23
  276. package/apps/pwa/out/worktrees/index.html +1 -1
  277. package/apps/pwa/out/worktrees/index.txt +23 -23
  278. package/graphs/drafts/recipes.yaml +27 -7
  279. package/graphs/release/recipes.yaml +9 -0
  280. package/graphs/release/release-loop.yaml +26 -18
  281. package/graphs/work/draft-close.yaml +54 -0
  282. package/graphs/work/green-close.yaml +37 -0
  283. package/graphs/work/recipes.yaml +46 -1
  284. package/graphs/work/run-research.yaml +35 -0
  285. package/package.json +1 -1
  286. package/scripts/__fixtures__/authoring-paths-10x3.json +32 -0
  287. package/scripts/ask-op-inbox-once.ts +17 -0
  288. package/scripts/boundary-proof-mapping-audit.ts +88 -0
  289. package/scripts/brand/check.ts +13 -4
  290. package/scripts/codex-fallback-live-probe.ts +17 -15
  291. package/scripts/fleet/node-setup.sh +32 -2
  292. package/scripts/fleet/run-light-worker.sh +9 -0
  293. package/scripts/gate-0226-accepted-remaining-90.txt +91 -0
  294. package/scripts/gate-0226-failure-census.ts +546 -0
  295. package/scripts/goals/authoring-metrics.ts +258 -0
  296. package/scripts/graph-units/draft-close-node.ts +222 -0
  297. package/scripts/hook-order-sweep.ts +7 -4
  298. package/scripts/intake-collect-telegram-saved-stage.ts +48 -0
  299. package/scripts/land-global-checks.ts +69 -1
  300. package/scripts/measure-nl-routing-corpus.ts +207 -2
  301. package/scripts/provision-export-redactions.ts +15 -0
  302. package/scripts/public-copy-lint.ts +122 -0
  303. package/scripts/public-export.ts +69 -2
  304. package/scripts/ratchets/next-tui-entry-budget.ts +124 -0
  305. package/scripts/ratchets/train-side-invariants.sh +7 -1
  306. package/scripts/release-loop/cut-branch.ts +61 -12
  307. package/scripts/release-loop/docs-node.ts +140 -0
  308. package/scripts/release-loop/gate-closure.ts +48 -0
  309. package/scripts/release-loop/gate-diff.ts +2 -1
  310. package/scripts/release-loop/gate-node.ts +161 -25
  311. package/scripts/release-loop/gate-partial.ts +82 -3
  312. package/scripts/release-loop/gate-prewarm-plan.ts +35 -0
  313. package/scripts/release-loop/gate-radius-live.ts +4 -2
  314. package/scripts/release-loop/known-issues-node.ts +6 -4
  315. package/scripts/release-loop/notes-repair.ts +216 -0
  316. package/scripts/release-loop/prepare-node.ts +61 -5
  317. package/scripts/release-loop/resume-cap.ts +2 -1
  318. package/scripts/release-loop/resume-release.ts +406 -7
  319. package/scripts/release-loop/resume-test-traffic.ts +10 -0
  320. package/scripts/release-loop/resume.ts +13 -5
  321. package/scripts/release-loop/traffic-node.ts +12 -4
  322. package/scripts/release-loop/traffic-transition.ts +53 -13
  323. package/scripts/release-loop/version-node.ts +109 -15
  324. package/scripts/train/green-leg.ts +176 -0
  325. package/scripts/tui-continue-real-evidence.ts +47 -0
  326. package/scripts/ux-sim.ts +1 -1
  327. package/scripts/video-pipeline.ts +2 -2
  328. package/src/acp/client.ts +31 -5
  329. package/src/acp/core-turn-bridge.ts +12 -1
  330. package/src/acp/stderr-summary.ts +49 -0
  331. package/src/agent/monad-agent-turn.ts +1 -0
  332. package/src/agent/run-context.ts +1 -1
  333. package/src/agent/task-notification.ts +3 -1
  334. package/src/agent/terminal-surface.ts +217 -0
  335. package/src/agent-substrate/pr-reviewer.ts +11 -3
  336. package/src/agent-substrate/review-observation.ts +10 -0
  337. package/src/agent-substrate/self-review-cli.ts +537 -57
  338. package/src/auto-research/question-ladder-contract.ts +137 -0
  339. package/src/auto-research/research-turn.ts +134 -0
  340. package/src/autopilot/discovery/doc-lint.ts +1 -1
  341. package/src/autopilot/lineage/sources.ts +1 -1
  342. package/src/autopilot/pr-manager.ts +64 -13
  343. package/src/boot/daemon-runtime.ts +35 -3
  344. package/src/boot/daemon-tools/pty-shell.ts +2 -1
  345. package/src/bots/screen-probe.ts +1 -1
  346. package/src/budget/run-usage-rollup.ts +12 -7
  347. package/src/budget/unified-usage.ts +20 -0
  348. package/src/capture/tui-self-report.ts +42 -5
  349. package/src/chat/index.ts +1 -0
  350. package/src/chat/tool-render/dispatch.ts +8 -1
  351. package/src/cli/autopilot-cli.ts +24 -9
  352. package/src/cli/decisions-cli.ts +7 -4
  353. package/src/cli/doctor-cli.ts +116 -7
  354. package/src/cli/guardian-cli.ts +3 -1
  355. package/src/cli/intake-cli.ts +48 -12
  356. package/src/cli/lesson-cli.ts +69 -9
  357. package/src/cli/logs-cli.ts +357 -2
  358. package/src/cli/memory-cli.ts +30 -1
  359. package/src/cli/msg-cli.ts +15 -11
  360. package/src/cli/pr-granularity.ts +5 -3
  361. package/src/cli/pr-land-overlap-evidence.ts +38 -5
  362. package/src/cli/pr-land-refusal.ts +1 -1
  363. package/src/cli/pty-takeover-cli.ts +58 -5
  364. package/src/cli/release-checklist-read-cli.ts +112 -4
  365. package/src/cli/release-cli.ts +89 -18
  366. package/src/cli/review-carry.ts +77 -0
  367. package/src/cli/self-update.ts +24 -6
  368. package/src/cli/self-utterances-cli.ts +13 -16
  369. package/src/cli/tasks-card-show.ts +31 -1
  370. package/src/cli/tasks-cli.ts +370 -33
  371. package/src/cli/tasks-read-cli.ts +13 -5
  372. package/src/cli/usage-cli.ts +12 -10
  373. package/src/context-bus/claude-memory-import.ts +99 -0
  374. package/src/context-bus/context-now.ts +86 -2
  375. package/src/context-bus/long-term-memory.ts +125 -0
  376. package/src/core-turn/run-core-turn.ts +9 -2
  377. package/src/core-turn/run-goal-loop.ts +5 -2
  378. package/src/core-turn/types.ts +5 -0
  379. package/src/dashboard/chat/acp-chat.ts +9 -0
  380. package/src/dashboard/index.ts +115 -30
  381. package/src/dashboard/input/agent-wake.ts +43 -0
  382. package/src/dashboard/input/chat-main-acp-dispatch.ts +21 -1
  383. package/src/dashboard/input/terminal-modal-router.ts +8 -159
  384. package/src/dashboard/replay-preview.ts +25 -0
  385. package/src/dashboard/side-basic-runtime.ts +61 -0
  386. package/src/dashboard/slash-runtime/dashboard-handlers.ts +19 -8
  387. package/src/dashboard/synchronized-frame-output.ts +74 -0
  388. package/src/dashboard/term-slash-runtime.ts +2 -0
  389. package/src/dashboard/turn-preamble.ts +28 -4
  390. package/src/display/coordinator.ts +45 -12
  391. package/src/display/resize-listener.ts +41 -20
  392. package/src/display/synchronized-output-region.ts +60 -0
  393. package/src/domains/guardian-tick.ts +9 -0
  394. package/src/domains/surface-events.ts +80 -1
  395. package/src/exec-requests/planner.ts +37 -2
  396. package/src/execution-loop/launch-gate.ts +4 -3
  397. package/src/git-fs/cli-stderr.ts +45 -0
  398. package/src/git-fs/gh-cli.ts +6 -3
  399. package/src/git-fs/git-cli.ts +11 -5
  400. package/src/git-fs/watcher.ts +27 -22
  401. package/src/git-fs/worktree.ts +19 -3
  402. package/src/graph-runner/graph-cli.ts +26 -2
  403. package/src/graph-runner/graph-grow.ts +37 -9
  404. package/src/graph-runner/graph-run-api.ts +3 -2
  405. package/src/graph-runner/runner.ts +34 -7
  406. package/src/graph-wizard/generate.ts +29 -6
  407. package/src/grok/credential.ts +107 -36
  408. package/src/harness/harness-cli-command.ts +179 -33
  409. package/src/harness/review-adapter.ts +26 -6
  410. package/src/hq/fence-wrapper.ts +1 -1
  411. package/src/hq/transfer.ts +1 -1
  412. package/src/index.ts +151 -18
  413. package/src/instance/test-write-guard-real-transport.fixture.ts +52 -0
  414. package/src/intake-plane/collect-telegram-saved.ts +54 -5
  415. package/src/interactive-terminal-modal.ts +3 -0
  416. package/src/keybindings.ts +17 -22
  417. package/src/llm/provider-credentials.ts +1 -1
  418. package/src/llm/route-decision.ts +13 -0
  419. package/src/llm-tool-name.ts +37 -0
  420. package/src/llm-tool-schema.ts +55 -0
  421. package/src/llm.ts +203 -21
  422. package/src/loops/checker.ts +100 -0
  423. package/src/loops/consensus.ts +26 -2
  424. package/src/loops/loop-cli.ts +9 -4
  425. package/src/loops/orchestrator/anomaly-cluster.ts +243 -0
  426. package/src/loops/orchestrator/inbox-once.ts +28 -0
  427. package/src/loops/orchestrator/inbox.ts +130 -1
  428. package/src/loops/orchestrator/tick.ts +55 -7
  429. package/src/maturity/feature-maturity.ts +1 -0
  430. package/src/model-tier/llm-tier-map.ts +12 -17
  431. package/src/msg/msg-store.ts +17 -0
  432. package/src/native-tool-catalog.ts +1 -1
  433. package/src/nexus/api/channel-ask-op.ts +96 -0
  434. package/src/nexus/api/discord-trigger-bot.ts +28 -1
  435. package/src/nexus/api/graph-wizard-api.ts +27 -2
  436. package/src/nexus/api/grid.ts +24 -4
  437. package/src/nexus/api/http-server.ts +1 -1
  438. package/src/nexus/api/ops-api.ts +14 -6
  439. package/src/nexus/api/telegram-trigger-bot.ts +24 -0
  440. package/src/nexus/api/terminals.ts +28 -6
  441. package/src/nexus/state/state.ts +7 -1
  442. package/src/oauth/codex-account-store.ts +34 -1
  443. package/src/ops/loops-map.ts +46 -0
  444. package/src/ops/overview-cache.ts +22 -4
  445. package/src/ops/overview.ts +41 -5
  446. package/src/patents/ledger.ts +18 -1
  447. package/src/policy/llm-policy.ts +3 -1
  448. package/src/preview/terminal.ts +4 -2
  449. package/src/prompt-cache/anthropic.ts +2 -0
  450. package/src/prompt-enhance/enhance.ts +9 -4
  451. package/src/pty-shell/availability.ts +7 -0
  452. package/src/pty-shell/herdr-agent-report.ts +40 -31
  453. package/src/pty-shell/herdr-prune-stale.ts +17 -0
  454. package/src/pty-shell/herdr-sequence-lease.ts +60 -0
  455. package/src/pty-shell/pty-control-ipc.ts +187 -18
  456. package/src/pty-shell/pty-manifest.ts +16 -2
  457. package/src/pty-shell/registry.ts +25 -15
  458. package/src/pty-shell/tui-run-state.ts +235 -1
  459. package/src/release-loop/checklist.ts +50 -5
  460. package/src/release-loop/feature-store.ts +9 -9
  461. package/src/release-loop/gate-shards.ts +61 -0
  462. package/src/release-loop/landed-but-yellow.ts +93 -12
  463. package/src/release-loop/light-rc.ts +7 -4
  464. package/src/release-loop/rehearsal.ts +1 -1
  465. package/src/repl/index.ts +18 -0
  466. package/src/research/axis-fanout.ts +133 -0
  467. package/src/research/edge-decision.ts +88 -0
  468. package/src/research/output-router.ts +127 -0
  469. package/src/research-bridge/format.ts +16 -1
  470. package/src/research-bridge/index.ts +1 -0
  471. package/src/research-bridge/invoke.ts +41 -5
  472. package/src/seat-loop/seat-report.ts +1 -0
  473. package/src/self-dev/ask-launch-flow.ts +86 -10
  474. package/src/self-dev/decompose-proposal.ts +29 -18
  475. package/src/self-dev/decompose.ts +45 -9
  476. package/src/self-dev/dev-pipeline.ts +29 -7
  477. package/src/self-dev/draft-residue.ts +221 -2
  478. package/src/self-dev/draft-sweep.ts +254 -16
  479. package/src/self-dev/draft-triage-rules.ts +19 -5
  480. package/src/self-dev/orchestrate.ts +1 -0
  481. package/src/self-dev/review-provider-fallback.ts +45 -7
  482. package/src/self-dev/run-supervisor.ts +22 -7
  483. package/src/self-dev/shard-plan.ts +48 -0
  484. package/src/self-dev/shard-run.ts +310 -6
  485. package/src/self-implement/comment-only-source.ts +54 -0
  486. package/src/self-implement/doctor-visit.ts +108 -0
  487. package/src/self-implement/gate-artifacts.ts +6 -2
  488. package/src/self-implement/gate-baseline.ts +99 -1
  489. package/src/self-implement/gate-cli.ts +231 -82
  490. package/src/self-implement/gate-failure-signature.ts +44 -0
  491. package/src/self-implement/gate-remote.ts +30 -4
  492. package/src/self-implement/gate-scope.ts +13 -1
  493. package/src/self-implement/goal-author.ts +407 -21
  494. package/src/self-implement/goal-doc/section.ts +22 -0
  495. package/src/self-implement/goal-supervisor-fill.ts +110 -27
  496. package/src/self-implement/importer-test-index.ts +215 -2
  497. package/src/self-implement/knowhow-pack.ts +125 -12
  498. package/src/self-implement/l8-merge-queue.ts +198 -32
  499. package/src/self-implement/off-diff-evidence.ts +23 -0
  500. package/src/self-implement/orchestrator.ts +369 -33
  501. package/src/self-implement/pod-inplace-worktree.ts +82 -0
  502. package/src/self-implement/pod-warm-pool-profile.ts +2 -2
  503. package/src/self-implement/premise-review.ts +7 -5
  504. package/src/self-implement/review-round-brief.ts +300 -0
  505. package/src/self-implement/rework-policy.ts +14 -0
  506. package/src/self-implement/run-ledger.ts +428 -6
  507. package/src/self-implement/run-stop.ts +1 -1
  508. package/src/self-implement/running-runs.ts +17 -3
  509. package/src/self-implement/seams.ts +45 -16
  510. package/src/self-implement/self-implement-cli.ts +26 -2
  511. package/src/self-implement/stop-autoheal.ts +1 -0
  512. package/src/self-implement/test-seams.ts +13 -1
  513. package/src/self-implement/train-reach-grouping.ts +8 -2
  514. package/src/session/channel-ask-op-envelope.ts +36 -0
  515. package/src/session/channel-op-reply-route.ts +200 -0
  516. package/src/session/chat.ts +10 -1
  517. package/src/session/id-prefix.ts +60 -0
  518. package/src/session/index.ts +6 -0
  519. package/src/session-runtime/index.ts +18 -23
  520. package/src/skills/runner.ts +7 -3
  521. package/src/skills/tools/dev-harness.ts +2 -2
  522. package/src/skills/tools/pty.ts +5 -0
  523. package/src/skills/tools/schedule-wakeup.ts +1 -6
  524. package/src/status/bar.ts +3 -3
  525. package/src/status/metrics.ts +12 -1
  526. package/src/steward/rejudge-tick.ts +12 -5
  527. package/src/steward/resync-tick.ts +31 -4
  528. package/src/storage/file-lock.ts +17 -4
  529. package/src/task-agent/actions.ts +199 -4
  530. package/src/task-agent/adopt-pr.ts +63 -2
  531. package/src/task-agent/boundary-proof-mapping.ts +12 -0
  532. package/src/task-agent/boundary-proof-producer.ts +147 -0
  533. package/src/task-agent/completion-evidence.ts +2 -1
  534. package/src/task-agent/evidence-command-normalize.ts +42 -0
  535. package/src/task-agent/export-redactions-provision.ts +43 -0
  536. package/src/task-agent/green-close-recipe.ts +239 -0
  537. package/src/task-agent/green-sweep.ts +64 -10
  538. package/src/task-agent/live-moves.ts +48 -3
  539. package/src/task-agent/map-host-adapter.ts +134 -0
  540. package/src/task-agent/map-reduce.ts +158 -0
  541. package/src/task-agent/map-run-ledger.ts +226 -0
  542. package/src/task-agent/parent-host.ts +74 -17
  543. package/src/task-agent/rejudge-on-head.ts +72 -5
  544. package/src/task-agent/repair-cycle.ts +108 -8
  545. package/src/task-agent/repair-next-move.ts +12 -2
  546. package/src/task-agent/repair-worker.ts +37 -1
  547. package/src/task-agent/review-prior-fix.ts +12 -2
  548. package/src/task-agent/shadow.ts +188 -5
  549. package/src/task-agent/task-hand.ts +253 -20
  550. package/src/task-agent/task-parent-role-llm.ts +9 -0
  551. package/src/task-agent/tier-split.ts +40 -5
  552. package/src/task-agent/work-order.ts +53 -2
  553. package/src/task-orchestrator/dispatcher.ts +46 -1
  554. package/src/task-orchestrator/generator-prompt.ts +6 -0
  555. package/src/task-orchestrator/surfaces/pod-artifact-return.ts +16 -6
  556. package/src/task-orchestrator/surfaces/pod-failure-reason.ts +31 -4
  557. package/src/task-orchestrator/surfaces/pod-ledger-collect.ts +8 -6
  558. package/src/task-orchestrator/surfaces/pod-ledger-events.ts +97 -0
  559. package/src/task-orchestrator/surfaces/pod-pool.ts +77 -8
  560. package/src/task-orchestrator/surfaces/pod-warm-worker-provider.ts +15 -9
  561. package/src/task-orchestrator/surfaces/self-implement-pod.ts +338 -79
  562. package/src/task-orchestrator/surfaces/self-implement.ts +37 -2
  563. package/src/terminal/session-registry.ts +1 -0
  564. package/src/terminal/terminal-modal-router.ts +156 -0
  565. package/src/testing/linux-env.ts +177 -0
  566. package/src/tool-hints/gate.ts +6 -4
  567. package/src/tool-hints/signals.ts +33 -1
  568. package/src/tui/chat/background-job-status.ts +8 -2
  569. package/src/tui/chat/goal-interim.ts +5 -1
  570. package/src/tui/entry.ts +722 -30
  571. package/src/tui/input/at-picker.ts +55 -0
  572. package/src/tui/sidetab/attach.ts +304 -0
  573. package/src/tui/sidetab/list.ts +176 -0
  574. package/src/tui/sidetab/nl-tool.ts +136 -0
  575. package/src/tui/slash/resume-command.ts +23 -0
  576. package/src/tui/slash/resume.ts +38 -35
  577. package/src/tui/slash/signals.ts +114 -0
  578. package/src/tui/slash/term-next.ts +72 -0
  579. package/src/tui-client/local-chat-turn.ts +31 -9
  580. package/src/user-config.ts +30 -3
  581. package/src/ux-sim/boot-daemon-tools-pty-shell-device.ts +136 -0
  582. package/src/ux-sim/classic-tui-seat-scenarios.ts +158 -4
  583. package/src/ux-sim/fake-gh.ts +174 -0
  584. package/src/ux-sim/fake-kubectl.ts +142 -0
  585. package/src/ux-sim/fake-llm.ts +17 -6
  586. package/src/ux-sim/next-tui-seat-scenarios.ts +176 -6
  587. package/src/ux-sim/resume-picker-device.ts +173 -0
  588. package/src/ux-sim/session-id-seed.ts +60 -0
  589. package/src/ux-sim/skills-tools-shell-device.ts +156 -0
  590. package/src/ux-sim/task-agent-parent-host-device.ts +264 -0
  591. package/src/ux-sim/task-agent-rejudge-on-head-device.ts +114 -0
  592. package/src/version/packed-revision.json +1 -1
  593. package/apps/pwa/out/_next/static/chunks/109.f196abf3484bb97f.js +0 -287
  594. package/apps/pwa/out/_next/static/chunks/1201.afbfc5b1c5e5cbe4.js +0 -1
  595. package/apps/pwa/out/_next/static/chunks/1517.9275b89572098ff3.js +0 -1
  596. package/apps/pwa/out/_next/static/chunks/1574.ad11f8db8396ab45.js +0 -1
  597. package/apps/pwa/out/_next/static/chunks/1614.7a8c5c40aee0261f.js +0 -1
  598. package/apps/pwa/out/_next/static/chunks/1871-f1eb29d8dbb4065b.js +0 -1
  599. package/apps/pwa/out/_next/static/chunks/190.285c832bd9626f8c.js +0 -64
  600. package/apps/pwa/out/_next/static/chunks/2193.0ea24c4a7aa1d004.js +0 -36
  601. package/apps/pwa/out/_next/static/chunks/223-ad865c1e80491d78.js +0 -1
  602. package/apps/pwa/out/_next/static/chunks/2265-f0d90b6dbec05f81.js +0 -1
  603. package/apps/pwa/out/_next/static/chunks/2267.eb4a62a209f09ec4.js +0 -149
  604. package/apps/pwa/out/_next/static/chunks/2341-86cd06c0cf01aa33.js +0 -1
  605. package/apps/pwa/out/_next/static/chunks/2352.9abc42422bade876.js +0 -1
  606. package/apps/pwa/out/_next/static/chunks/2397-c1653a816061842d.js +0 -1
  607. package/apps/pwa/out/_next/static/chunks/2500.cbc1257b774aae52.js +0 -1
  608. package/apps/pwa/out/_next/static/chunks/2709.8e1889034255fc5f.js +0 -24
  609. package/apps/pwa/out/_next/static/chunks/284.ac77c0db55bfd3a8.js +0 -1
  610. package/apps/pwa/out/_next/static/chunks/2941.3c3546f96bc6efa7.js +0 -1
  611. package/apps/pwa/out/_next/static/chunks/2976.b000698a3c6512dc.js +0 -24
  612. package/apps/pwa/out/_next/static/chunks/2986.45d7652e4f13557e.js +0 -2
  613. package/apps/pwa/out/_next/static/chunks/3155.2587a55196ecb394.js +0 -226
  614. package/apps/pwa/out/_next/static/chunks/3277.785db1cf09f98601.js +0 -1
  615. package/apps/pwa/out/_next/static/chunks/3320-f9c77381f85a2c0a.js +0 -1
  616. package/apps/pwa/out/_next/static/chunks/3386-91049feabff9a94e.js +0 -1
  617. package/apps/pwa/out/_next/static/chunks/339.80afb7e8839372af.js +0 -8
  618. package/apps/pwa/out/_next/static/chunks/3538.a445e50bb359d068.js +0 -32
  619. package/apps/pwa/out/_next/static/chunks/3540c645.2595a6af01a97672.js +0 -1
  620. package/apps/pwa/out/_next/static/chunks/3621.581b2054cc14bee4.js +0 -286
  621. package/apps/pwa/out/_next/static/chunks/3676.8c28d16fd84ca843.js +0 -1
  622. package/apps/pwa/out/_next/static/chunks/375-b84540853523fe52.js +0 -1
  623. package/apps/pwa/out/_next/static/chunks/3757-180308bc61021b05.js +0 -1
  624. package/apps/pwa/out/_next/static/chunks/379.ee262e37586fe1ae.js +0 -74
  625. package/apps/pwa/out/_next/static/chunks/3840-5825d56d46976a92.js +0 -1
  626. package/apps/pwa/out/_next/static/chunks/3969-81054381eaec4c4c.js +0 -1
  627. package/apps/pwa/out/_next/static/chunks/4067-bf9aa60547972937.js +0 -1
  628. package/apps/pwa/out/_next/static/chunks/4176.e5729c93c29151eb.js +0 -104
  629. package/apps/pwa/out/_next/static/chunks/4227-e6c84686bc8946ca.js +0 -1
  630. package/apps/pwa/out/_next/static/chunks/4327.b9e08a71c0009348.js +0 -1
  631. package/apps/pwa/out/_next/static/chunks/4946.bd106eafd668f248.js +0 -148
  632. package/apps/pwa/out/_next/static/chunks/5085-bce4904931767ca6.js +0 -1
  633. package/apps/pwa/out/_next/static/chunks/5125.2eb9968b83767193.js +0 -93
  634. package/apps/pwa/out/_next/static/chunks/5128-75b733fd74a9a1eb.js +0 -1
  635. package/apps/pwa/out/_next/static/chunks/5489f3fe.4bb1458b09f6dead.js +0 -122
  636. package/apps/pwa/out/_next/static/chunks/5560-2a4648f6a30f16e7.js +0 -1
  637. package/apps/pwa/out/_next/static/chunks/5772-e29e14f8ff127122.js +0 -1
  638. package/apps/pwa/out/_next/static/chunks/5887.5b2f5b44ce0f7e9a.js +0 -1
  639. package/apps/pwa/out/_next/static/chunks/5899-4c112a2d908cf97f.js +0 -1
  640. package/apps/pwa/out/_next/static/chunks/6041.1b65efb796ebc2a5.js +0 -79
  641. package/apps/pwa/out/_next/static/chunks/6057-765c0a26028c86b2.js +0 -1
  642. package/apps/pwa/out/_next/static/chunks/6142.f289e0d039f453a6.js +0 -1
  643. package/apps/pwa/out/_next/static/chunks/6199-6bcd61d2a3910e04.js +0 -1
  644. package/apps/pwa/out/_next/static/chunks/6236.cdf7293e710a9b2d.js +0 -1
  645. package/apps/pwa/out/_next/static/chunks/6387-237e079dac9a3ae6.js +0 -1
  646. package/apps/pwa/out/_next/static/chunks/6448-b6d272d074276e14.js +0 -1
  647. package/apps/pwa/out/_next/static/chunks/6466-92e65a48490b68a9.js +0 -1
  648. package/apps/pwa/out/_next/static/chunks/6580-cdc0e4a634ce4708.js +0 -1
  649. package/apps/pwa/out/_next/static/chunks/6659-b242dc31b20b3f29.js +0 -1
  650. package/apps/pwa/out/_next/static/chunks/6690.c5d9b321b1f79384.js +0 -1
  651. package/apps/pwa/out/_next/static/chunks/671-e9b6ad0c771c5514.js +0 -1
  652. package/apps/pwa/out/_next/static/chunks/6862.bcbf89dd0f4496b3.js +0 -27
  653. package/apps/pwa/out/_next/static/chunks/6912-7b375ee48732c767.js +0 -1
  654. package/apps/pwa/out/_next/static/chunks/727.7deb87749b0a343a.js +0 -1
  655. package/apps/pwa/out/_next/static/chunks/7481.39f7a4654907bf6e.js +0 -1
  656. package/apps/pwa/out/_next/static/chunks/7545.b1aa42cd15503319.js +0 -1
  657. package/apps/pwa/out/_next/static/chunks/7551-416d298c2dc4a9ab.js +0 -1
  658. package/apps/pwa/out/_next/static/chunks/7870-309de463786ac1fc.js +0 -1
  659. package/apps/pwa/out/_next/static/chunks/7888-e29b151bb6a3bb8b.js +0 -1
  660. package/apps/pwa/out/_next/static/chunks/7891.03f910124a737985.js +0 -1
  661. package/apps/pwa/out/_next/static/chunks/7905-6ba78d9234608f79.js +0 -1
  662. package/apps/pwa/out/_next/static/chunks/8207.f527886b7c464529.js +0 -1
  663. package/apps/pwa/out/_next/static/chunks/856.50bda61439d465e6.js +0 -62
  664. package/apps/pwa/out/_next/static/chunks/9031-92e9b487edb681ee.js +0 -1
  665. package/apps/pwa/out/_next/static/chunks/9060.5410d9f6a95f6287.js +0 -90
  666. package/apps/pwa/out/_next/static/chunks/914.8abefd48d579547b.js +0 -94
  667. package/apps/pwa/out/_next/static/chunks/9187-c87a2207d4ac5d46.js +0 -1
  668. package/apps/pwa/out/_next/static/chunks/9289.3e92f278821e18e0.js +0 -1
  669. package/apps/pwa/out/_next/static/chunks/9319.7816d3cc741cd34f.js +0 -1
  670. package/apps/pwa/out/_next/static/chunks/9327-e016bb9f1674d24f.js +0 -1
  671. package/apps/pwa/out/_next/static/chunks/9365.3de48bf75193ff9a.js +0 -77
  672. package/apps/pwa/out/_next/static/chunks/9383.5b5e9aa56b5fea97.js +0 -1
  673. package/apps/pwa/out/_next/static/chunks/9387-cb929573ef436f39.js +0 -1
  674. package/apps/pwa/out/_next/static/chunks/9489.c27becacc3283dec.js +0 -1
  675. package/apps/pwa/out/_next/static/chunks/9514.131c52cc75fe6439.js +0 -1
  676. package/apps/pwa/out/_next/static/chunks/9536.28962663c7734376.js +0 -1
  677. package/apps/pwa/out/_next/static/chunks/9686-12286f5bbf15a5a0.js +0 -1
  678. package/apps/pwa/out/_next/static/chunks/9776.289d40cc5a4c342a.js +0 -1
  679. package/apps/pwa/out/_next/static/chunks/9789.60f723d18097ec30.js +0 -1
  680. package/apps/pwa/out/_next/static/chunks/989.f0c17523c5e61f65.js +0 -1
  681. package/apps/pwa/out/_next/static/chunks/9972-1df393aa8d4f7d52.js +0 -1
  682. package/apps/pwa/out/_next/static/chunks/app/_not-found/page-96750aba7430959f.js +0 -1
  683. package/apps/pwa/out/_next/static/chunks/app/approvals/page-4105e5bbbb043024.js +0 -1
  684. package/apps/pwa/out/_next/static/chunks/app/autopilot/page-5d4fa75c2acb113e.js +0 -1
  685. package/apps/pwa/out/_next/static/chunks/app/board/page-a79a9bdb3b2142bf.js +0 -1
  686. package/apps/pwa/out/_next/static/chunks/app/botlab/page-f1c2047484992a35.js +0 -1
  687. package/apps/pwa/out/_next/static/chunks/app/bots/page-15ffc49b2d8c70e2.js +0 -1
  688. package/apps/pwa/out/_next/static/chunks/app/ceo/page-67d53a3fc8734135.js +0 -1
  689. package/apps/pwa/out/_next/static/chunks/app/chat/page-e30c8dc696491336.js +0 -1
  690. package/apps/pwa/out/_next/static/chunks/app/consult/page-2136e04fa77696e2.js +0 -1
  691. package/apps/pwa/out/_next/static/chunks/app/control/page-fecd2814790c2e12.js +0 -1
  692. package/apps/pwa/out/_next/static/chunks/app/decisions/page-280aa4a98fc5bb44.js +0 -1
  693. package/apps/pwa/out/_next/static/chunks/app/design-check/page-c14e96b65fb4b883.js +0 -1
  694. package/apps/pwa/out/_next/static/chunks/app/editor/page-187dac74825ed6bf.js +0 -1
  695. package/apps/pwa/out/_next/static/chunks/app/exec/page-6bc7246ea8c92448.js +0 -1
  696. package/apps/pwa/out/_next/static/chunks/app/field/page-083747f1d4518f61.js +0 -1
  697. package/apps/pwa/out/_next/static/chunks/app/healthz/route-96750aba7430959f.js +0 -1
  698. package/apps/pwa/out/_next/static/chunks/app/inside/page-15ca95a16ec96e1f.js +0 -1
  699. package/apps/pwa/out/_next/static/chunks/app/intake/page-a8ac031b3810eb64.js +0 -1
  700. package/apps/pwa/out/_next/static/chunks/app/layout-8835f93110494cda.js +0 -1
  701. package/apps/pwa/out/_next/static/chunks/app/live/page-e2de2e59111c9aad.js +0 -1
  702. package/apps/pwa/out/_next/static/chunks/app/live-run/page-f2b2e4bf6e981450.js +0 -1
  703. package/apps/pwa/out/_next/static/chunks/app/loops/page-5b92b7f75df20948.js +0 -1
  704. package/apps/pwa/out/_next/static/chunks/app/market/page-468eddf2b1a84ecb.js +0 -1
  705. package/apps/pwa/out/_next/static/chunks/app/missions/[id]/page-2af16e62c12f22df.js +0 -1
  706. package/apps/pwa/out/_next/static/chunks/app/morning/page-18b40867a77a5793.js +0 -1
  707. package/apps/pwa/out/_next/static/chunks/app/not-found-fe934f2979f5a4a2.js +0 -1
  708. package/apps/pwa/out/_next/static/chunks/app/observatory/page-3eec435537357170.js +0 -1
  709. package/apps/pwa/out/_next/static/chunks/app/ops/checklist/page-ff88cbfd2aa99fc8.js +0 -1
  710. package/apps/pwa/out/_next/static/chunks/app/ops/release/page-a5b39fb780c70ab5.js +0 -1
  711. package/apps/pwa/out/_next/static/chunks/app/ops/seats/page-ae465dde1d1b3933.js +0 -1
  712. package/apps/pwa/out/_next/static/chunks/app/page-cab9674fde9ead26.js +0 -1
  713. package/apps/pwa/out/_next/static/chunks/app/reflection/page-1da49bc8712284d0.js +0 -1
  714. package/apps/pwa/out/_next/static/chunks/app/scheduler/page-5e8aa657551ac912.js +0 -1
  715. package/apps/pwa/out/_next/static/chunks/app/sessions/page-fcc36f36c6dc1fe2.js +0 -1
  716. package/apps/pwa/out/_next/static/chunks/app/settings/devices/page-d22db22f2a7296ca.js +0 -1
  717. package/apps/pwa/out/_next/static/chunks/app/settings/page-d12dc7b1773878f0.js +0 -1
  718. package/apps/pwa/out/_next/static/chunks/app/setup/done/page-99debec9ea7fbec0.js +0 -1
  719. package/apps/pwa/out/_next/static/chunks/app/setup/layout-96750aba7430959f.js +0 -1
  720. package/apps/pwa/out/_next/static/chunks/app/setup/page-2a088a78bad7e924.js +0 -1
  721. package/apps/pwa/out/_next/static/chunks/app/share/page-2e8ed57db7e69993.js +0 -1
  722. package/apps/pwa/out/_next/static/chunks/app/showroom/page-4b3a16213c2ae8fe.js +0 -1
  723. package/apps/pwa/out/_next/static/chunks/app/tasks/page-f098747ddf38c98b.js +0 -1
  724. package/apps/pwa/out/_next/static/chunks/app/today/page-68279e3c843c1fd7.js +0 -1
  725. package/apps/pwa/out/_next/static/chunks/app/trace/page-a34a74453367a39d.js +0 -1
  726. package/apps/pwa/out/_next/static/chunks/app/vault/page-8767a7db2155a5bd.js +0 -1
  727. package/apps/pwa/out/_next/static/chunks/app/workflows/chat-ui/page-bd5976683460d7f2.js +0 -1
  728. package/apps/pwa/out/_next/static/chunks/app/workflows/page-b7364835e7f2ef54.js +0 -1
  729. package/apps/pwa/out/_next/static/chunks/app/workspace/page-311af16b3ee0ffca.js +0 -1
  730. package/apps/pwa/out/_next/static/chunks/app/worktrees/page-fb670757274ae990.js +0 -1
  731. package/apps/pwa/out/_next/static/chunks/ccae1c4b-0cf414f5eff1b10d.js +0 -1
  732. package/apps/pwa/out/_next/static/chunks/f9a61e4d.1fc2c1dbdd49fe46.js +0 -1
  733. package/apps/pwa/out/_next/static/chunks/framework-6d497cbf1eef04c6.js +0 -1
  734. package/apps/pwa/out/_next/static/chunks/main-app-012f5edec932f337.js +0 -1
  735. package/apps/pwa/out/_next/static/chunks/main-da5aeb809edc94a2.js +0 -1
  736. package/apps/pwa/out/_next/static/chunks/pages/_app-5ee319af6f749dfe.js +0 -1
  737. package/apps/pwa/out/_next/static/chunks/pages/_error-4bc84653a718d6c6.js +0 -1
  738. package/apps/pwa/out/_next/static/chunks/webpack-8a96cf6775c73d6e.js +0 -1
  739. package/scripts/migrate-monad-to-elanous.ts +0 -195
  740. package/scripts/rebrand-elanous.ts +0 -242
  741. /package/apps/pwa/out/_next/static/{uC-N0emedeNOFuaBQFv-I → RrjXTwz-urRAbChP1bX02}/_ssgManifest.js +0 -0
@@ -0,0 +1 @@
1
+ "use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[3038],{29343:(e,t,n)=>{n.r(t),n.d(t,{render:()=>t5});var r=n(7401),o=n(78509);n(14498),n(50499),n(89693),n(59259),n(5696),n(67729),n(36693),n(28130),n(51636),n(47356);var l=n(54730),i=n(9820);function a(e,{measure:t}){let n=e.config?.swimlane?.lineHops;if(!1===n)return;let o=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}));(0,r.Z)(t.groups.edgePaths,o,{enabled:!0,jumpRadius:6,jumpStyle:"gap"===n?"gap":"arc"})}(0,i.K)(a,"applySwimlaneLineJumps");var s="__swimlane_default__";function f(e){return Math.max(e.padding??20,20)}function d(e){let{x:t,y:n,width:r,height:o}=e,l=e.swimlaneContentTop;if("number"!=typeof t||"number"!=typeof n||"number"!=typeof r||"number"!=typeof o||"number"!=typeof l||!Number.isFinite(t)||!Number.isFinite(n)||!Number.isFinite(r)||!Number.isFinite(o)||!Number.isFinite(l)||r<=0||o<=0)return void delete e.groupTitleRect;let i=n-o/2,a=Math.min(21,Math.max(0,Math.min(l,n+o/2)-i)),s=i+a;if(s<=i)return void delete e.groupTitleRect;e.groupTitleRect={left:t-r/2,right:t+r/2,top:i,bottom:s}}function u(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(0===r.length)return;let o=n.find(e=>e.id===s);for(let l of(o?o.isGroup&&(o.shape="swimlane",t&&(o.direction=t)):(o={id:s,label:"",isGroup:!0,shape:"swimlane",padding:20,look:e.config?.look,colorIndex:n.reduce((e,t)=>Math.max(e,t.colorIndex??-1),-1)+1,...t?{direction:t}:{}},n.push(o)),r))l.parentId=s}function h(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="string"==typeof t.start?t.start:void 0,r="string"==typeof t.end?t.end:void 0;e&&r&&(t.labelNodeId||n.push({id:t.id,src:e,dst:r,ref:t}))}let r=e.nodes??[],o=r.filter(e=>e.isGroup),l=r.filter(e=>!e.isGroup);return{nodes:[...[...o].reverse(),...l].map(e=>e.id),edges:n,layout:e,nodeById:t}}function g(e,t,n,r){let{layout:o}=e,l=e.nodeById,i=r?.layerGap??100,a=r?.nodeGap??40,s=0;for(let e of t.layers){let t=0;for(let r of e){let e=l.get(r);if(!e){t++;continue}e.layer=s,e.order=t;let o=n.x[r]??t*a,f=n.y[r]??s*i;e.x=o,e.y=f,t++}s++}let u=o.nodes??[],h=new Map,g=[];for(let e of u){if(!e?.isGroup)continue;e.parentId||g.push(e);let t=u.filter(t=>t.parentId===e.id),r=1/0,o=-1/0,l=1/0,i=-1/0;for(let e of t){let t=e.x??n.x[e.id],a=e.y??n.y[e.id],s=e.width??0,f=e.height??0;null!=t&&null!=a&&(r=Math.min(r,t-s/2),o=Math.max(o,t+s/2),l=Math.min(l,a-f/2),i=Math.max(i,a+f/2))}if(r===1/0||l===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=Math.max(0,o-r)+(e.parentId?t:2*f(e)),a=Math.max(0,i-l)+t,s=(l+i)/2;e.x=(r+o)/2,e.y=s,e.width=n,e.height=a,h.set(e.id,{minX:r,maxX:o,minY:l,maxY:i})}}if(g.length>0&&h.size>0){let e=1/0,t=-1/0,n=0;for(let r of g){let o=r.padding??20;o>n&&(n=o);let l=h.get(r.id);l&&(e=Math.min(e,l.minY),t=Math.max(t,l.maxY))}if(e!==1/0&&t!==-1/0){let r=Math.max(0,t-e)+2*Math.max(n,36),o=(e+t)/2;for(let t of g)t.y=o,t.height=r,t.swimlaneContentTop=e;let l=[...g].sort((e,t)=>(e.x??0)-(t.x??0)),i=[],a=[],s=[];for(let e of l){let t=h.get(e.id);if(!t)continue;let n=Math.max(0,t.maxX-t.minX)+2*f(e),r=(t.minX+t.maxX)/2;i.push(e.id),a.push(r),s.push(n)}let u=i.length;if(u>0){let e=new Map;if(1===u)e.set(i[0],s[0]);else{let t=[];for(let e=0;e<u-1;e++)t.push(a[e+1]-a[e]);let n=Array(u);n[0]=0;for(let e=0;e<u-1;e++)n[e+1]=2*t[e]-n[e];let r=0,o=1/0;for(let e=0;e<u;e++){let t=s[e];e%2==0?r=Math.max(r,t-n[e]):o=Math.min(o,n[e]-t)}let l=r;l=r<=o?(r+o)/2:r;for(let t=0;t<u;t++){let r=n[t]+(t%2==0?l:-l),o=Math.max(s[t],r);e.set(i[t],o)}}for(let t of g){let n=e.get(t.id);null!=n&&(t.width=n),d(t)}}}}}function c(e){let t=[],n=[],r=new Map;for(let t of e.nodes)r.set(t.id,t);for(let o of e.edges){if(!o.label||0===o.label.length||o.isLayoutOnly||o.labelNodeId)continue;let e=o.start?r.get(o.start):void 0,i=o.end?r.get(o.end):void 0;if(!e||!i){l.R.warn("[EdgeLabelNodes]",`Edge ${o.id} has missing source or target node`);continue}let a=`edge-label-${o.start}-${o.end}-${o.id}`,s=e.parentId!==i.parentId?i.parentId:e.parentId,f={id:a,label:o.label,edgeStart:o.start??"",edgeEnd:o.end??"",shape:"labelRect",width:0,height:0,isEdgeLabel:!0,isDummy:!0,parentId:s,isGroup:!1,labelStyle:Array.isArray(o.labelStyle)?o.labelStyle[0]:o.labelStyle??"",...e.dir?{dir:e.dir}:{}};t.push(f),o.labelNodeId=a,o.label=void 0,o.text=void 0;let d={id:`${o.id}-to-label`,start:o.start,end:a,type:"normal",isLayoutOnly:!0},u={id:`${o.id}-from-label`,start:a,end:o.end,type:"normal",isLayoutOnly:!0};n.push(d,u)}let o=[...e.nodes,...t],i=[...e.edges,...n];return{...e,nodes:o,edges:i}}function x(e){let t=e.x??0,n=e.y??0,r=e.width??0,o=e.height??0;return r>0&&o>0?{cx:t,cy:n,rect:E(t,n,r,o)}:void 0}function p(e){if(e.isGroup)return;let t=x(e);if(t)return{id:String(e.id??""),cx:t.cx,cy:t.cy,rect:t.rect}}function m(e,t,n=.001){return Math.abs(e.x-t.x)<n&&Math.abs(e.y-t.y)<n}function y(e,t,n=.001){return Math.abs(e.x-t.x)<n}function b(e,t,n=.001){return Math.abs(e.y-t.y)<n}function M(e,t,n=.001){return b(e,t,n)&&Math.abs(e.x-t.x)>n}function K(e,t,n=.001){return y(e,t,n)&&Math.abs(e.y-t.y)>n}function I(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)))}function S(e,t,n=.001){return e.horizontal&&t.horizontal&&b(e.a,t.a,n)?I(e.a.x,e.b.x,t.a.x,t.b.x):e.vertical&&t.vertical&&y(e.a,t.a,n)?I(e.a.y,e.b.y,t.a.y,t.b.y):0}function w(e,t=.001){let n=[];for(let r=0;r<e.length-1;r++){let o=e[r],l=e[r+1],i=M(o,l,t),a=K(o,l,t);(i||a)&&n.push({index:r,a:o,b:l,horizontal:i,vertical:a})}return n}function v(e,t=.001){let n=w(e,t),r=0;for(let e=1;e<n.length;e++)n[e-1].horizontal!==n[e].horizontal&&r++;return r}function C(e,t=.001){let n=[];for(let r of e){let e=n.length>0?n[n.length-1]:void 0;e&&m(e,r,t)||n.push({x:r.x,y:r.y})}return n}function L(e,t=.001){if(!e||4!==e.length)return;let[n,r,o,l]=e;return M(n,r,t)&&K(r,o,t)&&M(o,l,t)?{kind:"HVH",p0:n,p1:r,p2:o,p3:l}:K(n,r,t)&&M(r,o,t)&&K(o,l,t)?{kind:"VHV",p0:n,p1:r,p2:o,p3:l}:void 0}function k(e,t,n,r=0){let o=Math.min(e.x,t.x),l=Math.max(e.x,t.x),i=Math.min(e.y,t.y),a=Math.max(e.y,t.y);return l>n.left-r&&o<n.right+r&&a>n.top-r&&i<n.bottom+r}function T(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}function O(e,t){return e.left<=t.left&&e.right>=t.right&&e.top<=t.top&&e.bottom>=t.bottom}function R(e,t){return e.left<t.right&&e.right>t.left&&e.top<t.bottom&&e.bottom>t.top}function F(e,t){return{left:e.left-t,right:e.right+t,top:e.top-t,bottom:e.bottom+t}}function E(e,t,n,r){return{left:e-n/2,right:e+n/2,top:t-r/2,bottom:t+r/2}}function $(e){return x(e)?.rect}function N(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}}}function A(e,t,n,r,o,l=.001){let i="left"===t||"right"===t,a="left"===r||"right"===r;if(i&&a){if("right"===t&&"left"===r&&e.x<n.x||"left"===t&&"right"===r&&e.x>n.x){if(b(e,n,l))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(b(e,n,l))return;let r="left"===t?Math.min(e.x,n.x)-o:Math.max(e.x,n.x)+o;return[e,{x:r,y:e.y},{x:r,y:n.y},n]}return}if(!i&&!a){if(t===r){if(y(e,n,l))return;let r="top"===t?Math.min(e.y,n.y)-o:Math.max(e.y,n.y)+o;return[e,{x:e.x,y:r},{x:n.x,y:r},n]}if(!("bottom"===t&&"top"===r&&e.y<n.y||"top"===t&&"bottom"===r&&e.y>n.y))return;if(y(e,n,l))return[e,n];let i=(e.y+n.y)/2;return[e,{x:e.x,y:i},{x:n.x,y:i},n]}if(i&&!a){let o="right"===t&&n.x>e.x||"left"===t&&n.x<e.x,l="top"===r&&e.y<n.y||"bottom"===r&&e.y>n.y;return o&&l?[e,{x:n.x,y:e.y},n]:void 0}let s="bottom"===t&&n.y>e.y||"top"===t&&n.y<e.y,f="left"===r&&e.x<n.x||"right"===r&&e.x>n.x;return s&&f?[e,{x:e.x,y:n.y},n]:void 0}function B(e,t,n,r){return"left"===t||"right"===t?[e,{x:r,y:e.y},{x:r,y:n.y},n]:[e,{x:e.x,y:r},{x:n.x,y:r},n]}function X(e){let t=new Map,n=[];for(let r of e){if(r.isEdgeLabel)continue;let e=p(r);e&&(t.set(e.id,e),n.push({id:e.id,rect:e.rect}))}return{nodeInfoById:t,realNodeRects:n}}function z(e){let t=[],n=[];for(let r of e){let e=p(r);if(!e)continue;let o={id:e.id,rect:e.rect};r.isEdgeLabel?n.push(o):t.push(o)}return{realNodeRects:t,labelNodeRects:n}}function Y(e,{includeEdgeLabels:t=!0}={}){let n=[];for(let r of e){if(r.isGroup||!t&&r.isEdgeLabel)continue;let e=r.x??0,o=r.y??0,l=r.width??0,i=r.height??0;n.push({nodeId:r.id,...E(e,o,l,i)})}return n}function G(e,t,n=.001){let r=e.start,o=e.end;if(!r||!o)return;let l=t.get(r),i=t.get(o);if(l&&i)return{srcId:r,dstId:o,srcInfo:l,dstInfo:i,collinearX:Math.abs(l.cx-i.cx)<n,collinearY:Math.abs(l.cy-i.cy)<n}}function P(e,t,n,r=[],o=0){for(let l of n)if(!r.includes(l.id)&&k(e,t,l.rect,-o))return!0;return!1}function D(e,t,n,r,o=.001,l=1e-6){let i=b(e,t,o),a=y(e,t,o),s=b(n,r,o),f=y(n,r,o);if(i&&s||a&&f||!(i||a)||!(s||f))return!1;let d=i?{a:e,b:t}:{a:n,b:r},u=a?{a:e,b:t}:{a:n,b:r},h=d.a.y,g=Math.min(d.a.x,d.b.x),c=Math.max(d.a.x,d.b.x),x=u.a.x,p=Math.min(u.a.y,u.b.y),m=Math.max(u.a.y,u.b.y);if(x<g||x>c||h<p||h>m)return!1;let M=Math.abs(x-d.a.x)<l&&Math.abs(h-d.a.y)<l||Math.abs(x-d.b.x)<l&&Math.abs(h-d.b.y)<l,K=Math.abs(x-u.a.x)<l&&Math.abs(h-u.a.y)<l||Math.abs(x-u.b.x)<l&&Math.abs(h-u.b.y)<l;return!(M&&K)}function _(e,t,n,r,o=.001){let l=b(e,t,o),i=y(e,t,o),a=b(n,r,o),s=y(n,r,o);return i&&s&&y(e,n,o)?I(e.y,t.y,n.y,r.y)>o:!!(l&&a&&b(e,n,o))&&I(e.x,t.x,n.x,r.x)>o}function H(e,t,n,r,{epsilon:o=.001,skipDegenerateOther:l=!1}={}){for(let i of n){if(i===r||i.isLayoutOnly)continue;let n=i.points;if(n&&!(n.length<2))for(let r=0;r<n.length-1;r++){let i=n[r],a=n[r+1];if(!(l&&m(i,a,o))&&(D(e,t,i,a,o)||_(e,t,i,a,o)))return!0}}return!1}function j(e,t,n,r,o=.001){let l=b(e,t,o),i=y(e,t,o),a=b(n,r,o),s=y(n,r,o);if(!(l&&s||i&&a))return!1;let f=l?{a:e,b:t}:{a:n,b:r},d=l?{a:n,b:r}:{a:e,b:t},u=f.a.y,h=Math.min(f.a.x,f.b.x),g=Math.max(f.a.x,f.b.x),c=d.a.x,x=Math.min(d.a.y,d.b.y),p=Math.max(d.a.y,d.b.y);return c>h+o&&c<g-o&&u>x+o&&u<p-o}function V(e,t,n){let r=Math.min(t,n),o=Math.max(t,n);return e>r+.001&&e<o-.001}function U(e,t,n){return y(e,t)&&y(t,n)?V(t.y,e.y,n.y):!!(b(e,t)&&b(t,n))&&V(t.x,e.x,n.x)}function W(e){let t=!1,n=[];for(let r=0;r<e.length;r++){let o=n[n.length-1],l=e[r],i=r+1<e.length?e[r+1]:void 0;if(o&&i){if(m(o,i)){r++,t=!0;continue}if(U(o,l,i)){t=!0;continue}}n.push(l)}return{points:n,changed:t}}function Z(e){let t=[e[0]];for(let n=1;n<e.length;n++){let r=t[t.length-1],o=e[n];if(!y(r,o)&&!b(r,o)){let e=t.length>=2?t[t.length-2]:void 0,n=e&&y(e,r)?{x:r.x,y:o.y}:{x:o.x,y:r.y};t.push(n)}t.push(o)}let n=[];for(let e of t){let t=n[n.length-1];t&&m(t,e)||n.push(e)}return n}function q(e){if(e.length<3)return e;let t=[...e];for(let e=0;e<32;e++){let e=W(t);if(t=e.points,!e.changed)break}return t}function J(e,t,n){if(e.isLayoutOnly||!e.points||e.points.length<n)return;let r=e.start?t.get(e.start):void 0,o=e.end?t.get(e.end):void 0;return{edge:e,points:e.points,srcRect:r?$(r):void 0,dstRect:o?$(o):void 0}}function Q(e,t,n){if(b(e,t,.001))return{x:e.x<n.left?n.left:n.right,y:e.y};if(y(e,t,.001)){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))}}function ee(e,t,n){let r=n?1:-1,o=n?0:e.length-1;for(;o>=0&&o<e.length&&T(e[o],t,.5);)o+=r;if(o<0||o>=e.length)return e;let l=o-r;if(l<0||l>=e.length)return e;let i=Q(e[o],e[l],t);return n?[i,...e.slice(o)]:[...e.slice(0,o+1),i]}function et(e,t){for(let n of e){let e=J(n,t,2);if(!e)continue;let r=[...e.points];e.srcRect&&(r=ee(r,e.srcRect,!0)),e.dstRect&&(r=ee(r,e.dstRect,!1)),r=eh(r=q(Z(r)),e.srcRect,e.dstRect),e.edge.points=q(Z(r))}}function en(e,t,n,r=!1){if(b(e,t,.001)){if(t.y<n.top-.001||t.y>n.bottom+.001)return t;if(r){if(e.x<n.left-.001)return{x:n.left,y:e.y};if(e.x>n.right+.001)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(y(e,t,.001)){if(t.x<n.left-.001||t.x>n.right+.001)return t;if(r){if(e.y<n.top-.001)return{x:e.x,y:n.top};if(e.y>n.bottom+.001)return{x:e.x,y:n.bottom}}let o=Math.abs(t.y-n.top)<=Math.abs(t.y-n.bottom);return{x:e.x,y:o?n.top:n.bottom}}return t}function er(e,t,n){let r=e[t];for(let o=t+n;o>=0&&o<e.length;o+=n){let t=e[o];if(!m(t,r,.001))return t}return e[t+n]}function eo(e,t){let n=e+4,r=t-4;return n<=r?{lo:n,hi:r}:{lo:(e+t)/2,hi:(e+t)/2}}function el(e,t,n){let{lo:r,hi:o}=eo(t,n);return Math.min(o,Math.max(r,e))}function ei(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}}function ea(e,t){return"left"===t||"right"===t?eo(e.top,e.bottom):eo(e.left,e.right)}function es(e,t,n){let r=e.y>=n.top-.001&&e.y<=n.bottom+.001,o=e.x>=n.left-.001&&e.x<=n.right+.001;if(b(e,t,.001)&&r){if(.001>Math.abs(e.x-n.left))return"left";if(.001>Math.abs(e.x-n.right))return"right"}if(y(e,t,.001)&&o){if(.001>Math.abs(e.y-n.top))return"top";if(.001>Math.abs(e.y-n.bottom))return"bottom"}}function ef(e){return"left"===e||"right"===e}function ed(e,t,n,r,o){let l=[],i=n?es(e,t,n):void 0,a=r?es(t,e,r):void 0;return n&&i&&ef(i)===o&&l.push(ea(n,i)),r&&a&&ef(a)===o&&l.push(ea(r,a)),l.length>0?ei(l):void 0}function eu(e,t,n,r,o){let l=ed(e,t,n,r,o);if(!l)return;let i=o?e.y:e.x,a=Math.min(l.hi,Math.max(l.lo,i));if(!(.001>Math.abs(a-i)))return o?[{x:e.x,y:a},{x:t.x,y:a}]:[{x:a,y:e.y},{x:a,y:t.y}]}function eh(e,t,n){if(2!==e.length)return e;let[r,o]=e;return b(r,o,.001)?eu(r,o,t,n,!0)??e:y(r,o,.001)?eu(r,o,t,n,!1)??e:e}function eg(e,t,n){return ef(n)?{x:e.x,y:el(e.y,t.top,t.bottom)}:{x:el(e.x,t.left,t.right),y:e.y}}function ec(e,t,n,r,o,l){let i=e.map(e=>({...e}));for(let a=t;a>=0&&a<e.length;a+=n){let t=e[a];if(l&&!b(t,r,.001)||!l&&!y(t,r,.001))break;l?i[a].y=o.y:i[a].x=o.x}return i}function ex(e,t,n){if(e.length<2)return e;let r=n?0:e.length-1,o=n?1:-1,l=e[r],i=er(e,r,o);if(!i)return e;let a=es(l,i,t);if(!a)return e;let s=ef(a),f=eg(l,t,a);return m(l,f,.001)?e:ec(e,r,o,l,f,s)}function ep(e,t,n){let r=Math.min(e.x,t.x)>=n.left-.001&&Math.max(e.x,t.x)<=n.right+.001,o=Math.min(e.y,t.y)>=n.top-.001&&Math.max(e.y,t.y)<=n.bottom+.001;return .001>Math.abs(e.y-n.top)&&.001>Math.abs(t.y-n.top)&&r?"top":.001>Math.abs(e.y-n.bottom)&&.001>Math.abs(t.y-n.bottom)&&r?"bottom":.001>Math.abs(e.x-n.left)&&.001>Math.abs(t.x-n.left)&&o?"left":.001>Math.abs(e.x-n.right)&&.001>Math.abs(t.x-n.right)&&o?"right":void 0}function em(e,t,n,r){switch(e){case"top":return y(t,n,.001)&&n.y<r.top-.001;case"bottom":return y(t,n,.001)&&n.y>r.bottom+.001;case"left":return b(t,n,.001)&&n.x<r.left-.001;case"right":return b(t,n,.001)&&n.x>r.right+.001}}function ey(e,t,n){if(e.length<3)return e;if(n){let n=ep(e[0],e[1],t);return n&&em(n,e[1],e[2],t)?e.slice(1):e}let r=e.length-1,o=ep(e[r-1],e[r],t);return o&&em(o,e[r-1],e[r-2],t)?e.slice(0,r):e}function eb(e,t,n){let r=e;if(t){let e=er(r,0,1);if(e){let n=en(e,r[0],t);n!==r[0]&&(r=[n,...r.slice(1)])}r=ey(r,t,!0)}if(n){let e=r.length-1,t=er(r,e,-1);if(t){let o=en(t,r[e],n,!0);o!==r[e]&&(r=[...r.slice(0,e),o])}r=ey(r,n,!1)}let o=eh(r,t,n);return o!==r||2===r.length?o:(t&&(r=ex(r,t,!0)),n&&(r=ex(r,n,!1)),r)}function eM(e,t){for(let n of e){let e=J(n,t,2);if(!e)continue;let r=eb(C(e.points,.001),e.srcRect,e.dstRect);if(r.length<3){e.edge.points=r;continue}let o=[r[0],{...r[0]},...r.slice(1,-1),r[r.length-1],{...r[r.length-1]}];e.edge.points=o}}function eK(e){return new Map(e.map(e=>[e.id,e]))}function eI(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}function eS(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}function ew(e){let t=1/0,n=-1/0,r=1/0,o=-1/0;for(let l of e){let e=l.x,i=l.y;if("number"!=typeof e||"number"!=typeof i)continue;let a=l.width??0,s=l.height??0;t=Math.min(t,e-a/2),n=Math.max(n,e+a/2),r=Math.min(r,i-s/2),o=Math.max(o,i+s/2)}return t===1/0||r===1/0?null:{minX:t,maxX:n,minY:r,maxY:o}}function ev(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}function eC(e){let t=eK(e);for(let n of e.filter(e=>e.isGroup&&e.parentId).sort((e,n)=>eS(n,t)-eS(e,t))){let t=ew(e.filter(e=>e.parentId===n.id));t&&ev(n,t)}}function eL(e,t){let n=e.nodes??[],r=e.edges??[],o=n.filter(e=>!e.isGroup),l=1/0,a=-1/0;for(let e of o){let n=e[t];"number"==typeof n&&(l=Math.min(l,n),a=Math.max(a,n))}if(!Number.isFinite(l)||!Number.isFinite(a))return!1;let s=(0,i.K)(e=>l+a-e,"mirror");for(let e of n){let n=e[t];"number"==typeof n&&(e[t]=s(n));let r=e.groupTitleRect;r&&(e.groupTitleRect="x"===t?{...r,left:s(r.right),right:s(r.left)}:{...r,top:s(r.bottom),bottom:s(r.top)})}for(let e of r)for(let n of e.points??[])n[t]=s(n[t]);return!0}function ek(e){return!(e.nodes??[]).some(e=>!e.isGroup)||eL(e,"y")}function eT(e,t="LR"){let n=e.nodes??[],r=e.edges??[],o=n.filter(e=>!e.isGroup),l=1/0,i=1/0;for(let e of o){let t=e.x??0,n=e.y??0;t<l&&(l=t),n<i&&(i=n)}if(!Number.isFinite(l)||!Number.isFinite(i))return!1;let a=0,s=0;for(let e of o)a+=e.width??0,s+=e.height??0;let f=a/o.length,d=s/o.length,u=d>0?Math.max(1,f/d):1;for(let e of o){let t=e.x??0,n=((e.y??0)-i)*u+36,r=t-l;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-i)*u+36,r=e-l;t.x=n,t.y=r}eC(n);let h=n.filter(e=>e.isGroup&&!e.parentId);if(0===h.length)return"RL"===t&&eL(e,"x"),!0;let g=eK(n),c=new Map;for(let e of n){if(e.isGroup)continue;let t=eI(e,g);if(!t)continue;let n=c.get(t)??[];n.push(e),c.set(t,n)}let x=0;for(let e of h){let t=e.padding??0;t>x&&(x=t)}let p=[],m=1/0,y=-1/0;for(let e of h){let t=ew(c.get(e.id)??[]);t&&(m=Math.min(m,t.minX),y=Math.max(y,t.maxX),p.push({lane:e,contentTop:t.minY,contentBottom:t.maxY,centerY:(t.minY+t.maxY)/2}))}if(m===1/0||y===-1/0)return!0;let b=Math.max(0,y-m)+2*Math.max(x,10),M=36+b,K=(m+y)/2-b/2-36,I=K+M/2,S=Math.max(x,36);p.sort((e,t)=>e.centerY-t.centerY);for(let e=0;e<p.length;e++){let t,n,r=p[e];if(t=0===e?r.contentTop-S:(p[e-1].contentBottom+r.contentTop)/2,e===p.length-1)n=r.contentBottom+S;else{let t=p[e+1];n=(r.contentBottom+t.contentTop)/2}let o=Math.max(0,n-t),l=(t+n)/2;r.lane.x=I,r.lane.y=l,r.lane.width=M,r.lane.height=o,r.lane.swimlaneContentTop=r.contentTop,r.lane.groupTitleRect={left:K,right:K+36,top:t,bottom:n}}return"RL"===t&&eL(e,"x"),!0}(0,i.K)(f,"topLaneHorizontalPadding"),(0,i.K)(d,"assignTopLaneTitleRect"),(0,i.K)(u,"prepareLayoutForSwimlanes"),(0,i.K)(h,"toGraphView"),(0,i.K)(g,"writeBackToLayoutData"),(0,i.K)(c,"createEdgeLabelNodes"),(0,i.K)(x,"measuredNodeRect"),(0,i.K)(p,"nodeBoundsInfoFor"),(0,i.K)(m,"samePoint"),(0,i.K)(y,"sameX"),(0,i.K)(b,"sameY"),(0,i.K)(M,"isHorizontalSegment"),(0,i.K)(K,"isVerticalSegment"),(0,i.K)(I,"overlapLength"),(0,i.K)(S,"sameAxisSegmentOverlapLength"),(0,i.K)(w,"orthogonalSegmentsForPoints"),(0,i.K)(v,"countOrthogonalBends"),(0,i.K)(C,"dedupeConsecutivePoints"),(0,i.K)(L,"classifyThreeSegmentRoute"),(0,i.K)(k,"segmentBoundsOverlapRect"),(0,i.K)(T,"pointInsideRect"),(0,i.K)(O,"rectContainsRect"),(0,i.K)(R,"rectsOverlap"),(0,i.K)(F,"inflateRect"),(0,i.K)(E,"rectFromCenterSize"),(0,i.K)($,"rectOfNodeBounds"),(0,i.K)(N,"portForRectSide"),(0,i.K)(A,"buildOrthogonalPortPath"),(0,i.K)(B,"buildSameSideTrackPath"),(0,i.K)(X,"collectRealNodeBounds"),(0,i.K)(z,"collectNodeRectEntries"),(0,i.K)(Y,"collectLayoutNodeRects"),(0,i.K)(G,"getNodePairGeometry"),(0,i.K)(P,"segmentHitsAnyRect"),(0,i.K)(D,"orthogonalSegmentsCross"),(0,i.K)(_,"sameAxisSegmentsOverlap"),(0,i.K)(H,"segmentConflictsWithAnyEdge"),(0,i.K)(j,"orthogonalSegmentsStrictlyCross"),(0,i.K)(V,"strictlyBetween"),(0,i.K)(U,"isCollinearIntermediate"),(0,i.K)(W,"simplifyPolylineOnce"),(0,i.K)(Z,"orthogonalizePolyline"),(0,i.K)(q,"simplifyPolyline"),(0,i.K)(J,"endpointContextFor"),(0,i.K)(Q,"segmentEnterPoint"),(0,i.K)(ee,"clipEndpoint"),(0,i.K)(et,"clipEdgeEndpointsToNodeBoundaries"),(0,i.K)(en,"snapEndpointToBoundary"),(0,i.K)(er,"firstDistinctAdjacent"),(0,i.K)(eo,"cornerClearanceRange"),(0,i.K)(el,"clampToCornerClearance"),(0,i.K)(ei,"intersectRanges"),(0,i.K)(ea,"clearanceRangeForSide"),(0,i.K)(es,"terminalSideForSegment"),(0,i.K)(ef,"isHorizontalSide"),(0,i.K)(ed,"straightClearanceRange"),(0,i.K)(eu,"clearStraightEndpointCornerAxis"),(0,i.K)(eh,"clearStraightEndpointCornerConnections"),(0,i.K)(eg,"cornerClearedEndpoint"),(0,i.K)(ec,"moveCollinearEndpointRun"),(0,i.K)(ex,"clearEndpointCornerConnection"),(0,i.K)(ep,"borderSideForSegment"),(0,i.K)(em,"leavesOutward"),(0,i.K)(ey,"collapseOwnBorderStub"),(0,i.K)(eb,"snapAndCollapseEndpoints"),(0,i.K)(eM,"prepareEdgeEndpointsForRenderer"),(0,i.K)(eK,"buildNodeMap"),(0,i.K)(eI,"resolveTopLevelGroupId"),(0,i.K)(eS,"groupDepth"),(0,i.K)(ew,"boundsForChildren"),(0,i.K)(ev,"applyGroupBounds"),(0,i.K)(eC,"recomputeNestedGroupBounds"),(0,i.K)(eL,"mirrorAxis"),(0,i.K)(ek,"applyBtDirectionTransform"),(0,i.K)(eT,"applyLrDirectionTransform");var eO=[0,8,-8,16,-16];function eR(e,t){let{nodeInfoById:n,realNodeRects:r}=X(t);for(let t of e){let o;if(t.isLayoutOnly)continue;let l=t.points;if(!l||l.length<4)continue;let i=L(C(l,1e-6),1e-6);if(!i)continue;let{p3:a}=i,s="HVH"===i.kind,f=G(t,n,1e-6);if(!f)continue;let{srcId:d,dstId:u,srcInfo:h,dstInfo:g,collinearX:c,collinearY:x}=f;if(c||x)continue;let p=h.rect;for(let n of eO){let l,i,f;if(s){let e=g.cy>h.cy?p.bottom:p.top,t=h.cx+n;if(t<=p.left+1e-6||t>=p.right-1e-6)continue;l={x:t,y:e},i={x:t,y:a.y},f={x:a.x,y:a.y}}else{let e=g.cx>h.cx?p.right:p.left,t=h.cy+n;if(t<=p.top+1e-6||t>=p.bottom-1e-6)continue;l={x:e,y:t},i={x:a.x,y:t},f={x:a.x,y:a.y}}let c=m(l,i,1e-6),x=m(i,f,1e-6);if(c&&x||!c&&P(l,i,r,[d],1)||!x&&P(i,f,r,[u],1))continue;let y=!c&&H(l,i,e,t,{epsilon:1e-6,skipDegenerateOther:!0}),b=!x&&H(i,f,e,t,{epsilon:1e-6,skipDegenerateOther:!0});if(!y&&!b){o=c?[i,f]:x?[l,i]:[l,i,f];break}}o&&(t.points=o)}}function eF(e,t){let{realNodeRects:n,labelNodeRects:r}=z(t.values());for(let o of e){let l,a;if(o.isLayoutOnly)continue;let s=o.points;if(!s||s.length<4)continue;let f=C(s,.001);if(f.length<4)continue;let d=f.length-1,u=f[d],h=f[d-1],g=f[d-2],c=Math.hypot(u.x-h.x,u.y-h.y);if(c>=10||c<.001)continue;let x=h.x-g.x,p=h.y-g.y;if(.001>Math.hypot(x,p))continue;let m=M(h,u,.001),I=K(h,u,.001),S=M(g,h,.001),w=K(g,h,.001);if(!(m&&w||I&&S))continue;let v=o.end,L=o.start,k=v?t.get(v):void 0;if(!k)continue;let O=k.x??0,R=k.y??0,F=$(k);if(!F)continue;if(w){let e=p<0;l={x:O,y:g.y},a={x:O,y:e?F.bottom:F.top}}else{let e=x>0;l={x:g.x,y:R},a={x:e?F.right:F.left,y:R}}if(P(l,a,n,v?[v]:[],-2)||P(l,a,r,[],-2))continue;if(L){let e=t.get(L),n=e?$(e):void 0;if(n&&T(l,n,2))continue}let E=(0,i.K)((e,t)=>`${e.x.toFixed(3)},${e.y.toFixed(3)}|${t.x.toFixed(3)},${t.y.toFixed(3)}`,"ownSegmentKey"),N=new Set;for(let e=0;e<f.length-1;e++)N.add(E(f[e],f[e+1]));let A=(0,i.K)((t,n)=>{for(let r of e){if(r===o||r.isLayoutOnly)continue;let e=r.points;if(e&&!(e.length<2))for(let r=0;r<e.length-1;r++){let o=e[r],l=e[r+1];if(!N.has(E(o,l))&&j(t,n,o,l,.001))return!0}}return!1},"segmentCrossesOtherEdge");if(A(l,a))continue;if(d-3>=0){let e=f[d-3];if(P(e,l,n,[L,v].filter(e=>!!e),-2)||A(e,l))continue}let B=[...f.slice(0,d-2),l,a];o.points=B;let X=o.labelNodeId;if(X){let e=t.get(X);if(e){let t=e.width??0,n=e.height??0;if(t>0&&n>0){let r,o,l=-1;for(let e=0;e<B.length-1;e++){let i=B[e],a=B[e+1],s=Math.hypot(a.x-i.x,a.y-i.y),f=b(i,a,.001),d=y(i,a,.001);(f&&s>=t+2||d&&s>=n+2)&&s>l&&(l=s,r=(i.x+a.x)/2,o=(i.y+a.y)/2)}void 0!==r&&void 0!==o&&(e.x=r,e.y=o)}}}}}(0,i.K)(eR,"portSwapToLShape"),(0,i.K)(eF,"collapseShortTerminalStub");var eE=(0,i.K)((e,t)=>y(e,t,.001)||b(e,t,.001),"orthogonallyAligned");function e$(e,t){let n=(0,i.K)((e,t)=>{let n=e.x??0,r=e.y??0,o=t.x-n,l=t.y-r,i=(e.width??0)/2,a=(e.height??0)/2;return Math.abs(l)*i>Math.abs(o)*a?(l<0&&(a=-a),{x:n+(0===l?0:a*o/l),y:r+a}):(o<0&&(i=-i),{x:n+i,y:r+(0===o?0:i*l/o)})},"rectIntersect"),r=(0,i.K)((e,r)=>{let o=C(e.points??[]);if(o.length<2)return;let l=r?e.start:e.end,i=l?t.get(l):void 0,a=i?$(i):void 0;if(!i||!l||!a)return;let s=r?o[0]:o[o.length-1],f=r?o[1]:o[o.length-2],d=n(i,s),u=s;return(eE(f,d)&&(u=f),y(d,u,.001))?{edge:e,edgeId:String(e.id??""),nodeId:l,atStart:r,orientation:"V",coord:d.x,min:Math.min(d.y,u.y),max:Math.max(d.y,u.y),boundary:d,railEnd:u,rect:a}:b(d,u,.001)?{edge:e,edgeId:String(e.id??""),nodeId:l,atStart:r,orientation:"H",coord:d.y,min:Math.min(d.x,u.x),max:Math.max(d.x,u.x),boundary:d,railEnd:u,rect:a}:void 0},"terminalLaneFor"),o=(0,i.K)((e,t)=>Math.max(0,Math.min(e.max,t.max)-Math.max(e.min,t.min)),"projectedOverlapLength"),l=(0,i.K)((e,t)=>e.nodeId===t.nodeId&&e.orientation===t.orientation&&("H"===e.orientation?(1>Math.abs(e.boundary.x-e.rect.left)||1>Math.abs(e.boundary.x-e.rect.right))&&y(e.boundary,t.boundary,1):(1>Math.abs(e.boundary.y-e.rect.top)||1>Math.abs(e.boundary.y-e.rect.bottom))&&b(e.boundary,t.boundary,1)),"sameTerminalFace"),a=(0,i.K)((e,t)=>e.nodeId===t.nodeId&&e.orientation===t.orientation&&o(e,t)>=8&&.5>Math.abs(e.coord-t.coord),"exactTerminalLaneConflict"),s=(0,i.K)((e,t)=>{if(e.nodeId!==t.nodeId||e.orientation!==t.orientation||"H"!==e.orientation||e.atStart===t.atStart)return!1;let n=o(e,t);if(n<8)return!1;let r=e.rect.bottom-e.rect.top;return!(n<r)&&!(n>2*r)&&l(e,t)&&16>Math.abs(e.coord-t.coord)},"nearTerminalLaneConflict"),f=(0,i.K)((e,t)=>{let n=C(e.edge.points??[]);if(n.length<2)return;let r="V"===e.orientation?{x:e.boundary.x+t,y:e.boundary.y}:{x:e.boundary.x,y:e.boundary.y+t},o="V"===e.orientation?{x:e.railEnd.x+t,y:e.railEnd.y}:{x:e.railEnd.x,y:e.railEnd.y+t};if(!(0,i.K)(()=>1>Math.abs(e.boundary.y-e.rect.top)||1>Math.abs(e.boundary.y-e.rect.bottom)?b(r,e.boundary,.001)&&r.x>=e.rect.left+1&&r.x<=e.rect.right-1:!!(1>Math.abs(e.boundary.x-e.rect.left)||1>Math.abs(e.boundary.x-e.rect.right))&&y(r,e.boundary,.001)&&r.y>=e.rect.top+1&&r.y<=e.rect.bottom-1,"boundaryStaysOnSameFace")())return;if(e.atStart){let t=n.length>1&&m(n[1],e.railEnd,.001),l=n.slice(t?2:1),i=l[0];if(i&&!eE(i,o))return;return[r,o,...l]}let l=n.length>1&&m(n[n.length-2],e.railEnd,.001),a=n.slice(0,l?-2:-1),s=a[a.length-1];if(!s||eE(s,o))return[...a,o,r]},"shiftedCandidate"),d=(0,i.K)(e=>{let n=e.edge,r=C(n.points??[]);if(2!==r.length)return!1;let o=n.start,l=n.end,i=o?t.get(o):void 0,a=l?t.get(l):void 0;if(!i||!a)return!1;let s=i.x??0,f=i.y??0,d=a.x??0,u=a.y??0,[h,g]=r;return b(h,g,.001)&&1>Math.abs(f-u)&&Math.abs(s-d)>1||y(h,g,.001)&&1>Math.abs(s-d)&&Math.abs(f-u)>1},"laneIsStraightCollinearConnector"),u=[-7,7,-14,14,-21,21];for(let t=0;t<8;t++){let t=e.filter(e=>!e.isLayoutOnly).flatMap(e=>[r(e,!0),r(e,!1)]).filter(e=>!!e),n=!1;for(let e=0;e<t.length&&!n;e++)for(let o=e+1;o<t.length&&!n;o++){let l=t[e],i=t[o];if(l.edge===i.edge||!(a(l,i)||s(l,i)))continue;let h=!a(l,i);for(let e of[l,i].sort((e,t)=>{let n=d(e),r=d(t);return n!==r?Number(n)-Number(r):Number(!t.atStart)-Number(!e.atStart)})){for(let o of u){let l=f(e,o);if(!l)continue;let i=r({...e.edge,points:l},e.atStart);if(!(!i||t.some(t=>t.edge!==e.edge&&(a(i,t)||h&&s(i,t))))){e.edge.points=l,n=!0;break}}if(n)break}}if(!n)return}}function eN(e,t){let{realNodeRects:n,labelNodeRects:r}=z(t.values()),o=(0,i.K)((t,o)=>{let l=t.start,i=t.end,a=w(o);if(a.length!==o.length-1)return!1;let s=[l,i].filter(e=>!!e);for(let e of a)if(P(e.a,e.b,n,s,-2)||P(e.a,e.b,r,[],-2))return!1;for(let n of e){if(n===t||n.isLayoutOnly)continue;let e=n.points;if(e&&!(e.length<2)){for(let t of a)for(let n of w(C(e)))if(S(t,n,.5)>=8||j(t.a,t.b,n.a,n.b,.001))return!1}}return!0},"candidateIsSafe"),l=(0,i.K)((e,t)=>{if(t+4>=e.length)return;let n=e[t],r=e[t+1],o=e[t+2],l=e[t+3],i=e[t+4],a=M(n,r)&&K(r,o)&&M(o,l)&&K(l,i)&&y(n,l,.001)&&y(n,i,.001)&&y(r,o,.001)&&(r.x-n.x)*(l.x-o.x)<0,s=K(n,r)&&M(r,o)&&K(o,l)&&M(l,i)&&b(n,l,.001)&&b(n,i,.001)&&b(r,o,.001)&&(r.y-n.y)*(l.y-o.y)<0;if(a||s)return C([...e.slice(0,t+1),i,...e.slice(t+5)]);if(t+5>=e.length)return;let f=e[t+5],d=K(n,r)&&M(r,o)&&K(o,l)&&M(l,i)&&K(i,f)&&y(n,i,.001)&&y(n,f,.001)&&y(o,l,.001)&&(o.x-r.x)*(i.x-l.x)<0,u=M(n,r)&&K(r,o)&&M(o,l)&&K(l,i)&&M(i,f)&&b(n,i,.001)&&b(n,f,.001)&&b(o,l,.001)&&(o.y-r.y)*(i.y-l.y)<0;if(d||u)return C([...e.slice(0,t+1),f,...e.slice(t+6)])},"withoutDogleg");for(let t=0;t<8;t++){let t=!1;for(let n of e){if(n.isLayoutOnly)continue;let e=C(n.points??[]);for(let r=0;r<=e.length-5;r++){let i=l(e,r);if(i&&o(n,i)){n.points=i,t=!0;break}}if(t)break}if(!t)return}}function eA(e,t){let{realNodeRects:n,labelNodeRects:r}=z(t.values()),o=e.filter(e=>!e.isLayoutOnly),l=(0,i.K)((e,t,n)=>C(e===t?n??[]:e.points??[]),"pointsFor"),a=(0,i.K)((e,t)=>{let n=0;for(let r=0;r<o.length;r++){let i=w(l(o[r],e,t));for(let a=r+1;a<o.length;a++){let r=w(l(o[a],e,t));for(let e of i)for(let t of r)j(e.a,e.b,t.a,t.b,.001)&&n++}}return n},"strictCrossingCount"),s=(0,i.K)(e=>{let t=w(e);if(3!==t.length)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"),f=(0,i.K)((e,t)=>{let r=[e.start,e.end].filter(e=>!!e);return n.filter(e=>{if(r.includes(e.id))return!1;let n=e.rect;return t.horizontal?I(t.a.x,t.b.x,n.left,n.right)>=8&&t.a.y>=n.top-2&&t.a.y<=n.bottom+2:I(t.a.y,t.b.y,n.top,n.bottom)>=8&&t.a.x>=n.left-2&&t.a.x<=n.right+2})},"blockingRectsFor"),d=(0,i.K)((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)return;r[t.index].x=n,r[t.index+1].x=n}let o=q(C(r));return w(o).length===o.length-1?o:void 0},"candidateByMovingRail"),u=(0,i.K)((e,t,i)=>{let s=[e.start,e.end].filter(e=>!!e),f=w(t);if(f.length!==t.length-1)return!1;for(let e of f)if(P(e.a,e.b,n,s,-2)||P(e.a,e.b,r,[],-2))return!1;for(let t of o)if(t!==e){for(let e of f)for(let n of w(l(t)))if(S(e,n,.5)>=8)return!1}return a(e,t)<=i},"candidateIsSafe");for(let e=0;e<8;e++){let e=a(),t=!1;for(let n of o){let r=l(n),o=s(r);if(!o)continue;let i=f(n,o.segment);if(0!==i.length){for(let l of o.horizontal?[Math.min(...i.map(e=>e.rect.top))-20,Math.max(...i.map(e=>e.rect.bottom))+20]:[Math.min(...i.map(e=>e.rect.left))-20,Math.max(...i.map(e=>e.rect.right))+20]){let i=d(r,o.segment,l);if(i&&u(n,i,e)){n.points=i,t=!0;break}}if(t)break}}if(!t)return}}function eB(e,t){let n=(0,i.K)(e=>{let t=e.groupTitleRect;if(t&&"number"==typeof t.left&&"number"==typeof t.right&&"number"==typeof t.top&&"number"==typeof t.bottom&&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"),r=(0,i.K)(e=>{if(!e.isGroup||e.parentId)return;let t=e.direction,r="string"==typeof t?t.toUpperCase():"";if("LR"===r||"RL"===r||"BT"===r)return;let o=n(e),l=e.y,i=e.height;if(!o||"number"!=typeof l||"number"!=typeof i||!Number.isFinite(l)||!Number.isFinite(i)||i<=0)return;let a=o.right-o.left,s=o.bottom-o.top;if(!(s<=0)&&!(a<s))return{node:e,rect:o}},"topLaneTitleFor"),o=(0,i.K)((e,t)=>{if(!e.horizontal)return!1;let n=e.a.y;return!(n<=t.top+.001)&&!(n>=t.bottom-.001)&&I(e.a.x,e.b.x,t.left,t.right)>=8},"horizontalSegmentIntersectsTitle"),l=[...t.values()].map(r).filter(e=>!!e);if(0===l.length)return;let a=0;for(let t of e)if(!t.isLayoutOnly)for(let e of w(C(t.points??[])))for(let t of l)o(e,t.rect)&&(a=Math.max(a,t.rect.bottom-e.a.y+4));if(!(a<=.001))for(let e of l){let t=e.node.y,n=e.node.height;"number"==typeof t&&"number"==typeof n&&Number.isFinite(t)&&Number.isFinite(n)&&!(n<=0)&&(e.node.y=t-a/2,e.node.height=n+a,e.node.groupTitleRect={...e.rect,top:e.rect.top-a,bottom:e.rect.bottom-a})}}function eX(e,t){let n=(0,i.K)(e=>{let t=e.groupTitleRect;if(t&&"number"==typeof t.left&&"number"==typeof t.right&&"number"==typeof t.top&&"number"==typeof t.bottom&&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"),r=(0,i.K)(e=>{if(!e.isGroup||e.parentId||"LR"!==e.direction)return;let t=n(e),r=e.x,o=e.width;if(!t||"number"!=typeof r||"number"!=typeof o||!Number.isFinite(r)||!Number.isFinite(o)||o<=0)return;let l=t.right-t.left,i=t.bottom-t.top;if(!(l<=0)&&!(i<l))return{node:e,rect:t}},"leftLaneTitleFor"),o=(0,i.K)((e,t)=>{if(!e.vertical)return!1;let n=e.a.x;return!(n<=t.left+.001)&&!(n>=t.right-.001)&&I(e.a.y,e.b.y,t.top,t.bottom)>=8},"verticalSegmentIntersectsTitle"),l=(0,i.K)((e,t)=>{if(!e.horizontal)return!1;let n=e.a.y;return!(n<=t.top+.001)&&!(n>=t.bottom-.001)&&I(e.a.x,e.b.x,t.left,t.right)>=8},"horizontalSegmentIntersectsTitle"),a=[...t.values()].map(r).filter(e=>!!e);if(0===a.length)return;let s=0;for(let t of e)if(!t.isLayoutOnly){for(let e of w(C(t.points??[])))for(let t of a)if(o(e,t.rect))s=Math.max(s,t.rect.right-e.a.x+4);else if(l(e,t.rect)){let n=Math.min(e.a.x,e.b.x);s=Math.max(s,t.rect.right-n+4)}}if(!(s<=.001))for(let e of a){let t=e.node.x,n=e.node.width;"number"==typeof t&&"number"==typeof n&&Number.isFinite(t)&&Number.isFinite(n)&&!(n<=0)&&(e.node.x=t-s/2,e.node.width=n+s,e.node.groupTitleRect={...e.rect,left:e.rect.left-s,right:e.rect.right-s})}}function ez(e,t){let{realNodeRects:n}=z(t.values()),r=e.filter(e=>!e.isLayoutOnly),o=(0,i.K)((e,t=new Map)=>C(t.get(e)??e.points??[]),"replacementPointsFor"),l=(0,i.K)((e=new Map)=>{let t=0;for(let n=0;n<r.length;n++){let l=w(o(r[n],e));for(let i=n+1;i<r.length;i++){let n=w(o(r[i],e));for(let e of l)for(let r of n)j(e.a,e.b,r.a,r.b,.001)&&t++}}return t},"crossingCount"),a=(0,i.K)((e=new Map)=>r.reduce((t,n)=>t+v(o(n,e)),0),"totalBends"),s=(0,i.K)(e=>{let t=o(e);if(t.length<4)return;let n=t[t.length-2],r=t[t.length-1];if(M(n,r,.001)||K(n,r,.001))return{tailStart:n,terminal:r}},"terminalTailFor"),f=(0,i.K)((e,t)=>{let n,r=o(e);if(r.length<3)return;let l=r[0],i=r[1];if(M(l,i,.001))n={x:i.x,y:t.tailStart.y};else{if(!K(l,i,.001))return;n={x:t.tailStart.x,y:i.y}}let a=q(C([l,i,n,t.tailStart,t.terminal]));return w(a).length===a.length-1?a:void 0},"candidateWithDestinationTail"),d=(0,i.K)((e,t)=>{let r=[e.start,e.end].filter(e=>!!e);for(let e of w(t))if(P(e.a,e.b,n,r,-2))return!0;return!1},"pathHasNodeHit"),u=(0,i.K)((e,t,n)=>{for(let l of r)if(l!==e){for(let e of w(t))for(let t of w(o(l,n)))if(S(e,t,.5)>=8)return!0}return!1},"pathHasSharedTrack"),h=(0,i.K)((e,t,n)=>!d(e,t)&&!u(e,t,n),"candidateIsSafe"),g=(0,i.K)(()=>{let e=new Map;for(let n of r){let r=n.end;if(!r||!t.has(r)||o(n).length<4)continue;let l=e.get(r)??[];l.push(n),e.set(r,l)}return e},"edgesByDestination");for(let e=0;e<4;e++){let e,t=l();if(0===t)return;let n=a(),r=t,o=n;for(let n of g().values())for(let i=0;i<n.length;i++)for(let d=i+1;d<n.length;d++){let u=n[i],g=n[d],c=s(u),x=s(g);if(!c||!x)continue;let p=f(u,x),m=f(g,c);if(!p||!m)continue;let y=new Map([[u,p],[g,m]]);if(!h(u,p,y)||!h(g,m,y))continue;let b=l(y),M=a(y);!(b>=t)&&(b>r||b===r&&M>=o||(e=y,r=b,o=M))}if(!e)return;for(let[t,n]of e)t.points=n}}function eY(e,t){let{realNodeRects:n,labelNodeRects:r}=z(t.values()),o=e.filter(e=>!e.isLayoutOnly),l=(0,i.K)((e,t=new Map)=>C(t.get(e)??e.points??[]),"replacementPointsFor"),a=(0,i.K)((e=new Map)=>{let t=0;for(let n=0;n<o.length;n++){let r=w(l(o[n],e));for(let i=n+1;i<o.length;i++){let n=w(l(o[i],e));for(let e of r)for(let r of n)j(e.a,e.b,r.a,r.b,.001)&&t++}}return t},"strictCrossingCount"),s=(0,i.K)((e=new Map)=>o.reduce((t,n)=>t+v(l(n,e)),0),"totalBends"),f=(0,i.K)(e=>{let n=e.start,r=e.end,o=n?t.get(n):void 0,l=r?t.get(r):void 0,i=o?$(o):void 0,a=l?$(l):void 0;return i&&a?{src:i,dst:a}:void 0},"endpointRectsFor"),d=(0,i.K)((e,t,n)=>{if(n.index<=0||n.index+1>=t.length-1)return;let r=f(e);if(r){if(n.vertical){let o=n.a.x,l=Math.min(r.src.left,r.dst.left),i=Math.max(r.src.right,r.dst.right),a=o<l-.001?"left":o>i+.001?"right":void 0;if(!a)return;return{edge:e,points:t,segmentIndex:n.index,axis:"vertical",side:a,coord:o,min:Math.min(n.a.y,n.b.y),max:Math.max(n.a.y,n.b.y)}}if(n.horizontal){let o=n.a.y,l=Math.min(r.src.top,r.dst.top),i=Math.max(r.src.bottom,r.dst.bottom),a=o<l-.001?"top":o>i+.001?"bottom":void 0;if(!a)return;return{edge:e,points:t,segmentIndex:n.index,axis:"horizontal",side:a,coord:o,min:Math.min(n.a.x,n.b.x),max:Math.max(n.a.x,n.b.x)}}}},"externalRailForSegment"),u=(0,i.K)(()=>{let e=[];for(let t of o){let n=l(t);for(let r of w(n)){let o=d(t,n,r);o&&e.push(o)}}return e},"collectExternalRails"),h=(0,i.K)((e,t)=>e.edge!==t.edge&&e.axis===t.axis&&e.side===t.side&&I(e.min,e.max,t.min,t.max)>=8,"railsInteract"),g=(0,i.K)(e=>{let t=[],n=new Set;for(let r of e){if(n.has(r))continue;let o=[r],l=[];for(n.add(r);o.length>0;){let t=o.pop();for(let r of(l.push(t),e))!n.has(r)&&h(t,r)&&(n.add(r),o.push(r))}l.length>1&&t.push(l)}return t},"connectedComponents"),c=(0,i.K)(e=>{let t=[];for(let n of e)t.some(e=>.001>Math.abs(e-n.coord))||t.push(n.coord);for(;t.length<e.length;){let n=Math.min(...t),r=Math.max(...t),o=e[0].side;t.push("left"===o||"top"===o?n-12*(e.length-t.length):r+12*(e.length-t.length))}return t},"uniqueCoordsFor"),x=(0,i.K)(e=>{let t=e.map(e=>e.coord),n=c(e),r=[];if(e.length<=6){let o=Array(n.length).fill(!1),l=[],a=(0,i.K)(()=>{if(l.length===e.length){l.some((e,n)=>Math.abs(e-t[n])>=.001)&&r.push([...l]);return}for(let[e,t]of n.entries())o[e]||(o[e]=!0,l.push(t),a(),l.pop(),o[e]=!1)},"visit");return a(),r}for(let e=0;e<t.length;e++)for(let n=e+1;n<t.length;n++){let o=[...t];[o[e],o[n]]=[o[n],o[e]],r.push(o)}return r},"coordinateAssignmentsFor"),p=(0,i.K)((e,t)=>{let n=new Map;for(let[r,o]of e.entries()){let e=t[r],l=n.get(o.edge)??o.points.map(e=>({x:e.x,y:e.y}));"vertical"===o.axis?(l[o.segmentIndex].x=e,l[o.segmentIndex+1].x=e):(l[o.segmentIndex].y=e,l[o.segmentIndex+1].y=e),n.set(o.edge,l)}let r=new Map;for(let[e,t]of n){let n=q(C(t));if(w(n).length!==n.length-1)return;r.set(e,n)}return r},"replacementsForAssignment"),m=(0,i.K)(e=>{for(let[t,o]of e){let e=[t.start,t.end].filter(e=>!!e);for(let t of w(o))if(P(t.a,t.b,n,e,-2)||P(t.a,t.b,r,[],-2))return!1}for(let t=0;t<o.length;t++){let n=o[t],r=e.has(n),i=w(l(n,e));for(let n=t+1;n<o.length;n++){let t=o[n];if(!r&&!e.has(t))continue;let a=w(l(t,e));for(let e of i)for(let t of a)if(S(e,t,.5)>=8)return!1}}return!0},"candidateIsSafe");for(let e=0;e<4;e++){let e,t=a();if(0===t)return;let n=t,r=s(),o=1/0;for(let l of g(u()))for(let i of x(l)){let f=p(l,i);if(!f||!m(f))continue;let d=a(f);if(d>=t)continue;let u=s(f),h=l.reduce((e,t,n)=>e+Math.abs(i[n]-t.coord),0);d>n||d===n&&(u>r||u===r&&h>=o)||(e=f,n=d,r=u,o=h)}if(!e)return;for(let[t,n]of e)t.points=n}}function eG(e,t){let{realNodeRects:n,labelNodeRects:r}=z(t.values()),o=e.filter(e=>!e.isLayoutOnly),l=(0,i.K)((e,t,n)=>C(e===t?n??[]:e.points??[]),"pointsFor"),a=(0,i.K)(e=>w(e).reduce((e,t)=>e+Math.hypot(t.a.x-t.b.x,t.a.y-t.b.y),0),"pathLength"),s=(0,i.K)((e,t)=>{let n=0;for(let r=0;r<o.length;r++){let i=w(l(o[r],e,t));for(let a=r+1;a<o.length;a++){let r=w(l(o[a],e,t));for(let e of i)for(let t of r)j(e.a,e.b,t.a,t.b,.001)&&n++}}return n},"strictCrossingCount"),f=(0,i.K)((e,t)=>{if(e.horizontal){let n=e.a.y;return(1>Math.abs(n-t.top)||1>Math.abs(n-t.bottom))&&I(e.a.x,e.b.x,t.left,t.right)>=8}if(e.vertical){let n=e.a.x;return(1>Math.abs(n-t.left)||1>Math.abs(n-t.right))&&I(e.a.y,e.b.y,t.top,t.bottom)>=8}return!1},"segmentRunsAlongRectBorder"),d=(0,i.K)(e=>{let n=[e.start,e.end].filter(e=>!!e),r=[];for(let e of n){let n=t.get(e),o=n?$(n):void 0;o&&r.push(o)}return r},"endpointRectsFor"),u=(0,i.K)((e,t)=>{if(t+3>=e.length)return[];let n=e[t],r=e[t+1],o=e[t+2],l=e[t+3],i=M(n,r,.001)&&K(r,o,.001)&&M(o,l,.001),a=K(n,r,.001)&&M(r,o,.001)&&K(o,l,.001);if(!i&&!a||!(i?Math.sign(r.x-n.x)!==Math.sign(l.x-o.x):Math.sign(r.y-n.y)!==Math.sign(l.y-o.y)))return[];let s=y(n,l,.001)||b(n,l,.001)?[]:[{x:n.x,y:l.y},{x:l.x,y:n.y}],f=0===s.length?[[...e.slice(0,t+1),...e.slice(t+3)]]:s.map(n=>[...e.slice(0,t+1),n,...e.slice(t+3)]),d=new Set;return f.map(e=>q(C(e))).filter(e=>{if(w(e).length!==e.length-1||!e.some(e=>m(e,l,.001)))return!1;let t=e.map(e=>`${e.x.toFixed(3)},${e.y.toFixed(3)}`).join("|");return!d.has(t)&&(d.add(t),!0)})},"shortcutCandidatesAt"),h=(0,i.K)((e,t,i)=>{let a=[e.start,e.end].filter(e=>!!e),u=d(e);for(let e of w(t))if(P(e.a,e.b,n,a,-2)||P(e.a,e.b,r,[],-2)||u.some(t=>f(e,t)))return!1;for(let n of o)if(n!==e){for(let e of w(t))for(let t of w(l(n)))if(S(e,t,.5)>=8)return!1}return s(e,t)<=i},"candidateIsSafe");for(let e=0;e<8;e++){let e,t,n=s(),r=n,i=1/0,f=1/0;for(let d of o){let o=l(d),g=v(o,.001),c=a(o);for(let l=0;l<=o.length-4;l++)for(let x of u(o,l)){let o=v(x,.001),l=a(x);if(!(o<g||o===g&&l<c-.001)||!h(d,x,n))continue;let u=s(d,x);u>r||u===r&&(o>i||o===i&&l>=f)||(e=d,t=x,r=u,i=o,f=l)}}if(!e||!t)return;e.points=t}}function eP(e,t){let n=[];for(let e of t.values()){if(e.isGroup||e.isEdgeLabel)continue;let t=e.x??0,r=e.y??0,o=$(e);o&&n.push({id:String(e.id??""),cx:t,cy:r,rect:o})}if(0===n.length)return;let r=new Map(n.map(e=>[e.id,e])),o=n.map(e=>({id:e.id,rect:e.rect})),l=["top","bottom","left","right"],a={top:Math.min(...n.map(e=>e.rect.top))-20,bottom:Math.max(...n.map(e=>e.rect.bottom))+20,left:Math.min(...n.map(e=>e.rect.left))-20,right:Math.max(...n.map(e=>e.rect.right))+20},s=e.filter(e=>!e.isLayoutOnly),f=new Map(s.map((e,t)=>[e,t])),d=(0,i.K)(e=>{let t="left"===e||"top"===e?-1:1,n=[];for(let r=0;r<=2;r++)n.push(a[e]+20*t*r);return n},"outwardTracksForSide"),u=(0,i.K)((e,t=new Map)=>C(t.get(e)??e.points??[]),"replacementPointsFor"),h=(0,i.K)((e,t)=>{let n=0;for(let r of e)for(let e of t)j(r.a,r.b,e.a,e.b,.001)&&n++;return n},"crossingCountBetweenSegments"),g=(0,i.K)((e,t)=>h(w(e),w(t)),"crossingCountBetweenPaths"),c=(0,i.K)((e=new Map)=>{let t=0,n=[],r=new Set,o=[],l=(0,i.K)(e=>{r.has(e)||(r.add(e),o.push(e))},"addEdge");for(let r=0;r<s.length;r++){let o=s[r],i=u(o,e);for(let a=r+1;a<s.length;a++){let r=s[a],f=g(i,u(r,e));f>0&&(t+=f,n.push({first:o,second:r,count:f}),l(o),l(r))}}return o.sort((e,t)=>(f.get(e)??0)-(f.get(t)??0)),{count:t,pairs:n,edgeSet:r,edges:o}},"crossingSnapshot"),x=(0,i.K)((e,t)=>{let n=new Set(t.keys());if(0===n.size)return e.count;let r=0;for(let t of e.pairs)(n.has(t.first)||n.has(t.second))&&(r+=t.count);let o=0;for(let e=0;e<s.length;e++){let r=s[e],l=n.has(r),i=u(r,t);for(let r=e+1;r<s.length;r++){let e=s[r];(l||n.has(e))&&(o+=g(i,u(e,t)))}}return e.count-r+o},"crossingCountWithReplacements"),p=(0,i.K)(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 o of e.edges){if(r.has(o))continue;let e=[o],l=[];for(r.add(o);e.length>0;){let n=e.pop();for(let o of(l.push(n),t.get(n)??[]))r.has(o)||(r.add(o),e.push(o))}l.sort((e,t)=>(f.get(e)??0)-(f.get(t)??0)),l.length>1&&n.push(l)}return n},"crossingComponents"),m=(0,i.K)(e=>[e.start,e.end].filter(e=>!!e),"endpointIdsFor"),y=(0,i.K)(e=>{let t=[];for(let n of p(e)){let e=new Set(n),r=new Set(n.flatMap(e=>m(e))),o=[...n];for(let t of s)!e.has(t)&&m(t).some(e=>r.has(e))&&o.push(t);o.sort((e,t)=>(f.get(e)??0)-(f.get(t)??0)),t.push(o)}return t},"pairSearchGroups"),b=(0,i.K)((e,t,n)=>x(e,new Map([[t,n]])),"crossingCountWithSingleReplacement"),I=(0,i.K)(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"),L=(0,i.K)(e=>e.slice(1).reduce((t,n,r)=>{let o=e[r];return t+Math.abs(n.x-o.x)+Math.abs(n.y-o.y)},0),"pathLength"),k=(0,i.K)((e=new Map)=>s.reduce((t,n)=>t+v(u(n,e)),0),"totalBends"),T=(0,i.K)((e=new Map)=>s.reduce((t,n)=>t+L(u(n,e)),0),"totalLength"),O=(0,i.K)((e,t,n=new Map)=>{let r=w(t);for(let t of s)if(t!==e){for(let e of r)for(let r of w(u(t,n)))if(S(e,r,.5)>=8)return!0}return!1},"pathHasSegmentConflict"),R=(0,i.K)((e,t)=>{let n=[e.start,e.end].filter(e=>!!e);for(let e of w(t))if(P(e.a,e.b,o,n,-2))return!0;return!1},"pathHitsNode"),F=(0,i.K)((e,t)=>{let n=q(C(t));w(n).length===n.length-1&&e.push(n)},"pushOrthogonalCandidate"),E=(0,i.K)(e=>"left"===e||"right"===e,"sideIsHorizontal"),X=(0,i.K)((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"),z=(0,i.K)((e,t,n,r)=>{let o="left"===n||"top"===n?-1:1;for(let l of[X(t,n,r),a[n]])for(let i=0;i<=2;i++)F(e,B(t,n,r,l+20*o*i))},"addSameSideCandidates"),Y=(0,i.K)((e,t,n,r,o)=>{for(let l of d(n))for(let n of d(o))F(e,[t,{x:l,y:t.y},{x:l,y:n},{x:r.x,y:n},r])},"addHorizontalToVerticalCandidates"),G=(0,i.K)((e,t,n,r,o)=>{for(let l of d(n))for(let n of d(o))F(e,[t,{x:t.x,y:l},{x:n,y:l},{x:n,y:r.y},r])},"addVerticalToHorizontalCandidates"),D=(0,i.K)((e,t,n,r,o)=>{let l=[...d("top"),...d("bottom")];for(let i of d(n))for(let n of d(o))for(let o of l)F(e,[t,{x:i,y:t.y},{x:i,y:o},{x:n,y:o},{x:n,y:r.y},r])},"addHorizontalPairCandidates"),_=(0,i.K)((e,t,n,r,o)=>{let l=[...d("left"),...d("right")];for(let i of d(n))for(let n of d(o))for(let o of l)F(e,[t,{x:t.x,y:i},{x:o,y:i},{x:o,y:n},{x:r.x,y:n},r])},"addVerticalPairCandidates"),H=(0,i.K)(e=>{let t=new Set;return e.map(e=>C(e)).filter(e=>{let n=e.map(e=>`${e.x.toFixed(3)},${e.y.toFixed(3)}`).join("|");return!t.has(n)&&!(e.length<2)&&(t.add(n),!0)})},"dedupeCandidatePaths"),V=(0,i.K)((e,t,n,r)=>{let o=[],l=A(e,t,n,r,20,.001);l&&F(o,l),t===r&&z(o,e,t,n);let i=E(t),a=E(r);return i&&!a?Y(o,e,t,n,r):!i&&a?G(o,e,t,n,r):i?D(o,e,t,n,r):_(o,e,t,n,r),H(o)},"buildCandidatesForSides"),U=(0,i.K)((e,t,n,r)=>{let o=[...d("left"),...d("right")],i=[...d("top"),...d("bottom")];for(let a of l){let l=N(r,a),s="top"===a||"bottom"===a?d(a):i;for(let r of o)for(let o of(F(e,[t,n,{x:r,y:n.y},{x:r,y:l.y},l]),s))F(e,[t,n,{x:r,y:n.y},{x:r,y:o},{x:l.x,y:o},l])}},"addVerticalDepartureOuterTrackCandidates"),W=(0,i.K)((e,t,n,r)=>{let o=[...d("left"),...d("right")],i=[...d("top"),...d("bottom")];for(let a of l){let l=N(r,a),s="left"===a||"right"===a?d(a):o;for(let r of i)for(let o of(F(e,[t,n,{x:n.x,y:r},{x:l.x,y:r},l]),s))F(e,[t,n,{x:n.x,y:r},{x:o,y:r},{x:o,y:l.y},l])}},"addHorizontalDepartureOuterTrackCandidates"),Z=(0,i.K)(e=>{let t=e.start,n=e.end,o=n?r.get(n):void 0;if(!t||!o)return[];let l=C(e.points??[]);if(l.length<4)return[];let i=l[0],a=l[1],s=[];return K(i,a,.001)?U(s,i,a,o):M(i,a,.001)&&W(s,i,a,o),s},"terminalPreservingOuterTrackCandidates"),J=(0,i.K)(e=>{let t=e.start,n=e.end,o=t?r.get(t):void 0,i=n?r.get(n):void 0;if(!o||!i)return[];let a=[];for(let e of l){let t=N(o,e);for(let n of l)a.push(...V(t,e,N(i,n),n))}return a.push(...Z(e)),a},"candidatePathsFor"),Q=(0,i.K)(()=>new Map(s.map(e=>[e,w(u(e))])),"currentSegmentsByEdge"),ee=(0,i.K)((e,t,n)=>{let r=new Set;for(let o of s){if(o===e)continue;let l=n.get(o)??w(u(o));t.some(e=>l.some(t=>S(e,t,.5)>=8))&&r.add(o)}return r},"sharedTrackConflictsFor"),et=(0,i.K)((e,t,n,r)=>{let o=new Set;return J(e).map(e=>q(C(e))).filter(t=>{if(R(e,t))return!1;let n=t.map(e=>`${e.x.toFixed(3)},${e.y.toFixed(3)}`).join("|");return!o.has(n)&&!(t.length<2)&&(o.add(n),!0)}).map(o=>{let l=w(o),i=0;for(let t of s)t!==e&&(i+=h(l,n.get(t)??w(u(t))));return{candidate:o,candidateSegments:l,crossings:t.count-(r.get(e)??0)+i,bends:v(o,.001),totalBends:v(o),length:L(o)}}).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:ee(e,t.candidateSegments,n),totalBends:t.totalBends,length:t.length}))},"pairCandidatesFor"),en=(0,i.K)((e,t,n,r,o,l)=>{let i=0;for(let n of e.pairs)(n.first===t||n.second===t||n.first===r||n.second===r)&&(i+=n.count);let a=h(n.segments,o.segments);for(let e of s){if(e===t||e===r)continue;let i=l.get(e)??w(u(e));a+=h(n.segments,i)+h(o.segments,i)}return e.count-i+a},"pairCrossingCount"),er=(0,i.K)((e,t)=>{for(let n of e.sharedTrackConflicts)if(n!==t)return!1;return!0},"conflictsOnlyWith"),eo=(0,i.K)((e,t)=>e.segments.some(e=>t.segments.some(t=>S(e,t,.5)>=8)),"candidatesShareTrack"),el=(0,i.K)((e,t,n,r)=>er(t,n.edge)&&er(r,e.edge)&&!eo(t,r),"pairCandidatesAreCompatible"),ei=(0,i.K)((e,t,n,r,o)=>{let l=en(e.current,t.edge,n,r.edge,o,e.baseSegments);if(!(l>=e.current.count))return{replacements:new Map([[t.edge,n.path],[r.edge,o.path]]),crossings:l,bends:e.currentBends-(e.baseBendsByEdge.get(t.edge)??0)-(e.baseBendsByEdge.get(r.edge)??0)+n.totalBends+o.totalBends,length:e.currentLength-(e.baseLengthByEdge.get(t.edge)??0)-(e.baseLengthByEdge.get(r.edge)??0)+n.length+o.length}},"scorePairReplacement"),ea=(0,i.K)((e,t)=>e.crossings<t.crossings||e.crossings===t.crossings&&(e.bends<t.bends||e.bends===t.bends&&e.length<t.length),"pairScoreIsBetter"),es=(0,i.K)((e,t,n,r)=>{let o=r;for(let r of t.candidates)for(let l of n.candidates){if(!el(t,r,n,l))continue;let i=ei(e,t,r,n,l);i&&ea(i,o)&&(o=i)}return o},"bestScoreForOptionPair"),ef=(0,i.K)(e=>{let t=k(),n=T(),r=Q(),o=I(e),l=new Map(s.map(e=>[e,v(u(e))])),i=new Map(s.map(e=>[e,L(u(e))])),a=new Map,f=y(e);for(let t of f)for(let n of t){if(a.has(n))continue;let t=et(n,e,r,o);t.length>0&&a.set(n,{edge:n,candidates:t})}let d={replacements:new Map,crossings:e.count,bends:t,length:n},h={current:e,currentBends:t,currentLength:n,baseBendsByEdge:l,baseLengthByEdge:i,baseSegments:r};for(let t of f){let n=new Set(t.filter(t=>e.edgeSet.has(t))),r=t.map(e=>a.get(e)).filter(e=>!!e);for(let e=0;e<r.length;e++){let t=r[e];for(let o=e+1;o<r.length;o++){let e=r[o];(n.has(t.edge)||n.has(e.edge))&&(d=es(h,t,e,d))}}}return d.replacements.size>0?d.replacements:void 0},"bestPairedReplacement");for(let e=0;e<4;e++){let e,t,n=c(),r=n.count;if(0===r)return;let o=r,l=1/0;for(let i of n.edges){let a=v(u(i),.001);for(let s of J(i)){let f=R(i,s),d=!f&&O(i,s),u=b(n,i,s),h=v(s,.001);!f&&!d&&(u<r||u===r&&h<a)&&(u>o||u===o&&h>=l||(e=i,t=s,o=u,l=h))}}if(e&&t){e.points=t;continue}let i=ef(n);if(!i)return;for(let[e,t]of i)e.points=t}}function eD(e,t){let{nodeInfoById:n,realNodeRects:r}=X(t),o=["top","bottom","left","right"],l={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},a=(0,i.K)((e,t,n,r)=>{let o=[],i=A(e,t,n,r,20,.001);return i&&o.push(i),t===r&&o.push(B(e,t,n,l[t])),o},"buildOrthogonalPathCandidates"),s=(0,i.K)((e,t)=>{for(let n=0;n<e.length-1;n++)if(P(e[n],e[n+1],r,t,1))return!0;return!1},"pathHitsNode"),f=(0,i.K)((t,n,r=!1)=>{let o=0,l=w(t,.001),i=n.start,a=n.end;for(let t of e){if(t===n||t.isLayoutOnly)continue;let e=t.start,s=t.end;if(!r&&i&&a&&(e===i||e===a||s===i||s===a))continue;let f=t.points;if(f&&!(f.length<2))for(let e of l)for(let t of w(f,.001)){if(D(e.a,e.b,t.a,t.b,.001,.001)){o++;continue}S(e,t,.001)>=8&&o++}}return o},"pathConflictCount"),d=(0,i.K)((e,t)=>{let n=Math.abs(e.y-t.rect.top),r=Math.abs(e.y-t.rect.bottom),o=Math.abs(e.x-t.rect.left),l=Math.abs(e.x-t.rect.right),i="top",a=n;return r<a&&(i="bottom",a=r),o<a&&(i="left",a=o),l<a&&(i="right",a=l),i},"nearestSideOfRect"),u=new Map,h=(0,i.K)((e,t,n)=>{let r=u.get(e)??[];r.push({side:t,edgeId:n}),u.set(e,r)},"addFaceClaim");for(let t of e){if(t.isLayoutOnly)continue;let e=t.points??[];if(e.length<1)continue;let r=t.id??"",o=t.start,l=t.end;if(o){let t=n.get(o);t&&h(o,d(e[0],t),r)}if(l){let t=n.get(l);t&&h(l,d(e[e.length-1],t),r)}}let g=(0,i.K)((e,t,n)=>u.get(e)?.some(e=>e.edgeId!==n&&e.side===t)??!1,"faceIsClaimed");for(let t of e){let e;if(t.isLayoutOnly)continue;let r=t.points;if(!r||r.length<2)continue;let l=v(r,.001);if(l<4)continue;let i=t.start,c=t.end;if(!i||!c)continue;let x=n.get(i),p=n.get(c);if(!x||!p)continue;let m=t.id??"",y=f(r,t,!0),b=f(r,t),M=y,K=l;for(let n of o){if(g(i,n,m))continue;let r=N(x,n);for(let l of o)if(!g(c,l,m))for(let o of a(r,n,N(p,l),l)){if(s(o,[i,c]))continue;let n=v(o,.001);if(y>0){let r=f(o,t,!0);if(r>M||r===M&&n>=K)continue;M=r,K=n,e=o;continue}!(f(o,t)>b)&&n<K&&(K=n,e=o)}}if(e){t.points=e;let n=u.get(i);n&&u.set(i,n.filter(e=>e.edgeId!==m));let r=u.get(c);r&&u.set(c,r.filter(e=>e.edgeId!==m)),h(i,d(e[0],x),m),h(c,d(e[e.length-1],p),m)}}}function e_(e,t){let n=t?0:e.length-1,r=e[n],o=e[n+(t?1:-1)];if(!r||!o)return;let l=o.x-r.x,i=o.y-r.y;if(!(Math.abs(l)+Math.abs(i)<.001)){if(.001>=Math.abs(i)){let e=r.x+10*Math.sign(l);return{left:Math.min(r.x,e),right:Math.max(r.x,e),top:r.y-7,bottom:r.y+7}}if(.001>=Math.abs(l)){let e=r.y+10*Math.sign(i);return{left:r.x-7,right:r.x+7,top:Math.min(r.y,e),bottom:Math.max(r.y,e)}}return{left:Math.min(r.x,o.x),right:Math.max(r.x,o.x),top:Math.min(r.y,o.y),bottom:Math.max(r.y,o.y)}}}function eH(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)}}function ej(e,t){let n=C(t);return[e_(n,!0),e_(n,!1)].some(t=>t&&R(e,eH(t)))}function eV(e,t){let n=[];for(let t of e){if(t.isLayoutOnly)continue;let e=t.points;if(e&&!(e.length<2))for(let r=0;r<e.length-1;r++)n.push({edgeId:t.id,p1:e[r],p2:e[r+1]})}let r=[],o=[];for(let e of t.values()){let t=e.isGroup,n=e.parentId;if(t&&!n){let t=$(e);t&&o.push({id:e.id,rect:t});continue}if(t||e.isEdgeLabel)continue;let l=$(e);l&&r.push({nodeId:e.id,rect:l})}let l=(0,i.K)((e,t)=>{let n=F(t,3);for(let{nodeId:t,rect:o}of r)if(t!==e&&R(n,o))return!0;return!1},"labelOverlapsForeignNode"),a=(0,i.K)((e,t)=>{let r=F(t,3);for(let t of n)if(t.edgeId!==e&&k(t.p1,t.p2,r))return!0;return!1},"labelOverlapsForeignEdge"),s=(0,i.K)((e,t,n)=>l(e,n)||a(t,n),"labelOverlapsAnything"),f=[],d=(0,i.K)(e=>{for(let{id:t,rect:n}of o)if(O(n,e))return t},"findContainingLane"),u=(0,i.K)((e,t)=>f.some(n=>n.labelId!==e&&R(t,n.rect)),"overlapsPlacedLabel");for(let n of e){if(n.isLayoutOnly)continue;let e=n.labelNodeId;if(!e)continue;let r=t.get(e);if(!r)continue;let h=n.points;if(!h||h.length<2)continue;let g=r.width??0,c=r.height??0;if(g<=0||c<=0)continue;let x=[];for(let e=0;e<h.length-1;e++){let t=h[e],n=h[e+1],r=Math.abs(t.x-n.x),o=Math.abs(t.y-n.y);(!(r<.001)||!(o<.001))&&(r>=.001&&o>=.001||x.push({idx:e,length:r+o,orientation:r>=.001?"horizontal":"vertical",midX:(t.x+n.x)/2,midY:(t.y+n.y)/2}))}if(0===x.length)continue;let p=x.length>=3?x.filter(e=>e.idx>0&&e.idx<x.length-1):x,m=p.length>0?p:x,y=g>=c?"horizontal":"vertical",b=(0,i.K)(e=>[...e].sort((e,t)=>{let n=e.orientation===y;if(n!==(t.orientation===y))return n?-1:1;let r=e.length>=("horizontal"===e.orientation?g:c)+2;return r!==t.length>=("horizontal"===t.orientation?g:c)+2?r?-1:1:t.length-e.length}),"rankSegments"),M=x[0],K=x[x.length-1],I=[.5,.25,.75,.05,.95,.15,.85,.1,.9],S=(0,i.K)((e,t)=>{let n=h[e.idx],r=h[e.idx+1];return{midX:n.x+(r.x-n.x)*t,midY:n.y+(r.y-n.y)*t}},"anchorAtT"),w=(0,i.K)((e,t,n)=>Math.min(n,Math.max(t,e)),"clamp"),v=(0,i.K)((e,t)=>e.midX>=t.left-.001&&e.midX<=t.right+.001&&e.midY>=t.top-.001&&e.midY<=t.bottom+.001,"pointInsideRectInclusive"),C=(0,i.K)(e=>{let t=E(e.midX,e.midY,g,c),n=d(t);if(n)return{laneId:n,anchor:e,rect:t};let r=o.find(({rect:t})=>v(e,t));if(!r)return;let l=r.rect.left+g/2+1,i=r.rect.right-g/2-1,a=r.rect.top+c/2+1,s=r.rect.bottom-c/2-1;if(l>i||a>s)return;let f={midX:w(e.midX,l,i),midY:w(e.midY,a,s)},u=E(f.midX,f.midY,g,c);return v(e,u)?{laneId:r.id,anchor:f,rect:u}:void 0},"placementForAnchor"),L=(0,i.K)((e,t,n)=>"horizontal"===e.orientation?Math.abs(t.midX-n.x):Math.abs(t.midY-n.y),"distanceAlongSegment"),k=(0,i.K)((e,t)=>{let n=("horizontal"===e.orientation?g/2:c/2)+12;if(e===M){let r=h[e.idx];if(L(e,t,r)+.001<n)return!1}if(e===K){let r=h[e.idx+1];if(L(e,t,r)+.001<n)return!1}return!0},"labelClearsTerminalEndpoints"),T=(0,i.K)(t=>{for(let r of b(t))for(let t of I){let o=S(r,t);if(!k(r,o))continue;let l=C(o);if(!(!l||ej(l.rect,h))&&!u(e,l.rect)&&!s(e,n.id,l.rect))return{laneId:l.laneId,anchor:l.anchor}}},"tryPool"),O=(0,i.K)((t,r,o=!1)=>{for(let i of b(t)){let t={midX:i.midX,midY:i.midY};if(r&&!k(i,t))continue;let s=C(t);if(s&&!ej(s.rect,h)&&!u(e,s.rect)&&!l(e,s.rect)&&(o||!a(n.id,s.rect)))return{laneId:s.laneId,anchor:s.anchor}}},"findLaneContainingFallback"),R=T(m)??(m.length<x.length?T(x):void 0)??O(x,!0)??O(x,!1)??O(x,!1,!0);if(R){r.x=R.anchor.midX,r.y=R.anchor.midY,r.parentId=R.laneId;let t=E(R.anchor.midX,R.anchor.midY,g,c),n=f.findIndex(t=>t.labelId===e);n>=0?f[n]={labelId:e,rect:t}:f.push({labelId:e,rect:t})}}}(0,i.K)(e$,"separateSharedRenderedTerminalLanes"),(0,i.K)(eN,"collapseRedundantRectangularDoglegs"),(0,i.K)(eA,"liftObstacleHuggingSameSideRails"),(0,i.K)(eB,"liftTopLaneTitleBandsAboveRails"),(0,i.K)(eX,"shiftLeftLaneTitleBandsLeftOfRails"),(0,i.K)(ez,"swapDestinationTerminalTailsToReduceCrossings"),(0,i.K)(eY,"reassignCrossingExternalRailChannels"),(0,i.K)(eG,"shortcutRedundantOrthogonalJogs"),(0,i.K)(eP,"resolveRenderedOrthogonalCrossings"),(0,i.K)(eD,"simplifyDetouredEdges"),(0,i.K)(e_,"markerClearanceRectFor"),(0,i.K)(eH,"normalizeRect"),(0,i.K)(ej,"labelOverlapsOwnMarker"),(0,i.K)(eV,"anchorLabelsToPolyline");function eU(e,t){return e<t?`${e}::${t}`:`${t}::${e}`}function eW(e,t){let{nodeInfoById:n,realNodeRects:r}=X(t),o=new Map;for(let e of t){let t=e.id;if(!e.isGroup&&e.isEdgeLabel){o.set(t,{w:e.width??0,h:e.height??0});continue}}let l=(0,i.K)((t,n,r,l)=>{let a=eU(n,r),s=0,f=(0,i.K)(e=>{if(!e)return;let t=o.get(e);if(!t)return;let n="x"===l?t.w/2:t.h/2;n>s&&(s=n)},"consider");for(let n of(f(t.labelNodeId),e)){if(n===t||n.isLayoutOnly)continue;let e=n.start,r=n.end;e&&r&&eU(e,r)===a&&f(n.labelNodeId)}return s>0?s+3:0},"labelClearanceFor");for(let t of e){let o,i;if(t.isLayoutOnly||!L(t.points,1e-6))continue;let a=G(t,n,1e-6);if(!a)continue;let{srcId:s,dstId:f,srcInfo:d,dstInfo:u,collinearX:h,collinearY:g}=a;if(h===g)continue;if(h){let e=u.cy>d.cy;o={x:d.cx,y:e?d.rect.bottom:d.rect.top},i={x:u.cx,y:e?u.rect.top:u.rect.bottom}}else{let e=u.cx>d.cx;o={x:e?d.rect.right:d.rect.left,y:d.cy},i={x:e?u.rect.left:u.rect.right,y:u.cy}}if(P(o,i,r,[s,f],1))continue;let c=l(t,s,f,h?"x":"y"),x=c>4?c:4;for(let n of[0,x,-x]){let l={...o},a={...i};if(h){if(l.x+=n,a.x+=n,l.x<=d.rect.left||l.x>=d.rect.right||a.x<=u.rect.left||a.x>=u.rect.right)continue}else if(l.y+=n,a.y+=n,l.y<=d.rect.top||l.y>=d.rect.bottom||a.y<=u.rect.top||a.y>=u.rect.bottom)continue;if(!P(l,a,r,[s,f],1)&&!H(l,a,e,t,{epsilon:1e-6})){t.points=[l,a];break}}}}function eZ(e,t){let{realNodeRects:n,labelNodeRects:r}=z(t.values()),o=(0,i.K)((e,t)=>w(t,.001).map(n=>({...n,edge:e,interior:n.index>=1&&n.index<=t.length-3})),"segmentsFor"),l=(0,i.K)(()=>{let t=[];for(let n of e){if(n.isLayoutOnly)continue;let e=n.points;e&&!(e.length<2)&&t.push(...o(n,C(e)))}return t},"allSegments"),a=(0,i.K)((e,t)=>e.horizontal&&t.horizontal?I(e.a.x,e.b.x,t.a.x,t.b.x)>=8&&7>Math.abs(e.a.y-t.a.y):!!e.vertical&&!!t.vertical&&I(e.a.y,e.b.y,t.a.y,t.b.y)>=8&&7>Math.abs(e.a.x-t.a.x),"hasCrowdedParallelTrack"),s=(0,i.K)((t,l)=>{let i=t.start,s=t.end,f=o(t,l);if(f.length!==l.length-1)return!1;let d=[i,s].filter(e=>!!e),u=t.labelNodeId?[t.labelNodeId]:[];for(let e of f)if(P(e.a,e.b,n,d,-2)||P(e.a,e.b,r,u,-2))return!1;for(let n of e){if(n===t||n.isLayoutOnly)continue;let e=n.points;if(e&&!(e.length<2)){for(let t of f)for(let r of o(n,C(e)))if(a(t,r)||j(t.a,t.b,r.a,r.b,.001))return!1}}return!0},"candidateIsSafe"),f=(0,i.K)((e,t)=>{let n=C(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)return;r[e.index].x+=t,r[e.index+1].x+=t}return o(e.edge,r).length===r.length-1?r:void 0},"shiftedCandidate"),d=(0,i.K)((e,t)=>({x:e.x??(t.left+t.right)/2,y:e.y??(t.top+t.bottom)/2}),"nodeCenter"),u=(0,i.K)(e=>{let n=e.edge,r=C(n.points??[]);if(4!==r.length||1!==e.index)return;let o=n.start?t.get(n.start):void 0,l=n.end?t.get(n.end):void 0,i=o?$(o):void 0,a=l?$(l):void 0,s=r.slice(e.index+2);if(o&&l&&i&&a&&0!==s.length)return{sourceCenter:d(o,i),targetCenter:d(l,a),sourceRect:i,tail:s}},"sourceDetourContextFor"),h=(0,i.K)((e,t,n,r,o,l)=>{let i=r.y>=n.y,a=i?o.bottom:o.top,s=a+(i?20:-20);if(i&&e.b.y<=s+.001||!i&&e.b.y>=s-.001)return;let f=e.a.x+t;return C([{x:n.x,y:a},{x:n.x,y:s},{x:f,y:s},{x:f,y:e.b.y},...l],.001)},"verticalSourceDetour"),g=(0,i.K)((e,t,n,r,o,l)=>{let i=r.x>=n.x,a=i?o.right:o.left,s=a+(i?20:-20);if(i&&e.b.x<=s+.001||!i&&e.b.x>=s-.001)return;let f=e.a.y+t;return C([{x:a,y:n.y},{x:s,y:n.y},{x:s,y:f},{x:e.b.x,y:f},...l],.001)},"horizontalSourceDetour"),c=(0,i.K)((e,t)=>{let n=u(e);if(n){if(e.vertical)return h(e,t,n.sourceCenter,n.targetCenter,n.sourceRect,n.tail);if(e.horizontal)return g(e,t,n.sourceCenter,n.targetCenter,n.sourceRect,n.tail)}},"sourceDetourCandidate"),x=[-7,7,-14,14,-21,21];for(let e=0;e<12;e++){let e=l(),t=!1;for(let n=0;n<e.length&&!t;n++)for(let r=n+1;r<e.length&&!t;r++){let o=e[n],l=e[r];if(o.edge!==l.edge&&a(o,l))for(let e of[o,l].filter(e=>e.interior)){for(let n of x){let r=f(e,n);if(r&&s(e.edge,r)){e.edge.points=r,t=!0;break}let o=c(e,n);if(o&&s(e.edge,o)){e.edge.points=o,t=!0;break}}if(t)break}}if(!t)return}}function eq(e,t,n,r){let o=t.x-e.x,l=t.y-e.y,i=r.x-n.x,a=r.y-n.y,s=o*a-l*i;if(1e-10>Math.abs(s))return!1;let f=n.x-e.x,d=n.y-e.y,u=(f*a-d*i)/s,h=(f*l-d*o)/s;return u>.01&&u<.99&&h>.01&&h<.99}function eJ(e){let t=e.nodes??[],n=e.edges??[],r=[];if(!n.length||!t.length)return r;let o=Y(t),i=[];for(let e of n){if(e.isLayoutOnly)continue;let t=e.points;if(!t||t.length<2)continue;let n=e.start,l=e.end,a=e.labelNodeId,s=e.id??`${n}->${l}`;for(let e of o)if(e.nodeId!==n&&e.nodeId!==l&&(!a||e.nodeId!==a)){for(let n=0;n<t.length-1;n++)if(k(t[n],t[n+1],e,-1)){r.push({type:"edge-node-overlap",edgeId:s,targetId:e.nodeId,detail:`segment ${n} passes through node "${e.nodeId}"`});break}}for(let e=0;e<t.length-1;e++)i.push({edgeId:s,start:n,end:l,p1:t[e],p2:t[e+1]})}let a=new Set;for(let e=0;e<i.length;e++)for(let t=e+1;t<i.length;t++){let n=i[e],o=i[t];if(n.edgeId!==o.edgeId&&n.start!==o.start&&n.start!==o.end&&n.end!==o.start&&n.end!==o.end&&eq(n.p1,n.p2,o.p1,o.p2)){let e=n.edgeId<o.edgeId?`${n.edgeId}|${o.edgeId}`:`${o.edgeId}|${n.edgeId}`;a.has(e)||(a.add(e),r.push({type:"edge-edge-crossing",edgeId:n.edgeId,targetId:o.edgeId,detail:`edges "${n.edgeId}" and "${o.edgeId}" cross`}))}}if(r.length>0){let e=r.filter(e=>"edge-node-overlap"===e.type).length,t=r.filter(e=>"edge-edge-crossing"===e.type).length;for(let n of(l.R.warn(`[SWIMLANE_VALIDATE] ${r.length} issue(s) detected: ${e} edge-node overlap(s), ${t} edge crossing(s)`),r))l.R.warn(`[SWIMLANE_VALIDATE] ${n.type}: ${n.detail}`)}return r}function eQ(e,t){let n=e.nodes??[],r=e.edges??[],o=n.filter(e=>!e.isGroup);if(("LR"===t||"RL"===t)&&o.length>0&&!eT(e,t)||"BT"===t&&o.length>0&&!ek(e))return;for(let e of r){if(e.isLayoutOnly)continue;let t=e.points;t&&!(t.length<2)&&(e.points=q(Z(t)))}eD(r,n),eW(r,n),eR(r,n);let l=new Map;for(let e of n)l.set(String(e.id),e);eV(r,l),et(r,l),eF(r,l),eZ(r,l),e$(r,l),eN(r,l),eA(r,l),ez(r,l);let a=(0,i.K)(()=>{eP(r,l),eY(r,l),eG(r,l),eV(r,l),eM(r,l),eA(r,l),eV(r,l),eM(r,l)},"finalizeRenderedEdges");a(),eZ(r,l),a(),eB(r,l),eX(r,l),eB(r,l),eX(r,l)}function e0(e){let t=new Map(e.nodeById),n=new Set,r=[];for(let o of e.edges){if(!t.has(o.src)||!t.has(o.dst))continue;let e=`${o.id}:${o.src}->${o.dst}`;n.has(e)||(n.add(e),r.push(o))}return{nodes:[...t.keys()],edges:r,layout:e.layout,nodeById:t}}function e1(e,t){return e.edges.filter(e=>e.dst===t)}function e2(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}function e6(e){let t=e2(e);for(let e of t.values())e.sort((e,t)=>e.localeCompare(t));return t}function e5(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}function e3(e){return[...e.entries()].filter(([,e])=>0===e).map(([e])=>e).sort((e,t)=>e.localeCompare(t))}function e8(e,t=()=>!0){let n=new Map,r=new Map;for(let t of e.nodes)n.set(t,[]),r.set(t,[]);for(let o of e.edges)t(o)&&(r.get(o.src).push(o.dst),n.get(o.dst).push(o.src));return{preds:n,succs:r}}function e4(e,t,n,r){let o=0;for(let t of e.nodes)r?.skipGroups&&e.nodeById.get(t)?.isGroup||(o=Math.max(o,n[t]??0));let l=Array.from({length:o+1},()=>[]);for(let o of t)r?.skipGroups&&e.nodeById.get(o)?.isGroup||l[Math.max(0,n[o]??0)].push(o);return l}function e9(e){let t=e5(e),n=e3(t),r=[],o=e6(e);for(;n.length;){let e=n.shift();for(let l of(r.push(e),o.get(e)??[]))if(t.set(l,(t.get(l)??0)-1),(t.get(l)??0)===0){let e=0;for(;e<n.length&&n[e]<l;)e++;n.splice(e,0,l)}}return r.length===e.nodes.length?r:null}function e7(e){let t=new Map,n=0;for(let r of e)t.set(r,n),n++;return t}function te(e){let t=Array(e.length),n=(0,i.K)((r,o)=>{if(o-r<=1)return 0;let l=r+o>>1,i=n(r,l)+n(l,o),a=r,s=l,f=r;for(;a<l||s<o;)s>=o||a<l&&e[a]<=e[s]?t[f++]=e[a++]:(t[f++]=e[s++],i+=l-a);for(let n=r;n<o;n++)e[n]=t[n];return i},"count");return n(0,e.length)}function tt(e){let t=e0(e),n=new Map;for(let e of t.nodes)n.set(e,[]);for(let e of t.edges)n.get(e.src).push(e);for(let e of n.values())e.sort((e,t)=>e.dst===t.dst?e.id.localeCompare(t.id):e.dst.localeCompare(t.dst));let r=Object.create(null);for(let e of t.nodes)r[e]=0;let o=[],l=(0,i.K)(e=>{for(let t of(r[e]=1,n.get(e)??[])){let e=t.dst;0===r[e]?l(e):1===r[e]&&o.push(t)}r[e]=2},"dfs"),a=e5(t);for(let e of[...t.nodes.filter(e=>(a.get(e)??0)===0),...t.nodes.filter(e=>(a.get(e)??0)!==0)])0===r[e]&&l(e);let s=new Set(o.map(e=>`${e.id}:${e.src}->${e.dst}`)),f=t.edges.map(e=>s.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:[...t.nodes],edges:f,layout:t.layout,nodeById:new Map(t.nodeById)},reversed:o}}function tn(e){let t=new Map,n=(0,i.K)(r=>{if(t.has(r))return t.get(r);let o=e.nodeById.get(r);if(!o)return t.set(r,null),null;let l=o.parentId;if(!l)return t.set(r,null),null;let i=n(l)??l;return t.set(r,i),i},"resolve");for(let t of e.nodes)n(t);return t}function tr(e){let t=tn(e);return e=>t.get(e)??null}function to(e){let t=[];for(let n of e.layout.nodes??[])n.isGroup&&!n.parentId&&t.push(n.id);return[...new Set(t)].reverse()}function tl(e,t){let n=to(e);if(!t||0===t.length)return n;let r=new Set(n),o=new Set,l=[];for(let e of t)!r.has(e)||o.has(e)||(o.add(e),l.push(e));for(let e of n)o.has(e)||l.push(e);return l}(0,i.K)(eU,"pairKey"),(0,i.K)(eW,"straightenCollinearSiblingDetours"),(0,i.K)(eZ,"nudgeSharedInteriorSubpaths"),(0,i.K)(eq,"segmentsIntersect"),(0,i.K)(eJ,"validateSwimlanesLayout"),(0,i.K)(eQ,"postProcessSwimlaneLayout"),(0,i.K)(e0,"normalizeGraph"),(0,i.K)(e1,"incoming"),(0,i.K)(e2,"buildSuccessorMap"),(0,i.K)(e6,"buildSortedSuccessorMap"),(0,i.K)(e5,"buildInDegreeMap"),(0,i.K)(e3,"sortedZeroInDegreeNodes"),(0,i.K)(e8,"buildPredecessorSuccessorMaps"),(0,i.K)(e4,"buildLayersFromRanks"),(0,i.K)(e9,"topoSortIfAcyclic"),(0,i.K)(e7,"buildLayerIndex"),(0,i.K)(te,"countInversions"),(0,i.K)(tt,"removeCycles_DFS"),(0,i.K)(tn,"buildTopLaneMap"),(0,i.K)(tr,"createTopLaneResolver"),(0,i.K)(to,"buildTopLaneOrder"),(0,i.K)(tl,"resolveTopLaneOrder");var ti={GRAVITY_ITERATIONS:8,MAX_CROSSING_OPTIMIZATION_PASSES:4,DEFAULT_COMPACT_SINGLE_INPUT:!0},ta={DEFAULT_LAYER_GAP:100,DEFAULT_NODE_GAP:40};function ts(e,t){let n=e0(e),r=t?.laneOf??(()=>null),o=t?.rankHint,{preds:l}=e8(n);for(let e of l.values())e.sort((e,t)=>e.localeCompare(t));let a=e9(n)??[...n.nodes].sort((e,t)=>e.localeCompare(t)),s=new Map;for(let[e,t]of a.entries())s.set(t,e);let f=new Map,d=new Map;for(let e of n.nodes)d.set(e,[]);for(let e of a){let t=(l.get(e)??[]).filter(e=>f.has(e));if(t.length>0){let n=tf(e,t,{laneOf:r,rankHint:o,topoIndex:s});f.set(e,n),d.get(n).push(e)}else f.has(e)||f.set(e,null)}for(let e of n.nodes)f.has(e)||f.set(e,null);let u=new Set;for(let e of n.nodes)(f.get(e)??null)===null&&u.add(e);let h=[...u].sort((e,t)=>{let n=s.get(e)??0,r=s.get(t)??0;return n===r?e.localeCompare(t):n-r}),g=td(n),c=new Map;for(let[e,t]of g.entries())c.set(e,[...t].sort((e,t)=>e.localeCompare(t)));let x=tu(c),p=th(c),m=new Map;for(let e of n.nodes)m.set(e,[]);for(let e of p)for(let t of e.nodes){let n=m.get(t);n?n.push(e.id):m.set(t,[e.id])}let y=[],b=[],M=new Set,K=(0,i.K)(e=>{if(!M.has(e)){for(let t of(M.add(e),y.push(e),d.get(e)??[]))K(t);b.push(e)}},"walk");for(let e of h)K(e);for(let e of a)K(e);return{parent:f,children:d,roots:h,componentOf:x,blocks:p,nodeBlocks:m,adjacency:c,preorder:y,postorder:b,topologicalOrder:a}}function tf(e,t,n){let r=n.laneOf(e);return[...t].sort((e,t)=>{let o=n.laneOf(e),l=n.laneOf(t),i=null!=o&&o===r;if(i!==(null!=l&&l===r))return i?-1:1;let a=n.rankHint?.[e],s=n.rankHint?.[t];if(null!=a&&null!=s&&a!==s)return s-a;let f=n.topoIndex.get(e)??0,d=n.topoIndex.get(t)??0;return f!==d?f-d:e.localeCompare(t)})[0]}function td(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}function tu(e){let t=new Map,n=0;for(let r of e.keys()){if(t.has(r))continue;let o=[r];for(;o.length>0;){let r=o.pop();if(!t.has(r))for(let l of(t.set(r,n),e.get(r)??[]))t.has(l)||o.push(l)}n++}return t}function th(e){let t=new Map,n=new Map,r=[],o=[],l=0,a=(0,i.K)((i,s)=>{for(let f of(t.set(i,++l),n.set(i,l),e.get(i)??[]))f!==s&&(t.has(f)?(t.get(f)??0)<(t.get(i)??0)&&(r.push([i,f]),n.set(i,Math.min(n.get(i)??l,t.get(f)??l))):(r.push([i,f]),a(f,i),n.set(i,Math.min(n.get(i)??l,n.get(f)??l)),(n.get(f)??0)>=(t.get(i)??0)&&o.push(tg(i,f,r,o.length))))},"visit");for(let n of e.keys())t.has(n)||a(n,null);return o}function tg(e,t,n,r){let o=[],l=new Set;for(;n.length>0;){let r=n.pop();if(o.push(r),l.add(r[0]),l.add(r[1]),r[0]===e&&r[1]===t||r[0]===t&&r[1]===e)break}return{id:r,edges:o,nodes:[...l]}}function tc(e,t,n){let r=[...e.nodes],o=new Map;for(let[e,t]of r.entries())o.set(t,e);let l=r.length,a=Array(l).fill(-1),s=Array(l).fill(0),f=[],d=new Set;for(let e of r){let t=n.parent.get(e)??null,r=o.get(e);null!=r&&null==t&&(a[r]=-1,s[r]=0,d.has(e)||(d.add(e),f.push(e)))}for(;f.length>0;){let e=f.shift(),t=o.get(e);if(null!=t)for(let r of n.children.get(e)??[]){if(d.has(r))continue;let e=o.get(r);null!=e&&(a[e]=t,s[e]=s[t]+1,d.add(r),f.push(r))}}for(let e of r){if(d.has(e))continue;let t=o.get(e);null!=t&&(a[t]=-1,s[t]=0,d.add(e))}let u=Math.max(1,Math.ceil(Math.log2(Math.max(1,l)))+1),h=Array.from({length:u},()=>Array(l).fill(-1));for(let e=0;e<l;e++)h[0][e]=a[e];for(let e=1;e<u;e++)for(let t=0;t<l;t++){let n=h[e-1][t];h[e][t]=-1===n?-1:h[e-1][n]}let g=(0,i.K)((e,t)=>{if(-1===e||-1===t)return -1;s[e]<s[t]&&([e,t]=[t,e]);let n=s[e]-s[t];for(let t=0;t<u;t++)if(n>>t&1&&-1===(e=h[t][e]))return -1;if(e===t)return e;for(let n=u-1;n>=0;n--){let r=h[n][e],o=h[n][t];-1!==r&&-1!==o&&r!==o&&(e=r,t=o)}return h[0][e]},"lcaIndex"),c=Array.from({length:l},()=>new Map);for(let n of e.edges){let e=n.src,r=n.dst,l=t[e],i=t[r];if(null==l||null==i||(l>i&&([e,r]=[r,e],[l,i]=[i,l]),null==l||null==i||l===i))continue;let a=o.get(e),s=o.get(r);if(null==a||null==s)continue;let f=g(a,s);if(-1===f)continue;let d=c[f];for(let e=l;e<i;e++)d.set(e,(d.get(e)??0)+1)}let x=new Map,p=(0,i.K)((e,t)=>{if(0!==t.size)for(let[n,r]of t)e.set(n,(e.get(n)??0)+r)},"mergeInto"),m=new Set,y=(0,i.K)(e=>{let r=o.get(e);m.add(e);let l=null==r?void 0:c[r],i=l?new Map(l):new Map;for(let r of n.children.get(e)??[]){let n=y(r),o=t[e];if(null!=o){let l=x.get(e);l||(l=new Map,x.set(e,l));let i=n.get(o)??0,a=t[r];null!=a&&a>o&&(i+=1),l.set(r,i)}p(i,n)}return i},"dfs");for(let e of n.roots)m.has(e)||y(e);for(let e of r)m.has(e)||y(e);return x}function tx(e,t,n){let r=new Map,o=(0,i.K)(e=>{let l=n[e]??0,i=[...t.get(e)??[]];for(let e of(i.sort(tp(n)),i)){o(e);let t=r.get(e);null!=t&&(l=Math.min(l,t))}r.set(e,l)},"annotate");for(let t of e)o(t);return r}function tp(e){return(t,n)=>{let r=e[t]??0,o=e[n]??0;return r===o?t.localeCompare(n):r-o}}function tm(e,t,n,r){let o=0;for(let e of t){let t=n[e]??0;t>o&&(o=t)}let l=Array.from({length:o+1},()=>[]),a=new Set,s=(0,i.K)(e=>{if(a.has(e))return;a.add(e);let t=n[e]??0;for(let n of(l[t]||(l[t]=[]),l[t].push(e),r(e)))s(n)},"emit");for(let t of e)s(t);for(let e of t)if(!a.has(e)){let t=n[e]??0;l[t]||(l[t]=[]),l[t].push(e),a.add(e)}return l}function ty(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}function tb(e,t,n,r){return o=>{let l=e.get(o)??[];if(0===l.length)return[];let i=t[o]??0,a=[],s=[],f=n.get(o);for(let e of l){let t=r.get(e)??i;t>i?a.push({child:e,min:t}):s.push(e)}return a.sort((e,t)=>e.min===t.min?e.child.localeCompare(t.child):e.min-t.min),s.sort((e,t)=>{let n=f?.get(e)??0,o=f?.get(t)??0;if(n!==o)return n-o;let l=r.get(e)??i,a=r.get(t)??i;return l!==a?l-a:e.localeCompare(t)}),[...a.map(e=>e.child),...s]}}function tM(e,t,n){let r=ts(e,{rankHint:t,laneOf:n}),{children:o,roots:l}=r;for(let t of e.nodes)o.has(t)||o.set(t,[]);let i=tc(e,t,r),a=[...l].sort(tp(t)),s=tx(a,o,t),f=tb(o,t,i,s),d=tm(a,e.nodes,t,f);return ty(d)}function tK(e,t,n){let r=new Set(e),o=new Set(t),l=e7(t),i=[];for(let e of n)r.has(e.src)&&o.has(e.dst)&&i.push(l.get(e.dst));return te(i)}function tI(e,t,n){let r=[];for(let e of t){let t=n[e.src],o=n[e.dst];if(null==t||null==o||t===o)continue;let l=e.src,i=e.dst,a=t,s=o;t>o&&(l=e.dst,i=e.src,a=o,s=t);for(let t=a;t<s;t++)r.push({id:`${e.id}@${t}`,src:l,dst:i,ref:e.ref})}let o=0;for(let t=0;t+1<e.length;t++)o+=tK(e[t],e[t+1],r);return o}function tS(e,t){let n={...t},{preds:r}=e8(e),o=tr(e),l=tI(tM(e,n,o),e.edges,n),i=ti.MAX_CROSSING_OPTIMIZATION_PASSES;for(let t=0;t<i;t++){let t=!1;for(let i of[...e.nodes].sort((e,t)=>(n[t]??0)-(n[e]??0))){let a=n[i]??0;if(0===a)continue;let s=0;for(let e of r.get(i)??[])s=Math.max(s,(n[e]??0)+1);if(s>=a)continue;n[i]=s;let f=tI(tM(e,n,o),e.edges,n);f<l?(l=f,t=!0):n[i]=a}if(!t)break}return n}function tw(e,t){let n=tr(e);for(let r of[...e.nodes].sort((e,n)=>(t[e]??0)-(t[n]??0)||e.localeCompare(n))){let o=n(r);if(!o)continue;let l=e.edges.filter(e=>e.src===r);if(0===l.length)continue;let i=!1,a=0;for(let e of l){let t=n(e.dst);null==t||t===o?i=!0:a++}if(0===a||i)continue;let s=0,f=!1;for(let t of e.edges){if(t.dst!==r)continue;let e=n(t.src);e&&(e===o?f=!0:s++)}if(s>0||!f)continue;let d=t[r]??0,u=d+a,h=0;for(let n of e.edges)n.dst===r&&(h=Math.max(h,(t[n.src]??0)+1));let g=Math.max(d,h,u);g!==d&&(t[r]=g)}}function tv(e,t){let n=e0(e),r=e9(n)??[...n.nodes].sort(),o=t?.compactSingleInput??!1,l=tr(n),i=Object.create(null);for(let e of r){let r=e1(n,e),a=t?.ignoreCrossLaneEdges?r.filter(t=>{let n=l(t.src),r=l(e);return!n||!r||n===r}):r;if(0===a.length)i[e]=0;else if(o&&1===a.length){let t=a[0].src;l(t)!==l(e)?i[e]=i[t]??0:i[e]=(i[t]??0)+1}else{let t=-1/0;for(let e of a)t=Math.max(t,(i[e.src]??0)+1);i[e]=t===-1/0?0:t}}return t?.optimizeRanksByCrossings&&(i=tS(n,i)),t?.ignoreCrossLaneEdges&&tw(n,i),{layers:tM(n,i,l),rankOf:i,dummy:new Set}}function tC(e,t){let n=e0(e),r={...tv(n,{compactSingleInput:t?.compactSingleInput,ignoreCrossLaneEdges:t?.ignoreCrossLaneEdges,optimizeRanksByCrossings:t?.optimizeRanksByCrossings}).rankOf},o=tr(n),{preds:l,succs:a}=e8(n,e=>{if(t?.ignoreCrossLaneEdges){let t=o(e.src),n=o(e.dst);if(t&&n&&t!==n)return!1}return!0}),s=e9(n)??[...n.nodes],f=[...s].reverse(),d=(0,i.K)((e,t)=>{let n=0;for(let t of l.get(e)??[])n=Math.max(n,(r[t]??0)+1);let o=1/0,i=a.get(e)??[];return i.length>0&&(o=Math.min(...i.map(e=>(r[e]??0)-1))),Number.isFinite(o)||(o=Math.max(n,t)),Math.min(Math.max(t,n),o)},"clampFeasible"),u=ti.GRAVITY_ITERATIONS,h=(0,i.K)(e=>{let t=!1;for(let n of e){let e=l.get(n)??[],o=a.get(n)??[];if(0===e.length&&0===o.length)continue;let i=Math.round(((e.length>0?e.reduce((e,t)=>e+(r[t]??0)+1,0)/e.length:r[n]??0)+(o.length>0?o.reduce((e,t)=>e+(r[t]??0)-1,0)/o.length:r[n]??0))/2),s=d(n,i);s!==r[n]&&(r[n]=s,t=!0)}return t},"relaxOrder");for(let e=0;e<u;e++){let e=h(s),t=h(f);if(!e&&!t)break}for(let e of s){let t=0;for(let n of l.get(e)??[])t=Math.max(t,(r[n]??0)+1);(r[e]??0)<t&&(r[e]=t)}for(let e of f){let t=a.get(e)??[];if(t.length>0){let n=Math.min(...t.map(e=>(r[e]??0)-1));(r[e]??0)>n&&(r[e]=n)}}return{layers:e4(n,s,r),rankOf:r,dummy:new Set}}function tL(e){let t=e5(e),n=e6(e),r=e3(t),o=[];for(;r.length>0;){let e=[];for(let l of r)for(let r of(o.push(l),n.get(l)??[]))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 o.length===e.nodes.length?o:null}function tk(e,t){let n=e0(e),r=t?.direction==="LR"?tL(n)??[...n.nodes].sort():e9(n)??[...n.nodes].sort(),o=tr(n),l=(0,i.K)(e=>o(e)??e,"laneOf"),a=Object.create(null),s=new Map,f=(0,i.K)((e,n)=>t?.ignoreCrossLaneEdges??!0?+(l(e)===l(n)):1,"edgeWeight");for(let e of r){let t=n.nodeById.get(e);if(t?.isGroup)continue;let r=e1(n,e),o=0;if(r.length>0)for(let t of r){let n=t.src;o=Math.max(o,(a[n]??0)+f(n,e))}let i=l(e),d=Math.max(o,s.get(i)??0);a[e]=d,s.set(i,d+1)}return{layers:e4(n,r,a,{skipGroups:!0}),rankOf:a,dummy:new Set}}function tT(e,t){let n=e0(t),{rankOf:r}=e,o=e.layers.map(e=>[...e]),l=new Set(e.dummy?[...e.dummy]:[]),a=0,s=new Map(n.nodeById),f=(0,i.K)(e=>{let t=`placeholder-${a++}`;for(s.set(t,{id:t,isGroup:!1,isDummy:!0,width:0,height:0}),l.add(t);o.length<=e;)o.push([]);return o[e].push(t),r[t]=e,t},"addDummyAt"),d=[...n.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)),u=[];for(let e of d){let t=r[e.src]??0,n=r[e.dst]??0;if(n-t<=1){u.push(e);continue}let o=e.src;for(let r=t+1,l=0;r<n;r++,l++){let t=f(r);u.push({id:`${e.id}#${l}`,src:o,dst:t,weight:e.weight,ref:e.ref}),o=t}let l=n-t-2;u.push({id:`${e.id}#${Math.max(l+1,0)}`,src:o,dst:e.dst,weight:e.weight,ref:e.ref})}let h={nodes:[...n.nodes,...[...l].filter(e=>!n.nodes.includes(e))],edges:u,layout:n.layout,nodeById:s};return{layering:{layers:o,rankOf:r,dummy:l},graphWithDummies:h}}function tO(e){let t=e.length;if(0===t)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])}function tR(e){return 0===e.length?1/0:e.reduce((e,t)=>e+t,0)/e.length}function tF(e,t,n,r){let o=new Map;for(let t of e)o.set(t,[]);for(let e of n)"down"===r?t.has(e.src)&&o.has(e.dst)&&o.get(e.dst).push(t.get(e.src)):t.has(e.dst)&&o.has(e.src)&&o.get(e.src).push(t.get(e.dst));return o}function tE(e,t,n){let r=n.get(e)??0,o=n.get(t)??0;return r!==o?r-o:e.localeCompare(t)}function t$(e,t,n){let r=new Set(e),o=new Set(t),l=e7(e),i=e7(t),a=[];for(let e of n)r.has(e.src)&&o.has(e.dst)&&a.push({u:l.get(e.src),v:i.get(e.dst)});return a.sort((e,t)=>e.u===t.u?e.v-t.v:e.u-t.u),te(a.map(e=>e.v))}function tN(e,t,n){return[...e].sort((e,r)=>{let o=tO(t.get(e)??[]),l=tO(t.get(r)??[]);return o===l?tE(e,r,n):isFinite(o)?isFinite(l)?o-l:-1:1})}function tA(e,t,n,r,o,l){let i=e7(e),a=e7(t),s=tF(t,i,n,r);if(!o||!l||0===l.length)return tN(t,s,a);let f=new Map;for(let e of t){let t=o(e),n=f.get(t)??[];n.push(e),f.set(t,n)}let d=[];for(let e of l){let t=f.get(e);if(!t||0===t.length)continue;let n=tN(t,s,a);d.push(...n)}let u=f.get(null);if(u&&u.length>0)for(let e of tN(u,s,a)){let t=tR(s.get(e)??[]),n=d.length;if(isFinite(t)){for(let[e,r]of d.entries())if(t<tR(s.get(r)??[])){n=e;break}}d.splice(n,0,e)}return d}function tB(e,t,n,r,o){let l=[...t],a=new Set(e),s=new Set(t),f=r?new Set(r):null,d=n.filter(e=>a.has(e.src)&&s.has(e.dst)),u=f?n.filter(e=>s.has(e.src)&&f.has(e.dst)):void 0,h=(0,i.K)(t=>{let n=t$(e,t,d);return u&&r&&(n+=t$(t,r,u)),n},"crossingScore"),g=o?new Map:null;if(o&&g)for(let e of t)g.set(e,o(e));let c=!0,x=h(l);for(;c;){c=!1;for(let e=0;e+1<l.length;e++){if(g&&g.get(l[e])!==g.get(l[e+1]))continue;let t=x;[l[e],l[e+1]]=[l[e+1],l[e]];let n=h(l);n<t?(x=n,c=!0):[l[e],l[e+1]]=[l[e+1],l[e]]}}return l}function tX(e,t,n){let r=e.layers.map(e=>[...e]),o=t.edges,l=tr(t),i=tl(t,n?.laneOrder);for(let e=0;e<3;e++){for(let e=1;e<r.length;e++)r[e]=tA(r[e-1],r[e],o,"down",l,i),r[e]=tB(r[e-1],r[e],o,r[e+1],l);for(let e=r.length-2;e>=0;e--)r[e]=tA(r[e+1],r[e],o,"up",l,i),r[e]=tB(r[e+1],r[e],o,r[e-1],l)}return{layers:r}}function tz(e,t,n){let r=n?.layerGap??ta.DEFAULT_LAYER_GAP,o=n?.nodeGap??ta.DEFAULT_NODE_GAP,l=n?.laneGap??2*o,a=n?.direction??"TB",s=e.layers,f=Object.create(null),d=Object.create(null),u=(0,i.K)(e=>t.nodeById.get(e),"getNode"),h=(0,i.K)(e=>u(e)?.width??0,"getWidth"),g=(0,i.K)(e=>u(e)?.height??0,"getHeight"),c=tr(t),x=tl(t,n?.laneOrder),p=s.map(e=>e.reduce((e,t)=>Math.max(e,g(t)),0)),m=[];if("LR"===a||"RL"===a)for(let e=0;e+1<s.length;e++){let t=s[e].reduce((e,t)=>Math.max(e,h(t)),0),n=s[e+1].reduce((e,t)=>Math.max(e,h(t)),0),o=Math.max(0,(t+n)/2-(p[e]/2+p[e+1]/2)-r);m.push(o)}let y=new Set;for(let e of s)for(let t of e)y.add(c(t));let b=y.has(null),M=x.filter(e=>y.has(e)),K=[...b?[null]:[],...M],I=Object.create(null);for(let e of M)I[e]=0;for(let e of(b&&(I.null=0),s)){let t=Object.create(null),n=[];for(let r of e){let e=c(r);null===e?n.push(r):(t[e]||=[]).push(r)}for(let[e,n]of Object.entries(t)){let t=n.reduce((e,t)=>e+h(t),0)+o*Math.max(0,n.length-1);I[e]=Math.max(I[e]??0,t)}if(b&&n.length){let e=n.reduce((e,t)=>e+h(t),0)+o*Math.max(0,n.length-1);I.null=Math.max(I.null??0,e)}}let S=new Map;{let e=K.map(e=>(null===e?I.null:I[e])??0),t=-(e.reduce((e,t)=>e+t,0)+l*Math.max(0,K.length-1))/2;for(let n=0;n<K.length;n++){let r=K[n],o=e[n]??0,i=t+o/2;S.set(r,i),t+=o,n<K.length-1&&(t+=l)}}let w=0;for(let[e,t]of s.entries()){let n=p[e]??0,l=new Map;for(let e of t){let t=c(e),n=l.get(t)??[];n.push(e),l.set(t,n)}for(let e of K){let t=l.get(e)??[];if(0===t.length)continue;let r=S.get(e);if(1===t.length){let e=t[0];f[e]=r,d[e]=w+n/2}else{let e=t.map(e=>h(e)),l=r-(e.reduce((e,t)=>e+t,0)+o*(t.length-1))/2;for(let[r,i]of t.entries()){let t=e[r];f[i]=l+t/2,d[i]=w+n/2,l+=t+o}}}w+=n+r+(m[e]??0)}let v=new Map;for(let e of t.edges){let t=e.ref.id;v.has(t)||v.set(t,[]),v.get(t).push(e)}for(let[,e]of v){if(0===e.length)continue;let n=e[0].ref,r=n.start,o=n.end;if(null==r||null==o)continue;let l=Math.round(((f[r]??0)+(f[o]??0))/2),i=new Set;for(let t of e)i.add(t.src),i.add(t.dst);for(let e of i){if(e===r||e===o)continue;let n=t.nodeById.get(e);n?.isDummy&&(f[e]=l)}}return{x:f,y:d}}function tY(e){let t=0x811c9dc5;for(let n=0;n<e.length;n++)t^=e.charCodeAt(n),t=Math.imul(t,0x1000193);return t>>>0}function tG(e){let t=e>>>0;return()=>{let e=t+=0x6d2b79f5;return e=Math.imul(e^e>>>15,1|e),(((e^=e+Math.imul(e^e>>>7,61|e))^e>>>14)>>>0)/0x100000000}}function tP(e,t){let n=[...e],r=tG(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}function tD(e,t){let n=0;for(let[r,o]of e.entries())n+=Math.abs(r-(t.get(o)??r));return n}function t_(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:o,weight:l}of t){let t=n.get(e),i=n.get(o);null!=t&&null!=i&&(r+=l*Math.abs(t-i))}return r}function tH(e){let t=to(e);if(t.length<2)return[];let n=new Map(t.map((e,t)=>[e,t])),r=tr(e),o=new Map;for(let t of e.layout.edges??[]){if(t.isLayoutOnly)continue;let l="string"==typeof t.start?t.start:void 0,i="string"==typeof t.end?t.end:void 0;if(!l||!i||!e.nodeById.has(l)||!e.nodeById.has(i))continue;let a=r(l),s=r(i);if(!a||!s||a===s)continue;let f=n.get(a),d=n.get(s);if(null==f||null==d)continue;let[u,h]=f<=d?[a,s]:[s,a],g=`${u}\0${h}`,c=o.get(g);c?c.weight++:o.set(g,{a:u,b:h,weight:1})}return[...o.values()]}function tj(e,t,n){let r=[...e],o=t_(r,t),l=!0,i=0,a=Math.max(1,r.length);for(;l&&i<a;){l=!1,i++;for(let e=0;e+1<r.length;e++){[r[e],r[e+1]]=[r[e+1],r[e]];let n=t_(r,t);n<o?(o=n,l=!0):[r[e],r[e+1]]=[r[e+1],r[e]]}}return{order:r,cost:o,sourceDistance:tD(r,n)}}function tV(e,t){return e.cost!==t.cost?e.cost<t.cost:e.sourceDistance<t.sourceDistance}function tU(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 tY(`${e.join("|")}#${r}#${n}`)}function tW(e,t={}){let n=to(e);if(n.length<2)return n;let r=tH(e);if(0===r.length)return n;let o=new Map(n.map((e,t)=>[e,t])),l=tj(n,r,o),i=Math.max(0,t.restarts??8);for(let e=0;e<i;e++){let t=tU(n,r,e),i=tj(tP(n,t),r,o);tV(i,l)&&(l=i)}return l.order}function tZ(e,t){let n=t?.ignoreCrossLaneEdges??!0,r=t?.optimizeRanksByCrossings??!0,o=e0(e),l=t?.automaticLaneOrdering?tW(o,{restarts:8}):void 0,i=tt(o),a=i.acyclic,{layering:s,graphWithDummies:f}=tT(n?tk(a,{compactSingleInput:t?.compactSingleInput??ti.DEFAULT_COMPACT_SINGLE_INPUT,ignoreCrossLaneEdges:!0,direction:t?.direction}):tC(a,{compactSingleInput:t?.compactSingleInput??ti.DEFAULT_COMPACT_SINGLE_INPUT,ignoreCrossLaneEdges:!1,optimizeRanksByCrossings:r}),a),d=tX(s,f,{laneOrder:l}),u=tz(d,f,{layerGap:t?.layerGap,nodeGap:t?.nodeGap,direction:t?.direction,laneOrder:l});return{acyclic:a,reversed:i.reversed,layering:s,ordered:d,coordinates:u}}function tq(e,t,n){let r=e.x??0,o=e.y??0,l=t.x-r,i=t.y-o,a=Math.abs(l),s=Math.abs(i);return a<1e-6&&s<1e-6?n:s>1e-6&&3*s>=a?i>0?"bottom":"top":a>1e-6?l>0?"right":"left":n}function tJ(e,t){return 1e-6>Math.abs(e.to-t.from)||1e-6>Math.abs(e.to-t.to)?e.to:e.from}function tQ(e,t){return"vertical"===e.orient?{x:e.coord,y:t}:{x:t,y:e.coord}}function t0(e,t){let n=e.nodes??[],r=e.edges??[],o=[];for(let e of r)e.isLayoutOnly||o.push({...e,__originalEdge:e});let l=new Map,a=new Map,s=[],f="LR"===t;for(let e of n)l.set(e.id,e);for(let e of n.filter(e=>e.isGroup&&!e.parentId)){let t={id:e.id},r=(0,i.K)(e=>{a.set(e.id,t),n.filter(t=>t.parentId===e.id).forEach(r)},"assignLane");r(e)}let d=n.filter(e=>!e.isGroup&&!e.isEdgeLabel).map(e=>{let t=e.width??10,n=e.height??10,r=e.x??0,o=e.y??0;return{nodeId:e.id,minX:r-t/2-8,maxX:r+t/2+8,minY:o-n/2-8,maxY:o+n/2+8,visualXHalfExtent:f?n/2+8:t/2+8}}),u=(0,i.K)((e,t,n,r)=>{let o=s.find(n=>n.orientation===e&&1>Math.abs(n.coord-t));return o||(o={id:`pipe-${e}-${t.toFixed(0)}`,orientation:e,coord:t,spanMin:n,spanMax:r,tracks:[]},s.push(o)),o.spanMin=Math.min(o.spanMin,n),o.spanMax=Math.max(o.spanMax,r),o},"getOrAddPipe"),h=(0,i.K)((e,t)=>{let n=e.width??10,r=e.height??10,o=e.x??0,l=e.y??0;switch(t){case"top":return{x:o,y:l-r/2};case"bottom":return{x:o,y:l+r/2};case"left":return{x:o-n/2,y:l};case"right":return{x:o+n/2,y:l}}},"portForSide"),g=(0,i.K)((e,t,n)=>h(e,tq(e,t,n?"bottom":"top")),"getOrthogonalPort"),c=[],x=[],p=new Set,m=(0,i.K)((e,t,n)=>{if(0===c.length)return 0;let r=1e-6>Math.abs(t.y-n.y),o=1e-6>Math.abs(t.x-n.x);if(!r&&!o)return 0;let l=0;if(r){let r=t.y,o=Math.min(t.x,n.x)-1e-6,i=Math.max(t.x,n.x)+1e-6;if(i<=o)return 0;for(let t of c)t.edgeIndex!==e&&"vertical"===t.orientation&&!(t.pipe.coord<o)&&!(t.pipe.coord>i)&&t.from-1e-6<=r&&t.to+1e-6>=r&&(l+=1e3)}else if(o){let r=t.x,o=Math.min(t.y,n.y)-1e-6,i=Math.max(t.y,n.y)+1e-6;if(i<=o)return 0;for(let t of c)t.edgeIndex!==e&&"horizontal"===t.orientation&&!(t.pipe.coord<o)&&!(t.pipe.coord>i)&&t.from-1e-6<=r&&t.to+1e-6>=r&&(l+=1e3)}return l},"crossingPenalty"),y=o.map((e,t)=>{if(!e.start||!e.end)return{idx:t,crossLane:0,dx:0,dy:0};let n=l.get(e.start),r=l.get(e.end),o=a.get(e.start),i=a.get(e.end),s=o&&i&&o.id!==i.id?1:0;return{idx:t,crossLane:s,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),b=(0,i.K)((e,t,n,r)=>{let o=Math.min(e.x,t.x),l=Math.max(e.x,t.x),i=Math.min(e.y,t.y),a=Math.max(e.y,t.y);return!!d.find(s=>(!n||s.nodeId!==n)&&(!r||s.nodeId!==r)&&(Math.abs(e.x-t.x)>1e-6?s.minY<e.y&&s.maxY>e.y&&s.maxX>o&&s.minX<l:s.minX<e.x&&s.maxX>e.x&&s.maxY>i&&s.minY<a))},"isSegmentBlocked"),M=new Map,K=new Map;for(let e of o)e.start&&e.end&&e.start!==e.end&&(K.set(e.start,(K.get(e.start)??0)+1),K.set(e.end,(K.get(e.end)??0)+1));let I=(0,i.K)((e,t)=>tq(e,t,"bottom"),"determineSide"),S=new Map;for(let[e,t]of o.entries()){if(!t.start||!t.end||t.start===t.end||t.points&&t.points.length>0)continue;let n=l.get(t.start),r=l.get(t.end);if(!n||!r)continue;let o=(r.x??0)-(n.x??0),i=(r.y??0)-(n.y??0);S.set(e,{edgeIdx:e,srcId:t.start,dstId:t.end,srcSide:I(n,{x:r.x??0,y:r.y??0}),dstSide:I(r,{x:n.x??0,y:n.y??0}),absDx:Math.abs(o),absDy:Math.abs(i),dxSign:Math.sign(o),dySign:Math.sign(i)})}let w=(0,i.K)(e=>"top"===e.srcSide||"bottom"===e.srcSide?0===e.absDx?1/0:e.absDy/e.absDx:0===e.absDy?1/0:e.absDx/e.absDy,"preferenceStrength"),v=(0,i.K)(e=>"top"===e.srcSide||"bottom"===e.srcSide?e.dxSign>=0?"right":"left":e.dySign>=0?"bottom":"top","secondarySide"),C=new Map;for(let e of S.values()){let t=`${e.srcId}:${e.srcSide}`;C.has(t)||C.set(t,[]),C.get(t).push(e)}let L=new Map,k=(0,i.K)((e,t)=>`${e}:${t}`,"loadKey");for(let e of S.values())L.set(k(e.srcId,e.srcSide),(L.get(k(e.srcId,e.srcSide))??0)+1),L.set(k(e.dstId,e.dstSide),(L.get(k(e.dstId,e.dstSide))??0)+1);for(let e of C.values())if(!(e.length<2)){e.sort((e,t)=>{let n=w(e),r=w(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=v(n),o=L.get(k(n.srcId,n.srcSide))??0,l=L.get(k(n.srcId,r))??0;l>=o||(L.set(k(n.srcId,n.srcSide),o-1),L.set(k(n.srcId,r),l+1),n.srcSide=r)}}let T=(0,i.K)(e=>{let t=e?.shape;return"question"===t||"diamond"===t},"isDiamondNode"),O=new Map;for(let e of S.values())O.has(e.dstId)||O.set(e.dstId,new Set),O.get(e.dstId).add(e.dstSide);for(let e of S.values()){if(!T(l.get(e.srcId)))continue;let t=O.get(e.srcId);if(!t?.has(e.srcSide))continue;let n=v(e);if(t.has(n)||(L.get(k(e.srcId,n))??0)>0)continue;let r=L.get(k(e.srcId,e.srcSide))??0;L.set(k(e.srcId,e.srcSide),Math.max(0,r-1)),L.set(k(e.srcId,n),1),e.srcSide=n}for(let e of S.values()){let{edgeIdx:t,srcId:n,dstId:r,srcSide:o,dstSide:i}=e,a=l.get(n),s=l.get(r),f=`${n}:${o}:src`,d="top"===o||"bottom"===o?s.x??0:s.y??0;M.has(f)||M.set(f,[]),M.get(f).push({edgeIdx:t,oppositeCoord:d});let u=`${r}:${i}:dst`,h="top"===i||"bottom"===i?a.x??0:a.y??0;M.has(u)||M.set(u,[]),M.get(u).push({edgeIdx:t,oppositeCoord:h})}let R=new Map;for(let[e,t]of M){if(t.length<2)continue;t.sort((e,t)=>e.oppositeCoord-t.oppositeCoord);let n=e.split(":"),r=n.slice(0,-2).join(":"),o=n[n.length-2],i=n[n.length-1],a=l.get(r);if(!a)continue;let s="left"===o||"right"===o?a.height??10:a.width??10,f=a.shape,d=Math.min(20,Math.max(8,("question"===f||"diamond"===f?.3*s:s)/(t.length+1))),u=-(d*(t.length-1))/2;for(let[e,n]of t.entries()){let t=u+e*d,r=`${n.edgeIdx}:${i}`;R.set(r,t)}}let F=(0,i.K)(e=>!!o[e]?.labelNodeId,"edgeHasLabelNode"),E=(0,i.K)((e,t)=>!!e&&((M.get(`${e}:${t}:src`)??[]).some(({edgeIdx:e})=>F(e))||(M.get(`${e}:${t}:dst`)??[]).some(({edgeIdx:e})=>F(e))),"faceHasLabelNode"),$=(0,i.K)((e,t,n)=>"top"===t||"bottom"===t?{x:e.x+n,y:e.y}:{x:e.x,y:e.y+n},"applyPortOffset"),N=(0,i.K)((e,t,n)=>{let r=S.get(e),o={x:n.x??0,y:n.y??0},l={x:t.x??0,y:t.y??0},i=r?.srcSide??I(t,o),a=r?.dstSide??I(n,l),s=r?h(t,r.srcSide):g(t,o,!0),f=r?h(n,r.dstSide):g(n,l,!1),d=R.get(`${e}:src`),u=R.get(`${e}:dst`);return void 0!==d&&(s=$(s,i,d)),void 0!==u&&(f=$(f,a,u)),{pSrcPort:s,pDstPort:f,srcSide:i,dstSide:a}},"portsForEdge");for(let e of y){let t=o[e];if(x[e]=[],!t.start||!t.end||t.points&&t.points.length>0||t.start===t.end)continue;let n=l.get(t.start),r=l.get(t.end);if(!n||!r)continue;let{pSrcPort:a,pDstPort:h,srcSide:g,dstSide:y}=N(e,n,r),I={...a},S={...h},w="top"===g||"bottom"===g,v="top"===y||"bottom"===y;w?I.y=a.y>(n.y??0)?a.y+20:a.y-20:I.x=a.x>(n.x??0)?a.x+20:a.x-20,v?S.y=h.y>(r.y??0)?h.y+20:h.y-20:S.x=h.x>(r.x??0)?h.x+20:h.x-20;let C=(0,i.K)((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"),L=(0,i.K)((e,t,n,r,o)=>{if(o){let o=e.y>(t.y??0);return{x:(n.x??0)>=e.x?r.maxX+15:r.minX-15,y:o?r.maxY+15:r.minY-15,leavesPositiveSide:o}}let l=e.x>(t.x??0),i=(n.y??0)>=e.y;return{x:l?r.maxX+15:r.minX-15,y:i?r.maxY+15:r.minY-15,leavesPositiveSide:l}},"obstacleDetour"),k=[],T=[t.start,t.end],O=C(I,T);if(O.inside&&O.obstacle){let e=O.obstacle;if(w){let t=L(a,n,r,e,!0);I.x=t.x,I.y=t.y;let o=t.leavesPositiveSide?Math.min(e.minY-2,a.y+20):Math.max(e.maxY+2,a.y-20);k=[{x:a.x,y:o},{x:t.x,y:o},{x:t.x,y:t.y}]}else{let t=L(a,n,r,e,!1),o=t.leavesPositiveSide?Math.min(e.minX-2,a.x+20):Math.max(e.maxX+2,a.x-20);I.x=t.x,I.y=t.y,k=[{x:o,y:a.y},{x:o,y:t.y},{x:t.x,y:t.y}]}}let F=[],$=C(S,T);if($.inside&&$.obstacle){let e=$.obstacle;if(v){let t=L(h,r,n,e,!0);S.x=t.x,S.y=t.y,F=[{x:t.x,y:t.y},{x:h.x,y:t.y}]}else{let t=L(h,r,n,e,!1);S.x=t.x,S.y=t.y,F=[{x:t.x,y:t.y},{x:t.x,y:h.y}]}}if(0===k.length&&0===F.length){let n=15>Math.abs(I.x-S.x),r=15>Math.abs(I.y-S.y),o=void 0!==R.get(`${e}:src`)||void 0!==R.get(`${e}:dst`),l=(M.get(`${t.start??""}:${g}:src`)?.length??0)+(M.get(`${t.start??""}:${g}:dst`)?.length??0),i=(M.get(`${t.end??""}:${y}:src`)?.length??0)+(M.get(`${t.end??""}:${y}:dst`)?.length??0),s=l>1||i>1,f=K.get(t.start??"")??0,d=K.get(t.end??"")??0,u=l>1&&E(t.start,g)||i>1&&E(t.end,y),x=l<=1||f<=2,m=i<=1||d<=2,w=s&&!u&&x&&m;if((n||r)&&!o&&(!s||w)&&!b(a,h,t.start,t.end)){t.points=[{...a},{...I},{...S},{...h}],p.add(e);let n=r?"horizontal":"vertical",o=r?a.y:a.x,l=r?Math.min(a.x,h.x):Math.min(a.y,h.y),i=r?Math.max(a.x,h.x):Math.max(a.y,h.y),s={id:`fast-path-${n}-${o.toFixed(0)}-${e}`,orientation:n,coord:o,spanMin:l,spanMax:i,tracks:[]};c.push({edgeIndex:e,segmentIndex:0,orientation:n,pipe:s,trackIndex:0,from:l,to:i});continue}}let A=u("vertical",I.x,I.y,I.y);I.x=A.coord;let B=u("vertical",S.x,S.y,S.y);S.x=B.coord;let X=Math.min(I.x,S.x)-50,z=Math.max(I.x,S.x)+50,Y=Math.min(I.y,S.y)-50,G=Math.max(I.y,S.y)+50;for(let e of d){let t=Math.min(I.x,S.x),n=Math.max(I.x,S.x),r=Math.min(I.y,S.y),o=Math.max(I.y,S.y);e.minX<n&&e.maxX>t&&e.minY<o&&e.maxY>r&&(X=Math.min(X,e.minX-25),z=Math.max(z,e.maxX+25),Y=Math.min(Y,e.minY-25),G=Math.max(G,e.maxY+25))}for(let e of d)e.maxX<X||e.minX>z||e.maxY<Y||e.minY>G||(u("horizontal",e.minY-15,X,z),u("horizontal",e.maxY+15,X,z),u("vertical",e.minX-15,Y,G),u("vertical",e.maxX+15,Y,G));u("horizontal",I.y,X,z),u("horizontal",S.y,X,z);let P=s.filter(e=>"horizontal"===e.orientation&&e.coord>=Y&&e.coord<=G),D=s.filter(e=>"vertical"===e.orientation&&e.coord>=X&&e.coord<=z),_=(0,i.K)((e,t)=>`${e.toFixed(1)},${t.toFixed(1)}`,"getKey"),H=_(I.x,I.y),j=_(S.x,S.y),V=new Map,U=new Map,W=new Map,Z=new Set,q=[];V.set(H,0),W.set(H,"n"),q.push({key:H,f:Math.hypot(S.x-I.x,S.y-I.y),pt:I}),Z.add(H);let J=[],Q=(0,i.K)((e,n)=>b(e,n,t.start,t.end),"checkSegmentBlocked"),ee={x:S.x,y:I.y},et=Q(I,ee),en=Q(ee,S),er=et||en,eo={x:I.x,y:S.y},el=Q(I,eo),ei=Q(eo,S),ea=el||ei;if(er?ea||(J=1e-6>Math.abs(I.x-S.x)?[I,S]:[I,eo,S]):J=1e-6>Math.abs(I.y-S.y)||1e-6>Math.abs(I.x-S.x)?[I,S]:[I,ee,S],0===J.length)for(;q.length>0;){q.sort((e,t)=>e.f-t.f);let n=q.shift();if(Z.delete(n.key),n.key===j){let e=j,t=S;for(J=[t];U.has(e);){let n=U.get(e);J.unshift(n),t=n,e=_(n.x,n.y)}break}let r=n.pt.x,o=n.pt.y,l=D.sort((e,t)=>e.coord-t.coord),i=l.findIndex(e=>1>Math.abs(e.coord-r)),a=P.sort((e,t)=>e.coord-t.coord),s=a.findIndex(e=>1>Math.abs(e.coord-o)),f=[];for(let u of(i>0&&f.push({x:l[i-1].coord,y:o}),i>=0&&i<l.length-1&&f.push({x:l[i+1].coord,y:o}),s>0&&f.push({x:r,y:a[s-1].coord}),s>=0&&s<a.length-1&&f.push({x:r,y:a[s+1].coord}),f)){let l=Math.min(r,u.x),i=Math.max(r,u.x),a=Math.min(o,u.y),s=Math.max(o,u.y);if(d.some(e=>e.nodeId!==t.start&&e.nodeId!==t.end&&(l!==i?e.minY<o&&e.maxY>o&&e.maxX>l&&e.minX<i:e.minX<r&&e.maxX>r&&e.maxY>a&&e.minY<s)))continue;let f=_(u.x,u.y),h=Math.abs(u.x-r)+Math.abs(u.y-o),g=m(e,n.pt,u),c=0,x=S.x-I.x,p=S.y-I.y,y=u.x-r,b=u.y-o;(p>10&&b<-5||p<-10&&b>5)&&(c=100*Math.abs(b)),(x>10&&y<-5||x<-10&&y>5)&&(c+=50*Math.abs(y));let M=0,K=W.get(n.key)??"n",w=Math.abs(y)>1e-6?"h":"v";"n"!==K&&K!==w&&(M=50);let v=h+g+c+M,C=(V.get(n.key)??1/0)+v,L=Math.abs(S.x-u.x)+Math.abs(S.y-u.y);if(C<(V.get(f)??1/0))if(U.set(f,n.pt),V.set(f,C),W.set(f,w),Z.has(f)){let e=q.findIndex(e=>e.key===f);-1!==e&&(q[e].f=C+L)}else q.push({key:f,f:C+L,pt:u}),Z.add(f)}}if(0===J.length&&(J=[I,{x:I.x,y:S.y},S]),J.length>4){let e=J[0],t=J[J.length-1],n=Math.min(e.x,t.x),r=Math.max(e.x,t.x),o=Math.min(e.y,t.y),l=Math.max(e.y,t.y);for(let e of J)n=Math.min(n,e.x),r=Math.max(r,e.x),o=Math.min(o,e.y),l=Math.max(l,e.y);let a=r>Math.max(e.x,t.x),s=n<Math.min(e.x,t.x);if(f){if(a){let n=Math.max(e.x,t.x),o=Math.min(e.y,t.y),l=Math.max(e.y,t.y),i=d.filter(e=>e.minX<n&&e.maxX>n&&e.minY<l&&e.maxY>o);if(i.length>0){let n=Math.max(e.x,t.x);for(let e of i){let t=(e.minX+e.maxX)/2;void 0===e.visualXHalfExtent||isNaN(e.visualXHalfExtent)||(n=Math.max(n,t+e.visualXHalfExtent+15))}isNaN(n)||(r=n)}}if(s){let r=d.filter(n=>n.minX<Math.min(e.x,t.x)+15&&n.minY<Math.max(e.y,t.y)&&n.maxY>Math.min(e.y,t.y));if(r.length>0){let o=Math.min(e.x,t.x);for(let e of r)o=Math.min(o,(e.minX+e.maxX)/2-e.visualXHalfExtent-15);n=o}}}let u=(0,i.K)(n=>{let r=t.y>e.y,o=d.filter(n=>{let r=Math.min(e.x,t.x)<n.maxX&&Math.max(e.x,t.x)>n.minX,o=Math.min(e.y,t.y)<n.maxY&&Math.max(e.y,t.y)>n.minY;return r&&o}),l=o;if(f&&o.length>0){let e=o.filter(e=>e.minX<n&&e.maxX>n);e.length>0&&(l=e)}if(0===l.length)return t.y;if(r){let e=Math.max(...l.map(e=>e.maxY))+15;if(e<t.y-1e-6)return e}else{let e=Math.min(...l.map(e=>e.minY))-15;if(e>t.y+1e-6)return e}return t.y},"findBestReturnY"),h=(0,i.K)(n=>{let r=u(n),o={x:n,y:e.y},l={x:n,y:r},i={x:t.x,y:r},a=Q(e,o),s=Q(o,l),f=Q(l,i),d=r!==t.y&&Q(i,t);return a||s||f||d?null:1e-6>Math.abs(r-t.y)?[e,o,l,t]:[e,o,l,i,t]},"trySimplifyWithDetourX"),g=a&&!s?h(r):s&&!a?h(n):null;g&&(J=g)}let es=[a,...k,...J,...F.reverse(),h];if(es.length>=3){let e=es[es.length-1],t=es[es.length-2],n=es[es.length-3],r=1e-6>Math.abs(n.y-t.y)&&1e-6>Math.abs(t.y-e.y),o=1e-6>Math.abs(n.x-t.x)&&1e-6>Math.abs(t.x-e.x);if(r){let r=Math.sign(t.x-n.x),o=Math.sign(e.x-n.x);0!==r&&r===o&&Math.abs(t.x-n.x)>Math.abs(e.x-n.x)&&es.splice(-2,1)}else if(o){let r=Math.sign(t.y-n.y),o=Math.sign(e.y-n.y);0!==r&&r===o&&Math.abs(t.y-n.y)>Math.abs(e.y-n.y)&&es.splice(-2,1)}}let ef=[es[0]];for(let e=1;e<es.length-1;e++){if(1===e){ef.push(es[e]);continue}let t=ef[ef.length-1],n=es[e],r=es[e+1];if(1e-6>Math.abs(t.y-n.y)&&1e-6>Math.abs(n.y-r.y)){n.x>t.x!=r.x>n.x&&ef.push(n);continue}if(1e-6>Math.abs(t.x-n.x)&&1e-6>Math.abs(n.x-r.x)){n.y>t.y!=r.y>n.y&&ef.push(n);continue}ef.push(n)}ef.push(es[es.length-1]);for(let t=0;t<ef.length-1;t++){let n=ef[t],r=ef[t+1],o=1e-6>Math.abs(n.x-r.x)?"vertical":"horizontal",l="vertical"===o?n.x:n.y,i="vertical"===o?Math.min(n.y,r.y):Math.min(n.x,r.x),a="vertical"===o?Math.max(n.y,r.y):Math.max(n.x,r.x),s=u(o,l,i,a),f={edgeIndex:e,segmentIndex:t,orientation:o,pipe:s,trackIndex:0,from:i,to:a};c.push(f),x[e].push(c.length-1),s.tracks[0]||(s.tracks[0]={index:0,coord:s.coord,segments:[]}),s.tracks[0].segments.push({edgeIndex:e,segmentIndex:t,from:i,to:a})}}let A=(0,i.K)((e,t)=>e.from<t.to&&t.from<e.to,"segmentsOverlap"),B=(0,i.K)((e,t,n,r)=>{let o=!r.segments.some(n=>(n.edgeIndex!==t.edgeIndex||n.segmentIndex!==t.segmentIndex)&&A(n,e)),l=!n.segments.some(n=>(n.edgeIndex!==e.edgeIndex||n.segmentIndex!==e.segmentIndex)&&A(n,t));return!!o&&!!l&&(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)},"trySwapSegmentsAcrossTracks"),X=(0,i.K)(e=>{let t=e.tracks.length;return e.tracks[t]={index:t,coord:e.coord,segments:[]},t},"createNewTrack"),z=(0,i.K)((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"),Y=(0,i.K)((e,t)=>{for(let n of x[e.edgeIndex]){let r=c[n];r.pipe===e.pipe&&z(r,t)}},"moveSegmentChainToTrack"),G=(0,i.K)(e=>{let t=x[e.edgeIndex],n=t.indexOf(c.indexOf(e)),r=[];return n>0&&r.push(c[t[n-1]]),n<t.length-1&&r.push(c[t[n+1]]),r},"getAdjacentSegmentsAlongEdge"),P=(0,i.K)((e,t)=>{if(e.orientation===t.orientation)return!1;let n="horizontal"===e.orientation?e:t,r="horizontal"===e.orientation?t:e;return r.pipe.coord>n.from&&r.pipe.coord<n.to&&n.pipe.coord>r.from&&n.pipe.coord<r.to},"haveAnyCrossing"),D=(0,i.K)((e,t)=>{for(let n of e.tracks)if(!n.segments.some(e=>(e.edgeIndex!==t.edgeIndex||e.segmentIndex!==t.segmentIndex)&&A(e,t)))return n.index;return -1},"findAvailableTrack"),_=(0,i.K)((e,t)=>{if(e.trackIndex===t.trackIndex)return A(e,t);let n=G(e),r=G(t);return n.some(e=>r.some(t=>P(e,t)))},"segmentsConflict"),H=(0,i.K)((e,t,n)=>{if(B(e,t,e.pipe.tracks[e.trackIndex],t.pipe.tracks[t.trackIndex]))return;let r=D(e.pipe,t);n(t,-1!==r?r:X(e.pipe))},"resolveTrackConflict"),j=(0,i.K)(e=>{let t=0;for(let n=0;n<e.length;n++)for(let r=n+1;r<e.length;r++){let o=e[n],l=e[r];o.pipe===l.pipe&&_(o,l)&&(t++,H(o,l,Y))}return t},"resolveHandleConflicts"),V=new Map,U=(0,i.K)(e=>{if(V.has(e))return V.get(e);let t=x[e];if(0===t.length){let t={dest:0,deviation:0,base:0,delta:0};return V.set(e,t),t}let n=c[t[0]].pipe.coord,r=n;for(let e=1;e<t.length;e++){let o=c[t[e]];if("horizontal"===o.orientation){let e=o.from,t=o.to;r=Math.abs(e-n)>Math.abs(t-n)?e:t;break}}let o=Math.abs(r-n),l={dest:r,deviation:o,base:n,delta:r-n};return V.set(e,l),l},"getDestInfo"),W=(0,i.K)(()=>{let e=0,t=new Map;for(let[e,n]of o.entries())0!==x[e].length&&n.start&&(t.has(n.start)||t.set(n.start,[]),t.get(n.start).push(e));let n=(0,i.K)(e=>{let t=o[e];if(!t.start||!t.end)return 0;let n=l.get(t.start),r=l.get(t.end);return n&&r?Math.abs((r.x??0)-(n.x??0))+Math.abs((r.y??0)-(n.y??0)):0},"getEdgeDistance");for(let r of t.values())r.sort((e,t)=>{let r=U(e),o=U(t);if(Math.abs(r.deviation-o.deviation)>1)return r.deviation-o.deviation;if(Math.abs(r.dest-o.dest)>1)return r.dest-o.dest;let l=n(e),i=n(t);if(Math.abs(l-i)>1)return i-l;let a=x[e].length,s=x[t].length;if(a!==s)return a-s;if(1===a){let n=x[e][0],r=x[t][0];if(c[n]&&c[r]){let e=c[n],t=c[r],o=Math.abs(e.to-e.from),l=Math.abs(t.to-t.from);if(Math.abs(o-l)>1)return o-l}}return 0}),e+=j(r.map(e=>c[x[e][0]]));return e},"fixSourceHandleCrossings"),Z=(0,i.K)(()=>{let e=0,t=new Map;for(let[e,n]of o.entries())0!==x[e].length&&n.end&&(t.has(n.end)||t.set(n.end,[]),t.get(n.end).push(e));for(let n of t.values())n.sort((e,t)=>{let n=(0,i.K)(e=>{let t=x[e];if(t.length<2)return 0;let n=c[t[t.length-2]];return Math.abs(n.to-n.from)},"getDist"),r=n(e),o=n(t);return Math.abs(r-o)>.1?r-o:e-t}),e+=j(n.map(e=>c[x[e][x[e].length-1]]));return e},"fixTargetHandleCrossings"),q=(0,i.K)(()=>{let e=0;for(let t of s){let n=[];for(let e of t.tracks)for(let t of e.segments){let e=x[t.edgeIndex].find(e=>c[e].segmentIndex===t.segmentIndex);void 0!==e&&n.push(c[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 o=n[t],l=n[r];_(o,l)&&(e++,H(o,l,z))}}return e},"fixPipeCrossings"),J=0;for(;J<10&&0!==0+W()+Z()+q();){;J++}let Q=new Map;for(let e of s){let t=[];e.tracks.forEach(e=>{e.segments.forEach(n=>{t.push({edgeIndex:n.edgeIndex,segmentIndex:n.segmentIndex,trackIndex:e.index,from:n.from,to:n.to})})}),t.sort((e,t)=>e.from-t.from);let n=[];if(t.length>0){let e=[t[0]],r=t[0].to;for(let o=1;o<t.length;o++){let l=t[o];l.from<r?(e.push(l),r=Math.max(r,l.to)):(n.push(e),e=[l],r=l.to)}n.push(e)}for(let t of n){let n=new Set;t.forEach(e=>n.add(e.trackIndex));let r=new Map;t.forEach(e=>{let t=U(e.edgeIndex);r.set(e.trackIndex,(r.get(e.trackIndex)??0)+t.delta)});let o=[...n].filter(e=>(r.get(e)??0)<-1),l=[...n].filter(e=>(r.get(e)??0)>1),a=[...n].filter(e=>1>=Math.abs(r.get(e)??0));o.sort((e,t)=>(r.get(t)??0)-(r.get(e)??0)),l.sort((e,t)=>(r.get(e)??0)-(r.get(t)??0));let s=(0,i.K)((n,r)=>{t.filter(e=>e.trackIndex===n).forEach(t=>{let n=p.has(t.edgeIndex)?e.coord:r;Q.set(`${t.edgeIndex}-${t.segmentIndex}`,n)})},"assignCoord"),f=0;for(let t of o)f++,s(t,e.coord-10*f);if(0===a.length&&n.size>0){let e=[...n].sort((e,t)=>Math.abs(r.get(e)??0)-Math.abs(r.get(t)??0))[0],t=o.indexOf(e);-1!==t&&o.splice(t,1);let i=l.indexOf(e);-1!==i&&l.splice(i,1),a.push(e)}let d=0;for(let t of a){if(0===d)s(t,e.coord);else{let n=d%2==1?1:-1,r=Math.ceil(d/2);s(t,e.coord+n*r*5)}d++}let u=0;for(let t of l)u++,s(t,e.coord+10*u)}}for(let[e,t]of o.entries()){let n=x[e]??[];if(0===n.length)continue;let r=[],{pSrcPort:o,pDstPort:i}=N(e,l.get(t.start),l.get(t.end)),a=n.map(e=>{let t=c[e],n=Q.get(`${t.edgeIndex}-${t.segmentIndex}`)??t.pipe.coord;return{orient:t.orientation,coord:n,from:t.from,to:t.to}});r.push(o);for(let e=0;e<a.length;e++){let t=a[e],n=r[r.length-1],o="vertical"===t.orient?n.y:n.x,l="vertical"===t.orient?n.x:n.y,i=a[e+1],s=e<a.length-1;if(Math.abs(l-t.coord)>1e-6&&r.push(tQ(t,o)),s&&i.orient===t.orient)if(Math.abs(t.coord-i.coord)>1e-6){let e="vertical"===t.orient?(o+i.from)/2:tJ(t,i);r.push(tQ(t,e),tQ(i,e))}else(0===e||e===a.length-2)&&r.push(tQ(t,tJ(t,i)));else if(s)r.push(tQ(t,i.coord));else{let e=Math.abs(t.from-o)<Math.abs(t.to-o)?t.to:t.from;r.push(tQ(t,e))}}let s=r[r.length-1];(Math.abs(s.x-i.x)>1e-6||Math.abs(s.y-i.y)>1e-6)&&r.push(i);let f=[];r.length>0&&f.push(r[0]);for(let e=1;e<r.length;e++){let t=r[e],n=f[f.length-1];(Math.abs(t.x-n.x)>1e-6||Math.abs(t.y-n.y)>1e-6)&&f.push(t)}t.points=f}for(let e of o){let t=e.__originalEdge;t&&e.points&&(t.points=e.points)}e.edges=(e.edges??[]).filter(e=>!e.isLayoutOnly);let ee=(0,i.K)((e,t)=>{let n=t.x??0,r=t.y??0,o=t.width??0,l=t.height??0;if(o<=0||l<=0)return e;let i=n-o/2,a=n+o/2,s=r-l/2,f=r+l/2;if(e.x<i||e.x>a||e.y<s||e.y>f)return e;let d=e.x-i,u=a-e.x,h=e.y-s,g=Math.min(d,u,h,f-e.y);return g===d?{x:i,y:e.y}:g===u?{x:a,y:e.y}:g===h?{x:e.x,y:s}:{x:e.x,y:f}},"nodeBoundaryClamp");for(let t of e.edges){let e=t.points;if(!e||e.length<2)continue;let n=t.start,r=t.end,o=n?l.get(n):void 0,i=r?l.get(r):void 0;o&&(e[0]=ee(e[0],o)),i&&(e[e.length-1]=ee(e[e.length-1],i))}return e}function t1(e){return e.direction??"TB"}function t2(e){let t=h(e),n=e.config.flowchart?.nodeSpacing??40,r=e.config.flowchart?.rankSpacing??100,o=e.config.swimlane?.ignoreCrossLaneEdges??!0,l=e.config.swimlane?.optimizeRanksByCrossings??!0,i=e.config.swimlane?.automaticLaneOrdering??!1,a=t1(e),{ordered:s,coordinates:f}=tZ(t,{nodeGap:n,layerGap:r,ignoreCrossLaneEdges:o,optimizeRanksByCrossings:l,automaticLaneOrdering:i,direction:a});for(let o of(g(t,s,f,{nodeGap:n,layerGap:r}),e.edges??[]))delete o.points;for(let t of(t0(e,a),e.edges??[]))t.curve&&"basis"!==t.curve||(t.curve="rounded");return eQ(e,a),eJ(e),a}function t6(e){u(e);let t=c(e);e.nodes=t.nodes,e.edges=t.edges}(0,i.K)(ts,"buildDrivingTree"),(0,i.K)(tf,"chooseParent"),(0,i.K)(td,"buildAdjacency"),(0,i.K)(tu,"assignComponents"),(0,i.K)(th,"computeBlocks"),(0,i.K)(tg,"popBlock"),(0,i.K)(tc,"computeSubtreeCrossCounts"),(0,i.K)(tx,"annotateMinimumLayers"),(0,i.K)(tp,"compareByRankThenId"),(0,i.K)(tm,"emitNodesInTreeOrder"),(0,i.K)(ty,"deduplicateLayers"),(0,i.K)(tb,"createChildOrderer"),(0,i.K)(tM,"buildMultitreeLayerOrder"),(0,i.K)(tK,"countCrossingsBetweenAdjacent"),(0,i.K)(tI,"totalCrossings"),(0,i.K)(tS,"optimizeRanksByCrossings"),(0,i.K)(tw,"adjustCrossLaneSources"),(0,i.K)(tv,"assignLayers_LongestPath"),(0,i.K)(tC,"assignLayers_Gravity"),(0,i.K)(tL,"topoSortByGenerationIfAcyclic"),(0,i.K)(tk,"assignLayers_LaneAwareCompact"),(0,i.K)(tT,"makeProperLayering"),(0,i.K)(tO,"median"),(0,i.K)(tR,"barycenter"),(0,i.K)(tF,"neighborPositionsFor"),(0,i.K)(tE,"currentOrderTieBreak"),(0,i.K)(t$,"countCrossingsBetweenAdjacent"),(0,i.K)(tN,"sortByHeuristic"),(0,i.K)(tA,"reorderLayer"),(0,i.K)(tB,"transposeImprove"),(0,i.K)(tX,"orderLayers"),(0,i.K)(tz,"assignCoordinates"),(0,i.K)(tY,"hashString"),(0,i.K)(tG,"mulberry32"),(0,i.K)(tP,"deterministicShuffle"),(0,i.K)(tD,"sourceDistance"),(0,i.K)(t_,"laneArrangementCost"),(0,i.K)(tH,"buildWeightedLaneEdges"),(0,i.K)(tj,"greedySwitch"),(0,i.K)(tV,"isBetterCandidate"),(0,i.K)(tU,"seedForRestart"),(0,i.K)(tW,"optimizeTopLaneOrder"),(0,i.K)(tZ,"sugiyamaLayout"),(0,i.K)(tq,"chooseOrthogonalSide"),(0,i.K)(tJ,"sharedLineEndpointCoord"),(0,i.K)(tQ,"pointOnLine"),(0,i.K)(t0,"routeEdgesOrthogonal"),(0,i.K)(t1,"getSwimlaneDirection"),(0,i.K)(t2,"runSwimlaneLayoutCore"),(0,i.K)(t6,"prepareSwimlaneLayout");var t5=(0,o.xY)({prepareLayout:t6,runLayoutCore:t2,afterPaint:a})}}]);
@@ -1 +1 @@
1
- "use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[4286],{34286:(t,e,a)=>{function i(t,e){let a=Error(e);return a.code=t,a}async function o(t){var e;if(!t.type.startsWith("audio/"))throw i("unsupported","not an audio file: ".concat(t.type||"(unknown)"));let a=null!=(e=globalThis.AudioContext)?e:globalThis.webkitAudioContext;if(!a)throw i("unavailable","Web Audio API unsupported");let o=new a;try{let e=await t.arrayBuffer();return{durationSec:(await o.decodeAudioData(e.slice(0)).catch(t=>{throw i("decode",t instanceof Error?t.message:String(t))})).duration,mimeType:t.type,sizeBytes:t.size}}finally{try{await o.close()}catch(t){}}}a.d(e,{extractAudioMeta:()=>o})}}]);
1
+ "use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[3086],{53086:(t,e,a)=>{function i(t,e){let a=Error(e);return a.code=t,a}async function o(t){var e;if(!t.type.startsWith("audio/"))throw i("unsupported","not an audio file: ".concat(t.type||"(unknown)"));let a=null!=(e=globalThis.AudioContext)?e:globalThis.webkitAudioContext;if(!a)throw i("unavailable","Web Audio API unsupported");let o=new a;try{let e=await t.arrayBuffer();return{durationSec:(await o.decodeAudioData(e.slice(0)).catch(t=>{throw i("decode",t instanceof Error?t.message:String(t))})).duration,mimeType:t.type,sizeBytes:t.size}}finally{try{await o.close()}catch(t){}}}a.d(e,{extractAudioMeta:()=>o})}}]);
@@ -1 +1 @@
1
- "use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[3148],{13148:(e,t,r)=>{r.d(t,{Ay:()=>eP});var n=Object.defineProperty,o={};((e,t)=>{for(var r in t)n(e,r,{get:t[r],enumerable:!0})})(o,{Graph:()=>d,alg:()=>v,json:()=>f,version:()=>c});var i=Object.defineProperty,s=(e,t)=>{for(var r in t)i(e,r,{get:t[r],enumerable:!0})},d=class{constructor(e){this._isDirected=!0,this._isMultigraph=!1,this._isCompound=!1,this._nodes={},this._in={},this._preds={},this._out={},this._sucs={},this._edgeObjs={},this._edgeLabels={},this._nodeCount=0,this._edgeCount=0,this._defaultNodeLabelFn=()=>{},this._defaultEdgeLabelFn=()=>{},e&&(this._isDirected=!("directed"in e)||e.directed,this._isMultigraph="multigraph"in e&&e.multigraph,this._isCompound="compound"in e&&e.compound),this._isCompound&&(this._parent={},this._children={},this._children["\0"]={})}isDirected(){return this._isDirected}isMultigraph(){return this._isMultigraph}isCompound(){return this._isCompound}setGraph(e){return this._label=e,this}graph(){return this._label}setDefaultNodeLabel(e){return"function"!=typeof e?this._defaultNodeLabelFn=()=>e:this._defaultNodeLabelFn=e,this}nodeCount(){return this._nodeCount}nodes(){return Object.keys(this._nodes)}sources(){return this.nodes().filter(e=>0===Object.keys(this._in[e]).length)}sinks(){return this.nodes().filter(e=>0===Object.keys(this._out[e]).length)}setNodes(e,t){return e.forEach(e=>{void 0!==t?this.setNode(e,t):this.setNode(e)}),this}setNode(e,t){return e in this._nodes?arguments.length>1&&(this._nodes[e]=t):(this._nodes[e]=arguments.length>1?t:this._defaultNodeLabelFn(e),this._isCompound&&(this._parent[e]="\0",this._children[e]={},this._children["\0"][e]=!0),this._in[e]={},this._preds[e]={},this._out[e]={},this._sucs[e]={},++this._nodeCount),this}node(e){return this._nodes[e]}hasNode(e){return e in this._nodes}removeNode(e){if(e in this._nodes){let t=e=>this.removeEdge(this._edgeObjs[e]);delete this._nodes[e],this._isCompound&&(this._removeFromParentsChildList(e),delete this._parent[e],this.children(e).forEach(e=>{this.setParent(e)}),delete this._children[e]),Object.keys(this._in[e]).forEach(t),delete this._in[e],delete this._preds[e],Object.keys(this._out[e]).forEach(t),delete this._out[e],delete this._sucs[e],--this._nodeCount}return this}setParent(e,t){if(!this._isCompound)throw Error("Cannot set parent in a non-compound graph");if(void 0===t)t="\0";else{t+="";for(let r=t;void 0!==r;r=this.parent(r))if(r===e)throw Error("Setting "+t+" as parent of "+e+" would create a cycle");this.setNode(t)}return this.setNode(e),this._removeFromParentsChildList(e),this._parent[e]=t,this._children[t][e]=!0,this}parent(e){if(this._isCompound){let t=this._parent[e];if("\0"!==t)return t}}children(e="\0"){if(this._isCompound){let t=this._children[e];if(t)return Object.keys(t)}else{if("\0"===e)return this.nodes();this.hasNode(e)}return[]}predecessors(e){let t=this._preds[e];if(t)return Object.keys(t)}successors(e){let t=this._sucs[e];if(t)return Object.keys(t)}neighbors(e){let t=this.predecessors(e);if(t){let r=new Set(t);for(let t of this.successors(e))r.add(t);return Array.from(r.values())}}isLeaf(e){return 0===(this.isDirected()?this.successors(e):this.neighbors(e)).length}filterNodes(e){let t=new this.constructor({directed:this._isDirected,multigraph:this._isMultigraph,compound:this._isCompound});t.setGraph(this.graph()),Object.entries(this._nodes).forEach(([r,n])=>{e(r)&&t.setNode(r,n)}),Object.values(this._edgeObjs).forEach(e=>{t.hasNode(e.v)&&t.hasNode(e.w)&&t.setEdge(e,this.edge(e))});let r={},n=e=>{let o=this.parent(e);return!o||t.hasNode(o)?(r[e]=null!=o?o:void 0,null!=o?o:void 0):o in r?r[o]:n(o)};return this._isCompound&&t.nodes().forEach(e=>t.setParent(e,n(e))),t}setDefaultEdgeLabel(e){return"function"!=typeof e?this._defaultEdgeLabelFn=()=>e:this._defaultEdgeLabelFn=e,this}edgeCount(){return this._edgeCount}edges(){return Object.values(this._edgeObjs)}setPath(e,t){return e.reduce((e,r)=>(void 0!==t?this.setEdge(e,r,t):this.setEdge(e,r),r)),this}setEdge(e,t,r,n){let o,i,s,d,h=!1;"object"==typeof e&&null!==e&&"v"in e?(o=e.v,i=e.w,s=e.name,2==arguments.length&&(d=t,h=!0)):(o=e,i=t,s=n,arguments.length>2&&(d=r,h=!0)),o=""+o,i=""+i,void 0!==s&&(s=""+s);let u=l(this._isDirected,o,i,s);if(u in this._edgeLabels)return h&&(this._edgeLabels[u]=d),this;if(void 0!==s&&!this._isMultigraph)throw Error("Cannot set a named edge when isMultigraph = false");this.setNode(o),this.setNode(i),this._edgeLabels[u]=h?d:this._defaultEdgeLabelFn(o,i,s);let c=function(e,t,r,n){let o=""+t,i=""+r;if(!e&&o>i){let e=o;o=i,i=e}let s={v:o,w:i};return n&&(s.name=n),s}(this._isDirected,o,i,s);return o=c.v,i=c.w,Object.freeze(c),this._edgeObjs[u]=c,a(this._preds[i],o),a(this._sucs[o],i),this._in[i][u]=c,this._out[o][u]=c,this._edgeCount++,this}edge(e,t,r){let n=1==arguments.length?u(this._isDirected,e):l(this._isDirected,e,t,r);return this._edgeLabels[n]}edgeAsObj(e,t,r){let n=1==arguments.length?this.edge(e):this.edge(e,t,r);return"object"!=typeof n?{label:n}:n}hasEdge(e,t,r){return(1==arguments.length?u(this._isDirected,e):l(this._isDirected,e,t,r))in this._edgeLabels}removeEdge(e,t,r){let n=1==arguments.length?u(this._isDirected,e):l(this._isDirected,e,t,r),o=this._edgeObjs[n];if(o){let e=o.v,t=o.w;delete this._edgeLabels[n],delete this._edgeObjs[n],h(this._preds[t],e),h(this._sucs[e],t),delete this._in[t][n],delete this._out[e][n],this._edgeCount--}return this}inEdges(e,t){return this.isDirected()?this.filterEdges(this._in[e],e,t):this.nodeEdges(e,t)}outEdges(e,t){return this.isDirected()?this.filterEdges(this._out[e],e,t):this.nodeEdges(e,t)}nodeEdges(e,t){if(e in this._nodes)return this.filterEdges({...this._in[e],...this._out[e]},e,t)}_removeFromParentsChildList(e){delete this._children[this._parent[e]][e]}filterEdges(e,t,r){if(!e)return;let n=Object.values(e);return r?n.filter(e=>e.v===t&&e.w===r||e.v===r&&e.w===t):n}};function a(e,t){e[t]?e[t]++:e[t]=1}function h(e,t){void 0===e[t]||--e[t]||delete e[t]}function l(e,t,r,n){let o=""+t,i=""+r;if(!e&&o>i){let e=o;o=i,i=e}return o+"\x01"+i+"\x01"+(void 0===n?"\0":n)}function u(e,t){return l(e,t.v,t.w,t.name)}var c="4.0.1",f={};function g(e){var t,r;let n={options:{directed:e.isDirected(),multigraph:e.isMultigraph(),compound:e.isCompound()},nodes:(t=e).nodes().map(e=>{let r=t.node(e),n=t.parent(e),o={v:e};return void 0!==r&&(o.value=r),void 0!==n&&(o.parent=n),o}),edges:(r=e).edges().map(e=>{let t=r.edge(e),n={v:e.v,w:e.w};return void 0!==e.name&&(n.name=e.name),void 0!==t&&(n.value=t),n})},o=e.graph();return void 0!==o&&(n.value=structuredClone(o)),n}function p(e){let t=new d(e.options);return void 0!==e.value&&t.setGraph(e.value),e.nodes.forEach(e=>{t.setNode(e.v,e.value),e.parent&&t.setParent(e.v,e.parent)}),e.edges.forEach(e=>{t.setEdge({v:e.v,w:e.w,name:e.name},e.value)}),t}s(f,{read:()=>p,write:()=>g});var v={};s(v,{CycleException:()=>C,bellmanFord:()=>m,components:()=>E,dijkstra:()=>y,dijkstraAll:()=>k,findCycles:()=>O,floydWarshall:()=>N,isAcyclic:()=>L,postorder:()=>D,preorder:()=>P,prim:()=>S,shortestPaths:()=>G,tarjan:()=>x,topsort:()=>M});var w=()=>1;function m(e,t,r,n){return function(e,t,r,n){let o={},i,s=0,d=e.nodes(),a=function(e){let t=r(e);o[e.v].distance+t<o[e.w].distance&&(o[e.w]={distance:o[e.v].distance+t,predecessor:e.v},i=!0)},h=function(){d.forEach(function(e){n(e).forEach(function(t){let r=t.v===e?t.v:t.w,n=r===t.v?t.w:t.v;a({v:r,w:n})})})};d.forEach(function(e){o[e]={distance:e===t?0:1/0,predecessor:""}});let l=d.length;for(let e=1;e<l&&(i=!1,s++,h(),i);e++);if(s===l-1&&(i=!1,h(),i))throw Error("The graph contains a negative weight cycle");return o}(e,String(t),r||w,n||function(t){return e.outEdges(t)})}function E(e){let t={},r=[],n;return e.nodes().forEach(function(o){n=[],function r(o){o in t||(t[o]=!0,n.push(o),e.successors(o).forEach(r),e.predecessors(o).forEach(r))}(o),n.length&&r.push(n)}),r}var b=class{constructor(){this._arr=[],this._keyIndices={}}size(){return this._arr.length}keys(){return this._arr.map(e=>e.key)}has(e){return e in this._keyIndices}priority(e){let t=this._keyIndices[e];if(void 0!==t)return this._arr[t].priority}min(){if(0===this.size())throw Error("Queue underflow");return this._arr[0].key}add(e,t){let r=this._keyIndices,n=String(e);if(!(n in r)){let e=this._arr,o=e.length;return r[n]=o,e.push({key:n,priority:t}),this._decrease(o),!0}return!1}removeMin(){this._swap(0,this._arr.length-1);let e=this._arr.pop();return delete this._keyIndices[e.key],this._heapify(0),e.key}decrease(e,t){let r=this._keyIndices[e];if(void 0===r)throw Error(`Key not found: ${e}`);let n=this._arr[r].priority;if(t>n)throw Error(`New priority is greater than current priority. Key: ${e} Old: ${n} New: ${t}`);this._arr[r].priority=t,this._decrease(r)}_heapify(e){let t=this._arr,r=2*e,n=r+1,o=e;r<t.length&&(o=t[r].priority<t[o].priority?r:o,n<t.length&&(o=t[n].priority<t[o].priority?n:o),o!==e&&(this._swap(e,o),this._heapify(o)))}_decrease(e){let t=this._arr,r=t[e].priority,n;for(;0!==e&&!(t[n=e>>1].priority<r);)this._swap(e,n),e=n}_swap(e,t){let r=this._arr,n=this._keyIndices,o=r[e],i=r[t];r[e]=i,r[t]=o,n[i.key]=e,n[o.key]=t}},_=()=>1;function y(e,t,r,n){return function(e,t,r,n){let o={},i=new b,s,d,a=function(e){let t=e.v!==s?e.v:e.w,n=o[t],a=r(e),h=d.distance+a;if(a<0)throw Error("dijkstra does not allow negative edge weights. Bad edge: "+e+" Weight: "+a);h<n.distance&&(n.distance=h,n.predecessor=s,i.decrease(t,h))};for(e.nodes().forEach(function(e){let r=e===t?0:1/0;o[e]={distance:r,predecessor:""},i.add(e,r)});i.size()>0&&(d=o[s=i.removeMin()]).distance!==1/0;)n(s).forEach(a);return o}(e,String(t),r||_,n||function(t){return e.outEdges(t)})}function k(e,t,r){return e.nodes().reduce(function(n,o){return n[o]=y(e,o,t,r),n},{})}function x(e){let t=0,r=[],n={},o=[];return e.nodes().forEach(function(i){i in n||function i(s){let d=n[s]={onStack:!0,lowlink:t,index:t++};if(r.push(s),e.successors(s).forEach(function(e){e in n?n[e].onStack&&(d.lowlink=Math.min(d.lowlink,n[e].index)):(i(e),d.lowlink=Math.min(d.lowlink,n[e].lowlink))}),d.lowlink===d.index){let e=[],t;do n[t=r.pop()].onStack=!1,e.push(t);while(s!==t);o.push(e)}}(i)}),o}function O(e){return x(e).filter(function(t){return t.length>1||1===t.length&&e.hasEdge(t[0],t[0])})}var j=()=>1;function N(e,t,r){var n,o,i;let s,d;return n=e,o=t||j,i=r||function(t){return e.outEdges(t)},s={},(d=n.nodes()).forEach(function(e){s[e]={},s[e][e]={distance:0,predecessor:""},d.forEach(function(t){e!==t&&(s[e][t]={distance:1/0,predecessor:""})}),i(e).forEach(function(t){let r=t.v===e?t.w:t.v,n=o(t);s[e][r]={distance:n,predecessor:e}})}),d.forEach(function(e){let t=s[e];d.forEach(function(r){let n=s[r];d.forEach(function(r){let o=n[e],i=t[r],s=n[r],d=o.distance+i.distance;d<s.distance&&(s.distance=d,s.predecessor=i.predecessor)})})}),s}var C=class extends Error{constructor(...e){super(...e)}};function M(e){let t={},r={},n=[];if(e.sinks().forEach(function o(i){if(i in r)throw new C;i in t||(r[i]=!0,t[i]=!0,e.predecessors(i).forEach(o),delete r[i],n.push(i))}),Object.keys(t).length!==e.nodeCount())throw new C;return n}function L(e){try{M(e)}catch(e){if(e instanceof C)return!1;throw e}return!0}function R(e,t,r){var n,o,i;let s,d;return n=t,o=function(e,t){return e.push(t),e},i=[],Array.isArray(n)||(n=[n]),s=t=>{var r;return null!=(r=e.isDirected()?e.successors(t):e.neighbors(t))?r:[]},d={},n.forEach(function(t){if(!e.hasNode(t))throw Error("Graph does not have node: "+t);i=function e(t,r,n,o,i,s,d){return r in o||(o[r]=!0,n||(d=s(d,r)),i(r).forEach(function(r){d=e(t,r,n,o,i,s,d)}),n&&(d=s(d,r))),d}(e,t,"post"===r,d,s,o,i)}),i}function D(e,t){return R(e,t,"post")}function P(e,t){return R(e,t,"pre")}function S(e,t){let r=new d,n={},o=new b,i;function s(e){let r=e.v===i?e.w:e.v,s=o.priority(r);if(void 0!==s){let d=t(e);d<s&&(n[r]=i,o.decrease(r,d))}}if(0===e.nodeCount())return r;e.nodes().forEach(function(e){o.add(e,1/0),r.setNode(e)}),o.decrease(e.nodes()[0],0);let a=!1;for(;o.size()>0;){if((i=o.removeMin())in n)r.setEdge(i,n[i]);else{if(a)throw Error("Input graph is not connected: "+e);a=!0}e.nodeEdges(i).forEach(s)}return r}function G(e,t,r,n){return function(e,t,r,n){if(void 0===r)return y(e,t,r,n);let o=!1,i=e.nodes();for(let s=0;s<i.length;s++){let d=n(i[s]);for(let e=0;e<d.length;e++){let t=d[e],n=t.v===i[s]?t.v:t.w,a=n===t.v?t.w:t.v;0>r({v:n,w:a})&&(o=!0)}if(o)return m(e,t,r,n)}return y(e,t,r,n)}(e,t,r,null!=n?n:t=>{let r=e.outEdges(t);return null!=r?r:[]})}function F(e,t,r,n){let o=n;for(;e.hasNode(o);)o=n+""+ ++K;return r.dummy=t,e.setNode(o,r),o}function T(e){let t=new d({multigraph:e.isMultigraph()}).setGraph(e.graph());return e.nodes().forEach(r=>{e.children(r).length||t.setNode(r,e.node(r))}),e.edges().forEach(r=>{t.setEdge(r,e.edge(r))}),t}function I(e,t){let r,n,o=e.x,i=e.y,s=t.x-o,d=t.y-i,a=e.width/2,h=e.height/2;if(!s&&!d)throw Error("Not possible to find intersection inside of the rectangle");return Math.abs(d)*a>Math.abs(s)*h?(d<0&&(h=-h),r=h*s/d,n=h):(s<0&&(a=-a),r=a,n=a*d/s),{x:o+r,y:i+n}}function A(e){let t=W(q(e)+1).map(()=>[]);return e.nodes().forEach(r=>{let n=e.node(r),o=n.rank;void 0!==o&&(t[o]||(t[o]=[]),t[o][n.order]=r)}),t}function B(e,t,r,n){let o={width:0,height:0};return arguments.length>=4&&(o.rank=r,o.order=n),F(e,"border",o,t)}function z(e,t){return t.length>65535?e(...(function(e,t=65535){let r=[];for(let n=0;n<e.length;n+=t){let o=e.slice(n,n+t);r.push(o)}return r})(t).map(t=>e(...t))):e(...t)}function q(e){return z(Math.max,e.nodes().map(t=>{let r=e.node(t).rank;return void 0===r?5e-324:r}))}function V(e,t){let r=Date.now();try{return t()}finally{console.log(e+" time: "+(Date.now()-r)+"ms")}}function $(e,t){return t()}var K=0;function W(e,t,r=1){null==t&&(t=e,e=0);let n=e=>e<t;r<0&&(n=e=>t<e);let o=[];for(let t=e;n(t);t+=r)o.push(t);return o}function H(e,t){let r={};for(let n of t)void 0!==e[n]&&(r[n]=e[n]);return r}function J(e,t){let r;return r="string"==typeof t?e=>e[t]:t,Object.entries(e).reduce((e,[t,n])=>(e[t]=r(n,t),e),{})}var Q=class{constructor(){((e,t,r)=>((e,t,r)=>t in e?n(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r)(e,"symbol"!=typeof t?t+"":t,r))(this,"_sentinel");let e={};e._next=e._prev=e,this._sentinel=e}dequeue(){let e=this._sentinel,t=e._prev;if(t!==e)return U(t),t}enqueue(e){let t=this._sentinel;e._prev&&e._next&&U(e),e._next=t._next,t._next._prev=e,t._next=e,e._prev=t}toString(){let e=[],t=this._sentinel,r=t._prev;for(;r!==t;)e.push(JSON.stringify(r,X)),r=r._prev;return"["+e.join(", ")+"]"}};function U(e){e._prev._next=e._next,e._next._prev=e._prev,delete e._next,delete e._prev}function X(e,t){if("_next"!==e&&"_prev"!==e)return t}var Y=()=>1;function Z(e,t,r,n,o){let i=[],s=o?i:void 0;return(e.inEdges(n.v)||[]).forEach(n=>{let s=e.edge(n),d=e.node(n.v);o&&i.push({v:n.v,w:n.w}),d.out-=s,ee(t,r,d)}),(e.outEdges(n.v)||[]).forEach(n=>{let o=e.edge(n),i=n.w,s=e.node(i);s.in-=o,ee(t,r,s)}),e.removeNode(n.v),s}function ee(e,t,r){var n,o,i;r.out?r.in?null==(i=e[r.out-r.in+t])||i.enqueue(r):null==(o=e[e.length-1])||o.enqueue(r):null==(n=e[0])||n.enqueue(r)}function et(e){let t={};e.sources().forEach(function r(n){let o=e.node(n);if(Object.hasOwn(t,n))return o.rank;t[n]=!0;let i=e.outEdges(n),s=z(Math.min,i?i.map(t=>null==t?1/0:r(t.w)-e.edge(t).minlen):[]);return s===1/0&&(s=0),o.rank=s})}function er(e,t){return e.node(t.w).rank-e.node(t.v).rank-e.edge(t).minlen}var en=function(e){var t,r,n,o;let i,s,a=new d({directed:!1}),h=e.nodes();if(0===h.length)throw Error("Graph must have at least one node");let l=h[0],u=e.nodeCount();for(a.setNode(l,{});t=a,r=e,t.nodes().forEach(function e(n){let o=r.nodeEdges(n);o&&o.forEach(o=>{let i=o.v,s=n===i?o.w:i;t.hasNode(s)||er(r,o)||(t.setNode(s,{}),t.setEdge(n,s,{}),e(s))})}),t.nodeCount()<u&&(n=a,i=(o=e).edges().reduce((e,t)=>{let r=1/0;return n.hasNode(t.v)!==n.hasNode(t.w)&&(r=er(o,t)),r<e[0]?[r,t]:e},[1/0,null])[1]);)s=a.hasNode(i.v)?er(e,i):-er(e,i),function(e,t,r){e.nodes().forEach(e=>t.node(e).rank+=r)}(a,e,s);return a},{preorder:eo,postorder:ei}=v;function es(e){var t;let r,n,o;t=e,o=new d().setGraph(t.graph()),t.nodes().forEach(e=>o.setNode(e,t.node(e))),t.edges().forEach(e=>{let r=o.edge(e.v,e.w)||{weight:0,minlen:1},n=t.edge(e);o.setEdge(e.v,e.w,{weight:r.weight+n.weight,minlen:Math.max(r.minlen,n.minlen)})}),et(e=o);let i=en(e);for(eh(i),ed(i,e);r=el(i);)n=eu(i,e,r),ec(i,e,r,n)}function ed(e,t){let r=ei(e,e.nodes());(r=r.slice(0,r.length-1)).forEach(r=>{var n,o,i;let s;return n=e,o=t,i=r,s=n.node(i).parent,void(n.edge(i,s).cutvalue=ea(n,o,i))})}function ea(e,t,r){let n=e.node(r).parent,o=!0,i=t.edge(r,n),s=0;i||(o=!1,i=t.edge(n,r)),s=i.weight;let d=t.nodeEdges(r);return d&&d.forEach(i=>{let d=i.v===r,a=d?i.w:i.v;if(a!==n){var h,l,u;let n=d===o,c=t.edge(i).weight;if(s+=n?c:-c,h=e,l=r,u=a,h.hasEdge(l,u)){let t=e.edge(r,a).cutvalue;s+=n?-t:t}}}),s}function eh(e,t){arguments.length<2&&(t=e.nodes()[0]),function e(t,r,n,o,i){let s=n,d=t.node(o);r[o]=!0;let a=t.neighbors(o);return a&&a.forEach(i=>{Object.hasOwn(r,i)||(n=e(t,r,n,i,o))}),d.low=s,d.lim=n++,i?d.parent=i:delete d.parent,n}(e,{},1,t)}function el(e){return e.edges().find(t=>e.edge(t).cutvalue<0)}function eu(e,t,r){let n=r.v,o=r.w;t.hasEdge(n,o)||(n=r.w,o=r.v);let i=e.node(n),s=e.node(o),d=i,a=!1;return i.lim>s.lim&&(d=s,a=!0),t.edges().filter(t=>a===ef(e,e.node(t.v),d)&&a!==ef(e,e.node(t.w),d)).reduce((e,r)=>er(t,r)<er(t,e)?r:e)}function ec(e,t,r,n){let o=r.v,i=r.w;e.removeEdge(o,i),e.setEdge(n.v,n.w,{}),eh(e),ed(e,t),function(e,t){let r=e.nodes().find(t=>!e.node(t).parent);if(!r)return;let n=eo(e,[r]);(n=n.slice(1)).forEach(r=>{let n=e.node(r).parent,o=t.edge(r,n),i=!1;o||(o=t.edge(n,r),i=!0),t.node(r).rank=t.node(n).rank+(i?o.minlen:-o.minlen)})}(e,t)}function ef(e,t,r){return r.low<=t.lim&&t.lim<=r.lim}es.initLowLimValues=eh,es.initCutValues=ed,es.calcCutValue=ea,es.leaveEdge=el,es.enterEdge=eu,es.exchangeEdges=ec;function eg(e,t,r,n,o,i){let s=o[t][i-1],d=F(e,"border",{width:0,height:0,rank:i,borderType:t},r);o[t][i]=d,e.setParent(d,n),s&&e.setEdge(s,d,{weight:1})}function ep(e){e.nodes().forEach(t=>ev(e.node(t))),e.edges().forEach(t=>ev(e.edge(t)))}function ev(e){let t=e.width;e.width=e.height,e.height=t}function ew(e){e.y=-e.y}function em(e){let t=e.x;e.x=e.y,e.y=t}function eE(e,t,r){let n;for(;t.length&&(n=t[t.length-1]).i<=r;)t.pop(),e.push(n.vs),r++;return r}function eb(e,t,r){let n=new Map,o=(e,t)=>{n.has(e)||n.set(e,[]),n.get(e).push(t)};for(let t of e.nodes()){let r=e.node(t);if("number"==typeof r.rank&&o(r.rank,t),"number"==typeof r.minRank&&"number"==typeof r.maxRank)for(let e=r.minRank;e<=r.maxRank;e++)e!==r.rank&&o(e,t)}return t.map(function(t){var o;let i,s;return o=n.get(t)||[],i=function(e){let t;for(;e.hasNode(t="_root"+ ++K););return t}(e),s=new d({compound:!0}).setGraph({root:i}).setDefaultNodeLabel(t=>e.node(t)),o.forEach(n=>{let o=e.node(n),d=e.parent(n);if(o.rank===t||o.minRank<=t&&t<=o.maxRank){s.setNode(n),s.setParent(n,d||i);let a=e[r](n);a&&a.forEach(t=>{let r=t.v===n?t.w:t.v,o=s.edge(r,n),i=void 0!==o?o.weight:0;s.setEdge(r,n,{weight:e.edge(t).weight+i})}),Object.hasOwn(o,"minRank")&&s.setNode(n,{borderLeft:o.borderLeft[t],borderRight:o.borderRight[t]})}}),s})}function e_(e,t){Object.values(t).forEach(t=>t.forEach((t,r)=>e.node(t).order=r))}function ey(e,t,r){if(t>r){let e=t;t=r,r=e}let n=e[t];n||(e[t]=n={}),n[r]=!0}var ek=["nodesep","edgesep","ranksep","marginx","marginy"],ex={ranksep:50,edgesep:20,nodesep:50,rankdir:"TB",rankalign:"center"},eO=["acyclicer","ranker","rankdir","align","rankalign"],ej=["width","height","rank"],eN={width:0,height:0},eC=["minlen","weight","width","height","labeloffset"],eM={minlen:1,weight:1,width:0,height:0,labeloffset:10,labelpos:"r"},eL=["labelpos"];function eR(e,t){return J(H(e,t),Number)}function eD(e){let t={};return e&&Object.entries(e).forEach(([e,r])=>{"string"==typeof e&&(e=e.toLowerCase()),t[e]=r}),t}var eP={graphlib:o,version:"3.0.0",layout:function(e,t={}){let r=t.debugTiming?V:$;return r("layout",()=>{let n=r(" buildLayoutGraph",()=>{var t;let r,n;return t=e,r=new d({multigraph:!0,compound:!0}),n=eD(t.graph()),r.setGraph(Object.assign({},ex,eR(n,ek),H(n,eO))),t.nodes().forEach(e=>{let n=eR(eD(t.node(e)),ej);Object.keys(eN).forEach(e=>{void 0===n[e]&&(n[e]=eN[e])}),r.setNode(e,n);let o=t.parent(e);void 0!==o&&r.setParent(e,o)}),t.edges().forEach(e=>{let n=eD(t.edge(e));r.setEdge(e,Object.assign({},eM,eR(n,eC),H(n,eL)))}),r});return r(" runLayout",()=>{var e,o,i;return e=n,o=r,i=t,void(o(" makeSpaceForEdgeLabels",()=>{var t;let r;return r=(t=e).graph(),void(r.ranksep/=2,t.edges().forEach(e=>{let n=t.edge(e);n.minlen*=2,"c"!==n.labelpos.toLowerCase()&&("TB"===r.rankdir||"BT"===r.rankdir?n.width+=n.labeloffset:n.height+=n.labeloffset)}))}),o(" removeSelfEdges",()=>{var t;(t=e).edges().forEach(e=>{if(e.v===e.w){let r=t.node(e.v);r.selfEdges||(r.selfEdges=[]),r.selfEdges.push({e:e,label:t.edge(e)}),t.removeEdge(e)}})}),o(" acyclic",()=>{var t,r;let n,o,i;("greedy"===e.graph().acyclicer?function(e,t){var r,n;let o,i,s,a,h;if(1>=e.nodeCount())return[];let l=(r=e,n=t||Y,o=new d,i=0,s=0,r.nodes().forEach(e=>{o.setNode(e,{v:e,in:0,out:0})}),r.edges().forEach(e=>{let t=o.edge(e.v,e.w)||0,r=n(e);o.setEdge(e.v,e.w,t+r);let d=o.node(e.v),a=o.node(e.w);s=Math.max(s,d.out+=r),i=Math.max(i,a.in+=r)}),a=(function(e){let t=[];for(let r=0;r<e;r++)t.push(r);return t})(s+i+3).map(()=>new Q),h=i+1,o.nodes().forEach(e=>{ee(a,h,o.node(e))}),{graph:o,buckets:a,zeroIdx:h});return(function(e,t,r){var n;let o=[],i=t[t.length-1],s=t[0],d;for(;e.nodeCount();){for(;d=s.dequeue();)Z(e,t,r,d);for(;d=i.dequeue();)Z(e,t,r,d);if(e.nodeCount()){for(let i=t.length-2;i>0;--i)if(d=null==(n=t[i])?void 0:n.dequeue()){o=o.concat(Z(e,t,r,d,!0)||[]);break}}}return o})(l.graph,l.buckets,l.zeroIdx).flatMap(t=>e.outEdges(t.v,t.w)||[])}(e,(t=e,e=>t.edge(e).weight)):(n=[],o={},i={},(r=e).nodes().forEach(function e(t){Object.hasOwn(i,t)||(i[t]=!0,o[t]=!0,r.outEdges(t).forEach(t=>{Object.hasOwn(o,t.w)?n.push(t):e(t.w)}),delete o[t])}),n)).forEach(t=>{let r=e.edge(t);e.removeEdge(t),r.forwardName=t.name,r.reversed=!0,e.setEdge(t.w,t.v,r,"rev"+ ++K)})}),o(" nestingGraph.run",()=>{var t,r;let n,o,i,s,d,a;return n=F(e,"root",{},"_root"),s=2*(i=z(Math.max,Object.values((a={},(t=e).children("\0").forEach(e=>(function e(r,n){let o=t.children(r);o&&o.length&&o.forEach(t=>e(t,n+1)),a[r]=n})(e,1)),o=a)))-1)+1,e.graph().nestingRoot=n,e.edges().forEach(t=>e.edge(t).minlen*=s),d=(r=e).edges().reduce((e,t)=>e+r.edge(t).weight,0)+1,void(e.children("\0").forEach(t=>(function e(t,r,n,o,i,s,d){var a;let h=t.children(d);if(!h.length){d!==r&&t.setEdge(r,d,{weight:0,minlen:n});return}let l=B(t,"_bt"),u=B(t,"_bb"),c=t.node(d);t.setParent(l,d),c.borderTop=l,t.setParent(u,d),c.borderBottom=u,h.forEach(a=>{var h;e(t,r,n,o,i,s,a);let c=t.node(a),f=c.borderTop?c.borderTop:a,g=c.borderBottom?c.borderBottom:a,p=c.borderTop?o:2*o,v=f!==g?1:i-(null!=(h=s[d])?h:0)+1;t.setEdge(l,f,{weight:p,minlen:v,nestingEdge:!0}),t.setEdge(g,u,{weight:p,minlen:v,nestingEdge:!0})}),t.parent(d)||t.setEdge(r,l,{weight:0,minlen:i+(null!=(a=s[d])?a:0)})})(e,n,s,d,i,o,t)),e.graph().nodeRankFactor=s)}),o(" rank",()=>(function(e){let t=e.graph().ranker;if("function"==typeof t)return t(e);switch(t){case"network-simplex":default:es(e);break;case"tight-tree":var r;et(r=e),en(r);break;case"longest-path":et(e);case"none":}})(T(e))),o(" injectEdgeLabelProxies",()=>{var t;(t=e).edges().forEach(e=>{let r=t.edge(e);if(r.width&&r.height){let r=t.node(e.v),n={rank:(t.node(e.w).rank-r.rank)/2+r.rank,e:e};F(t,"edge-proxy",n,"_ep")}})}),o(" removeEmptyRanks",()=>{let t,r,n,o;return t=z(Math.min,e.nodes().map(t=>e.node(t).rank).filter(e=>void 0!==e)),r=[],e.nodes().forEach(n=>{let o=e.node(n).rank-t;r[o]||(r[o]=[]),r[o].push(n)}),n=0,o=e.graph().nodeRankFactor,void Array.from(r).forEach((t,r)=>{void 0===t&&r%o!=0?--n:void 0!==t&&n&&t.forEach(t=>e.node(t).rank+=n)})}),o(" nestingGraph.cleanup",()=>{let t;return t=e.graph(),void(e.removeNode(t.nestingRoot),delete t.nestingRoot,e.edges().forEach(t=>{e.edge(t).nestingEdge&&e.removeEdge(t)}))}),o(" normalizeRanks",()=>{let t;return t=z(Math.min,e.nodes().map(t=>{let r=e.node(t).rank;return void 0===r?Number.MAX_VALUE:r})),void e.nodes().forEach(r=>{let n=e.node(r);Object.hasOwn(n,"rank")&&(n.rank-=t)})}),o(" assignRankMinMax",()=>{var t;let r;return r=0,void((t=e).nodes().forEach(e=>{let n=t.node(e);n.borderTop&&(n.minRank=t.node(n.borderTop).rank,n.maxRank=t.node(n.borderBottom).rank,r=Math.max(r,n.maxRank))}),t.graph().maxRank=r)}),o(" removeEdgeLabelProxies",()=>{var t;(t=e).nodes().forEach(e=>{let r=t.node(e);"edge-proxy"===r.dummy&&(t.edge(r.e).labelRank=r.rank,t.removeNode(e))})}),o(" normalize.run",()=>{e.graph().dummyChains=[],e.edges().forEach(t=>(function(e,t){let r,n,o,i=t.v,s=e.node(i).rank,d=t.w,a=e.node(d).rank,h=t.name,l=e.edge(t),u=l.labelRank;if(a!==s+1){for(e.removeEdge(t),o=0,++s;s<a;++o,++s)l.points=[],r=F(e,"edge",n={width:0,height:0,edgeLabel:l,edgeObj:t,rank:s},"_d"),s===u&&(n.width=l.width,n.height=l.height,n.dummy="edge-label",n.labelpos=l.labelpos),e.setEdge(i,r,{weight:l.weight},h),0===o&&e.graph().dummyChains.push(r),i=r;e.setEdge(i,d,{weight:l.weight},h)}})(e,t))}),o(" parentDummyChains",()=>{var t,r;let n,o,i;return i=(n={},o=0,(r=t=e).children("\0").forEach(function e(t){let i=o;r.children(t).forEach(e),n[t]={low:i,lim:o++}}),n),void t.graph().dummyChains.forEach(e=>{let r=t.node(e),n=r.edgeObj,o=function(e,t,r,n){let o=[],i=[],s=Math.min(t[r].low,t[n].low),d=Math.max(t[r].lim,t[n].lim),a;a=r;do o.push(a=e.parent(a));while(a&&(t[a].low>s||d>t[a].lim));let h=a,l=n;for(;(l=e.parent(l))!==h;)i.push(l);return{path:o.concat(i.reverse()),lca:h}}(t,i,n.v,n.w),s=o.path,d=o.lca,a=0,h=s[0],l=!0;for(;e!==n.w;){if(r=t.node(e),l){for(;(h=s[a])!==d&&t.node(h).maxRank<r.rank;)a++;h===d&&(l=!1)}if(!l){for(;a<s.length-1&&t.node(s[a+1]).minRank<=r.rank;)a++;h=s[a]}void 0!==h&&t.setParent(e,h),e=t.successors(e)[0]}})}),o(" addBorderSegments",()=>{var t;(t=e).children("\0").forEach(function e(r){let n=t.children(r),o=t.node(r);if(n.length&&n.forEach(e),Object.hasOwn(o,"minRank")){o.borderLeft=[],o.borderRight=[];for(let e=o.minRank,n=o.maxRank+1;e<n;++e)eg(t,"borderLeft","_bl",r,o,e),eg(t,"borderRight","_br",r,o,e)}})}),o(" order",()=>(function e(t,r={}){let n,o,i;if("function"==typeof r.customOrder)return void r.customOrder(t,e);let s=q(t),a=eb(t,W(1,s+1),"inEdges"),h=eb(t,W(s-1,-1,-1),"outEdges"),l=(n={},i=W(z(Math.max,(o=t.nodes().filter(e=>!t.children(e).length)).map(e=>t.node(e).rank))+1).map(()=>[]),o.sort((e,r)=>t.node(e).rank-t.node(r).rank).forEach(function e(r){if(n[r])return;n[r]=!0,i[t.node(r).rank].push(r);let o=t.successors(r);o&&o.forEach(e)}),i);if(e_(t,l),r.disableOptimalOrderHeuristic)return;let u=1/0,c,f=r.constraints||[];for(let e=0,r=0;r<4;++e,++r){(function(e,t,r){let n=new d;e.forEach(function(e){var o;let i,s;r.forEach(e=>n.setEdge(e.left,e.right));let d=e.graph().root,a=function e(t,r,n,o){var i;let s,d,a,h,l,u,c,f,g,p,v=t.children(r),w=t.node(r),m=w?w.borderLeft:void 0,E=w?w.borderRight:void 0,b={};m&&(v=v.filter(e=>e!==m&&e!==E));let _=function(e,t=[]){return t.map(t=>{let r=e.inEdges(t);if(!r||!r.length)return{v:t};{let n=r.reduce((t,r)=>{let n=e.edge(r),o=e.node(r.v);return{sum:t.sum+n.weight*o.order,weight:t.weight+n.weight}},{sum:0,weight:0});return{v:t,barycenter:n.sum/n.weight,weight:n.weight}}})}(t,v);_.forEach(r=>{if(t.children(r.v).length){var i,s;let d=e(t,r.v,n,o);b[r.v]=d,Object.hasOwn(d,"barycenter")&&(i=r,s=d,void 0!==i.barycenter?(i.barycenter=(i.barycenter*i.weight+s.barycenter*s.weight)/(i.weight+s.weight),i.weight+=s.weight):(i.barycenter=s.barycenter,i.weight=s.weight))}});let y=(s={},_.forEach((e,t)=>{let r={indegree:0,in:[],out:[],vs:[e.v],i:t};void 0!==e.barycenter&&(r.barycenter=e.barycenter,r.weight=e.weight),s[e.v]=r}),n.edges().forEach(e=>{let t=s[e.v],r=s[e.w];void 0!==t&&void 0!==r&&(r.indegree++,t.out.push(r))}),function(e){let t=[];for(;e.length;){let r=e.pop();t.push(r),r.in.reverse().forEach(function(e){return t=>{t.merged||(void 0===t.barycenter||void 0===e.barycenter||t.barycenter>=e.barycenter)&&function(e,t){let r=0,n=0;e.weight&&(r+=e.barycenter*e.weight,n+=e.weight),t.weight&&(r+=t.barycenter*t.weight,n+=t.weight),e.vs=t.vs.concat(e.vs),e.barycenter=r/n,e.weight=n,e.i=Math.min(t.i,e.i),t.merged=!0}(e,t)}}(r)),r.out.forEach(function(t){return r=>{r.in.push(t),0==--r.indegree&&e.push(r)}}(r))}return t.filter(e=>!e.merged).map(e=>H(e,["vs","i","barycenter","weight"]))}(Object.values(s).filter(e=>!e.indegree)));!function(e,t){e.forEach(e=>{e.vs=e.vs.flatMap(e=>t[e]?t[e].vs:e)})}(y,b);let k=(h=(i=e=>Object.hasOwn(e,"barycenter"),d={lhs:[],rhs:[]},y.forEach(e=>{i(e)?d.lhs.push(e):d.rhs.push(e)}),a=d).lhs,l=a.rhs.sort((e,t)=>t.i-e.i),u=[],c=0,f=0,g=0,h.sort(function(e){return(t,r)=>t.barycenter<r.barycenter?-1:t.barycenter>r.barycenter?1:e?r.i-t.i:t.i-r.i}(!!o)),g=eE(u,l,g),h.forEach(e=>{g+=e.vs.length,u.push(e.vs),c+=e.barycenter*e.weight,f+=e.weight,g=eE(u,l,g)}),p={vs:u.flat(1)},f&&(p.barycenter=c/f,p.weight=f),p);if(m&&E){k.vs=[m,k.vs,E].flat(1);let e=t.predecessors(m);if(e&&e.length){let r=t.node(e[0]),n=t.predecessors(E),o=t.node(n[0]);Object.hasOwn(k,"barycenter")||(k.barycenter=0,k.weight=0),k.barycenter=(k.barycenter*k.weight+r.order+o.order)/(k.weight+2),k.weight+=2}}return k}(e,d,n,t);a.vs.forEach((t,r)=>e.node(t).order=r),o=a.vs,i={},o.forEach(t=>{let r=e.parent(t),o,d;for(;r;){if((o=e.parent(r))?(d=i[o],i[o]=r):(d=s,s=r),d&&d!==r)return void n.setEdge(d,r);r=o}})})})(e%2?a:h,e%4>=2,f),l=A(t);let n=function(e,t){let r=0;for(let n=1;n<t.length;++n)r+=function(e,t,r){var n;let o=(n=r.map((e,t)=>t),r.reduce((e,t,r)=>(e[t]=n[r],e),{})),i=t.flatMap(t=>{let r=e.outEdges(t);return r?r.map(t=>({pos:o[t.w],weight:e.edge(t).weight})).sort((e,t)=>e.pos-t.pos):[]}),s=1;for(;s<r.length;)s<<=1;let d=2*s-1;s-=1;let a=Array(d).fill(0),h=0;return i.forEach(e=>{let t=e.pos+s;a[t]+=e.weight;let r=0;for(;t>0;)t%2&&(r+=a[t+1]),t=t-1>>1,a[t]+=e.weight;h+=e.weight*r}),h}(e,t[n-1],t[n]);return r}(t,l);n<u?(r=0,c=Object.assign({},l),u=n):n===u&&(c=structuredClone(l))}e_(t,c)})(e,i)),o(" insertSelfEdges",()=>{var t;A(t=e).forEach(e=>{let r=0;e.forEach((e,n)=>{let o=t.node(e);o.order=n+r,(o.selfEdges||[]).forEach(e=>{F(t,"selfedge",{width:e.label.width,height:e.label.height,rank:o.rank,order:n+ ++r,e:e.e,label:e.label},"_se")}),delete o.selfEdges})})}),o(" adjustCoordinateSystem",()=>{var t;let r;("lr"===(r=null==(t=e.graph().rankdir)?void 0:t.toLowerCase())||"rl"===r)&&ep(e)}),o(" position",()=>{var t,r,n,o;let i,s,a,h,l,u,c,f,g,p,v,w,m,E,b;v=A(o=t=T(t=e)),m=(w=o.graph()).ranksep,E=w.rankalign,b=0,v.forEach(e=>{let t=e.reduce((e,t)=>{var r;let n=null!=(r=o.node(t).height)?r:0;return e>n?e:n},0);e.forEach(e=>{let r=o.node(e);"top"===E?r.y=b+r.height/2:"bottom"===E?r.y=b+t-r.height/2:r.y=b+t/2}),b+=t+m}),Object.entries((s=A(r=t),a=Object.assign((i={},s.length&&s.reduce(function(e,t){let n=0,o=0,s=e.length,d=t[t.length-1];return t.forEach((e,a)=>{let h=function(e,t){if(e.node(t).dummy){let r=e.predecessors(t);if(r)return r.find(t=>e.node(t).dummy)}}(r,e),l=h?r.node(h).order:s;(h||e===d)&&(t.slice(o,a+1).forEach(e=>{let t=r.predecessors(e);t&&t.forEach(t=>{let o=r.node(t),s=o.order;(s<n||l<s)&&!(o.dummy&&r.node(e).dummy)&&ey(i,t,e)})}),o=a+1,n=l)}),t}),i),function(e,t){let r={};function n(t,n,o,i,s){W(n,o).forEach(n=>{let o=t[n];if(void 0!==o&&e.node(o).dummy){let t=e.predecessors(o);t&&t.forEach(t=>{if(void 0===t)return;let n=e.node(t);n.dummy&&(n.order<i||n.order>s)&&ey(r,t,o)})}})}return t.length&&t.reduce(function(t,r){let o=-1,i=-1,s=0;return r.forEach((d,a)=>{if("border"===e.node(d).dummy){let t=e.predecessors(d);if(t&&t.length){let d=t[0];if(void 0===d)return;i=e.node(d).order,n(r,s,a,o,i),s=a,o=i}}n(r,s,r.length,i,t.length)}),r}),r}(r,s)),h={},["u","d"].forEach(e=>{l="u"===e?s:Object.values(s).reverse(),["l","r"].forEach(t=>{var n,o;let i,s,u;"r"===t&&(l=l.map(e=>Object.values(e).reverse()));let c=(n=l,o=t=>("u"===e?r.predecessors(t):r.successors(t))||[],i={},s={},u={},n.forEach(e=>{e.forEach((e,t)=>{i[e]=e,s[e]=e,u[e]=t})}),n.forEach(e=>{let t=-1;e.forEach(e=>{let r=o(e);if(r&&r.length){let n=r.sort((e,t)=>{let r=u[e],n=u[t];return(void 0!==r?r:0)-(void 0!==n?n:0)}),o=(n.length-1)/2;for(let r=Math.floor(o),d=Math.ceil(o);r<=d;++r){let o=n[r];if(void 0===o)continue;let d=u[o];if(void 0!==d&&s[e]===e&&t<d&&!function(e,t,r){if(t>r){let e=t;t=r,r=e}let n=e[t];return void 0!==n&&Object.hasOwn(n,r)}(a,e,o)){let r=i[o];void 0!==r&&(s[o]=e,s[e]=i[e]=r,t=d)}}}})}),{root:i,align:s}),f=function(e,t,r,n,o=!1){var i,s,a,h,l,u,c;let f,g,p,v={},w=(i=e,s=t,a=r,h=o,f=new d,p=(l=(g=i.graph()).nodesep,u=g.edgesep,c=h,(e,t,r)=>{let n=e.node(t),o=e.node(r),i,s;if(i=0+n.width/2,Object.hasOwn(n,"labelpos"))switch(n.labelpos.toLowerCase()){case"l":s=-n.width/2;break;case"r":s=n.width/2}if(s&&(i+=c?s:-s),s=void 0,i+=(n.dummy?u:l)/2,i+=(o.dummy?u:l)/2,i+=o.width/2,Object.hasOwn(o,"labelpos"))switch(o.labelpos.toLowerCase()){case"l":s=o.width/2;break;case"r":s=-o.width/2}return s&&(i+=c?s:-s),i}),s.forEach(e=>{let t;e.forEach(e=>{let r=a[e];if(void 0!==r){if(f.setNode(r),void 0!==t){let n=a[t];if(void 0!==n){let o=f.edge(n,r);f.setEdge(n,r,Math.max(p(i,e,t),o||0))}}t=e}})}),f),m=o?"borderLeft":"borderRight";function E(e,t){let r=w.nodes().slice(),n={},o=r.pop();for(;o;){if(n[o])e(o);else for(let e of(n[o]=!0,r.push(o),t(o)))r.push(e);o=r.pop()}}return E(function(e){let t=w.inEdges(e);t?v[e]=t.reduce((e,t)=>{var r;let n=null!=(r=v[t.v])?r:0,o=w.edge(t);return Math.max(e,n+(void 0!==o?o:0))},0):v[e]=0},function(e){return w.predecessors(e)||[]}),E(function(t){let r=w.outEdges(t),n=1/0;r&&(n=r.reduce((e,t)=>{let r=v[t.w],n=w.edge(t);return Math.min(e,(void 0!==r?r:0)-(void 0!==n?n:0))},1/0));let o=e.node(t);n!==1/0&&o.borderType!==m&&(v[t]=Math.max(void 0!==v[t]?v[t]:0,n))},function(e){return w.successors(e)||[]}),Object.keys(n).forEach(e=>{var t;let n=r[e];void 0!==n&&(v[e]=null!=(t=v[n])?t:0)}),v}(r,l,c.root,c.align,"r"===t);"r"===t&&(f=J(f,e=>-e)),h[e+t]=f})}),u=Object.values(h).reduce((e,t)=>{let n=-1/0,o=1/0;Object.entries(t).forEach(([e,t])=>{var i,s;let d=(i=r,s=e,i.node(s).width/2);n=Math.max(t+d,n),o=Math.min(t-d,o)});let i=n-o;return i<e[0]&&(e=[i,t]),e},[1/0,null])[1],f=z(Math.min,c=Object.values(u)),g=z(Math.max,c),["u","d"].forEach(e=>{["l","r"].forEach(t=>{let r=e+t,n=h[r];if(!n||n===u)return;let o=Object.values(n),i=f-z(Math.min,o);"l"!==t&&(i=g-z(Math.max,o)),i&&(h[r]=J(n,e=>e+i))})}),n=r.graph().align,(p=h.ul)?J(p,(e,t)=>{var r,o;if(n){let e=h[n.toLowerCase()];if(e&&void 0!==e[t])return e[t]}let i=Object.values(h).map(e=>{let r=e[t];return void 0!==r?r:0}).sort((e,t)=>e-t);return((null!=(r=i[1])?r:0)+(null!=(o=i[2])?o:0))/2}):{})).forEach(([e,r])=>t.node(e).x=r)}),o(" positionSelfEdges",()=>{var t;(t=e).nodes().forEach(e=>{let r=t.node(e);if("selfedge"===r.dummy){let n=t.node(r.e.v),o=n.x+n.width/2,i=n.y,s=r.x-o,d=n.height/2;t.setEdge(r.e,r.label),t.removeNode(e),r.label.points=[{x:o+2*s/3,y:i-d},{x:o+5*s/6,y:i-d},{x:o+s,y:i},{x:o+5*s/6,y:i+d},{x:o+2*s/3,y:i+d}],r.label.x=r.x,r.label.y=r.y}})}),o(" removeBorderNodes",()=>{var t;(t=e).nodes().forEach(e=>{if(t.children(e).length){let r=t.node(e),n=t.node(r.borderTop),o=t.node(r.borderBottom),i=t.node(r.borderLeft[r.borderLeft.length-1]),s=t.node(r.borderRight[r.borderRight.length-1]);r.width=Math.abs(s.x-i.x),r.height=Math.abs(o.y-n.y),r.x=i.x+r.width/2,r.y=n.y+r.height/2}}),t.nodes().forEach(e=>{"border"===t.node(e).dummy&&t.removeNode(e)})}),o(" normalize.undo",()=>{e.graph().dummyChains.forEach(t=>{let r=e.node(t),n=r.edgeLabel,o;for(e.setEdge(r.edgeObj,n);r.dummy;)o=e.successors(t)[0],e.removeNode(t),n.points.push({x:r.x,y:r.y}),"edge-label"===r.dummy&&(n.x=r.x,n.y=r.y,n.width=r.width,n.height=r.height),t=o,r=e.node(t)})}),o(" fixupEdgeLabelCoords",()=>{var t;(t=e).edges().forEach(e=>{let r=t.edge(e);if(Object.hasOwn(r,"x"))switch(("l"===r.labelpos||"r"===r.labelpos)&&(r.width-=r.labeloffset),r.labelpos){case"l":r.x-=r.width/2+r.labeloffset;break;case"r":r.x+=r.width/2+r.labeloffset}})}),o(" undoCoordinateSystem",()=>{var t,r,n;let o;("bt"===(o=null==(t=e.graph().rankdir)?void 0:t.toLowerCase())||"rl"===o)&&((r=e).nodes().forEach(e=>ew(r.node(e))),r.edges().forEach(e=>{var t;let n=r.edge(e);null==(t=n.points)||t.forEach(ew),Object.hasOwn(n,"y")&&ew(n)})),("lr"===o||"rl"===o)&&((n=e).nodes().forEach(e=>em(n.node(e))),n.edges().forEach(e=>{var t;let r=n.edge(e);null==(t=r.points)||t.forEach(em),Object.hasOwn(r,"x")&&em(r)}),ep(e))}),o(" translateGraph",()=>(function(e){let t=1/0,r=0,n=1/0,o=0,i=e.graph(),s=i.marginx||0,d=i.marginy||0;function a(e){let i=e.x,s=e.y,d=e.width,a=e.height;t=Math.min(t,i-d/2),r=Math.max(r,i+d/2),n=Math.min(n,s-a/2),o=Math.max(o,s+a/2)}e.nodes().forEach(t=>a(e.node(t))),e.edges().forEach(t=>{let r=e.edge(t);Object.hasOwn(r,"x")&&a(r)}),t-=s,n-=d,e.nodes().forEach(r=>{let o=e.node(r);o.x-=t,o.y-=n}),e.edges().forEach(r=>{let o=e.edge(r);o.points.forEach(e=>{e.x-=t,e.y-=n}),Object.hasOwn(o,"x")&&(o.x-=t),Object.hasOwn(o,"y")&&(o.y-=n)}),i.width=r-t+s,i.height=o-n+d})(e)),o(" assignNodeIntersects",()=>{var t;(t=e).edges().forEach(e=>{let r=t.edge(e),n=t.node(e.v),o=t.node(e.w),i,s;r.points?(i=r.points[0],s=r.points[r.points.length-1]):(r.points=[],i=o,s=n),r.points.unshift(I(n,i)),r.points.push(I(o,s))})}),o(" reversePoints",()=>{var t;(t=e).edges().forEach(e=>{let r=t.edge(e);r.reversed&&r.points.reverse()})}),o(" acyclic.undo",()=>{e.edges().forEach(t=>{let r=e.edge(t);if(r.reversed){e.removeEdge(t);let n=r.forwardName;delete r.reversed,delete r.forwardName,e.setEdge(t.w,t.v,r,n)}})}))}),r(" updateInputGraph",()=>{var t,r;return t=e,r=n,void(t.nodes().forEach(e=>{let n=t.node(e),o=r.node(e);n&&(n.x=o.x,n.y=o.y,n.order=o.order,n.rank=o.rank,r.children(e).length&&(n.width=o.width,n.height=o.height))}),t.edges().forEach(e=>{let n=t.edge(e),o=r.edge(e);n.points=o.points,Object.hasOwn(o,"x")&&(n.x=o.x,n.y=o.y)}),t.graph().width=r.graph().width,t.graph().height=r.graph().height)}),n})},debug:function(e){let t=A(e),r=new d({compound:!0,multigraph:!0}).setGraph({});return e.nodes().forEach(t=>{r.setNode(t,{label:t}),r.setParent(t,"layer"+e.node(t).rank)}),e.edges().forEach(e=>r.setEdge(e.v,e.w,{},e.name)),t.forEach((e,t)=>{r.setNode("layer"+t,{rank:"same"}),e.reduce((e,t)=>(r.setEdge(e,t,{style:"invis"}),t))}),r},util:{time:V,notime:$}}}}]);
1
+ "use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[3124],{13124:(e,t,r)=>{r.d(t,{Ay:()=>eP});var n=Object.defineProperty,o={};((e,t)=>{for(var r in t)n(e,r,{get:t[r],enumerable:!0})})(o,{Graph:()=>d,alg:()=>v,json:()=>f,version:()=>c});var i=Object.defineProperty,s=(e,t)=>{for(var r in t)i(e,r,{get:t[r],enumerable:!0})},d=class{constructor(e){this._isDirected=!0,this._isMultigraph=!1,this._isCompound=!1,this._nodes={},this._in={},this._preds={},this._out={},this._sucs={},this._edgeObjs={},this._edgeLabels={},this._nodeCount=0,this._edgeCount=0,this._defaultNodeLabelFn=()=>{},this._defaultEdgeLabelFn=()=>{},e&&(this._isDirected=!("directed"in e)||e.directed,this._isMultigraph="multigraph"in e&&e.multigraph,this._isCompound="compound"in e&&e.compound),this._isCompound&&(this._parent={},this._children={},this._children["\0"]={})}isDirected(){return this._isDirected}isMultigraph(){return this._isMultigraph}isCompound(){return this._isCompound}setGraph(e){return this._label=e,this}graph(){return this._label}setDefaultNodeLabel(e){return"function"!=typeof e?this._defaultNodeLabelFn=()=>e:this._defaultNodeLabelFn=e,this}nodeCount(){return this._nodeCount}nodes(){return Object.keys(this._nodes)}sources(){return this.nodes().filter(e=>0===Object.keys(this._in[e]).length)}sinks(){return this.nodes().filter(e=>0===Object.keys(this._out[e]).length)}setNodes(e,t){return e.forEach(e=>{void 0!==t?this.setNode(e,t):this.setNode(e)}),this}setNode(e,t){return e in this._nodes?arguments.length>1&&(this._nodes[e]=t):(this._nodes[e]=arguments.length>1?t:this._defaultNodeLabelFn(e),this._isCompound&&(this._parent[e]="\0",this._children[e]={},this._children["\0"][e]=!0),this._in[e]={},this._preds[e]={},this._out[e]={},this._sucs[e]={},++this._nodeCount),this}node(e){return this._nodes[e]}hasNode(e){return e in this._nodes}removeNode(e){if(e in this._nodes){let t=e=>this.removeEdge(this._edgeObjs[e]);delete this._nodes[e],this._isCompound&&(this._removeFromParentsChildList(e),delete this._parent[e],this.children(e).forEach(e=>{this.setParent(e)}),delete this._children[e]),Object.keys(this._in[e]).forEach(t),delete this._in[e],delete this._preds[e],Object.keys(this._out[e]).forEach(t),delete this._out[e],delete this._sucs[e],--this._nodeCount}return this}setParent(e,t){if(!this._isCompound)throw Error("Cannot set parent in a non-compound graph");if(void 0===t)t="\0";else{t+="";for(let r=t;void 0!==r;r=this.parent(r))if(r===e)throw Error("Setting "+t+" as parent of "+e+" would create a cycle");this.setNode(t)}return this.setNode(e),this._removeFromParentsChildList(e),this._parent[e]=t,this._children[t][e]=!0,this}parent(e){if(this._isCompound){let t=this._parent[e];if("\0"!==t)return t}}children(e="\0"){if(this._isCompound){let t=this._children[e];if(t)return Object.keys(t)}else{if("\0"===e)return this.nodes();this.hasNode(e)}return[]}predecessors(e){let t=this._preds[e];if(t)return Object.keys(t)}successors(e){let t=this._sucs[e];if(t)return Object.keys(t)}neighbors(e){let t=this.predecessors(e);if(t){let r=new Set(t);for(let t of this.successors(e))r.add(t);return Array.from(r.values())}}isLeaf(e){return 0===(this.isDirected()?this.successors(e):this.neighbors(e)).length}filterNodes(e){let t=new this.constructor({directed:this._isDirected,multigraph:this._isMultigraph,compound:this._isCompound});t.setGraph(this.graph()),Object.entries(this._nodes).forEach(([r,n])=>{e(r)&&t.setNode(r,n)}),Object.values(this._edgeObjs).forEach(e=>{t.hasNode(e.v)&&t.hasNode(e.w)&&t.setEdge(e,this.edge(e))});let r={},n=e=>{let o=this.parent(e);return!o||t.hasNode(o)?(r[e]=null!=o?o:void 0,null!=o?o:void 0):o in r?r[o]:n(o)};return this._isCompound&&t.nodes().forEach(e=>t.setParent(e,n(e))),t}setDefaultEdgeLabel(e){return"function"!=typeof e?this._defaultEdgeLabelFn=()=>e:this._defaultEdgeLabelFn=e,this}edgeCount(){return this._edgeCount}edges(){return Object.values(this._edgeObjs)}setPath(e,t){return e.reduce((e,r)=>(void 0!==t?this.setEdge(e,r,t):this.setEdge(e,r),r)),this}setEdge(e,t,r,n){let o,i,s,d,h=!1;"object"==typeof e&&null!==e&&"v"in e?(o=e.v,i=e.w,s=e.name,2==arguments.length&&(d=t,h=!0)):(o=e,i=t,s=n,arguments.length>2&&(d=r,h=!0)),o=""+o,i=""+i,void 0!==s&&(s=""+s);let u=l(this._isDirected,o,i,s);if(u in this._edgeLabels)return h&&(this._edgeLabels[u]=d),this;if(void 0!==s&&!this._isMultigraph)throw Error("Cannot set a named edge when isMultigraph = false");this.setNode(o),this.setNode(i),this._edgeLabels[u]=h?d:this._defaultEdgeLabelFn(o,i,s);let c=function(e,t,r,n){let o=""+t,i=""+r;if(!e&&o>i){let e=o;o=i,i=e}let s={v:o,w:i};return n&&(s.name=n),s}(this._isDirected,o,i,s);return o=c.v,i=c.w,Object.freeze(c),this._edgeObjs[u]=c,a(this._preds[i],o),a(this._sucs[o],i),this._in[i][u]=c,this._out[o][u]=c,this._edgeCount++,this}edge(e,t,r){let n=1==arguments.length?u(this._isDirected,e):l(this._isDirected,e,t,r);return this._edgeLabels[n]}edgeAsObj(e,t,r){let n=1==arguments.length?this.edge(e):this.edge(e,t,r);return"object"!=typeof n?{label:n}:n}hasEdge(e,t,r){return(1==arguments.length?u(this._isDirected,e):l(this._isDirected,e,t,r))in this._edgeLabels}removeEdge(e,t,r){let n=1==arguments.length?u(this._isDirected,e):l(this._isDirected,e,t,r),o=this._edgeObjs[n];if(o){let e=o.v,t=o.w;delete this._edgeLabels[n],delete this._edgeObjs[n],h(this._preds[t],e),h(this._sucs[e],t),delete this._in[t][n],delete this._out[e][n],this._edgeCount--}return this}inEdges(e,t){return this.isDirected()?this.filterEdges(this._in[e],e,t):this.nodeEdges(e,t)}outEdges(e,t){return this.isDirected()?this.filterEdges(this._out[e],e,t):this.nodeEdges(e,t)}nodeEdges(e,t){if(e in this._nodes)return this.filterEdges({...this._in[e],...this._out[e]},e,t)}_removeFromParentsChildList(e){delete this._children[this._parent[e]][e]}filterEdges(e,t,r){if(!e)return;let n=Object.values(e);return r?n.filter(e=>e.v===t&&e.w===r||e.v===r&&e.w===t):n}};function a(e,t){e[t]?e[t]++:e[t]=1}function h(e,t){void 0===e[t]||--e[t]||delete e[t]}function l(e,t,r,n){let o=""+t,i=""+r;if(!e&&o>i){let e=o;o=i,i=e}return o+"\x01"+i+"\x01"+(void 0===n?"\0":n)}function u(e,t){return l(e,t.v,t.w,t.name)}var c="4.0.1",f={};function g(e){var t,r;let n={options:{directed:e.isDirected(),multigraph:e.isMultigraph(),compound:e.isCompound()},nodes:(t=e).nodes().map(e=>{let r=t.node(e),n=t.parent(e),o={v:e};return void 0!==r&&(o.value=r),void 0!==n&&(o.parent=n),o}),edges:(r=e).edges().map(e=>{let t=r.edge(e),n={v:e.v,w:e.w};return void 0!==e.name&&(n.name=e.name),void 0!==t&&(n.value=t),n})},o=e.graph();return void 0!==o&&(n.value=structuredClone(o)),n}function p(e){let t=new d(e.options);return void 0!==e.value&&t.setGraph(e.value),e.nodes.forEach(e=>{t.setNode(e.v,e.value),e.parent&&t.setParent(e.v,e.parent)}),e.edges.forEach(e=>{t.setEdge({v:e.v,w:e.w,name:e.name},e.value)}),t}s(f,{read:()=>p,write:()=>g});var v={};s(v,{CycleException:()=>C,bellmanFord:()=>m,components:()=>E,dijkstra:()=>y,dijkstraAll:()=>k,findCycles:()=>O,floydWarshall:()=>N,isAcyclic:()=>L,postorder:()=>D,preorder:()=>P,prim:()=>S,shortestPaths:()=>G,tarjan:()=>x,topsort:()=>M});var w=()=>1;function m(e,t,r,n){return function(e,t,r,n){let o={},i,s=0,d=e.nodes(),a=function(e){let t=r(e);o[e.v].distance+t<o[e.w].distance&&(o[e.w]={distance:o[e.v].distance+t,predecessor:e.v},i=!0)},h=function(){d.forEach(function(e){n(e).forEach(function(t){let r=t.v===e?t.v:t.w,n=r===t.v?t.w:t.v;a({v:r,w:n})})})};d.forEach(function(e){o[e]={distance:e===t?0:1/0,predecessor:""}});let l=d.length;for(let e=1;e<l&&(i=!1,s++,h(),i);e++);if(s===l-1&&(i=!1,h(),i))throw Error("The graph contains a negative weight cycle");return o}(e,String(t),r||w,n||function(t){return e.outEdges(t)})}function E(e){let t={},r=[],n;return e.nodes().forEach(function(o){n=[],function r(o){o in t||(t[o]=!0,n.push(o),e.successors(o).forEach(r),e.predecessors(o).forEach(r))}(o),n.length&&r.push(n)}),r}var b=class{constructor(){this._arr=[],this._keyIndices={}}size(){return this._arr.length}keys(){return this._arr.map(e=>e.key)}has(e){return e in this._keyIndices}priority(e){let t=this._keyIndices[e];if(void 0!==t)return this._arr[t].priority}min(){if(0===this.size())throw Error("Queue underflow");return this._arr[0].key}add(e,t){let r=this._keyIndices,n=String(e);if(!(n in r)){let e=this._arr,o=e.length;return r[n]=o,e.push({key:n,priority:t}),this._decrease(o),!0}return!1}removeMin(){this._swap(0,this._arr.length-1);let e=this._arr.pop();return delete this._keyIndices[e.key],this._heapify(0),e.key}decrease(e,t){let r=this._keyIndices[e];if(void 0===r)throw Error(`Key not found: ${e}`);let n=this._arr[r].priority;if(t>n)throw Error(`New priority is greater than current priority. Key: ${e} Old: ${n} New: ${t}`);this._arr[r].priority=t,this._decrease(r)}_heapify(e){let t=this._arr,r=2*e,n=r+1,o=e;r<t.length&&(o=t[r].priority<t[o].priority?r:o,n<t.length&&(o=t[n].priority<t[o].priority?n:o),o!==e&&(this._swap(e,o),this._heapify(o)))}_decrease(e){let t=this._arr,r=t[e].priority,n;for(;0!==e&&!(t[n=e>>1].priority<r);)this._swap(e,n),e=n}_swap(e,t){let r=this._arr,n=this._keyIndices,o=r[e],i=r[t];r[e]=i,r[t]=o,n[i.key]=e,n[o.key]=t}},_=()=>1;function y(e,t,r,n){return function(e,t,r,n){let o={},i=new b,s,d,a=function(e){let t=e.v!==s?e.v:e.w,n=o[t],a=r(e),h=d.distance+a;if(a<0)throw Error("dijkstra does not allow negative edge weights. Bad edge: "+e+" Weight: "+a);h<n.distance&&(n.distance=h,n.predecessor=s,i.decrease(t,h))};for(e.nodes().forEach(function(e){let r=e===t?0:1/0;o[e]={distance:r,predecessor:""},i.add(e,r)});i.size()>0&&(d=o[s=i.removeMin()]).distance!==1/0;)n(s).forEach(a);return o}(e,String(t),r||_,n||function(t){return e.outEdges(t)})}function k(e,t,r){return e.nodes().reduce(function(n,o){return n[o]=y(e,o,t,r),n},{})}function x(e){let t=0,r=[],n={},o=[];return e.nodes().forEach(function(i){i in n||function i(s){let d=n[s]={onStack:!0,lowlink:t,index:t++};if(r.push(s),e.successors(s).forEach(function(e){e in n?n[e].onStack&&(d.lowlink=Math.min(d.lowlink,n[e].index)):(i(e),d.lowlink=Math.min(d.lowlink,n[e].lowlink))}),d.lowlink===d.index){let e=[],t;do n[t=r.pop()].onStack=!1,e.push(t);while(s!==t);o.push(e)}}(i)}),o}function O(e){return x(e).filter(function(t){return t.length>1||1===t.length&&e.hasEdge(t[0],t[0])})}var j=()=>1;function N(e,t,r){var n,o,i;let s,d;return n=e,o=t||j,i=r||function(t){return e.outEdges(t)},s={},(d=n.nodes()).forEach(function(e){s[e]={},s[e][e]={distance:0,predecessor:""},d.forEach(function(t){e!==t&&(s[e][t]={distance:1/0,predecessor:""})}),i(e).forEach(function(t){let r=t.v===e?t.w:t.v,n=o(t);s[e][r]={distance:n,predecessor:e}})}),d.forEach(function(e){let t=s[e];d.forEach(function(r){let n=s[r];d.forEach(function(r){let o=n[e],i=t[r],s=n[r],d=o.distance+i.distance;d<s.distance&&(s.distance=d,s.predecessor=i.predecessor)})})}),s}var C=class extends Error{constructor(...e){super(...e)}};function M(e){let t={},r={},n=[];if(e.sinks().forEach(function o(i){if(i in r)throw new C;i in t||(r[i]=!0,t[i]=!0,e.predecessors(i).forEach(o),delete r[i],n.push(i))}),Object.keys(t).length!==e.nodeCount())throw new C;return n}function L(e){try{M(e)}catch(e){if(e instanceof C)return!1;throw e}return!0}function R(e,t,r){var n,o,i;let s,d;return n=t,o=function(e,t){return e.push(t),e},i=[],Array.isArray(n)||(n=[n]),s=t=>{var r;return null!=(r=e.isDirected()?e.successors(t):e.neighbors(t))?r:[]},d={},n.forEach(function(t){if(!e.hasNode(t))throw Error("Graph does not have node: "+t);i=function e(t,r,n,o,i,s,d){return r in o||(o[r]=!0,n||(d=s(d,r)),i(r).forEach(function(r){d=e(t,r,n,o,i,s,d)}),n&&(d=s(d,r))),d}(e,t,"post"===r,d,s,o,i)}),i}function D(e,t){return R(e,t,"post")}function P(e,t){return R(e,t,"pre")}function S(e,t){let r=new d,n={},o=new b,i;function s(e){let r=e.v===i?e.w:e.v,s=o.priority(r);if(void 0!==s){let d=t(e);d<s&&(n[r]=i,o.decrease(r,d))}}if(0===e.nodeCount())return r;e.nodes().forEach(function(e){o.add(e,1/0),r.setNode(e)}),o.decrease(e.nodes()[0],0);let a=!1;for(;o.size()>0;){if((i=o.removeMin())in n)r.setEdge(i,n[i]);else{if(a)throw Error("Input graph is not connected: "+e);a=!0}e.nodeEdges(i).forEach(s)}return r}function G(e,t,r,n){return function(e,t,r,n){if(void 0===r)return y(e,t,r,n);let o=!1,i=e.nodes();for(let s=0;s<i.length;s++){let d=n(i[s]);for(let e=0;e<d.length;e++){let t=d[e],n=t.v===i[s]?t.v:t.w,a=n===t.v?t.w:t.v;0>r({v:n,w:a})&&(o=!0)}if(o)return m(e,t,r,n)}return y(e,t,r,n)}(e,t,r,null!=n?n:t=>{let r=e.outEdges(t);return null!=r?r:[]})}function F(e,t,r,n){let o=n;for(;e.hasNode(o);)o=n+""+ ++K;return r.dummy=t,e.setNode(o,r),o}function T(e){let t=new d({multigraph:e.isMultigraph()}).setGraph(e.graph());return e.nodes().forEach(r=>{e.children(r).length||t.setNode(r,e.node(r))}),e.edges().forEach(r=>{t.setEdge(r,e.edge(r))}),t}function I(e,t){let r,n,o=e.x,i=e.y,s=t.x-o,d=t.y-i,a=e.width/2,h=e.height/2;if(!s&&!d)throw Error("Not possible to find intersection inside of the rectangle");return Math.abs(d)*a>Math.abs(s)*h?(d<0&&(h=-h),r=h*s/d,n=h):(s<0&&(a=-a),r=a,n=a*d/s),{x:o+r,y:i+n}}function A(e){let t=W(q(e)+1).map(()=>[]);return e.nodes().forEach(r=>{let n=e.node(r),o=n.rank;void 0!==o&&(t[o]||(t[o]=[]),t[o][n.order]=r)}),t}function B(e,t,r,n){let o={width:0,height:0};return arguments.length>=4&&(o.rank=r,o.order=n),F(e,"border",o,t)}function z(e,t){return t.length>65535?e(...(function(e,t=65535){let r=[];for(let n=0;n<e.length;n+=t){let o=e.slice(n,n+t);r.push(o)}return r})(t).map(t=>e(...t))):e(...t)}function q(e){return z(Math.max,e.nodes().map(t=>{let r=e.node(t).rank;return void 0===r?5e-324:r}))}function V(e,t){let r=Date.now();try{return t()}finally{console.log(e+" time: "+(Date.now()-r)+"ms")}}function $(e,t){return t()}var K=0;function W(e,t,r=1){null==t&&(t=e,e=0);let n=e=>e<t;r<0&&(n=e=>t<e);let o=[];for(let t=e;n(t);t+=r)o.push(t);return o}function H(e,t){let r={};for(let n of t)void 0!==e[n]&&(r[n]=e[n]);return r}function J(e,t){let r;return r="string"==typeof t?e=>e[t]:t,Object.entries(e).reduce((e,[t,n])=>(e[t]=r(n,t),e),{})}var Q=class{constructor(){((e,t,r)=>((e,t,r)=>t in e?n(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r)(e,"symbol"!=typeof t?t+"":t,r))(this,"_sentinel");let e={};e._next=e._prev=e,this._sentinel=e}dequeue(){let e=this._sentinel,t=e._prev;if(t!==e)return U(t),t}enqueue(e){let t=this._sentinel;e._prev&&e._next&&U(e),e._next=t._next,t._next._prev=e,t._next=e,e._prev=t}toString(){let e=[],t=this._sentinel,r=t._prev;for(;r!==t;)e.push(JSON.stringify(r,X)),r=r._prev;return"["+e.join(", ")+"]"}};function U(e){e._prev._next=e._next,e._next._prev=e._prev,delete e._next,delete e._prev}function X(e,t){if("_next"!==e&&"_prev"!==e)return t}var Y=()=>1;function Z(e,t,r,n,o){let i=[],s=o?i:void 0;return(e.inEdges(n.v)||[]).forEach(n=>{let s=e.edge(n),d=e.node(n.v);o&&i.push({v:n.v,w:n.w}),d.out-=s,ee(t,r,d)}),(e.outEdges(n.v)||[]).forEach(n=>{let o=e.edge(n),i=n.w,s=e.node(i);s.in-=o,ee(t,r,s)}),e.removeNode(n.v),s}function ee(e,t,r){var n,o,i;r.out?r.in?null==(i=e[r.out-r.in+t])||i.enqueue(r):null==(o=e[e.length-1])||o.enqueue(r):null==(n=e[0])||n.enqueue(r)}function et(e){let t={};e.sources().forEach(function r(n){let o=e.node(n);if(Object.hasOwn(t,n))return o.rank;t[n]=!0;let i=e.outEdges(n),s=z(Math.min,i?i.map(t=>null==t?1/0:r(t.w)-e.edge(t).minlen):[]);return s===1/0&&(s=0),o.rank=s})}function er(e,t){return e.node(t.w).rank-e.node(t.v).rank-e.edge(t).minlen}var en=function(e){var t,r,n,o;let i,s,a=new d({directed:!1}),h=e.nodes();if(0===h.length)throw Error("Graph must have at least one node");let l=h[0],u=e.nodeCount();for(a.setNode(l,{});t=a,r=e,t.nodes().forEach(function e(n){let o=r.nodeEdges(n);o&&o.forEach(o=>{let i=o.v,s=n===i?o.w:i;t.hasNode(s)||er(r,o)||(t.setNode(s,{}),t.setEdge(n,s,{}),e(s))})}),t.nodeCount()<u&&(n=a,i=(o=e).edges().reduce((e,t)=>{let r=1/0;return n.hasNode(t.v)!==n.hasNode(t.w)&&(r=er(o,t)),r<e[0]?[r,t]:e},[1/0,null])[1]);)s=a.hasNode(i.v)?er(e,i):-er(e,i),function(e,t,r){e.nodes().forEach(e=>t.node(e).rank+=r)}(a,e,s);return a},{preorder:eo,postorder:ei}=v;function es(e){var t;let r,n,o;t=e,o=new d().setGraph(t.graph()),t.nodes().forEach(e=>o.setNode(e,t.node(e))),t.edges().forEach(e=>{let r=o.edge(e.v,e.w)||{weight:0,minlen:1},n=t.edge(e);o.setEdge(e.v,e.w,{weight:r.weight+n.weight,minlen:Math.max(r.minlen,n.minlen)})}),et(e=o);let i=en(e);for(eh(i),ed(i,e);r=el(i);)n=eu(i,e,r),ec(i,e,r,n)}function ed(e,t){let r=ei(e,e.nodes());(r=r.slice(0,r.length-1)).forEach(r=>{var n,o,i;let s;return n=e,o=t,i=r,s=n.node(i).parent,void(n.edge(i,s).cutvalue=ea(n,o,i))})}function ea(e,t,r){let n=e.node(r).parent,o=!0,i=t.edge(r,n),s=0;i||(o=!1,i=t.edge(n,r)),s=i.weight;let d=t.nodeEdges(r);return d&&d.forEach(i=>{let d=i.v===r,a=d?i.w:i.v;if(a!==n){var h,l,u;let n=d===o,c=t.edge(i).weight;if(s+=n?c:-c,h=e,l=r,u=a,h.hasEdge(l,u)){let t=e.edge(r,a).cutvalue;s+=n?-t:t}}}),s}function eh(e,t){arguments.length<2&&(t=e.nodes()[0]),function e(t,r,n,o,i){let s=n,d=t.node(o);r[o]=!0;let a=t.neighbors(o);return a&&a.forEach(i=>{Object.hasOwn(r,i)||(n=e(t,r,n,i,o))}),d.low=s,d.lim=n++,i?d.parent=i:delete d.parent,n}(e,{},1,t)}function el(e){return e.edges().find(t=>e.edge(t).cutvalue<0)}function eu(e,t,r){let n=r.v,o=r.w;t.hasEdge(n,o)||(n=r.w,o=r.v);let i=e.node(n),s=e.node(o),d=i,a=!1;return i.lim>s.lim&&(d=s,a=!0),t.edges().filter(t=>a===ef(e,e.node(t.v),d)&&a!==ef(e,e.node(t.w),d)).reduce((e,r)=>er(t,r)<er(t,e)?r:e)}function ec(e,t,r,n){let o=r.v,i=r.w;e.removeEdge(o,i),e.setEdge(n.v,n.w,{}),eh(e),ed(e,t),function(e,t){let r=e.nodes().find(t=>!e.node(t).parent);if(!r)return;let n=eo(e,[r]);(n=n.slice(1)).forEach(r=>{let n=e.node(r).parent,o=t.edge(r,n),i=!1;o||(o=t.edge(n,r),i=!0),t.node(r).rank=t.node(n).rank+(i?o.minlen:-o.minlen)})}(e,t)}function ef(e,t,r){return r.low<=t.lim&&t.lim<=r.lim}es.initLowLimValues=eh,es.initCutValues=ed,es.calcCutValue=ea,es.leaveEdge=el,es.enterEdge=eu,es.exchangeEdges=ec;function eg(e,t,r,n,o,i){let s=o[t][i-1],d=F(e,"border",{width:0,height:0,rank:i,borderType:t},r);o[t][i]=d,e.setParent(d,n),s&&e.setEdge(s,d,{weight:1})}function ep(e){e.nodes().forEach(t=>ev(e.node(t))),e.edges().forEach(t=>ev(e.edge(t)))}function ev(e){let t=e.width;e.width=e.height,e.height=t}function ew(e){e.y=-e.y}function em(e){let t=e.x;e.x=e.y,e.y=t}function eE(e,t,r){let n;for(;t.length&&(n=t[t.length-1]).i<=r;)t.pop(),e.push(n.vs),r++;return r}function eb(e,t,r){let n=new Map,o=(e,t)=>{n.has(e)||n.set(e,[]),n.get(e).push(t)};for(let t of e.nodes()){let r=e.node(t);if("number"==typeof r.rank&&o(r.rank,t),"number"==typeof r.minRank&&"number"==typeof r.maxRank)for(let e=r.minRank;e<=r.maxRank;e++)e!==r.rank&&o(e,t)}return t.map(function(t){var o;let i,s;return o=n.get(t)||[],i=function(e){let t;for(;e.hasNode(t="_root"+ ++K););return t}(e),s=new d({compound:!0}).setGraph({root:i}).setDefaultNodeLabel(t=>e.node(t)),o.forEach(n=>{let o=e.node(n),d=e.parent(n);if(o.rank===t||o.minRank<=t&&t<=o.maxRank){s.setNode(n),s.setParent(n,d||i);let a=e[r](n);a&&a.forEach(t=>{let r=t.v===n?t.w:t.v,o=s.edge(r,n),i=void 0!==o?o.weight:0;s.setEdge(r,n,{weight:e.edge(t).weight+i})}),Object.hasOwn(o,"minRank")&&s.setNode(n,{borderLeft:o.borderLeft[t],borderRight:o.borderRight[t]})}}),s})}function e_(e,t){Object.values(t).forEach(t=>t.forEach((t,r)=>e.node(t).order=r))}function ey(e,t,r){if(t>r){let e=t;t=r,r=e}let n=e[t];n||(e[t]=n={}),n[r]=!0}var ek=["nodesep","edgesep","ranksep","marginx","marginy"],ex={ranksep:50,edgesep:20,nodesep:50,rankdir:"TB",rankalign:"center"},eO=["acyclicer","ranker","rankdir","align","rankalign"],ej=["width","height","rank"],eN={width:0,height:0},eC=["minlen","weight","width","height","labeloffset"],eM={minlen:1,weight:1,width:0,height:0,labeloffset:10,labelpos:"r"},eL=["labelpos"];function eR(e,t){return J(H(e,t),Number)}function eD(e){let t={};return e&&Object.entries(e).forEach(([e,r])=>{"string"==typeof e&&(e=e.toLowerCase()),t[e]=r}),t}var eP={graphlib:o,version:"3.0.0",layout:function(e,t={}){let r=t.debugTiming?V:$;return r("layout",()=>{let n=r(" buildLayoutGraph",()=>{var t;let r,n;return t=e,r=new d({multigraph:!0,compound:!0}),n=eD(t.graph()),r.setGraph(Object.assign({},ex,eR(n,ek),H(n,eO))),t.nodes().forEach(e=>{let n=eR(eD(t.node(e)),ej);Object.keys(eN).forEach(e=>{void 0===n[e]&&(n[e]=eN[e])}),r.setNode(e,n);let o=t.parent(e);void 0!==o&&r.setParent(e,o)}),t.edges().forEach(e=>{let n=eD(t.edge(e));r.setEdge(e,Object.assign({},eM,eR(n,eC),H(n,eL)))}),r});return r(" runLayout",()=>{var e,o,i;return e=n,o=r,i=t,void(o(" makeSpaceForEdgeLabels",()=>{var t;let r;return r=(t=e).graph(),void(r.ranksep/=2,t.edges().forEach(e=>{let n=t.edge(e);n.minlen*=2,"c"!==n.labelpos.toLowerCase()&&("TB"===r.rankdir||"BT"===r.rankdir?n.width+=n.labeloffset:n.height+=n.labeloffset)}))}),o(" removeSelfEdges",()=>{var t;(t=e).edges().forEach(e=>{if(e.v===e.w){let r=t.node(e.v);r.selfEdges||(r.selfEdges=[]),r.selfEdges.push({e:e,label:t.edge(e)}),t.removeEdge(e)}})}),o(" acyclic",()=>{var t,r;let n,o,i;("greedy"===e.graph().acyclicer?function(e,t){var r,n;let o,i,s,a,h;if(1>=e.nodeCount())return[];let l=(r=e,n=t||Y,o=new d,i=0,s=0,r.nodes().forEach(e=>{o.setNode(e,{v:e,in:0,out:0})}),r.edges().forEach(e=>{let t=o.edge(e.v,e.w)||0,r=n(e);o.setEdge(e.v,e.w,t+r);let d=o.node(e.v),a=o.node(e.w);s=Math.max(s,d.out+=r),i=Math.max(i,a.in+=r)}),a=(function(e){let t=[];for(let r=0;r<e;r++)t.push(r);return t})(s+i+3).map(()=>new Q),h=i+1,o.nodes().forEach(e=>{ee(a,h,o.node(e))}),{graph:o,buckets:a,zeroIdx:h});return(function(e,t,r){var n;let o=[],i=t[t.length-1],s=t[0],d;for(;e.nodeCount();){for(;d=s.dequeue();)Z(e,t,r,d);for(;d=i.dequeue();)Z(e,t,r,d);if(e.nodeCount()){for(let i=t.length-2;i>0;--i)if(d=null==(n=t[i])?void 0:n.dequeue()){o=o.concat(Z(e,t,r,d,!0)||[]);break}}}return o})(l.graph,l.buckets,l.zeroIdx).flatMap(t=>e.outEdges(t.v,t.w)||[])}(e,(t=e,e=>t.edge(e).weight)):(n=[],o={},i={},(r=e).nodes().forEach(function e(t){Object.hasOwn(i,t)||(i[t]=!0,o[t]=!0,r.outEdges(t).forEach(t=>{Object.hasOwn(o,t.w)?n.push(t):e(t.w)}),delete o[t])}),n)).forEach(t=>{let r=e.edge(t);e.removeEdge(t),r.forwardName=t.name,r.reversed=!0,e.setEdge(t.w,t.v,r,"rev"+ ++K)})}),o(" nestingGraph.run",()=>{var t,r;let n,o,i,s,d,a;return n=F(e,"root",{},"_root"),s=2*(i=z(Math.max,Object.values((a={},(t=e).children("\0").forEach(e=>(function e(r,n){let o=t.children(r);o&&o.length&&o.forEach(t=>e(t,n+1)),a[r]=n})(e,1)),o=a)))-1)+1,e.graph().nestingRoot=n,e.edges().forEach(t=>e.edge(t).minlen*=s),d=(r=e).edges().reduce((e,t)=>e+r.edge(t).weight,0)+1,void(e.children("\0").forEach(t=>(function e(t,r,n,o,i,s,d){var a;let h=t.children(d);if(!h.length){d!==r&&t.setEdge(r,d,{weight:0,minlen:n});return}let l=B(t,"_bt"),u=B(t,"_bb"),c=t.node(d);t.setParent(l,d),c.borderTop=l,t.setParent(u,d),c.borderBottom=u,h.forEach(a=>{var h;e(t,r,n,o,i,s,a);let c=t.node(a),f=c.borderTop?c.borderTop:a,g=c.borderBottom?c.borderBottom:a,p=c.borderTop?o:2*o,v=f!==g?1:i-(null!=(h=s[d])?h:0)+1;t.setEdge(l,f,{weight:p,minlen:v,nestingEdge:!0}),t.setEdge(g,u,{weight:p,minlen:v,nestingEdge:!0})}),t.parent(d)||t.setEdge(r,l,{weight:0,minlen:i+(null!=(a=s[d])?a:0)})})(e,n,s,d,i,o,t)),e.graph().nodeRankFactor=s)}),o(" rank",()=>(function(e){let t=e.graph().ranker;if("function"==typeof t)return t(e);switch(t){case"network-simplex":default:es(e);break;case"tight-tree":var r;et(r=e),en(r);break;case"longest-path":et(e);case"none":}})(T(e))),o(" injectEdgeLabelProxies",()=>{var t;(t=e).edges().forEach(e=>{let r=t.edge(e);if(r.width&&r.height){let r=t.node(e.v),n={rank:(t.node(e.w).rank-r.rank)/2+r.rank,e:e};F(t,"edge-proxy",n,"_ep")}})}),o(" removeEmptyRanks",()=>{let t,r,n,o;return t=z(Math.min,e.nodes().map(t=>e.node(t).rank).filter(e=>void 0!==e)),r=[],e.nodes().forEach(n=>{let o=e.node(n).rank-t;r[o]||(r[o]=[]),r[o].push(n)}),n=0,o=e.graph().nodeRankFactor,void Array.from(r).forEach((t,r)=>{void 0===t&&r%o!=0?--n:void 0!==t&&n&&t.forEach(t=>e.node(t).rank+=n)})}),o(" nestingGraph.cleanup",()=>{let t;return t=e.graph(),void(e.removeNode(t.nestingRoot),delete t.nestingRoot,e.edges().forEach(t=>{e.edge(t).nestingEdge&&e.removeEdge(t)}))}),o(" normalizeRanks",()=>{let t;return t=z(Math.min,e.nodes().map(t=>{let r=e.node(t).rank;return void 0===r?Number.MAX_VALUE:r})),void e.nodes().forEach(r=>{let n=e.node(r);Object.hasOwn(n,"rank")&&(n.rank-=t)})}),o(" assignRankMinMax",()=>{var t;let r;return r=0,void((t=e).nodes().forEach(e=>{let n=t.node(e);n.borderTop&&(n.minRank=t.node(n.borderTop).rank,n.maxRank=t.node(n.borderBottom).rank,r=Math.max(r,n.maxRank))}),t.graph().maxRank=r)}),o(" removeEdgeLabelProxies",()=>{var t;(t=e).nodes().forEach(e=>{let r=t.node(e);"edge-proxy"===r.dummy&&(t.edge(r.e).labelRank=r.rank,t.removeNode(e))})}),o(" normalize.run",()=>{e.graph().dummyChains=[],e.edges().forEach(t=>(function(e,t){let r,n,o,i=t.v,s=e.node(i).rank,d=t.w,a=e.node(d).rank,h=t.name,l=e.edge(t),u=l.labelRank;if(a!==s+1){for(e.removeEdge(t),o=0,++s;s<a;++o,++s)l.points=[],r=F(e,"edge",n={width:0,height:0,edgeLabel:l,edgeObj:t,rank:s},"_d"),s===u&&(n.width=l.width,n.height=l.height,n.dummy="edge-label",n.labelpos=l.labelpos),e.setEdge(i,r,{weight:l.weight},h),0===o&&e.graph().dummyChains.push(r),i=r;e.setEdge(i,d,{weight:l.weight},h)}})(e,t))}),o(" parentDummyChains",()=>{var t,r;let n,o,i;return i=(n={},o=0,(r=t=e).children("\0").forEach(function e(t){let i=o;r.children(t).forEach(e),n[t]={low:i,lim:o++}}),n),void t.graph().dummyChains.forEach(e=>{let r=t.node(e),n=r.edgeObj,o=function(e,t,r,n){let o=[],i=[],s=Math.min(t[r].low,t[n].low),d=Math.max(t[r].lim,t[n].lim),a;a=r;do o.push(a=e.parent(a));while(a&&(t[a].low>s||d>t[a].lim));let h=a,l=n;for(;(l=e.parent(l))!==h;)i.push(l);return{path:o.concat(i.reverse()),lca:h}}(t,i,n.v,n.w),s=o.path,d=o.lca,a=0,h=s[0],l=!0;for(;e!==n.w;){if(r=t.node(e),l){for(;(h=s[a])!==d&&t.node(h).maxRank<r.rank;)a++;h===d&&(l=!1)}if(!l){for(;a<s.length-1&&t.node(s[a+1]).minRank<=r.rank;)a++;h=s[a]}void 0!==h&&t.setParent(e,h),e=t.successors(e)[0]}})}),o(" addBorderSegments",()=>{var t;(t=e).children("\0").forEach(function e(r){let n=t.children(r),o=t.node(r);if(n.length&&n.forEach(e),Object.hasOwn(o,"minRank")){o.borderLeft=[],o.borderRight=[];for(let e=o.minRank,n=o.maxRank+1;e<n;++e)eg(t,"borderLeft","_bl",r,o,e),eg(t,"borderRight","_br",r,o,e)}})}),o(" order",()=>(function e(t,r={}){let n,o,i;if("function"==typeof r.customOrder)return void r.customOrder(t,e);let s=q(t),a=eb(t,W(1,s+1),"inEdges"),h=eb(t,W(s-1,-1,-1),"outEdges"),l=(n={},i=W(z(Math.max,(o=t.nodes().filter(e=>!t.children(e).length)).map(e=>t.node(e).rank))+1).map(()=>[]),o.sort((e,r)=>t.node(e).rank-t.node(r).rank).forEach(function e(r){if(n[r])return;n[r]=!0,i[t.node(r).rank].push(r);let o=t.successors(r);o&&o.forEach(e)}),i);if(e_(t,l),r.disableOptimalOrderHeuristic)return;let u=1/0,c,f=r.constraints||[];for(let e=0,r=0;r<4;++e,++r){(function(e,t,r){let n=new d;e.forEach(function(e){var o;let i,s;r.forEach(e=>n.setEdge(e.left,e.right));let d=e.graph().root,a=function e(t,r,n,o){var i;let s,d,a,h,l,u,c,f,g,p,v=t.children(r),w=t.node(r),m=w?w.borderLeft:void 0,E=w?w.borderRight:void 0,b={};m&&(v=v.filter(e=>e!==m&&e!==E));let _=function(e,t=[]){return t.map(t=>{let r=e.inEdges(t);if(!r||!r.length)return{v:t};{let n=r.reduce((t,r)=>{let n=e.edge(r),o=e.node(r.v);return{sum:t.sum+n.weight*o.order,weight:t.weight+n.weight}},{sum:0,weight:0});return{v:t,barycenter:n.sum/n.weight,weight:n.weight}}})}(t,v);_.forEach(r=>{if(t.children(r.v).length){var i,s;let d=e(t,r.v,n,o);b[r.v]=d,Object.hasOwn(d,"barycenter")&&(i=r,s=d,void 0!==i.barycenter?(i.barycenter=(i.barycenter*i.weight+s.barycenter*s.weight)/(i.weight+s.weight),i.weight+=s.weight):(i.barycenter=s.barycenter,i.weight=s.weight))}});let y=(s={},_.forEach((e,t)=>{let r={indegree:0,in:[],out:[],vs:[e.v],i:t};void 0!==e.barycenter&&(r.barycenter=e.barycenter,r.weight=e.weight),s[e.v]=r}),n.edges().forEach(e=>{let t=s[e.v],r=s[e.w];void 0!==t&&void 0!==r&&(r.indegree++,t.out.push(r))}),function(e){let t=[];for(;e.length;){let r=e.pop();t.push(r),r.in.reverse().forEach(function(e){return t=>{t.merged||(void 0===t.barycenter||void 0===e.barycenter||t.barycenter>=e.barycenter)&&function(e,t){let r=0,n=0;e.weight&&(r+=e.barycenter*e.weight,n+=e.weight),t.weight&&(r+=t.barycenter*t.weight,n+=t.weight),e.vs=t.vs.concat(e.vs),e.barycenter=r/n,e.weight=n,e.i=Math.min(t.i,e.i),t.merged=!0}(e,t)}}(r)),r.out.forEach(function(t){return r=>{r.in.push(t),0==--r.indegree&&e.push(r)}}(r))}return t.filter(e=>!e.merged).map(e=>H(e,["vs","i","barycenter","weight"]))}(Object.values(s).filter(e=>!e.indegree)));!function(e,t){e.forEach(e=>{e.vs=e.vs.flatMap(e=>t[e]?t[e].vs:e)})}(y,b);let k=(h=(i=e=>Object.hasOwn(e,"barycenter"),d={lhs:[],rhs:[]},y.forEach(e=>{i(e)?d.lhs.push(e):d.rhs.push(e)}),a=d).lhs,l=a.rhs.sort((e,t)=>t.i-e.i),u=[],c=0,f=0,g=0,h.sort(function(e){return(t,r)=>t.barycenter<r.barycenter?-1:t.barycenter>r.barycenter?1:e?r.i-t.i:t.i-r.i}(!!o)),g=eE(u,l,g),h.forEach(e=>{g+=e.vs.length,u.push(e.vs),c+=e.barycenter*e.weight,f+=e.weight,g=eE(u,l,g)}),p={vs:u.flat(1)},f&&(p.barycenter=c/f,p.weight=f),p);if(m&&E){k.vs=[m,k.vs,E].flat(1);let e=t.predecessors(m);if(e&&e.length){let r=t.node(e[0]),n=t.predecessors(E),o=t.node(n[0]);Object.hasOwn(k,"barycenter")||(k.barycenter=0,k.weight=0),k.barycenter=(k.barycenter*k.weight+r.order+o.order)/(k.weight+2),k.weight+=2}}return k}(e,d,n,t);a.vs.forEach((t,r)=>e.node(t).order=r),o=a.vs,i={},o.forEach(t=>{let r=e.parent(t),o,d;for(;r;){if((o=e.parent(r))?(d=i[o],i[o]=r):(d=s,s=r),d&&d!==r)return void n.setEdge(d,r);r=o}})})})(e%2?a:h,e%4>=2,f),l=A(t);let n=function(e,t){let r=0;for(let n=1;n<t.length;++n)r+=function(e,t,r){var n;let o=(n=r.map((e,t)=>t),r.reduce((e,t,r)=>(e[t]=n[r],e),{})),i=t.flatMap(t=>{let r=e.outEdges(t);return r?r.map(t=>({pos:o[t.w],weight:e.edge(t).weight})).sort((e,t)=>e.pos-t.pos):[]}),s=1;for(;s<r.length;)s<<=1;let d=2*s-1;s-=1;let a=Array(d).fill(0),h=0;return i.forEach(e=>{let t=e.pos+s;a[t]+=e.weight;let r=0;for(;t>0;)t%2&&(r+=a[t+1]),t=t-1>>1,a[t]+=e.weight;h+=e.weight*r}),h}(e,t[n-1],t[n]);return r}(t,l);n<u?(r=0,c=Object.assign({},l),u=n):n===u&&(c=structuredClone(l))}e_(t,c)})(e,i)),o(" insertSelfEdges",()=>{var t;A(t=e).forEach(e=>{let r=0;e.forEach((e,n)=>{let o=t.node(e);o.order=n+r,(o.selfEdges||[]).forEach(e=>{F(t,"selfedge",{width:e.label.width,height:e.label.height,rank:o.rank,order:n+ ++r,e:e.e,label:e.label},"_se")}),delete o.selfEdges})})}),o(" adjustCoordinateSystem",()=>{var t;let r;("lr"===(r=null==(t=e.graph().rankdir)?void 0:t.toLowerCase())||"rl"===r)&&ep(e)}),o(" position",()=>{var t,r,n,o;let i,s,a,h,l,u,c,f,g,p,v,w,m,E,b;v=A(o=t=T(t=e)),m=(w=o.graph()).ranksep,E=w.rankalign,b=0,v.forEach(e=>{let t=e.reduce((e,t)=>{var r;let n=null!=(r=o.node(t).height)?r:0;return e>n?e:n},0);e.forEach(e=>{let r=o.node(e);"top"===E?r.y=b+r.height/2:"bottom"===E?r.y=b+t-r.height/2:r.y=b+t/2}),b+=t+m}),Object.entries((s=A(r=t),a=Object.assign((i={},s.length&&s.reduce(function(e,t){let n=0,o=0,s=e.length,d=t[t.length-1];return t.forEach((e,a)=>{let h=function(e,t){if(e.node(t).dummy){let r=e.predecessors(t);if(r)return r.find(t=>e.node(t).dummy)}}(r,e),l=h?r.node(h).order:s;(h||e===d)&&(t.slice(o,a+1).forEach(e=>{let t=r.predecessors(e);t&&t.forEach(t=>{let o=r.node(t),s=o.order;(s<n||l<s)&&!(o.dummy&&r.node(e).dummy)&&ey(i,t,e)})}),o=a+1,n=l)}),t}),i),function(e,t){let r={};function n(t,n,o,i,s){W(n,o).forEach(n=>{let o=t[n];if(void 0!==o&&e.node(o).dummy){let t=e.predecessors(o);t&&t.forEach(t=>{if(void 0===t)return;let n=e.node(t);n.dummy&&(n.order<i||n.order>s)&&ey(r,t,o)})}})}return t.length&&t.reduce(function(t,r){let o=-1,i=-1,s=0;return r.forEach((d,a)=>{if("border"===e.node(d).dummy){let t=e.predecessors(d);if(t&&t.length){let d=t[0];if(void 0===d)return;i=e.node(d).order,n(r,s,a,o,i),s=a,o=i}}n(r,s,r.length,i,t.length)}),r}),r}(r,s)),h={},["u","d"].forEach(e=>{l="u"===e?s:Object.values(s).reverse(),["l","r"].forEach(t=>{var n,o;let i,s,u;"r"===t&&(l=l.map(e=>Object.values(e).reverse()));let c=(n=l,o=t=>("u"===e?r.predecessors(t):r.successors(t))||[],i={},s={},u={},n.forEach(e=>{e.forEach((e,t)=>{i[e]=e,s[e]=e,u[e]=t})}),n.forEach(e=>{let t=-1;e.forEach(e=>{let r=o(e);if(r&&r.length){let n=r.sort((e,t)=>{let r=u[e],n=u[t];return(void 0!==r?r:0)-(void 0!==n?n:0)}),o=(n.length-1)/2;for(let r=Math.floor(o),d=Math.ceil(o);r<=d;++r){let o=n[r];if(void 0===o)continue;let d=u[o];if(void 0!==d&&s[e]===e&&t<d&&!function(e,t,r){if(t>r){let e=t;t=r,r=e}let n=e[t];return void 0!==n&&Object.hasOwn(n,r)}(a,e,o)){let r=i[o];void 0!==r&&(s[o]=e,s[e]=i[e]=r,t=d)}}}})}),{root:i,align:s}),f=function(e,t,r,n,o=!1){var i,s,a,h,l,u,c;let f,g,p,v={},w=(i=e,s=t,a=r,h=o,f=new d,p=(l=(g=i.graph()).nodesep,u=g.edgesep,c=h,(e,t,r)=>{let n=e.node(t),o=e.node(r),i,s;if(i=0+n.width/2,Object.hasOwn(n,"labelpos"))switch(n.labelpos.toLowerCase()){case"l":s=-n.width/2;break;case"r":s=n.width/2}if(s&&(i+=c?s:-s),s=void 0,i+=(n.dummy?u:l)/2,i+=(o.dummy?u:l)/2,i+=o.width/2,Object.hasOwn(o,"labelpos"))switch(o.labelpos.toLowerCase()){case"l":s=o.width/2;break;case"r":s=-o.width/2}return s&&(i+=c?s:-s),i}),s.forEach(e=>{let t;e.forEach(e=>{let r=a[e];if(void 0!==r){if(f.setNode(r),void 0!==t){let n=a[t];if(void 0!==n){let o=f.edge(n,r);f.setEdge(n,r,Math.max(p(i,e,t),o||0))}}t=e}})}),f),m=o?"borderLeft":"borderRight";function E(e,t){let r=w.nodes().slice(),n={},o=r.pop();for(;o;){if(n[o])e(o);else for(let e of(n[o]=!0,r.push(o),t(o)))r.push(e);o=r.pop()}}return E(function(e){let t=w.inEdges(e);t?v[e]=t.reduce((e,t)=>{var r;let n=null!=(r=v[t.v])?r:0,o=w.edge(t);return Math.max(e,n+(void 0!==o?o:0))},0):v[e]=0},function(e){return w.predecessors(e)||[]}),E(function(t){let r=w.outEdges(t),n=1/0;r&&(n=r.reduce((e,t)=>{let r=v[t.w],n=w.edge(t);return Math.min(e,(void 0!==r?r:0)-(void 0!==n?n:0))},1/0));let o=e.node(t);n!==1/0&&o.borderType!==m&&(v[t]=Math.max(void 0!==v[t]?v[t]:0,n))},function(e){return w.successors(e)||[]}),Object.keys(n).forEach(e=>{var t;let n=r[e];void 0!==n&&(v[e]=null!=(t=v[n])?t:0)}),v}(r,l,c.root,c.align,"r"===t);"r"===t&&(f=J(f,e=>-e)),h[e+t]=f})}),u=Object.values(h).reduce((e,t)=>{let n=-1/0,o=1/0;Object.entries(t).forEach(([e,t])=>{var i,s;let d=(i=r,s=e,i.node(s).width/2);n=Math.max(t+d,n),o=Math.min(t-d,o)});let i=n-o;return i<e[0]&&(e=[i,t]),e},[1/0,null])[1],f=z(Math.min,c=Object.values(u)),g=z(Math.max,c),["u","d"].forEach(e=>{["l","r"].forEach(t=>{let r=e+t,n=h[r];if(!n||n===u)return;let o=Object.values(n),i=f-z(Math.min,o);"l"!==t&&(i=g-z(Math.max,o)),i&&(h[r]=J(n,e=>e+i))})}),n=r.graph().align,(p=h.ul)?J(p,(e,t)=>{var r,o;if(n){let e=h[n.toLowerCase()];if(e&&void 0!==e[t])return e[t]}let i=Object.values(h).map(e=>{let r=e[t];return void 0!==r?r:0}).sort((e,t)=>e-t);return((null!=(r=i[1])?r:0)+(null!=(o=i[2])?o:0))/2}):{})).forEach(([e,r])=>t.node(e).x=r)}),o(" positionSelfEdges",()=>{var t;(t=e).nodes().forEach(e=>{let r=t.node(e);if("selfedge"===r.dummy){let n=t.node(r.e.v),o=n.x+n.width/2,i=n.y,s=r.x-o,d=n.height/2;t.setEdge(r.e,r.label),t.removeNode(e),r.label.points=[{x:o+2*s/3,y:i-d},{x:o+5*s/6,y:i-d},{x:o+s,y:i},{x:o+5*s/6,y:i+d},{x:o+2*s/3,y:i+d}],r.label.x=r.x,r.label.y=r.y}})}),o(" removeBorderNodes",()=>{var t;(t=e).nodes().forEach(e=>{if(t.children(e).length){let r=t.node(e),n=t.node(r.borderTop),o=t.node(r.borderBottom),i=t.node(r.borderLeft[r.borderLeft.length-1]),s=t.node(r.borderRight[r.borderRight.length-1]);r.width=Math.abs(s.x-i.x),r.height=Math.abs(o.y-n.y),r.x=i.x+r.width/2,r.y=n.y+r.height/2}}),t.nodes().forEach(e=>{"border"===t.node(e).dummy&&t.removeNode(e)})}),o(" normalize.undo",()=>{e.graph().dummyChains.forEach(t=>{let r=e.node(t),n=r.edgeLabel,o;for(e.setEdge(r.edgeObj,n);r.dummy;)o=e.successors(t)[0],e.removeNode(t),n.points.push({x:r.x,y:r.y}),"edge-label"===r.dummy&&(n.x=r.x,n.y=r.y,n.width=r.width,n.height=r.height),t=o,r=e.node(t)})}),o(" fixupEdgeLabelCoords",()=>{var t;(t=e).edges().forEach(e=>{let r=t.edge(e);if(Object.hasOwn(r,"x"))switch(("l"===r.labelpos||"r"===r.labelpos)&&(r.width-=r.labeloffset),r.labelpos){case"l":r.x-=r.width/2+r.labeloffset;break;case"r":r.x+=r.width/2+r.labeloffset}})}),o(" undoCoordinateSystem",()=>{var t,r,n;let o;("bt"===(o=null==(t=e.graph().rankdir)?void 0:t.toLowerCase())||"rl"===o)&&((r=e).nodes().forEach(e=>ew(r.node(e))),r.edges().forEach(e=>{var t;let n=r.edge(e);null==(t=n.points)||t.forEach(ew),Object.hasOwn(n,"y")&&ew(n)})),("lr"===o||"rl"===o)&&((n=e).nodes().forEach(e=>em(n.node(e))),n.edges().forEach(e=>{var t;let r=n.edge(e);null==(t=r.points)||t.forEach(em),Object.hasOwn(r,"x")&&em(r)}),ep(e))}),o(" translateGraph",()=>(function(e){let t=1/0,r=0,n=1/0,o=0,i=e.graph(),s=i.marginx||0,d=i.marginy||0;function a(e){let i=e.x,s=e.y,d=e.width,a=e.height;t=Math.min(t,i-d/2),r=Math.max(r,i+d/2),n=Math.min(n,s-a/2),o=Math.max(o,s+a/2)}e.nodes().forEach(t=>a(e.node(t))),e.edges().forEach(t=>{let r=e.edge(t);Object.hasOwn(r,"x")&&a(r)}),t-=s,n-=d,e.nodes().forEach(r=>{let o=e.node(r);o.x-=t,o.y-=n}),e.edges().forEach(r=>{let o=e.edge(r);o.points.forEach(e=>{e.x-=t,e.y-=n}),Object.hasOwn(o,"x")&&(o.x-=t),Object.hasOwn(o,"y")&&(o.y-=n)}),i.width=r-t+s,i.height=o-n+d})(e)),o(" assignNodeIntersects",()=>{var t;(t=e).edges().forEach(e=>{let r=t.edge(e),n=t.node(e.v),o=t.node(e.w),i,s;r.points?(i=r.points[0],s=r.points[r.points.length-1]):(r.points=[],i=o,s=n),r.points.unshift(I(n,i)),r.points.push(I(o,s))})}),o(" reversePoints",()=>{var t;(t=e).edges().forEach(e=>{let r=t.edge(e);r.reversed&&r.points.reverse()})}),o(" acyclic.undo",()=>{e.edges().forEach(t=>{let r=e.edge(t);if(r.reversed){e.removeEdge(t);let n=r.forwardName;delete r.reversed,delete r.forwardName,e.setEdge(t.w,t.v,r,n)}})}))}),r(" updateInputGraph",()=>{var t,r;return t=e,r=n,void(t.nodes().forEach(e=>{let n=t.node(e),o=r.node(e);n&&(n.x=o.x,n.y=o.y,n.order=o.order,n.rank=o.rank,r.children(e).length&&(n.width=o.width,n.height=o.height))}),t.edges().forEach(e=>{let n=t.edge(e),o=r.edge(e);n.points=o.points,Object.hasOwn(o,"x")&&(n.x=o.x,n.y=o.y)}),t.graph().width=r.graph().width,t.graph().height=r.graph().height)}),n})},debug:function(e){let t=A(e),r=new d({compound:!0,multigraph:!0}).setGraph({});return e.nodes().forEach(t=>{r.setNode(t,{label:t}),r.setParent(t,"layer"+e.node(t).rank)}),e.edges().forEach(e=>r.setEdge(e.v,e.w,{},e.name)),t.forEach((e,t)=>{r.setNode("layer"+t,{rank:"same"}),e.reduce((e,t)=>(r.setEdge(e,t,{style:"invis"}),t))}),r},util:{time:V,notime:$}}}}]);
@@ -0,0 +1 @@
1
+ "use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[3130],{3130:(e,t,i)=>{i.d(t,{captureNodeSizes:()=>u});var n=i(9820);function r(){if("undefined"!=typeof globalThis)return globalThis}function a(){return"undefined"==typeof location?"browser-dev":`${location.pathname}${location.search}`}function o(e,t){let i=r();if(!i)return;let n=t.node(),a=(n&&"ownerSVGElement"in n?n.ownerSVGElement:null)??n,o=a?.id??"(unknown)";i.mermaidCapturedSizes??=[];let u={svgId:o,sizes:e};i.mermaidCapturedSizes.push(u),i.mermaidLastCapturedSizes=u}function u(e,t){let i=[];for(let e of t.nodes)e.isGroup||i.push({id:e.id,width:e.width??0,height:e.height??0});0!==i.length&&o({metadata:{captureVersion:1,capturedAt:new Date().toISOString(),capturedFrom:a()},nodes:i},e)}(0,n.K)(r,"getCaptureGlobal"),(0,n.K)(function(){return!!r()?.mermaidCaptureSizes},"shouldCaptureSizes"),(0,n.K)(a,"capturedFromLocation"),(0,n.K)(o,"emitCapturedSizes"),(0,n.K)(u,"captureNodeSizes")}}]);
@@ -0,0 +1 @@
1
+ "use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[3221],{23723:(e,r,o)=>{o.d(r,{$:()=>t});function t(){for(var e,r,o=0,t="",l=arguments.length;o<l;o++)(e=arguments[o])&&(r=function e(r){var o,t,l="";if("string"==typeof r||"number"==typeof r)l+=r;else if("object"==typeof r)if(Array.isArray(r)){var s=r.length;for(o=0;o<s;o++)r[o]&&(t=e(r[o]))&&(l&&(l+=" "),l+=t)}else for(t in r)r[t]&&(l&&(l+=" "),l+=t);return l}(e))&&(t&&(t+=" "),t+=r);return t}},45743:(e,r,o)=>{o.d(r,{QP:()=>ep});let t=(e=new Map,r=null,o)=>({nextPart:e,validators:r,classGroupId:o}),l=[],s=(e,r,o)=>{if(0==e.length-r)return o.classGroupId;let t=e[r],l=o.nextPart.get(t);if(l){let o=s(e,r+1,l);if(o)return o}let n=o.validators;if(null===n)return;let a=0===r?e.join("-"):e.slice(r).join("-"),i=n.length;for(let e=0;e<i;e++){let r=n[e];if(r.validator(a))return r.classGroupId}},n=(e,r)=>{let o=t();for(let t in e)a(e[t],o,t,r);return o},a=(e,r,o,t)=>{let l=e.length;for(let s=0;s<l;s++)i(e[s],r,o,t)},i=(e,r,o,t)=>"string"==typeof e?void d(e,r,o):"function"==typeof e?void c(e,r,o,t):void m(e,r,o,t),d=(e,r,o)=>{(""===e?r:p(r,e)).classGroupId=o},c=(e,r,o,t)=>{if(b(e))return void a(e(t),r,o,t);null===r.validators&&(r.validators=[]),r.validators.push({classGroupId:o,validator:e})},m=(e,r,o,t)=>{let l=Object.entries(e),s=l.length;for(let e=0;e<s;e++){let[s,n]=l[e];a(n,p(r,s),o,t)}},p=(e,r)=>{let o=e,l=r.split("-"),s=l.length;for(let e=0;e<s;e++){let r=l[e],s=o.nextPart.get(r);s||(s=t(),o.nextPart.set(r,s)),o=s}return o},b=e=>"isThemeGetter"in e&&!0===e.isThemeGetter,u=[],f=(e,r,o,t,l)=>({modifiers:e,hasImportantModifier:r,baseClassName:o,maybePostfixModifierPosition:t,isExternal:l}),g=/\s+/,h=e=>{let r;if("string"==typeof e)return e;let o="";for(let t=0;t<e.length;t++)e[t]&&(r=h(e[t]))&&(o&&(o+=" "),o+=r);return o},k=[],w=e=>{let r=r=>r[e]||k;return r.isThemeGetter=!0,r},x=/^\[(?:(\w[\w-]*):)?(.+)\]$/i,v=/^\((?:(\w[\w-]*):)?(.+)\)$/i,y=/^\d+(?:\.\d+)?\/\d+(?:\.\d+)?$/,z=/^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/,j=/\d+(%|px|r?em|[sdl]?v([hwib]|min|max)|pt|pc|in|cm|mm|cap|ch|ex|r?lh|cq(w|h|i|b|min|max))|\b(calc|min|max|clamp)\(.+\)|^0$/,G=/^(rgba?|hsla?|hwb|(ok)?(lab|lch)|color-mix)\(.+\)$/,N=/^(inset_)?-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/,C=/^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/,$=e=>y.test(e),I=e=>!!e&&!Number.isNaN(Number(e)),O=e=>!!e&&Number.isInteger(Number(e)),M=e=>e.endsWith("%")&&I(e.slice(0,-1)),S=e=>z.test(e),W=()=>!0,_=e=>j.test(e)&&!G.test(e),P=()=>!1,T=e=>N.test(e),A=e=>C.test(e),E=e=>!Q(e)&&!R(e),q=e=>eo(e,en,P),Q=e=>x.test(e),B=e=>eo(e,ea,_),D=e=>eo(e,ei,I),F=e=>eo(e,ec,W),H=e=>eo(e,ed,P),J=e=>eo(e,el,P),K=e=>eo(e,es,A),L=e=>eo(e,em,T),R=e=>v.test(e),U=e=>et(e,ea),V=e=>et(e,ed),X=e=>et(e,el),Y=e=>et(e,en),Z=e=>et(e,es),ee=e=>et(e,em,!0),er=e=>et(e,ec,!0),eo=(e,r,o)=>{let t=x.exec(e);return!!t&&(t[1]?r(t[1]):o(t[2]))},et=(e,r,o=!1)=>{let t=v.exec(e);return!!t&&(t[1]?r(t[1]):o)},el=e=>"position"===e||"percentage"===e,es=e=>"image"===e||"url"===e,en=e=>"length"===e||"size"===e||"bg-size"===e,ea=e=>"length"===e,ei=e=>"number"===e,ed=e=>"family-name"===e,ec=e=>"number"===e||"weight"===e,em=e=>"shadow"===e;Symbol.toStringTag;let ep=((e,...r)=>{let o,t,a,i,d=e=>{let r=t(e);if(r)return r;let l=((e,r)=>{let{parseClassName:o,getClassGroupId:t,getConflictingClassGroupIds:l,sortModifiers:s}=r,n=[],a=e.trim().split(g),i="";for(let e=a.length-1;e>=0;e-=1){let r=a[e],{isExternal:d,modifiers:c,hasImportantModifier:m,baseClassName:p,maybePostfixModifierPosition:b}=o(r);if(d){i=r+(i.length>0?" "+i:i);continue}let u=!!b,f=t(u?p.substring(0,b):p);if(!f){if(!u||!(f=t(p))){i=r+(i.length>0?" "+i:i);continue}u=!1}let g=0===c.length?"":1===c.length?c[0]:s(c).join(":"),h=m?g+"!":g,k=h+f;if(n.indexOf(k)>-1)continue;n.push(k);let w=l(f,u);for(let e=0;e<w.length;++e){let r=w[e];n.push(h+r)}i=r+(i.length>0?" "+i:i)}return i})(e,o);return a(e,l),l};return i=c=>(t=(o=(e=>({cache:(e=>{if(e<1)return{get:()=>void 0,set:()=>{}};let r=0,o=Object.create(null),t=Object.create(null),l=(l,s)=>{o[l]=s,++r>e&&(r=0,t=o,o=Object.create(null))};return{get(e){let r=o[e];return void 0!==r?r:void 0!==(r=t[e])?(l(e,r),r):void 0},set(e,r){e in o?o[e]=r:l(e,r)}}})(e.cacheSize),parseClassName:(e=>{let{prefix:r,experimentalParseClassName:o}=e,t=e=>{let r,o=[],t=0,l=0,s=0,n=e.length;for(let a=0;a<n;a++){let n=e[a];if(0===t&&0===l){if(":"===n){o.push(e.slice(s,a)),s=a+1;continue}if("/"===n){r=a;continue}}"["===n?t++:"]"===n?t--:"("===n?l++:")"===n&&l--}let a=0===o.length?e:e.slice(s),i=a,d=!1;return a.endsWith("!")?(i=a.slice(0,-1),d=!0):a.startsWith("!")&&(i=a.slice(1),d=!0),f(o,d,i,r&&r>s?r-s:void 0)};if(r){let e=r+":",o=t;t=r=>r.startsWith(e)?o(r.slice(e.length)):f(u,!1,r,void 0,!0)}if(o){let e=t;t=r=>o({className:r,parseClassName:e})}return t})(e),sortModifiers:(e=>{let r=new Map;return e.orderSensitiveModifiers.forEach((e,o)=>{r.set(e,1e6+o)}),e=>{let o=[],t=[];for(let l=0;l<e.length;l++){let s=e[l],n="["===s[0],a=r.has(s);n||a?(t.length>0&&(t.sort(),o.push(...t),t=[]),o.push(s)):t.push(s)}return t.length>0&&(t.sort(),o.push(...t)),o}})(e),...(e=>{let r=(e=>{let{theme:r,classGroups:o}=e;return n(o,r)})(e),{conflictingClassGroups:o,conflictingClassGroupModifiers:t}=e;return{getClassGroupId:e=>{if(e.startsWith("[")&&e.endsWith("]"))return(e=>-1===e.slice(1,-1).indexOf(":")?void 0:(()=>{let r=e.slice(1,-1),o=r.indexOf(":"),t=r.slice(0,o);return t?"arbitrary.."+t:void 0})())(e);let o=e.split("-"),t=+(""===o[0]&&o.length>1);return s(o,t,r)},getConflictingClassGroupIds:(e,r)=>{if(r){let r=t[e],s=o[e];return r?s?((e,r)=>{let o=Array(e.length+r.length);for(let r=0;r<e.length;r++)o[r]=e[r];for(let t=0;t<r.length;t++)o[e.length+t]=r[t];return o})(s,r):r:s||l}return o[e]||l}}})(e)}))(r.reduce((e,r)=>r(e),e()))).cache.get,a=o.cache.set,i=d,d(c)),(...e)=>i(((...e)=>{let r,o,t=0,l="";for(;t<e.length;)(r=e[t++])&&(o=h(r))&&(l&&(l+=" "),l+=o);return l})(...e))})(()=>{let e=w("color"),r=w("font"),o=w("text"),t=w("font-weight"),l=w("tracking"),s=w("leading"),n=w("breakpoint"),a=w("container"),i=w("spacing"),d=w("radius"),c=w("shadow"),m=w("inset-shadow"),p=w("text-shadow"),b=w("drop-shadow"),u=w("blur"),f=w("perspective"),g=w("aspect"),h=w("ease"),k=w("animate"),x=()=>["auto","avoid","all","avoid-page","page","left","right","column"],v=()=>["center","top","bottom","left","right","top-left","left-top","top-right","right-top","bottom-right","right-bottom","bottom-left","left-bottom"],y=()=>[...v(),R,Q],z=()=>["auto","hidden","clip","visible","scroll"],j=()=>["auto","contain","none"],G=()=>[R,Q,i],N=()=>[$,"full","auto",...G()],C=()=>[O,"none","subgrid",R,Q],_=()=>["auto",{span:["full",O,R,Q]},O,R,Q],P=()=>[O,"auto",R,Q],T=()=>["auto","min","max","fr",R,Q],A=()=>["start","end","center","between","around","evenly","stretch","baseline","center-safe","end-safe"],eo=()=>["start","end","center","stretch","center-safe","end-safe"],et=()=>["auto",...G()],el=()=>[$,"auto","full","dvw","dvh","lvw","lvh","svw","svh","min","max","fit",...G()],es=()=>[$,"screen","full","dvw","lvw","svw","min","max","fit",...G()],en=()=>[$,"screen","full","lh","dvh","lvh","svh","min","max","fit",...G()],ea=()=>[e,R,Q],ei=()=>[...v(),X,J,{position:[R,Q]}],ed=()=>["no-repeat",{repeat:["","x","y","space","round"]}],ec=()=>["auto","cover","contain",Y,q,{size:[R,Q]}],em=()=>[M,U,B],ep=()=>["","none","full",d,R,Q],eb=()=>["",I,U,B],eu=()=>["solid","dashed","dotted","double"],ef=()=>["normal","multiply","screen","overlay","darken","lighten","color-dodge","color-burn","hard-light","soft-light","difference","exclusion","hue","saturation","color","luminosity"],eg=()=>[I,M,X,J],eh=()=>["","none",u,R,Q],ek=()=>["none",I,R,Q],ew=()=>["none",I,R,Q],ex=()=>[I,R,Q],ev=()=>[$,"full",...G()];return{cacheSize:500,theme:{animate:["spin","ping","pulse","bounce"],aspect:["video"],blur:[S],breakpoint:[S],color:[W],container:[S],"drop-shadow":[S],ease:["in","out","in-out"],font:[E],"font-weight":["thin","extralight","light","normal","medium","semibold","bold","extrabold","black"],"inset-shadow":[S],leading:["none","tight","snug","normal","relaxed","loose"],perspective:["dramatic","near","normal","midrange","distant","none"],radius:[S],shadow:[S],spacing:["px",I],text:[S],"text-shadow":[S],tracking:["tighter","tight","normal","wide","wider","widest"]},classGroups:{aspect:[{aspect:["auto","square",$,Q,R,g]}],container:["container"],columns:[{columns:[I,Q,R,a]}],"break-after":[{"break-after":x()}],"break-before":[{"break-before":x()}],"break-inside":[{"break-inside":["auto","avoid","avoid-page","avoid-column"]}],"box-decoration":[{"box-decoration":["slice","clone"]}],box:[{box:["border","content"]}],display:["block","inline-block","inline","flex","inline-flex","table","inline-table","table-caption","table-cell","table-column","table-column-group","table-footer-group","table-header-group","table-row-group","table-row","flow-root","grid","inline-grid","contents","list-item","hidden"],sr:["sr-only","not-sr-only"],float:[{float:["right","left","none","start","end"]}],clear:[{clear:["left","right","both","none","start","end"]}],isolation:["isolate","isolation-auto"],"object-fit":[{object:["contain","cover","fill","none","scale-down"]}],"object-position":[{object:y()}],overflow:[{overflow:z()}],"overflow-x":[{"overflow-x":z()}],"overflow-y":[{"overflow-y":z()}],overscroll:[{overscroll:j()}],"overscroll-x":[{"overscroll-x":j()}],"overscroll-y":[{"overscroll-y":j()}],position:["static","fixed","absolute","relative","sticky"],inset:[{inset:N()}],"inset-x":[{"inset-x":N()}],"inset-y":[{"inset-y":N()}],start:[{"inset-s":N(),start:N()}],end:[{"inset-e":N(),end:N()}],"inset-bs":[{"inset-bs":N()}],"inset-be":[{"inset-be":N()}],top:[{top:N()}],right:[{right:N()}],bottom:[{bottom:N()}],left:[{left:N()}],visibility:["visible","invisible","collapse"],z:[{z:[O,"auto",R,Q]}],basis:[{basis:[$,"full","auto",a,...G()]}],"flex-direction":[{flex:["row","row-reverse","col","col-reverse"]}],"flex-wrap":[{flex:["nowrap","wrap","wrap-reverse"]}],flex:[{flex:[I,$,"auto","initial","none",Q]}],grow:[{grow:["",I,R,Q]}],shrink:[{shrink:["",I,R,Q]}],order:[{order:[O,"first","last","none",R,Q]}],"grid-cols":[{"grid-cols":C()}],"col-start-end":[{col:_()}],"col-start":[{"col-start":P()}],"col-end":[{"col-end":P()}],"grid-rows":[{"grid-rows":C()}],"row-start-end":[{row:_()}],"row-start":[{"row-start":P()}],"row-end":[{"row-end":P()}],"grid-flow":[{"grid-flow":["row","col","dense","row-dense","col-dense"]}],"auto-cols":[{"auto-cols":T()}],"auto-rows":[{"auto-rows":T()}],gap:[{gap:G()}],"gap-x":[{"gap-x":G()}],"gap-y":[{"gap-y":G()}],"justify-content":[{justify:[...A(),"normal"]}],"justify-items":[{"justify-items":[...eo(),"normal"]}],"justify-self":[{"justify-self":["auto",...eo()]}],"align-content":[{content:["normal",...A()]}],"align-items":[{items:[...eo(),{baseline:["","last"]}]}],"align-self":[{self:["auto",...eo(),{baseline:["","last"]}]}],"place-content":[{"place-content":A()}],"place-items":[{"place-items":[...eo(),"baseline"]}],"place-self":[{"place-self":["auto",...eo()]}],p:[{p:G()}],px:[{px:G()}],py:[{py:G()}],ps:[{ps:G()}],pe:[{pe:G()}],pbs:[{pbs:G()}],pbe:[{pbe:G()}],pt:[{pt:G()}],pr:[{pr:G()}],pb:[{pb:G()}],pl:[{pl:G()}],m:[{m:et()}],mx:[{mx:et()}],my:[{my:et()}],ms:[{ms:et()}],me:[{me:et()}],mbs:[{mbs:et()}],mbe:[{mbe:et()}],mt:[{mt:et()}],mr:[{mr:et()}],mb:[{mb:et()}],ml:[{ml:et()}],"space-x":[{"space-x":G()}],"space-x-reverse":["space-x-reverse"],"space-y":[{"space-y":G()}],"space-y-reverse":["space-y-reverse"],size:[{size:el()}],"inline-size":[{inline:["auto",...es()]}],"min-inline-size":[{"min-inline":["auto",...es()]}],"max-inline-size":[{"max-inline":["none",...es()]}],"block-size":[{block:["auto",...en()]}],"min-block-size":[{"min-block":["auto",...en()]}],"max-block-size":[{"max-block":["none",...en()]}],w:[{w:[a,"screen",...el()]}],"min-w":[{"min-w":[a,"screen","none",...el()]}],"max-w":[{"max-w":[a,"screen","none","prose",{screen:[n]},...el()]}],h:[{h:["screen","lh",...el()]}],"min-h":[{"min-h":["screen","lh","none",...el()]}],"max-h":[{"max-h":["screen","lh",...el()]}],"font-size":[{text:["base",o,U,B]}],"font-smoothing":["antialiased","subpixel-antialiased"],"font-style":["italic","not-italic"],"font-weight":[{font:[t,er,F]}],"font-stretch":[{"font-stretch":["ultra-condensed","extra-condensed","condensed","semi-condensed","normal","semi-expanded","expanded","extra-expanded","ultra-expanded",M,Q]}],"font-family":[{font:[V,H,r]}],"font-features":[{"font-features":[Q]}],"fvn-normal":["normal-nums"],"fvn-ordinal":["ordinal"],"fvn-slashed-zero":["slashed-zero"],"fvn-figure":["lining-nums","oldstyle-nums"],"fvn-spacing":["proportional-nums","tabular-nums"],"fvn-fraction":["diagonal-fractions","stacked-fractions"],tracking:[{tracking:[l,R,Q]}],"line-clamp":[{"line-clamp":[I,"none",R,D]}],leading:[{leading:[s,...G()]}],"list-image":[{"list-image":["none",R,Q]}],"list-style-position":[{list:["inside","outside"]}],"list-style-type":[{list:["disc","decimal","none",R,Q]}],"text-alignment":[{text:["left","center","right","justify","start","end"]}],"placeholder-color":[{placeholder:ea()}],"text-color":[{text:ea()}],"text-decoration":["underline","overline","line-through","no-underline"],"text-decoration-style":[{decoration:[...eu(),"wavy"]}],"text-decoration-thickness":[{decoration:[I,"from-font","auto",R,B]}],"text-decoration-color":[{decoration:ea()}],"underline-offset":[{"underline-offset":[I,"auto",R,Q]}],"text-transform":["uppercase","lowercase","capitalize","normal-case"],"text-overflow":["truncate","text-ellipsis","text-clip"],"text-wrap":[{text:["wrap","nowrap","balance","pretty"]}],indent:[{indent:G()}],"vertical-align":[{align:["baseline","top","middle","bottom","text-top","text-bottom","sub","super",R,Q]}],whitespace:[{whitespace:["normal","nowrap","pre","pre-line","pre-wrap","break-spaces"]}],break:[{break:["normal","words","all","keep"]}],wrap:[{wrap:["break-word","anywhere","normal"]}],hyphens:[{hyphens:["none","manual","auto"]}],content:[{content:["none",R,Q]}],"bg-attachment":[{bg:["fixed","local","scroll"]}],"bg-clip":[{"bg-clip":["border","padding","content","text"]}],"bg-origin":[{"bg-origin":["border","padding","content"]}],"bg-position":[{bg:ei()}],"bg-repeat":[{bg:ed()}],"bg-size":[{bg:ec()}],"bg-image":[{bg:["none",{linear:[{to:["t","tr","r","br","b","bl","l","tl"]},O,R,Q],radial:["",R,Q],conic:[O,R,Q]},Z,K]}],"bg-color":[{bg:ea()}],"gradient-from-pos":[{from:em()}],"gradient-via-pos":[{via:em()}],"gradient-to-pos":[{to:em()}],"gradient-from":[{from:ea()}],"gradient-via":[{via:ea()}],"gradient-to":[{to:ea()}],rounded:[{rounded:ep()}],"rounded-s":[{"rounded-s":ep()}],"rounded-e":[{"rounded-e":ep()}],"rounded-t":[{"rounded-t":ep()}],"rounded-r":[{"rounded-r":ep()}],"rounded-b":[{"rounded-b":ep()}],"rounded-l":[{"rounded-l":ep()}],"rounded-ss":[{"rounded-ss":ep()}],"rounded-se":[{"rounded-se":ep()}],"rounded-ee":[{"rounded-ee":ep()}],"rounded-es":[{"rounded-es":ep()}],"rounded-tl":[{"rounded-tl":ep()}],"rounded-tr":[{"rounded-tr":ep()}],"rounded-br":[{"rounded-br":ep()}],"rounded-bl":[{"rounded-bl":ep()}],"border-w":[{border:eb()}],"border-w-x":[{"border-x":eb()}],"border-w-y":[{"border-y":eb()}],"border-w-s":[{"border-s":eb()}],"border-w-e":[{"border-e":eb()}],"border-w-bs":[{"border-bs":eb()}],"border-w-be":[{"border-be":eb()}],"border-w-t":[{"border-t":eb()}],"border-w-r":[{"border-r":eb()}],"border-w-b":[{"border-b":eb()}],"border-w-l":[{"border-l":eb()}],"divide-x":[{"divide-x":eb()}],"divide-x-reverse":["divide-x-reverse"],"divide-y":[{"divide-y":eb()}],"divide-y-reverse":["divide-y-reverse"],"border-style":[{border:[...eu(),"hidden","none"]}],"divide-style":[{divide:[...eu(),"hidden","none"]}],"border-color":[{border:ea()}],"border-color-x":[{"border-x":ea()}],"border-color-y":[{"border-y":ea()}],"border-color-s":[{"border-s":ea()}],"border-color-e":[{"border-e":ea()}],"border-color-bs":[{"border-bs":ea()}],"border-color-be":[{"border-be":ea()}],"border-color-t":[{"border-t":ea()}],"border-color-r":[{"border-r":ea()}],"border-color-b":[{"border-b":ea()}],"border-color-l":[{"border-l":ea()}],"divide-color":[{divide:ea()}],"outline-style":[{outline:[...eu(),"none","hidden"]}],"outline-offset":[{"outline-offset":[I,R,Q]}],"outline-w":[{outline:["",I,U,B]}],"outline-color":[{outline:ea()}],shadow:[{shadow:["","none",c,ee,L]}],"shadow-color":[{shadow:ea()}],"inset-shadow":[{"inset-shadow":["none",m,ee,L]}],"inset-shadow-color":[{"inset-shadow":ea()}],"ring-w":[{ring:eb()}],"ring-w-inset":["ring-inset"],"ring-color":[{ring:ea()}],"ring-offset-w":[{"ring-offset":[I,B]}],"ring-offset-color":[{"ring-offset":ea()}],"inset-ring-w":[{"inset-ring":eb()}],"inset-ring-color":[{"inset-ring":ea()}],"text-shadow":[{"text-shadow":["none",p,ee,L]}],"text-shadow-color":[{"text-shadow":ea()}],opacity:[{opacity:[I,R,Q]}],"mix-blend":[{"mix-blend":[...ef(),"plus-darker","plus-lighter"]}],"bg-blend":[{"bg-blend":ef()}],"mask-clip":[{"mask-clip":["border","padding","content","fill","stroke","view"]},"mask-no-clip"],"mask-composite":[{mask:["add","subtract","intersect","exclude"]}],"mask-image-linear-pos":[{"mask-linear":[I]}],"mask-image-linear-from-pos":[{"mask-linear-from":eg()}],"mask-image-linear-to-pos":[{"mask-linear-to":eg()}],"mask-image-linear-from-color":[{"mask-linear-from":ea()}],"mask-image-linear-to-color":[{"mask-linear-to":ea()}],"mask-image-t-from-pos":[{"mask-t-from":eg()}],"mask-image-t-to-pos":[{"mask-t-to":eg()}],"mask-image-t-from-color":[{"mask-t-from":ea()}],"mask-image-t-to-color":[{"mask-t-to":ea()}],"mask-image-r-from-pos":[{"mask-r-from":eg()}],"mask-image-r-to-pos":[{"mask-r-to":eg()}],"mask-image-r-from-color":[{"mask-r-from":ea()}],"mask-image-r-to-color":[{"mask-r-to":ea()}],"mask-image-b-from-pos":[{"mask-b-from":eg()}],"mask-image-b-to-pos":[{"mask-b-to":eg()}],"mask-image-b-from-color":[{"mask-b-from":ea()}],"mask-image-b-to-color":[{"mask-b-to":ea()}],"mask-image-l-from-pos":[{"mask-l-from":eg()}],"mask-image-l-to-pos":[{"mask-l-to":eg()}],"mask-image-l-from-color":[{"mask-l-from":ea()}],"mask-image-l-to-color":[{"mask-l-to":ea()}],"mask-image-x-from-pos":[{"mask-x-from":eg()}],"mask-image-x-to-pos":[{"mask-x-to":eg()}],"mask-image-x-from-color":[{"mask-x-from":ea()}],"mask-image-x-to-color":[{"mask-x-to":ea()}],"mask-image-y-from-pos":[{"mask-y-from":eg()}],"mask-image-y-to-pos":[{"mask-y-to":eg()}],"mask-image-y-from-color":[{"mask-y-from":ea()}],"mask-image-y-to-color":[{"mask-y-to":ea()}],"mask-image-radial":[{"mask-radial":[R,Q]}],"mask-image-radial-from-pos":[{"mask-radial-from":eg()}],"mask-image-radial-to-pos":[{"mask-radial-to":eg()}],"mask-image-radial-from-color":[{"mask-radial-from":ea()}],"mask-image-radial-to-color":[{"mask-radial-to":ea()}],"mask-image-radial-shape":[{"mask-radial":["circle","ellipse"]}],"mask-image-radial-size":[{"mask-radial":[{closest:["side","corner"],farthest:["side","corner"]}]}],"mask-image-radial-pos":[{"mask-radial-at":v()}],"mask-image-conic-pos":[{"mask-conic":[I]}],"mask-image-conic-from-pos":[{"mask-conic-from":eg()}],"mask-image-conic-to-pos":[{"mask-conic-to":eg()}],"mask-image-conic-from-color":[{"mask-conic-from":ea()}],"mask-image-conic-to-color":[{"mask-conic-to":ea()}],"mask-mode":[{mask:["alpha","luminance","match"]}],"mask-origin":[{"mask-origin":["border","padding","content","fill","stroke","view"]}],"mask-position":[{mask:ei()}],"mask-repeat":[{mask:ed()}],"mask-size":[{mask:ec()}],"mask-type":[{"mask-type":["alpha","luminance"]}],"mask-image":[{mask:["none",R,Q]}],filter:[{filter:["","none",R,Q]}],blur:[{blur:eh()}],brightness:[{brightness:[I,R,Q]}],contrast:[{contrast:[I,R,Q]}],"drop-shadow":[{"drop-shadow":["","none",b,ee,L]}],"drop-shadow-color":[{"drop-shadow":ea()}],grayscale:[{grayscale:["",I,R,Q]}],"hue-rotate":[{"hue-rotate":[I,R,Q]}],invert:[{invert:["",I,R,Q]}],saturate:[{saturate:[I,R,Q]}],sepia:[{sepia:["",I,R,Q]}],"backdrop-filter":[{"backdrop-filter":["","none",R,Q]}],"backdrop-blur":[{"backdrop-blur":eh()}],"backdrop-brightness":[{"backdrop-brightness":[I,R,Q]}],"backdrop-contrast":[{"backdrop-contrast":[I,R,Q]}],"backdrop-grayscale":[{"backdrop-grayscale":["",I,R,Q]}],"backdrop-hue-rotate":[{"backdrop-hue-rotate":[I,R,Q]}],"backdrop-invert":[{"backdrop-invert":["",I,R,Q]}],"backdrop-opacity":[{"backdrop-opacity":[I,R,Q]}],"backdrop-saturate":[{"backdrop-saturate":[I,R,Q]}],"backdrop-sepia":[{"backdrop-sepia":["",I,R,Q]}],"border-collapse":[{border:["collapse","separate"]}],"border-spacing":[{"border-spacing":G()}],"border-spacing-x":[{"border-spacing-x":G()}],"border-spacing-y":[{"border-spacing-y":G()}],"table-layout":[{table:["auto","fixed"]}],caption:[{caption:["top","bottom"]}],transition:[{transition:["","all","colors","opacity","shadow","transform","none",R,Q]}],"transition-behavior":[{transition:["normal","discrete"]}],duration:[{duration:[I,"initial",R,Q]}],ease:[{ease:["linear","initial",h,R,Q]}],delay:[{delay:[I,R,Q]}],animate:[{animate:["none",k,R,Q]}],backface:[{backface:["hidden","visible"]}],perspective:[{perspective:[f,R,Q]}],"perspective-origin":[{"perspective-origin":y()}],rotate:[{rotate:ek()}],"rotate-x":[{"rotate-x":ek()}],"rotate-y":[{"rotate-y":ek()}],"rotate-z":[{"rotate-z":ek()}],scale:[{scale:ew()}],"scale-x":[{"scale-x":ew()}],"scale-y":[{"scale-y":ew()}],"scale-z":[{"scale-z":ew()}],"scale-3d":["scale-3d"],skew:[{skew:ex()}],"skew-x":[{"skew-x":ex()}],"skew-y":[{"skew-y":ex()}],transform:[{transform:[R,Q,"","none","gpu","cpu"]}],"transform-origin":[{origin:y()}],"transform-style":[{transform:["3d","flat"]}],translate:[{translate:ev()}],"translate-x":[{"translate-x":ev()}],"translate-y":[{"translate-y":ev()}],"translate-z":[{"translate-z":ev()}],"translate-none":["translate-none"],accent:[{accent:ea()}],appearance:[{appearance:["none","auto"]}],"caret-color":[{caret:ea()}],"color-scheme":[{scheme:["normal","dark","light","light-dark","only-dark","only-light"]}],cursor:[{cursor:["auto","default","pointer","wait","text","move","help","not-allowed","none","context-menu","progress","cell","crosshair","vertical-text","alias","copy","no-drop","grab","grabbing","all-scroll","col-resize","row-resize","n-resize","e-resize","s-resize","w-resize","ne-resize","nw-resize","se-resize","sw-resize","ew-resize","ns-resize","nesw-resize","nwse-resize","zoom-in","zoom-out",R,Q]}],"field-sizing":[{"field-sizing":["fixed","content"]}],"pointer-events":[{"pointer-events":["auto","none"]}],resize:[{resize:["none","","y","x"]}],"scroll-behavior":[{scroll:["auto","smooth"]}],"scroll-m":[{"scroll-m":G()}],"scroll-mx":[{"scroll-mx":G()}],"scroll-my":[{"scroll-my":G()}],"scroll-ms":[{"scroll-ms":G()}],"scroll-me":[{"scroll-me":G()}],"scroll-mbs":[{"scroll-mbs":G()}],"scroll-mbe":[{"scroll-mbe":G()}],"scroll-mt":[{"scroll-mt":G()}],"scroll-mr":[{"scroll-mr":G()}],"scroll-mb":[{"scroll-mb":G()}],"scroll-ml":[{"scroll-ml":G()}],"scroll-p":[{"scroll-p":G()}],"scroll-px":[{"scroll-px":G()}],"scroll-py":[{"scroll-py":G()}],"scroll-ps":[{"scroll-ps":G()}],"scroll-pe":[{"scroll-pe":G()}],"scroll-pbs":[{"scroll-pbs":G()}],"scroll-pbe":[{"scroll-pbe":G()}],"scroll-pt":[{"scroll-pt":G()}],"scroll-pr":[{"scroll-pr":G()}],"scroll-pb":[{"scroll-pb":G()}],"scroll-pl":[{"scroll-pl":G()}],"snap-align":[{snap:["start","end","center","align-none"]}],"snap-stop":[{snap:["normal","always"]}],"snap-type":[{snap:["none","x","y","both"]}],"snap-strictness":[{snap:["mandatory","proximity"]}],touch:[{touch:["auto","none","manipulation"]}],"touch-x":[{"touch-pan":["x","left","right"]}],"touch-y":[{"touch-pan":["y","up","down"]}],"touch-pz":["touch-pinch-zoom"],select:[{select:["none","text","all","auto"]}],"will-change":[{"will-change":["auto","scroll","contents","transform",R,Q]}],fill:[{fill:["none",...ea()]}],"stroke-w":[{stroke:[I,U,B,D]}],stroke:[{stroke:["none",...ea()]}],"forced-color-adjust":[{"forced-color-adjust":["auto","none"]}]},conflictingClassGroups:{overflow:["overflow-x","overflow-y"],overscroll:["overscroll-x","overscroll-y"],inset:["inset-x","inset-y","inset-bs","inset-be","start","end","top","right","bottom","left"],"inset-x":["right","left"],"inset-y":["top","bottom"],flex:["basis","grow","shrink"],gap:["gap-x","gap-y"],p:["px","py","ps","pe","pbs","pbe","pt","pr","pb","pl"],px:["pr","pl"],py:["pt","pb"],m:["mx","my","ms","me","mbs","mbe","mt","mr","mb","ml"],mx:["mr","ml"],my:["mt","mb"],size:["w","h"],"font-size":["leading"],"fvn-normal":["fvn-ordinal","fvn-slashed-zero","fvn-figure","fvn-spacing","fvn-fraction"],"fvn-ordinal":["fvn-normal"],"fvn-slashed-zero":["fvn-normal"],"fvn-figure":["fvn-normal"],"fvn-spacing":["fvn-normal"],"fvn-fraction":["fvn-normal"],"line-clamp":["display","overflow"],rounded:["rounded-s","rounded-e","rounded-t","rounded-r","rounded-b","rounded-l","rounded-ss","rounded-se","rounded-ee","rounded-es","rounded-tl","rounded-tr","rounded-br","rounded-bl"],"rounded-s":["rounded-ss","rounded-es"],"rounded-e":["rounded-se","rounded-ee"],"rounded-t":["rounded-tl","rounded-tr"],"rounded-r":["rounded-tr","rounded-br"],"rounded-b":["rounded-br","rounded-bl"],"rounded-l":["rounded-tl","rounded-bl"],"border-spacing":["border-spacing-x","border-spacing-y"],"border-w":["border-w-x","border-w-y","border-w-s","border-w-e","border-w-bs","border-w-be","border-w-t","border-w-r","border-w-b","border-w-l"],"border-w-x":["border-w-r","border-w-l"],"border-w-y":["border-w-t","border-w-b"],"border-color":["border-color-x","border-color-y","border-color-s","border-color-e","border-color-bs","border-color-be","border-color-t","border-color-r","border-color-b","border-color-l"],"border-color-x":["border-color-r","border-color-l"],"border-color-y":["border-color-t","border-color-b"],translate:["translate-x","translate-y","translate-none"],"translate-none":["translate","translate-x","translate-y","translate-z"],"scroll-m":["scroll-mx","scroll-my","scroll-ms","scroll-me","scroll-mbs","scroll-mbe","scroll-mt","scroll-mr","scroll-mb","scroll-ml"],"scroll-mx":["scroll-mr","scroll-ml"],"scroll-my":["scroll-mt","scroll-mb"],"scroll-p":["scroll-px","scroll-py","scroll-ps","scroll-pe","scroll-pbs","scroll-pbe","scroll-pt","scroll-pr","scroll-pb","scroll-pl"],"scroll-px":["scroll-pr","scroll-pl"],"scroll-py":["scroll-pt","scroll-pb"],touch:["touch-x","touch-y","touch-pz"],"touch-x":["touch"],"touch-y":["touch"],"touch-pz":["touch"]},conflictingClassGroupModifiers:{"font-size":["leading"]},orderSensitiveModifiers:["*","**","after","backdrop","before","details-content","file","first-letter","first-line","marker","placeholder","selection"]}})}}]);