elanous 0.2.22 → 0.2.24

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 (803) hide show
  1. package/NOTICE +7 -0
  2. package/README.md +32 -22
  3. package/apps/pwa/out/404/index.html +1 -1
  4. package/apps/pwa/out/404.html +1 -1
  5. package/apps/pwa/out/_next/static/{aBi6EyMtLsrl7J8eH4kF7 → Q-7iofoxOEv1WX18S35of}/_buildManifest.js +1 -1
  6. package/apps/pwa/out/_next/static/chunks/{119fc678.6f591cdb84ca5791.js → 0673cc54.8e2ef1c23e49e190.js} +1 -1
  7. package/apps/pwa/out/_next/static/chunks/{a9f2b54d-40c16bd0efdb04b8.js → 0a09e062-34f747a17d8d8c2e.js} +1 -1
  8. package/apps/pwa/out/_next/static/chunks/{f8626309.a4e5d362b1d55e59.js → 0e3acd34.d42b2ef87fdf4234.js} +1 -1
  9. package/apps/pwa/out/_next/static/chunks/1168.a0fb3d9db76c00bd.js +77 -0
  10. package/apps/pwa/out/_next/static/chunks/{7175-350f4ce2873bc038.js → 1325-dc3f3c21eb181cb4.js} +1 -1
  11. package/apps/pwa/out/_next/static/chunks/1357.a843c41d2cd7ec31.js +34 -0
  12. package/apps/pwa/out/_next/static/chunks/1430.53f49882b17607c2.js +24 -0
  13. package/apps/pwa/out/_next/static/chunks/1459-be6509b3419d8a9f.js +1 -0
  14. package/apps/pwa/out/_next/static/chunks/{6767.8e6c5f6e744fcd9f.js → 1505.5826671109111e75.js} +2 -2
  15. package/apps/pwa/out/_next/static/chunks/153.0a4e3cd516930491.js +1 -0
  16. package/apps/pwa/out/_next/static/chunks/1572.7bc291352e241a45.js +1 -0
  17. package/apps/pwa/out/_next/static/chunks/1593-d07ad068c120dfb0.js +1 -0
  18. package/apps/pwa/out/_next/static/chunks/1608.b7c900baa56cab32.js +1 -0
  19. package/apps/pwa/out/_next/static/chunks/1615-4d8156febaac4b35.js +1 -0
  20. package/apps/pwa/out/_next/static/chunks/1646.e03f0fbc26bc72f6.js +1 -0
  21. package/apps/pwa/out/_next/static/chunks/{7327-2d69fb321ba73389.js → 1669-da843ed73aa301f5.js} +1 -1
  22. package/apps/pwa/out/_next/static/chunks/176.13ba0659e3e96fd4.js +1 -0
  23. package/apps/pwa/out/_next/static/chunks/1990.9c60f495ef33c070.js +36 -0
  24. package/apps/pwa/out/_next/static/chunks/2042e469.f86158dd5c1e51a1.js +122 -0
  25. package/apps/pwa/out/_next/static/chunks/2528.0af5c0e1fad88df6.js +1 -0
  26. package/apps/pwa/out/_next/static/chunks/2543-28ec6aeb80a5e1e1.js +1 -0
  27. package/apps/pwa/out/_next/static/chunks/2561.43c99d6ee914ee6a.js +62 -0
  28. package/apps/pwa/out/_next/static/chunks/2638.b39ab2f674caa1a5.js +1 -0
  29. package/apps/pwa/out/_next/static/chunks/272-0eed0fb0aab716b6.js +1 -0
  30. package/apps/pwa/out/_next/static/chunks/{7899.597af4a9996c907f.js → 2721.bc9a8f36bd85c07a.js} +1 -1
  31. package/apps/pwa/out/_next/static/chunks/2778.67e0c1d484189ccf.js +1 -0
  32. package/apps/pwa/out/_next/static/chunks/2841.10ff309f6a3168af.js +1 -0
  33. package/apps/pwa/out/_next/static/chunks/2886-9639f97d523d752a.js +1 -0
  34. package/apps/pwa/out/_next/static/chunks/2978.57fb87ce21cc5a85.js +1 -0
  35. package/apps/pwa/out/_next/static/chunks/3664.15f968c39d15bd28.js +149 -0
  36. package/apps/pwa/out/_next/static/chunks/3786-935eb3fcde90e496.js +1 -0
  37. package/apps/pwa/out/_next/static/chunks/3813.df4a01ae89c6f63f.js +1 -0
  38. package/apps/pwa/out/_next/static/chunks/3961-aaae04ed1d32622f.js +1 -0
  39. package/apps/pwa/out/_next/static/chunks/3992.f79c70480e8c4077.js +309 -0
  40. package/apps/pwa/out/_next/static/chunks/40-413e8641de9ed1e5.js +1 -0
  41. package/apps/pwa/out/_next/static/chunks/4054-521f11a503daed64.js +1 -0
  42. package/apps/pwa/out/_next/static/chunks/4315.e7356f34c7d8ec79.js +1 -0
  43. package/apps/pwa/out/_next/static/chunks/4489-bf629de6f04f7681.js +1 -0
  44. package/apps/pwa/out/_next/static/chunks/4540.557733cc88c6a82b.js +1 -0
  45. package/apps/pwa/out/_next/static/chunks/462.0275b4338c5b6337.js +1 -0
  46. package/apps/pwa/out/_next/static/chunks/4658-7ed9266098a787e4.js +1 -0
  47. package/apps/pwa/out/_next/static/chunks/4945-0f4046cfc3228ea3.js +1 -0
  48. package/apps/pwa/out/_next/static/chunks/{d70879db.c66c56a95a91efc6.js → 4c5e95ce.83e9b16add6fcd8c.js} +1 -1
  49. package/apps/pwa/out/_next/static/chunks/5105-18b4165c5d3a86b0.js +1 -0
  50. package/apps/pwa/out/_next/static/chunks/5205-6992210fe31f45f4.js +1 -0
  51. package/apps/pwa/out/_next/static/chunks/5287-72898b126d722457.js +1 -0
  52. package/apps/pwa/out/_next/static/chunks/{6158.566c890adc06a459.js → 5313.1697309c532b9856.js} +2 -2
  53. package/apps/pwa/out/_next/static/chunks/{79b78388.663188133449d707.js → 53746282.1be36038d1abd949.js} +1 -1
  54. package/apps/pwa/out/_next/static/chunks/5474.991b90688c3cb321.js +1 -0
  55. package/apps/pwa/out/_next/static/chunks/5544-871146192d095594.js +1 -0
  56. package/apps/pwa/out/_next/static/chunks/5578.ac963634373b28c6.js +286 -0
  57. package/apps/pwa/out/_next/static/chunks/5935.d5e8ca3e096772e8.js +1 -0
  58. package/apps/pwa/out/_next/static/chunks/5967-c0a80f8ffe5d4050.js +1 -0
  59. package/apps/pwa/out/_next/static/chunks/{1268.0840ff91e083fcbd.js → 5974.360f8441eb0ac1ec.js} +1 -1
  60. package/apps/pwa/out/_next/static/chunks/6006.84e8b418a7a0db97.js +1 -0
  61. package/apps/pwa/out/_next/static/chunks/6013-1267ba7454d6764b.js +1 -0
  62. package/apps/pwa/out/_next/static/chunks/6038-1e0f7ee1086da4cf.js +1 -0
  63. package/apps/pwa/out/_next/static/chunks/617.709dd0019fe99796.js +1 -0
  64. package/apps/pwa/out/_next/static/chunks/6261.fb9bf94947094636.js +74 -0
  65. package/apps/pwa/out/_next/static/chunks/6411.1966866fae31ffa9.js +1 -0
  66. package/apps/pwa/out/_next/static/chunks/6481-b829d99aa8d158f5.js +1 -0
  67. package/apps/pwa/out/_next/static/chunks/6541.2b7daa043100d0fa.js +1 -0
  68. package/apps/pwa/out/_next/static/chunks/6571-926ddf024a6ad5df.js +1 -0
  69. package/apps/pwa/out/_next/static/chunks/6597.2d7a6d77ab485b27.js +64 -0
  70. package/apps/pwa/out/_next/static/chunks/67.5dd2dc543c2fa3de.js +1 -0
  71. package/apps/pwa/out/_next/static/chunks/{9832.2ab2e818013574c7.js → 6702.ebbd165d5e4a4a14.js} +1 -1
  72. package/apps/pwa/out/_next/static/chunks/6777-312496b0d774719b.js +1 -0
  73. package/apps/pwa/out/_next/static/chunks/681.0116f7036cfb4e8d.js +32 -0
  74. package/apps/pwa/out/_next/static/chunks/6871.30b2bf23b3126e36.js +24 -0
  75. package/apps/pwa/out/_next/static/chunks/6882.737d366d54e29d83.js +1 -0
  76. package/apps/pwa/out/_next/static/chunks/7035.54c2c535164b1c9b.js +1 -0
  77. package/apps/pwa/out/_next/static/chunks/7086-8bfa7e8f796a03d9.js +1 -0
  78. package/apps/pwa/out/_next/static/chunks/7126.5e5599f251726b67.js +93 -0
  79. package/apps/pwa/out/_next/static/chunks/7203-47ff0740a293e284.js +1 -0
  80. package/apps/pwa/out/_next/static/chunks/7268.017f49dafb5f0ff3.js +1 -0
  81. package/apps/pwa/out/_next/static/chunks/7355.5d65a87e9567ae08.js +1 -0
  82. package/apps/pwa/out/_next/static/chunks/7392.4018c2a62177f296.js +1 -0
  83. package/apps/pwa/out/_next/static/chunks/{6110.1297d4093fdfbb0d.js → 740.90b31555290236a9.js} +2 -2
  84. package/apps/pwa/out/_next/static/chunks/7471.3a3d1be50559cfb8.js +148 -0
  85. package/apps/pwa/out/_next/static/chunks/7500.73489a345cef2201.js +226 -0
  86. package/apps/pwa/out/_next/static/chunks/{9070.067c106528ec1ae6.js → 7518.49161e8f5814abdb.js} +1 -1
  87. package/apps/pwa/out/_next/static/chunks/7565.c2f72a15c1ed0396.js +27 -0
  88. package/apps/pwa/out/_next/static/chunks/7651.6d1c984d3d8587a4.js +1 -0
  89. package/apps/pwa/out/_next/static/chunks/7713.7ab863ed59b2d661.js +1 -0
  90. package/apps/pwa/out/_next/static/chunks/7793.d7cd2026767ddd54.js +115 -0
  91. package/apps/pwa/out/_next/static/chunks/7837.c7c267e5dceadb11.js +1 -0
  92. package/apps/pwa/out/_next/static/chunks/7891.09266382daf70d1c.js +1 -0
  93. package/apps/pwa/out/_next/static/chunks/7905.b230b9d06cb4ad5d.js +1 -0
  94. package/apps/pwa/out/_next/static/chunks/7990-cbf6a01bcbdcb7e6.js +1 -0
  95. package/apps/pwa/out/_next/static/chunks/8119-819c549e0c197786.js +1 -0
  96. package/apps/pwa/out/_next/static/chunks/8186-74ea19a3700d04a8.js +1 -0
  97. package/apps/pwa/out/_next/static/chunks/{8194.484f51e273d9abd2.js → 8264.00e434fbd02e9311.js} +16 -16
  98. package/apps/pwa/out/_next/static/chunks/8267-e7b3262b735ae106.js +1 -0
  99. package/apps/pwa/out/_next/static/chunks/8386.86518e55b75f7cf5.js +8 -0
  100. package/apps/pwa/out/_next/static/chunks/{088d8e8a.8069543d082bec12.js → 83cfc5c8.349535543c1548b6.js} +1 -1
  101. package/apps/pwa/out/_next/static/chunks/8437.ba6eeeb29590042f.js +23 -0
  102. package/apps/pwa/out/_next/static/chunks/{1948.5f35b39eef222a94.js → 8438.ee7f0df3b3f6fcb4.js} +1 -1
  103. package/apps/pwa/out/_next/static/chunks/8469-1500be57e582296f.js +1 -0
  104. package/apps/pwa/out/_next/static/chunks/8483-7164cecdaf178ca6.js +1 -0
  105. package/apps/pwa/out/_next/static/chunks/{4588.ad3364cb7fb97ada.js → 8532.a86e99acf9b761cb.js} +2 -2
  106. package/apps/pwa/out/_next/static/chunks/8569.b853a8daa8f31d12.js +1 -0
  107. package/apps/pwa/out/_next/static/chunks/8722-4c940f02c496ad36.js +1 -0
  108. package/apps/pwa/out/_next/static/chunks/887-41d0dcf5af48c628.js +1 -0
  109. package/apps/pwa/out/_next/static/chunks/8925-2abfb48af477fb7f.js +1 -0
  110. package/apps/pwa/out/_next/static/chunks/{88729267.9c6c000157c83f2f.js → 89849432.9eaa2f4c9c010965.js} +3 -3
  111. package/apps/pwa/out/_next/static/chunks/9039.da86361496797522.js +90 -0
  112. package/apps/pwa/out/_next/static/chunks/905.d5745a25884754d4.js +94 -0
  113. package/apps/pwa/out/_next/static/chunks/9089-d909f3d4478b0628.js +1 -0
  114. package/apps/pwa/out/_next/static/chunks/9096.dc5c7a267f83790c.js +41 -0
  115. package/apps/pwa/out/_next/static/chunks/93.a567257b6bdb7fe4.js +1 -0
  116. package/apps/pwa/out/_next/static/chunks/9320.419acb9665b46597.js +287 -0
  117. package/apps/pwa/out/_next/static/chunks/9356.b8ceda6634612ff8.js +79 -0
  118. package/apps/pwa/out/_next/static/chunks/94.e9e1043b35cd3eed.js +1 -0
  119. package/apps/pwa/out/_next/static/chunks/9400-7498ea90b2e6ee8f.js +1 -0
  120. package/apps/pwa/out/_next/static/chunks/{3522-1de1319d028ac89c.js → 9502-32c5dc22e8f120f5.js} +3 -3
  121. package/apps/pwa/out/_next/static/chunks/9930-58644af9c813d6e1.js +1 -0
  122. package/apps/pwa/out/_next/static/chunks/9932.367cf4725fedd6e2.js +1 -0
  123. package/apps/pwa/out/_next/static/chunks/9935.1628b904cdc8ce0e.js +104 -0
  124. package/apps/pwa/out/_next/static/chunks/{7630.2b9a68659053ff4e.js → 9976.8f28864317639fe6.js} +16 -16
  125. package/apps/pwa/out/_next/static/chunks/app/_not-found/page-a2aa8709d193ee0d.js +1 -0
  126. package/apps/pwa/out/_next/static/chunks/app/approvals/page-3b9fc39362473ae7.js +1 -0
  127. package/apps/pwa/out/_next/static/chunks/app/autopilot/page-f2b62c19ca68fef8.js +1 -0
  128. package/apps/pwa/out/_next/static/chunks/app/board/page-d7602d489edf5f37.js +1 -0
  129. package/apps/pwa/out/_next/static/chunks/app/botlab/page-24282bf9f90031a5.js +1 -0
  130. package/apps/pwa/out/_next/static/chunks/app/bots/page-8b7c5ab6b5bc8d64.js +1 -0
  131. package/apps/pwa/out/_next/static/chunks/app/ceo/page-4eb84d454f8c3415.js +1 -0
  132. package/apps/pwa/out/_next/static/chunks/app/chat/page-b2e494bdad57fcb5.js +1 -0
  133. package/apps/pwa/out/_next/static/chunks/app/consult/{page-80ed511e02c81412.js → page-c0ab229673a8b0eb.js} +1 -1
  134. package/apps/pwa/out/_next/static/chunks/app/control/page-3e2b45f3c36dbac4.js +1 -0
  135. package/apps/pwa/out/_next/static/chunks/app/decisions/page-c22aa511b28743ad.js +1 -0
  136. package/apps/pwa/out/_next/static/chunks/app/design-check/page-26345242e4049f55.js +1 -0
  137. package/apps/pwa/out/_next/static/chunks/app/editor/page-bf88c0f558d8ef54.js +1 -0
  138. package/apps/pwa/out/_next/static/chunks/app/exec/page-52fec523e5b5d3ad.js +1 -0
  139. package/apps/pwa/out/_next/static/chunks/app/field/page-67723dfdcde92b31.js +1 -0
  140. package/apps/pwa/out/_next/static/chunks/app/healthz/route-a2aa8709d193ee0d.js +1 -0
  141. package/apps/pwa/out/_next/static/chunks/app/inside/page-22725e2570f1126b.js +1 -0
  142. package/apps/pwa/out/_next/static/chunks/app/intake/page-1891335950d68b70.js +1 -0
  143. package/apps/pwa/out/_next/static/chunks/app/layout-3267af1ebdc73cf5.js +1 -0
  144. package/apps/pwa/out/_next/static/chunks/app/live/page-c314b75c11234998.js +1 -0
  145. package/apps/pwa/out/_next/static/chunks/app/live-run/page-9f9c85415f61782b.js +1 -0
  146. package/apps/pwa/out/_next/static/chunks/app/loops/page-c1d4276059085587.js +1 -0
  147. package/apps/pwa/out/_next/static/chunks/app/market/page-833aab587f26ad4c.js +1 -0
  148. package/apps/pwa/out/_next/static/chunks/app/missions/[id]/page-8526c17ae38e6a50.js +1 -0
  149. package/apps/pwa/out/_next/static/chunks/app/morning/page-f998637a8402115c.js +1 -0
  150. package/apps/pwa/out/_next/static/chunks/app/not-found-b7bb53828b17b335.js +1 -0
  151. package/apps/pwa/out/_next/static/chunks/app/observatory/page-1b1850de0257e46d.js +1 -0
  152. package/apps/pwa/out/_next/static/chunks/app/ops/checklist/page-6f23159fedb41f67.js +1 -0
  153. package/apps/pwa/out/_next/static/chunks/app/ops/release/page-1d809a87139dd024.js +1 -0
  154. package/apps/pwa/out/_next/static/chunks/app/ops/seats/page-da9e570234d481fd.js +1 -0
  155. package/apps/pwa/out/_next/static/chunks/app/outputs/page-b92caddb5c715f30.js +1 -0
  156. package/apps/pwa/out/_next/static/chunks/app/page-8ce3a38e210b810a.js +1 -0
  157. package/apps/pwa/out/_next/static/chunks/app/reflection/page-57ffeeb6019440fd.js +1 -0
  158. package/apps/pwa/out/_next/static/chunks/app/scheduler/page-abbb417bf514630b.js +1 -0
  159. package/apps/pwa/out/_next/static/chunks/app/sessions/page-2c2b3f29cec1efa4.js +1 -0
  160. package/apps/pwa/out/_next/static/chunks/app/settings/devices/page-9369279f72fc7b51.js +1 -0
  161. package/apps/pwa/out/_next/static/chunks/app/settings/page-64861f14039499c3.js +1 -0
  162. package/apps/pwa/out/_next/static/chunks/app/setup/done/page-ddc4c93efd8ab94b.js +1 -0
  163. package/apps/pwa/out/_next/static/chunks/app/setup/layout-a2aa8709d193ee0d.js +1 -0
  164. package/apps/pwa/out/_next/static/chunks/app/setup/page-901a1391b81053bc.js +1 -0
  165. package/apps/pwa/out/_next/static/chunks/app/share/page-68d9bbaac9841a58.js +1 -0
  166. package/apps/pwa/out/_next/static/chunks/app/showroom/page-b5c0c996f329371e.js +1 -0
  167. package/apps/pwa/out/_next/static/chunks/app/tasks/page-89881ccbcf728978.js +1 -0
  168. package/apps/pwa/out/_next/static/chunks/app/term/page-0e87a803b3d7165e.js +1 -0
  169. package/apps/pwa/out/_next/static/chunks/app/today/page-58d4e5cb30ef4871.js +1 -0
  170. package/apps/pwa/out/_next/static/chunks/app/trace/page-02ce4c3b5f39e4d2.js +1 -0
  171. package/apps/pwa/out/_next/static/chunks/app/vault/page-e620d1bb8eadcec2.js +1 -0
  172. package/apps/pwa/out/_next/static/chunks/app/workflows/chat-ui/page-acf868c64d77f950.js +1 -0
  173. package/apps/pwa/out/_next/static/chunks/app/workflows/page-54fa605fa6dba457.js +1 -0
  174. package/apps/pwa/out/_next/static/chunks/app/workspace/page-bc79f0833533fa84.js +1 -0
  175. package/apps/pwa/out/_next/static/chunks/app/worktrees/page-d5c4398eea03d8f3.js +1 -0
  176. package/apps/pwa/out/_next/static/chunks/b4e12462-5fab4a813a63dadd.js +1 -0
  177. package/apps/pwa/out/_next/static/chunks/cd39fa05.fac4545f42a3ef70.js +1 -0
  178. package/apps/pwa/out/_next/static/chunks/{f6b7c9ba.64a895b8b2fedbdc.js → ce383d63.d2ede338788ed18e.js} +1 -1
  179. package/apps/pwa/out/_next/static/chunks/{framework-5c169757551134ed.js → framework-b2763b10dc6b3836.js} +1 -1
  180. package/apps/pwa/out/_next/static/chunks/main-app-27893e93b0ec193d.js +1 -0
  181. package/apps/pwa/out/_next/static/chunks/main-f280047194e1daf8.js +1 -0
  182. package/apps/pwa/out/_next/static/chunks/pages/_app-e90eff2d0b70564c.js +1 -0
  183. package/apps/pwa/out/_next/static/chunks/pages/_error-70f2d654b3435d34.js +1 -0
  184. package/apps/pwa/out/_next/static/chunks/webpack-4794f053bd5e4230.js +1 -0
  185. package/apps/pwa/out/_next/static/css/72becfd42807b50d.css +1 -0
  186. package/apps/pwa/out/_next/static/css/d0a48dc099ed86cf.css +1 -0
  187. package/apps/pwa/out/approvals/index.html +1 -1
  188. package/apps/pwa/out/approvals/index.txt +23 -23
  189. package/apps/pwa/out/autopilot/index.html +1 -1
  190. package/apps/pwa/out/autopilot/index.txt +23 -23
  191. package/apps/pwa/out/board/index.html +1 -1
  192. package/apps/pwa/out/board/index.txt +23 -23
  193. package/apps/pwa/out/botlab/index.html +1 -1
  194. package/apps/pwa/out/botlab/index.txt +22 -22
  195. package/apps/pwa/out/bots/index.html +1 -1
  196. package/apps/pwa/out/bots/index.txt +22 -22
  197. package/apps/pwa/out/ceo/index.html +1 -1
  198. package/apps/pwa/out/ceo/index.txt +23 -23
  199. package/apps/pwa/out/chat/index.html +1 -1
  200. package/apps/pwa/out/chat/index.txt +22 -22
  201. package/apps/pwa/out/consult/index.html +1 -1
  202. package/apps/pwa/out/consult/index.txt +23 -23
  203. package/apps/pwa/out/control/index.html +1 -1
  204. package/apps/pwa/out/control/index.txt +23 -23
  205. package/apps/pwa/out/decisions/index.html +1 -1
  206. package/apps/pwa/out/decisions/index.txt +22 -22
  207. package/apps/pwa/out/design-check/index.html +1 -1
  208. package/apps/pwa/out/design-check/index.txt +23 -23
  209. package/apps/pwa/out/editor/index.html +1 -1
  210. package/apps/pwa/out/editor/index.txt +24 -23
  211. package/apps/pwa/out/exec/index.html +1 -1
  212. package/apps/pwa/out/exec/index.txt +23 -23
  213. package/apps/pwa/out/field/index.html +1 -1
  214. package/apps/pwa/out/field/index.txt +23 -23
  215. package/apps/pwa/out/healthz +1 -1
  216. package/apps/pwa/out/index.html +1 -1
  217. package/apps/pwa/out/index.txt +22 -22
  218. package/apps/pwa/out/inside/index.html +1 -1
  219. package/apps/pwa/out/inside/index.txt +22 -22
  220. package/apps/pwa/out/intake/index.html +1 -1
  221. package/apps/pwa/out/intake/index.txt +23 -23
  222. package/apps/pwa/out/live/index.html +1 -1
  223. package/apps/pwa/out/live/index.txt +23 -23
  224. package/apps/pwa/out/live-run/index.html +1 -1
  225. package/apps/pwa/out/live-run/index.txt +24 -23
  226. package/apps/pwa/out/loops/index.html +1 -1
  227. package/apps/pwa/out/loops/index.txt +22 -22
  228. package/apps/pwa/out/market/index.html +1 -1
  229. package/apps/pwa/out/market/index.txt +22 -22
  230. package/apps/pwa/out/missions/placeholder/index.html +1 -1
  231. package/apps/pwa/out/missions/placeholder/index.txt +22 -22
  232. package/apps/pwa/out/morning/index.html +1 -1
  233. package/apps/pwa/out/morning/index.txt +23 -23
  234. package/apps/pwa/out/observatory/index.html +1 -1
  235. package/apps/pwa/out/observatory/index.txt +23 -23
  236. package/apps/pwa/out/ops/checklist/index.html +1 -1
  237. package/apps/pwa/out/ops/checklist/index.txt +22 -22
  238. package/apps/pwa/out/ops/release/index.html +1 -1
  239. package/apps/pwa/out/ops/release/index.txt +22 -22
  240. package/apps/pwa/out/ops/seats/index.html +1 -1
  241. package/apps/pwa/out/ops/seats/index.txt +22 -22
  242. package/apps/pwa/out/outputs/index.html +1 -1
  243. package/apps/pwa/out/outputs/index.txt +22 -22
  244. package/apps/pwa/out/reflection/index.html +1 -1
  245. package/apps/pwa/out/reflection/index.txt +23 -23
  246. package/apps/pwa/out/scheduler/index.html +1 -1
  247. package/apps/pwa/out/scheduler/index.txt +23 -23
  248. package/apps/pwa/out/sessions/index.html +1 -1
  249. package/apps/pwa/out/sessions/index.txt +22 -22
  250. package/apps/pwa/out/settings/devices/index.html +1 -1
  251. package/apps/pwa/out/settings/devices/index.txt +23 -23
  252. package/apps/pwa/out/settings/index.html +1 -1
  253. package/apps/pwa/out/settings/index.txt +23 -23
  254. package/apps/pwa/out/setup/done/index.html +1 -1
  255. package/apps/pwa/out/setup/done/index.txt +23 -23
  256. package/apps/pwa/out/setup/index.html +1 -1
  257. package/apps/pwa/out/setup/index.txt +23 -23
  258. package/apps/pwa/out/share/index.html +1 -1
  259. package/apps/pwa/out/share/index.txt +23 -23
  260. package/apps/pwa/out/showroom/index.html +1 -1
  261. package/apps/pwa/out/showroom/index.txt +22 -22
  262. package/apps/pwa/out/tasks/index.html +1 -1
  263. package/apps/pwa/out/tasks/index.txt +23 -23
  264. package/apps/pwa/out/term/index.html +1 -1
  265. package/apps/pwa/out/term/index.txt +23 -23
  266. package/apps/pwa/out/today/index.html +1 -1
  267. package/apps/pwa/out/today/index.txt +23 -23
  268. package/apps/pwa/out/trace/index.html +1 -1
  269. package/apps/pwa/out/trace/index.txt +23 -23
  270. package/apps/pwa/out/vault/index.html +1 -1
  271. package/apps/pwa/out/vault/index.txt +23 -23
  272. package/apps/pwa/out/workflows/chat-ui/index.html +1 -1
  273. package/apps/pwa/out/workflows/chat-ui/index.txt +23 -23
  274. package/apps/pwa/out/workflows/index.html +1 -1
  275. package/apps/pwa/out/workflows/index.txt +23 -23
  276. package/apps/pwa/out/workspace/index.html +1 -1
  277. package/apps/pwa/out/workspace/index.txt +23 -23
  278. package/apps/pwa/out/worktrees/index.html +1 -1
  279. package/apps/pwa/out/worktrees/index.txt +23 -23
  280. package/catalog/models/anthropic/claude-haiku-5-5.yaml +32 -0
  281. package/catalog/models/anthropic/claude-opus-5-5.yaml +5 -0
  282. package/catalog/models/anthropic/claude-sonnet-5-5.yaml +31 -0
  283. package/catalog/models/anthropic/claude-sonnet-5.yaml +8 -2
  284. package/catalog/models/openai/gpt-6-astra.yaml +6 -0
  285. package/catalog/models/openai/gpt-6-luna.yaml +6 -0
  286. package/catalog/models/openai/gpt-6-sol.yaml +6 -0
  287. package/catalog/models/openrouter/deepseek-v4-pro-0813.yaml +39 -0
  288. package/catalog/models/openrouter/deepseek-v4.1-flash.yaml +38 -0
  289. package/catalog/models/openrouter/glm-5.3-flash.yaml +35 -0
  290. package/catalog/providers/openrouter.yaml +2 -0
  291. package/graphs/implement-loop.yaml +31 -0
  292. package/graphs/log-horizon/log-horizon-watch.yaml +25 -0
  293. package/graphs/log-horizon/recipes.yaml +3 -0
  294. package/graphs/ops/harness-gc.yaml +17 -0
  295. package/graphs/ops/recipes.yaml +3 -0
  296. package/graphs/overlays/README.md +1 -1
  297. package/graphs/overlays/stop-heal-ladder.yaml +105 -0
  298. package/graphs/release/recipes.yaml +1 -1
  299. package/graphs/release/release-loop.yaml +6 -2
  300. package/graphs/release-rehearsal/recipes.yaml +12 -0
  301. package/graphs/release-rehearsal/release-rehearsal.yaml +17 -0
  302. package/package.json +4 -1
  303. package/scripts/add-api-key.sh +1 -1
  304. package/scripts/bench-report.ts +82 -3
  305. package/scripts/ci-typecheck-changed.ts +80 -14
  306. package/scripts/fleet/bedrock-pod-secret.ts +122 -0
  307. package/scripts/fleet/node-setup-linux.sh +97 -0
  308. package/scripts/fleet/node-setup.sh +11 -0
  309. package/scripts/fleet/zai-pod-secret.ts +86 -0
  310. package/scripts/hq/hq-fence-wrapper.sh +148 -0
  311. package/scripts/land-global-checks.ts +3 -0
  312. package/scripts/lib/typecheck-ratchet.ts +51 -0
  313. package/scripts/measure-log-diet-2.ts +213 -0
  314. package/scripts/measure-tsc-affected-roots.ts +289 -0
  315. package/scripts/openai-relay-server.ts +5 -1
  316. package/scripts/release-loop/docs-node.ts +258 -43
  317. package/scripts/release-loop/gate-executor.ts +28 -0
  318. package/scripts/release-loop/gate-method.ts +59 -0
  319. package/scripts/release-loop/gate-node.ts +335 -33
  320. package/scripts/release-loop/gate-wall.ts +208 -0
  321. package/scripts/release-loop/known-issues-node.ts +53 -8
  322. package/scripts/release-loop/publish-at.ts +14 -0
  323. package/scripts/release-loop/publish-node.ts +17 -2
  324. package/scripts/release-loop/resume-release.ts +40 -4
  325. package/scripts/release-loop/resume.ts +94 -0
  326. package/scripts/release-loop/shard-plan.ts +3 -11
  327. package/scripts/release-loop/tui-node-checks.ts +22 -0
  328. package/scripts/release-loop/unattended-release.ts +29 -7
  329. package/scripts/rhythm/daily.ts +51 -2
  330. package/scripts/rhythm/weekly.ts +3 -2
  331. package/scripts/tsc-baseline-cache.ts +147 -0
  332. package/scripts/tsc-main-safety-net.ts +189 -0
  333. package/scripts/usage-rollup.ts +64 -8
  334. package/src/acp/codex-plugins.ts +48 -6
  335. package/src/agent/monad-agent-turn.ts +67 -5
  336. package/src/agent/run-context.ts +20 -0
  337. package/src/agent/tool-profile.ts +28 -2
  338. package/src/agent-mission/acp-judge.ts +8 -2
  339. package/src/agent-mission/capabilities-cli.ts +16 -1
  340. package/src/agent-mission/driver.ts +19 -4
  341. package/src/agent-mission/pr-review-watch.ts +6 -2
  342. package/src/agent-mission/resource-ladder.ts +8 -3
  343. package/src/agent-mission/review-loop.ts +41 -7
  344. package/src/agent-substrate/acp-implementer.ts +139 -0
  345. package/src/agent-substrate/acp-reviewer.ts +17 -8
  346. package/src/agent-substrate/pr-reviewer.ts +191 -28
  347. package/src/agent-substrate/review-intent.ts +6 -4
  348. package/src/agent-substrate/self-review-cli.ts +155 -21
  349. package/src/agent-substrate/shard-boundary-intent.ts +92 -26
  350. package/src/ask-user-question/pending-questions.ts +8 -2
  351. package/src/autopilot/build/llm-conflict-merge.ts +216 -12
  352. package/src/autopilot/codebase-grounding.ts +44 -0
  353. package/src/autopilot/llm-control-brain.ts +13 -1
  354. package/src/autopilot/mission-codebase-gate.ts +8 -77
  355. package/src/autopilot/mission-critique.ts +18 -5
  356. package/src/autopilot/mission-feasibility-negotiate.ts +11 -10
  357. package/src/autopilot/mission-trace.ts +12 -1
  358. package/src/autopilot/pr-manager.ts +12 -3
  359. package/src/autopilot/system-lookback-run.ts +16 -10
  360. package/src/bench/bench.ts +183 -0
  361. package/src/boot/acp-server.ts +4 -7
  362. package/src/boot/acp-socket-path.ts +7 -0
  363. package/src/briefing/brief-items.ts +21 -13
  364. package/src/budget/fetchers/grok.ts +15 -5
  365. package/src/budget/llm-cost.ts +37 -5
  366. package/src/budget/types.ts +8 -2
  367. package/src/budget/unified-usage.ts +88 -6
  368. package/src/chat/index.ts +12 -3
  369. package/src/cli/agent-cli.ts +20 -0
  370. package/src/cli/bench-cli.ts +34 -0
  371. package/src/cli/brief-cli.ts +27 -21
  372. package/src/cli/cli-user-error.ts +9 -2
  373. package/src/cli/guardian-cli.ts +26 -1
  374. package/src/cli/image-cli.ts +101 -0
  375. package/src/cli/log-event-names.ts +7 -0
  376. package/src/cli/logs-cli.ts +1 -0
  377. package/src/cli/mcp-login.ts +111 -37
  378. package/src/cli/plugin-cli.ts +21 -1
  379. package/src/cli/pod-cli.ts +26 -0
  380. package/src/cli/pr-cli.ts +90 -5
  381. package/src/cli/pr-land-overlap-evidence.ts +279 -0
  382. package/src/cli/release-cli.ts +63 -12
  383. package/src/cli/rfc-status.ts +52 -2
  384. package/src/cli/self-update.ts +277 -10
  385. package/src/cli/skills-cli.ts +12 -3
  386. package/src/cli/tasks-cli.ts +241 -30
  387. package/src/cli/usage-cli.ts +91 -8
  388. package/src/context-bus/context-first.ts +51 -2
  389. package/src/context-bus/context-now-surfaces.ts +13 -2
  390. package/src/context-bus/long-term-memory.ts +3 -1
  391. package/src/context-bus/nightly-condense.ts +3 -2
  392. package/src/core-turn/run-goal-loop.ts +87 -2
  393. package/src/dashboard/ad-run-setup-bindings.ts +279 -0
  394. package/src/dashboard/chat-fold.ts +20 -0
  395. package/src/dashboard/first-screen-band.ts +151 -1
  396. package/src/dashboard/index.ts +45 -281
  397. package/src/dashboard/slash-runtime/dashboard-handlers.ts +5 -3
  398. package/src/dashboard/stale-install-check.ts +24 -2
  399. package/src/dashboard/turn-stream-formatter.ts +25 -0
  400. package/src/debug/log-diet.ts +190 -0
  401. package/src/debug/log.ts +70 -17
  402. package/src/display/coordinator.ts +25 -2
  403. package/src/domains/coo-admin-tool.ts +27 -0
  404. package/src/domains/cron-match.ts +1 -0
  405. package/src/domains/outbound-alert.ts +17 -6
  406. package/src/domains/release-tool.ts +158 -10
  407. package/src/domains/schedule-registry.ts +10 -7
  408. package/src/domains/schedule-runner.ts +1 -0
  409. package/src/elanous-config-dir.ts +2 -2
  410. package/src/elanous-daemon.ts +3 -3
  411. package/src/error-report/report.ts +21 -4
  412. package/src/execution-loop/launch-gate.ts +1 -1
  413. package/src/expression/i18n/messages.en.ts +5 -0
  414. package/src/expression/i18n/messages.ja.ts +5 -0
  415. package/src/expression/i18n/messages.ko.ts +5 -0
  416. package/src/expression/i18n/messages.zh.ts +5 -0
  417. package/src/expression/i18n/types.ts +8 -0
  418. package/src/github/pr-labels.ts +2 -0
  419. package/src/graph-runner/graph-cli.ts +42 -1
  420. package/src/graph-runner/runner.ts +218 -8
  421. package/src/grok/usage.ts +23 -2
  422. package/src/grounding/ref-index.ts +253 -0
  423. package/src/harness/dispatch-backpressure.ts +267 -0
  424. package/src/harness/harness-clean.ts +199 -78
  425. package/src/harness/harness-cli-command.ts +229 -35
  426. package/src/harness/harness-gc.ts +331 -0
  427. package/src/harness/harness-seams.ts +2 -20
  428. package/src/harness/harness-stop.ts +4 -2
  429. package/src/harness/harness-substrate-default.ts +214 -8
  430. package/src/harness/launch-registry.ts +6 -0
  431. package/src/harness/nested-elanous-policy.ts +4 -2
  432. package/src/harness/worktree-branch-prefix.ts +9 -0
  433. package/src/hq/fence-wrapper.ts +7 -0
  434. package/src/hq/fence.ts +187 -0
  435. package/src/hq/hq.ts +33 -2
  436. package/src/hq/lease.ts +13 -0
  437. package/src/hq/seats.ts +133 -21
  438. package/src/images/image-ledger.ts +179 -0
  439. package/src/index.ts +250 -69
  440. package/src/instance/child-scope.ts +32 -1
  441. package/src/instance/dev-project.ts +133 -0
  442. package/src/instance/resolve.ts +24 -0
  443. package/src/instance/spawn-elanous.ts +45 -0
  444. package/src/intake-plane/collect-github.ts +19 -1
  445. package/src/intake-plane/digest.ts +45 -20
  446. package/src/intake-plane/lens.ts +36 -8
  447. package/src/intake-plane/ref-prefetch.ts +110 -0
  448. package/src/intelligence-map/model-alias.ts +6 -0
  449. package/src/intelligence-map/model-catalog.ts +113 -0
  450. package/src/knowledge/kgs/pack.ts +5 -2
  451. package/src/knowledge/kgs/sqlite-store.ts +15 -0
  452. package/src/knowledge/tools/knowledge-query.ts +20 -2
  453. package/src/knowledge/write.ts +234 -2
  454. package/src/llm/bedrock-eventstream.ts +215 -0
  455. package/src/llm/bedrock-provider.ts +248 -0
  456. package/src/llm/bedrock.ts +491 -0
  457. package/src/llm/openrouter-byok-cost.ts +96 -0
  458. package/src/llm/openrouter-deepseek.ts +151 -0
  459. package/src/llm/openrouter-upstream-pins.config.ts +25 -0
  460. package/src/llm/provider-credentials.ts +3 -1
  461. package/src/llm/zai-coding-plan.ts +700 -0
  462. package/src/llm.ts +383 -41
  463. package/src/loops/budget.ts +150 -0
  464. package/src/loops/checker.ts +148 -9
  465. package/src/loops/orchestrator/resync-shadow.ts +34 -7
  466. package/src/loops/orchestrator/seat-share.ts +6 -49
  467. package/src/loops/orchestrator/traffic.ts +5 -81
  468. package/src/market/signed-index.ts +42 -0
  469. package/src/maturity/feature-maturity.ts +2 -2
  470. package/src/mcp/mcp-oauth.ts +136 -17
  471. package/src/model-tier/llm-tier-map.ts +52 -4
  472. package/src/models/prompts.ts +23 -1
  473. package/src/mss/logging/horizon-watch.ts +168 -0
  474. package/src/mss/logging/log-store.ts +262 -26
  475. package/src/native-tool-catalog.ts +1 -1
  476. package/src/nexus/api/consult-requests.ts +7 -10
  477. package/src/nexus/api/discord-trigger-bot.ts +6 -3
  478. package/src/nexus/api/error-reports.ts +30 -8
  479. package/src/nexus/api/http-server.ts +8 -0
  480. package/src/nexus/api/loop-resources.ts +42 -0
  481. package/src/nexus/api/missions.ts +73 -2
  482. package/src/nexus/api/ops-api.ts +18 -0
  483. package/src/nexus/api/outbound-report.ts +8 -3
  484. package/src/nexus/api/telegram-trigger-bot.ts +6 -3
  485. package/src/nexus/index.ts +17 -75
  486. package/src/nexus/outbound/format.ts +2 -0
  487. package/src/nexus/outbound/router.ts +198 -13
  488. package/src/nexus/tools-kind.ts +78 -0
  489. package/src/oauth/codex-account-rotation.ts +55 -20
  490. package/src/oauth/codex-account-store.ts +451 -23
  491. package/src/oauth/fallback-chain.ts +75 -15
  492. package/src/onboarding/first-run.ts +37 -18
  493. package/src/onboarding/web-first.ts +20 -2
  494. package/src/onboarding.ts +2 -1
  495. package/src/ops/machine-heartbeat.ts +185 -0
  496. package/src/ops/overview-cache.ts +175 -0
  497. package/src/ops/overview.ts +8 -0
  498. package/src/plugins/adapters/claude-package.ts +4 -12
  499. package/src/plugins/core/capability-policy.ts +141 -0
  500. package/src/plugins/core/host.ts +21 -8
  501. package/src/plugins/core/manifest.ts +19 -2
  502. package/src/plugins/core/trust-store.ts +15 -0
  503. package/src/plugins/core/types.ts +12 -0
  504. package/src/plugins/install/market-fetch.ts +68 -16
  505. package/src/plugins/install/plugin-install.ts +187 -16
  506. package/src/plugins/maker/plugin-maker.ts +25 -20
  507. package/src/plugins/maker/wizard-generate.ts +16 -2
  508. package/src/policy/llm-policy.ts +14 -1
  509. package/src/process/pid-liveness.ts +1 -1
  510. package/src/prompt-cache/openai.ts +13 -6
  511. package/src/prompt-cache/openrouter.ts +94 -0
  512. package/src/prompt-cache/types.ts +5 -0
  513. package/src/prompt-enhance/enhance.ts +69 -5
  514. package/src/prompt-library/family-prompt-coverage.ts +1 -0
  515. package/src/prompt-library/universal-preamble.ts +2 -2
  516. package/src/registry/discovery/openrouter-live-resolve.ts +122 -0
  517. package/src/registry/loader.ts +6 -1
  518. package/src/release-loop/checklist.ts +24 -9
  519. package/src/release-loop/feature-store.ts +3 -0
  520. package/src/release-loop/gate-shards.ts +48 -4
  521. package/src/release-loop/landed-to-green.ts +81 -0
  522. package/src/release-loop/light-rc.ts +11 -1
  523. package/src/release-loop/merged-pr-checklist.ts +10 -0
  524. package/src/release-loop/placement.ts +107 -23
  525. package/src/release-loop/rehearsal.ts +317 -0
  526. package/src/release-loop/release-schedule.ts +13 -1
  527. package/src/release-loop/rubric-types.ts +1 -0
  528. package/src/release-loop/rubric.ts +2 -2
  529. package/src/requirements/requirement-ledger.ts +536 -0
  530. package/src/retro/daily.ts +26 -12
  531. package/src/seat-loop/seat-loop.ts +66 -11
  532. package/src/seat-loop/traffic-signal.ts +44 -0
  533. package/src/self-dev/ask-launch-flow.ts +2 -2
  534. package/src/self-dev/dev-cli.ts +109 -11
  535. package/src/self-dev/dev-pipeline.ts +11 -8
  536. package/src/self-dev/draft-residue.ts +475 -0
  537. package/src/self-dev/draft-sweep.ts +254 -10
  538. package/src/self-dev/draft-triage-rules.ts +27 -1
  539. package/src/self-dev/graph-journey-route.ts +6 -0
  540. package/src/self-dev/launch-preflight-text.ts +549 -0
  541. package/src/self-dev/launch-preflight.ts +10 -545
  542. package/src/self-dev/orchestrate-cli.ts +82 -5
  543. package/src/self-dev/orchestrate-summary-line.ts +13 -0
  544. package/src/self-dev/orchestrate.ts +49 -141
  545. package/src/self-dev/review-provider-fallback.ts +115 -19
  546. package/src/self-dev/run-store.ts +1 -3
  547. package/src/self-dev/run-supervisor.ts +190 -36
  548. package/src/self-dev/run-types.ts +191 -0
  549. package/src/self-dev/shard-aggregate.ts +61 -13
  550. package/src/self-dev/shard-plan.ts +5 -1
  551. package/src/self-dev/shard-run.ts +23 -5
  552. package/src/self-dev/supervisor-verdict-edges.ts +3 -4
  553. package/src/self-implement/blocked-draft-policy.ts +3 -19
  554. package/src/self-implement/budget-gate.ts +53 -13
  555. package/src/self-implement/child-context-composition.ts +139 -0
  556. package/src/self-implement/child-llm-preference.ts +13 -5
  557. package/src/self-implement/claude-acp-implement.ts +67 -0
  558. package/src/self-implement/draft-on-stop-mode.ts +18 -0
  559. package/src/self-implement/flex-signals.ts +59 -0
  560. package/src/self-implement/follow-up-goals.ts +114 -38
  561. package/src/self-implement/frozen-merges.ts +8 -3
  562. package/src/self-implement/gate-baseline-reap.ts +157 -0
  563. package/src/self-implement/gate-baseline.ts +78 -16
  564. package/src/self-implement/gate-cli.ts +12 -2
  565. package/src/self-implement/gate-remote.ts +17 -6
  566. package/src/self-implement/goal-author-decompose.ts +10 -2
  567. package/src/self-implement/goal-author.ts +48 -13
  568. package/src/self-implement/goal-digest.ts +19 -0
  569. package/src/self-implement/graph-overlay-condition.ts +32 -0
  570. package/src/self-implement/graph-overlay-yaml.ts +41 -7
  571. package/src/self-implement/graph-templates.ts +33 -1
  572. package/src/self-implement/graph-yaml.ts +56 -0
  573. package/src/self-implement/headless-elanous-driver.ts +11 -9
  574. package/src/self-implement/heal-intake.ts +5 -1
  575. package/src/self-implement/host-regate.ts +120 -29
  576. package/src/self-implement/l8-merge-queue.ts +67 -5
  577. package/src/self-implement/merge-train.ts +131 -0
  578. package/src/self-implement/off-diff-evidence.ts +9 -0
  579. package/src/self-implement/orchestrator.ts +271 -25
  580. package/src/self-implement/review-finding-recurrence.ts +28 -0
  581. package/src/self-implement/rework-policy.ts +2 -1
  582. package/src/self-implement/round-summary-card.ts +63 -0
  583. package/src/self-implement/run-ledger.ts +4 -3
  584. package/src/self-implement/run-step-projection.ts +147 -0
  585. package/src/self-implement/run-stop.ts +1 -1
  586. package/src/self-implement/running-runs.ts +75 -5
  587. package/src/self-implement/seams.ts +83 -4
  588. package/src/self-implement/self-implement-cli.ts +12 -5
  589. package/src/self-implement/stop-autoheal.ts +69 -2
  590. package/src/self-implement/train-gate-remote.ts +158 -0
  591. package/src/session-runtime/index.ts +10 -1
  592. package/src/session-runtime/retry-api.ts +11 -1
  593. package/src/session-runtime/retry-policy.ts +2 -1
  594. package/src/skills/gift-install.ts +119 -0
  595. package/src/skills/runner.ts +59 -2
  596. package/src/skills/skill-feedback.ts +31 -1
  597. package/src/skills/skill-tier.ts +1 -0
  598. package/src/smart-wizard/capability-index.ts +231 -0
  599. package/src/smart-wizard/rung.ts +74 -0
  600. package/src/steward/launch.ts +22 -10
  601. package/src/steward/triage-budget.ts +62 -0
  602. package/src/steward/triage.ts +87 -24
  603. package/src/storage/file-lock.ts +8 -1
  604. package/src/task-agent/actions.ts +66 -5
  605. package/src/task-agent/card-evidence.ts +59 -13
  606. package/src/task-agent/completion-evidence.ts +5 -0
  607. package/src/task-agent/cover.ts +101 -3
  608. package/src/task-agent/judge.ts +20 -3
  609. package/src/task-agent/land-order-ledger.ts +95 -0
  610. package/src/task-agent/land-worktree.ts +201 -0
  611. package/src/task-agent/live-move-history.ts +219 -0
  612. package/src/task-agent/live-moves.ts +451 -34
  613. package/src/task-agent/parent-host.ts +117 -8
  614. package/src/task-agent/rejudge-on-head.ts +352 -0
  615. package/src/task-agent/review-prior-fix.ts +146 -0
  616. package/src/task-agent/review-result-capture.ts +218 -0
  617. package/src/task-agent/run-adopt.ts +136 -0
  618. package/src/task-agent/shadow.ts +154 -14
  619. package/src/task-agent/task-hand.ts +186 -14
  620. package/src/task-orchestrator/surfaces/pod-account-broker.ts +38 -5
  621. package/src/task-orchestrator/surfaces/pod-bedrock-child.ts +74 -0
  622. package/src/task-orchestrator/surfaces/pod-child-default.ts +50 -0
  623. package/src/task-orchestrator/surfaces/pod-child-providers.ts +42 -0
  624. package/src/task-orchestrator/surfaces/pod-command-job.ts +6 -3
  625. package/src/task-orchestrator/surfaces/pod-failure-reason.ts +94 -7
  626. package/src/task-orchestrator/surfaces/pod-image-source.ts +212 -0
  627. package/src/task-orchestrator/surfaces/pod-lease.ts +110 -17
  628. package/src/task-orchestrator/surfaces/pod-ledger-collect.ts +32 -3
  629. package/src/task-orchestrator/surfaces/pod-pool.ts +86 -18
  630. package/src/task-orchestrator/surfaces/pod-zai-child.ts +101 -0
  631. package/src/task-orchestrator/surfaces/self-implement-pod.ts +463 -50
  632. package/src/task-orchestrator/surfaces/self-implement.ts +25 -3
  633. package/src/telegram-service.ts +5 -1
  634. package/src/telegram.ts +17 -4
  635. package/src/time/format.ts +13 -4
  636. package/src/tool-runtime/goal-author-runtime.ts +1 -0
  637. package/src/tool-runtime/self-cognition-catalog.ts +23 -0
  638. package/src/tool-runtime/self-cognition-runtimes.ts +2 -24
  639. package/src/typecheck-ratchet.ts +1 -0
  640. package/src/user-config.ts +180 -32
  641. package/src/ux-sim/slash-menu-frames.ts +168 -0
  642. package/src/version/packed-revision.json +1 -1
  643. package/src/web-terminal/preview-tap-registry.ts +5 -2
  644. package/src/workflow-runtime/triggers/registry.ts +59 -0
  645. package/src/workflow-runtime/triggers/scheduler.ts +1 -0
  646. package/src/workflow-runtime/triggers/webhook-source.ts +35 -5
  647. package/apps/pwa/out/_next/static/chunks/1109.78a7a3288c0259d9.js +0 -148
  648. package/apps/pwa/out/_next/static/chunks/115.1c6690b8604f81c4.js +0 -32
  649. package/apps/pwa/out/_next/static/chunks/1262.76a3f08e67c5f816.js +0 -309
  650. package/apps/pwa/out/_next/static/chunks/1307-08b716476f1d50af.js +0 -1
  651. package/apps/pwa/out/_next/static/chunks/1358d292.5c87f12cad6eaa91.js +0 -122
  652. package/apps/pwa/out/_next/static/chunks/1438.27a1a7b8f2308004.js +0 -149
  653. package/apps/pwa/out/_next/static/chunks/1442.02d85cd88f4c1eac.js +0 -79
  654. package/apps/pwa/out/_next/static/chunks/1501-1aad662d82ba43f7.js +0 -1
  655. package/apps/pwa/out/_next/static/chunks/1584.9e2dd53da6e6d4b1.js +0 -24
  656. package/apps/pwa/out/_next/static/chunks/1586.b989b0614afb77e6.js +0 -1
  657. package/apps/pwa/out/_next/static/chunks/1609.2ad355062870151f.js +0 -1
  658. package/apps/pwa/out/_next/static/chunks/1612-f6df0fc0eed7157b.js +0 -1
  659. package/apps/pwa/out/_next/static/chunks/1826-5d279da64bbbc2de.js +0 -1
  660. package/apps/pwa/out/_next/static/chunks/1923.37f1d5fe7ebe3860.js +0 -27
  661. package/apps/pwa/out/_next/static/chunks/195-fb1d7690bf30bab4.js +0 -1
  662. package/apps/pwa/out/_next/static/chunks/1986-33e13d648a9df765.js +0 -1
  663. package/apps/pwa/out/_next/static/chunks/1993.3fd074a2a246234e.js +0 -1
  664. package/apps/pwa/out/_next/static/chunks/211-9c9090c59e2c5907.js +0 -1
  665. package/apps/pwa/out/_next/static/chunks/2140.d2daf9ee96e295d1.js +0 -1
  666. package/apps/pwa/out/_next/static/chunks/2196-4700653d12a44b40.js +0 -1
  667. package/apps/pwa/out/_next/static/chunks/2212.0359851457473efc.js +0 -1
  668. package/apps/pwa/out/_next/static/chunks/224.583e562365a52f74.js +0 -1
  669. package/apps/pwa/out/_next/static/chunks/2328.0f37465646bafa7d.js +0 -36
  670. package/apps/pwa/out/_next/static/chunks/2372.bf71372184991937.js +0 -286
  671. package/apps/pwa/out/_next/static/chunks/2489-d238d3e2eb5b2bf5.js +0 -1
  672. package/apps/pwa/out/_next/static/chunks/2537-6c289376caa88ca1.js +0 -1
  673. package/apps/pwa/out/_next/static/chunks/2549-a8515c86f9e8cb96.js +0 -1
  674. package/apps/pwa/out/_next/static/chunks/2655.72cc6a97276c5acc.js +0 -1
  675. package/apps/pwa/out/_next/static/chunks/2699-325cc923ba7b8631.js +0 -1
  676. package/apps/pwa/out/_next/static/chunks/2743-ef6e8c3ced74cce5.js +0 -1
  677. package/apps/pwa/out/_next/static/chunks/2840-5458ad50c49cac6a.js +0 -1
  678. package/apps/pwa/out/_next/static/chunks/2856.f75d5baef7f49b74.js +0 -1
  679. package/apps/pwa/out/_next/static/chunks/311.e685738f92e6e2ec.js +0 -1
  680. package/apps/pwa/out/_next/static/chunks/3194-807b212fb8eae065.js +0 -1
  681. package/apps/pwa/out/_next/static/chunks/3324-d1d2979821dfa845.js +0 -1
  682. package/apps/pwa/out/_next/static/chunks/3344.0de4b0ec5a454b7a.js +0 -1
  683. package/apps/pwa/out/_next/static/chunks/335.a13f339e97893437.js +0 -94
  684. package/apps/pwa/out/_next/static/chunks/3394.646348f34b2500be.js +0 -1
  685. package/apps/pwa/out/_next/static/chunks/3443.6276909b53d72d53.js +0 -1
  686. package/apps/pwa/out/_next/static/chunks/3495.abd4254d808bf2dc.js +0 -1
  687. package/apps/pwa/out/_next/static/chunks/3558-bbb5ab553a0471d3.js +0 -1
  688. package/apps/pwa/out/_next/static/chunks/3721.ba5b82db0d9a5572.js +0 -1
  689. package/apps/pwa/out/_next/static/chunks/3857-5985236d9307f676.js +0 -1
  690. package/apps/pwa/out/_next/static/chunks/3916-3d02dd1fc257dd3c.js +0 -1
  691. package/apps/pwa/out/_next/static/chunks/3919.9ff7dc25afefee33.js +0 -74
  692. package/apps/pwa/out/_next/static/chunks/3998.bd9a69d9b50e9bd2.js +0 -1
  693. package/apps/pwa/out/_next/static/chunks/4003.ab6db1dc266576c9.js +0 -1
  694. package/apps/pwa/out/_next/static/chunks/4144-fad095b48a1862ee.js +0 -1
  695. package/apps/pwa/out/_next/static/chunks/4216.e8ac94b9fe6b96ab.js +0 -1
  696. package/apps/pwa/out/_next/static/chunks/4327.c44dc2b55cb43ee5.js +0 -34
  697. package/apps/pwa/out/_next/static/chunks/4401.94257d497b6d26bc.js +0 -1
  698. package/apps/pwa/out/_next/static/chunks/4559.17ca2cdbaa8d414f.js +0 -115
  699. package/apps/pwa/out/_next/static/chunks/4565-3d7e3fdeb43686a8.js +0 -1
  700. package/apps/pwa/out/_next/static/chunks/4706.97e734bd4c9816ca.js +0 -1
  701. package/apps/pwa/out/_next/static/chunks/4795-f372490b178583fc.js +0 -1
  702. package/apps/pwa/out/_next/static/chunks/4982.6e44352f751b9a1b.js +0 -77
  703. package/apps/pwa/out/_next/static/chunks/5342.49c5c5a530e62b50.js +0 -1
  704. package/apps/pwa/out/_next/static/chunks/5360-08a80abdf3a4da99.js +0 -1
  705. package/apps/pwa/out/_next/static/chunks/5431.66c58ab1327ee0b7.js +0 -1
  706. package/apps/pwa/out/_next/static/chunks/5633-d6852385000738ef.js +0 -1
  707. package/apps/pwa/out/_next/static/chunks/5717.bcfcb96e701b82e0.js +0 -90
  708. package/apps/pwa/out/_next/static/chunks/5755-30d102586789bf7f.js +0 -1
  709. package/apps/pwa/out/_next/static/chunks/5957.3f1a4012388dd962.js +0 -1
  710. package/apps/pwa/out/_next/static/chunks/5977-5b9e8a45a5b0c823.js +0 -1
  711. package/apps/pwa/out/_next/static/chunks/602.9bf02ac8e9502598.js +0 -1
  712. package/apps/pwa/out/_next/static/chunks/6020.3a1b347e2d2dfacc.js +0 -8
  713. package/apps/pwa/out/_next/static/chunks/6375.fce1d174ba6d0324.js +0 -64
  714. package/apps/pwa/out/_next/static/chunks/6546.92a828aef441271f.js +0 -1
  715. package/apps/pwa/out/_next/static/chunks/658.957fdb0a8c6c6c8e.js +0 -287
  716. package/apps/pwa/out/_next/static/chunks/6706.323590aabb8b1293.js +0 -226
  717. package/apps/pwa/out/_next/static/chunks/6747.b67947f293a4c02d.js +0 -1
  718. package/apps/pwa/out/_next/static/chunks/6868.000b24a3045c5574.js +0 -1
  719. package/apps/pwa/out/_next/static/chunks/6877-74399f69c7da1433.js +0 -1
  720. package/apps/pwa/out/_next/static/chunks/6946.bba74e9c96050f30.js +0 -1
  721. package/apps/pwa/out/_next/static/chunks/7033.a558f1b2f6912a53.js +0 -1
  722. package/apps/pwa/out/_next/static/chunks/7065.46029c26c53eac50.js +0 -1
  723. package/apps/pwa/out/_next/static/chunks/7087.6fae577d09249bc1.js +0 -1
  724. package/apps/pwa/out/_next/static/chunks/722.de8d9801e0f6d414.js +0 -41
  725. package/apps/pwa/out/_next/static/chunks/726.83532d69452ee24b.js +0 -1
  726. package/apps/pwa/out/_next/static/chunks/7290-f09c928a06c52e2d.js +0 -1
  727. package/apps/pwa/out/_next/static/chunks/7497.57981e9d7a75a52a.js +0 -24
  728. package/apps/pwa/out/_next/static/chunks/7672.4af122ad892117c7.js +0 -1
  729. package/apps/pwa/out/_next/static/chunks/771.6ab889a233e7dae7.js +0 -1
  730. package/apps/pwa/out/_next/static/chunks/7797-df5aa0381fdc078f.js +0 -1
  731. package/apps/pwa/out/_next/static/chunks/8060-cc008cc6fedfa818.js +0 -1
  732. package/apps/pwa/out/_next/static/chunks/8085-d065d0393c1760f5.js +0 -1
  733. package/apps/pwa/out/_next/static/chunks/8096.f7da0776cfde6300.js +0 -1
  734. package/apps/pwa/out/_next/static/chunks/8401-35e94e9091f5eb8d.js +0 -1
  735. package/apps/pwa/out/_next/static/chunks/8682-7061dd4fa7bd62ed.js +0 -1
  736. package/apps/pwa/out/_next/static/chunks/8695-846034ce44852c70.js +0 -1
  737. package/apps/pwa/out/_next/static/chunks/8769.815ca69879f608b4.js +0 -104
  738. package/apps/pwa/out/_next/static/chunks/8857-aa1cc4ac90af4d40.js +0 -1
  739. package/apps/pwa/out/_next/static/chunks/8f835b4f.048eeb02299e3e12.js +0 -1
  740. package/apps/pwa/out/_next/static/chunks/9068.5f2764fccf86c1b2.js +0 -93
  741. package/apps/pwa/out/_next/static/chunks/9103-60fbef33e66f0a46.js +0 -1
  742. package/apps/pwa/out/_next/static/chunks/9247-55bcfbb0e8057f59.js +0 -1
  743. package/apps/pwa/out/_next/static/chunks/935.4ddaa99fc1d1126c.js +0 -1
  744. package/apps/pwa/out/_next/static/chunks/9451.ebfb0dcc9c02250f.js +0 -23
  745. package/apps/pwa/out/_next/static/chunks/9559.e648369b1d57cf9a.js +0 -62
  746. package/apps/pwa/out/_next/static/chunks/app/_not-found/page-c1a96669158471ec.js +0 -1
  747. package/apps/pwa/out/_next/static/chunks/app/approvals/page-88459e0903da2803.js +0 -1
  748. package/apps/pwa/out/_next/static/chunks/app/autopilot/page-d85c43f46f58716b.js +0 -1
  749. package/apps/pwa/out/_next/static/chunks/app/board/page-4e645600579ae952.js +0 -1
  750. package/apps/pwa/out/_next/static/chunks/app/botlab/page-87edbfd19117823b.js +0 -1
  751. package/apps/pwa/out/_next/static/chunks/app/bots/page-7f0c2b7801ac6a54.js +0 -1
  752. package/apps/pwa/out/_next/static/chunks/app/ceo/page-bf1f030a9d1adffd.js +0 -1
  753. package/apps/pwa/out/_next/static/chunks/app/chat/page-cbaf66b1e1804adf.js +0 -1
  754. package/apps/pwa/out/_next/static/chunks/app/control/page-9f5610caaa06178c.js +0 -1
  755. package/apps/pwa/out/_next/static/chunks/app/decisions/page-ec8f3575e339de74.js +0 -1
  756. package/apps/pwa/out/_next/static/chunks/app/design-check/page-86d753e460f1a989.js +0 -1
  757. package/apps/pwa/out/_next/static/chunks/app/editor/page-4166a7d51cf0a57d.js +0 -1
  758. package/apps/pwa/out/_next/static/chunks/app/exec/page-2a19c5cd3b562580.js +0 -1
  759. package/apps/pwa/out/_next/static/chunks/app/field/page-b6a09cde2e07521a.js +0 -1
  760. package/apps/pwa/out/_next/static/chunks/app/healthz/route-c1a96669158471ec.js +0 -1
  761. package/apps/pwa/out/_next/static/chunks/app/inside/page-f7eae1518ca0c353.js +0 -1
  762. package/apps/pwa/out/_next/static/chunks/app/intake/page-456a8573ad811381.js +0 -1
  763. package/apps/pwa/out/_next/static/chunks/app/layout-8462d6a543cbb2d9.js +0 -1
  764. package/apps/pwa/out/_next/static/chunks/app/live/page-2974cdfb87c0f9c9.js +0 -1
  765. package/apps/pwa/out/_next/static/chunks/app/live-run/page-f927ffa25f3c86d1.js +0 -1
  766. package/apps/pwa/out/_next/static/chunks/app/loops/page-abd86cd832aaa011.js +0 -1
  767. package/apps/pwa/out/_next/static/chunks/app/market/page-79daf68f6256adaa.js +0 -1
  768. package/apps/pwa/out/_next/static/chunks/app/missions/[id]/page-8c3f168fc3f91939.js +0 -1
  769. package/apps/pwa/out/_next/static/chunks/app/morning/page-786fb4504d0f2fa9.js +0 -1
  770. package/apps/pwa/out/_next/static/chunks/app/not-found-75209f14597dcb8f.js +0 -1
  771. package/apps/pwa/out/_next/static/chunks/app/observatory/page-bf30affe3a85af7e.js +0 -1
  772. package/apps/pwa/out/_next/static/chunks/app/ops/checklist/page-1187a44b7515434b.js +0 -1
  773. package/apps/pwa/out/_next/static/chunks/app/ops/release/page-3d0910185a66ed54.js +0 -1
  774. package/apps/pwa/out/_next/static/chunks/app/ops/seats/page-f401ee1dd5a26e25.js +0 -1
  775. package/apps/pwa/out/_next/static/chunks/app/outputs/page-5dfe7604fd842784.js +0 -1
  776. package/apps/pwa/out/_next/static/chunks/app/page-76cf838050a8d681.js +0 -1
  777. package/apps/pwa/out/_next/static/chunks/app/reflection/page-7ec8e289b4c14df6.js +0 -1
  778. package/apps/pwa/out/_next/static/chunks/app/scheduler/page-8c8ac17d52be2a79.js +0 -1
  779. package/apps/pwa/out/_next/static/chunks/app/sessions/page-d359ab048d63a9d9.js +0 -1
  780. package/apps/pwa/out/_next/static/chunks/app/settings/devices/page-b8b345c880bf78d1.js +0 -1
  781. package/apps/pwa/out/_next/static/chunks/app/settings/page-f151cc10ad026940.js +0 -1
  782. package/apps/pwa/out/_next/static/chunks/app/setup/done/page-9875f103057da433.js +0 -1
  783. package/apps/pwa/out/_next/static/chunks/app/setup/layout-c1a96669158471ec.js +0 -1
  784. package/apps/pwa/out/_next/static/chunks/app/setup/page-9789328af9a9aa62.js +0 -1
  785. package/apps/pwa/out/_next/static/chunks/app/share/page-bf495a1e284f4e00.js +0 -1
  786. package/apps/pwa/out/_next/static/chunks/app/showroom/page-a263d94bca4be22a.js +0 -1
  787. package/apps/pwa/out/_next/static/chunks/app/tasks/page-3962eab8ec58d16e.js +0 -1
  788. package/apps/pwa/out/_next/static/chunks/app/term/page-9abcfac07e02a542.js +0 -1
  789. package/apps/pwa/out/_next/static/chunks/app/today/page-bee49f927c333abb.js +0 -1
  790. package/apps/pwa/out/_next/static/chunks/app/trace/page-bac2d56dcb02d955.js +0 -1
  791. package/apps/pwa/out/_next/static/chunks/app/vault/page-937cbcc13176295c.js +0 -1
  792. package/apps/pwa/out/_next/static/chunks/app/workflows/chat-ui/page-d09495594f7f480d.js +0 -1
  793. package/apps/pwa/out/_next/static/chunks/app/workflows/page-69cb93d1a2e57e0e.js +0 -1
  794. package/apps/pwa/out/_next/static/chunks/app/workspace/page-72ec543928d67c3e.js +0 -1
  795. package/apps/pwa/out/_next/static/chunks/app/worktrees/page-82906eeda0186a7b.js +0 -1
  796. package/apps/pwa/out/_next/static/chunks/f6231284-45726550aba08fca.js +0 -1
  797. package/apps/pwa/out/_next/static/chunks/main-59fe95fed40c7a01.js +0 -1
  798. package/apps/pwa/out/_next/static/chunks/main-app-4ca74dbbee7057c6.js +0 -1
  799. package/apps/pwa/out/_next/static/chunks/pages/_app-13a0a886df4d97a1.js +0 -1
  800. package/apps/pwa/out/_next/static/chunks/pages/_error-6af8591cd3a3f038.js +0 -1
  801. package/apps/pwa/out/_next/static/chunks/webpack-f2b4016b9b981bc8.js +0 -1
  802. package/apps/pwa/out/_next/static/css/f2bd5257e6af88d8.css +0 -1
  803. /package/apps/pwa/out/_next/static/{aBi6EyMtLsrl7J8eH4kF7 → Q-7iofoxOEv1WX18S35of}/_ssgManifest.js +0 -0
@@ -0,0 +1,77 @@
1
+ "use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[1168],{55302:(t,e,a)=>{function r(t,e){t.accDescr&&e.setAccDescription?.(t.accDescr),t.accTitle&&e.setAccTitle?.(t.accTitle),t.title&&e.setDiagramTitle?.(t.title)}a.d(e,{S:()=>r}),(0,a(14543).K)(r,"populateCommonDb")},91168:(t,e,a)=>{a.d(e,{diagram:()=>F});var r=a(55302),o=a(51587),n=a(4625),i=a(1591),l=a(9145),s=a(14543),d=a(17355),c=(0,s.K)((t,e)=>{let a=t<=1?100*t:t;if(a<0||a>100)throw Error(`${e} must be between 0-1 (decimal) or 0-100 (percentage). Received: ${t}`);return a},"toPercent"),p=(0,s.K)((t,e,a)=>({x:c(e,`${a} evolution`),y:c(t,`${a} visibility`)}),"toCoordinates"),h=(0,s.K)(t=>{if(t){if("+<>"===t)return"bidirectional";if("+<"===t)return"backward";if("+>"===t)return"forward"}},"getFlowFromPort"),x=(0,s.K)(t=>{if(!t?.startsWith("+"))return{};let e=/^\+'([^']*)'/.exec(t),a=e?.[1];return t.includes("<>")?{flow:"bidirectional",label:a}:t.includes("<")?{flow:"backward",label:a}:t.includes(">")?{flow:"forward",label:a}:{label:a}},"extractFlowFromArrow"),y=(0,s.K)((t,e)=>{if((0,r.S)(t,e),t.size&&e.setSize(t.size.width,t.size.height),t.evolution){let a=t.evolution.stages.map(t=>t.secondName?`${t.name.trim()} / ${t.secondName.trim()}`:t.name.trim()),r=t.evolution.stages.filter(t=>void 0!==t.boundary).map(t=>t.boundary);e.updateAxes({stages:a,stageBoundaries:r})}if(t.anchors.forEach(t=>{let a=p(t.visibility,t.evolution,`Anchor "${t.name}"`);e.addNode(t.name,t.name,a.x,a.y,"anchor")}),t.components.forEach(t=>{let a=p(t.visibility,t.evolution,`Component "${t.name}"`),r=t.label?(t.label.negX?-1:1)*t.label.offsetX:void 0,o=t.label?(t.label.negY?-1:1)*t.label.offsetY:void 0,n=t.decorator?.strategy;e.addNode(t.name,t.name,a.x,a.y,"component",r,o,t.inertia,n)}),t.notes.forEach(t=>{let a=p(t.visibility,t.evolution,`Note "${t.text}"`);e.addNote(t.text,a.x,a.y)}),t.pipelines.forEach(t=>{let a=e.getNode(t.parent);if(!a||"number"!=typeof a.y)throw Error(`Pipeline "${t.parent}" must reference an existing component with coordinates.`);let r=a.y;e.startPipeline(t.parent),t.components.forEach(a=>{let o=`${t.parent}_${a.name}`,n=a.label?(a.label.negX?-1:1)*a.label.offsetX:void 0,i=a.label?(a.label.negY?-1:1)*a.label.offsetY:void 0,l=c(a.evolution,`Pipeline component "${a.name}" evolution`);e.addNode(o,a.name,l,r,"pipeline-component",n,i),e.addPipelineComponent(t.parent,o)})}),t.links.forEach(t=>{let a=!!t.arrow&&(t.arrow.includes("-.->")||t.arrow.includes(".-.")),r=h(t.fromPort)??h(t.toPort),{flow:o,label:n}=x(t.arrow);!r&&o&&(r=o);let i=t.linkLabel;e.addLink(e.resolveNodeId(t.from),e.resolveNodeId(t.to),a,n??i,r)}),t.evolves.forEach(t=>{let a=e.getNode(t.component);if(a?.y!==void 0){let r=c(t.target,`Evolve target for "${t.component}"`);e.addTrend(t.component,r,a.y)}}),t.annotations.length>0){let a=t.annotations[0],r=p(a.x,a.y,"Annotations box");e.setAnnotationsBox(r.x,r.y)}t.annotation.forEach(t=>{let a=p(t.x,t.y,`Annotation ${t.number}`);e.addAnnotation(t.number,[{x:a.x,y:a.y}],t.text)}),t.accelerators.forEach(t=>{let a=p(t.x,t.y,`Accelerator "${t.name}"`);e.addAccelerator(t.name,a.x,a.y)}),t.deaccelerators.forEach(t=>{let a=p(t.x,t.y,`Deaccelerator "${t.name}"`);e.addDeaccelerator(t.name,a.x,a.y)})},"populateDb"),f={parser:{yy:void 0},parse:(0,s.K)(async t=>{let e=await (0,d.qg)("wardley",t);l.R.debug(e);let a=f.parser?.yy;if(!a||"function"!=typeof a.addNode)throw Error("parser.parser?.yy was not a WardleyDB. This is due to a bug within Mermaid, please report this issue at https://github.com/mermaid-js/mermaid/issues.");y(e,a)},"parse")},g=new class{constructor(){this.nodes=new Map,this.links=[],this.trends=new Map,this.pipelines=new Map,this.annotations=[],this.notes=[],this.accelerators=[],this.deaccelerators=[],this.axes={}}static{(0,s.K)(this,"WardleyBuilder")}addNode(t){let e=this.nodes.get(t.id)??{id:t.id,label:t.label},a={...e,...t,className:t.className??e.className,labelOffsetX:t.labelOffsetX??e.labelOffsetX,labelOffsetY:t.labelOffsetY??e.labelOffsetY};this.nodes.set(t.id,a)}addLink(t){this.links.push(t)}addTrend(t){this.trends.set(t.nodeId,t)}startPipeline(t){this.pipelines.set(t,{nodeId:t,componentIds:[]});let e=this.nodes.get(t);e&&(e.isPipelineParent=!0)}addPipelineComponent(t,e){let a=this.pipelines.get(t);a&&a.componentIds.push(e);let r=this.nodes.get(e);r&&(r.inPipeline=!0)}addAnnotation(t){this.annotations.push(t)}addNote(t){this.notes.push(t)}addAccelerator(t){this.accelerators.push(t)}addDeaccelerator(t){this.deaccelerators.push(t)}setAnnotationsBox(t,e){this.annotationsBox={x:t,y:e}}setAxes(t){this.axes={...this.axes,...t}}setSize(t,e){this.size={width:t,height:e}}getNode(t){return this.nodes.get(t)}resolveNodeId(t){if(this.nodes.has(t))return t;for(let[e,a]of this.nodes)if(a.label===t)return e;return t}build(){let t=[];for(let e of this.nodes.values()){if("number"!=typeof e.x||"number"!=typeof e.y)throw Error(`Node "${e.label}" is missing coordinates`);t.push(e)}return{nodes:t,links:[...this.links],trends:[...this.trends.values()],pipelines:[...this.pipelines.values()],annotations:[...this.annotations],notes:[...this.notes],accelerators:[...this.accelerators],deaccelerators:[...this.deaccelerators],annotationsBox:this.annotationsBox,axes:{...this.axes},size:this.size}}clear(){this.nodes.clear(),this.links=[],this.trends.clear(),this.pipelines.clear(),this.annotations=[],this.notes=[],this.accelerators=[],this.deaccelerators=[],this.annotationsBox=void 0,this.axes={},this.size=void 0}};function u(){return(0,i.D7)()["wardley-beta"]}function w(t,e,a,r,o,n,i,l,s){g.addNode({id:t,label:e,x:a,y:r,className:o,labelOffsetX:n,labelOffsetY:i,inertia:l,sourceStrategy:s})}function m(t,e,a=!1,r,o){g.addLink({source:t,target:e,dashed:a,label:r,flow:o})}function k(t,e,a){g.addTrend({nodeId:t,targetX:e,targetY:a})}function b(t,e,a){g.addAnnotation({number:t,coordinates:e,text:a})}function $(t,e,a){g.addNote({text:t,x:e,y:a})}function S(t,e,a){g.addAccelerator({name:t,x:e,y:a})}function v(t,e,a){g.addDeaccelerator({name:t,x:e,y:a})}function C(t,e){g.setAnnotationsBox(t,e)}function M(t,e){g.setSize(t,e)}function P(t){g.startPipeline(t)}function N(t,e){g.addPipelineComponent(t,e)}function T(t){g.setAxes(t)}function z(t){return g.getNode(t)}function E(t){return g.resolveNodeId(t)}function L(){return g.build()}function A(){g.clear(),(0,i.IU)()}(0,s.K)(u,"getConfig"),(0,s.K)(w,"addNode"),(0,s.K)(m,"addLink"),(0,s.K)(k,"addTrend"),(0,s.K)(b,"addAnnotation"),(0,s.K)($,"addNote"),(0,s.K)(S,"addAccelerator"),(0,s.K)(v,"addDeaccelerator"),(0,s.K)(C,"setAnnotationsBox"),(0,s.K)(M,"setSize"),(0,s.K)(P,"startPipeline"),(0,s.K)(N,"addPipelineComponent"),(0,s.K)(T,"updateAxes"),(0,s.K)(z,"getNode"),(0,s.K)(E,"resolveNodeId"),(0,s.K)(L,"getWardleyData"),(0,s.K)(A,"clear");var K={getConfig:u,addNode:w,addLink:m,addTrend:k,addAnnotation:b,addNote:$,addAccelerator:S,addDeaccelerator:v,setAnnotationsBox:C,setSize:M,startPipeline:P,addPipelineComponent:N,updateAxes:T,getNode:z,resolveNodeId:E,getWardleyData:L,clear:A,setAccTitle:i.SV,getAccTitle:i.iN,setDiagramTitle:i.ke,getDiagramTitle:i.ab,getAccDescription:i.m7,setAccDescription:i.EI},I=["Genesis","Custom Built","Product","Commodity"],R=(0,s.K)(()=>{let{themeVariables:t}=(0,i.D7)();return{backgroundColor:t.wardley?.backgroundColor??t.background??"#fff",axisColor:t.wardley?.axisColor??"#000",axisTextColor:t.wardley?.axisTextColor??t.primaryTextColor??"#222",gridColor:t.wardley?.gridColor??"rgba(100, 100, 100, 0.2)",componentFill:t.wardley?.componentFill??"#fff",componentStroke:t.wardley?.componentStroke??"#000",componentLabelColor:t.wardley?.componentLabelColor??t.primaryTextColor??"#222",linkStroke:t.wardley?.linkStroke??"#000",evolutionStroke:t.wardley?.evolutionStroke??"#dc3545",annotationStroke:t.wardley?.annotationStroke??"#000",annotationTextColor:t.wardley?.annotationTextColor??t.primaryTextColor??"#222",annotationFill:t.wardley?.annotationFill??t.background??"#fff"}},"getTheme"),D=(0,s.K)(()=>{let t=(0,i.D7)()["wardley-beta"];return{width:t?.width??900,height:t?.height??600,padding:t?.padding??48,nodeRadius:t?.nodeRadius??6,nodeLabelOffset:t?.nodeLabelOffset??8,axisFontSize:t?.axisFontSize??12,labelFontSize:t?.labelFontSize??10,showGrid:t?.showGrid??!1,useMaxWidth:t?.useMaxWidth??!0}},"getConfigValues"),F={parser:f,db:K,renderer:{draw:(0,s.K)((t,e,a,r)=>{l.R.debug("Rendering Wardley map\n"+t);let n=D(),d=R(),c=1.6*n.nodeRadius,p=r.db,h=p.getWardleyData(),x=p.getDiagramTitle(),y=h.size?.width??n.width,f=h.size?.height??n.height,g=(0,o.D)(e);g.selectAll("*").remove(),(0,i.a$)(g,f,y,n.useMaxWidth),g.attr("viewBox",`0 0 ${y} ${f}`);let u=g.append("g").attr("class","wardley-map"),w=g.append("defs");w.append("marker").attr("id",`arrow-${e}`).attr("viewBox","0 0 10 10").attr("refX",9).attr("refY",5).attr("markerWidth",6).attr("markerHeight",6).attr("orient","auto-start-reverse").append("path").attr("d","M 0 0 L 10 5 L 0 10 z").attr("fill",d.evolutionStroke).attr("stroke","none"),w.append("marker").attr("id",`link-arrow-end-${e}`).attr("viewBox","0 0 10 10").attr("refX",9).attr("refY",5).attr("markerWidth",5).attr("markerHeight",5).attr("orient","auto").append("path").attr("d","M 0 0 L 10 5 L 0 10 z").attr("fill",d.linkStroke).attr("stroke","none"),w.append("marker").attr("id",`link-arrow-start-${e}`).attr("viewBox","0 0 10 10").attr("refX",1).attr("refY",5).attr("markerWidth",5).attr("markerHeight",5).attr("orient","auto").append("path").attr("d","M 10 0 L 0 5 L 10 10 z").attr("fill",d.linkStroke).attr("stroke","none"),u.append("rect").attr("class","wardley-background").attr("width",y).attr("height",f).attr("fill",d.backgroundColor);let m=y-2*n.padding,k=f-2*n.padding;x&&u.append("text").attr("class","wardley-title").attr("x",y/2).attr("y",n.padding/2).attr("fill",d.axisTextColor).attr("font-size",1.05*n.axisFontSize).attr("font-weight","bold").attr("text-anchor","middle").attr("dominant-baseline","middle").text(x);let b=(0,s.K)(t=>n.padding+t/100*m,"projectX"),$=(0,s.K)(t=>f-n.padding-t/100*k,"projectY"),S=u.append("g").attr("class","wardley-axes");S.append("line").attr("x1",n.padding).attr("x2",y-n.padding).attr("y1",f-n.padding).attr("y2",f-n.padding).attr("stroke",d.axisColor).attr("stroke-width",1),S.append("line").attr("x1",n.padding).attr("x2",n.padding).attr("y1",n.padding).attr("y2",f-n.padding).attr("stroke",d.axisColor).attr("stroke-width",1);let v=h.axes.xLabel??"Evolution",C=h.axes.yLabel??"Visibility";S.append("text").attr("class","wardley-axis-label wardley-axis-label-x").attr("x",n.padding+m/2).attr("y",f-n.padding/4).attr("fill",d.axisTextColor).attr("font-size",n.axisFontSize).attr("font-weight","bold").attr("text-anchor","middle").text(v),S.append("text").attr("class","wardley-axis-label wardley-axis-label-y").attr("x",n.padding/3).attr("y",n.padding+k/2).attr("fill",d.axisTextColor).attr("font-size",n.axisFontSize).attr("font-weight","bold").attr("text-anchor","middle").attr("transform",`rotate(-90 ${n.padding/3} ${n.padding+k/2})`).text(C);let M=h.axes.stages&&h.axes.stages.length>0?h.axes.stages:I;if(M.length>0){let t=u.append("g").attr("class","wardley-stages"),e=h.axes.stageBoundaries,a=[];if(e&&e.length===M.length){let t=0;e.forEach(e=>{a.push({start:t,end:e}),t=e})}else{let t=1/M.length;M.forEach((e,r)=>{a.push({start:r*t,end:(r+1)*t})})}M.forEach((e,r)=>{let o=a[r],i=n.padding+o.start*m,l=(i+(n.padding+o.end*m))/2;r>0&&t.append("line").attr("x1",i).attr("x2",i).attr("y1",n.padding).attr("y2",f-n.padding).attr("stroke","#000").attr("stroke-width",1).attr("stroke-dasharray","5 5").attr("opacity",.8),t.append("text").attr("class","wardley-stage-label").attr("x",l).attr("y",f-n.padding/1.5).attr("fill",d.axisTextColor).attr("font-size",n.axisFontSize-2).attr("text-anchor","middle").text(e)})}if(n.showGrid){let t=u.append("g").attr("class","wardley-grid");for(let e=1;e<4;e++){let a=e/4,r=n.padding+m*a;t.append("line").attr("x1",r).attr("x2",r).attr("y1",n.padding).attr("y2",f-n.padding).attr("stroke",d.gridColor).attr("stroke-dasharray","2 6"),t.append("line").attr("x1",n.padding).attr("x2",y-n.padding).attr("y1",f-n.padding-k*a).attr("y2",f-n.padding-k*a).attr("stroke",d.gridColor).attr("stroke-dasharray","2 6")}}let P=new Map;if(h.nodes.forEach(t=>{P.set(t.id,{x:b(t.x),y:$(t.y),node:t})}),h.pipelines.length>0){let t=u.append("g").attr("class","wardley-pipelines"),e=u.append("g").attr("class","wardley-pipeline-links");h.pipelines.forEach(a=>{if(0===a.componentIds.length)return;let r=a.componentIds.map(t=>({id:t,pos:P.get(t),node:h.nodes.find(e=>e.id===t)})).filter(t=>t.pos&&t.node).sort((t,e)=>t.node.x-e.node.x);for(let t=0;t<r.length-1;t++){let a=r[t],o=r[t+1];e.append("line").attr("class","wardley-pipeline-evolution-link").attr("x1",a.pos.x).attr("y1",a.pos.y).attr("x2",o.pos.x).attr("y2",o.pos.y).attr("stroke",d.linkStroke).attr("stroke-width",1).attr("stroke-dasharray","4 4")}let o=1/0,i=-1/0,l=0;if(a.componentIds.forEach(t=>{let e=P.get(t);e&&(o=Math.min(o,e.x),i=Math.max(i,e.x),l=e.y)}),o!==1/0&&i!==-1/0){let e=4*n.nodeRadius,r=l-e/2,s=P.get(a.nodeId);s&&(s.x=(o+i)/2,s.y=r-c/6),t.append("rect").attr("class","wardley-pipeline-box").attr("x",o-15).attr("y",r).attr("width",i-o+30).attr("height",e).attr("fill","none").attr("stroke",d.axisColor).attr("stroke-width",1.5).attr("rx",4).attr("ry",4)}})}let N=u.append("g").attr("class","wardley-links"),T=new Map;h.pipelines.forEach(t=>{T.set(t.nodeId,new Set(t.componentIds))});let z=h.links.filter(t=>{if(!P.has(t.source)||!P.has(t.target))return!1;let e=T.get(t.target);return!e?.has(t.source)});N.selectAll("line").data(z).enter().append("line").attr("class",t=>`wardley-link${t.dashed?" wardley-link--dashed":""}`).attr("x1",t=>{let e=P.get(t.source),a=P.get(t.target),r=h.nodes.find(e=>e.id===t.source).isPipelineParent?c/Math.sqrt(2):n.nodeRadius,o=a.x-e.x,i=a.y-e.y,l=Math.sqrt(o*o+i*i);return e.x+o/l*r}).attr("y1",t=>{let e=P.get(t.source),a=P.get(t.target),r=h.nodes.find(e=>e.id===t.source).isPipelineParent?c/Math.sqrt(2):n.nodeRadius,o=a.x-e.x,i=a.y-e.y,l=Math.sqrt(o*o+i*i);return e.y+i/l*r}).attr("x2",t=>{let e=P.get(t.source),a=P.get(t.target),r=h.nodes.find(e=>e.id===t.target).isPipelineParent?c/Math.sqrt(2):n.nodeRadius,o=e.x-a.x,i=e.y-a.y,l=Math.sqrt(o*o+i*i);return a.x+o/l*r}).attr("y2",t=>{let e=P.get(t.source),a=P.get(t.target),r=h.nodes.find(e=>e.id===t.target).isPipelineParent?c/Math.sqrt(2):n.nodeRadius,o=e.x-a.x,i=e.y-a.y,l=Math.sqrt(o*o+i*i);return a.y+i/l*r}).attr("stroke",d.linkStroke).attr("stroke-width",1).attr("stroke-dasharray",t=>t.dashed?"6 6":null).attr("marker-end",t=>"forward"===t.flow||"bidirectional"===t.flow?`url(#link-arrow-end-${e})`:null).attr("marker-start",t=>"backward"===t.flow||"bidirectional"===t.flow?`url(#link-arrow-start-${e})`:null),N.selectAll("text").data(z.filter(t=>t.label)).enter().append("text").attr("class","wardley-link-label").attr("x",t=>{let e=P.get(t.source),a=P.get(t.target),r=(e.x+a.x)/2,o=a.y-e.y,n=a.x-e.x,i=Math.sqrt(n*n+o*o);return r+o/i*8}).attr("y",t=>{let e=P.get(t.source),a=P.get(t.target),r=(e.y+a.y)/2,o=a.x-e.x,n=a.y-e.y,i=Math.sqrt(o*o+n*n);return r+-o/i*8}).attr("fill",d.axisTextColor).attr("font-size",n.labelFontSize).attr("text-anchor","middle").attr("dominant-baseline","middle").attr("transform",t=>{let e=P.get(t.source),a=P.get(t.target),r=(e.x+a.x)/2,o=(e.y+a.y)/2,n=a.x-e.x,i=a.y-e.y,l=Math.sqrt(n*n+i*i),s=180*Math.atan2(i,n)/Math.PI;return(s>90||s<-90)&&(s+=180),`rotate(${s} ${r+i/l*8} ${o+-n/l*8})`}).text(t=>t.label);let E=u.append("g").attr("class","wardley-trends"),L=h.trends.map(t=>{let e=P.get(t.nodeId);if(!e)return null;let a=b(t.targetX),r=$(t.targetY),o=a-e.x,i=r-e.y,l=Math.sqrt(o*o+i*i),s=n.nodeRadius+2;return{origin:e,targetX:a,targetY:r,adjustedX2:l>s?a-o/l*s:a,adjustedY2:l>s?r-i/l*s:r}}).filter(t=>null!==t);E.selectAll("line").data(L).enter().append("line").attr("class","wardley-trend").attr("x1",t=>t.origin.x).attr("y1",t=>t.origin.y).attr("x2",t=>t.adjustedX2).attr("y2",t=>t.adjustedY2).attr("stroke",d.evolutionStroke).attr("stroke-width",1).attr("stroke-dasharray","4 4").attr("marker-end",`url(#arrow-${e})`);let A=u.append("g").attr("class","wardley-nodes").selectAll("g").data(h.nodes).enter().append("g").attr("class",t=>["wardley-node",t.className?`wardley-node--${t.className}`:""].filter(Boolean).join(" "));A.filter(t=>"outsource"===t.sourceStrategy).append("circle").attr("class","wardley-outsource-overlay").attr("cx",t=>P.get(t.id).x).attr("cy",t=>P.get(t.id).y).attr("r",2*n.nodeRadius).attr("fill","#666").attr("stroke",d.componentStroke).attr("stroke-width",1),A.filter(t=>"buy"===t.sourceStrategy).append("circle").attr("class","wardley-buy-overlay").attr("cx",t=>P.get(t.id).x).attr("cy",t=>P.get(t.id).y).attr("r",2*n.nodeRadius).attr("fill","#ccc").attr("stroke",d.componentStroke).attr("stroke-width",1),A.filter(t=>"build"===t.sourceStrategy).append("circle").attr("class","wardley-build-overlay").attr("cx",t=>P.get(t.id).x).attr("cy",t=>P.get(t.id).y).attr("r",2*n.nodeRadius).attr("fill","#eee").attr("stroke","#000").attr("stroke-width",1);let K=A.filter(t=>"market"===t.sourceStrategy);K.append("circle").attr("class","wardley-market-overlay").attr("cx",t=>P.get(t.id).x).attr("cy",t=>P.get(t.id).y).attr("r",2*n.nodeRadius).attr("fill","white").attr("stroke",d.componentStroke).attr("stroke-width",1),A.filter(t=>!t.isPipelineParent&&"market"!==t.sourceStrategy&&"anchor"!==t.className).append("circle").attr("cx",t=>P.get(t.id).x).attr("cy",t=>P.get(t.id).y).attr("r",n.nodeRadius).attr("fill",d.componentFill).attr("stroke",d.componentStroke).attr("stroke-width",1);let F=.7*n.nodeRadius,B=1.2*n.nodeRadius;if(K.append("line").attr("class","wardley-market-line").attr("x1",t=>P.get(t.id).x).attr("y1",t=>P.get(t.id).y-B).attr("x2",t=>P.get(t.id).x-B*Math.cos(Math.PI/6)).attr("y2",t=>P.get(t.id).y+B*Math.sin(Math.PI/6)).attr("stroke",d.componentStroke).attr("stroke-width",1),K.append("line").attr("class","wardley-market-line").attr("x1",t=>P.get(t.id).x-B*Math.cos(Math.PI/6)).attr("y1",t=>P.get(t.id).y+B*Math.sin(Math.PI/6)).attr("x2",t=>P.get(t.id).x+B*Math.cos(Math.PI/6)).attr("y2",t=>P.get(t.id).y+B*Math.sin(Math.PI/6)).attr("stroke",d.componentStroke).attr("stroke-width",1),K.append("line").attr("class","wardley-market-line").attr("x1",t=>P.get(t.id).x+B*Math.cos(Math.PI/6)).attr("y1",t=>P.get(t.id).y+B*Math.sin(Math.PI/6)).attr("x2",t=>P.get(t.id).x).attr("y2",t=>P.get(t.id).y-B).attr("stroke",d.componentStroke).attr("stroke-width",1),K.append("circle").attr("class","wardley-market-dot").attr("cx",t=>P.get(t.id).x).attr("cy",t=>P.get(t.id).y-B).attr("r",F).attr("fill","white").attr("stroke",d.componentStroke).attr("stroke-width",2),K.append("circle").attr("class","wardley-market-dot").attr("cx",t=>P.get(t.id).x-B*Math.cos(Math.PI/6)).attr("cy",t=>P.get(t.id).y+B*Math.sin(Math.PI/6)).attr("r",F).attr("fill","white").attr("stroke",d.componentStroke).attr("stroke-width",2),K.append("circle").attr("class","wardley-market-dot").attr("cx",t=>P.get(t.id).x+B*Math.cos(Math.PI/6)).attr("cy",t=>P.get(t.id).y+B*Math.sin(Math.PI/6)).attr("r",F).attr("fill","white").attr("stroke",d.componentStroke).attr("stroke-width",2),A.filter(t=>!0===t.isPipelineParent).append("rect").attr("x",t=>P.get(t.id).x-c/2).attr("y",t=>P.get(t.id).y-c/2).attr("width",c).attr("height",c).attr("fill",d.componentFill).attr("stroke",d.componentStroke).attr("stroke-width",1),A.filter(t=>!0===t.inertia).append("line").attr("class","wardley-inertia").attr("x1",t=>{let e=P.get(t.id),a=t.isPipelineParent?c/2+15:n.nodeRadius+15;return t.sourceStrategy&&(a+=n.nodeRadius+10),e.x+a}).attr("y1",t=>{let e=P.get(t.id),a=t.isPipelineParent?c:2*n.nodeRadius;return e.y-a/2}).attr("x2",t=>{let e=P.get(t.id),a=t.isPipelineParent?c/2+15:n.nodeRadius+15;return t.sourceStrategy&&(a+=n.nodeRadius+10),e.x+a}).attr("y2",t=>{let e=P.get(t.id),a=t.isPipelineParent?c:2*n.nodeRadius;return e.y+a/2}).attr("stroke",d.componentStroke).attr("stroke-width",6),A.append("text").attr("x",t=>{let e=P.get(t.id);if("anchor"===t.className)return void 0!==t.labelOffsetX?e.x+t.labelOffsetX:e.x;let a=n.nodeLabelOffset;t.sourceStrategy&&void 0===t.labelOffsetX&&(a+=10);let r=t.labelOffsetX??a;return e.x+r}).attr("y",t=>{let e=P.get(t.id);if("anchor"===t.className)return void 0!==t.labelOffsetY?e.y+t.labelOffsetY:e.y-3;let a=-n.nodeLabelOffset;t.sourceStrategy&&void 0===t.labelOffsetY&&(a-=10);let r=t.labelOffsetY??a;return e.y+r}).attr("class","wardley-node-label").attr("fill",t=>"evolved"===t.className?d.evolutionStroke:"anchor"===t.className?"#000":d.componentLabelColor).attr("font-size",n.labelFontSize).attr("font-weight",t=>"anchor"===t.className?"bold":"normal").attr("text-anchor",t=>"anchor"===t.className?"middle":"start").attr("dominant-baseline",t=>"anchor"===t.className?"middle":"auto").text(t=>t.label),h.annotations.length>0){let t=u.append("g").attr("class","wardley-annotations");if(h.annotations.forEach(e=>{let a=e.coordinates.map(t=>({x:b(t.x),y:$(t.y)}));if(a.length>1)for(let e=0;e<a.length-1;e++)t.append("line").attr("class","wardley-annotation-line").attr("x1",a[e].x).attr("y1",a[e].y).attr("x2",a[e+1].x).attr("y2",a[e+1].y).attr("stroke",d.axisColor).attr("stroke-width",1.5).attr("stroke-dasharray","4 4");a.forEach(a=>{let r=t.append("g").attr("class","wardley-annotation");r.append("circle").attr("cx",a.x).attr("cy",a.y).attr("r",10).attr("fill","white").attr("stroke",d.axisColor).attr("stroke-width",1.5),r.append("text").attr("x",a.x).attr("y",a.y).attr("text-anchor","middle").attr("dominant-baseline","central").attr("font-size",10).attr("fill",d.axisTextColor).attr("font-weight","bold").text(e.number)})}),h.annotationsBox){let e=b(h.annotationsBox.x),a=$(h.annotationsBox.y),r=t.append("g").attr("class","wardley-annotations-box"),o=[...h.annotations].filter(t=>t.text).sort((t,e)=>t.number-e.number),i=[];if(o.forEach((t,o)=>{let n=r.append("text").attr("x",e+10).attr("y",a+10+(o+1)*16).attr("font-size",11).attr("fill",d.axisTextColor).attr("text-anchor","start").attr("dominant-baseline","middle").text(`${t.number}. ${t.text}`);i.push(n)}),i.length>0){let t=0,l=0;i.forEach(e=>{let a=e.node(),r=a.getComputedTextLength();t=Math.max(t,r);let o=a.getBBox();l=Math.max(l,o.height)});let s=t+20+105,c=16*o.length+20+l/2,p=n.padding,h=y-n.padding-s,x=n.padding,g=f-n.padding-c;e=Math.max(p,Math.min(e,h)),a=Math.max(x,Math.min(a,g)),i.forEach((t,r)=>{t.attr("x",e+10).attr("y",a+10+(r+1)*16)}),r.insert("rect","text").attr("x",e).attr("y",a).attr("width",s).attr("height",c).attr("fill","white").attr("stroke",d.axisColor).attr("stroke-width",1.5).attr("rx",4).attr("ry",4)}}}if(h.notes.length>0){let t=u.append("g").attr("class","wardley-notes");h.notes.forEach(e=>{let a=b(e.x),r=$(e.y);t.append("text").attr("x",a).attr("y",r).attr("text-anchor","start").attr("font-size",11).attr("fill",d.axisTextColor).attr("font-weight","bold").text(e.text)})}if(h.accelerators.length>0){let t=u.append("g").attr("class","wardley-accelerators");h.accelerators.forEach(e=>{let a=b(e.x),r=$(e.y),o=`
2
+ M ${a} ${r-15}
3
+ L ${a+60-20} ${r-15}
4
+ L ${a+60-20} ${r-15-8}
5
+ L ${a+60} ${r}
6
+ L ${a+60-20} ${r+15+8}
7
+ L ${a+60-20} ${r+15}
8
+ L ${a} ${r+15}
9
+ Z
10
+ `;t.append("path").attr("d",o).attr("fill","white").attr("stroke",d.componentStroke).attr("stroke-width",1),t.append("text").attr("x",a+30).attr("y",r+15+15).attr("text-anchor","middle").attr("font-size",10).attr("fill",d.axisTextColor).attr("font-weight","bold").text(e.name)})}if(h.deaccelerators.length>0){let t=u.append("g").attr("class","wardley-deaccelerators");h.deaccelerators.forEach(e=>{let a=b(e.x),r=$(e.y),o=`
11
+ M ${a+60} ${r-15}
12
+ L ${a+20} ${r-15}
13
+ L ${a+20} ${r-15-8}
14
+ L ${a} ${r}
15
+ L ${a+20} ${r+15+8}
16
+ L ${a+20} ${r+15}
17
+ L ${a+60} ${r+15}
18
+ Z
19
+ `;t.append("path").attr("d",o).attr("fill","white").attr("stroke",d.componentStroke).attr("stroke-width",1),t.append("text").attr("x",a+30).attr("y",r+15+15).attr("text-anchor","middle").attr("font-size",10).attr("fill",d.axisTextColor).attr("font-weight","bold").text(e.name)})}},"draw")},styles:(0,s.K)(({wardley:t}={})=>{let e=(0,i.P$)(),a=(0,i.zj)(),r=(0,n.$t)(e,a.themeVariables),o=(0,n.$t)(r.wardley,t);return`
20
+ .wardley-background {
21
+ fill: ${o.backgroundColor};
22
+ }
23
+ .wardley-axes line, .wardley-axes path {
24
+ stroke: ${o.axisColor};
25
+ }
26
+ .wardley-axis-label {
27
+ fill: ${o.axisTextColor};
28
+ }
29
+ .wardley-stage-label {
30
+ fill: ${o.axisTextColor};
31
+ }
32
+ .wardley-grid line {
33
+ stroke: ${o.gridColor};
34
+ }
35
+ .wardley-node circle {
36
+ fill: ${o.componentFill};
37
+ stroke: ${o.componentStroke};
38
+ }
39
+ .wardley-node-label {
40
+ fill: ${o.componentLabelColor};
41
+ }
42
+ .wardley-link {
43
+ stroke: ${o.linkStroke};
44
+ }
45
+ .wardley-link--dashed {
46
+ stroke-dasharray: 4 4;
47
+ }
48
+ .wardley-link-label {
49
+ fill: ${o.axisTextColor};
50
+ }
51
+ .wardley-trend line {
52
+ stroke: ${o.evolutionStroke};
53
+ }
54
+ .wardley-annotation-line {
55
+ stroke: ${o.annotationStroke};
56
+ }
57
+ .wardley-annotation circle {
58
+ fill: ${o.annotationFill};
59
+ stroke: ${o.annotationStroke};
60
+ }
61
+ .wardley-annotation text {
62
+ fill: ${o.annotationTextColor};
63
+ }
64
+ .wardley-annotations-box rect {
65
+ fill: ${o.annotationFill};
66
+ stroke: ${o.annotationStroke};
67
+ }
68
+ .wardley-annotations-box text {
69
+ fill: ${o.annotationTextColor};
70
+ }
71
+ .wardley-pipeline-box {
72
+ stroke: ${o.componentStroke};
73
+ }
74
+ .wardley-notes text {
75
+ fill: ${o.axisTextColor};
76
+ }
77
+ `},"styles")}}}]);
@@ -1 +1 @@
1
- "use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[7175],{27175:(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([[1325],{41325:(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,34 @@
1
+ "use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[1357],{71357:(t,e,n)=>{n.d(e,{diagram:()=>te});var i=n(1591);n(9145);var r=n(14543),s=n(8136);function o(t,e){let n;if(void 0===e)for(let e of t)null!=e&&(n>e||void 0===n&&e>=e)&&(n=e);else{let i=-1;for(let r of t)null!=(r=e(r,++i,t))&&(n>r||void 0===n&&r>=r)&&(n=r)}return n}function l(t){return t.target.depth}function a(t,e){return t.sourceLinks.length?t.depth:e-1}function h(t,e){let n=0;if(void 0===e)for(let e of t)(e*=1)&&(n+=e);else{let i=-1;for(let r of t)(r=+e(r,++i,t))&&(n+=r)}return n}function c(t,e){let n;if(void 0===e)for(let e of t)null!=e&&(n<e||void 0===n&&e>=e)&&(n=e);else{let i=-1;for(let r of t)null!=(r=e(r,++i,t))&&(n<r||void 0===n&&r>=r)&&(n=r)}return n}function u(t){return function(){return t}}function f(t,e){return d(t.source,e.source)||t.index-e.index}function y(t,e){return d(t.target,e.target)||t.index-e.index}function d(t,e){return t.y0-e.y0}function p(t){return t.value}function g(t){return t.index}function _(t){return t.nodes}function x(t){return t.links}function k(t,e){let n=t.get(e);if(!n)throw Error("missing: "+e);return n}function m({nodes:t}){for(let e of t){let t=e.y0,n=t;for(let n of e.sourceLinks)n.y0=t+n.width/2,t+=n.width;for(let t of e.targetLinks)t.y1=n+t.width/2,n+=t.width}}var b=Math.PI,v=2*b,S=v-1e-6;function E(){this._x0=this._y0=this._x1=this._y1=null,this._=""}function w(){return new E}E.prototype=w.prototype={constructor:E,moveTo:function(t,e){this._+="M"+(this._x0=this._x1=+t)+","+(this._y0=this._y1=+e)},closePath:function(){null!==this._x1&&(this._x1=this._x0,this._y1=this._y0,this._+="Z")},lineTo:function(t,e){this._+="L"+(this._x1=+t)+","+(this._y1=+e)},quadraticCurveTo:function(t,e,n,i){this._+="Q"+ +t+","+ +e+","+(this._x1=+n)+","+(this._y1=+i)},bezierCurveTo:function(t,e,n,i,r,s){this._+="C"+ +t+","+ +e+","+ +n+","+ +i+","+(this._x1=+r)+","+(this._y1=+s)},arcTo:function(t,e,n,i,r){t*=1,e*=1,n*=1,i*=1,r*=1;var s=this._x1,o=this._y1,l=n-t,a=i-e,h=s-t,c=o-e,u=h*h+c*c;if(r<0)throw Error("negative radius: "+r);if(null===this._x1)this._+="M"+(this._x1=t)+","+(this._y1=e);else if(u>1e-6)if(Math.abs(c*l-a*h)>1e-6&&r){var f=n-s,y=i-o,d=l*l+a*a,p=Math.sqrt(d),g=Math.sqrt(u),_=r*Math.tan((b-Math.acos((d+u-(f*f+y*y))/(2*p*g)))/2),x=_/g,k=_/p;Math.abs(x-1)>1e-6&&(this._+="L"+(t+x*h)+","+(e+x*c)),this._+="A"+r+","+r+",0,0,"+ +(c*f>h*y)+","+(this._x1=t+k*l)+","+(this._y1=e+k*a)}else this._+="L"+(this._x1=t)+","+(this._y1=e)},arc:function(t,e,n,i,r,s){t*=1,e*=1,n*=1,s=!!s;var o=n*Math.cos(i),l=n*Math.sin(i),a=t+o,h=e+l,c=1^s,u=s?i-r:r-i;if(n<0)throw Error("negative radius: "+n);null===this._x1?this._+="M"+a+","+h:(Math.abs(this._x1-a)>1e-6||Math.abs(this._y1-h)>1e-6)&&(this._+="L"+a+","+h),n&&(u<0&&(u=u%v+v),u>S?this._+="A"+n+","+n+",0,1,"+c+","+(t-o)+","+(e-l)+"A"+n+","+n+",0,1,"+c+","+(this._x1=a)+","+(this._y1=h):u>1e-6&&(this._+="A"+n+","+n+",0,"+ +(u>=b)+","+c+","+(this._x1=t+n*Math.cos(r))+","+(this._y1=e+n*Math.sin(r))))},rect:function(t,e,n,i){this._+="M"+(this._x0=this._x1=+t)+","+(this._y0=this._y1=+e)+"h"+ +n+"v"+ +i+"h"+-n+"Z"},toString:function(){return this._}};var K=Array.prototype.slice;function L(t){return function(){return t}}function A(t){return t[0]}function M(t){return t[1]}function I(t){return t.source}function T(t){return t.target}function N(t,e,n,i,r){t.moveTo(e,n),t.bezierCurveTo(e=(e+i)/2,n,e,r,i,r)}function P(t){return[t.source.x1,t.y0]}function C(t){return[t.target.x0,t.y1]}var $=function(){var t=(0,r.K)(function(t,e,n,i){for(n=n||{},i=t.length;i--;n[t[i]]=e);return n},"o"),e=[1,9],n=[1,10],i=[1,5,10,12],s={trace:(0,r.K)(function(){},"trace"),yy:{},symbols_:{error:2,start:3,SANKEY:4,NEWLINE:5,csv:6,opt_eof:7,record:8,csv_tail:9,EOF:10,"field[source]":11,COMMA:12,"field[target]":13,"field[value]":14,field:15,escaped:16,non_escaped:17,DQUOTE:18,ESCAPED_TEXT:19,NON_ESCAPED_TEXT:20,$accept:0,$end:1},terminals_:{2:"error",4:"SANKEY",5:"NEWLINE",10:"EOF",11:"field[source]",12:"COMMA",13:"field[target]",14:"field[value]",18:"DQUOTE",19:"ESCAPED_TEXT",20:"NON_ESCAPED_TEXT"},productions_:[0,[3,4],[6,2],[9,2],[9,0],[7,1],[7,0],[8,5],[15,1],[15,1],[16,3],[17,1]],performAction:(0,r.K)(function(t,e,n,i,r,s,o){var l=s.length-1;switch(r){case 7:let a=i.findOrCreateNode(s[l-4].trim().replaceAll('""','"')),h=i.findOrCreateNode(s[l-2].trim().replaceAll('""','"')),c=parseFloat(s[l].trim());i.addLink(a,h,c);break;case 8:case 9:case 11:this.$=s[l];break;case 10:this.$=s[l-1]}},"anonymous"),table:[{3:1,4:[1,2]},{1:[3]},{5:[1,3]},{6:4,8:5,15:6,16:7,17:8,18:e,20:n},{1:[2,6],7:11,10:[1,12]},t(n,[2,4],{9:13,5:[1,14]}),{12:[1,15]},t(i,[2,8]),t(i,[2,9]),{19:[1,16]},t(i,[2,11]),{1:[2,1]},{1:[2,5]},t(n,[2,2]),{6:17,8:5,15:6,16:7,17:8,18:e,20:n},{15:18,16:7,17:8,18:e,20:n},{18:[1,19]},t(n,[2,3]),{12:[1,20]},t(i,[2,10]),{15:21,16:7,17:8,18:e,20:n},t([1,5,10],[2,7])],defaultActions:{11:[2,1],12:[2,5]},parseError:(0,r.K)(function(t,e){if(e.recoverable)this.trace(t);else{var n=Error(t);throw n.hash=e,n}},"parseError"),parse:(0,r.K)(function(t){var e=this,n=[0],i=[],s=[null],o=[],l=this.table,a="",h=0,c=0,u=0,f=o.slice.call(arguments,1),y=Object.create(this.lexer),d={};for(var p in this.yy)Object.prototype.hasOwnProperty.call(this.yy,p)&&(d[p]=this.yy[p]);y.setInput(t,d),d.lexer=y,d.parser=this,void 0===y.yylloc&&(y.yylloc={});var g=y.yylloc;o.push(g);var _=y.options&&y.options.ranges;function x(){var t;return"number"!=typeof(t=i.pop()||y.lex()||1)&&(t instanceof Array&&(t=(i=t).pop()),t=e.symbols_[t]||t),t}"function"==typeof d.parseError?this.parseError=d.parseError:this.parseError=Object.getPrototypeOf(this).parseError,(0,r.K)(function(t){n.length=n.length-2*t,s.length=s.length-t,o.length=o.length-t},"popStack"),(0,r.K)(x,"lex");for(var k,m,b,v,S,E,w,K,L,A={};;){if(b=n[n.length-1],this.defaultActions[b]?v=this.defaultActions[b]:(null==k&&(k=x()),v=l[b]&&l[b][k]),void 0===v||!v.length||!v[0]){var M="";for(E in L=[],l[b])this.terminals_[E]&&E>2&&L.push("'"+this.terminals_[E]+"'");M=y.showPosition?"Parse error on line "+(h+1)+":\n"+y.showPosition()+"\nExpecting "+L.join(", ")+", got '"+(this.terminals_[k]||k)+"'":"Parse error on line "+(h+1)+": Unexpected "+(1==k?"end of input":"'"+(this.terminals_[k]||k)+"'"),this.parseError(M,{text:y.match,token:this.terminals_[k]||k,line:y.yylineno,loc:g,expected:L})}if(v[0]instanceof Array&&v.length>1)throw Error("Parse Error: multiple actions possible at state: "+b+", token: "+k);switch(v[0]){case 1:n.push(k),s.push(y.yytext),o.push(y.yylloc),n.push(v[1]),k=null,m?(k=m,m=null):(c=y.yyleng,a=y.yytext,h=y.yylineno,g=y.yylloc,u>0&&u--);break;case 2:if(w=this.productions_[v[1]][1],A.$=s[s.length-w],A._$={first_line:o[o.length-(w||1)].first_line,last_line:o[o.length-1].last_line,first_column:o[o.length-(w||1)].first_column,last_column:o[o.length-1].last_column},_&&(A._$.range=[o[o.length-(w||1)].range[0],o[o.length-1].range[1]]),void 0!==(S=this.performAction.apply(A,[a,c,h,d,v[1],s,o].concat(f))))return S;w&&(n=n.slice(0,-1*w*2),s=s.slice(0,-1*w),o=o.slice(0,-1*w)),n.push(this.productions_[v[1]][0]),s.push(A.$),o.push(A._$),K=l[n[n.length-2]][n[n.length-1]],n.push(K);break;case 3:return!0}}return!0},"parse")};function o(){this.yy={}}return s.lexer={EOF:1,parseError:(0,r.K)(function(t,e){if(this.yy.parser)this.yy.parser.parseError(t,e);else throw Error(t)},"parseError"),setInput:(0,r.K)(function(t,e){return this.yy=e||this.yy||{},this._input=t,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:(0,r.K)(function(){var t=this._input[0];return this.yytext+=t,this.yyleng++,this.offset++,this.match+=t,this.matched+=t,t.match(/(?:\r\n?|\n).*/g)?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),t},"input"),unput:(0,r.K)(function(t){var e=t.length,n=t.split(/(?:\r\n?|\n)/g);this._input=t+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-e),this.offset-=e;var i=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),n.length-1&&(this.yylineno-=n.length-1);var r=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:n?(n.length===i.length?this.yylloc.first_column:0)+i[i.length-n.length].length-n[0].length:this.yylloc.first_column-e},this.options.ranges&&(this.yylloc.range=[r[0],r[0]+this.yyleng-e]),this.yyleng=this.yytext.length,this},"unput"),more:(0,r.K)(function(){return this._more=!0,this},"more"),reject:(0,r.K)(function(){return this.options.backtrack_lexer?(this._backtrack=!0,this):this.parseError("Lexical error on line "+(this.yylineno+1)+". You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},"reject"),less:(0,r.K)(function(t){this.unput(this.match.slice(t))},"less"),pastInput:(0,r.K)(function(){var t=this.matched.substr(0,this.matched.length-this.match.length);return(t.length>20?"...":"")+t.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:(0,r.K)(function(){var t=this.match;return t.length<20&&(t+=this._input.substr(0,20-t.length)),(t.substr(0,20)+(t.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:(0,r.K)(function(){var t=this.pastInput(),e=Array(t.length+1).join("-");return t+this.upcomingInput()+"\n"+e+"^"},"showPosition"),test_match:(0,r.K)(function(t,e){var n,i,r;if(this.options.backtrack_lexer&&(r={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(r.yylloc.range=this.yylloc.range.slice(0))),(i=t[0].match(/(?:\r\n?|\n).*/g))&&(this.yylineno+=i.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:i?i[i.length-1].length-i[i.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+t[0].length},this.yytext+=t[0],this.match+=t[0],this.matches=t,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(t[0].length),this.matched+=t[0],n=this.performAction.call(this,this.yy,this,e,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),n)return n;if(this._backtrack)for(var s in r)this[s]=r[s];return!1},"test_match"),next:(0,r.K)(function(){if(this.done)return this.EOF;this._input||(this.done=!0),this._more||(this.yytext="",this.match="");for(var t,e,n,i,r=this._currentRules(),s=0;s<r.length;s++)if((n=this._input.match(this.rules[r[s]]))&&(!e||n[0].length>e[0].length)){if(e=n,i=s,this.options.backtrack_lexer){if(!1!==(t=this.test_match(n,r[s])))return t;if(!this._backtrack)return!1;e=!1;continue}if(!this.options.flex)break}return e?!1!==(t=this.test_match(e,r[i]))&&t:""===this._input?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+". Unrecognized text.\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:(0,r.K)(function(){var t=this.next();return t||this.lex()},"lex"),begin:(0,r.K)(function(t){this.conditionStack.push(t)},"begin"),popState:(0,r.K)(function(){return this.conditionStack.length-1>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:(0,r.K)(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:(0,r.K)(function(t){return(t=this.conditionStack.length-1-Math.abs(t||0))>=0?this.conditionStack[t]:"INITIAL"},"topState"),pushState:(0,r.K)(function(t){this.begin(t)},"pushState"),stateStackSize:(0,r.K)(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:(0,r.K)(function(t,e,n,i){switch(n){case 0:case 1:return this.pushState("csv"),4;case 2:return 10;case 3:return 5;case 4:return 12;case 5:return this.pushState("escaped_text"),18;case 6:return 20;case 7:return this.popState("escaped_text"),18;case 8:return 19}},"anonymous"),rules:[/^(?:sankey-beta\b)/i,/^(?:sankey\b)/i,/^(?:$)/i,/^(?:((\u000D\u000A)|(\u000A)))/i,/^(?:(\u002C))/i,/^(?:(\u0022))/i,/^(?:([\u0020-\u0021\u0023-\u002B\u002D-\u007E])*)/i,/^(?:(\u0022)(?!(\u0022)))/i,/^(?:(([\u0020-\u0021\u0023-\u002B\u002D-\u007E])|(\u002C)|(\u000D)|(\u000A)|(\u0022)(\u0022))*)/i],conditions:{csv:{rules:[2,3,4,5,6,7,8],inclusive:!1},escaped_text:{rules:[7,8],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,5,6,7,8],inclusive:!0}}},(0,r.K)(o,"Parser"),o.prototype=s,s.Parser=o,new o}();$.parser=$;var D=[],O=[],j=new Map,z=(0,r.K)(()=>{D=[],O=[],j=new Map,(0,i.IU)()},"clear"),F=class{constructor(t,e,n=0){this.source=t,this.target=e,this.value=n}static{(0,r.K)(this,"SankeyLink")}},U=(0,r.K)((t,e,n)=>{D.push(new F(t,e,n))},"addLink"),W=class{constructor(t){this.ID=t}static{(0,r.K)(this,"SankeyNode")}},V=(0,r.K)(t=>{t=i.Y2.sanitizeText(t,(0,i.D7)());let e=j.get(t);return void 0===e&&(e=new W(t),j.set(t,e),O.push(e)),e},"findOrCreateNode"),G=(0,r.K)(()=>O,"getNodes"),X=(0,r.K)(()=>D,"getLinks"),Y=(0,r.K)(()=>({nodes:O.map(t=>({id:t.ID})),links:D.map(t=>({source:t.source.ID,target:t.target.ID,value:t.value}))}),"getGraph"),q={nodesMap:j,getConfig:(0,r.K)(()=>(0,i.D7)().sankey,"getConfig"),getNodes:G,getLinks:X,getGraph:Y,addLink:U,findOrCreateNode:V,getAccTitle:i.iN,setAccTitle:i.SV,getAccDescription:i.m7,setAccDescription:i.EI,getDiagramTitle:i.ab,setDiagramTitle:i.ke,clear:z},B=class t{static{(0,r.K)(this,"Uid")}static{this.count=0}static next(e){return new t(e+ ++t.count)}constructor(t){this.id=t,this.href=`#${t}`}toString(){return"url("+this.href+")"}},Q={left:function(t){return t.depth},right:function(t,e){return e-1-t.height},center:function(t){return t.targetLinks.length?t.depth:t.sourceLinks.length?o(t.sourceLinks,l)-1:0},justify:a},R=(0,r.K)(t=>{let e=0,n=0;for(let i of t){let t=i.value??0;t>e&&(e=t,n=i.layer??0)}return n},"findCentralNodeLayer"),Z=(0,r.K)(function(t,e,n,l){let b,v,{securityLevel:S,sankey:E}=(0,i.D7)(),$=i.ME.sankey;"sandbox"===S&&(b=(0,s.Ltv)("#i"+e));let D="sandbox"===S?(0,s.Ltv)(b.nodes()[0].contentDocument.body):(0,s.Ltv)("body"),O="sandbox"===S?D.select(`[id="${e}"]`):(0,s.Ltv)(`[id="${e}"]`),j=E?.width??$.width,z=E?.height??$.width,F=E?.useMaxWidth??$.useMaxWidth,U=E?.nodeAlignment??$.nodeAlignment,W=E?.prefix??$.prefix,V=E?.suffix??$.suffix,G=E?.showValues??$.showValues,X=E?.nodeWidth??$.nodeWidth??10,Y=E?.nodePadding??$.nodePadding??12,q=E?.labelStyle??$.labelStyle??"legacy",Z=E?.nodeColors??{},H=l.db.getGraph(),J=Q[U];(function(){let t,e,n=0,i=0,r=1,s=1,l=24,b=8,v,S=g,E=a,w=_,K=x,L=6;function A(){let a={nodes:w.apply(null,arguments),links:K.apply(null,arguments)};return function({nodes:t,links:n}){for(let[e,n]of t.entries())n.index=e,n.sourceLinks=[],n.targetLinks=[];let i=new Map(t.map((e,n)=>[S(e,n,t),e]));for(let[t,e]of n.entries()){e.index=t;let{source:n,target:r}=e;"object"!=typeof n&&(n=e.source=k(i,n)),"object"!=typeof r&&(r=e.target=k(i,r)),n.sourceLinks.push(e),r.targetLinks.push(e)}if(null!=e)for(let{sourceLinks:n,targetLinks:i}of t)n.sort(e),i.sort(e)}(a),function({nodes:t}){for(let e of t)e.value=void 0===e.fixedValue?Math.max(h(e.sourceLinks,p),h(e.targetLinks,p)):e.fixedValue}(a),function({nodes:t}){let e=t.length,n=new Set(t),i=new Set,r=0;for(;n.size;){for(let t of n)for(let{target:e}of(t.depth=r,t.sourceLinks))i.add(e);if(++r>e)throw Error("circular link");n=i,i=new Set}}(a),function({nodes:t}){let e=t.length,n=new Set(t),i=new Set,r=0;for(;n.size;){for(let t of n)for(let{source:e}of(t.height=r,t.targetLinks))i.add(e);if(++r>e)throw Error("circular link");n=i,i=new Set}}(a),function(a){let u=function({nodes:e}){let i=c(e,t=>t.depth)+1,s=(r-n-l)/(i-1),o=Array(i);for(let t of e){let e=Math.max(0,Math.min(i-1,Math.floor(E.call(null,t,i))));t.layer=e,t.x0=n+e*s,t.x1=t.x0+l,o[e]?o[e].push(t):o[e]=[t]}if(t)for(let e of o)e.sort(t);return o}(a);v=Math.min(b,(s-i)/(c(u,t=>t.length)-1));let g=o(u,t=>(s-i-(t.length-1)*v)/h(t,p));for(let t of u){let n=i;for(let e of t)for(let t of(e.y0=n,e.y1=n+e.value*g,n=e.y1+v,e.sourceLinks))t.width=t.value*g;n=(s-n+v)/(t.length+1);for(let e=0;e<t.length;++e){let i=t[e];i.y0+=n*(e+1),i.y1+=n*(e+1)}var _=t;if(void 0===e)for(let{sourceLinks:t,targetLinks:e}of _)t.sort(y),e.sort(f)}for(let e=0;e<L;++e){let n=Math.pow(.99,e),i=Math.max(1-n,(e+1)/L);(function(e,n,i){for(let r=e.length,s=r-2;s>=0;--s){let r=e[s];for(let t of r){let e=0,i=0;for(let{target:n,value:r}of t.sourceLinks){let s=r*(n.layer-t.layer);e+=function(t,e){let n=e.y0-(e.targetLinks.length-1)*v/2;for(let{source:i,width:r}of e.targetLinks){if(i===t)break;n+=r+v}for(let{target:i,width:r}of t.sourceLinks){if(i===e)break;n-=r}return n}(t,n)*s,i+=s}if(!(i>0))continue;let r=(e/i-t.y0)*n;t.y0+=r,t.y1+=r,N(t)}void 0===t&&r.sort(d),M(r,i)}})(u,n,i),function(e,n,i){for(let r=1,s=e.length;r<s;++r){let s=e[r];for(let t of s){let e=0,i=0;for(let{source:n,value:r}of t.targetLinks){let s=r*(t.layer-n.layer);e+=function(t,e){let n=t.y0-(t.sourceLinks.length-1)*v/2;for(let{target:i,width:r}of t.sourceLinks){if(i===e)break;n+=r+v}for(let{source:i,width:r}of e.targetLinks){if(i===t)break;n-=r}return n}(n,t)*s,i+=s}if(!(i>0))continue;let r=(e/i-t.y0)*n;t.y0+=r,t.y1+=r,N(t)}void 0===t&&s.sort(d),M(s,i)}}(u,n,i)}}(a),m(a),a}function M(t,e){let n=t.length>>1,r=t[n];T(t,r.y0-v,n-1,e),I(t,r.y1+v,n+1,e),T(t,s,t.length-1,e),I(t,i,0,e)}function I(t,e,n,i){for(;n<t.length;++n){let r=t[n],s=(e-r.y0)*i;s>1e-6&&(r.y0+=s,r.y1+=s),e=r.y1+v}}function T(t,e,n,i){for(;n>=0;--n){let r=t[n],s=(r.y1-e)*i;s>1e-6&&(r.y0-=s,r.y1-=s),e=r.y0-v}}function N({sourceLinks:t,targetLinks:n}){if(void 0===e){for(let{source:{sourceLinks:t}}of n)t.sort(y);for(let{target:{targetLinks:e}}of t)e.sort(f)}}return A.update=function(t){return m(t),t},A.nodeId=function(t){return arguments.length?(S="function"==typeof t?t:u(t),A):S},A.nodeAlign=function(t){return arguments.length?(E="function"==typeof t?t:u(t),A):E},A.nodeSort=function(e){return arguments.length?(t=e,A):t},A.nodeWidth=function(t){return arguments.length?(l=+t,A):l},A.nodePadding=function(t){return arguments.length?(b=v=+t,A):b},A.nodes=function(t){return arguments.length?(w="function"==typeof t?t:u(t),A):w},A.links=function(t){return arguments.length?(K="function"==typeof t?t:u(t),A):K},A.linkSort=function(t){return arguments.length?(e=t,A):e},A.size=function(t){return arguments.length?(n=i=0,r=+t[0],s=+t[1],A):[r-n,s-i]},A.extent=function(t){return arguments.length?(n=+t[0][0],r=+t[1][0],i=+t[0][1],s=+t[1][1],A):[[n,i],[r,s]]},A.iterations=function(t){return arguments.length?(L=+t,A):L},A})().nodeId(t=>t.id).nodeWidth(X).nodePadding(Y+15*!!G).nodeAlign(J).extent([[0,0],[j,z]])(H);let tt=R(H.nodes),te=(0,s.UMr)(s.zt),tn=(0,r.K)(t=>Z[t]??te(t),"getNodeColor");O.append("g").attr("class","nodes").selectAll(".node").data(H.nodes).join("g").attr("class","node").attr("id",t=>(t.uid=B.next("node-")).id).attr("transform",function(t){return"translate("+t.x0+","+t.y0+")"}).attr("x",t=>t.x0).attr("y",t=>t.y0).append("rect").attr("height",t=>t.y1-t.y0).attr("width",t=>t.x1-t.x0).attr("fill",t=>tn(t.id));let ti=(0,r.K)(({id:t,value:e})=>G?`${t}
2
+ ${W}${Math.round(100*e)/100}${V}`:t,"getText"),tr=(0,r.K)(t=>"outlined"===q?(t.layer??0)<tt?{x:t.x0-6,anchor:"end"}:{x:t.x1+6,anchor:"start"}:t.x0<j/2?{x:t.x1+6,anchor:"start"}:{x:t.x0-6,anchor:"end"},"getLabelPosition"),ts=O.append("g").attr("class","node-labels").attr("font-size",14),to=(0,r.K)(t=>ts.selectAll(t?`.${t}`:"text").data(H.nodes).join("text").attr("class",t??null).attr("x",t=>tr(t).x).attr("y",t=>(t.y1+t.y0)/2).attr("dy",`${G?"0":"0.35"}em`).attr("text-anchor",t=>tr(t).anchor).text(ti),"appendLabel");"outlined"===q?(to("sankey-label-bg"),to("sankey-label-fg")):to();let tl=O.append("g").attr("class","links").attr("fill","none").attr("stroke-opacity",.5).selectAll(".link").data(H.links).join("g").attr("class","link").style("mix-blend-mode","multiply"),ta=E?.linkColor??"gradient";if("gradient"===ta){let t=tl.append("linearGradient").attr("id",t=>(t.uid=B.next("linearGradient-")).id).attr("gradientUnits","userSpaceOnUse").attr("x1",t=>t.source.x1).attr("x2",t=>t.target.x0);t.append("stop").attr("offset","0%").attr("stop-color",t=>tn(t.source.id)),t.append("stop").attr("offset","100%").attr("stop-color",t=>tn(t.target.id))}switch(ta){case"gradient":v=(0,r.K)(t=>t.uid,"coloring");break;case"source":v=(0,r.K)(t=>tn(t.source.id),"coloring");break;case"target":v=(0,r.K)(t=>tn(t.target.id),"coloring");break;default:v=ta}tl.append("path").attr("d",(function(t){var e=I,n=T,i=A,r=M,s=null;function o(){var o,l=K.call(arguments),a=e.apply(this,l),h=n.apply(this,l);if(s||(s=o=w()),t(s,+i.apply(this,(l[0]=a,l)),+r.apply(this,l),+i.apply(this,(l[0]=h,l)),+r.apply(this,l)),o)return s=null,o+""||null}return o.source=function(t){return arguments.length?(e=t,o):e},o.target=function(t){return arguments.length?(n=t,o):n},o.x=function(t){return arguments.length?(i="function"==typeof t?t:L(+t),o):i},o.y=function(t){return arguments.length?(r="function"==typeof t?t:L(+t),o):r},o.context=function(t){return arguments.length?(s=null==t?null:t,o):s},o})(N).source(P).target(C)).attr("stroke",v).attr("stroke-width",t=>Math.max(1,t.width)),(0,i.ot)(void 0,O,0,F)},"draw"),H=(0,r.K)(t=>t.replaceAll(/^[^\S\n\r]+|[^\S\n\r]+$/g,"").replaceAll(/([\n\r])+/g,"\n").trim(),"prepareTextForParsing"),J=(0,r.K)(t=>`.label {
3
+ font-family: ${t.fontFamily};
4
+ }
5
+
6
+ .node-labels {
7
+ font-family: ${t.fontFamily};
8
+ }
9
+
10
+ /* Outlined label style - background stroke for better readability */
11
+ .sankey-label-bg {
12
+ stroke: ${t.mainBkg||t.background||"#fff"};
13
+ stroke-width: 4px;
14
+ stroke-linejoin: round;
15
+ paint-order: stroke;
16
+ }
17
+
18
+ /* Foreground label text */
19
+ .sankey-label-fg {
20
+ fill: ${t.textColor};
21
+ }
22
+
23
+ /* Node styling */
24
+ .node rect {
25
+ shape-rendering: crispEdges;
26
+ }
27
+
28
+ /* Link styling */
29
+ .link {
30
+ fill: none;
31
+ stroke-opacity: 0.5;
32
+ mix-blend-mode: multiply;
33
+ }
34
+ `,"getStyles"),tt=$.parse.bind($);$.parse=t=>tt(H(t));var te={styles:J,parser:$,db:q,renderer:{draw:Z}}}}]);
@@ -0,0 +1,24 @@
1
+ "use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[1430],{55302:(e,t,a)=>{function l(e,t){e.accDescr&&t.setAccDescription?.(e.accDescr),e.accTitle&&t.setAccTitle?.(e.accTitle),e.title&&t.setDiagramTitle?.(e.title)}a.d(t,{S:()=>l}),(0,a(14543).K)(l,"populateCommonDb")},57412:(e,t,a)=>{a.d(t,{P:()=>i});var l=a(1591),r=a(9145),s=a(14543),i=(0,s.K)((e,t,a,s)=>{e.attr("class",a);let{width:i,height:c,x:d,y:p}=n(e,t);(0,l.a$)(e,c,i,s);let h=o(d,p,i,c,t);e.attr("viewBox",h),r.R.debug(`viewBox configured: ${h} with padding: ${t}`)},"setupViewPortForSVG"),n=(0,s.K)((e,t)=>{let a=e.node()?.getBBox()||{width:0,height:0,x:0,y:0};return{width:a.width+2*t,height:a.height+2*t,x:a.x,y:a.y}},"calculateDimensionsWithPadding"),o=(0,s.K)((e,t,a,l,r)=>`${e-r} ${t-r} ${a} ${l}`,"createViewBox")},81430:(e,t,a)=>{a.d(t,{diagram:()=>b});var l=a(55302),r=a(51587),s=a(57412),i=a(52663),n=a(4625),o=a(1591),c=a(9145),d=a(14543),p=a(17355),h=a(8136),m=class{constructor(){this.nodes=[],this.levels=new Map,this.outerNodes=[],this.classes=new Map,this.setAccTitle=o.SV,this.getAccTitle=o.iN,this.setDiagramTitle=o.ke,this.getDiagramTitle=o.ab,this.getAccDescription=o.m7,this.setAccDescription=o.EI}static{(0,d.K)(this,"TreeMapDB")}getNodes(){return this.nodes}getConfig(){let e=o.UI,t=(0,o.zj)();return(0,n.$t)({...e.treemap,...t.treemap??{}})}addNode(e,t){this.nodes.push(e),this.levels.set(e,t),0===t&&(this.outerNodes.push(e),this.root??=e)}getRoot(){return{name:"",children:this.outerNodes}}addClass(e,t){let a=this.classes.get(e)??{id:e,styles:[],textStyles:[]},l=t.replace(/\\,/g,"\xa7\xa7\xa7").replace(/,/g,";").replace(/§§§/g,",").split(";");l&&l.forEach(e=>{(0,i.KX)(e)&&(a?.textStyles?a.textStyles.push(e):a.textStyles=[e]),a?.styles?a.styles.push(e):a.styles=[e]}),this.classes.set(e,a)}getClasses(){return this.classes}getStylesForClass(e){return this.classes.get(e)?.styles??[]}clear(){(0,o.IU)(),this.nodes=[],this.levels=new Map,this.outerNodes=[],this.classes=new Map,this.root=void 0}};function y(e){if(!e.length)return[];let t=[],a=[];return e.forEach(e=>{let l={name:e.name,children:"Leaf"===e.type?void 0:[]};for(l.classSelector=e?.classSelector,e?.cssCompiledStyles&&(l.cssCompiledStyles=e.cssCompiledStyles),"Leaf"===e.type&&void 0!==e.value&&(l.value=e.value);a.length>0&&a[a.length-1].level>=e.level;)a.pop();if(0===a.length)t.push(l);else{let e=a[a.length-1].node;e.children?e.children.push(l):e.children=[l]}"Leaf"!==e.type&&a.push({node:l,level:e.level})}),t}(0,d.K)(y,"buildHierarchy");var f=(0,d.K)((e,t)=>{(0,l.S)(e,t);let a=[];for(let a of e.TreemapRows??[])"ClassDefStatement"===a.$type&&t.addClass(a.className??"",a.styleText??"");for(let l of e.TreemapRows??[]){let e=l.item;if(!e)continue;let r=l.indent?parseInt(l.indent):0,s=u(e),i=e.classSelector?t.getStylesForClass(e.classSelector):[],n=i.length>0?i:void 0,o={level:r,name:s,type:e.$type,value:e.value,classSelector:e.classSelector,cssCompiledStyles:n};a.push(o)}let r=y(a),s=(0,d.K)((e,a)=>{for(let l of e)t.addNode(l,a),l.children&&l.children.length>0&&s(l.children,a+1)},"addNodesRecursively");s(r,0)},"populate"),u=(0,d.K)(e=>e.name?String(e.name):"","getItemName"),S={parser:{yy:void 0},parse:(0,d.K)(async e=>{try{let t=p.qg,a=await t("treemap",e);c.R.debug("Treemap AST:",a);let l=S.parser?.yy;if(!(l instanceof m))throw Error("parser.parser?.yy was not a TreemapDB. This is due to a bug within Mermaid, please report this issue at https://github.com/mermaid-js/mermaid/issues.");f(a,l)}catch(e){throw c.R.error("Error parsing treemap:",e),e}},"parse")},g=(0,d.K)((e,t,a,l)=>{let n,p=l.db,m=p.getConfig(),y=m.padding??10,f=p.getDiagramTitle(),u=p.getRoot(),{themeVariables:S}=(0,o.zj)();if(!u)return;let g=30*!!f,x=(0,r.D)(t),$=m.nodeWidth?10*m.nodeWidth:960,b=m.nodeHeight?10*m.nodeHeight:500,v=b+g;x.attr("viewBox",`0 0 ${$} ${v}`),(0,o.a$)(x,v,$,m.useMaxWidth);try{let e=m.valueFormat||",";if("$0,0"===e)n=(0,d.K)(e=>"$"+(0,h.GPZ)(",")(e),"valueFormat");else if(e.startsWith("$")&&e.includes(",")){let t=/\.\d+/.exec(e),a=t?t[0]:"";n=(0,d.K)(e=>"$"+(0,h.GPZ)(","+a)(e),"valueFormat")}else if(e.startsWith("$")){let t=e.substring(1);n=(0,d.K)(e=>"$"+(0,h.GPZ)(t||"")(e),"valueFormat")}else n=(0,h.GPZ)(e)}catch(e){c.R.error("Error creating format function:",e),n=(0,h.GPZ)(",")}let C=(0,h.UMr)().range(["transparent",S.cScale0,S.cScale1,S.cScale2,S.cScale3,S.cScale4,S.cScale5,S.cScale6,S.cScale7,S.cScale8,S.cScale9,S.cScale10,S.cScale11]),w=(0,h.UMr)().range(["transparent",S.cScalePeer0,S.cScalePeer1,S.cScalePeer2,S.cScalePeer3,S.cScalePeer4,S.cScalePeer5,S.cScalePeer6,S.cScalePeer7,S.cScalePeer8,S.cScalePeer9,S.cScalePeer10,S.cScalePeer11]),L=(0,h.UMr)().range([S.cScaleLabel0,S.cScaleLabel1,S.cScaleLabel2,S.cScaleLabel3,S.cScaleLabel4,S.cScaleLabel5,S.cScaleLabel6,S.cScaleLabel7,S.cScaleLabel8,S.cScaleLabel9,S.cScaleLabel10,S.cScaleLabel11]);f&&x.append("text").attr("x",$/2).attr("y",g/2).attr("class","treemapTitle").attr("text-anchor","middle").attr("dominant-baseline","middle").text(f);let k=x.append("g").attr("transform",`translate(0, ${g})`).attr("class","treemapContainer"),T=(0,h.Sk5)(u).sum(e=>e.value??0).sort((e,t)=>(t.value??0)-(e.value??0)),P=(0,h.hkb)().size([$,b]).paddingTop(e=>e.children&&e.children.length>0?35:0).paddingInner(y).paddingLeft(e=>e.children&&e.children.length>0?10:0).paddingRight(e=>e.children&&e.children.length>0?10:0).paddingBottom(e=>e.children&&e.children.length>0?10:0).round(!0)(T),M=P.descendants().filter(e=>e.children&&e.children.length>0),z=k.selectAll(".treemapSection").data(M).enter().append("g").attr("class","treemapSection").attr("transform",e=>`translate(${e.x0},${e.y0})`);z.append("rect").attr("width",e=>e.x1-e.x0).attr("height",25).attr("class","treemapSectionHeader").attr("fill","none").attr("fill-opacity",.6).attr("stroke-width",.6).attr("style",e=>0===e.depth?"display: none;":""),z.append("clipPath").attr("id",(e,a)=>`clip-section-${t}-${a}`).append("rect").attr("width",e=>Math.max(0,e.x1-e.x0-12)).attr("height",25),z.append("rect").attr("width",e=>e.x1-e.x0).attr("height",e=>e.y1-e.y0).attr("class",(e,t)=>`treemapSection section${t}`).attr("fill",e=>C(e.data.name)).attr("fill-opacity",.6).attr("stroke",e=>w(e.data.name)).attr("stroke-width",2).attr("stroke-opacity",.4).attr("style",e=>{if(0===e.depth)return"display: none;";let t=(0,i.GX)({cssCompiledStyles:e.data.cssCompiledStyles});return t.nodeStyles+";"+t.borderStyles.join(";")}),z.append("text").attr("class","treemapSectionLabel").attr("x",6).attr("y",12.5).attr("dominant-baseline","middle").text(e=>0===e.depth?"":e.data.name).attr("font-weight","bold").attr("clip-path",(e,a)=>`url(#clip-section-${t}-${a})`).attr("style",e=>0===e.depth?"display: none;":"dominant-baseline: middle; font-size: 12px; fill:"+L(e.data.name)+"; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;"+(0,i.GX)({cssCompiledStyles:e.data.cssCompiledStyles}).labelStyles.replace("color:","fill:")).each(function(e){if(0===e.depth)return;let t=(0,h.Ltv)(this),a=e.data.name;t.text(a);let l=e.x1-e.x0,r=Math.max(15,!1!==m.showValues&&e.value?l-10-30-10-6:l-6-6),s=t.node();if(s.getComputedTextLength()>r){let e=a;for(;e.length>0;){if(0===(e=a.substring(0,e.length-1)).length){t.text("..."),s.getComputedTextLength()>r&&t.text("");break}if(t.text(e+"..."),s.getComputedTextLength()<=r)break}}}),!1!==m.showValues&&z.append("text").attr("class","treemapSectionValue").attr("x",e=>e.x1-e.x0-10).attr("y",12.5).attr("text-anchor","end").attr("dominant-baseline","middle").text(e=>e.value?n(e.value):"").attr("font-style","italic").attr("style",e=>0===e.depth?"display: none;":"text-anchor: end; dominant-baseline: middle; font-size: 10px; fill:"+L(e.data.name)+"; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;"+(0,i.GX)({cssCompiledStyles:e.data.cssCompiledStyles}).labelStyles.replace("color:","fill:"));let F=P.leaves(),K=F.length>20,N=K?16:38,D=K?14:28,G=K?4:8,V=K?4:6,W=K?2:4,R=K?8:10,A=K?1:2,B=k.selectAll(".treemapLeafGroup").data(F).enter().append("g").attr("class",(e,t)=>`treemapNode treemapLeafGroup leaf${t}${e.data.classSelector?` ${e.data.classSelector}`:""}x`).attr("transform",e=>`translate(${e.x0},${e.y0})`);B.append("rect").attr("width",e=>e.x1-e.x0).attr("height",e=>e.y1-e.y0).attr("class","treemapLeaf").attr("fill",e=>e.parent?C(e.parent.data.name):C(e.data.name)).attr("style",e=>(0,i.GX)({cssCompiledStyles:e.data.cssCompiledStyles}).nodeStyles).attr("fill-opacity",.3).attr("stroke",e=>e.parent?C(e.parent.data.name):C(e.data.name)).attr("stroke-width",3),B.append("clipPath").attr("id",(e,a)=>`clip-${t}-${a}`).append("rect").attr("width",e=>Math.max(0,e.x1-e.x0-4)).attr("height",e=>Math.max(0,e.y1-e.y0-4)),B.append("text").attr("class","treemapLabel").attr("x",e=>(e.x1-e.x0)/2).attr("y",e=>(e.y1-e.y0)/2).attr("style",e=>`text-anchor: middle; dominant-baseline: middle; font-size: ${N}px;fill:`+L(e.data.name)+";"+(0,i.GX)({cssCompiledStyles:e.data.cssCompiledStyles}).labelStyles.replace("color:","fill:")).attr("clip-path",(e,a)=>`url(#clip-${t}-${a})`).text(e=>e.data.name).each(function(e){let t=(0,h.Ltv)(this),a=e.x1-e.x0,l=e.y1-e.y0,r=t.node(),s=a-2*W,i=l-2*W;if(s<R||i<R)return void t.style("display","none");let n=parseInt(t.style("font-size"),10);for(;r.getComputedTextLength()>s&&n>G;)n--,t.style("font-size",`${n}px`);let o=Math.max(V,Math.min(D,Math.round(.6*n))),c=n+A+o;for(;c>i&&n>G&&(!((o=Math.max(V,Math.min(D,Math.round(.6*--n))))<V)||n!==G);)t.style("font-size",`${n}px`),c=n+A+o;t.style("font-size",`${n}px`),K?(n<G||i<G)&&t.style("display","none"):(r.getComputedTextLength()>s||n<G||i<n)&&t.style("display","none")}),!1!==m.showValues&&B.append("text").attr("class","treemapValue").attr("x",e=>(e.x1-e.x0)/2).attr("y",function(e){return(e.y1-e.y0)/2}).attr("style",e=>`text-anchor: middle; dominant-baseline: hanging; font-size: ${D}px;fill:`+L(e.data.name)+";"+(0,i.GX)({cssCompiledStyles:e.data.cssCompiledStyles}).labelStyles.replace("color:","fill:")).attr("clip-path",(e,a)=>`url(#clip-${t}-${a})`).text(e=>e.value?n(e.value):"").each(function(e){let t=(0,h.Ltv)(this),a=this.parentNode;if(!a)return void t.style("display","none");let l=(0,h.Ltv)(a).select(".treemapLabel");if(l.empty()||"none"===l.style("display"))return void t.style("display","none");let r=parseFloat(l.style("font-size")),s=Math.max(V,Math.min(D,Math.round(.6*r)));t.style("font-size",`${s}px`);let i=(e.y1-e.y0)/2+r/2+A;t.attr("y",i);let n=e.x1-e.x0,o=e.y1-e.y0;t.node().getComputedTextLength()>n-2*W||i+s>o-4||s<V?t.style("display","none"):t.style("display",null)});let E=m.diagramPadding??8;(0,s.P)(x,E,"flowchart",m?.useMaxWidth||!1)},"draw"),x=(0,d.K)(function(e,t){return t.db.getClasses()},"getClasses"),$={sectionStrokeColor:"black",sectionStrokeWidth:"1",sectionFillColor:"#efefef",leafStrokeColor:"black",leafStrokeWidth:"1",leafFillColor:"#efefef",labelFontSize:"12px",valueFontSize:"10px",titleFontSize:"14px"},b={parser:S,get db(){return new m},renderer:{draw:g,getClasses:x},styles:(0,d.K)(({treemap:e}={})=>{let t=(0,o.P$)(),a=(0,o.zj)(),l=(0,n.$t)(t,a.themeVariables),r=(0,n.$t)($,e),s=r.titleColor??l.titleColor,i=r.labelColor??l.textColor,c=r.valueColor??l.textColor;return`
2
+ .treemapNode.section {
3
+ stroke: ${r.sectionStrokeColor};
4
+ stroke-width: ${r.sectionStrokeWidth};
5
+ fill: ${r.sectionFillColor};
6
+ }
7
+ .treemapNode.leaf {
8
+ stroke: ${r.leafStrokeColor};
9
+ stroke-width: ${r.leafStrokeWidth};
10
+ fill: ${r.leafFillColor};
11
+ }
12
+ .treemapLabel {
13
+ fill: ${i};
14
+ font-size: ${r.labelFontSize};
15
+ }
16
+ .treemapValue {
17
+ fill: ${c};
18
+ font-size: ${r.valueFontSize};
19
+ }
20
+ .treemapTitle {
21
+ fill: ${s};
22
+ font-size: ${r.titleFontSize};
23
+ }
24
+ `},"getStyles")}}}]);