@baique/pi-web-sky 0.1.39 → 0.1.40

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 (379) hide show
  1. package/.next/BUILD_ID +1 -1
  2. package/.next/app-path-routes-manifest.json +9 -14
  3. package/.next/build-manifest.json +3 -3
  4. package/.next/prerender-manifest.json +3 -3
  5. package/.next/react-loadable-manifest.json +51 -51
  6. package/.next/required-server-files.js +1 -1
  7. package/.next/required-server-files.json +1 -1
  8. package/.next/routes-manifest.json +3 -45
  9. package/.next/server/app/_global-error/page.js +2 -2
  10. package/.next/server/app/_global-error/page_client-reference-manifest.js +1 -1
  11. package/.next/server/app/_global-error.html +1 -1
  12. package/.next/server/app/_global-error.rsc +1 -1
  13. package/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  14. package/.next/server/app/_global-error.segments/_global-error/__PAGE__.segment.rsc +1 -1
  15. package/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  16. package/.next/server/app/_not-found/page.js +1 -1
  17. package/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  18. package/.next/server/app/_not-found.html +1 -1
  19. package/.next/server/app/_not-found.rsc +3 -3
  20. package/.next/server/app/_not-found.segments/_full.segment.rsc +3 -3
  21. package/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +3 -3
  22. package/.next/server/app/_not-found.segments/_tree.segment.rsc +2 -2
  23. package/.next/server/app/api/agent/[id]/bash-output/route.js +2 -2
  24. package/.next/server/app/api/agent/[id]/events/route.js +2 -2
  25. package/.next/server/app/api/agent/[id]/route.js +2 -2
  26. package/.next/server/app/api/agent/new/route.js +1 -1
  27. package/.next/server/app/api/agent/new/route.js.nft.json +1 -1
  28. package/.next/server/app/api/agent/running/route.js +1 -1
  29. package/.next/server/app/api/app-update/route.js +1 -1
  30. package/.next/server/app/api/auth/all-providers/route.js +1 -1
  31. package/.next/server/app/api/auth/api-key/[provider]/route.js +1 -1
  32. package/.next/server/app/api/auth/login/[provider]/route.js +1 -1
  33. package/.next/server/app/api/auth/logout/[provider]/route.js +1 -1
  34. package/.next/server/app/api/auth/providers/route.js +1 -1
  35. package/.next/server/app/api/boards/[id]/reconcile/route.js +1 -0
  36. package/.next/server/app/api/boards/[id]/reconcile/route_client-reference-manifest.js +1 -0
  37. package/.next/server/app/api/boards/[id]/route.js +1 -1
  38. package/.next/server/app/api/boards/purge-orphans/route.js +1 -1
  39. package/.next/server/app/api/boards/reorder/route.js +1 -1
  40. package/.next/server/app/api/boards/route.js +1 -1
  41. package/.next/server/app/api/cwd/browse/route.js +1 -1
  42. package/.next/server/app/api/cwd/validate/route.js +2 -2
  43. package/.next/server/app/api/default-cwd/route.js +2 -2
  44. package/.next/server/app/api/file-index/route.js +2 -2
  45. package/.next/server/app/api/files/[...path]/route.js +3 -3
  46. package/.next/server/app/api/files/[...path]/route.js.nft.json +1 -1
  47. package/.next/server/app/api/git/diff/route.js +1 -1
  48. package/.next/server/app/api/git/status/route.js +1 -1
  49. package/.next/server/app/api/home/route.js +1 -1
  50. package/.next/server/app/api/mcp/route.js +1 -1
  51. package/.next/server/app/api/models/route.js +2 -2
  52. package/.next/server/app/api/models-config/catalog/route.js +1 -1
  53. package/.next/server/app/api/models-config/discover/route.js +1 -1
  54. package/.next/server/app/api/models-config/route.js +1 -1
  55. package/.next/server/app/api/models-config/test/route.js +1 -1
  56. package/.next/server/app/api/plugins/route.js +2 -2
  57. package/.next/server/app/api/project-trust/route.js +2 -2
  58. package/.next/server/app/api/quota/route.js +1 -1
  59. package/.next/server/app/api/search/route.js +2 -2
  60. package/.next/server/app/api/sessions/[id]/auto-name/route.js +3 -3
  61. package/.next/server/app/api/sessions/[id]/context/route.js +2 -2
  62. package/.next/server/app/api/sessions/[id]/entries/[entryId]/thinking/route.js +2 -2
  63. package/.next/server/app/api/sessions/[id]/export/route.js +2 -2
  64. package/.next/server/app/api/sessions/[id]/route.js +1 -1
  65. package/.next/server/app/api/sessions/[id]/state/route.js +2 -2
  66. package/.next/server/app/api/sessions/[id]/todos/route.js +2 -2
  67. package/.next/server/app/api/sessions/route.js +2 -2
  68. package/.next/server/app/api/skills/check/route.js +1 -1
  69. package/.next/server/app/api/skills/install/route.js +2 -2
  70. package/.next/server/app/api/skills/route.js +1 -1
  71. package/.next/server/app/api/skills/search/route.js +1 -1
  72. package/.next/server/app/api/skills/update/route.js +1 -1
  73. package/.next/server/app/api/task-card-questions/[id]/answer/route.js +1 -1
  74. package/.next/server/app/api/task-card-questions/route.js +1 -1
  75. package/.next/server/app/api/task-cards/[id]/route.js +1 -1
  76. package/.next/server/app/api/task-cards/route.js +1 -1
  77. package/.next/server/app/api/task-scheduler/status/route.js +1 -1
  78. package/.next/server/app/api/tasks/[id]/board/route.js +1 -1
  79. package/.next/server/app/api/tasks/[id]/route.js +1 -1
  80. package/.next/server/app/api/tasks/reorder/route.js +1 -1
  81. package/.next/server/app/api/tasks/route.js +1 -1
  82. package/.next/server/app/api/terminal/[id]/events/route.js +2 -2
  83. package/.next/server/app/api/terminal/[id]/route.js +2 -2
  84. package/.next/server/app/api/terminal/route.js +2 -2
  85. package/.next/server/app/api/worktrees/route.js +2 -2
  86. package/.next/server/app/favicon.ico/route.js +1 -1
  87. package/.next/server/app/index.html +1 -1
  88. package/.next/server/app/index.rsc +5 -5
  89. package/.next/server/app/index.segments/__PAGE__.segment.rsc +5 -5
  90. package/.next/server/app/index.segments/_full.segment.rsc +5 -5
  91. package/.next/server/app/index.segments/_tree.segment.rsc +2 -2
  92. package/.next/server/app/manifest.webmanifest/route.js +2 -2
  93. package/.next/server/app/page.js +7 -7
  94. package/.next/server/app/page_client-reference-manifest.js +1 -1
  95. package/.next/server/app-paths-manifest.json +9 -14
  96. package/.next/server/chunks/1094.js +2 -2
  97. package/.next/server/chunks/1601.js +1 -1
  98. package/.next/server/chunks/1860.js +1 -1
  99. package/.next/server/chunks/2075.js +1 -1
  100. package/.next/server/chunks/2169.js +1 -1
  101. package/.next/server/chunks/2404.js +1 -1
  102. package/.next/server/chunks/2524.js +1 -0
  103. package/.next/server/chunks/3012.js +1 -1
  104. package/.next/server/chunks/{5760.js → 3379.js} +1 -1
  105. package/.next/server/chunks/3500.js +1 -1
  106. package/.next/server/chunks/4226.js +5 -2
  107. package/.next/server/chunks/4267.js +1 -1
  108. package/.next/server/chunks/4563.js +1 -1
  109. package/.next/server/chunks/5318.js +1 -1
  110. package/.next/server/chunks/542.js +3 -44
  111. package/.next/server/chunks/5794.js +1 -1
  112. package/.next/server/chunks/6052.js +1 -1
  113. package/.next/server/chunks/6253.js +1 -1
  114. package/.next/server/chunks/6288.js +1 -1
  115. package/.next/server/chunks/6366.js +1 -1
  116. package/.next/server/chunks/673.js +1 -1
  117. package/.next/server/chunks/6916.js +2 -2
  118. package/.next/server/chunks/7128.js +43 -0
  119. package/.next/server/chunks/7265.js +2 -2
  120. package/.next/server/chunks/7799.js +1 -1
  121. package/.next/server/chunks/8106.js +1 -1
  122. package/.next/server/chunks/8333.js +1 -1
  123. package/.next/server/chunks/8604.js +1 -1
  124. package/.next/server/chunks/861.js +1 -0
  125. package/.next/server/chunks/8713.js +1 -1
  126. package/.next/server/chunks/8782.js +2 -2
  127. package/.next/server/chunks/898.js +1 -1
  128. package/.next/server/chunks/922.js +2 -2
  129. package/.next/server/chunks/9280.js +6 -6
  130. package/.next/server/chunks/9510.js +1 -1
  131. package/.next/server/instrumentation.js +1 -1
  132. package/.next/server/instrumentation.js.nft.json +1 -1
  133. package/.next/server/middleware-build-manifest.js +1 -1
  134. package/.next/server/middleware-react-loadable-manifest.js +1 -1
  135. package/.next/server/pages/404.html +1 -1
  136. package/.next/server/pages/500.html +1 -1
  137. package/.next/server/server-reference-manifest.json +1 -1
  138. package/.next/static/chunks/{103.23142a67b02246a8.js → 103.6c91a059aa01d92c.js} +2 -2
  139. package/.next/static/chunks/{1032.12b382a9096ab2a4.js → 1032.9e8f793d46f463f8.js} +1 -1
  140. package/.next/static/chunks/{1063.775c442bdbeef08b.js → 1063.470df8a037dc8409.js} +1 -1
  141. package/.next/static/chunks/1a258343.f4fc2c133917ded8.js +2 -0
  142. package/.next/static/chunks/{1ba63609.b2ae90f43319a29e.js → 1ba63609.569928c7234f832c.js} +1 -1
  143. package/.next/static/chunks/{2181.ba21239d3ac39f81.js → 2181.b8dda21843ef5e74.js} +1 -1
  144. package/.next/static/chunks/{2325.23caf22075e51aa5.js → 2325.23e538886331cf64.js} +1 -1
  145. package/.next/static/chunks/{2356.523277bb8c6bf72a.js → 2356.b7312589c345edec.js} +1 -1
  146. package/.next/static/chunks/{268.72794ee2773c2060.js → 268.a1d90aca268be18a.js} +1 -1
  147. package/.next/static/chunks/{2695.6f49435bae1e6f33.js → 2695.5624aa3aae540e87.js} +1 -1
  148. package/.next/static/chunks/{2703.495a65ed14b2f094.js → 2703.097bc88286733740.js} +1 -1
  149. package/.next/static/chunks/{2821.934bcf60fbdc28c6.js → 2821.d2392a93d192fe92.js} +1 -1
  150. package/.next/static/chunks/3308.2cd6f20e6c0f4e92.js +73 -0
  151. package/.next/static/chunks/{3336.a76f9485fe7cb762.js → 3336.9b1dc9ec3507d64f.js} +1 -1
  152. package/.next/static/chunks/3546.779d2c7646aa77cc.js +1 -0
  153. package/.next/static/chunks/{370.8e8f3cf8eb0e29dd.js → 370.cde2a84caa84054f.js} +1 -1
  154. package/.next/static/chunks/{3716.72bf4c9d7325debd.js → 3716.5bac496cea32ca8f.js} +1 -1
  155. package/.next/static/chunks/{3995.eca0f5bef1fc3ae5.js → 3995.cd112debcd64c610.js} +1 -1
  156. package/.next/static/chunks/{4004.74b9bcf5478b1663.js → 4004.a8f79ef62f32aa30.js} +2 -2
  157. package/.next/static/chunks/{4202.8440832386f023c7.js → 4202.96f5b1beb8b3e3f5.js} +1 -1
  158. package/.next/static/chunks/{4238.6f102dcbcf2ae339.js → 4238.28efbf9aa0c82d90.js} +1 -1
  159. package/.next/static/chunks/{4405.7a19458960a1058e.js → 4405.cda46a596a02aef7.js} +1 -1
  160. package/.next/static/chunks/54a60aa6.5e4421e7afde4de8.js +78 -0
  161. package/.next/static/chunks/{6121.eb9023b1cbc78ee2.js → 6121.5e650e714b402b6f.js} +1 -1
  162. package/.next/static/chunks/{6195.1153369f5f8b13a2.js → 6195.1b7f9dc127381bbc.js} +1 -1
  163. package/.next/static/chunks/6380.d148a8e2c701ad78.js +68 -0
  164. package/.next/static/chunks/6582.efef0ed269bacae2.js +1 -0
  165. package/.next/static/chunks/6be7e44c.00d0163f409986f0.js +1 -0
  166. package/.next/static/chunks/{7331.2add3c4e125a2dba.js → 7331.4afa66d6353c8e07.js} +1 -1
  167. package/.next/static/chunks/752.f41a9dcb0e6548eb.js +1 -0
  168. package/.next/static/chunks/{8200.a36b9f8c983c6b9e.js → 8200.350d650649b977eb.js} +1 -1
  169. package/.next/static/chunks/{8885.cf60cac98bf8b70c.js → 8885.2c060cb45c85547b.js} +1 -1
  170. package/.next/static/chunks/{918.6a9bbe564e4a2d0f.js → 918.593eb466d35cb8ad.js} +1 -1
  171. package/.next/static/chunks/{9698.4d09a99b9d99f3e5.js → 9698.758755d0387e0e22.js} +2 -2
  172. package/.next/static/chunks/97.fb73c551e14b3612.js +2 -0
  173. package/.next/static/chunks/{993e5495.8797001fcfcf2889.js → 993e5495.12cdfbc3af5c79e9.js} +1 -1
  174. package/.next/static/chunks/{9974.9a0f79beca65e8c4.js → 9974.5ee982e074ad047e.js} +1 -1
  175. package/.next/static/chunks/app/_global-error/page-bb8f79f321e26750.js +1 -0
  176. package/.next/static/chunks/app/api/agent/[id]/bash-output/route-bb8f79f321e26750.js +1 -0
  177. package/.next/static/chunks/app/api/agent/[id]/events/route-bb8f79f321e26750.js +1 -0
  178. package/.next/static/chunks/app/api/agent/[id]/route-bb8f79f321e26750.js +1 -0
  179. package/.next/static/chunks/app/api/agent/new/route-bb8f79f321e26750.js +1 -0
  180. package/.next/static/chunks/app/api/agent/running/route-bb8f79f321e26750.js +1 -0
  181. package/.next/static/chunks/app/api/app-update/route-bb8f79f321e26750.js +1 -0
  182. package/.next/static/chunks/app/api/auth/all-providers/route-bb8f79f321e26750.js +1 -0
  183. package/.next/static/chunks/app/api/auth/api-key/[provider]/route-bb8f79f321e26750.js +1 -0
  184. package/.next/static/chunks/app/api/auth/login/[provider]/route-bb8f79f321e26750.js +1 -0
  185. package/.next/static/chunks/app/api/auth/logout/[provider]/route-bb8f79f321e26750.js +1 -0
  186. package/.next/static/chunks/app/api/auth/providers/route-bb8f79f321e26750.js +1 -0
  187. package/.next/static/chunks/app/api/boards/[id]/reconcile/route-bb8f79f321e26750.js +1 -0
  188. package/.next/static/chunks/app/api/boards/[id]/route-bb8f79f321e26750.js +1 -0
  189. package/.next/static/chunks/app/api/boards/purge-orphans/route-bb8f79f321e26750.js +1 -0
  190. package/.next/static/chunks/app/api/boards/reorder/route-bb8f79f321e26750.js +1 -0
  191. package/.next/static/chunks/app/api/boards/route-bb8f79f321e26750.js +1 -0
  192. package/.next/static/chunks/app/api/cwd/browse/route-bb8f79f321e26750.js +1 -0
  193. package/.next/static/chunks/app/api/cwd/validate/route-bb8f79f321e26750.js +1 -0
  194. package/.next/static/chunks/app/api/default-cwd/route-bb8f79f321e26750.js +1 -0
  195. package/.next/static/chunks/app/api/file-index/route-bb8f79f321e26750.js +1 -0
  196. package/.next/static/chunks/app/api/files/[...path]/route-bb8f79f321e26750.js +1 -0
  197. package/.next/static/chunks/app/api/git/diff/route-bb8f79f321e26750.js +1 -0
  198. package/.next/static/chunks/app/api/git/status/route-bb8f79f321e26750.js +1 -0
  199. package/.next/static/chunks/app/api/home/route-bb8f79f321e26750.js +1 -0
  200. package/.next/static/chunks/app/api/mcp/route-bb8f79f321e26750.js +1 -0
  201. package/.next/static/chunks/app/api/models/route-bb8f79f321e26750.js +1 -0
  202. package/.next/static/chunks/app/api/models-config/catalog/route-bb8f79f321e26750.js +1 -0
  203. package/.next/static/chunks/app/api/models-config/discover/route-bb8f79f321e26750.js +1 -0
  204. package/.next/static/chunks/app/api/models-config/route-bb8f79f321e26750.js +1 -0
  205. package/.next/static/chunks/app/api/models-config/test/route-bb8f79f321e26750.js +1 -0
  206. package/.next/static/chunks/app/api/plugins/route-bb8f79f321e26750.js +1 -0
  207. package/.next/static/chunks/app/api/project-trust/route-bb8f79f321e26750.js +1 -0
  208. package/.next/static/chunks/app/api/quota/route-bb8f79f321e26750.js +1 -0
  209. package/.next/static/chunks/app/api/search/route-bb8f79f321e26750.js +1 -0
  210. package/.next/static/chunks/app/api/sessions/[id]/auto-name/route-bb8f79f321e26750.js +1 -0
  211. package/.next/static/chunks/app/api/sessions/[id]/context/route-bb8f79f321e26750.js +1 -0
  212. package/.next/static/chunks/app/api/sessions/[id]/entries/[entryId]/thinking/route-bb8f79f321e26750.js +1 -0
  213. package/.next/static/chunks/app/api/sessions/[id]/export/route-bb8f79f321e26750.js +1 -0
  214. package/.next/static/chunks/app/api/sessions/[id]/route-bb8f79f321e26750.js +1 -0
  215. package/.next/static/chunks/app/api/sessions/[id]/state/route-bb8f79f321e26750.js +1 -0
  216. package/.next/static/chunks/app/api/sessions/[id]/todos/route-bb8f79f321e26750.js +1 -0
  217. package/.next/static/chunks/app/api/sessions/route-bb8f79f321e26750.js +1 -0
  218. package/.next/static/chunks/app/api/skills/check/route-bb8f79f321e26750.js +1 -0
  219. package/.next/static/chunks/app/api/skills/install/route-bb8f79f321e26750.js +1 -0
  220. package/.next/static/chunks/app/api/skills/route-bb8f79f321e26750.js +1 -0
  221. package/.next/static/chunks/app/api/skills/search/route-bb8f79f321e26750.js +1 -0
  222. package/.next/static/chunks/app/api/skills/update/route-bb8f79f321e26750.js +1 -0
  223. package/.next/static/chunks/app/api/task-card-questions/[id]/answer/route-bb8f79f321e26750.js +1 -0
  224. package/.next/static/chunks/app/api/task-card-questions/route-bb8f79f321e26750.js +1 -0
  225. package/.next/static/chunks/app/api/task-cards/[id]/route-bb8f79f321e26750.js +1 -0
  226. package/.next/static/chunks/app/api/task-cards/route-bb8f79f321e26750.js +1 -0
  227. package/.next/static/chunks/app/api/task-scheduler/status/route-bb8f79f321e26750.js +1 -0
  228. package/.next/static/chunks/app/api/tasks/[id]/board/route-bb8f79f321e26750.js +1 -0
  229. package/.next/static/chunks/app/api/tasks/[id]/route-bb8f79f321e26750.js +1 -0
  230. package/.next/static/chunks/app/api/tasks/reorder/route-bb8f79f321e26750.js +1 -0
  231. package/.next/static/chunks/app/api/tasks/route-bb8f79f321e26750.js +1 -0
  232. package/.next/static/chunks/app/api/terminal/[id]/events/route-bb8f79f321e26750.js +1 -0
  233. package/.next/static/chunks/app/api/terminal/[id]/route-bb8f79f321e26750.js +1 -0
  234. package/.next/static/chunks/app/api/terminal/route-bb8f79f321e26750.js +1 -0
  235. package/.next/static/chunks/app/api/worktrees/route-bb8f79f321e26750.js +1 -0
  236. package/.next/static/chunks/app/{layout-7761e430ed68b347.js → layout-702d3c97d297c42d.js} +1 -1
  237. package/.next/static/chunks/app/manifest.webmanifest/route-bb8f79f321e26750.js +1 -0
  238. package/.next/static/chunks/app/page-fd18462c3c937a50.js +89 -0
  239. package/.next/static/chunks/next/dist/client/components/builtin/app-error-bb8f79f321e26750.js +1 -0
  240. package/.next/static/chunks/next/dist/client/components/builtin/forbidden-bb8f79f321e26750.js +1 -0
  241. package/.next/static/chunks/next/dist/client/components/builtin/not-found-bb8f79f321e26750.js +1 -0
  242. package/.next/static/chunks/next/dist/client/components/builtin/unauthorized-bb8f79f321e26750.js +1 -0
  243. package/.next/static/chunks/webpack-d17b4dde91b96c63.js +1 -0
  244. package/.next/static/css/0c7244f7214af81f.css +1 -0
  245. package/.next/static/css/12456255969ac8de.css +31 -0
  246. package/.next/trace +43 -49
  247. package/.next/trace-build +1 -1
  248. package/.next/types/app/api/boards/[id]/{reconcile-task-edges → reconcile}/route.ts +3 -3
  249. package/.next/types/routes.d.ts +2 -7
  250. package/.next/types/validator.ts +3 -48
  251. package/README.md +6 -9
  252. package/THIRD_PARTY_NOTICES.md +10 -82
  253. package/bin/pi-web-sky.js +3 -3
  254. package/lib/board-reconcile-scheduler.ts +56 -0
  255. package/lib/board-reconcile.test.mjs +252 -0
  256. package/lib/board-reconcile.ts +422 -0
  257. package/lib/board-store.test.mjs +26 -4
  258. package/lib/board-store.ts +44 -6
  259. package/lib/i18n/messages/en.ts +1 -1
  260. package/lib/i18n/messages/zh-CN.ts +1 -1
  261. package/lib/session-delete.ts +5 -0
  262. package/lib/sqlite-db.ts +13 -1
  263. package/lib/task-card-store.ts +26 -1
  264. package/lib/task-scheduler.test.mjs +79 -0
  265. package/lib/task-scheduler.ts +195 -21
  266. package/lib/yjs-room-server.mjs +139 -0
  267. package/package.json +12 -9
  268. package/server.mjs +7 -7
  269. package/.next/server/app/api/boards/[id]/canvas/route.js +0 -1
  270. package/.next/server/app/api/boards/[id]/canvas/route_client-reference-manifest.js +0 -1
  271. package/.next/server/app/api/boards/[id]/edges/[eid]/route.js +0 -1
  272. package/.next/server/app/api/boards/[id]/edges/[eid]/route.js.nft.json +0 -1
  273. package/.next/server/app/api/boards/[id]/edges/[eid]/route_client-reference-manifest.js +0 -1
  274. package/.next/server/app/api/boards/[id]/edges/route.js +0 -1
  275. package/.next/server/app/api/boards/[id]/edges/route.js.nft.json +0 -1
  276. package/.next/server/app/api/boards/[id]/edges/route_client-reference-manifest.js +0 -1
  277. package/.next/server/app/api/boards/[id]/nodes/[nid]/route.js +0 -1
  278. package/.next/server/app/api/boards/[id]/nodes/[nid]/route.js.nft.json +0 -1
  279. package/.next/server/app/api/boards/[id]/nodes/[nid]/route_client-reference-manifest.js +0 -1
  280. package/.next/server/app/api/boards/[id]/nodes/route.js +0 -1
  281. package/.next/server/app/api/boards/[id]/nodes/route.js.nft.json +0 -1
  282. package/.next/server/app/api/boards/[id]/nodes/route_client-reference-manifest.js +0 -1
  283. package/.next/server/app/api/boards/[id]/reconcile-task-edges/route.js +0 -1
  284. package/.next/server/app/api/boards/[id]/reconcile-task-edges/route.js.nft.json +0 -1
  285. package/.next/server/app/api/boards/[id]/reconcile-task-edges/route_client-reference-manifest.js +0 -1
  286. package/.next/static/chunks/3308.857c554428b3294e.js +0 -73
  287. package/.next/static/chunks/333.bf0651c789b2eb33.js +0 -1
  288. package/.next/static/chunks/5315.dba7515ae6e139ae.js +0 -4
  289. package/.next/static/chunks/54a60aa6.0e43cde7298ebcb7.js +0 -78
  290. package/.next/static/chunks/7999.879d5a20e8641752.js +0 -259
  291. package/.next/static/chunks/app/_global-error/page-d6f52627eddf9119.js +0 -1
  292. package/.next/static/chunks/app/api/agent/[id]/bash-output/route-d6f52627eddf9119.js +0 -1
  293. package/.next/static/chunks/app/api/agent/[id]/events/route-d6f52627eddf9119.js +0 -1
  294. package/.next/static/chunks/app/api/agent/[id]/route-d6f52627eddf9119.js +0 -1
  295. package/.next/static/chunks/app/api/agent/new/route-d6f52627eddf9119.js +0 -1
  296. package/.next/static/chunks/app/api/agent/running/route-d6f52627eddf9119.js +0 -1
  297. package/.next/static/chunks/app/api/app-update/route-d6f52627eddf9119.js +0 -1
  298. package/.next/static/chunks/app/api/auth/all-providers/route-d6f52627eddf9119.js +0 -1
  299. package/.next/static/chunks/app/api/auth/api-key/[provider]/route-d6f52627eddf9119.js +0 -1
  300. package/.next/static/chunks/app/api/auth/login/[provider]/route-d6f52627eddf9119.js +0 -1
  301. package/.next/static/chunks/app/api/auth/logout/[provider]/route-d6f52627eddf9119.js +0 -1
  302. package/.next/static/chunks/app/api/auth/providers/route-d6f52627eddf9119.js +0 -1
  303. package/.next/static/chunks/app/api/boards/[id]/canvas/route-d6f52627eddf9119.js +0 -1
  304. package/.next/static/chunks/app/api/boards/[id]/edges/[eid]/route-d6f52627eddf9119.js +0 -1
  305. package/.next/static/chunks/app/api/boards/[id]/edges/route-d6f52627eddf9119.js +0 -1
  306. package/.next/static/chunks/app/api/boards/[id]/nodes/[nid]/route-d6f52627eddf9119.js +0 -1
  307. package/.next/static/chunks/app/api/boards/[id]/nodes/route-d6f52627eddf9119.js +0 -1
  308. package/.next/static/chunks/app/api/boards/[id]/reconcile-task-edges/route-d6f52627eddf9119.js +0 -1
  309. package/.next/static/chunks/app/api/boards/[id]/route-d6f52627eddf9119.js +0 -1
  310. package/.next/static/chunks/app/api/boards/purge-orphans/route-d6f52627eddf9119.js +0 -1
  311. package/.next/static/chunks/app/api/boards/reorder/route-d6f52627eddf9119.js +0 -1
  312. package/.next/static/chunks/app/api/boards/route-d6f52627eddf9119.js +0 -1
  313. package/.next/static/chunks/app/api/cwd/browse/route-d6f52627eddf9119.js +0 -1
  314. package/.next/static/chunks/app/api/cwd/validate/route-d6f52627eddf9119.js +0 -1
  315. package/.next/static/chunks/app/api/default-cwd/route-d6f52627eddf9119.js +0 -1
  316. package/.next/static/chunks/app/api/file-index/route-d6f52627eddf9119.js +0 -1
  317. package/.next/static/chunks/app/api/files/[...path]/route-d6f52627eddf9119.js +0 -1
  318. package/.next/static/chunks/app/api/git/diff/route-d6f52627eddf9119.js +0 -1
  319. package/.next/static/chunks/app/api/git/status/route-d6f52627eddf9119.js +0 -1
  320. package/.next/static/chunks/app/api/home/route-d6f52627eddf9119.js +0 -1
  321. package/.next/static/chunks/app/api/mcp/route-d6f52627eddf9119.js +0 -1
  322. package/.next/static/chunks/app/api/models/route-d6f52627eddf9119.js +0 -1
  323. package/.next/static/chunks/app/api/models-config/catalog/route-d6f52627eddf9119.js +0 -1
  324. package/.next/static/chunks/app/api/models-config/discover/route-d6f52627eddf9119.js +0 -1
  325. package/.next/static/chunks/app/api/models-config/route-d6f52627eddf9119.js +0 -1
  326. package/.next/static/chunks/app/api/models-config/test/route-d6f52627eddf9119.js +0 -1
  327. package/.next/static/chunks/app/api/plugins/route-d6f52627eddf9119.js +0 -1
  328. package/.next/static/chunks/app/api/project-trust/route-d6f52627eddf9119.js +0 -1
  329. package/.next/static/chunks/app/api/quota/route-d6f52627eddf9119.js +0 -1
  330. package/.next/static/chunks/app/api/search/route-d6f52627eddf9119.js +0 -1
  331. package/.next/static/chunks/app/api/sessions/[id]/auto-name/route-d6f52627eddf9119.js +0 -1
  332. package/.next/static/chunks/app/api/sessions/[id]/context/route-d6f52627eddf9119.js +0 -1
  333. package/.next/static/chunks/app/api/sessions/[id]/entries/[entryId]/thinking/route-d6f52627eddf9119.js +0 -1
  334. package/.next/static/chunks/app/api/sessions/[id]/export/route-d6f52627eddf9119.js +0 -1
  335. package/.next/static/chunks/app/api/sessions/[id]/route-d6f52627eddf9119.js +0 -1
  336. package/.next/static/chunks/app/api/sessions/[id]/state/route-d6f52627eddf9119.js +0 -1
  337. package/.next/static/chunks/app/api/sessions/[id]/todos/route-d6f52627eddf9119.js +0 -1
  338. package/.next/static/chunks/app/api/sessions/route-d6f52627eddf9119.js +0 -1
  339. package/.next/static/chunks/app/api/skills/check/route-d6f52627eddf9119.js +0 -1
  340. package/.next/static/chunks/app/api/skills/install/route-d6f52627eddf9119.js +0 -1
  341. package/.next/static/chunks/app/api/skills/route-d6f52627eddf9119.js +0 -1
  342. package/.next/static/chunks/app/api/skills/search/route-d6f52627eddf9119.js +0 -1
  343. package/.next/static/chunks/app/api/skills/update/route-d6f52627eddf9119.js +0 -1
  344. package/.next/static/chunks/app/api/task-card-questions/[id]/answer/route-d6f52627eddf9119.js +0 -1
  345. package/.next/static/chunks/app/api/task-card-questions/route-d6f52627eddf9119.js +0 -1
  346. package/.next/static/chunks/app/api/task-cards/[id]/route-d6f52627eddf9119.js +0 -1
  347. package/.next/static/chunks/app/api/task-cards/route-d6f52627eddf9119.js +0 -1
  348. package/.next/static/chunks/app/api/task-scheduler/status/route-d6f52627eddf9119.js +0 -1
  349. package/.next/static/chunks/app/api/tasks/[id]/board/route-d6f52627eddf9119.js +0 -1
  350. package/.next/static/chunks/app/api/tasks/[id]/route-d6f52627eddf9119.js +0 -1
  351. package/.next/static/chunks/app/api/tasks/reorder/route-d6f52627eddf9119.js +0 -1
  352. package/.next/static/chunks/app/api/tasks/route-d6f52627eddf9119.js +0 -1
  353. package/.next/static/chunks/app/api/terminal/[id]/events/route-d6f52627eddf9119.js +0 -1
  354. package/.next/static/chunks/app/api/terminal/[id]/route-d6f52627eddf9119.js +0 -1
  355. package/.next/static/chunks/app/api/terminal/route-d6f52627eddf9119.js +0 -1
  356. package/.next/static/chunks/app/api/worktrees/route-d6f52627eddf9119.js +0 -1
  357. package/.next/static/chunks/app/manifest.webmanifest/route-d6f52627eddf9119.js +0 -1
  358. package/.next/static/chunks/app/page-2c87c41e7f848f45.js +0 -89
  359. package/.next/static/chunks/e3e7ddb2.a35db430b3564999.js +0 -1
  360. package/.next/static/chunks/next/dist/client/components/builtin/app-error-d6f52627eddf9119.js +0 -1
  361. package/.next/static/chunks/next/dist/client/components/builtin/forbidden-d6f52627eddf9119.js +0 -1
  362. package/.next/static/chunks/next/dist/client/components/builtin/not-found-d6f52627eddf9119.js +0 -1
  363. package/.next/static/chunks/next/dist/client/components/builtin/unauthorized-d6f52627eddf9119.js +0 -1
  364. package/.next/static/chunks/webpack-4bbf04891e910713.js +0 -1
  365. package/.next/static/css/80c818c5781fbadc.css +0 -4
  366. package/.next/static/css/d3a2b5077b52c727.css +0 -1
  367. package/.next/types/app/api/boards/[id]/canvas/route.ts +0 -353
  368. package/.next/types/app/api/boards/[id]/edges/[eid]/route.ts +0 -353
  369. package/.next/types/app/api/boards/[id]/edges/route.ts +0 -353
  370. package/.next/types/app/api/boards/[id]/nodes/[nid]/route.ts +0 -353
  371. package/.next/types/app/api/boards/[id]/nodes/route.ts +0 -353
  372. package/lib/board-search.test.mjs +0 -110
  373. package/lib/board-search.ts +0 -63
  374. package/lib/file-explorer-state.test.mjs +0 -63
  375. package/lib/file-explorer-state.ts +0 -36
  376. package/lib/sync-room-server.mjs +0 -137
  377. /package/.next/server/app/api/boards/[id]/{canvas → reconcile}/route.js.nft.json +0 -0
  378. /package/.next/static/{IzmOG04jJst1VpUvr_fr5 → 12RFLqhiUZG8Sj49T1KKQ}/_buildManifest.js +0 -0
  379. /package/.next/static/{IzmOG04jJst1VpUvr_fr5 → 12RFLqhiUZG8Sj49T1KKQ}/_ssgManifest.js +0 -0
@@ -1,4 +1,4 @@
1
- exports.id=2169,exports.ids=[2169],exports.modules={4328:(a,b,c)=>{"use strict";function d(a,b){a.accDescr&&b.setAccDescription?.(a.accDescr),a.accTitle&&b.setAccTitle?.(a.accTitle),a.title&&b.setDiagramTitle?.(a.title)}c.d(b,{S:()=>d}),(0,c(95097).K)(d,"populateCommonDb")},18980:function(a,b,c){var d;d=c(50980),a.exports=(()=>{"use strict";var a={658:a=>{a.exports=null!=Object.assign?Object.assign.bind(Object):function(a){for(var b=arguments.length,c=Array(b>1?b-1:0),d=1;d<b;d++)c[d-1]=arguments[d];return c.forEach(function(b){Object.keys(b).forEach(function(c){return a[c]=b[c]})}),a}},548:(a,b,c)=>{var d=function(a,b){if(Array.isArray(a))return a;if(Symbol.iterator in Object(a))return function(a,b){var c=[],d=!0,e=!1,f=void 0;try{for(var g,h=a[Symbol.iterator]();!(d=(g=h.next()).done)&&(c.push(g.value),!b||c.length!==b);d=!0);}catch(a){e=!0,f=a}finally{try{!d&&h.return&&h.return()}finally{if(e)throw f}}return c}(a,b);throw TypeError("Invalid attempt to destructure non-iterable instance")},e=c(140).layoutBase.LinkedList,f={};f.getTopMostNodes=function(a){for(var b={},c=0;c<a.length;c++)b[a[c].id()]=!0;return a.filter(function(a,c){"number"==typeof a&&(a=c);for(var d=a.parent()[0];null!=d;){if(b[d.id()])return!1;d=d.parent()[0]}return!0})},f.connectComponents=function(a,b,c,d){var f=new e,g=new Set,h=[],i=void 0,j=void 0,k=void 0,l=!1,m=1,n=[],o=[];do!function(){var d=a.collection();o.push(d);var e=c[0],p=a.collection();for(p.merge(e).merge(e.descendants().intersection(b)),h.push(e),p.forEach(function(a){f.push(a),g.add(a),d.merge(a)});0!=f.length;)!function(){e=f.shift();var j=a.collection();e.neighborhood().nodes().forEach(function(a){b.intersection(e.edgesWith(a)).length>0&&j.merge(a)});for(var k=0;k<j.length;k++){var l=j[k];null==(i=c.intersection(l.union(l.ancestors())))||g.has(i[0])||i.union(i.descendants()).forEach(function(a){f.push(a),g.add(a),d.merge(a),c.has(a)&&h.push(a)})}}();if(d.forEach(function(a){b.intersection(a.connectedEdges()).forEach(function(a){d.has(a.source())&&d.has(a.target())&&d.merge(a)})}),h.length==c.length&&(l=!0),!l||l&&m>1){k=(j=h[0]).connectedEdges().length,h.forEach(function(a){a.connectedEdges().length<k&&(k=a.connectedEdges().length,j=a)}),n.push(j.id());var q=a.collection();q.merge(h[0]),h.forEach(function(a){q.merge(a)}),h=[],c=c.difference(q),m++}}();while(!l);return d&&n.length>0&&d.set("dummy"+(d.size+1),n),o},f.relocateComponent=function(a,b,c){if(!c.fixedNodeConstraint){var e=1/0,f=-1/0,g=1/0,h=-1/0;if("draft"==c.quality){var i=!0,j=!1,k=void 0;try{for(var l,m=b.nodeIndexes[Symbol.iterator]();!(i=(l=m.next()).done);i=!0){var n=l.value,o=d(n,2),p=o[0],q=o[1],r=c.cy.getElementById(p);if(r){var s=r.boundingBox(),t=b.xCoords[q]-s.w/2,u=b.xCoords[q]+s.w/2,v=b.yCoords[q]-s.h/2,w=b.yCoords[q]+s.h/2;t<e&&(e=t),u>f&&(f=u),v<g&&(g=v),w>h&&(h=w)}}}catch(a){j=!0,k=a}finally{try{!i&&m.return&&m.return()}finally{if(j)throw k}}var x=a.x-(f+e)/2,y=a.y-(h+g)/2;b.xCoords=b.xCoords.map(function(a){return a+x}),b.yCoords=b.yCoords.map(function(a){return a+y})}else{Object.keys(b).forEach(function(a){var c=b[a],d=c.getRect().x,i=c.getRect().x+c.getRect().width,j=c.getRect().y,k=c.getRect().y+c.getRect().height;d<e&&(e=d),i>f&&(f=i),j<g&&(g=j),k>h&&(h=k)});var z=a.x-(f+e)/2,A=a.y-(h+g)/2;Object.keys(b).forEach(function(a){var c=b[a];c.setCenter(c.getCenterX()+z,c.getCenterY()+A)})}}},f.calcBoundingBox=function(a,b,c,d){for(var e=Number.MAX_SAFE_INTEGER,f=Number.MIN_SAFE_INTEGER,g=Number.MAX_SAFE_INTEGER,h=Number.MIN_SAFE_INTEGER,i=void 0,j=void 0,k=void 0,l=void 0,m=a.descendants().not(":parent"),n=m.length,o=0;o<n;o++){var p=m[o];i=b[d.get(p.id())]-p.width()/2,j=b[d.get(p.id())]+p.width()/2,k=c[d.get(p.id())]-p.height()/2,l=c[d.get(p.id())]+p.height()/2,e>i&&(e=i),f<j&&(f=j),g>k&&(g=k),h<l&&(h=l)}var q={};return q.topLeftX=e,q.topLeftY=g,q.width=f-e,q.height=h-g,q},f.calcParentsWithoutChildren=function(a,b){var c=a.collection();return b.nodes(":parent").forEach(function(a){var b=!1;a.children().forEach(function(a){"none"!=a.css("display")&&(b=!0)}),b||c.merge(a)}),c},a.exports=f},816:(a,b,c)=>{var d=c(548),e=c(140).CoSELayout,f=c(140).CoSENode,g=c(140).layoutBase.PointD,h=c(140).layoutBase.DimensionD,i=c(140).layoutBase.LayoutConstants,j=c(140).layoutBase.FDLayoutConstants,k=c(140).CoSEConstants;a.exports={coseLayout:function(a,b){var c=a.cy,l=a.eles,m=l.nodes(),n=l.edges(),o=void 0,p=void 0,q=void 0,r={};a.randomize&&(o=b.nodeIndexes,p=b.xCoords,q=b.yCoords);var s=function(a){return"function"==typeof a},t=function(a,b){return s(a)?a(b):a},u=d.calcParentsWithoutChildren(c,l);null!=a.nestingFactor&&(k.PER_LEVEL_IDEAL_EDGE_LENGTH_FACTOR=j.PER_LEVEL_IDEAL_EDGE_LENGTH_FACTOR=a.nestingFactor),null!=a.gravity&&(k.DEFAULT_GRAVITY_STRENGTH=j.DEFAULT_GRAVITY_STRENGTH=a.gravity),null!=a.numIter&&(k.MAX_ITERATIONS=j.MAX_ITERATIONS=a.numIter),null!=a.gravityRange&&(k.DEFAULT_GRAVITY_RANGE_FACTOR=j.DEFAULT_GRAVITY_RANGE_FACTOR=a.gravityRange),null!=a.gravityCompound&&(k.DEFAULT_COMPOUND_GRAVITY_STRENGTH=j.DEFAULT_COMPOUND_GRAVITY_STRENGTH=a.gravityCompound),null!=a.gravityRangeCompound&&(k.DEFAULT_COMPOUND_GRAVITY_RANGE_FACTOR=j.DEFAULT_COMPOUND_GRAVITY_RANGE_FACTOR=a.gravityRangeCompound),null!=a.initialEnergyOnIncremental&&(k.DEFAULT_COOLING_FACTOR_INCREMENTAL=j.DEFAULT_COOLING_FACTOR_INCREMENTAL=a.initialEnergyOnIncremental),null!=a.tilingCompareBy&&(k.TILING_COMPARE_BY=a.tilingCompareBy),"proof"==a.quality?i.QUALITY=2:i.QUALITY=0,k.NODE_DIMENSIONS_INCLUDE_LABELS=j.NODE_DIMENSIONS_INCLUDE_LABELS=i.NODE_DIMENSIONS_INCLUDE_LABELS=a.nodeDimensionsIncludeLabels,k.DEFAULT_INCREMENTAL=j.DEFAULT_INCREMENTAL=i.DEFAULT_INCREMENTAL=!a.randomize,k.ANIMATE=j.ANIMATE=i.ANIMATE=a.animate,k.TILE=a.tile,k.TILING_PADDING_VERTICAL="function"==typeof a.tilingPaddingVertical?a.tilingPaddingVertical.call():a.tilingPaddingVertical,k.TILING_PADDING_HORIZONTAL="function"==typeof a.tilingPaddingHorizontal?a.tilingPaddingHorizontal.call():a.tilingPaddingHorizontal,k.DEFAULT_INCREMENTAL=j.DEFAULT_INCREMENTAL=i.DEFAULT_INCREMENTAL=!0,k.PURE_INCREMENTAL=!a.randomize,i.DEFAULT_UNIFORM_LEAF_NODE_SIZES=a.uniformNodeDimensions,"transformed"==a.step&&(k.TRANSFORM_ON_CONSTRAINT_HANDLING=!0,k.ENFORCE_CONSTRAINTS=!1,k.APPLY_LAYOUT=!1),"enforced"==a.step&&(k.TRANSFORM_ON_CONSTRAINT_HANDLING=!1,k.ENFORCE_CONSTRAINTS=!0,k.APPLY_LAYOUT=!1),"cose"==a.step&&(k.TRANSFORM_ON_CONSTRAINT_HANDLING=!1,k.ENFORCE_CONSTRAINTS=!1,k.APPLY_LAYOUT=!0),"all"==a.step&&(a.randomize?k.TRANSFORM_ON_CONSTRAINT_HANDLING=!0:k.TRANSFORM_ON_CONSTRAINT_HANDLING=!1,k.ENFORCE_CONSTRAINTS=!0,k.APPLY_LAYOUT=!0),a.fixedNodeConstraint||a.alignmentConstraint||a.relativePlacementConstraint?k.TREE_REDUCTION_ON_INCREMENTAL=!1:k.TREE_REDUCTION_ON_INCREMENTAL=!0;var v=new e,w=v.newGraphManager();return!function a(b,c,e,i){for(var j=c.length,k=0;k<j;k++){var l=c[k],m=null;0==l.intersection(u).length&&(m=l.children());var n=void 0,s=l.layoutDimensions({nodeDimensionsIncludeLabels:i.nodeDimensionsIncludeLabels});if(null!=l.outerWidth()&&null!=l.outerHeight())if(i.randomize)if(l.isParent()){var v=d.calcBoundingBox(l,p,q,o);n=0==l.intersection(u).length?b.add(new f(e.graphManager,new g(v.topLeftX,v.topLeftY),new h(v.width,v.height))):b.add(new f(e.graphManager,new g(v.topLeftX,v.topLeftY),new h(parseFloat(s.w),parseFloat(s.h))))}else n=b.add(new f(e.graphManager,new g(p[o.get(l.id())]-s.w/2,q[o.get(l.id())]-s.h/2),new h(parseFloat(s.w),parseFloat(s.h))));else n=b.add(new f(e.graphManager,new g(l.position("x")-s.w/2,l.position("y")-s.h/2),new h(parseFloat(s.w),parseFloat(s.h))));else n=b.add(new f(this.graphManager));(n.id=l.data("id"),n.nodeRepulsion=t(i.nodeRepulsion,l),n.paddingLeft=parseInt(l.css("padding")),n.paddingTop=parseInt(l.css("padding")),n.paddingRight=parseInt(l.css("padding")),n.paddingBottom=parseInt(l.css("padding")),i.nodeDimensionsIncludeLabels&&(n.labelWidth=l.boundingBox({includeLabels:!0,includeNodes:!1,includeOverlays:!1}).w,n.labelHeight=l.boundingBox({includeLabels:!0,includeNodes:!1,includeOverlays:!1}).h,n.labelPosVertical=l.css("text-valign"),n.labelPosHorizontal=l.css("text-halign")),r[l.data("id")]=n,isNaN(n.rect.x)&&(n.rect.x=0),isNaN(n.rect.y)&&(n.rect.y=0),null!=m&&m.length>0)&&a(e.getGraphManager().add(e.newGraph(),n),m,e,i)}}(w.addRoot(),d.getTopMostNodes(m),v,a),!function(b,c,d){for(var e=0,f=0,g=0;g<d.length;g++){var h=d[g],i=r[h.data("source")],l=r[h.data("target")];if(i&&l&&i!==l&&0==i.getEdgesBetween(l).length){var m=c.add(b.newEdge(),i,l);m.id=h.id(),m.idealLength=t(a.idealEdgeLength,h),m.edgeElasticity=t(a.edgeElasticity,h),e+=m.idealLength,f++}}null!=a.idealEdgeLength&&(f>0?k.DEFAULT_EDGE_LENGTH=j.DEFAULT_EDGE_LENGTH=e/f:s(a.idealEdgeLength)?k.DEFAULT_EDGE_LENGTH=j.DEFAULT_EDGE_LENGTH=50:k.DEFAULT_EDGE_LENGTH=j.DEFAULT_EDGE_LENGTH=a.idealEdgeLength,k.MIN_REPULSION_DIST=j.MIN_REPULSION_DIST=j.DEFAULT_EDGE_LENGTH/10,k.DEFAULT_RADIAL_SEPARATION=j.DEFAULT_EDGE_LENGTH)}(v,w,n),a.fixedNodeConstraint&&(v.constraints.fixedNodeConstraint=a.fixedNodeConstraint),a.alignmentConstraint&&(v.constraints.alignmentConstraint=a.alignmentConstraint),a.relativePlacementConstraint&&(v.constraints.relativePlacementConstraint=a.relativePlacementConstraint),v.runLayout(),r}}},212:(a,b,c)=>{var d=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1,d.configurable=!0,"value"in d&&(d.writable=!0),Object.defineProperty(a,d.key,d)}}return function(b,c,d){return c&&a(b.prototype,c),d&&a(b,d),b}}(),e=c(658),f=c(548),g=c(657).spectralLayout,h=c(816).coseLayout,i=Object.freeze({quality:"default",randomize:!0,animate:!0,animationDuration:1e3,animationEasing:void 0,fit:!0,padding:30,nodeDimensionsIncludeLabels:!1,uniformNodeDimensions:!1,packComponents:!0,step:"all",samplingType:!0,sampleSize:25,nodeSeparation:75,piTol:1e-7,nodeRepulsion:function(a){return 4500},idealEdgeLength:function(a){return 50},edgeElasticity:function(a){return .45},nestingFactor:.1,gravity:.25,numIter:2500,tile:!0,tilingCompareBy:void 0,tilingPaddingVertical:10,tilingPaddingHorizontal:10,gravityRangeCompound:1.5,gravityCompound:1,gravityRange:3.8,initialEnergyOnIncremental:.3,fixedNodeConstraint:void 0,alignmentConstraint:void 0,relativePlacementConstraint:void 0,ready:function(){},stop:function(){}});a.exports=function(){function a(b){if(!(this instanceof a))throw TypeError("Cannot call a class as a function");this.options=e({},i,b)}return d(a,[{key:"run",value:function(){var a=this.options,b=a.cy,c=a.eles,d=[],e=[],i=void 0,j=[];a.fixedNodeConstraint&&(!Array.isArray(a.fixedNodeConstraint)||0==a.fixedNodeConstraint.length)&&(a.fixedNodeConstraint=void 0),a.alignmentConstraint&&(a.alignmentConstraint.vertical&&(!Array.isArray(a.alignmentConstraint.vertical)||0==a.alignmentConstraint.vertical.length)&&(a.alignmentConstraint.vertical=void 0),a.alignmentConstraint.horizontal&&(!Array.isArray(a.alignmentConstraint.horizontal)||0==a.alignmentConstraint.horizontal.length)&&(a.alignmentConstraint.horizontal=void 0)),a.relativePlacementConstraint&&(!Array.isArray(a.relativePlacementConstraint)||0==a.relativePlacementConstraint.length)&&(a.relativePlacementConstraint=void 0),(a.fixedNodeConstraint||a.alignmentConstraint||a.relativePlacementConstraint)&&(a.tile=!1,a.packComponents=!1);var k=void 0,l=!1;if(b.layoutUtilities&&a.packComponents&&((k=b.layoutUtilities("get"))||(k=b.layoutUtilities()),l=!0),c.nodes().length>0)if(l){var m=f.getTopMostNodes(a.eles.nodes());if((i=f.connectComponents(b,a.eles,m)).forEach(function(a){var b=a.boundingBox();j.push({x:b.x1+b.w/2,y:b.y1+b.h/2})}),a.randomize&&i.forEach(function(b){a.eles=b,d.push(g(a))}),"default"==a.quality||"proof"==a.quality){var n=b.collection();if(a.tile){var o=new Map,p=0,q={nodeIndexes:o,xCoords:[],yCoords:[]},r=[];if(i.forEach(function(a,b){0==a.edges().length&&(a.nodes().forEach(function(b,c){n.merge(a.nodes()[c]),b.isParent()||(q.nodeIndexes.set(a.nodes()[c].id(),p++),q.xCoords.push(a.nodes()[0].position().x),q.yCoords.push(a.nodes()[0].position().y))}),r.push(b))}),n.length>1){var s=n.boundingBox();j.push({x:s.x1+s.w/2,y:s.y1+s.h/2}),i.push(n),d.push(q);for(var t=r.length-1;t>=0;t--)i.splice(r[t],1),d.splice(r[t],1),j.splice(r[t],1)}}i.forEach(function(b,c){a.eles=b,e.push(h(a,d[c])),f.relocateComponent(j[c],e[c],a)})}else i.forEach(function(b,c){f.relocateComponent(j[c],d[c],a)});var u=new Set;if(i.length>1){var v=[],w=c.filter(function(a){return"none"==a.css("display")});i.forEach(function(b,c){var g=void 0;if("draft"==a.quality&&(g=d[c].nodeIndexes),b.nodes().not(w).length>0){var h={};h.edges=[],h.nodes=[];var i=void 0;b.nodes().not(w).forEach(function(b){if("draft"==a.quality)if(b.isParent()){var j=f.calcBoundingBox(b,d[c].xCoords,d[c].yCoords,g);h.nodes.push({x:j.topLeftX,y:j.topLeftY,width:j.width,height:j.height})}else i=g.get(b.id()),h.nodes.push({x:d[c].xCoords[i]-b.boundingbox().w/2,y:d[c].yCoords[i]-b.boundingbox().h/2,width:b.boundingbox().w,height:b.boundingbox().h});else e[c][b.id()]&&h.nodes.push({x:e[c][b.id()].getLeft(),y:e[c][b.id()].getTop(),width:e[c][b.id()].getWidth(),height:e[c][b.id()].getHeight()})}),b.edges().forEach(function(b){var i=b.source(),j=b.target();if("none"!=i.css("display")&&"none"!=j.css("display"))if("draft"==a.quality){var k=g.get(i.id()),l=g.get(j.id()),m=[],n=[];if(i.isParent()){var o=f.calcBoundingBox(i,d[c].xCoords,d[c].yCoords,g);m.push(o.topLeftX+o.width/2),m.push(o.topLeftY+o.height/2)}else m.push(d[c].xCoords[k]),m.push(d[c].yCoords[k]);if(j.isParent()){var p=f.calcBoundingBox(j,d[c].xCoords,d[c].yCoords,g);n.push(p.topLeftX+p.width/2),n.push(p.topLeftY+p.height/2)}else n.push(d[c].xCoords[l]),n.push(d[c].yCoords[l]);h.edges.push({startX:m[0],startY:m[1],endX:n[0],endY:n[1]})}else e[c][i.id()]&&e[c][j.id()]&&h.edges.push({startX:e[c][i.id()].getCenterX(),startY:e[c][i.id()].getCenterY(),endX:e[c][j.id()].getCenterX(),endY:e[c][j.id()].getCenterY()})}),h.nodes.length>0&&(v.push(h),u.add(c))}});var x=k.packComponents(v,a.randomize).shifts;if("draft"==a.quality)d.forEach(function(a,b){var c=a.xCoords.map(function(a){return a+x[b].dx}),d=a.yCoords.map(function(a){return a+x[b].dy});a.xCoords=c,a.yCoords=d});else{var y=0;u.forEach(function(a){Object.keys(e[a]).forEach(function(b){var c=e[a][b];c.setCenter(c.getCenterX()+x[y].dx,c.getCenterY()+x[y].dy)}),y++})}}}else{var z=a.eles.boundingBox();if(j.push({x:z.x1+z.w/2,y:z.y1+z.h/2}),a.randomize){var A=g(a);d.push(A)}"default"==a.quality||"proof"==a.quality?(e.push(h(a,d[0])),f.relocateComponent(j[0],e[0],a)):f.relocateComponent(j[0],d[0],a)}var B=function(b,c){if("default"==a.quality||"proof"==a.quality){"number"==typeof b&&(b=c);var f=void 0,g=void 0,h=b.data("id");return e.forEach(function(a){h in a&&(f={x:a[h].getRect().getCenterX(),y:a[h].getRect().getCenterY()},g=a[h])}),a.nodeDimensionsIncludeLabels&&(g.labelWidth&&("left"==g.labelPosHorizontal?f.x+=g.labelWidth/2:"right"==g.labelPosHorizontal&&(f.x-=g.labelWidth/2)),g.labelHeight&&("top"==g.labelPosVertical?f.y+=g.labelHeight/2:"bottom"==g.labelPosVertical&&(f.y-=g.labelHeight/2))),void 0==f&&(f={x:b.position("x"),y:b.position("y")}),{x:f.x,y:f.y}}var i=void 0;return d.forEach(function(a){var c=a.nodeIndexes.get(b.id());void 0!=c&&(i={x:a.xCoords[c],y:a.yCoords[c]})}),void 0==i&&(i={x:b.position("x"),y:b.position("y")}),{x:i.x,y:i.y}};if("default"==a.quality||"proof"==a.quality||a.randomize){var C=f.calcParentsWithoutChildren(b,c),D=c.filter(function(a){return"none"==a.css("display")});a.eles=c.not(D),c.nodes().not(":parent").not(D).layoutPositions(this,a,B),C.length>0&&C.forEach(function(a){a.position(B(a))})}else console.log("If randomize option is set to false, then quality option must be 'default' or 'proof'.")}}]),a}()},657:(a,b,c)=>{var d=c(548),e=c(140).layoutBase.Matrix,f=c(140).layoutBase.SVD;a.exports={spectralLayout:function(a){var b=a.cy,c=a.eles,g=c.nodes(),h=c.nodes(":parent"),i=new Map,j=new Map,k=new Map,l=[],m=[],n=[],o=[],p=[],q=[],r=[],s=[],t=void 0,u=a.piTol,v=a.samplingType,w=a.nodeSeparation,x=void 0,y=function(){for(var a=0,b=0,c=!1;b<x;){a=Math.floor(Math.random()*t),c=!1;for(var d=0;d<b;d++)if(o[d]==a){c=!0;break}!c&&(o[b]=a,b++)}},z=function(a,b,c){for(var d=[],e=0,f=0,g=0,h=void 0,i=[],k=0,m=1,n=0;n<t;n++)i[n]=1e8;for(d[f]=a,i[a]=0;f>=e;){for(var o=l[g=d[e++]],r=0;r<o.length;r++)1e8==i[h=j.get(o[r])]&&(i[h]=i[g]+1,d[++f]=h);q[g][b]=i[g]*w}if(c){for(var s=0;s<t;s++)q[s][b]<p[s]&&(p[s]=q[s][b]);for(var u=0;u<t;u++)p[u]>k&&(k=p[u],m=u)}return m};d.connectComponents(b,c,d.getTopMostNodes(g),i),h.forEach(function(a){d.connectComponents(b,c,d.getTopMostNodes(a.descendants().intersection(c)),i)});for(var A=0,B=0;B<g.length;B++)g[B].isParent()||j.set(g[B].id(),A++);var C=!0,D=!1,E=void 0;try{for(var F,G=i.keys()[Symbol.iterator]();!(C=(F=G.next()).done);C=!0){var H=F.value;j.set(H,A++)}}catch(a){D=!0,E=a}finally{try{!C&&G.return&&G.return()}finally{if(D)throw E}}for(var I=0;I<j.size;I++)l[I]=[];h.forEach(function(a){for(var b=a.children().intersection(c);0==b.nodes(":childless").length;)b=b.nodes()[0].children().intersection(c);var d=0,e=b.nodes(":childless")[0].connectedEdges().length;b.nodes(":childless").forEach(function(a,b){a.connectedEdges().length<e&&(e=a.connectedEdges().length,d=b)}),k.set(a.id(),b.nodes(":childless")[d].id())}),g.forEach(function(a){var b=void 0;b=a.isParent()?j.get(k.get(a.id())):j.get(a.id()),a.neighborhood().nodes().forEach(function(d){c.intersection(a.edgesWith(d)).length>0&&(d.isParent()?l[b].push(k.get(d.id())):l[b].push(d.id()))})});var J=function(a){var c=j.get(a),d=void 0;i.get(a).forEach(function(e){d=b.getElementById(e).isParent()?k.get(e):e,l[c].push(d),l[j.get(d)].push(a)})},K=!0,L=!1,M=void 0;try{for(var N,O=i.keys()[Symbol.iterator]();!(K=(N=O.next()).done);K=!0){var P=N.value;J(P)}}catch(a){L=!0,M=a}finally{try{!K&&O.return&&O.return()}finally{if(L)throw M}}t=j.size;if(t>2){x=t<a.sampleSize?t:a.sampleSize;for(var Q=0;Q<t;Q++)q[Q]=[];for(var R=0;R<x;R++)s[R]=[];return"draft"==a.quality||"all"==a.step?(!function(a){var b=void 0;if(a){b=Math.floor(Math.random()*t);for(var c=0;c<t;c++)p[c]=1e8;for(var d=0;d<x;d++)o[d]=b,b=z(b,d,a)}else{y();for(var e=0;e<x;e++)z(o[e],e,a)}for(var f=0;f<t;f++)for(var g=0;g<x;g++)q[f][g]*=q[f][g];for(var h=0;h<x;h++)r[h]=[];for(var i=0;i<x;i++)for(var j=0;j<x;j++)r[i][j]=q[o[j]][i]}(v),!function(){for(var a=f.svd(r),b=a.S,c=a.U,d=a.V,g=b[0]*b[0]*b[0],h=[],i=0;i<x;i++){h[i]=[];for(var j=0;j<x;j++)h[i][j]=0,i==j&&(h[i][j]=b[i]/(b[i]*b[i]+g/(b[i]*b[i])))}s=e.multMat(e.multMat(d,h),e.transpose(c))}(),!function(){for(var a=void 0,b=void 0,c=[],d=[],f=[],g=[],h=0;h<t;h++)c[h]=Math.random(),d[h]=Math.random();c=e.normalize(c),d=e.normalize(d);for(var i=0,j=1e-9,k=1e-9,l=void 0;;){i++;for(var o=0;o<t;o++)f[o]=c[o];if(c=e.multGamma(e.multL(e.multGamma(f),q,s)),a=e.dotProduct(f,c),c=e.normalize(c),(l=Math.abs((j=e.dotProduct(f,c))/k))<=1+u&&l>=1)break;k=j}for(var p=0;p<t;p++)f[p]=c[p];for(i=0,k=1e-9;;){i++;for(var r=0;r<t;r++)g[r]=d[r];if(g=e.minusOp(g,e.multCons(f,e.dotProduct(f,g))),d=e.multGamma(e.multL(e.multGamma(g),q,s)),b=e.dotProduct(g,d),d=e.normalize(d),(l=Math.abs((j=e.dotProduct(g,d))/k))<=1+u&&l>=1)break;k=j}for(var v=0;v<t;v++)g[v]=d[v];m=e.multCons(f,Math.sqrt(Math.abs(a))),n=e.multCons(g,Math.sqrt(Math.abs(b)))}()):j.forEach(function(a,c){m.push(b.getElementById(c).position("x")),n.push(b.getElementById(c).position("y"))}),{nodeIndexes:j,xCoords:m,yCoords:n}}var S=j.keys(),T=b.getElementById(S.next().value),U=T.position(),V=T.outerWidth();if(m.push(U.x),n.push(U.y),2==t){var W=b.getElementById(S.next().value).outerWidth();m.push(U.x+V/2+W/2+a.idealEdgeLength),n.push(U.y)}return{nodeIndexes:j,xCoords:m,yCoords:n}}}},579:(a,b,c)=>{var d=c(212),e=function(a){a&&a("layout","fcose",d)};"u">typeof cytoscape&&e(cytoscape),a.exports=e},140:a=>{a.exports=d}},b={};return function c(d){var e=b[d];if(void 0!==e)return e.exports;var f=b[d]={exports:{}};return a[d](f,f.exports,c),f.exports}(579)})()},50980:function(a,b,c){var d;d=c(94548),a.exports=(()=>{"use strict";var a={45:(a,b,c)=>{var d={};d.layoutBase=c(551),d.CoSEConstants=c(806),d.CoSEEdge=c(767),d.CoSEGraph=c(880),d.CoSEGraphManager=c(578),d.CoSELayout=c(765),d.CoSENode=c(991),d.ConstraintHandler=c(902),a.exports=d},806:(a,b,c)=>{var d=c(551).FDLayoutConstants;function e(){}for(var f in d)e[f]=d[f];e.DEFAULT_USE_MULTI_LEVEL_SCALING=!1,e.DEFAULT_RADIAL_SEPARATION=d.DEFAULT_EDGE_LENGTH,e.DEFAULT_COMPONENT_SEPERATION=60,e.TILE=!0,e.TILING_PADDING_VERTICAL=10,e.TILING_PADDING_HORIZONTAL=10,e.TRANSFORM_ON_CONSTRAINT_HANDLING=!0,e.ENFORCE_CONSTRAINTS=!0,e.APPLY_LAYOUT=!0,e.RELAX_MOVEMENT_ON_CONSTRAINTS=!0,e.TREE_REDUCTION_ON_INCREMENTAL=!0,e.PURE_INCREMENTAL=e.DEFAULT_INCREMENTAL,a.exports=e},767:(a,b,c)=>{var d=c(551).FDLayoutEdge;function e(a,b,c){d.call(this,a,b,c)}for(var f in e.prototype=Object.create(d.prototype),d)e[f]=d[f];a.exports=e},880:(a,b,c)=>{var d=c(551).LGraph;function e(a,b,c){d.call(this,a,b,c)}for(var f in e.prototype=Object.create(d.prototype),d)e[f]=d[f];a.exports=e},578:(a,b,c)=>{var d=c(551).LGraphManager;function e(a){d.call(this,a)}for(var f in e.prototype=Object.create(d.prototype),d)e[f]=d[f];a.exports=e},765:(a,b,c)=>{var d=c(551).FDLayout,e=c(578),f=c(880),g=c(991),h=c(767),i=c(806),j=c(902),k=c(551).FDLayoutConstants,l=c(551).LayoutConstants,m=c(551).Point,n=c(551).PointD,o=c(551).DimensionD,p=c(551).Layout,q=c(551).Integer,r=c(551).IGeometry,s=c(551).LGraph,t=c(551).Transform,u=c(551).LinkedList;function v(){d.call(this),this.toBeTiled={},this.constraints={}}for(var w in v.prototype=Object.create(d.prototype),d)v[w]=d[w];v.prototype.newGraphManager=function(){var a=new e(this);return this.graphManager=a,a},v.prototype.newGraph=function(a){return new f(null,this.graphManager,a)},v.prototype.newNode=function(a){return new g(this.graphManager,a)},v.prototype.newEdge=function(a){return new h(null,null,a)},v.prototype.initParameters=function(){d.prototype.initParameters.call(this,arguments),this.isSubLayout||(i.DEFAULT_EDGE_LENGTH<10?this.idealEdgeLength=10:this.idealEdgeLength=i.DEFAULT_EDGE_LENGTH,this.useSmartIdealEdgeLengthCalculation=i.DEFAULT_USE_SMART_IDEAL_EDGE_LENGTH_CALCULATION,this.gravityConstant=k.DEFAULT_GRAVITY_STRENGTH,this.compoundGravityConstant=k.DEFAULT_COMPOUND_GRAVITY_STRENGTH,this.gravityRangeFactor=k.DEFAULT_GRAVITY_RANGE_FACTOR,this.compoundGravityRangeFactor=k.DEFAULT_COMPOUND_GRAVITY_RANGE_FACTOR,this.prunedNodesAll=[],this.growTreeIterations=0,this.afterGrowthIterations=0,this.isTreeGrowing=!1,this.isGrowthFinished=!1)},v.prototype.initSpringEmbedder=function(){d.prototype.initSpringEmbedder.call(this),this.coolingCycle=0,this.maxCoolingCycle=this.maxIterations/k.CONVERGENCE_CHECK_PERIOD,this.finalTemperature=.04,this.coolingAdjuster=1},v.prototype.layout=function(){return l.DEFAULT_CREATE_BENDS_AS_NEEDED&&(this.createBendpoints(),this.graphManager.resetAllEdges()),this.level=0,this.classicLayout()},v.prototype.classicLayout=function(){if(this.nodesWithGravity=this.calculateNodesToApplyGravitationTo(),this.graphManager.setAllNodesToApplyGravitation(this.nodesWithGravity),this.calcNoOfChildrenForAllNodes(),this.graphManager.calcLowestCommonAncestors(),this.graphManager.calcInclusionTreeDepths(),this.graphManager.getRoot().calcEstimatedSize(),this.calcIdealEdgeLengths(),this.incremental){if(i.TREE_REDUCTION_ON_INCREMENTAL){this.reduceTrees(),this.graphManager.resetAllNodesToApplyGravitation();var a=new Set(this.getAllNodes()),b=this.nodesWithGravity.filter(function(b){return a.has(b)});this.graphManager.setAllNodesToApplyGravitation(b)}}else{var c=this.getFlatForest();if(c.length>0)this.positionNodesRadially(c);else{this.reduceTrees(),this.graphManager.resetAllNodesToApplyGravitation();var a=new Set(this.getAllNodes()),b=this.nodesWithGravity.filter(function(b){return a.has(b)});this.graphManager.setAllNodesToApplyGravitation(b),this.positionNodesRandomly()}}return Object.keys(this.constraints).length>0&&(j.handleConstraints(this),this.initConstraintVariables()),this.initSpringEmbedder(),i.APPLY_LAYOUT&&this.runSpringEmbedder(),!0},v.prototype.tick=function(){if(this.totalIterations++,this.totalIterations===this.maxIterations&&!this.isTreeGrowing&&!this.isGrowthFinished)if(!(this.prunedNodesAll.length>0))return!0;else this.isTreeGrowing=!0;if(this.totalIterations%k.CONVERGENCE_CHECK_PERIOD==0&&!this.isTreeGrowing&&!this.isGrowthFinished){if(this.isConverged())if(!(this.prunedNodesAll.length>0))return!0;else this.isTreeGrowing=!0;this.coolingCycle++,0==this.layoutQuality?this.coolingAdjuster=this.coolingCycle:1==this.layoutQuality&&(this.coolingAdjuster=this.coolingCycle/3),this.coolingFactor=Math.max(this.initialCoolingFactor-Math.pow(this.coolingCycle,Math.log(100*(this.initialCoolingFactor-this.finalTemperature))/Math.log(this.maxCoolingCycle))/100*this.coolingAdjuster,this.finalTemperature),this.animationPeriod=Math.ceil(this.initialAnimationPeriod*Math.sqrt(this.coolingFactor))}if(this.isTreeGrowing){if(this.growTreeIterations%10==0)if(this.prunedNodesAll.length>0){this.graphManager.updateBounds(),this.updateGrid(),this.growTree(this.prunedNodesAll),this.graphManager.resetAllNodesToApplyGravitation();var a=new Set(this.getAllNodes()),b=this.nodesWithGravity.filter(function(b){return a.has(b)});this.graphManager.setAllNodesToApplyGravitation(b),this.graphManager.updateBounds(),this.updateGrid(),i.PURE_INCREMENTAL?this.coolingFactor=k.DEFAULT_COOLING_FACTOR_INCREMENTAL/2:this.coolingFactor=k.DEFAULT_COOLING_FACTOR_INCREMENTAL}else this.isTreeGrowing=!1,this.isGrowthFinished=!0;this.growTreeIterations++}if(this.isGrowthFinished){if(this.isConverged())return!0;this.afterGrowthIterations%10==0&&(this.graphManager.updateBounds(),this.updateGrid()),i.PURE_INCREMENTAL?this.coolingFactor=k.DEFAULT_COOLING_FACTOR_INCREMENTAL/2*((100-this.afterGrowthIterations)/100):this.coolingFactor=k.DEFAULT_COOLING_FACTOR_INCREMENTAL*((100-this.afterGrowthIterations)/100),this.afterGrowthIterations++}var c=!this.isTreeGrowing&&!this.isGrowthFinished,d=this.growTreeIterations%10==1&&this.isTreeGrowing||this.afterGrowthIterations%10==1&&this.isGrowthFinished;return this.totalDisplacement=0,this.graphManager.updateBounds(),this.calcSpringForces(),this.calcRepulsionForces(c,d),this.calcGravitationalForces(),this.moveNodes(),this.animate(),!1},v.prototype.getPositionsData=function(){for(var a=this.graphManager.getAllNodes(),b={},c=0;c<a.length;c++){var d=a[c].rect,e=a[c].id;b[e]={id:e,x:d.getCenterX(),y:d.getCenterY(),w:d.width,h:d.height}}return b},v.prototype.runSpringEmbedder=function(){this.initialAnimationPeriod=25,this.animationPeriod=this.initialAnimationPeriod;var a=!1;if("during"===k.ANIMATE)this.emit("layoutstarted");else{for(;!a;)a=this.tick();this.graphManager.updateBounds()}},v.prototype.moveNodes=function(){for(var a,b=this.getAllNodes(),c=0;c<b.length;c++)b[c].calculateDisplacement();Object.keys(this.constraints).length>0&&this.updateDisplacements();for(var c=0;c<b.length;c++)b[c].move()},v.prototype.initConstraintVariables=function(){var a=this;this.idToNodeMap=new Map,this.fixedNodeSet=new Set;for(var b=this.graphManager.getAllNodes(),c=0;c<b.length;c++){var d=b[c];this.idToNodeMap.set(d.id,d)}if(this.constraints.fixedNodeConstraint){this.constraints.fixedNodeConstraint.forEach(function(b){a.fixedNodeSet.add(b.nodeId)});for(var d,b=this.graphManager.getAllNodes(),c=0;c<b.length;c++)if(null!=(d=b[c]).getChild()){var e=function b(c){for(var d,e=c.getChild().getNodes(),f=0,g=0;g<e.length;g++)null==(d=e[g]).getChild()?a.fixedNodeSet.has(d.id)&&(f+=100):f+=b(d);return f}(d);e>0&&(d.fixedNodeWeight=e)}}if(this.constraints.relativePlacementConstraint){var f=new Map,g=new Map;if(this.dummyToNodeForVerticalAlignment=new Map,this.dummyToNodeForHorizontalAlignment=new Map,this.fixedNodesOnHorizontal=new Set,this.fixedNodesOnVertical=new Set,this.fixedNodeSet.forEach(function(b){a.fixedNodesOnHorizontal.add(b),a.fixedNodesOnVertical.add(b)}),this.constraints.alignmentConstraint){if(this.constraints.alignmentConstraint.vertical)for(var h=this.constraints.alignmentConstraint.vertical,c=0;c<h.length;c++)this.dummyToNodeForVerticalAlignment.set("dummy"+c,[]),h[c].forEach(function(b){f.set(b,"dummy"+c),a.dummyToNodeForVerticalAlignment.get("dummy"+c).push(b),a.fixedNodeSet.has(b)&&a.fixedNodesOnHorizontal.add("dummy"+c)});if(this.constraints.alignmentConstraint.horizontal)for(var j=this.constraints.alignmentConstraint.horizontal,c=0;c<j.length;c++)this.dummyToNodeForHorizontalAlignment.set("dummy"+c,[]),j[c].forEach(function(b){g.set(b,"dummy"+c),a.dummyToNodeForHorizontalAlignment.get("dummy"+c).push(b),a.fixedNodeSet.has(b)&&a.fixedNodesOnVertical.add("dummy"+c)})}if(i.RELAX_MOVEMENT_ON_CONSTRAINTS)this.shuffle=function(a){var b,c,d;for(d=a.length-1;d>=2*a.length/3;d--)b=Math.floor(Math.random()*(d+1)),c=a[d],a[d]=a[b],a[b]=c;return a},this.nodesInRelativeHorizontal=[],this.nodesInRelativeVertical=[],this.nodeToRelativeConstraintMapHorizontal=new Map,this.nodeToRelativeConstraintMapVertical=new Map,this.nodeToTempPositionMapHorizontal=new Map,this.nodeToTempPositionMapVertical=new Map,this.constraints.relativePlacementConstraint.forEach(function(b){if(b.left){var c=f.has(b.left)?f.get(b.left):b.left,d=f.has(b.right)?f.get(b.right):b.right;a.nodesInRelativeHorizontal.includes(c)||(a.nodesInRelativeHorizontal.push(c),a.nodeToRelativeConstraintMapHorizontal.set(c,[]),a.dummyToNodeForVerticalAlignment.has(c)?a.nodeToTempPositionMapHorizontal.set(c,a.idToNodeMap.get(a.dummyToNodeForVerticalAlignment.get(c)[0]).getCenterX()):a.nodeToTempPositionMapHorizontal.set(c,a.idToNodeMap.get(c).getCenterX())),a.nodesInRelativeHorizontal.includes(d)||(a.nodesInRelativeHorizontal.push(d),a.nodeToRelativeConstraintMapHorizontal.set(d,[]),a.dummyToNodeForVerticalAlignment.has(d)?a.nodeToTempPositionMapHorizontal.set(d,a.idToNodeMap.get(a.dummyToNodeForVerticalAlignment.get(d)[0]).getCenterX()):a.nodeToTempPositionMapHorizontal.set(d,a.idToNodeMap.get(d).getCenterX())),a.nodeToRelativeConstraintMapHorizontal.get(c).push({right:d,gap:b.gap}),a.nodeToRelativeConstraintMapHorizontal.get(d).push({left:c,gap:b.gap})}else{var e=g.has(b.top)?g.get(b.top):b.top,h=g.has(b.bottom)?g.get(b.bottom):b.bottom;a.nodesInRelativeVertical.includes(e)||(a.nodesInRelativeVertical.push(e),a.nodeToRelativeConstraintMapVertical.set(e,[]),a.dummyToNodeForHorizontalAlignment.has(e)?a.nodeToTempPositionMapVertical.set(e,a.idToNodeMap.get(a.dummyToNodeForHorizontalAlignment.get(e)[0]).getCenterY()):a.nodeToTempPositionMapVertical.set(e,a.idToNodeMap.get(e).getCenterY())),a.nodesInRelativeVertical.includes(h)||(a.nodesInRelativeVertical.push(h),a.nodeToRelativeConstraintMapVertical.set(h,[]),a.dummyToNodeForHorizontalAlignment.has(h)?a.nodeToTempPositionMapVertical.set(h,a.idToNodeMap.get(a.dummyToNodeForHorizontalAlignment.get(h)[0]).getCenterY()):a.nodeToTempPositionMapVertical.set(h,a.idToNodeMap.get(h).getCenterY())),a.nodeToRelativeConstraintMapVertical.get(e).push({bottom:h,gap:b.gap}),a.nodeToRelativeConstraintMapVertical.get(h).push({top:e,gap:b.gap})}});else{var k=new Map,l=new Map;this.constraints.relativePlacementConstraint.forEach(function(a){if(a.left){var b=f.has(a.left)?f.get(a.left):a.left,c=f.has(a.right)?f.get(a.right):a.right;k.has(b)?k.get(b).push(c):k.set(b,[c]),k.has(c)?k.get(c).push(b):k.set(c,[b])}else{var d=g.has(a.top)?g.get(a.top):a.top,e=g.has(a.bottom)?g.get(a.bottom):a.bottom;l.has(d)?l.get(d).push(e):l.set(d,[e]),l.has(e)?l.get(e).push(d):l.set(e,[d])}});var m=function(a,b){var c=[],d=[],e=new u,f=new Set,g=0;return a.forEach(function(h,i){if(!f.has(i)){c[g]=[],d[g]=!1;var j=i;for(e.push(j),f.add(j),c[g].push(j);0!=e.length;)j=e.shift(),b.has(j)&&(d[g]=!0),a.get(j).forEach(function(a){f.has(a)||(e.push(a),f.add(a),c[g].push(a))});g++}}),{components:c,isFixed:d}},n=m(k,a.fixedNodesOnHorizontal);this.componentsOnHorizontal=n.components,this.fixedComponentsOnHorizontal=n.isFixed;var o=m(l,a.fixedNodesOnVertical);this.componentsOnVertical=o.components,this.fixedComponentsOnVertical=o.isFixed}}},v.prototype.updateDisplacements=function(){var a=this;if(this.constraints.fixedNodeConstraint&&this.constraints.fixedNodeConstraint.forEach(function(b){var c=a.idToNodeMap.get(b.nodeId);c.displacementX=0,c.displacementY=0}),this.constraints.alignmentConstraint){if(this.constraints.alignmentConstraint.vertical)for(var b=this.constraints.alignmentConstraint.vertical,c=0;c<b.length;c++){for(var d=0,e=0;e<b[c].length;e++){if(this.fixedNodeSet.has(b[c][e])){d=0;break}d+=this.idToNodeMap.get(b[c][e]).displacementX}for(var f=d/b[c].length,e=0;e<b[c].length;e++)this.idToNodeMap.get(b[c][e]).displacementX=f}if(this.constraints.alignmentConstraint.horizontal)for(var g=this.constraints.alignmentConstraint.horizontal,c=0;c<g.length;c++){for(var h=0,e=0;e<g[c].length;e++){if(this.fixedNodeSet.has(g[c][e])){h=0;break}h+=this.idToNodeMap.get(g[c][e]).displacementY}for(var j=h/g[c].length,e=0;e<g[c].length;e++)this.idToNodeMap.get(g[c][e]).displacementY=j}}if(this.constraints.relativePlacementConstraint)if(i.RELAX_MOVEMENT_ON_CONSTRAINTS)this.totalIterations%10==0&&(this.shuffle(this.nodesInRelativeHorizontal),this.shuffle(this.nodesInRelativeVertical)),this.nodesInRelativeHorizontal.forEach(function(b){if(!a.fixedNodesOnHorizontal.has(b)){var c=0;c=a.dummyToNodeForVerticalAlignment.has(b)?a.idToNodeMap.get(a.dummyToNodeForVerticalAlignment.get(b)[0]).displacementX:a.idToNodeMap.get(b).displacementX,a.nodeToRelativeConstraintMapHorizontal.get(b).forEach(function(d){if(d.right){var e=a.nodeToTempPositionMapHorizontal.get(d.right)-a.nodeToTempPositionMapHorizontal.get(b)-c;e<d.gap&&(c-=d.gap-e)}else{var e=a.nodeToTempPositionMapHorizontal.get(b)-a.nodeToTempPositionMapHorizontal.get(d.left)+c;e<d.gap&&(c+=d.gap-e)}}),a.nodeToTempPositionMapHorizontal.set(b,a.nodeToTempPositionMapHorizontal.get(b)+c),a.dummyToNodeForVerticalAlignment.has(b)?a.dummyToNodeForVerticalAlignment.get(b).forEach(function(b){a.idToNodeMap.get(b).displacementX=c}):a.idToNodeMap.get(b).displacementX=c}}),this.nodesInRelativeVertical.forEach(function(b){if(!a.fixedNodesOnHorizontal.has(b)){var c=0;c=a.dummyToNodeForHorizontalAlignment.has(b)?a.idToNodeMap.get(a.dummyToNodeForHorizontalAlignment.get(b)[0]).displacementY:a.idToNodeMap.get(b).displacementY,a.nodeToRelativeConstraintMapVertical.get(b).forEach(function(d){if(d.bottom){var e=a.nodeToTempPositionMapVertical.get(d.bottom)-a.nodeToTempPositionMapVertical.get(b)-c;e<d.gap&&(c-=d.gap-e)}else{var e=a.nodeToTempPositionMapVertical.get(b)-a.nodeToTempPositionMapVertical.get(d.top)+c;e<d.gap&&(c+=d.gap-e)}}),a.nodeToTempPositionMapVertical.set(b,a.nodeToTempPositionMapVertical.get(b)+c),a.dummyToNodeForHorizontalAlignment.has(b)?a.dummyToNodeForHorizontalAlignment.get(b).forEach(function(b){a.idToNodeMap.get(b).displacementY=c}):a.idToNodeMap.get(b).displacementY=c}});else{for(var c=0;c<this.componentsOnHorizontal.length;c++){var k=this.componentsOnHorizontal[c];if(this.fixedComponentsOnHorizontal[c])for(var e=0;e<k.length;e++)this.dummyToNodeForVerticalAlignment.has(k[e])?this.dummyToNodeForVerticalAlignment.get(k[e]).forEach(function(b){a.idToNodeMap.get(b).displacementX=0}):this.idToNodeMap.get(k[e]).displacementX=0;else{for(var l=0,m=0,e=0;e<k.length;e++)if(this.dummyToNodeForVerticalAlignment.has(k[e])){var n=this.dummyToNodeForVerticalAlignment.get(k[e]);l+=n.length*this.idToNodeMap.get(n[0]).displacementX,m+=n.length}else l+=this.idToNodeMap.get(k[e]).displacementX,m++;for(var o=l/m,e=0;e<k.length;e++)this.dummyToNodeForVerticalAlignment.has(k[e])?this.dummyToNodeForVerticalAlignment.get(k[e]).forEach(function(b){a.idToNodeMap.get(b).displacementX=o}):this.idToNodeMap.get(k[e]).displacementX=o}}for(var c=0;c<this.componentsOnVertical.length;c++){var k=this.componentsOnVertical[c];if(this.fixedComponentsOnVertical[c])for(var e=0;e<k.length;e++)this.dummyToNodeForHorizontalAlignment.has(k[e])?this.dummyToNodeForHorizontalAlignment.get(k[e]).forEach(function(b){a.idToNodeMap.get(b).displacementY=0}):this.idToNodeMap.get(k[e]).displacementY=0;else{for(var l=0,m=0,e=0;e<k.length;e++)if(this.dummyToNodeForHorizontalAlignment.has(k[e])){var n=this.dummyToNodeForHorizontalAlignment.get(k[e]);l+=n.length*this.idToNodeMap.get(n[0]).displacementY,m+=n.length}else l+=this.idToNodeMap.get(k[e]).displacementY,m++;for(var o=l/m,e=0;e<k.length;e++)this.dummyToNodeForHorizontalAlignment.has(k[e])?this.dummyToNodeForHorizontalAlignment.get(k[e]).forEach(function(b){a.idToNodeMap.get(b).displacementY=o}):this.idToNodeMap.get(k[e]).displacementY=o}}}},v.prototype.calculateNodesToApplyGravitationTo=function(){var a,b,c=[],d=this.graphManager.getGraphs(),e=d.length;for(b=0;b<e;b++)(a=d[b]).updateConnected(),a.isConnected||(c=c.concat(a.getNodes()));return c},v.prototype.createBendpoints=function(){var a=[];a=a.concat(this.graphManager.getAllEdges());var b=new Set;for(f=0;f<a.length;f++){var c=a[f];if(!b.has(c)){var d=c.getSource(),e=c.getTarget();if(d==e)c.getBendpoints().push(new n),c.getBendpoints().push(new n),this.createDummyNodesForBendpoints(c),b.add(c);else{var f,g,h=[];if(h=(h=h.concat(d.getEdgeListToNode(e))).concat(e.getEdgeListToNode(d)),!b.has(h[0])){if(h.length>1)for(g=0;g<h.length;g++){var i=h[g];i.getBendpoints().push(new n),this.createDummyNodesForBendpoints(i)}h.forEach(function(a){b.add(a)})}}}if(b.size==a.length)break}},v.prototype.positionNodesRadially=function(a){for(var b=new m(0,0),c=Math.ceil(Math.sqrt(a.length)),d=0,e=0,f=0,g=new n(0,0),h=0;h<a.length;h++){h%c==0&&(f=0,e=d,0!=h&&(e+=i.DEFAULT_COMPONENT_SEPERATION),d=0);var j=a[h],k=p.findCenterOfTree(j);b.x=f,b.y=e,(g=v.radialLayout(j,k,b)).y>d&&(d=Math.floor(g.y)),f=Math.floor(g.x+i.DEFAULT_COMPONENT_SEPERATION)}this.transform(new n(l.WORLD_CENTER_X-g.x/2,l.WORLD_CENTER_Y-g.y/2))},v.radialLayout=function(a,b,c){var d=Math.max(this.maxDiagonalInTree(a),i.DEFAULT_RADIAL_SEPARATION);v.branchRadialLayout(b,null,0,359,0,d);var e=s.calculateBounds(a),f=new t;f.setDeviceOrgX(e.getMinX()),f.setDeviceOrgY(e.getMinY()),f.setWorldOrgX(c.x),f.setWorldOrgY(c.y);for(var g=0;g<a.length;g++)a[g].transform(f);var h=new n(e.getMaxX(),e.getMaxY());return f.inverseTransformPoint(h)},v.branchRadialLayout=function(a,b,c,d,e,f){var g,h=(d-c+1)/2;h<0&&(h+=180);var i=(h+c)%360*r.TWO_PI/360,j=e*Math.cos(i),k=e*Math.sin(i);a.setCenter(j,k);var l=[],m=(l=l.concat(a.getEdges())).length;null!=b&&m--;for(var n=0,o=l.length,p=a.getEdgesBetween(b);p.length>1;){var q=p[0];p.splice(0,1);var s=l.indexOf(q);s>=0&&l.splice(s,1),o--,m--}g=null!=b?(l.indexOf(p[0])+1)%o:0;for(var t=Math.abs(d-c)/m,u=g;n!=m;u=++u%o){var w=l[u].getOtherEnd(a);if(w!=b){var x=(c+n*t)%360,y=(x+t)%360;v.branchRadialLayout(w,a,x,y,e+f,f),n++}}},v.maxDiagonalInTree=function(a){for(var b=q.MIN_VALUE,c=0;c<a.length;c++){var d=a[c].getDiagonal();d>b&&(b=d)}return b},v.prototype.calcRepulsionRange=function(){return 2*(this.level+1)*this.idealEdgeLength},v.prototype.groupZeroDegreeMembers=function(){var a=this,b={};this.memberGroups={},this.idToDummyNode={};for(var c=[],d=this.graphManager.getAllNodes(),e=0;e<d.length;e++){var f=d[e],h=f.getParent();0!==this.getNodeDegreeWithChildren(f)||void 0!=h.id&&this.getToBeTiled(h)||c.push(f)}for(var e=0;e<c.length;e++){var f=c[e],i=f.getParent().id;void 0===b[i]&&(b[i]=[]),b[i]=b[i].concat(f)}Object.keys(b).forEach(function(c){if(b[c].length>1){var d="DummyCompound_"+c;a.memberGroups[d]=b[c];var e=b[c][0].getParent(),f=new g(a.graphManager);f.id=d,f.paddingLeft=e.paddingLeft||0,f.paddingRight=e.paddingRight||0,f.paddingBottom=e.paddingBottom||0,f.paddingTop=e.paddingTop||0,a.idToDummyNode[d]=f;var h=a.getGraphManager().add(a.newGraph(),f),i=e.getChild();i.add(f);for(var j=0;j<b[c].length;j++){var k=b[c][j];i.remove(k),h.add(k)}}})},v.prototype.clearCompounds=function(){var a={},b={};this.performDFSOnCompounds();for(var c=0;c<this.compoundOrder.length;c++)b[this.compoundOrder[c].id]=this.compoundOrder[c],a[this.compoundOrder[c].id]=[].concat(this.compoundOrder[c].getChild().getNodes()),this.graphManager.remove(this.compoundOrder[c].getChild()),this.compoundOrder[c].child=null;this.graphManager.resetAllNodes(),this.tileCompoundMembers(a,b)},v.prototype.clearZeroDegreeMembers=function(){var a=this,b=this.tiledZeroDegreePack=[];Object.keys(this.memberGroups).forEach(function(c){var d=a.idToDummyNode[c];if(b[c]=a.tileNodes(a.memberGroups[c],d.paddingLeft+d.paddingRight),d.rect.width=b[c].width,d.rect.height=b[c].height,d.setCenter(b[c].centerX,b[c].centerY),d.labelMarginLeft=0,d.labelMarginTop=0,i.NODE_DIMENSIONS_INCLUDE_LABELS){var e=d.rect.width,f=d.rect.height;d.labelWidth&&("left"==d.labelPosHorizontal?(d.rect.x-=d.labelWidth,d.setWidth(e+d.labelWidth),d.labelMarginLeft=d.labelWidth):"center"==d.labelPosHorizontal&&d.labelWidth>e?(d.rect.x-=(d.labelWidth-e)/2,d.setWidth(d.labelWidth),d.labelMarginLeft=(d.labelWidth-e)/2):"right"==d.labelPosHorizontal&&d.setWidth(e+d.labelWidth)),d.labelHeight&&("top"==d.labelPosVertical?(d.rect.y-=d.labelHeight,d.setHeight(f+d.labelHeight),d.labelMarginTop=d.labelHeight):"center"==d.labelPosVertical&&d.labelHeight>f?(d.rect.y-=(d.labelHeight-f)/2,d.setHeight(d.labelHeight),d.labelMarginTop=(d.labelHeight-f)/2):"bottom"==d.labelPosVertical&&d.setHeight(f+d.labelHeight))}})},v.prototype.repopulateCompounds=function(){for(var a=this.compoundOrder.length-1;a>=0;a--){var b=this.compoundOrder[a],c=b.id,d=b.paddingLeft,e=b.paddingTop,f=b.labelMarginLeft,g=b.labelMarginTop;this.adjustLocations(this.tiledMemberPack[c],b.rect.x,b.rect.y,d,e,f,g)}},v.prototype.repopulateZeroDegreeMembers=function(){var a=this,b=this.tiledZeroDegreePack;Object.keys(b).forEach(function(c){var d=a.idToDummyNode[c],e=d.paddingLeft,f=d.paddingTop,g=d.labelMarginLeft,h=d.labelMarginTop;a.adjustLocations(b[c],d.rect.x,d.rect.y,e,f,g,h)})},v.prototype.getToBeTiled=function(a){var b=a.id;if(null!=this.toBeTiled[b])return this.toBeTiled[b];var c=a.getChild();if(null==c)return this.toBeTiled[b]=!1,!1;for(var d=c.getNodes(),e=0;e<d.length;e++){var f=d[e];if(this.getNodeDegree(f)>0)return this.toBeTiled[b]=!1,!1;if(null==f.getChild()){this.toBeTiled[f.id]=!1;continue}if(!this.getToBeTiled(f))return this.toBeTiled[b]=!1,!1}return this.toBeTiled[b]=!0,!0},v.prototype.getNodeDegree=function(a){a.id;for(var b=a.getEdges(),c=0,d=0;d<b.length;d++){var e=b[d];e.getSource().id!==e.getTarget().id&&(c+=1)}return c},v.prototype.getNodeDegreeWithChildren=function(a){var b=this.getNodeDegree(a);if(null==a.getChild())return b;for(var c=a.getChild().getNodes(),d=0;d<c.length;d++){var e=c[d];b+=this.getNodeDegreeWithChildren(e)}return b},v.prototype.performDFSOnCompounds=function(){this.compoundOrder=[],this.fillCompexOrderByDFS(this.graphManager.getRoot().getNodes())},v.prototype.fillCompexOrderByDFS=function(a){for(var b=0;b<a.length;b++){var c=a[b];null!=c.getChild()&&this.fillCompexOrderByDFS(c.getChild().getNodes()),this.getToBeTiled(c)&&this.compoundOrder.push(c)}},v.prototype.adjustLocations=function(a,b,c,d,e,f,g){b+=d+f,c+=e+g;for(var h=b,i=0;i<a.rows.length;i++){var j=a.rows[i];b=h;for(var k=0,l=0;l<j.length;l++){var m=j[l];m.rect.x=b,m.rect.y=c,b+=m.rect.width+a.horizontalPadding,m.rect.height>k&&(k=m.rect.height)}c+=k+a.verticalPadding}},v.prototype.tileCompoundMembers=function(a,b){var c=this;this.tiledMemberPack=[],Object.keys(a).forEach(function(d){var e=b[d];if(c.tiledMemberPack[d]=c.tileNodes(a[d],e.paddingLeft+e.paddingRight),e.rect.width=c.tiledMemberPack[d].width,e.rect.height=c.tiledMemberPack[d].height,e.setCenter(c.tiledMemberPack[d].centerX,c.tiledMemberPack[d].centerY),e.labelMarginLeft=0,e.labelMarginTop=0,i.NODE_DIMENSIONS_INCLUDE_LABELS){var f=e.rect.width,g=e.rect.height;e.labelWidth&&("left"==e.labelPosHorizontal?(e.rect.x-=e.labelWidth,e.setWidth(f+e.labelWidth),e.labelMarginLeft=e.labelWidth):"center"==e.labelPosHorizontal&&e.labelWidth>f?(e.rect.x-=(e.labelWidth-f)/2,e.setWidth(e.labelWidth),e.labelMarginLeft=(e.labelWidth-f)/2):"right"==e.labelPosHorizontal&&e.setWidth(f+e.labelWidth)),e.labelHeight&&("top"==e.labelPosVertical?(e.rect.y-=e.labelHeight,e.setHeight(g+e.labelHeight),e.labelMarginTop=e.labelHeight):"center"==e.labelPosVertical&&e.labelHeight>g?(e.rect.y-=(e.labelHeight-g)/2,e.setHeight(e.labelHeight),e.labelMarginTop=(e.labelHeight-g)/2):"bottom"==e.labelPosVertical&&e.setHeight(g+e.labelHeight))}})},v.prototype.tileNodes=function(a,b){var c=this.tileNodesByFavoringDim(a,b,!0),d=this.tileNodesByFavoringDim(a,b,!1),e=this.getOrgRatio(c);return this.getOrgRatio(d)<e?d:c},v.prototype.getOrgRatio=function(a){var b=a.width/a.height;return b<1&&(b=1/b),b},v.prototype.calcIdealRowWidth=function(a,b){var c,d=i.TILING_PADDING_VERTICAL,e=i.TILING_PADDING_HORIZONTAL,f=a.length,g=0,h=0,j=0;a.forEach(function(a){g+=a.getWidth(),h+=a.getHeight(),a.getWidth()>j&&(j=a.getWidth())});var k=g/f,l=Math.pow(d-e,2)+4*(k+e)*(h/f+d)*f,m=(e-d+Math.sqrt(l))/(2*(k+e));b?(c=Math.ceil(m))==m&&c++:c=Math.floor(m);var n=c*(k+e)-e;return j>n&&(n=j),n+=2*e},v.prototype.tileNodesByFavoringDim=function(a,b,c){var d=i.TILING_PADDING_VERTICAL,e=i.TILING_PADDING_HORIZONTAL,f=i.TILING_COMPARE_BY,g={rows:[],rowWidth:[],rowHeight:[],width:0,height:b,verticalPadding:d,horizontalPadding:e,centerX:0,centerY:0};f&&(g.idealRowWidth=this.calcIdealRowWidth(a,c));var h=function(a){return a.rect.width*a.rect.height},j=function(a,b){return h(b)-h(a)};a.sort(function(a,b){var c=j;return g.idealRowWidth?(c=f)(a.id,b.id):c(a,b)});for(var k=0,l=0,m=0;m<a.length;m++){var n=a[m];k+=n.getCenterX(),l+=n.getCenterY()}g.centerX=k/a.length,g.centerY=l/a.length;for(var m=0;m<a.length;m++){var n=a[m];if(0==g.rows.length)this.insertNodeToRow(g,n,0,b);else if(this.canAddHorizontal(g,n.rect.width,n.rect.height)){var o=g.rows.length-1;g.idealRowWidth||(o=this.getShortestRowIndex(g)),this.insertNodeToRow(g,n,o,b)}else this.insertNodeToRow(g,n,g.rows.length,b);this.shiftToLastRow(g)}return g},v.prototype.insertNodeToRow=function(a,b,c,d){c==a.rows.length&&(a.rows.push([]),a.rowWidth.push(d),a.rowHeight.push(0));var e=a.rowWidth[c]+b.rect.width;a.rows[c].length>0&&(e+=a.horizontalPadding),a.rowWidth[c]=e,a.width<e&&(a.width=e);var f=b.rect.height;c>0&&(f+=a.verticalPadding);var g=0;f>a.rowHeight[c]&&(g=a.rowHeight[c],a.rowHeight[c]=f,g=a.rowHeight[c]-g),a.height+=g,a.rows[c].push(b)},v.prototype.getShortestRowIndex=function(a){for(var b=-1,c=Number.MAX_VALUE,d=0;d<a.rows.length;d++)a.rowWidth[d]<c&&(b=d,c=a.rowWidth[d]);return b},v.prototype.getLongestRowIndex=function(a){for(var b=-1,c=5e-324,d=0;d<a.rows.length;d++)a.rowWidth[d]>c&&(b=d,c=a.rowWidth[d]);return b},v.prototype.canAddHorizontal=function(a,b,c){if(a.idealRowWidth){var d,e,f=a.rows.length-1;return a.rowWidth[f]+b+a.horizontalPadding<=a.idealRowWidth}var g=this.getShortestRowIndex(a);if(g<0)return!0;var h=a.rowWidth[g];if(h+a.horizontalPadding+b<=a.width)return!0;var i=0;return a.rowHeight[g]<c&&g>0&&(i=c+a.verticalPadding-a.rowHeight[g]),d=a.width-h>=b+a.horizontalPadding?(a.height+i)/(h+b+a.horizontalPadding):(a.height+i)/a.width,i=c+a.verticalPadding,(e=a.width<b?(a.height+i)/b:(a.height+i)/a.width)<1&&(e=1/e),d<1&&(d=1/d),d<e},v.prototype.shiftToLastRow=function(a){var b=this.getLongestRowIndex(a),c=a.rowWidth.length-1,d=a.rows[b],e=d[d.length-1],f=e.width+a.horizontalPadding;if(a.width-a.rowWidth[c]>f&&b!=c){d.splice(-1,1),a.rows[c].push(e),a.rowWidth[b]=a.rowWidth[b]-f,a.rowWidth[c]=a.rowWidth[c]+f,a.width=a.rowWidth[instance.getLongestRowIndex(a)];for(var g=5e-324,h=0;h<d.length;h++)d[h].height>g&&(g=d[h].height);b>0&&(g+=a.verticalPadding);var i=a.rowHeight[b]+a.rowHeight[c];a.rowHeight[b]=g,a.rowHeight[c]<e.height+a.verticalPadding&&(a.rowHeight[c]=e.height+a.verticalPadding);var j=a.rowHeight[b]+a.rowHeight[c];a.height+=j-i,this.shiftToLastRow(a)}},v.prototype.tilingPreLayout=function(){i.TILE&&(this.groupZeroDegreeMembers(),this.clearCompounds(),this.clearZeroDegreeMembers())},v.prototype.tilingPostLayout=function(){i.TILE&&(this.repopulateZeroDegreeMembers(),this.repopulateCompounds())},v.prototype.reduceTrees=function(){for(var a,b=[],c=!0;c;){var d=this.graphManager.getAllNodes(),e=[];c=!1;for(var f=0;f<d.length;f++)if(1==(a=d[f]).getEdges().length&&!a.getEdges()[0].isInterGraph&&null==a.getChild()){if(i.PURE_INCREMENTAL){var g=a.getEdges()[0].getOtherEnd(a),h=new o(a.getCenterX()-g.getCenterX(),a.getCenterY()-g.getCenterY());e.push([a,a.getEdges()[0],a.getOwner(),h])}else e.push([a,a.getEdges()[0],a.getOwner()]);c=!0}if(!0==c){for(var j=[],k=0;k<e.length;k++)1==e[k][0].getEdges().length&&(j.push(e[k]),e[k][0].getOwner().remove(e[k][0]));b.push(j),this.graphManager.resetAllNodes(),this.graphManager.resetAllEdges()}}this.prunedNodesAll=b},v.prototype.growTree=function(a){for(var b,c=a.length,d=a[c-1],e=0;e<d.length;e++)b=d[e],this.findPlaceforPrunedNode(b),b[2].add(b[0]),b[2].add(b[1],b[1].source,b[1].target);a.splice(a.length-1,1),this.graphManager.resetAllNodes(),this.graphManager.resetAllEdges()},v.prototype.findPlaceforPrunedNode=function(a){var b=a[0];if(d=b==a[1].source?a[1].target:a[1].source,i.PURE_INCREMENTAL)b.setCenter(d.getCenterX()+a[3].getWidth(),d.getCenterY()+a[3].getHeight());else{var c,d,e,f,g=d.startX,h=d.finishX,j=d.startY,l=d.finishY,m=[0,0,0,0];if(j>0)for(var n=g;n<=h;n++)m[0]+=this.grid[n][j-1].length+this.grid[n][j].length-1;if(h<this.grid.length-1)for(var n=j;n<=l;n++)m[1]+=this.grid[h+1][n].length+this.grid[h][n].length-1;if(l<this.grid[0].length-1)for(var n=g;n<=h;n++)m[2]+=this.grid[n][l+1].length+this.grid[n][l].length-1;if(g>0)for(var n=j;n<=l;n++)m[3]+=this.grid[g-1][n].length+this.grid[g][n].length-1;for(var o=q.MAX_VALUE,p=0;p<m.length;p++)m[p]<o?(o=m[p],e=1,f=p):m[p]==o&&e++;if(3==e&&0==o)0==m[0]&&0==m[1]&&0==m[2]?c=1:0==m[0]&&0==m[1]&&0==m[3]?c=0:0==m[0]&&0==m[2]&&0==m[3]?c=3:0==m[1]&&0==m[2]&&0==m[3]&&(c=2);else if(2==e&&0==o){var r=Math.floor(2*Math.random());c=0==m[0]&&0==m[1]?+(0!=r):0==m[0]&&0==m[2]?2*(0!=r):0==m[0]&&0==m[3]?3*(0!=r):0==m[1]&&0==m[2]?0==r?1:2:0==m[1]&&0==m[3]?0==r?1:3:0==r?2:3}else if(4==e&&0==o){var r=Math.floor(4*Math.random());c=r}else c=f;0==c?b.setCenter(d.getCenterX(),d.getCenterY()-d.getHeight()/2-k.DEFAULT_EDGE_LENGTH-b.getHeight()/2):1==c?b.setCenter(d.getCenterX()+d.getWidth()/2+k.DEFAULT_EDGE_LENGTH+b.getWidth()/2,d.getCenterY()):2==c?b.setCenter(d.getCenterX(),d.getCenterY()+d.getHeight()/2+k.DEFAULT_EDGE_LENGTH+b.getHeight()/2):b.setCenter(d.getCenterX()-d.getWidth()/2-k.DEFAULT_EDGE_LENGTH-b.getWidth()/2,d.getCenterY())}},a.exports=v},991:(a,b,c)=>{var d=c(551).FDLayoutNode,e=c(551).IMath;function f(a,b,c,e){d.call(this,a,b,c,e)}for(var g in f.prototype=Object.create(d.prototype),d)f[g]=d[g];f.prototype.calculateDisplacement=function(){var a=this.graphManager.getLayout();null!=this.getChild()&&this.fixedNodeWeight?(this.displacementX+=a.coolingFactor*(this.springForceX+this.repulsionForceX+this.gravitationForceX)/this.fixedNodeWeight,this.displacementY+=a.coolingFactor*(this.springForceY+this.repulsionForceY+this.gravitationForceY)/this.fixedNodeWeight):(this.displacementX+=a.coolingFactor*(this.springForceX+this.repulsionForceX+this.gravitationForceX)/this.noOfChildren,this.displacementY+=a.coolingFactor*(this.springForceY+this.repulsionForceY+this.gravitationForceY)/this.noOfChildren),Math.abs(this.displacementX)>a.coolingFactor*a.maxNodeDisplacement&&(this.displacementX=a.coolingFactor*a.maxNodeDisplacement*e.sign(this.displacementX)),Math.abs(this.displacementY)>a.coolingFactor*a.maxNodeDisplacement&&(this.displacementY=a.coolingFactor*a.maxNodeDisplacement*e.sign(this.displacementY)),this.child&&this.child.getNodes().length>0&&this.propogateDisplacementToChildren(this.displacementX,this.displacementY)},f.prototype.propogateDisplacementToChildren=function(a,b){for(var c,d=this.getChild().getNodes(),e=0;e<d.length;e++)null==(c=d[e]).getChild()?(c.displacementX+=a,c.displacementY+=b):c.propogateDisplacementToChildren(a,b)},f.prototype.move=function(){var a=this.graphManager.getLayout();(null==this.child||0==this.child.getNodes().length)&&(this.moveBy(this.displacementX,this.displacementY),a.totalDisplacement+=Math.abs(this.displacementX)+Math.abs(this.displacementY)),this.springForceX=0,this.springForceY=0,this.repulsionForceX=0,this.repulsionForceY=0,this.gravitationForceX=0,this.gravitationForceY=0,this.displacementX=0,this.displacementY=0},f.prototype.setPred1=function(a){this.pred1=a},f.prototype.getPred1=function(){return pred1},f.prototype.getPred2=function(){return pred2},f.prototype.setNext=function(a){this.next=a},f.prototype.getNext=function(){return next},f.prototype.setProcessed=function(a){this.processed=a},f.prototype.isProcessed=function(){return processed},a.exports=f},902:(a,b,c)=>{function d(a){if(!Array.isArray(a))return Array.from(a);for(var b=0,c=Array(a.length);b<a.length;b++)c[b]=a[b];return c}var e=c(806),f=c(551).LinkedList,g=c(551).Matrix,h=c(551).SVD;function i(){}i.handleConstraints=function(a){var b={};b.fixedNodeConstraint=a.constraints.fixedNodeConstraint,b.alignmentConstraint=a.constraints.alignmentConstraint,b.relativePlacementConstraint=a.constraints.relativePlacementConstraint;for(var c=new Map,i=new Map,j=[],k=[],l=a.getAllNodes(),m=0,n=0;n<l.length;n++){var o=l[n];null==o.getChild()&&(i.set(o.id,m++),j.push(o.getCenterX()),k.push(o.getCenterY()),c.set(o.id,o))}b.relativePlacementConstraint&&b.relativePlacementConstraint.forEach(function(a){a.gap||0==a.gap||(a.left?a.gap=e.DEFAULT_EDGE_LENGTH+c.get(a.left).getWidth()/2+c.get(a.right).getWidth()/2:a.gap=e.DEFAULT_EDGE_LENGTH+c.get(a.top).getHeight()/2+c.get(a.bottom).getHeight()/2)});var p=function(a){var b=0,c=0;return a.forEach(function(a){b+=j[i.get(a)],c+=k[i.get(a)]}),{x:b/a.size,y:c/a.size}},q=function(a,b,c,e,g){var h=new Map;a.forEach(function(a,b){h.set(b,0)}),a.forEach(function(a,b){a.forEach(function(a){h.set(a.id,h.get(a.id)+1)})});var l=new Map,m=new Map,n=new f;for(h.forEach(function(a,d){0==a?(n.push(d),c||("horizontal"==b?l.set(d,i.has(d)?j[i.get(d)]:e.get(d)):l.set(d,i.has(d)?k[i.get(d)]:e.get(d)))):l.set(d,-1/0),c&&m.set(d,new Set([d]))}),c&&g.forEach(function(a){var d=[];if(a.forEach(function(a){c.has(a)&&d.push(a)}),d.length>0){var f=0;d.forEach(function(a){"horizontal"==b?l.set(a,i.has(a)?j[i.get(a)]:e.get(a)):l.set(a,i.has(a)?k[i.get(a)]:e.get(a)),f+=l.get(a)}),f/=d.length,a.forEach(function(a){c.has(a)||l.set(a,f)})}else{var g=0;a.forEach(function(a){"horizontal"==b?g+=i.has(a)?j[i.get(a)]:e.get(a):g+=i.has(a)?k[i.get(a)]:e.get(a)}),g/=a.length,a.forEach(function(a){l.set(a,g)})}});0!=n.length;)!function(){var d=n.shift();a.get(d).forEach(function(a){if(l.get(a.id)<l.get(d)+a.gap)if(c&&c.has(a.id)){var f=void 0;if(f="horizontal"==b?i.has(a.id)?j[i.get(a.id)]:e.get(a.id):i.has(a.id)?k[i.get(a.id)]:e.get(a.id),l.set(a.id,f),f<l.get(d)+a.gap){var g=l.get(d)+a.gap-f;m.get(d).forEach(function(a){l.set(a,l.get(a)-g)})}}else l.set(a.id,l.get(d)+a.gap);h.set(a.id,h.get(a.id)-1),0==h.get(a.id)&&n.push(a.id),c&&m.set(a.id,function(a,b){var c=new Set(a),d=!0,e=!1,f=void 0;try{for(var g,h=b[Symbol.iterator]();!(d=(g=h.next()).done);d=!0){var i=g.value;c.add(i)}}catch(a){e=!0,f=a}finally{try{!d&&h.return&&h.return()}finally{if(e)throw f}}return c}(m.get(d),m.get(a.id)))})}();if(c){var o=new Set;a.forEach(function(a,b){0==a.length&&o.add(b)});var p=[];m.forEach(function(a,b){if(o.has(b)){var e=!1,f=!0,g=!1,h=void 0;try{for(var i,j=a[Symbol.iterator]();!(f=(i=j.next()).done);f=!0){var k=i.value;c.has(k)&&(e=!0)}}catch(a){g=!0,h=a}finally{try{!f&&j.return&&j.return()}finally{if(g)throw h}}if(!e){var l=!1,m=void 0;p.forEach(function(b,c){b.has([].concat(d(a))[0])&&(l=!0,m=c)}),l?a.forEach(function(a){p[m].add(a)}):p.push(new Set(a))}}}),p.forEach(function(a,c){var d=1/0,f=1/0,g=-1/0,h=-1/0,m=!0,n=!1,o=void 0;try{for(var p,q=a[Symbol.iterator]();!(m=(p=q.next()).done);m=!0){var r=p.value,s=void 0;s="horizontal"==b?i.has(r)?j[i.get(r)]:e.get(r):i.has(r)?k[i.get(r)]:e.get(r);var t=l.get(r);s<d&&(d=s),s>g&&(g=s),t<f&&(f=t),t>h&&(h=t)}}catch(a){n=!0,o=a}finally{try{!m&&q.return&&q.return()}finally{if(n)throw o}}var u=(d+g)/2-(f+h)/2,v=!0,w=!1,x=void 0;try{for(var y,z=a[Symbol.iterator]();!(v=(y=z.next()).done);v=!0){var A=y.value;l.set(A,l.get(A)+u)}}catch(a){w=!0,x=a}finally{try{!v&&z.return&&z.return()}finally{if(w)throw x}}})}return l},r=function(a){var b=0,c=0,d=0,e=0;if(a.forEach(function(a){a.left?j[i.get(a.left)]-j[i.get(a.right)]>=0?b++:c++:k[i.get(a.top)]-k[i.get(a.bottom)]>=0?d++:e++}),b>c&&d>e)for(var f=0;f<i.size;f++)j[f]=-1*j[f],k[f]=-1*k[f];else if(b>c)for(var g=0;g<i.size;g++)j[g]=-1*j[g];else if(d>e)for(var h=0;h<i.size;h++)k[h]=-1*k[h]},s=function(a){var b=[],c=new f,d=new Set,e=0;return a.forEach(function(f,g){if(!d.has(g)){b[e]=[];var h=g;for(c.push(h),d.add(h),b[e].push(h);0!=c.length;)h=c.shift(),a.get(h).forEach(function(a){d.has(a.id)||(c.push(a.id),d.add(a.id),b[e].push(a.id))});e++}}),b},t=function(a){var b=new Map;return a.forEach(function(a,c){b.set(c,[])}),a.forEach(function(a,c){a.forEach(function(a){b.get(c).push(a),b.get(a.id).push({id:c,gap:a.gap,direction:a.direction})})}),b},u=function(a){var b=new Map;return a.forEach(function(a,c){b.set(c,[])}),a.forEach(function(a,c){a.forEach(function(a){b.get(a.id).push({id:c,gap:a.gap,direction:a.direction})})}),b},v=[],w=[],x=!1,y=!1,z=new Set,A=new Map,B=new Map,C=[];if(b.fixedNodeConstraint&&b.fixedNodeConstraint.forEach(function(a){z.add(a.nodeId)}),b.relativePlacementConstraint&&(b.relativePlacementConstraint.forEach(function(a){a.left?(A.has(a.left)?A.get(a.left).push({id:a.right,gap:a.gap,direction:"horizontal"}):A.set(a.left,[{id:a.right,gap:a.gap,direction:"horizontal"}]),A.has(a.right)||A.set(a.right,[])):(A.has(a.top)?A.get(a.top).push({id:a.bottom,gap:a.gap,direction:"vertical"}):A.set(a.top,[{id:a.bottom,gap:a.gap,direction:"vertical"}]),A.has(a.bottom)||A.set(a.bottom,[]))}),C=s(B=t(A))),e.TRANSFORM_ON_CONSTRAINT_HANDLING){if(b.fixedNodeConstraint&&b.fixedNodeConstraint.length>1)b.fixedNodeConstraint.forEach(function(a,b){v[b]=[a.position.x,a.position.y],w[b]=[j[i.get(a.nodeId)],k[i.get(a.nodeId)]]}),x=!0;else if(b.alignmentConstraint)!function(){var a=0;if(b.alignmentConstraint.vertical){for(var c=b.alignmentConstraint.vertical,e=0;e<c.length;e++)!function(b){var e=new Set;c[b].forEach(function(a){e.add(a)});var f=new Set([].concat(d(e)).filter(function(a){return z.has(a)})),g=void 0;g=f.size>0?j[i.get(f.values().next().value)]:p(e).x,c[b].forEach(function(b){v[a]=[g,k[i.get(b)]],w[a]=[j[i.get(b)],k[i.get(b)]],a++})}(e);x=!0}if(b.alignmentConstraint.horizontal){for(var f=b.alignmentConstraint.horizontal,g=0;g<f.length;g++)!function(b){var c=new Set;f[b].forEach(function(a){c.add(a)});var e=new Set([].concat(d(c)).filter(function(a){return z.has(a)})),g=void 0;g=e.size>0?j[i.get(e.values().next().value)]:p(c).y,f[b].forEach(function(b){v[a]=[j[i.get(b)],g],w[a]=[j[i.get(b)],k[i.get(b)]],a++})}(g);x=!0}b.relativePlacementConstraint&&(y=!0)}();else if(b.relativePlacementConstraint){for(var D=0,E=0,F=0;F<C.length;F++)C[F].length>D&&(D=C[F].length,E=F);if(D<B.size/2)r(b.relativePlacementConstraint),x=!1,y=!1;else{var G=new Map,H=new Map,I=[];C[E].forEach(function(a){A.get(a).forEach(function(b){"horizontal"==b.direction?(G.has(a)?G.get(a).push(b):G.set(a,[b]),G.has(b.id)||G.set(b.id,[]),I.push({left:a,right:b.id})):(H.has(a)?H.get(a).push(b):H.set(a,[b]),H.has(b.id)||H.set(b.id,[]),I.push({top:a,bottom:b.id}))})}),r(I),y=!1;var J=q(G,"horizontal"),K=q(H,"vertical");C[E].forEach(function(a,b){w[b]=[j[i.get(a)],k[i.get(a)]],v[b]=[],J.has(a)?v[b][0]=J.get(a):v[b][0]=j[i.get(a)],K.has(a)?v[b][1]=K.get(a):v[b][1]=k[i.get(a)]}),x=!0}}if(x){for(var L=void 0,M=g.transpose(v),N=g.transpose(w),O=0;O<M.length;O++)M[O]=g.multGamma(M[O]),N[O]=g.multGamma(N[O]);var P=g.multMat(M,g.transpose(N)),Q=h.svd(P);L=g.multMat(Q.V,g.transpose(Q.U));for(var R=0;R<i.size;R++){var S=[j[R],k[R]],T=[L[0][0],L[1][0]],U=[L[0][1],L[1][1]];j[R]=g.dotProduct(S,T),k[R]=g.dotProduct(S,U)}y&&r(b.relativePlacementConstraint)}}if(e.ENFORCE_CONSTRAINTS){if(b.fixedNodeConstraint&&b.fixedNodeConstraint.length>0){var V={x:0,y:0};b.fixedNodeConstraint.forEach(function(a,b){var c,d={x:j[i.get(a.nodeId)],y:k[i.get(a.nodeId)]},e=(c=a.position,{x:c.x-d.x,y:c.y-d.y});V.x+=e.x,V.y+=e.y}),V.x/=b.fixedNodeConstraint.length,V.y/=b.fixedNodeConstraint.length,j.forEach(function(a,b){j[b]+=V.x}),k.forEach(function(a,b){k[b]+=V.y}),b.fixedNodeConstraint.forEach(function(a){j[i.get(a.nodeId)]=a.position.x,k[i.get(a.nodeId)]=a.position.y})}if(b.alignmentConstraint){if(b.alignmentConstraint.vertical)for(var W=b.alignmentConstraint.vertical,X=0;X<W.length;X++)!function(a){var b=new Set;W[a].forEach(function(a){b.add(a)});var c=new Set([].concat(d(b)).filter(function(a){return z.has(a)})),e=void 0;e=c.size>0?j[i.get(c.values().next().value)]:p(b).x,b.forEach(function(a){z.has(a)||(j[i.get(a)]=e)})}(X);if(b.alignmentConstraint.horizontal)for(var Y=b.alignmentConstraint.horizontal,Z=0;Z<Y.length;Z++)!function(a){var b=new Set;Y[a].forEach(function(a){b.add(a)});var c=new Set([].concat(d(b)).filter(function(a){return z.has(a)})),e=void 0;e=c.size>0?k[i.get(c.values().next().value)]:p(b).y,b.forEach(function(a){z.has(a)||(k[i.get(a)]=e)})}(Z)}b.relativePlacementConstraint&&function(){var a=new Map,c=new Map,d=new Map,e=new Map,f=new Map,g=new Map,h=new Set,l=new Set;if(z.forEach(function(a){h.add(a),l.add(a)}),b.alignmentConstraint){if(b.alignmentConstraint.vertical)for(var m=b.alignmentConstraint.vertical,n=function(b){d.set("dummy"+b,[]),m[b].forEach(function(c){a.set(c,"dummy"+b),d.get("dummy"+b).push(c),z.has(c)&&h.add("dummy"+b)}),f.set("dummy"+b,j[i.get(m[b][0])])},o=0;o<m.length;o++)n(o);if(b.alignmentConstraint.horizontal)for(var p=b.alignmentConstraint.horizontal,r=function(a){e.set("dummy"+a,[]),p[a].forEach(function(b){c.set(b,"dummy"+a),e.get("dummy"+a).push(b),z.has(b)&&l.add("dummy"+a)}),g.set("dummy"+a,k[i.get(p[a][0])])},v=0;v<p.length;v++)r(v)}var w=new Map,x=new Map,y=function(b){A.get(b).forEach(function(d){var e=void 0,f=void 0;"horizontal"==d.direction?(e=a.get(b)?a.get(b):b,f=a.get(d.id)?{id:a.get(d.id),gap:d.gap,direction:d.direction}:d,w.has(e)?w.get(e).push(f):w.set(e,[f]),w.has(f.id)||w.set(f.id,[])):(e=c.get(b)?c.get(b):b,f=c.get(d.id)?{id:c.get(d.id),gap:d.gap,direction:d.direction}:d,x.has(e)?x.get(e).push(f):x.set(e,[f]),x.has(f.id)||x.set(f.id,[]))})},B=!0,C=!1,D=void 0;try{for(var E,F=A.keys()[Symbol.iterator]();!(B=(E=F.next()).done);B=!0){var G=E.value;y(G)}}catch(a){C=!0,D=a}finally{try{!B&&F.return&&F.return()}finally{if(C)throw D}}var H=t(w),I=t(x),J=s(H),K=s(I),L=u(w),M=u(x),N=[],O=[];J.forEach(function(a,b){N[b]=[],a.forEach(function(a){0==L.get(a).length&&N[b].push(a)})}),K.forEach(function(a,b){O[b]=[],a.forEach(function(a){0==M.get(a).length&&O[b].push(a)})});var P=q(w,"horizontal",h,f,N),Q=q(x,"vertical",l,g,O),R=function(a){d.get(a)?d.get(a).forEach(function(b){j[i.get(b)]=P.get(a)}):j[i.get(a)]=P.get(a)},S=!0,T=!1,U=void 0;try{for(var V,W=P.keys()[Symbol.iterator]();!(S=(V=W.next()).done);S=!0){var X=V.value;R(X)}}catch(a){T=!0,U=a}finally{try{!S&&W.return&&W.return()}finally{if(T)throw U}}var Y=function(a){e.get(a)?e.get(a).forEach(function(b){k[i.get(b)]=Q.get(a)}):k[i.get(a)]=Q.get(a)},Z=!0,$=!1,_=void 0;try{for(var aa,ab=Q.keys()[Symbol.iterator]();!(Z=(aa=ab.next()).done);Z=!0){var X=aa.value;Y(X)}}catch(a){$=!0,_=a}finally{try{!Z&&ab.return&&ab.return()}finally{if($)throw _}}}()}for(var $=0;$<l.length;$++){var _=l[$];null==_.getChild()&&_.setCenter(j[i.get(_.id)],k[i.get(_.id)])}},a.exports=i},551:a=>{a.exports=d}},b={};return function c(d){var e=b[d];if(void 0!==e)return e.exports;var f=b[d]={exports:{}};return a[d](f,f.exports,c),f.exports}(45)})()},92169:(a,b,c)=>{"use strict";c.d(b,{diagram:()=>aa});var d=c(4328),e=c(71904),f=c(59343),g=c(73669),h=c(64922),i=c(45313),j=c(58715),k=c(95097),l=c(92325),m=c(17307),n=c(18980),o=c(69085),p={L:"left",R:"right",T:"top",B:"bottom"},q={L:(0,k.K)(a=>`${a},${a/2} 0,${a} 0,0`,"L"),R:(0,k.K)(a=>`0,${a/2} ${a},0 ${a},${a}`,"R"),T:(0,k.K)(a=>`0,0 ${a},0 ${a/2},${a}`,"T"),B:(0,k.K)(a=>`${a/2},0 ${a},${a} 0,${a}`,"B")},r={L:(0,k.K)((a,b)=>a-b+2,"L"),R:(0,k.K)((a,b)=>a-2,"R"),T:(0,k.K)((a,b)=>a-b+2,"T"),B:(0,k.K)((a,b)=>a-2,"B")},s=(0,k.K)(function(a){return u(a)?"L"===a?"R":"L":"T"===a?"B":"T"},"getOppositeArchitectureDirection"),t=(0,k.K)(function(a){return"L"===a||"R"===a||"T"===a||"B"===a},"isArchitectureDirection"),u=(0,k.K)(function(a){return"L"===a||"R"===a},"isArchitectureDirectionX"),v=(0,k.K)(function(a){return"T"===a||"B"===a},"isArchitectureDirectionY"),w=(0,k.K)(function(a,b){let c=u(a)&&v(b),d=v(a)&&u(b);return c||d},"isArchitectureDirectionXY"),x=(0,k.K)(function(a){let b=a[0],c=a[1],d=u(b)&&v(c),e=v(b)&&u(c);return d||e},"isArchitecturePairXY"),y=(0,k.K)(function(a){return"LL"!==a&&"RR"!==a&&"TT"!==a&&"BB"!==a},"isValidArchitectureDirectionPair"),z=(0,k.K)(function(a,b){let c=`${a}${b}`;return y(c)?c:void 0},"getArchitectureDirectionPair"),A=(0,k.K)(function([a,b],c){let d=c[0],e=c[1];if(u(d))if(v(e))return[a+("L"===d?-1:1),b+("T"===e?1:-1)];else return[a+("L"===d?-1:1),b];return u(e)?[a+("L"===e?1:-1),b+("T"===d?1:-1)]:[a,b+("T"===d?1:-1)]},"shiftPositionByArchitectureDirectionPair"),B=(0,k.K)(function(a){return"LT"===a||"TL"===a?[1,1]:"BL"===a||"LB"===a?[1,-1]:"BR"===a||"RB"===a?[-1,-1]:[-1,1]},"getArchitectureDirectionXYFactors"),C=(0,k.K)(function(a,b){return w(a,b)?"bend":u(a)?"horizontal":"vertical"},"getArchitectureDirectionAlignment"),D=(0,k.K)(function(a){return"service"===a.type},"isArchitectureService"),E=(0,k.K)(function(a){return"junction"===a.type},"isArchitectureJunction"),F=(0,k.K)((a,b)=>{let[c,d]=[a,b].sort();return`${JSON.stringify(c)}-${JSON.stringify(d)}`},"architectureGroupAlignmentKey"),G=(0,k.K)(a=>a.data(),"edgeData"),H=(0,k.K)(a=>a.data(),"nodeData"),I=i.UI.architecture,J=class{constructor(){this.nodes=new Map,this.groups=new Map,this.edges=[],this.layoutHints=[],this.registeredIds=new Map,this.elements=new Map,this.diagramId="",this.setAccTitle=i.SV,this.getAccTitle=i.iN,this.setDiagramTitle=i.ke,this.getDiagramTitle=i.ab,this.getAccDescription=i.m7,this.setAccDescription=i.EI,this.clear()}static{(0,k.K)(this,"ArchitectureDB")}setDiagramId(a){this.diagramId=a}getDiagramId(){return this.diagramId}clear(){this.nodes=new Map,this.groups=new Map,this.edges=[],this.layoutHints=[],this.registeredIds=new Map,this.dataStructures=void 0,this.elements=new Map,this.diagramId="",(0,i.IU)()}addService({id:a,icon:b,in:c,title:d,iconText:e}){if(this.registeredIds.has(a))throw Error(`The service id [${a}] is already in use by another ${this.registeredIds.get(a)}`);if(void 0!==c){if(a===c)throw Error(`The service [${a}] cannot be placed within itself`);if(!this.registeredIds.has(c))throw Error(`The service [${a}]'s parent does not exist. Please make sure the parent is created before this service`);if("node"===this.registeredIds.get(c))throw Error(`The service [${a}]'s parent is not a group`)}this.registeredIds.set(a,"node"),this.nodes.set(a,{id:a,type:"service",icon:b,iconText:e,title:d,edges:[],in:c})}getServices(){return[...this.nodes.values()].filter(D)}addJunction({id:a,in:b}){if(this.registeredIds.has(a))throw Error(`The junction id [${a}] is already in use by another ${this.registeredIds.get(a)}`);if(void 0!==b){if(a===b)throw Error(`The junction [${a}] cannot be placed within itself`);if(!this.registeredIds.has(b))throw Error(`The junction [${a}]'s parent does not exist. Please make sure the parent is created before this junction`);if("node"===this.registeredIds.get(b))throw Error(`The junction [${a}]'s parent is not a group`)}this.registeredIds.set(a,"node"),this.nodes.set(a,{id:a,type:"junction",edges:[],in:b})}getJunctions(){return[...this.nodes.values()].filter(E)}getNodes(){return[...this.nodes.values()]}getNode(a){return this.nodes.get(a)??null}addGroup({id:a,icon:b,in:c,title:d}){if(this.registeredIds.has(a))throw Error(`The group id [${a}] is already in use by another ${this.registeredIds.get(a)}`);if(void 0!==c){if(a===c)throw Error(`The group [${a}] cannot be placed within itself`);if(!this.registeredIds.has(c))throw Error(`The group [${a}]'s parent does not exist. Please make sure the parent is created before this group`);if("node"===this.registeredIds.get(c))throw Error(`The group [${a}]'s parent is not a group`)}this.registeredIds.set(a,"group"),this.groups.set(a,{id:a,icon:b,title:d,in:c})}getGroups(){return[...this.groups.values()]}addEdge({lhsId:a,rhsId:b,lhsDir:c,rhsDir:d,lhsInto:e,rhsInto:f,lhsGroup:g,rhsGroup:h,title:i}){if(!t(c))throw Error(`Invalid direction given for left hand side of edge ${a}--${b}. Expected (L,R,T,B) got ${String(c)}`);if(!t(d))throw Error(`Invalid direction given for right hand side of edge ${a}--${b}. Expected (L,R,T,B) got ${String(d)}`);if(!this.nodes.has(a)&&!this.groups.has(a))throw Error(`The left-hand id [${a}] does not yet exist. Please create the service/group before declaring an edge to it.`);if(!this.nodes.has(b)&&!this.groups.has(b))throw Error(`The right-hand id [${b}] does not yet exist. Please create the service/group before declaring an edge to it.`);let j=this.nodes.get(a).in,k=this.nodes.get(b).in;if(g&&j&&k&&j==k)throw Error(`The left-hand id [${a}] is modified to traverse the group boundary, but the edge does not pass through two groups.`);if(h&&j&&k&&j==k)throw Error(`The right-hand id [${b}] is modified to traverse the group boundary, but the edge does not pass through two groups.`);this.edges.push({lhsId:a,lhsDir:c,lhsInto:e,lhsGroup:g,rhsId:b,rhsDir:d,rhsInto:f,rhsGroup:h,title:i});let l=this.nodes.get(a),m=this.nodes.get(b);l&&m&&(l.edges.push(this.edges[this.edges.length-1]),m.edges.push(this.edges[this.edges.length-1]))}getEdges(){return this.edges}addLayoutHint(a){if(a.members.length<2)throw Error(`An align directive requires at least two members; got ${a.members.length}`);let b=new Set;a.members.forEach(c=>{if("node"!==this.registeredIds.get(c))throw Error(`align ${a.direction} references [${c}], which is not a service or junction`);if(b.has(c))throw Error(`align ${a.direction} lists [${c}] more than once`);b.add(c)}),this.layoutHints.push(a)}getLayoutHints(){return this.layoutHints}getDataStructures(){if(void 0===this.dataStructures){let a=new Map,b=new Map;for(let[c,d]of this.nodes.entries()){let e=new Map;for(let b of d.edges){let d=this.getNode(b.lhsId)?.in,f=this.getNode(b.rhsId)?.in;if(d&&f&&d!==f){let c=C(b.lhsDir,b.rhsDir);"bend"!==c&&a.set(F(d,f),c)}if(b.lhsId===c){let a=z(b.lhsDir,b.rhsDir);a&&e.set(a,b.rhsId)}else{let a=z(b.rhsDir,b.lhsDir);a&&e.set(a,b.lhsId)}}b.set(c,e)}let c=new Set,d=new Set(b.keys()),e=(0,k.K)(a=>{let e=new Map([[a,[0,0]]]),f=[a];for(;f.length>0;){let a=f.shift();if(a){c.add(a),d.delete(a);let g=b.get(a);if(!g)throw Error(`BFS error: adjacency list for id ${a} not found. Please report this as a bug.`);let h=e.get(a);if(!h)throw Error(`BFS error: position for id ${a} not found in spatial map. Please report this as a bug.`);let[i,j]=h;g.forEach((a,b)=>{c.has(a)||(e.set(a,A([i,j],b)),f.push(a))})}}return e},"BFS"),f=[];for(;d.size>0;){let a=d.values().next().value;f.push(e(a))}this.dataStructures={adjList:b,spatialMaps:f,groupAlignments:a}}return this.dataStructures}setElementForId(a,b){this.elements.set(a,b)}getElementById(a){return this.elements.get(a)}getConfig(){return(0,h.$t)({...I,...(0,i.zj)().architecture})}getConfigField(a){return this.getConfig()[a]}},K=(0,k.K)((a,b)=>{(0,d.S)(a,b),a.groups.map(a=>b.addGroup(a)),a.services.map(a=>b.addService({...a,type:"service"})),a.junctions.map(a=>b.addJunction({...a,type:"junction"})),a.edges.map(a=>b.addEdge(a)),a.alignments?.map(a=>b.addLayoutHint({direction:a.direction,members:[...a.members]}))},"populateDb"),L={parser:{yy:void 0},parse:(0,k.K)(async a=>{let b=await (0,l.qg)("architecture",a);j.R.debug(b);let c=L.parser?.yy;if(!(c instanceof J))throw Error("parser.parser?.yy was not a ArchitectureDB. This is due to a bug within Mermaid, please report this issue at https://github.com/mermaid-js/mermaid/issues.");K(b,c)},"parse")},M=(0,k.K)(a=>`
1
+ exports.id=2169,exports.ids=[2169],exports.modules={4328:(a,b,c)=>{"use strict";function d(a,b){a.accDescr&&b.setAccDescription?.(a.accDescr),a.accTitle&&b.setAccTitle?.(a.accTitle),a.title&&b.setDiagramTitle?.(a.title)}c.d(b,{S:()=>d}),(0,c(95097).K)(d,"populateCommonDb")},18980:function(a,b,c){var d;d=c(50980),a.exports=(()=>{"use strict";var a={658:a=>{a.exports=null!=Object.assign?Object.assign.bind(Object):function(a){for(var b=arguments.length,c=Array(b>1?b-1:0),d=1;d<b;d++)c[d-1]=arguments[d];return c.forEach(function(b){Object.keys(b).forEach(function(c){return a[c]=b[c]})}),a}},548:(a,b,c)=>{var d=function(a,b){if(Array.isArray(a))return a;if(Symbol.iterator in Object(a))return function(a,b){var c=[],d=!0,e=!1,f=void 0;try{for(var g,h=a[Symbol.iterator]();!(d=(g=h.next()).done)&&(c.push(g.value),!b||c.length!==b);d=!0);}catch(a){e=!0,f=a}finally{try{!d&&h.return&&h.return()}finally{if(e)throw f}}return c}(a,b);throw TypeError("Invalid attempt to destructure non-iterable instance")},e=c(140).layoutBase.LinkedList,f={};f.getTopMostNodes=function(a){for(var b={},c=0;c<a.length;c++)b[a[c].id()]=!0;return a.filter(function(a,c){"number"==typeof a&&(a=c);for(var d=a.parent()[0];null!=d;){if(b[d.id()])return!1;d=d.parent()[0]}return!0})},f.connectComponents=function(a,b,c,d){var f=new e,g=new Set,h=[],i=void 0,j=void 0,k=void 0,l=!1,m=1,n=[],o=[];do!function(){var d=a.collection();o.push(d);var e=c[0],p=a.collection();for(p.merge(e).merge(e.descendants().intersection(b)),h.push(e),p.forEach(function(a){f.push(a),g.add(a),d.merge(a)});0!=f.length;)!function(){e=f.shift();var j=a.collection();e.neighborhood().nodes().forEach(function(a){b.intersection(e.edgesWith(a)).length>0&&j.merge(a)});for(var k=0;k<j.length;k++){var l=j[k];null==(i=c.intersection(l.union(l.ancestors())))||g.has(i[0])||i.union(i.descendants()).forEach(function(a){f.push(a),g.add(a),d.merge(a),c.has(a)&&h.push(a)})}}();if(d.forEach(function(a){b.intersection(a.connectedEdges()).forEach(function(a){d.has(a.source())&&d.has(a.target())&&d.merge(a)})}),h.length==c.length&&(l=!0),!l||l&&m>1){k=(j=h[0]).connectedEdges().length,h.forEach(function(a){a.connectedEdges().length<k&&(k=a.connectedEdges().length,j=a)}),n.push(j.id());var q=a.collection();q.merge(h[0]),h.forEach(function(a){q.merge(a)}),h=[],c=c.difference(q),m++}}();while(!l);return d&&n.length>0&&d.set("dummy"+(d.size+1),n),o},f.relocateComponent=function(a,b,c){if(!c.fixedNodeConstraint){var e=1/0,f=-1/0,g=1/0,h=-1/0;if("draft"==c.quality){var i=!0,j=!1,k=void 0;try{for(var l,m=b.nodeIndexes[Symbol.iterator]();!(i=(l=m.next()).done);i=!0){var n=l.value,o=d(n,2),p=o[0],q=o[1],r=c.cy.getElementById(p);if(r){var s=r.boundingBox(),t=b.xCoords[q]-s.w/2,u=b.xCoords[q]+s.w/2,v=b.yCoords[q]-s.h/2,w=b.yCoords[q]+s.h/2;t<e&&(e=t),u>f&&(f=u),v<g&&(g=v),w>h&&(h=w)}}}catch(a){j=!0,k=a}finally{try{!i&&m.return&&m.return()}finally{if(j)throw k}}var x=a.x-(f+e)/2,y=a.y-(h+g)/2;b.xCoords=b.xCoords.map(function(a){return a+x}),b.yCoords=b.yCoords.map(function(a){return a+y})}else{Object.keys(b).forEach(function(a){var c=b[a],d=c.getRect().x,i=c.getRect().x+c.getRect().width,j=c.getRect().y,k=c.getRect().y+c.getRect().height;d<e&&(e=d),i>f&&(f=i),j<g&&(g=j),k>h&&(h=k)});var z=a.x-(f+e)/2,A=a.y-(h+g)/2;Object.keys(b).forEach(function(a){var c=b[a];c.setCenter(c.getCenterX()+z,c.getCenterY()+A)})}}},f.calcBoundingBox=function(a,b,c,d){for(var e=Number.MAX_SAFE_INTEGER,f=Number.MIN_SAFE_INTEGER,g=Number.MAX_SAFE_INTEGER,h=Number.MIN_SAFE_INTEGER,i=void 0,j=void 0,k=void 0,l=void 0,m=a.descendants().not(":parent"),n=m.length,o=0;o<n;o++){var p=m[o];i=b[d.get(p.id())]-p.width()/2,j=b[d.get(p.id())]+p.width()/2,k=c[d.get(p.id())]-p.height()/2,l=c[d.get(p.id())]+p.height()/2,e>i&&(e=i),f<j&&(f=j),g>k&&(g=k),h<l&&(h=l)}var q={};return q.topLeftX=e,q.topLeftY=g,q.width=f-e,q.height=h-g,q},f.calcParentsWithoutChildren=function(a,b){var c=a.collection();return b.nodes(":parent").forEach(function(a){var b=!1;a.children().forEach(function(a){"none"!=a.css("display")&&(b=!0)}),b||c.merge(a)}),c},a.exports=f},816:(a,b,c)=>{var d=c(548),e=c(140).CoSELayout,f=c(140).CoSENode,g=c(140).layoutBase.PointD,h=c(140).layoutBase.DimensionD,i=c(140).layoutBase.LayoutConstants,j=c(140).layoutBase.FDLayoutConstants,k=c(140).CoSEConstants;a.exports={coseLayout:function(a,b){var c=a.cy,l=a.eles,m=l.nodes(),n=l.edges(),o=void 0,p=void 0,q=void 0,r={};a.randomize&&(o=b.nodeIndexes,p=b.xCoords,q=b.yCoords);var s=function(a){return"function"==typeof a},t=function(a,b){return s(a)?a(b):a},u=d.calcParentsWithoutChildren(c,l);null!=a.nestingFactor&&(k.PER_LEVEL_IDEAL_EDGE_LENGTH_FACTOR=j.PER_LEVEL_IDEAL_EDGE_LENGTH_FACTOR=a.nestingFactor),null!=a.gravity&&(k.DEFAULT_GRAVITY_STRENGTH=j.DEFAULT_GRAVITY_STRENGTH=a.gravity),null!=a.numIter&&(k.MAX_ITERATIONS=j.MAX_ITERATIONS=a.numIter),null!=a.gravityRange&&(k.DEFAULT_GRAVITY_RANGE_FACTOR=j.DEFAULT_GRAVITY_RANGE_FACTOR=a.gravityRange),null!=a.gravityCompound&&(k.DEFAULT_COMPOUND_GRAVITY_STRENGTH=j.DEFAULT_COMPOUND_GRAVITY_STRENGTH=a.gravityCompound),null!=a.gravityRangeCompound&&(k.DEFAULT_COMPOUND_GRAVITY_RANGE_FACTOR=j.DEFAULT_COMPOUND_GRAVITY_RANGE_FACTOR=a.gravityRangeCompound),null!=a.initialEnergyOnIncremental&&(k.DEFAULT_COOLING_FACTOR_INCREMENTAL=j.DEFAULT_COOLING_FACTOR_INCREMENTAL=a.initialEnergyOnIncremental),null!=a.tilingCompareBy&&(k.TILING_COMPARE_BY=a.tilingCompareBy),"proof"==a.quality?i.QUALITY=2:i.QUALITY=0,k.NODE_DIMENSIONS_INCLUDE_LABELS=j.NODE_DIMENSIONS_INCLUDE_LABELS=i.NODE_DIMENSIONS_INCLUDE_LABELS=a.nodeDimensionsIncludeLabels,k.DEFAULT_INCREMENTAL=j.DEFAULT_INCREMENTAL=i.DEFAULT_INCREMENTAL=!a.randomize,k.ANIMATE=j.ANIMATE=i.ANIMATE=a.animate,k.TILE=a.tile,k.TILING_PADDING_VERTICAL="function"==typeof a.tilingPaddingVertical?a.tilingPaddingVertical.call():a.tilingPaddingVertical,k.TILING_PADDING_HORIZONTAL="function"==typeof a.tilingPaddingHorizontal?a.tilingPaddingHorizontal.call():a.tilingPaddingHorizontal,k.DEFAULT_INCREMENTAL=j.DEFAULT_INCREMENTAL=i.DEFAULT_INCREMENTAL=!0,k.PURE_INCREMENTAL=!a.randomize,i.DEFAULT_UNIFORM_LEAF_NODE_SIZES=a.uniformNodeDimensions,"transformed"==a.step&&(k.TRANSFORM_ON_CONSTRAINT_HANDLING=!0,k.ENFORCE_CONSTRAINTS=!1,k.APPLY_LAYOUT=!1),"enforced"==a.step&&(k.TRANSFORM_ON_CONSTRAINT_HANDLING=!1,k.ENFORCE_CONSTRAINTS=!0,k.APPLY_LAYOUT=!1),"cose"==a.step&&(k.TRANSFORM_ON_CONSTRAINT_HANDLING=!1,k.ENFORCE_CONSTRAINTS=!1,k.APPLY_LAYOUT=!0),"all"==a.step&&(a.randomize?k.TRANSFORM_ON_CONSTRAINT_HANDLING=!0:k.TRANSFORM_ON_CONSTRAINT_HANDLING=!1,k.ENFORCE_CONSTRAINTS=!0,k.APPLY_LAYOUT=!0),a.fixedNodeConstraint||a.alignmentConstraint||a.relativePlacementConstraint?k.TREE_REDUCTION_ON_INCREMENTAL=!1:k.TREE_REDUCTION_ON_INCREMENTAL=!0;var v=new e,w=v.newGraphManager();return!function a(b,c,e,i){for(var j=c.length,k=0;k<j;k++){var l=c[k],m=null;0==l.intersection(u).length&&(m=l.children());var n=void 0,s=l.layoutDimensions({nodeDimensionsIncludeLabels:i.nodeDimensionsIncludeLabels});if(null!=l.outerWidth()&&null!=l.outerHeight())if(i.randomize)if(l.isParent()){var v=d.calcBoundingBox(l,p,q,o);n=0==l.intersection(u).length?b.add(new f(e.graphManager,new g(v.topLeftX,v.topLeftY),new h(v.width,v.height))):b.add(new f(e.graphManager,new g(v.topLeftX,v.topLeftY),new h(parseFloat(s.w),parseFloat(s.h))))}else n=b.add(new f(e.graphManager,new g(p[o.get(l.id())]-s.w/2,q[o.get(l.id())]-s.h/2),new h(parseFloat(s.w),parseFloat(s.h))));else n=b.add(new f(e.graphManager,new g(l.position("x")-s.w/2,l.position("y")-s.h/2),new h(parseFloat(s.w),parseFloat(s.h))));else n=b.add(new f(this.graphManager));(n.id=l.data("id"),n.nodeRepulsion=t(i.nodeRepulsion,l),n.paddingLeft=parseInt(l.css("padding")),n.paddingTop=parseInt(l.css("padding")),n.paddingRight=parseInt(l.css("padding")),n.paddingBottom=parseInt(l.css("padding")),i.nodeDimensionsIncludeLabels&&(n.labelWidth=l.boundingBox({includeLabels:!0,includeNodes:!1,includeOverlays:!1}).w,n.labelHeight=l.boundingBox({includeLabels:!0,includeNodes:!1,includeOverlays:!1}).h,n.labelPosVertical=l.css("text-valign"),n.labelPosHorizontal=l.css("text-halign")),r[l.data("id")]=n,isNaN(n.rect.x)&&(n.rect.x=0),isNaN(n.rect.y)&&(n.rect.y=0),null!=m&&m.length>0)&&a(e.getGraphManager().add(e.newGraph(),n),m,e,i)}}(w.addRoot(),d.getTopMostNodes(m),v,a),!function(b,c,d){for(var e=0,f=0,g=0;g<d.length;g++){var h=d[g],i=r[h.data("source")],l=r[h.data("target")];if(i&&l&&i!==l&&0==i.getEdgesBetween(l).length){var m=c.add(b.newEdge(),i,l);m.id=h.id(),m.idealLength=t(a.idealEdgeLength,h),m.edgeElasticity=t(a.edgeElasticity,h),e+=m.idealLength,f++}}null!=a.idealEdgeLength&&(f>0?k.DEFAULT_EDGE_LENGTH=j.DEFAULT_EDGE_LENGTH=e/f:s(a.idealEdgeLength)?k.DEFAULT_EDGE_LENGTH=j.DEFAULT_EDGE_LENGTH=50:k.DEFAULT_EDGE_LENGTH=j.DEFAULT_EDGE_LENGTH=a.idealEdgeLength,k.MIN_REPULSION_DIST=j.MIN_REPULSION_DIST=j.DEFAULT_EDGE_LENGTH/10,k.DEFAULT_RADIAL_SEPARATION=j.DEFAULT_EDGE_LENGTH)}(v,w,n),a.fixedNodeConstraint&&(v.constraints.fixedNodeConstraint=a.fixedNodeConstraint),a.alignmentConstraint&&(v.constraints.alignmentConstraint=a.alignmentConstraint),a.relativePlacementConstraint&&(v.constraints.relativePlacementConstraint=a.relativePlacementConstraint),v.runLayout(),r}}},212:(a,b,c)=>{var d=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1,d.configurable=!0,"value"in d&&(d.writable=!0),Object.defineProperty(a,d.key,d)}}return function(b,c,d){return c&&a(b.prototype,c),d&&a(b,d),b}}(),e=c(658),f=c(548),g=c(657).spectralLayout,h=c(816).coseLayout,i=Object.freeze({quality:"default",randomize:!0,animate:!0,animationDuration:1e3,animationEasing:void 0,fit:!0,padding:30,nodeDimensionsIncludeLabels:!1,uniformNodeDimensions:!1,packComponents:!0,step:"all",samplingType:!0,sampleSize:25,nodeSeparation:75,piTol:1e-7,nodeRepulsion:function(a){return 4500},idealEdgeLength:function(a){return 50},edgeElasticity:function(a){return .45},nestingFactor:.1,gravity:.25,numIter:2500,tile:!0,tilingCompareBy:void 0,tilingPaddingVertical:10,tilingPaddingHorizontal:10,gravityRangeCompound:1.5,gravityCompound:1,gravityRange:3.8,initialEnergyOnIncremental:.3,fixedNodeConstraint:void 0,alignmentConstraint:void 0,relativePlacementConstraint:void 0,ready:function(){},stop:function(){}});a.exports=function(){function a(b){if(!(this instanceof a))throw TypeError("Cannot call a class as a function");this.options=e({},i,b)}return d(a,[{key:"run",value:function(){var a=this.options,b=a.cy,c=a.eles,d=[],e=[],i=void 0,j=[];a.fixedNodeConstraint&&(!Array.isArray(a.fixedNodeConstraint)||0==a.fixedNodeConstraint.length)&&(a.fixedNodeConstraint=void 0),a.alignmentConstraint&&(a.alignmentConstraint.vertical&&(!Array.isArray(a.alignmentConstraint.vertical)||0==a.alignmentConstraint.vertical.length)&&(a.alignmentConstraint.vertical=void 0),a.alignmentConstraint.horizontal&&(!Array.isArray(a.alignmentConstraint.horizontal)||0==a.alignmentConstraint.horizontal.length)&&(a.alignmentConstraint.horizontal=void 0)),a.relativePlacementConstraint&&(!Array.isArray(a.relativePlacementConstraint)||0==a.relativePlacementConstraint.length)&&(a.relativePlacementConstraint=void 0),(a.fixedNodeConstraint||a.alignmentConstraint||a.relativePlacementConstraint)&&(a.tile=!1,a.packComponents=!1);var k=void 0,l=!1;if(b.layoutUtilities&&a.packComponents&&((k=b.layoutUtilities("get"))||(k=b.layoutUtilities()),l=!0),c.nodes().length>0)if(l){var m=f.getTopMostNodes(a.eles.nodes());if((i=f.connectComponents(b,a.eles,m)).forEach(function(a){var b=a.boundingBox();j.push({x:b.x1+b.w/2,y:b.y1+b.h/2})}),a.randomize&&i.forEach(function(b){a.eles=b,d.push(g(a))}),"default"==a.quality||"proof"==a.quality){var n=b.collection();if(a.tile){var o=new Map,p=0,q={nodeIndexes:o,xCoords:[],yCoords:[]},r=[];if(i.forEach(function(a,b){0==a.edges().length&&(a.nodes().forEach(function(b,c){n.merge(a.nodes()[c]),b.isParent()||(q.nodeIndexes.set(a.nodes()[c].id(),p++),q.xCoords.push(a.nodes()[0].position().x),q.yCoords.push(a.nodes()[0].position().y))}),r.push(b))}),n.length>1){var s=n.boundingBox();j.push({x:s.x1+s.w/2,y:s.y1+s.h/2}),i.push(n),d.push(q);for(var t=r.length-1;t>=0;t--)i.splice(r[t],1),d.splice(r[t],1),j.splice(r[t],1)}}i.forEach(function(b,c){a.eles=b,e.push(h(a,d[c])),f.relocateComponent(j[c],e[c],a)})}else i.forEach(function(b,c){f.relocateComponent(j[c],d[c],a)});var u=new Set;if(i.length>1){var v=[],w=c.filter(function(a){return"none"==a.css("display")});i.forEach(function(b,c){var g=void 0;if("draft"==a.quality&&(g=d[c].nodeIndexes),b.nodes().not(w).length>0){var h={};h.edges=[],h.nodes=[];var i=void 0;b.nodes().not(w).forEach(function(b){if("draft"==a.quality)if(b.isParent()){var j=f.calcBoundingBox(b,d[c].xCoords,d[c].yCoords,g);h.nodes.push({x:j.topLeftX,y:j.topLeftY,width:j.width,height:j.height})}else i=g.get(b.id()),h.nodes.push({x:d[c].xCoords[i]-b.boundingbox().w/2,y:d[c].yCoords[i]-b.boundingbox().h/2,width:b.boundingbox().w,height:b.boundingbox().h});else e[c][b.id()]&&h.nodes.push({x:e[c][b.id()].getLeft(),y:e[c][b.id()].getTop(),width:e[c][b.id()].getWidth(),height:e[c][b.id()].getHeight()})}),b.edges().forEach(function(b){var i=b.source(),j=b.target();if("none"!=i.css("display")&&"none"!=j.css("display"))if("draft"==a.quality){var k=g.get(i.id()),l=g.get(j.id()),m=[],n=[];if(i.isParent()){var o=f.calcBoundingBox(i,d[c].xCoords,d[c].yCoords,g);m.push(o.topLeftX+o.width/2),m.push(o.topLeftY+o.height/2)}else m.push(d[c].xCoords[k]),m.push(d[c].yCoords[k]);if(j.isParent()){var p=f.calcBoundingBox(j,d[c].xCoords,d[c].yCoords,g);n.push(p.topLeftX+p.width/2),n.push(p.topLeftY+p.height/2)}else n.push(d[c].xCoords[l]),n.push(d[c].yCoords[l]);h.edges.push({startX:m[0],startY:m[1],endX:n[0],endY:n[1]})}else e[c][i.id()]&&e[c][j.id()]&&h.edges.push({startX:e[c][i.id()].getCenterX(),startY:e[c][i.id()].getCenterY(),endX:e[c][j.id()].getCenterX(),endY:e[c][j.id()].getCenterY()})}),h.nodes.length>0&&(v.push(h),u.add(c))}});var x=k.packComponents(v,a.randomize).shifts;if("draft"==a.quality)d.forEach(function(a,b){var c=a.xCoords.map(function(a){return a+x[b].dx}),d=a.yCoords.map(function(a){return a+x[b].dy});a.xCoords=c,a.yCoords=d});else{var y=0;u.forEach(function(a){Object.keys(e[a]).forEach(function(b){var c=e[a][b];c.setCenter(c.getCenterX()+x[y].dx,c.getCenterY()+x[y].dy)}),y++})}}}else{var z=a.eles.boundingBox();if(j.push({x:z.x1+z.w/2,y:z.y1+z.h/2}),a.randomize){var A=g(a);d.push(A)}"default"==a.quality||"proof"==a.quality?(e.push(h(a,d[0])),f.relocateComponent(j[0],e[0],a)):f.relocateComponent(j[0],d[0],a)}var B=function(b,c){if("default"==a.quality||"proof"==a.quality){"number"==typeof b&&(b=c);var f=void 0,g=void 0,h=b.data("id");return e.forEach(function(a){h in a&&(f={x:a[h].getRect().getCenterX(),y:a[h].getRect().getCenterY()},g=a[h])}),a.nodeDimensionsIncludeLabels&&(g.labelWidth&&("left"==g.labelPosHorizontal?f.x+=g.labelWidth/2:"right"==g.labelPosHorizontal&&(f.x-=g.labelWidth/2)),g.labelHeight&&("top"==g.labelPosVertical?f.y+=g.labelHeight/2:"bottom"==g.labelPosVertical&&(f.y-=g.labelHeight/2))),void 0==f&&(f={x:b.position("x"),y:b.position("y")}),{x:f.x,y:f.y}}var i=void 0;return d.forEach(function(a){var c=a.nodeIndexes.get(b.id());void 0!=c&&(i={x:a.xCoords[c],y:a.yCoords[c]})}),void 0==i&&(i={x:b.position("x"),y:b.position("y")}),{x:i.x,y:i.y}};if("default"==a.quality||"proof"==a.quality||a.randomize){var C=f.calcParentsWithoutChildren(b,c),D=c.filter(function(a){return"none"==a.css("display")});a.eles=c.not(D),c.nodes().not(":parent").not(D).layoutPositions(this,a,B),C.length>0&&C.forEach(function(a){a.position(B(a))})}else console.log("If randomize option is set to false, then quality option must be 'default' or 'proof'.")}}]),a}()},657:(a,b,c)=>{var d=c(548),e=c(140).layoutBase.Matrix,f=c(140).layoutBase.SVD;a.exports={spectralLayout:function(a){var b=a.cy,c=a.eles,g=c.nodes(),h=c.nodes(":parent"),i=new Map,j=new Map,k=new Map,l=[],m=[],n=[],o=[],p=[],q=[],r=[],s=[],t=void 0,u=a.piTol,v=a.samplingType,w=a.nodeSeparation,x=void 0,y=function(){for(var a=0,b=0,c=!1;b<x;){a=Math.floor(Math.random()*t),c=!1;for(var d=0;d<b;d++)if(o[d]==a){c=!0;break}!c&&(o[b]=a,b++)}},z=function(a,b,c){for(var d=[],e=0,f=0,g=0,h=void 0,i=[],k=0,m=1,n=0;n<t;n++)i[n]=1e8;for(d[f]=a,i[a]=0;f>=e;){for(var o=l[g=d[e++]],r=0;r<o.length;r++)1e8==i[h=j.get(o[r])]&&(i[h]=i[g]+1,d[++f]=h);q[g][b]=i[g]*w}if(c){for(var s=0;s<t;s++)q[s][b]<p[s]&&(p[s]=q[s][b]);for(var u=0;u<t;u++)p[u]>k&&(k=p[u],m=u)}return m};d.connectComponents(b,c,d.getTopMostNodes(g),i),h.forEach(function(a){d.connectComponents(b,c,d.getTopMostNodes(a.descendants().intersection(c)),i)});for(var A=0,B=0;B<g.length;B++)g[B].isParent()||j.set(g[B].id(),A++);var C=!0,D=!1,E=void 0;try{for(var F,G=i.keys()[Symbol.iterator]();!(C=(F=G.next()).done);C=!0){var H=F.value;j.set(H,A++)}}catch(a){D=!0,E=a}finally{try{!C&&G.return&&G.return()}finally{if(D)throw E}}for(var I=0;I<j.size;I++)l[I]=[];h.forEach(function(a){for(var b=a.children().intersection(c);0==b.nodes(":childless").length;)b=b.nodes()[0].children().intersection(c);var d=0,e=b.nodes(":childless")[0].connectedEdges().length;b.nodes(":childless").forEach(function(a,b){a.connectedEdges().length<e&&(e=a.connectedEdges().length,d=b)}),k.set(a.id(),b.nodes(":childless")[d].id())}),g.forEach(function(a){var b=void 0;b=a.isParent()?j.get(k.get(a.id())):j.get(a.id()),a.neighborhood().nodes().forEach(function(d){c.intersection(a.edgesWith(d)).length>0&&(d.isParent()?l[b].push(k.get(d.id())):l[b].push(d.id()))})});var J=function(a){var c=j.get(a),d=void 0;i.get(a).forEach(function(e){d=b.getElementById(e).isParent()?k.get(e):e,l[c].push(d),l[j.get(d)].push(a)})},K=!0,L=!1,M=void 0;try{for(var N,O=i.keys()[Symbol.iterator]();!(K=(N=O.next()).done);K=!0){var P=N.value;J(P)}}catch(a){L=!0,M=a}finally{try{!K&&O.return&&O.return()}finally{if(L)throw M}}t=j.size;if(t>2){x=t<a.sampleSize?t:a.sampleSize;for(var Q=0;Q<t;Q++)q[Q]=[];for(var R=0;R<x;R++)s[R]=[];return"draft"==a.quality||"all"==a.step?(!function(a){var b=void 0;if(a){b=Math.floor(Math.random()*t);for(var c=0;c<t;c++)p[c]=1e8;for(var d=0;d<x;d++)o[d]=b,b=z(b,d,a)}else{y();for(var e=0;e<x;e++)z(o[e],e,a)}for(var f=0;f<t;f++)for(var g=0;g<x;g++)q[f][g]*=q[f][g];for(var h=0;h<x;h++)r[h]=[];for(var i=0;i<x;i++)for(var j=0;j<x;j++)r[i][j]=q[o[j]][i]}(v),!function(){for(var a=f.svd(r),b=a.S,c=a.U,d=a.V,g=b[0]*b[0]*b[0],h=[],i=0;i<x;i++){h[i]=[];for(var j=0;j<x;j++)h[i][j]=0,i==j&&(h[i][j]=b[i]/(b[i]*b[i]+g/(b[i]*b[i])))}s=e.multMat(e.multMat(d,h),e.transpose(c))}(),!function(){for(var a=void 0,b=void 0,c=[],d=[],f=[],g=[],h=0;h<t;h++)c[h]=Math.random(),d[h]=Math.random();c=e.normalize(c),d=e.normalize(d);for(var i=0,j=1e-9,k=1e-9,l=void 0;;){i++;for(var o=0;o<t;o++)f[o]=c[o];if(c=e.multGamma(e.multL(e.multGamma(f),q,s)),a=e.dotProduct(f,c),c=e.normalize(c),(l=Math.abs((j=e.dotProduct(f,c))/k))<=1+u&&l>=1)break;k=j}for(var p=0;p<t;p++)f[p]=c[p];for(i=0,k=1e-9;;){i++;for(var r=0;r<t;r++)g[r]=d[r];if(g=e.minusOp(g,e.multCons(f,e.dotProduct(f,g))),d=e.multGamma(e.multL(e.multGamma(g),q,s)),b=e.dotProduct(g,d),d=e.normalize(d),(l=Math.abs((j=e.dotProduct(g,d))/k))<=1+u&&l>=1)break;k=j}for(var v=0;v<t;v++)g[v]=d[v];m=e.multCons(f,Math.sqrt(Math.abs(a))),n=e.multCons(g,Math.sqrt(Math.abs(b)))}()):j.forEach(function(a,c){m.push(b.getElementById(c).position("x")),n.push(b.getElementById(c).position("y"))}),{nodeIndexes:j,xCoords:m,yCoords:n}}var S=j.keys(),T=b.getElementById(S.next().value),U=T.position(),V=T.outerWidth();if(m.push(U.x),n.push(U.y),2==t){var W=b.getElementById(S.next().value).outerWidth();m.push(U.x+V/2+W/2+a.idealEdgeLength),n.push(U.y)}return{nodeIndexes:j,xCoords:m,yCoords:n}}}},579:(a,b,c)=>{var d=c(212),e=function(a){a&&a("layout","fcose",d)};"u">typeof cytoscape&&e(cytoscape),a.exports=e},140:a=>{a.exports=d}},b={};return function c(d){var e=b[d];if(void 0!==e)return e.exports;var f=b[d]={exports:{}};return a[d](f,f.exports,c),f.exports}(579)})()},50980:function(a,b,c){var d;d=c(94548),a.exports=(()=>{"use strict";var a={45:(a,b,c)=>{var d={};d.layoutBase=c(551),d.CoSEConstants=c(806),d.CoSEEdge=c(767),d.CoSEGraph=c(880),d.CoSEGraphManager=c(578),d.CoSELayout=c(765),d.CoSENode=c(991),d.ConstraintHandler=c(902),a.exports=d},806:(a,b,c)=>{var d=c(551).FDLayoutConstants;function e(){}for(var f in d)e[f]=d[f];e.DEFAULT_USE_MULTI_LEVEL_SCALING=!1,e.DEFAULT_RADIAL_SEPARATION=d.DEFAULT_EDGE_LENGTH,e.DEFAULT_COMPONENT_SEPERATION=60,e.TILE=!0,e.TILING_PADDING_VERTICAL=10,e.TILING_PADDING_HORIZONTAL=10,e.TRANSFORM_ON_CONSTRAINT_HANDLING=!0,e.ENFORCE_CONSTRAINTS=!0,e.APPLY_LAYOUT=!0,e.RELAX_MOVEMENT_ON_CONSTRAINTS=!0,e.TREE_REDUCTION_ON_INCREMENTAL=!0,e.PURE_INCREMENTAL=e.DEFAULT_INCREMENTAL,a.exports=e},767:(a,b,c)=>{var d=c(551).FDLayoutEdge;function e(a,b,c){d.call(this,a,b,c)}for(var f in e.prototype=Object.create(d.prototype),d)e[f]=d[f];a.exports=e},880:(a,b,c)=>{var d=c(551).LGraph;function e(a,b,c){d.call(this,a,b,c)}for(var f in e.prototype=Object.create(d.prototype),d)e[f]=d[f];a.exports=e},578:(a,b,c)=>{var d=c(551).LGraphManager;function e(a){d.call(this,a)}for(var f in e.prototype=Object.create(d.prototype),d)e[f]=d[f];a.exports=e},765:(a,b,c)=>{var d=c(551).FDLayout,e=c(578),f=c(880),g=c(991),h=c(767),i=c(806),j=c(902),k=c(551).FDLayoutConstants,l=c(551).LayoutConstants,m=c(551).Point,n=c(551).PointD,o=c(551).DimensionD,p=c(551).Layout,q=c(551).Integer,r=c(551).IGeometry,s=c(551).LGraph,t=c(551).Transform,u=c(551).LinkedList;function v(){d.call(this),this.toBeTiled={},this.constraints={}}for(var w in v.prototype=Object.create(d.prototype),d)v[w]=d[w];v.prototype.newGraphManager=function(){var a=new e(this);return this.graphManager=a,a},v.prototype.newGraph=function(a){return new f(null,this.graphManager,a)},v.prototype.newNode=function(a){return new g(this.graphManager,a)},v.prototype.newEdge=function(a){return new h(null,null,a)},v.prototype.initParameters=function(){d.prototype.initParameters.call(this,arguments),this.isSubLayout||(i.DEFAULT_EDGE_LENGTH<10?this.idealEdgeLength=10:this.idealEdgeLength=i.DEFAULT_EDGE_LENGTH,this.useSmartIdealEdgeLengthCalculation=i.DEFAULT_USE_SMART_IDEAL_EDGE_LENGTH_CALCULATION,this.gravityConstant=k.DEFAULT_GRAVITY_STRENGTH,this.compoundGravityConstant=k.DEFAULT_COMPOUND_GRAVITY_STRENGTH,this.gravityRangeFactor=k.DEFAULT_GRAVITY_RANGE_FACTOR,this.compoundGravityRangeFactor=k.DEFAULT_COMPOUND_GRAVITY_RANGE_FACTOR,this.prunedNodesAll=[],this.growTreeIterations=0,this.afterGrowthIterations=0,this.isTreeGrowing=!1,this.isGrowthFinished=!1)},v.prototype.initSpringEmbedder=function(){d.prototype.initSpringEmbedder.call(this),this.coolingCycle=0,this.maxCoolingCycle=this.maxIterations/k.CONVERGENCE_CHECK_PERIOD,this.finalTemperature=.04,this.coolingAdjuster=1},v.prototype.layout=function(){return l.DEFAULT_CREATE_BENDS_AS_NEEDED&&(this.createBendpoints(),this.graphManager.resetAllEdges()),this.level=0,this.classicLayout()},v.prototype.classicLayout=function(){if(this.nodesWithGravity=this.calculateNodesToApplyGravitationTo(),this.graphManager.setAllNodesToApplyGravitation(this.nodesWithGravity),this.calcNoOfChildrenForAllNodes(),this.graphManager.calcLowestCommonAncestors(),this.graphManager.calcInclusionTreeDepths(),this.graphManager.getRoot().calcEstimatedSize(),this.calcIdealEdgeLengths(),this.incremental){if(i.TREE_REDUCTION_ON_INCREMENTAL){this.reduceTrees(),this.graphManager.resetAllNodesToApplyGravitation();var a=new Set(this.getAllNodes()),b=this.nodesWithGravity.filter(function(b){return a.has(b)});this.graphManager.setAllNodesToApplyGravitation(b)}}else{var c=this.getFlatForest();if(c.length>0)this.positionNodesRadially(c);else{this.reduceTrees(),this.graphManager.resetAllNodesToApplyGravitation();var a=new Set(this.getAllNodes()),b=this.nodesWithGravity.filter(function(b){return a.has(b)});this.graphManager.setAllNodesToApplyGravitation(b),this.positionNodesRandomly()}}return Object.keys(this.constraints).length>0&&(j.handleConstraints(this),this.initConstraintVariables()),this.initSpringEmbedder(),i.APPLY_LAYOUT&&this.runSpringEmbedder(),!0},v.prototype.tick=function(){if(this.totalIterations++,this.totalIterations===this.maxIterations&&!this.isTreeGrowing&&!this.isGrowthFinished)if(!(this.prunedNodesAll.length>0))return!0;else this.isTreeGrowing=!0;if(this.totalIterations%k.CONVERGENCE_CHECK_PERIOD==0&&!this.isTreeGrowing&&!this.isGrowthFinished){if(this.isConverged())if(!(this.prunedNodesAll.length>0))return!0;else this.isTreeGrowing=!0;this.coolingCycle++,0==this.layoutQuality?this.coolingAdjuster=this.coolingCycle:1==this.layoutQuality&&(this.coolingAdjuster=this.coolingCycle/3),this.coolingFactor=Math.max(this.initialCoolingFactor-Math.pow(this.coolingCycle,Math.log(100*(this.initialCoolingFactor-this.finalTemperature))/Math.log(this.maxCoolingCycle))/100*this.coolingAdjuster,this.finalTemperature),this.animationPeriod=Math.ceil(this.initialAnimationPeriod*Math.sqrt(this.coolingFactor))}if(this.isTreeGrowing){if(this.growTreeIterations%10==0)if(this.prunedNodesAll.length>0){this.graphManager.updateBounds(),this.updateGrid(),this.growTree(this.prunedNodesAll),this.graphManager.resetAllNodesToApplyGravitation();var a=new Set(this.getAllNodes()),b=this.nodesWithGravity.filter(function(b){return a.has(b)});this.graphManager.setAllNodesToApplyGravitation(b),this.graphManager.updateBounds(),this.updateGrid(),i.PURE_INCREMENTAL?this.coolingFactor=k.DEFAULT_COOLING_FACTOR_INCREMENTAL/2:this.coolingFactor=k.DEFAULT_COOLING_FACTOR_INCREMENTAL}else this.isTreeGrowing=!1,this.isGrowthFinished=!0;this.growTreeIterations++}if(this.isGrowthFinished){if(this.isConverged())return!0;this.afterGrowthIterations%10==0&&(this.graphManager.updateBounds(),this.updateGrid()),i.PURE_INCREMENTAL?this.coolingFactor=k.DEFAULT_COOLING_FACTOR_INCREMENTAL/2*((100-this.afterGrowthIterations)/100):this.coolingFactor=k.DEFAULT_COOLING_FACTOR_INCREMENTAL*((100-this.afterGrowthIterations)/100),this.afterGrowthIterations++}var c=!this.isTreeGrowing&&!this.isGrowthFinished,d=this.growTreeIterations%10==1&&this.isTreeGrowing||this.afterGrowthIterations%10==1&&this.isGrowthFinished;return this.totalDisplacement=0,this.graphManager.updateBounds(),this.calcSpringForces(),this.calcRepulsionForces(c,d),this.calcGravitationalForces(),this.moveNodes(),this.animate(),!1},v.prototype.getPositionsData=function(){for(var a=this.graphManager.getAllNodes(),b={},c=0;c<a.length;c++){var d=a[c].rect,e=a[c].id;b[e]={id:e,x:d.getCenterX(),y:d.getCenterY(),w:d.width,h:d.height}}return b},v.prototype.runSpringEmbedder=function(){this.initialAnimationPeriod=25,this.animationPeriod=this.initialAnimationPeriod;var a=!1;if("during"===k.ANIMATE)this.emit("layoutstarted");else{for(;!a;)a=this.tick();this.graphManager.updateBounds()}},v.prototype.moveNodes=function(){for(var a,b=this.getAllNodes(),c=0;c<b.length;c++)b[c].calculateDisplacement();Object.keys(this.constraints).length>0&&this.updateDisplacements();for(var c=0;c<b.length;c++)b[c].move()},v.prototype.initConstraintVariables=function(){var a=this;this.idToNodeMap=new Map,this.fixedNodeSet=new Set;for(var b=this.graphManager.getAllNodes(),c=0;c<b.length;c++){var d=b[c];this.idToNodeMap.set(d.id,d)}if(this.constraints.fixedNodeConstraint){this.constraints.fixedNodeConstraint.forEach(function(b){a.fixedNodeSet.add(b.nodeId)});for(var d,b=this.graphManager.getAllNodes(),c=0;c<b.length;c++)if(null!=(d=b[c]).getChild()){var e=function b(c){for(var d,e=c.getChild().getNodes(),f=0,g=0;g<e.length;g++)null==(d=e[g]).getChild()?a.fixedNodeSet.has(d.id)&&(f+=100):f+=b(d);return f}(d);e>0&&(d.fixedNodeWeight=e)}}if(this.constraints.relativePlacementConstraint){var f=new Map,g=new Map;if(this.dummyToNodeForVerticalAlignment=new Map,this.dummyToNodeForHorizontalAlignment=new Map,this.fixedNodesOnHorizontal=new Set,this.fixedNodesOnVertical=new Set,this.fixedNodeSet.forEach(function(b){a.fixedNodesOnHorizontal.add(b),a.fixedNodesOnVertical.add(b)}),this.constraints.alignmentConstraint){if(this.constraints.alignmentConstraint.vertical)for(var h=this.constraints.alignmentConstraint.vertical,c=0;c<h.length;c++)this.dummyToNodeForVerticalAlignment.set("dummy"+c,[]),h[c].forEach(function(b){f.set(b,"dummy"+c),a.dummyToNodeForVerticalAlignment.get("dummy"+c).push(b),a.fixedNodeSet.has(b)&&a.fixedNodesOnHorizontal.add("dummy"+c)});if(this.constraints.alignmentConstraint.horizontal)for(var j=this.constraints.alignmentConstraint.horizontal,c=0;c<j.length;c++)this.dummyToNodeForHorizontalAlignment.set("dummy"+c,[]),j[c].forEach(function(b){g.set(b,"dummy"+c),a.dummyToNodeForHorizontalAlignment.get("dummy"+c).push(b),a.fixedNodeSet.has(b)&&a.fixedNodesOnVertical.add("dummy"+c)})}if(i.RELAX_MOVEMENT_ON_CONSTRAINTS)this.shuffle=function(a){var b,c,d;for(d=a.length-1;d>=2*a.length/3;d--)b=Math.floor(Math.random()*(d+1)),c=a[d],a[d]=a[b],a[b]=c;return a},this.nodesInRelativeHorizontal=[],this.nodesInRelativeVertical=[],this.nodeToRelativeConstraintMapHorizontal=new Map,this.nodeToRelativeConstraintMapVertical=new Map,this.nodeToTempPositionMapHorizontal=new Map,this.nodeToTempPositionMapVertical=new Map,this.constraints.relativePlacementConstraint.forEach(function(b){if(b.left){var c=f.has(b.left)?f.get(b.left):b.left,d=f.has(b.right)?f.get(b.right):b.right;a.nodesInRelativeHorizontal.includes(c)||(a.nodesInRelativeHorizontal.push(c),a.nodeToRelativeConstraintMapHorizontal.set(c,[]),a.dummyToNodeForVerticalAlignment.has(c)?a.nodeToTempPositionMapHorizontal.set(c,a.idToNodeMap.get(a.dummyToNodeForVerticalAlignment.get(c)[0]).getCenterX()):a.nodeToTempPositionMapHorizontal.set(c,a.idToNodeMap.get(c).getCenterX())),a.nodesInRelativeHorizontal.includes(d)||(a.nodesInRelativeHorizontal.push(d),a.nodeToRelativeConstraintMapHorizontal.set(d,[]),a.dummyToNodeForVerticalAlignment.has(d)?a.nodeToTempPositionMapHorizontal.set(d,a.idToNodeMap.get(a.dummyToNodeForVerticalAlignment.get(d)[0]).getCenterX()):a.nodeToTempPositionMapHorizontal.set(d,a.idToNodeMap.get(d).getCenterX())),a.nodeToRelativeConstraintMapHorizontal.get(c).push({right:d,gap:b.gap}),a.nodeToRelativeConstraintMapHorizontal.get(d).push({left:c,gap:b.gap})}else{var e=g.has(b.top)?g.get(b.top):b.top,h=g.has(b.bottom)?g.get(b.bottom):b.bottom;a.nodesInRelativeVertical.includes(e)||(a.nodesInRelativeVertical.push(e),a.nodeToRelativeConstraintMapVertical.set(e,[]),a.dummyToNodeForHorizontalAlignment.has(e)?a.nodeToTempPositionMapVertical.set(e,a.idToNodeMap.get(a.dummyToNodeForHorizontalAlignment.get(e)[0]).getCenterY()):a.nodeToTempPositionMapVertical.set(e,a.idToNodeMap.get(e).getCenterY())),a.nodesInRelativeVertical.includes(h)||(a.nodesInRelativeVertical.push(h),a.nodeToRelativeConstraintMapVertical.set(h,[]),a.dummyToNodeForHorizontalAlignment.has(h)?a.nodeToTempPositionMapVertical.set(h,a.idToNodeMap.get(a.dummyToNodeForHorizontalAlignment.get(h)[0]).getCenterY()):a.nodeToTempPositionMapVertical.set(h,a.idToNodeMap.get(h).getCenterY())),a.nodeToRelativeConstraintMapVertical.get(e).push({bottom:h,gap:b.gap}),a.nodeToRelativeConstraintMapVertical.get(h).push({top:e,gap:b.gap})}});else{var k=new Map,l=new Map;this.constraints.relativePlacementConstraint.forEach(function(a){if(a.left){var b=f.has(a.left)?f.get(a.left):a.left,c=f.has(a.right)?f.get(a.right):a.right;k.has(b)?k.get(b).push(c):k.set(b,[c]),k.has(c)?k.get(c).push(b):k.set(c,[b])}else{var d=g.has(a.top)?g.get(a.top):a.top,e=g.has(a.bottom)?g.get(a.bottom):a.bottom;l.has(d)?l.get(d).push(e):l.set(d,[e]),l.has(e)?l.get(e).push(d):l.set(e,[d])}});var m=function(a,b){var c=[],d=[],e=new u,f=new Set,g=0;return a.forEach(function(h,i){if(!f.has(i)){c[g]=[],d[g]=!1;var j=i;for(e.push(j),f.add(j),c[g].push(j);0!=e.length;)j=e.shift(),b.has(j)&&(d[g]=!0),a.get(j).forEach(function(a){f.has(a)||(e.push(a),f.add(a),c[g].push(a))});g++}}),{components:c,isFixed:d}},n=m(k,a.fixedNodesOnHorizontal);this.componentsOnHorizontal=n.components,this.fixedComponentsOnHorizontal=n.isFixed;var o=m(l,a.fixedNodesOnVertical);this.componentsOnVertical=o.components,this.fixedComponentsOnVertical=o.isFixed}}},v.prototype.updateDisplacements=function(){var a=this;if(this.constraints.fixedNodeConstraint&&this.constraints.fixedNodeConstraint.forEach(function(b){var c=a.idToNodeMap.get(b.nodeId);c.displacementX=0,c.displacementY=0}),this.constraints.alignmentConstraint){if(this.constraints.alignmentConstraint.vertical)for(var b=this.constraints.alignmentConstraint.vertical,c=0;c<b.length;c++){for(var d=0,e=0;e<b[c].length;e++){if(this.fixedNodeSet.has(b[c][e])){d=0;break}d+=this.idToNodeMap.get(b[c][e]).displacementX}for(var f=d/b[c].length,e=0;e<b[c].length;e++)this.idToNodeMap.get(b[c][e]).displacementX=f}if(this.constraints.alignmentConstraint.horizontal)for(var g=this.constraints.alignmentConstraint.horizontal,c=0;c<g.length;c++){for(var h=0,e=0;e<g[c].length;e++){if(this.fixedNodeSet.has(g[c][e])){h=0;break}h+=this.idToNodeMap.get(g[c][e]).displacementY}for(var j=h/g[c].length,e=0;e<g[c].length;e++)this.idToNodeMap.get(g[c][e]).displacementY=j}}if(this.constraints.relativePlacementConstraint)if(i.RELAX_MOVEMENT_ON_CONSTRAINTS)this.totalIterations%10==0&&(this.shuffle(this.nodesInRelativeHorizontal),this.shuffle(this.nodesInRelativeVertical)),this.nodesInRelativeHorizontal.forEach(function(b){if(!a.fixedNodesOnHorizontal.has(b)){var c=0;c=a.dummyToNodeForVerticalAlignment.has(b)?a.idToNodeMap.get(a.dummyToNodeForVerticalAlignment.get(b)[0]).displacementX:a.idToNodeMap.get(b).displacementX,a.nodeToRelativeConstraintMapHorizontal.get(b).forEach(function(d){if(d.right){var e=a.nodeToTempPositionMapHorizontal.get(d.right)-a.nodeToTempPositionMapHorizontal.get(b)-c;e<d.gap&&(c-=d.gap-e)}else{var e=a.nodeToTempPositionMapHorizontal.get(b)-a.nodeToTempPositionMapHorizontal.get(d.left)+c;e<d.gap&&(c+=d.gap-e)}}),a.nodeToTempPositionMapHorizontal.set(b,a.nodeToTempPositionMapHorizontal.get(b)+c),a.dummyToNodeForVerticalAlignment.has(b)?a.dummyToNodeForVerticalAlignment.get(b).forEach(function(b){a.idToNodeMap.get(b).displacementX=c}):a.idToNodeMap.get(b).displacementX=c}}),this.nodesInRelativeVertical.forEach(function(b){if(!a.fixedNodesOnHorizontal.has(b)){var c=0;c=a.dummyToNodeForHorizontalAlignment.has(b)?a.idToNodeMap.get(a.dummyToNodeForHorizontalAlignment.get(b)[0]).displacementY:a.idToNodeMap.get(b).displacementY,a.nodeToRelativeConstraintMapVertical.get(b).forEach(function(d){if(d.bottom){var e=a.nodeToTempPositionMapVertical.get(d.bottom)-a.nodeToTempPositionMapVertical.get(b)-c;e<d.gap&&(c-=d.gap-e)}else{var e=a.nodeToTempPositionMapVertical.get(b)-a.nodeToTempPositionMapVertical.get(d.top)+c;e<d.gap&&(c+=d.gap-e)}}),a.nodeToTempPositionMapVertical.set(b,a.nodeToTempPositionMapVertical.get(b)+c),a.dummyToNodeForHorizontalAlignment.has(b)?a.dummyToNodeForHorizontalAlignment.get(b).forEach(function(b){a.idToNodeMap.get(b).displacementY=c}):a.idToNodeMap.get(b).displacementY=c}});else{for(var c=0;c<this.componentsOnHorizontal.length;c++){var k=this.componentsOnHorizontal[c];if(this.fixedComponentsOnHorizontal[c])for(var e=0;e<k.length;e++)this.dummyToNodeForVerticalAlignment.has(k[e])?this.dummyToNodeForVerticalAlignment.get(k[e]).forEach(function(b){a.idToNodeMap.get(b).displacementX=0}):this.idToNodeMap.get(k[e]).displacementX=0;else{for(var l=0,m=0,e=0;e<k.length;e++)if(this.dummyToNodeForVerticalAlignment.has(k[e])){var n=this.dummyToNodeForVerticalAlignment.get(k[e]);l+=n.length*this.idToNodeMap.get(n[0]).displacementX,m+=n.length}else l+=this.idToNodeMap.get(k[e]).displacementX,m++;for(var o=l/m,e=0;e<k.length;e++)this.dummyToNodeForVerticalAlignment.has(k[e])?this.dummyToNodeForVerticalAlignment.get(k[e]).forEach(function(b){a.idToNodeMap.get(b).displacementX=o}):this.idToNodeMap.get(k[e]).displacementX=o}}for(var c=0;c<this.componentsOnVertical.length;c++){var k=this.componentsOnVertical[c];if(this.fixedComponentsOnVertical[c])for(var e=0;e<k.length;e++)this.dummyToNodeForHorizontalAlignment.has(k[e])?this.dummyToNodeForHorizontalAlignment.get(k[e]).forEach(function(b){a.idToNodeMap.get(b).displacementY=0}):this.idToNodeMap.get(k[e]).displacementY=0;else{for(var l=0,m=0,e=0;e<k.length;e++)if(this.dummyToNodeForHorizontalAlignment.has(k[e])){var n=this.dummyToNodeForHorizontalAlignment.get(k[e]);l+=n.length*this.idToNodeMap.get(n[0]).displacementY,m+=n.length}else l+=this.idToNodeMap.get(k[e]).displacementY,m++;for(var o=l/m,e=0;e<k.length;e++)this.dummyToNodeForHorizontalAlignment.has(k[e])?this.dummyToNodeForHorizontalAlignment.get(k[e]).forEach(function(b){a.idToNodeMap.get(b).displacementY=o}):this.idToNodeMap.get(k[e]).displacementY=o}}}},v.prototype.calculateNodesToApplyGravitationTo=function(){var a,b,c=[],d=this.graphManager.getGraphs(),e=d.length;for(b=0;b<e;b++)(a=d[b]).updateConnected(),a.isConnected||(c=c.concat(a.getNodes()));return c},v.prototype.createBendpoints=function(){var a=[];a=a.concat(this.graphManager.getAllEdges());var b=new Set;for(f=0;f<a.length;f++){var c=a[f];if(!b.has(c)){var d=c.getSource(),e=c.getTarget();if(d==e)c.getBendpoints().push(new n),c.getBendpoints().push(new n),this.createDummyNodesForBendpoints(c),b.add(c);else{var f,g,h=[];if(h=(h=h.concat(d.getEdgeListToNode(e))).concat(e.getEdgeListToNode(d)),!b.has(h[0])){if(h.length>1)for(g=0;g<h.length;g++){var i=h[g];i.getBendpoints().push(new n),this.createDummyNodesForBendpoints(i)}h.forEach(function(a){b.add(a)})}}}if(b.size==a.length)break}},v.prototype.positionNodesRadially=function(a){for(var b=new m(0,0),c=Math.ceil(Math.sqrt(a.length)),d=0,e=0,f=0,g=new n(0,0),h=0;h<a.length;h++){h%c==0&&(f=0,e=d,0!=h&&(e+=i.DEFAULT_COMPONENT_SEPERATION),d=0);var j=a[h],k=p.findCenterOfTree(j);b.x=f,b.y=e,(g=v.radialLayout(j,k,b)).y>d&&(d=Math.floor(g.y)),f=Math.floor(g.x+i.DEFAULT_COMPONENT_SEPERATION)}this.transform(new n(l.WORLD_CENTER_X-g.x/2,l.WORLD_CENTER_Y-g.y/2))},v.radialLayout=function(a,b,c){var d=Math.max(this.maxDiagonalInTree(a),i.DEFAULT_RADIAL_SEPARATION);v.branchRadialLayout(b,null,0,359,0,d);var e=s.calculateBounds(a),f=new t;f.setDeviceOrgX(e.getMinX()),f.setDeviceOrgY(e.getMinY()),f.setWorldOrgX(c.x),f.setWorldOrgY(c.y);for(var g=0;g<a.length;g++)a[g].transform(f);var h=new n(e.getMaxX(),e.getMaxY());return f.inverseTransformPoint(h)},v.branchRadialLayout=function(a,b,c,d,e,f){var g,h=(d-c+1)/2;h<0&&(h+=180);var i=(h+c)%360*r.TWO_PI/360,j=e*Math.cos(i),k=e*Math.sin(i);a.setCenter(j,k);var l=[],m=(l=l.concat(a.getEdges())).length;null!=b&&m--;for(var n=0,o=l.length,p=a.getEdgesBetween(b);p.length>1;){var q=p[0];p.splice(0,1);var s=l.indexOf(q);s>=0&&l.splice(s,1),o--,m--}g=null!=b?(l.indexOf(p[0])+1)%o:0;for(var t=Math.abs(d-c)/m,u=g;n!=m;u=++u%o){var w=l[u].getOtherEnd(a);if(w!=b){var x=(c+n*t)%360,y=(x+t)%360;v.branchRadialLayout(w,a,x,y,e+f,f),n++}}},v.maxDiagonalInTree=function(a){for(var b=q.MIN_VALUE,c=0;c<a.length;c++){var d=a[c].getDiagonal();d>b&&(b=d)}return b},v.prototype.calcRepulsionRange=function(){return 2*(this.level+1)*this.idealEdgeLength},v.prototype.groupZeroDegreeMembers=function(){var a=this,b={};this.memberGroups={},this.idToDummyNode={};for(var c=[],d=this.graphManager.getAllNodes(),e=0;e<d.length;e++){var f=d[e],h=f.getParent();0!==this.getNodeDegreeWithChildren(f)||void 0!=h.id&&this.getToBeTiled(h)||c.push(f)}for(var e=0;e<c.length;e++){var f=c[e],i=f.getParent().id;void 0===b[i]&&(b[i]=[]),b[i]=b[i].concat(f)}Object.keys(b).forEach(function(c){if(b[c].length>1){var d="DummyCompound_"+c;a.memberGroups[d]=b[c];var e=b[c][0].getParent(),f=new g(a.graphManager);f.id=d,f.paddingLeft=e.paddingLeft||0,f.paddingRight=e.paddingRight||0,f.paddingBottom=e.paddingBottom||0,f.paddingTop=e.paddingTop||0,a.idToDummyNode[d]=f;var h=a.getGraphManager().add(a.newGraph(),f),i=e.getChild();i.add(f);for(var j=0;j<b[c].length;j++){var k=b[c][j];i.remove(k),h.add(k)}}})},v.prototype.clearCompounds=function(){var a={},b={};this.performDFSOnCompounds();for(var c=0;c<this.compoundOrder.length;c++)b[this.compoundOrder[c].id]=this.compoundOrder[c],a[this.compoundOrder[c].id]=[].concat(this.compoundOrder[c].getChild().getNodes()),this.graphManager.remove(this.compoundOrder[c].getChild()),this.compoundOrder[c].child=null;this.graphManager.resetAllNodes(),this.tileCompoundMembers(a,b)},v.prototype.clearZeroDegreeMembers=function(){var a=this,b=this.tiledZeroDegreePack=[];Object.keys(this.memberGroups).forEach(function(c){var d=a.idToDummyNode[c];if(b[c]=a.tileNodes(a.memberGroups[c],d.paddingLeft+d.paddingRight),d.rect.width=b[c].width,d.rect.height=b[c].height,d.setCenter(b[c].centerX,b[c].centerY),d.labelMarginLeft=0,d.labelMarginTop=0,i.NODE_DIMENSIONS_INCLUDE_LABELS){var e=d.rect.width,f=d.rect.height;d.labelWidth&&("left"==d.labelPosHorizontal?(d.rect.x-=d.labelWidth,d.setWidth(e+d.labelWidth),d.labelMarginLeft=d.labelWidth):"center"==d.labelPosHorizontal&&d.labelWidth>e?(d.rect.x-=(d.labelWidth-e)/2,d.setWidth(d.labelWidth),d.labelMarginLeft=(d.labelWidth-e)/2):"right"==d.labelPosHorizontal&&d.setWidth(e+d.labelWidth)),d.labelHeight&&("top"==d.labelPosVertical?(d.rect.y-=d.labelHeight,d.setHeight(f+d.labelHeight),d.labelMarginTop=d.labelHeight):"center"==d.labelPosVertical&&d.labelHeight>f?(d.rect.y-=(d.labelHeight-f)/2,d.setHeight(d.labelHeight),d.labelMarginTop=(d.labelHeight-f)/2):"bottom"==d.labelPosVertical&&d.setHeight(f+d.labelHeight))}})},v.prototype.repopulateCompounds=function(){for(var a=this.compoundOrder.length-1;a>=0;a--){var b=this.compoundOrder[a],c=b.id,d=b.paddingLeft,e=b.paddingTop,f=b.labelMarginLeft,g=b.labelMarginTop;this.adjustLocations(this.tiledMemberPack[c],b.rect.x,b.rect.y,d,e,f,g)}},v.prototype.repopulateZeroDegreeMembers=function(){var a=this,b=this.tiledZeroDegreePack;Object.keys(b).forEach(function(c){var d=a.idToDummyNode[c],e=d.paddingLeft,f=d.paddingTop,g=d.labelMarginLeft,h=d.labelMarginTop;a.adjustLocations(b[c],d.rect.x,d.rect.y,e,f,g,h)})},v.prototype.getToBeTiled=function(a){var b=a.id;if(null!=this.toBeTiled[b])return this.toBeTiled[b];var c=a.getChild();if(null==c)return this.toBeTiled[b]=!1,!1;for(var d=c.getNodes(),e=0;e<d.length;e++){var f=d[e];if(this.getNodeDegree(f)>0)return this.toBeTiled[b]=!1,!1;if(null==f.getChild()){this.toBeTiled[f.id]=!1;continue}if(!this.getToBeTiled(f))return this.toBeTiled[b]=!1,!1}return this.toBeTiled[b]=!0,!0},v.prototype.getNodeDegree=function(a){a.id;for(var b=a.getEdges(),c=0,d=0;d<b.length;d++){var e=b[d];e.getSource().id!==e.getTarget().id&&(c+=1)}return c},v.prototype.getNodeDegreeWithChildren=function(a){var b=this.getNodeDegree(a);if(null==a.getChild())return b;for(var c=a.getChild().getNodes(),d=0;d<c.length;d++){var e=c[d];b+=this.getNodeDegreeWithChildren(e)}return b},v.prototype.performDFSOnCompounds=function(){this.compoundOrder=[],this.fillCompexOrderByDFS(this.graphManager.getRoot().getNodes())},v.prototype.fillCompexOrderByDFS=function(a){for(var b=0;b<a.length;b++){var c=a[b];null!=c.getChild()&&this.fillCompexOrderByDFS(c.getChild().getNodes()),this.getToBeTiled(c)&&this.compoundOrder.push(c)}},v.prototype.adjustLocations=function(a,b,c,d,e,f,g){b+=d+f,c+=e+g;for(var h=b,i=0;i<a.rows.length;i++){var j=a.rows[i];b=h;for(var k=0,l=0;l<j.length;l++){var m=j[l];m.rect.x=b,m.rect.y=c,b+=m.rect.width+a.horizontalPadding,m.rect.height>k&&(k=m.rect.height)}c+=k+a.verticalPadding}},v.prototype.tileCompoundMembers=function(a,b){var c=this;this.tiledMemberPack=[],Object.keys(a).forEach(function(d){var e=b[d];if(c.tiledMemberPack[d]=c.tileNodes(a[d],e.paddingLeft+e.paddingRight),e.rect.width=c.tiledMemberPack[d].width,e.rect.height=c.tiledMemberPack[d].height,e.setCenter(c.tiledMemberPack[d].centerX,c.tiledMemberPack[d].centerY),e.labelMarginLeft=0,e.labelMarginTop=0,i.NODE_DIMENSIONS_INCLUDE_LABELS){var f=e.rect.width,g=e.rect.height;e.labelWidth&&("left"==e.labelPosHorizontal?(e.rect.x-=e.labelWidth,e.setWidth(f+e.labelWidth),e.labelMarginLeft=e.labelWidth):"center"==e.labelPosHorizontal&&e.labelWidth>f?(e.rect.x-=(e.labelWidth-f)/2,e.setWidth(e.labelWidth),e.labelMarginLeft=(e.labelWidth-f)/2):"right"==e.labelPosHorizontal&&e.setWidth(f+e.labelWidth)),e.labelHeight&&("top"==e.labelPosVertical?(e.rect.y-=e.labelHeight,e.setHeight(g+e.labelHeight),e.labelMarginTop=e.labelHeight):"center"==e.labelPosVertical&&e.labelHeight>g?(e.rect.y-=(e.labelHeight-g)/2,e.setHeight(e.labelHeight),e.labelMarginTop=(e.labelHeight-g)/2):"bottom"==e.labelPosVertical&&e.setHeight(g+e.labelHeight))}})},v.prototype.tileNodes=function(a,b){var c=this.tileNodesByFavoringDim(a,b,!0),d=this.tileNodesByFavoringDim(a,b,!1),e=this.getOrgRatio(c);return this.getOrgRatio(d)<e?d:c},v.prototype.getOrgRatio=function(a){var b=a.width/a.height;return b<1&&(b=1/b),b},v.prototype.calcIdealRowWidth=function(a,b){var c,d=i.TILING_PADDING_VERTICAL,e=i.TILING_PADDING_HORIZONTAL,f=a.length,g=0,h=0,j=0;a.forEach(function(a){g+=a.getWidth(),h+=a.getHeight(),a.getWidth()>j&&(j=a.getWidth())});var k=g/f,l=Math.pow(d-e,2)+4*(k+e)*(h/f+d)*f,m=(e-d+Math.sqrt(l))/(2*(k+e));b?(c=Math.ceil(m))==m&&c++:c=Math.floor(m);var n=c*(k+e)-e;return j>n&&(n=j),n+=2*e},v.prototype.tileNodesByFavoringDim=function(a,b,c){var d=i.TILING_PADDING_VERTICAL,e=i.TILING_PADDING_HORIZONTAL,f=i.TILING_COMPARE_BY,g={rows:[],rowWidth:[],rowHeight:[],width:0,height:b,verticalPadding:d,horizontalPadding:e,centerX:0,centerY:0};f&&(g.idealRowWidth=this.calcIdealRowWidth(a,c));var h=function(a){return a.rect.width*a.rect.height},j=function(a,b){return h(b)-h(a)};a.sort(function(a,b){var c=j;return g.idealRowWidth?(c=f)(a.id,b.id):c(a,b)});for(var k=0,l=0,m=0;m<a.length;m++){var n=a[m];k+=n.getCenterX(),l+=n.getCenterY()}g.centerX=k/a.length,g.centerY=l/a.length;for(var m=0;m<a.length;m++){var n=a[m];if(0==g.rows.length)this.insertNodeToRow(g,n,0,b);else if(this.canAddHorizontal(g,n.rect.width,n.rect.height)){var o=g.rows.length-1;g.idealRowWidth||(o=this.getShortestRowIndex(g)),this.insertNodeToRow(g,n,o,b)}else this.insertNodeToRow(g,n,g.rows.length,b);this.shiftToLastRow(g)}return g},v.prototype.insertNodeToRow=function(a,b,c,d){c==a.rows.length&&(a.rows.push([]),a.rowWidth.push(d),a.rowHeight.push(0));var e=a.rowWidth[c]+b.rect.width;a.rows[c].length>0&&(e+=a.horizontalPadding),a.rowWidth[c]=e,a.width<e&&(a.width=e);var f=b.rect.height;c>0&&(f+=a.verticalPadding);var g=0;f>a.rowHeight[c]&&(g=a.rowHeight[c],a.rowHeight[c]=f,g=a.rowHeight[c]-g),a.height+=g,a.rows[c].push(b)},v.prototype.getShortestRowIndex=function(a){for(var b=-1,c=Number.MAX_VALUE,d=0;d<a.rows.length;d++)a.rowWidth[d]<c&&(b=d,c=a.rowWidth[d]);return b},v.prototype.getLongestRowIndex=function(a){for(var b=-1,c=5e-324,d=0;d<a.rows.length;d++)a.rowWidth[d]>c&&(b=d,c=a.rowWidth[d]);return b},v.prototype.canAddHorizontal=function(a,b,c){if(a.idealRowWidth){var d,e,f=a.rows.length-1;return a.rowWidth[f]+b+a.horizontalPadding<=a.idealRowWidth}var g=this.getShortestRowIndex(a);if(g<0)return!0;var h=a.rowWidth[g];if(h+a.horizontalPadding+b<=a.width)return!0;var i=0;return a.rowHeight[g]<c&&g>0&&(i=c+a.verticalPadding-a.rowHeight[g]),d=a.width-h>=b+a.horizontalPadding?(a.height+i)/(h+b+a.horizontalPadding):(a.height+i)/a.width,i=c+a.verticalPadding,(e=a.width<b?(a.height+i)/b:(a.height+i)/a.width)<1&&(e=1/e),d<1&&(d=1/d),d<e},v.prototype.shiftToLastRow=function(a){var b=this.getLongestRowIndex(a),c=a.rowWidth.length-1,d=a.rows[b],e=d[d.length-1],f=e.width+a.horizontalPadding;if(a.width-a.rowWidth[c]>f&&b!=c){d.splice(-1,1),a.rows[c].push(e),a.rowWidth[b]=a.rowWidth[b]-f,a.rowWidth[c]=a.rowWidth[c]+f,a.width=a.rowWidth[instance.getLongestRowIndex(a)];for(var g=5e-324,h=0;h<d.length;h++)d[h].height>g&&(g=d[h].height);b>0&&(g+=a.verticalPadding);var i=a.rowHeight[b]+a.rowHeight[c];a.rowHeight[b]=g,a.rowHeight[c]<e.height+a.verticalPadding&&(a.rowHeight[c]=e.height+a.verticalPadding);var j=a.rowHeight[b]+a.rowHeight[c];a.height+=j-i,this.shiftToLastRow(a)}},v.prototype.tilingPreLayout=function(){i.TILE&&(this.groupZeroDegreeMembers(),this.clearCompounds(),this.clearZeroDegreeMembers())},v.prototype.tilingPostLayout=function(){i.TILE&&(this.repopulateZeroDegreeMembers(),this.repopulateCompounds())},v.prototype.reduceTrees=function(){for(var a,b=[],c=!0;c;){var d=this.graphManager.getAllNodes(),e=[];c=!1;for(var f=0;f<d.length;f++)if(1==(a=d[f]).getEdges().length&&!a.getEdges()[0].isInterGraph&&null==a.getChild()){if(i.PURE_INCREMENTAL){var g=a.getEdges()[0].getOtherEnd(a),h=new o(a.getCenterX()-g.getCenterX(),a.getCenterY()-g.getCenterY());e.push([a,a.getEdges()[0],a.getOwner(),h])}else e.push([a,a.getEdges()[0],a.getOwner()]);c=!0}if(!0==c){for(var j=[],k=0;k<e.length;k++)1==e[k][0].getEdges().length&&(j.push(e[k]),e[k][0].getOwner().remove(e[k][0]));b.push(j),this.graphManager.resetAllNodes(),this.graphManager.resetAllEdges()}}this.prunedNodesAll=b},v.prototype.growTree=function(a){for(var b,c=a.length,d=a[c-1],e=0;e<d.length;e++)b=d[e],this.findPlaceforPrunedNode(b),b[2].add(b[0]),b[2].add(b[1],b[1].source,b[1].target);a.splice(a.length-1,1),this.graphManager.resetAllNodes(),this.graphManager.resetAllEdges()},v.prototype.findPlaceforPrunedNode=function(a){var b=a[0];if(d=b==a[1].source?a[1].target:a[1].source,i.PURE_INCREMENTAL)b.setCenter(d.getCenterX()+a[3].getWidth(),d.getCenterY()+a[3].getHeight());else{var c,d,e,f,g=d.startX,h=d.finishX,j=d.startY,l=d.finishY,m=[0,0,0,0];if(j>0)for(var n=g;n<=h;n++)m[0]+=this.grid[n][j-1].length+this.grid[n][j].length-1;if(h<this.grid.length-1)for(var n=j;n<=l;n++)m[1]+=this.grid[h+1][n].length+this.grid[h][n].length-1;if(l<this.grid[0].length-1)for(var n=g;n<=h;n++)m[2]+=this.grid[n][l+1].length+this.grid[n][l].length-1;if(g>0)for(var n=j;n<=l;n++)m[3]+=this.grid[g-1][n].length+this.grid[g][n].length-1;for(var o=q.MAX_VALUE,p=0;p<m.length;p++)m[p]<o?(o=m[p],e=1,f=p):m[p]==o&&e++;if(3==e&&0==o)0==m[0]&&0==m[1]&&0==m[2]?c=1:0==m[0]&&0==m[1]&&0==m[3]?c=0:0==m[0]&&0==m[2]&&0==m[3]?c=3:0==m[1]&&0==m[2]&&0==m[3]&&(c=2);else if(2==e&&0==o){var r=Math.floor(2*Math.random());c=0==m[0]&&0==m[1]?+(0!=r):0==m[0]&&0==m[2]?2*(0!=r):0==m[0]&&0==m[3]?3*(0!=r):0==m[1]&&0==m[2]?0==r?1:2:0==m[1]&&0==m[3]?0==r?1:3:0==r?2:3}else if(4==e&&0==o){var r=Math.floor(4*Math.random());c=r}else c=f;0==c?b.setCenter(d.getCenterX(),d.getCenterY()-d.getHeight()/2-k.DEFAULT_EDGE_LENGTH-b.getHeight()/2):1==c?b.setCenter(d.getCenterX()+d.getWidth()/2+k.DEFAULT_EDGE_LENGTH+b.getWidth()/2,d.getCenterY()):2==c?b.setCenter(d.getCenterX(),d.getCenterY()+d.getHeight()/2+k.DEFAULT_EDGE_LENGTH+b.getHeight()/2):b.setCenter(d.getCenterX()-d.getWidth()/2-k.DEFAULT_EDGE_LENGTH-b.getWidth()/2,d.getCenterY())}},a.exports=v},991:(a,b,c)=>{var d=c(551).FDLayoutNode,e=c(551).IMath;function f(a,b,c,e){d.call(this,a,b,c,e)}for(var g in f.prototype=Object.create(d.prototype),d)f[g]=d[g];f.prototype.calculateDisplacement=function(){var a=this.graphManager.getLayout();null!=this.getChild()&&this.fixedNodeWeight?(this.displacementX+=a.coolingFactor*(this.springForceX+this.repulsionForceX+this.gravitationForceX)/this.fixedNodeWeight,this.displacementY+=a.coolingFactor*(this.springForceY+this.repulsionForceY+this.gravitationForceY)/this.fixedNodeWeight):(this.displacementX+=a.coolingFactor*(this.springForceX+this.repulsionForceX+this.gravitationForceX)/this.noOfChildren,this.displacementY+=a.coolingFactor*(this.springForceY+this.repulsionForceY+this.gravitationForceY)/this.noOfChildren),Math.abs(this.displacementX)>a.coolingFactor*a.maxNodeDisplacement&&(this.displacementX=a.coolingFactor*a.maxNodeDisplacement*e.sign(this.displacementX)),Math.abs(this.displacementY)>a.coolingFactor*a.maxNodeDisplacement&&(this.displacementY=a.coolingFactor*a.maxNodeDisplacement*e.sign(this.displacementY)),this.child&&this.child.getNodes().length>0&&this.propogateDisplacementToChildren(this.displacementX,this.displacementY)},f.prototype.propogateDisplacementToChildren=function(a,b){for(var c,d=this.getChild().getNodes(),e=0;e<d.length;e++)null==(c=d[e]).getChild()?(c.displacementX+=a,c.displacementY+=b):c.propogateDisplacementToChildren(a,b)},f.prototype.move=function(){var a=this.graphManager.getLayout();(null==this.child||0==this.child.getNodes().length)&&(this.moveBy(this.displacementX,this.displacementY),a.totalDisplacement+=Math.abs(this.displacementX)+Math.abs(this.displacementY)),this.springForceX=0,this.springForceY=0,this.repulsionForceX=0,this.repulsionForceY=0,this.gravitationForceX=0,this.gravitationForceY=0,this.displacementX=0,this.displacementY=0},f.prototype.setPred1=function(a){this.pred1=a},f.prototype.getPred1=function(){return pred1},f.prototype.getPred2=function(){return pred2},f.prototype.setNext=function(a){this.next=a},f.prototype.getNext=function(){return next},f.prototype.setProcessed=function(a){this.processed=a},f.prototype.isProcessed=function(){return processed},a.exports=f},902:(a,b,c)=>{function d(a){if(!Array.isArray(a))return Array.from(a);for(var b=0,c=Array(a.length);b<a.length;b++)c[b]=a[b];return c}var e=c(806),f=c(551).LinkedList,g=c(551).Matrix,h=c(551).SVD;function i(){}i.handleConstraints=function(a){var b={};b.fixedNodeConstraint=a.constraints.fixedNodeConstraint,b.alignmentConstraint=a.constraints.alignmentConstraint,b.relativePlacementConstraint=a.constraints.relativePlacementConstraint;for(var c=new Map,i=new Map,j=[],k=[],l=a.getAllNodes(),m=0,n=0;n<l.length;n++){var o=l[n];null==o.getChild()&&(i.set(o.id,m++),j.push(o.getCenterX()),k.push(o.getCenterY()),c.set(o.id,o))}b.relativePlacementConstraint&&b.relativePlacementConstraint.forEach(function(a){a.gap||0==a.gap||(a.left?a.gap=e.DEFAULT_EDGE_LENGTH+c.get(a.left).getWidth()/2+c.get(a.right).getWidth()/2:a.gap=e.DEFAULT_EDGE_LENGTH+c.get(a.top).getHeight()/2+c.get(a.bottom).getHeight()/2)});var p=function(a){var b=0,c=0;return a.forEach(function(a){b+=j[i.get(a)],c+=k[i.get(a)]}),{x:b/a.size,y:c/a.size}},q=function(a,b,c,e,g){var h=new Map;a.forEach(function(a,b){h.set(b,0)}),a.forEach(function(a,b){a.forEach(function(a){h.set(a.id,h.get(a.id)+1)})});var l=new Map,m=new Map,n=new f;for(h.forEach(function(a,d){0==a?(n.push(d),c||("horizontal"==b?l.set(d,i.has(d)?j[i.get(d)]:e.get(d)):l.set(d,i.has(d)?k[i.get(d)]:e.get(d)))):l.set(d,-1/0),c&&m.set(d,new Set([d]))}),c&&g.forEach(function(a){var d=[];if(a.forEach(function(a){c.has(a)&&d.push(a)}),d.length>0){var f=0;d.forEach(function(a){"horizontal"==b?l.set(a,i.has(a)?j[i.get(a)]:e.get(a)):l.set(a,i.has(a)?k[i.get(a)]:e.get(a)),f+=l.get(a)}),f/=d.length,a.forEach(function(a){c.has(a)||l.set(a,f)})}else{var g=0;a.forEach(function(a){"horizontal"==b?g+=i.has(a)?j[i.get(a)]:e.get(a):g+=i.has(a)?k[i.get(a)]:e.get(a)}),g/=a.length,a.forEach(function(a){l.set(a,g)})}});0!=n.length;)!function(){var d=n.shift();a.get(d).forEach(function(a){if(l.get(a.id)<l.get(d)+a.gap)if(c&&c.has(a.id)){var f=void 0;if(f="horizontal"==b?i.has(a.id)?j[i.get(a.id)]:e.get(a.id):i.has(a.id)?k[i.get(a.id)]:e.get(a.id),l.set(a.id,f),f<l.get(d)+a.gap){var g=l.get(d)+a.gap-f;m.get(d).forEach(function(a){l.set(a,l.get(a)-g)})}}else l.set(a.id,l.get(d)+a.gap);h.set(a.id,h.get(a.id)-1),0==h.get(a.id)&&n.push(a.id),c&&m.set(a.id,function(a,b){var c=new Set(a),d=!0,e=!1,f=void 0;try{for(var g,h=b[Symbol.iterator]();!(d=(g=h.next()).done);d=!0){var i=g.value;c.add(i)}}catch(a){e=!0,f=a}finally{try{!d&&h.return&&h.return()}finally{if(e)throw f}}return c}(m.get(d),m.get(a.id)))})}();if(c){var o=new Set;a.forEach(function(a,b){0==a.length&&o.add(b)});var p=[];m.forEach(function(a,b){if(o.has(b)){var e=!1,f=!0,g=!1,h=void 0;try{for(var i,j=a[Symbol.iterator]();!(f=(i=j.next()).done);f=!0){var k=i.value;c.has(k)&&(e=!0)}}catch(a){g=!0,h=a}finally{try{!f&&j.return&&j.return()}finally{if(g)throw h}}if(!e){var l=!1,m=void 0;p.forEach(function(b,c){b.has([].concat(d(a))[0])&&(l=!0,m=c)}),l?a.forEach(function(a){p[m].add(a)}):p.push(new Set(a))}}}),p.forEach(function(a,c){var d=1/0,f=1/0,g=-1/0,h=-1/0,m=!0,n=!1,o=void 0;try{for(var p,q=a[Symbol.iterator]();!(m=(p=q.next()).done);m=!0){var r=p.value,s=void 0;s="horizontal"==b?i.has(r)?j[i.get(r)]:e.get(r):i.has(r)?k[i.get(r)]:e.get(r);var t=l.get(r);s<d&&(d=s),s>g&&(g=s),t<f&&(f=t),t>h&&(h=t)}}catch(a){n=!0,o=a}finally{try{!m&&q.return&&q.return()}finally{if(n)throw o}}var u=(d+g)/2-(f+h)/2,v=!0,w=!1,x=void 0;try{for(var y,z=a[Symbol.iterator]();!(v=(y=z.next()).done);v=!0){var A=y.value;l.set(A,l.get(A)+u)}}catch(a){w=!0,x=a}finally{try{!v&&z.return&&z.return()}finally{if(w)throw x}}})}return l},r=function(a){var b=0,c=0,d=0,e=0;if(a.forEach(function(a){a.left?j[i.get(a.left)]-j[i.get(a.right)]>=0?b++:c++:k[i.get(a.top)]-k[i.get(a.bottom)]>=0?d++:e++}),b>c&&d>e)for(var f=0;f<i.size;f++)j[f]=-1*j[f],k[f]=-1*k[f];else if(b>c)for(var g=0;g<i.size;g++)j[g]=-1*j[g];else if(d>e)for(var h=0;h<i.size;h++)k[h]=-1*k[h]},s=function(a){var b=[],c=new f,d=new Set,e=0;return a.forEach(function(f,g){if(!d.has(g)){b[e]=[];var h=g;for(c.push(h),d.add(h),b[e].push(h);0!=c.length;)h=c.shift(),a.get(h).forEach(function(a){d.has(a.id)||(c.push(a.id),d.add(a.id),b[e].push(a.id))});e++}}),b},t=function(a){var b=new Map;return a.forEach(function(a,c){b.set(c,[])}),a.forEach(function(a,c){a.forEach(function(a){b.get(c).push(a),b.get(a.id).push({id:c,gap:a.gap,direction:a.direction})})}),b},u=function(a){var b=new Map;return a.forEach(function(a,c){b.set(c,[])}),a.forEach(function(a,c){a.forEach(function(a){b.get(a.id).push({id:c,gap:a.gap,direction:a.direction})})}),b},v=[],w=[],x=!1,y=!1,z=new Set,A=new Map,B=new Map,C=[];if(b.fixedNodeConstraint&&b.fixedNodeConstraint.forEach(function(a){z.add(a.nodeId)}),b.relativePlacementConstraint&&(b.relativePlacementConstraint.forEach(function(a){a.left?(A.has(a.left)?A.get(a.left).push({id:a.right,gap:a.gap,direction:"horizontal"}):A.set(a.left,[{id:a.right,gap:a.gap,direction:"horizontal"}]),A.has(a.right)||A.set(a.right,[])):(A.has(a.top)?A.get(a.top).push({id:a.bottom,gap:a.gap,direction:"vertical"}):A.set(a.top,[{id:a.bottom,gap:a.gap,direction:"vertical"}]),A.has(a.bottom)||A.set(a.bottom,[]))}),C=s(B=t(A))),e.TRANSFORM_ON_CONSTRAINT_HANDLING){if(b.fixedNodeConstraint&&b.fixedNodeConstraint.length>1)b.fixedNodeConstraint.forEach(function(a,b){v[b]=[a.position.x,a.position.y],w[b]=[j[i.get(a.nodeId)],k[i.get(a.nodeId)]]}),x=!0;else if(b.alignmentConstraint)!function(){var a=0;if(b.alignmentConstraint.vertical){for(var c=b.alignmentConstraint.vertical,e=0;e<c.length;e++)!function(b){var e=new Set;c[b].forEach(function(a){e.add(a)});var f=new Set([].concat(d(e)).filter(function(a){return z.has(a)})),g=void 0;g=f.size>0?j[i.get(f.values().next().value)]:p(e).x,c[b].forEach(function(b){v[a]=[g,k[i.get(b)]],w[a]=[j[i.get(b)],k[i.get(b)]],a++})}(e);x=!0}if(b.alignmentConstraint.horizontal){for(var f=b.alignmentConstraint.horizontal,g=0;g<f.length;g++)!function(b){var c=new Set;f[b].forEach(function(a){c.add(a)});var e=new Set([].concat(d(c)).filter(function(a){return z.has(a)})),g=void 0;g=e.size>0?j[i.get(e.values().next().value)]:p(c).y,f[b].forEach(function(b){v[a]=[j[i.get(b)],g],w[a]=[j[i.get(b)],k[i.get(b)]],a++})}(g);x=!0}b.relativePlacementConstraint&&(y=!0)}();else if(b.relativePlacementConstraint){for(var D=0,E=0,F=0;F<C.length;F++)C[F].length>D&&(D=C[F].length,E=F);if(D<B.size/2)r(b.relativePlacementConstraint),x=!1,y=!1;else{var G=new Map,H=new Map,I=[];C[E].forEach(function(a){A.get(a).forEach(function(b){"horizontal"==b.direction?(G.has(a)?G.get(a).push(b):G.set(a,[b]),G.has(b.id)||G.set(b.id,[]),I.push({left:a,right:b.id})):(H.has(a)?H.get(a).push(b):H.set(a,[b]),H.has(b.id)||H.set(b.id,[]),I.push({top:a,bottom:b.id}))})}),r(I),y=!1;var J=q(G,"horizontal"),K=q(H,"vertical");C[E].forEach(function(a,b){w[b]=[j[i.get(a)],k[i.get(a)]],v[b]=[],J.has(a)?v[b][0]=J.get(a):v[b][0]=j[i.get(a)],K.has(a)?v[b][1]=K.get(a):v[b][1]=k[i.get(a)]}),x=!0}}if(x){for(var L=void 0,M=g.transpose(v),N=g.transpose(w),O=0;O<M.length;O++)M[O]=g.multGamma(M[O]),N[O]=g.multGamma(N[O]);var P=g.multMat(M,g.transpose(N)),Q=h.svd(P);L=g.multMat(Q.V,g.transpose(Q.U));for(var R=0;R<i.size;R++){var S=[j[R],k[R]],T=[L[0][0],L[1][0]],U=[L[0][1],L[1][1]];j[R]=g.dotProduct(S,T),k[R]=g.dotProduct(S,U)}y&&r(b.relativePlacementConstraint)}}if(e.ENFORCE_CONSTRAINTS){if(b.fixedNodeConstraint&&b.fixedNodeConstraint.length>0){var V={x:0,y:0};b.fixedNodeConstraint.forEach(function(a,b){var c,d={x:j[i.get(a.nodeId)],y:k[i.get(a.nodeId)]},e=(c=a.position,{x:c.x-d.x,y:c.y-d.y});V.x+=e.x,V.y+=e.y}),V.x/=b.fixedNodeConstraint.length,V.y/=b.fixedNodeConstraint.length,j.forEach(function(a,b){j[b]+=V.x}),k.forEach(function(a,b){k[b]+=V.y}),b.fixedNodeConstraint.forEach(function(a){j[i.get(a.nodeId)]=a.position.x,k[i.get(a.nodeId)]=a.position.y})}if(b.alignmentConstraint){if(b.alignmentConstraint.vertical)for(var W=b.alignmentConstraint.vertical,X=0;X<W.length;X++)!function(a){var b=new Set;W[a].forEach(function(a){b.add(a)});var c=new Set([].concat(d(b)).filter(function(a){return z.has(a)})),e=void 0;e=c.size>0?j[i.get(c.values().next().value)]:p(b).x,b.forEach(function(a){z.has(a)||(j[i.get(a)]=e)})}(X);if(b.alignmentConstraint.horizontal)for(var Y=b.alignmentConstraint.horizontal,Z=0;Z<Y.length;Z++)!function(a){var b=new Set;Y[a].forEach(function(a){b.add(a)});var c=new Set([].concat(d(b)).filter(function(a){return z.has(a)})),e=void 0;e=c.size>0?k[i.get(c.values().next().value)]:p(b).y,b.forEach(function(a){z.has(a)||(k[i.get(a)]=e)})}(Z)}b.relativePlacementConstraint&&function(){var a=new Map,c=new Map,d=new Map,e=new Map,f=new Map,g=new Map,h=new Set,l=new Set;if(z.forEach(function(a){h.add(a),l.add(a)}),b.alignmentConstraint){if(b.alignmentConstraint.vertical)for(var m=b.alignmentConstraint.vertical,n=function(b){d.set("dummy"+b,[]),m[b].forEach(function(c){a.set(c,"dummy"+b),d.get("dummy"+b).push(c),z.has(c)&&h.add("dummy"+b)}),f.set("dummy"+b,j[i.get(m[b][0])])},o=0;o<m.length;o++)n(o);if(b.alignmentConstraint.horizontal)for(var p=b.alignmentConstraint.horizontal,r=function(a){e.set("dummy"+a,[]),p[a].forEach(function(b){c.set(b,"dummy"+a),e.get("dummy"+a).push(b),z.has(b)&&l.add("dummy"+a)}),g.set("dummy"+a,k[i.get(p[a][0])])},v=0;v<p.length;v++)r(v)}var w=new Map,x=new Map,y=function(b){A.get(b).forEach(function(d){var e=void 0,f=void 0;"horizontal"==d.direction?(e=a.get(b)?a.get(b):b,f=a.get(d.id)?{id:a.get(d.id),gap:d.gap,direction:d.direction}:d,w.has(e)?w.get(e).push(f):w.set(e,[f]),w.has(f.id)||w.set(f.id,[])):(e=c.get(b)?c.get(b):b,f=c.get(d.id)?{id:c.get(d.id),gap:d.gap,direction:d.direction}:d,x.has(e)?x.get(e).push(f):x.set(e,[f]),x.has(f.id)||x.set(f.id,[]))})},B=!0,C=!1,D=void 0;try{for(var E,F=A.keys()[Symbol.iterator]();!(B=(E=F.next()).done);B=!0){var G=E.value;y(G)}}catch(a){C=!0,D=a}finally{try{!B&&F.return&&F.return()}finally{if(C)throw D}}var H=t(w),I=t(x),J=s(H),K=s(I),L=u(w),M=u(x),N=[],O=[];J.forEach(function(a,b){N[b]=[],a.forEach(function(a){0==L.get(a).length&&N[b].push(a)})}),K.forEach(function(a,b){O[b]=[],a.forEach(function(a){0==M.get(a).length&&O[b].push(a)})});var P=q(w,"horizontal",h,f,N),Q=q(x,"vertical",l,g,O),R=function(a){d.get(a)?d.get(a).forEach(function(b){j[i.get(b)]=P.get(a)}):j[i.get(a)]=P.get(a)},S=!0,T=!1,U=void 0;try{for(var V,W=P.keys()[Symbol.iterator]();!(S=(V=W.next()).done);S=!0){var X=V.value;R(X)}}catch(a){T=!0,U=a}finally{try{!S&&W.return&&W.return()}finally{if(T)throw U}}var Y=function(a){e.get(a)?e.get(a).forEach(function(b){k[i.get(b)]=Q.get(a)}):k[i.get(a)]=Q.get(a)},Z=!0,$=!1,_=void 0;try{for(var aa,ab=Q.keys()[Symbol.iterator]();!(Z=(aa=ab.next()).done);Z=!0){var X=aa.value;Y(X)}}catch(a){$=!0,_=a}finally{try{!Z&&ab.return&&ab.return()}finally{if($)throw _}}}()}for(var $=0;$<l.length;$++){var _=l[$];null==_.getChild()&&_.setCenter(j[i.get(_.id)],k[i.get(_.id)])}},a.exports=i},551:a=>{a.exports=d}},b={};return function c(d){var e=b[d];if(void 0!==e)return e.exports;var f=b[d]={exports:{}};return a[d](f,f.exports,c),f.exports}(45)})()},92169:(a,b,c)=>{"use strict";c.d(b,{diagram:()=>aa});var d=c(4328),e=c(71904),f=c(59343),g=c(73669),h=c(64922),i=c(45313),j=c(58715),k=c(95097),l=c(92325),m=c(17307),n=c(18980),o=c(92718),p={L:"left",R:"right",T:"top",B:"bottom"},q={L:(0,k.K)(a=>`${a},${a/2} 0,${a} 0,0`,"L"),R:(0,k.K)(a=>`0,${a/2} ${a},0 ${a},${a}`,"R"),T:(0,k.K)(a=>`0,0 ${a},0 ${a/2},${a}`,"T"),B:(0,k.K)(a=>`${a/2},0 ${a},${a} 0,${a}`,"B")},r={L:(0,k.K)((a,b)=>a-b+2,"L"),R:(0,k.K)((a,b)=>a-2,"R"),T:(0,k.K)((a,b)=>a-b+2,"T"),B:(0,k.K)((a,b)=>a-2,"B")},s=(0,k.K)(function(a){return u(a)?"L"===a?"R":"L":"T"===a?"B":"T"},"getOppositeArchitectureDirection"),t=(0,k.K)(function(a){return"L"===a||"R"===a||"T"===a||"B"===a},"isArchitectureDirection"),u=(0,k.K)(function(a){return"L"===a||"R"===a},"isArchitectureDirectionX"),v=(0,k.K)(function(a){return"T"===a||"B"===a},"isArchitectureDirectionY"),w=(0,k.K)(function(a,b){let c=u(a)&&v(b),d=v(a)&&u(b);return c||d},"isArchitectureDirectionXY"),x=(0,k.K)(function(a){let b=a[0],c=a[1],d=u(b)&&v(c),e=v(b)&&u(c);return d||e},"isArchitecturePairXY"),y=(0,k.K)(function(a){return"LL"!==a&&"RR"!==a&&"TT"!==a&&"BB"!==a},"isValidArchitectureDirectionPair"),z=(0,k.K)(function(a,b){let c=`${a}${b}`;return y(c)?c:void 0},"getArchitectureDirectionPair"),A=(0,k.K)(function([a,b],c){let d=c[0],e=c[1];if(u(d))if(v(e))return[a+("L"===d?-1:1),b+("T"===e?1:-1)];else return[a+("L"===d?-1:1),b];return u(e)?[a+("L"===e?1:-1),b+("T"===d?1:-1)]:[a,b+("T"===d?1:-1)]},"shiftPositionByArchitectureDirectionPair"),B=(0,k.K)(function(a){return"LT"===a||"TL"===a?[1,1]:"BL"===a||"LB"===a?[1,-1]:"BR"===a||"RB"===a?[-1,-1]:[-1,1]},"getArchitectureDirectionXYFactors"),C=(0,k.K)(function(a,b){return w(a,b)?"bend":u(a)?"horizontal":"vertical"},"getArchitectureDirectionAlignment"),D=(0,k.K)(function(a){return"service"===a.type},"isArchitectureService"),E=(0,k.K)(function(a){return"junction"===a.type},"isArchitectureJunction"),F=(0,k.K)((a,b)=>{let[c,d]=[a,b].sort();return`${JSON.stringify(c)}-${JSON.stringify(d)}`},"architectureGroupAlignmentKey"),G=(0,k.K)(a=>a.data(),"edgeData"),H=(0,k.K)(a=>a.data(),"nodeData"),I=i.UI.architecture,J=class{constructor(){this.nodes=new Map,this.groups=new Map,this.edges=[],this.layoutHints=[],this.registeredIds=new Map,this.elements=new Map,this.diagramId="",this.setAccTitle=i.SV,this.getAccTitle=i.iN,this.setDiagramTitle=i.ke,this.getDiagramTitle=i.ab,this.getAccDescription=i.m7,this.setAccDescription=i.EI,this.clear()}static{(0,k.K)(this,"ArchitectureDB")}setDiagramId(a){this.diagramId=a}getDiagramId(){return this.diagramId}clear(){this.nodes=new Map,this.groups=new Map,this.edges=[],this.layoutHints=[],this.registeredIds=new Map,this.dataStructures=void 0,this.elements=new Map,this.diagramId="",(0,i.IU)()}addService({id:a,icon:b,in:c,title:d,iconText:e}){if(this.registeredIds.has(a))throw Error(`The service id [${a}] is already in use by another ${this.registeredIds.get(a)}`);if(void 0!==c){if(a===c)throw Error(`The service [${a}] cannot be placed within itself`);if(!this.registeredIds.has(c))throw Error(`The service [${a}]'s parent does not exist. Please make sure the parent is created before this service`);if("node"===this.registeredIds.get(c))throw Error(`The service [${a}]'s parent is not a group`)}this.registeredIds.set(a,"node"),this.nodes.set(a,{id:a,type:"service",icon:b,iconText:e,title:d,edges:[],in:c})}getServices(){return[...this.nodes.values()].filter(D)}addJunction({id:a,in:b}){if(this.registeredIds.has(a))throw Error(`The junction id [${a}] is already in use by another ${this.registeredIds.get(a)}`);if(void 0!==b){if(a===b)throw Error(`The junction [${a}] cannot be placed within itself`);if(!this.registeredIds.has(b))throw Error(`The junction [${a}]'s parent does not exist. Please make sure the parent is created before this junction`);if("node"===this.registeredIds.get(b))throw Error(`The junction [${a}]'s parent is not a group`)}this.registeredIds.set(a,"node"),this.nodes.set(a,{id:a,type:"junction",edges:[],in:b})}getJunctions(){return[...this.nodes.values()].filter(E)}getNodes(){return[...this.nodes.values()]}getNode(a){return this.nodes.get(a)??null}addGroup({id:a,icon:b,in:c,title:d}){if(this.registeredIds.has(a))throw Error(`The group id [${a}] is already in use by another ${this.registeredIds.get(a)}`);if(void 0!==c){if(a===c)throw Error(`The group [${a}] cannot be placed within itself`);if(!this.registeredIds.has(c))throw Error(`The group [${a}]'s parent does not exist. Please make sure the parent is created before this group`);if("node"===this.registeredIds.get(c))throw Error(`The group [${a}]'s parent is not a group`)}this.registeredIds.set(a,"group"),this.groups.set(a,{id:a,icon:b,title:d,in:c})}getGroups(){return[...this.groups.values()]}addEdge({lhsId:a,rhsId:b,lhsDir:c,rhsDir:d,lhsInto:e,rhsInto:f,lhsGroup:g,rhsGroup:h,title:i}){if(!t(c))throw Error(`Invalid direction given for left hand side of edge ${a}--${b}. Expected (L,R,T,B) got ${String(c)}`);if(!t(d))throw Error(`Invalid direction given for right hand side of edge ${a}--${b}. Expected (L,R,T,B) got ${String(d)}`);if(!this.nodes.has(a)&&!this.groups.has(a))throw Error(`The left-hand id [${a}] does not yet exist. Please create the service/group before declaring an edge to it.`);if(!this.nodes.has(b)&&!this.groups.has(b))throw Error(`The right-hand id [${b}] does not yet exist. Please create the service/group before declaring an edge to it.`);let j=this.nodes.get(a).in,k=this.nodes.get(b).in;if(g&&j&&k&&j==k)throw Error(`The left-hand id [${a}] is modified to traverse the group boundary, but the edge does not pass through two groups.`);if(h&&j&&k&&j==k)throw Error(`The right-hand id [${b}] is modified to traverse the group boundary, but the edge does not pass through two groups.`);this.edges.push({lhsId:a,lhsDir:c,lhsInto:e,lhsGroup:g,rhsId:b,rhsDir:d,rhsInto:f,rhsGroup:h,title:i});let l=this.nodes.get(a),m=this.nodes.get(b);l&&m&&(l.edges.push(this.edges[this.edges.length-1]),m.edges.push(this.edges[this.edges.length-1]))}getEdges(){return this.edges}addLayoutHint(a){if(a.members.length<2)throw Error(`An align directive requires at least two members; got ${a.members.length}`);let b=new Set;a.members.forEach(c=>{if("node"!==this.registeredIds.get(c))throw Error(`align ${a.direction} references [${c}], which is not a service or junction`);if(b.has(c))throw Error(`align ${a.direction} lists [${c}] more than once`);b.add(c)}),this.layoutHints.push(a)}getLayoutHints(){return this.layoutHints}getDataStructures(){if(void 0===this.dataStructures){let a=new Map,b=new Map;for(let[c,d]of this.nodes.entries()){let e=new Map;for(let b of d.edges){let d=this.getNode(b.lhsId)?.in,f=this.getNode(b.rhsId)?.in;if(d&&f&&d!==f){let c=C(b.lhsDir,b.rhsDir);"bend"!==c&&a.set(F(d,f),c)}if(b.lhsId===c){let a=z(b.lhsDir,b.rhsDir);a&&e.set(a,b.rhsId)}else{let a=z(b.rhsDir,b.lhsDir);a&&e.set(a,b.lhsId)}}b.set(c,e)}let c=new Set,d=new Set(b.keys()),e=(0,k.K)(a=>{let e=new Map([[a,[0,0]]]),f=[a];for(;f.length>0;){let a=f.shift();if(a){c.add(a),d.delete(a);let g=b.get(a);if(!g)throw Error(`BFS error: adjacency list for id ${a} not found. Please report this as a bug.`);let h=e.get(a);if(!h)throw Error(`BFS error: position for id ${a} not found in spatial map. Please report this as a bug.`);let[i,j]=h;g.forEach((a,b)=>{c.has(a)||(e.set(a,A([i,j],b)),f.push(a))})}}return e},"BFS"),f=[];for(;d.size>0;){let a=d.values().next().value;f.push(e(a))}this.dataStructures={adjList:b,spatialMaps:f,groupAlignments:a}}return this.dataStructures}setElementForId(a,b){this.elements.set(a,b)}getElementById(a){return this.elements.get(a)}getConfig(){return(0,h.$t)({...I,...(0,i.zj)().architecture})}getConfigField(a){return this.getConfig()[a]}},K=(0,k.K)((a,b)=>{(0,d.S)(a,b),a.groups.map(a=>b.addGroup(a)),a.services.map(a=>b.addService({...a,type:"service"})),a.junctions.map(a=>b.addJunction({...a,type:"junction"})),a.edges.map(a=>b.addEdge(a)),a.alignments?.map(a=>b.addLayoutHint({direction:a.direction,members:[...a.members]}))},"populateDb"),L={parser:{yy:void 0},parse:(0,k.K)(async a=>{let b=await (0,l.qg)("architecture",a);j.R.debug(b);let c=L.parser?.yy;if(!(c instanceof J))throw Error("parser.parser?.yy was not a ArchitectureDB. This is due to a bug within Mermaid, please report this issue at https://github.com/mermaid-js/mermaid/issues.");K(b,c)},"parse")},M=(0,k.K)(a=>`
2
2
  .edge {
3
3
  stroke-width: ${a.archEdgeWidth};
4
4
  stroke: ${a.archEdgeColor};
@@ -27,4 +27,4 @@ exports.id=2404,exports.ids=[2404],exports.modules={19225:(a,b,c)=>{"use strict"
27
27
  body,
28
28
  tokenize = 'trigram'
29
29
  );
30
- `),function(a){let b=a.prepare("PRAGMA user_version").get().user_version;for(let c of h)if(!(c.version<=b)){a.exec("BEGIN");try{for(let b of c.statements)try{a.exec(b)}catch(b){let a=b instanceof Error?b.message:String(b);if(!/duplicate column name/i.test(a))throw b}a.exec(`PRAGMA user_version = ${c.version}`),a.exec("COMMIT"),b=c.version}catch(b){throw a.exec("ROLLBACK"),b}}}(a),globalThis.__piWebDb=b,b}let h=[{version:1,name:"pinned columns",statements:["ALTER TABLE tasks ADD COLUMN pinned INTEGER NOT NULL DEFAULT 0;","ALTER TABLE session_meta ADD COLUMN pinned INTEGER NOT NULL DEFAULT 0;"]},{version:2,name:"tasks.sort_order",statements:["ALTER TABLE tasks ADD COLUMN sort_order INTEGER NOT NULL DEFAULT 0;"]},{version:3,name:"session boards",statements:["CREATE TABLE IF NOT EXISTS boards (\n id TEXT PRIMARY KEY,\n project_key TEXT NOT NULL,\n name TEXT NOT NULL,\n is_system INTEGER NOT NULL DEFAULT 0,\n created INTEGER NOT NULL,\n updated INTEGER NOT NULL\n);","CREATE INDEX IF NOT EXISTS idx_boards_project ON boards(project_key);","CREATE TABLE IF NOT EXISTS board_nodes (\n id TEXT PRIMARY KEY,\n board_id TEXT NOT NULL,\n kind TEXT NOT NULL,\n ref_id TEXT,\n x REAL NOT NULL,\n y REAL NOT NULL,\n w REAL NOT NULL DEFAULT 0,\n h REAL NOT NULL DEFAULT 0,\n expanded INTEGER NOT NULL DEFAULT 0,\n props TEXT NOT NULL DEFAULT '{}',\n created INTEGER NOT NULL,\n updated INTEGER NOT NULL\n);","CREATE INDEX IF NOT EXISTS idx_board_nodes_board ON board_nodes(board_id);","CREATE TABLE IF NOT EXISTS board_edges (\n id TEXT PRIMARY KEY,\n board_id TEXT NOT NULL,\n from_id TEXT NOT NULL,\n to_id TEXT NOT NULL,\n label TEXT,\n color TEXT,\n dashed INTEGER NOT NULL DEFAULT 0,\n created INTEGER NOT NULL,\n updated INTEGER NOT NULL\n);","CREATE INDEX IF NOT EXISTS idx_board_edges_board ON board_edges(board_id);","CREATE TABLE IF NOT EXISTS board_view (\n board_id TEXT PRIMARY KEY,\n camera_x REAL NOT NULL DEFAULT 0,\n camera_y REAL NOT NULL DEFAULT 0,\n camera_z REAL NOT NULL DEFAULT 1,\n updated INTEGER NOT NULL\n);"]},{version:4,name:"boards.sort_order",statements:["ALTER TABLE boards ADD COLUMN sort_order INTEGER NOT NULL DEFAULT 0;"]},{version:5,name:"boards.task_id",statements:["ALTER TABLE boards ADD COLUMN task_id TEXT NULL;","CREATE INDEX IF NOT EXISTS idx_boards_task ON boards(task_id);"]},{version:6,name:"boards.task_id unique (防并发重复创建任务看板)",statements:["CREATE UNIQUE INDEX IF NOT EXISTS idx_boards_task_unique ON boards(task_id);"]},{version:7,name:"task cards",statements:["CREATE TABLE IF NOT EXISTS task_cards (\n id TEXT PRIMARY KEY,\n board_id TEXT NOT NULL,\n project_key TEXT NOT NULL,\n number INTEGER NOT NULL,\n name TEXT NOT NULL,\n description TEXT NOT NULL DEFAULT '',\n ready_status TEXT NOT NULL DEFAULT 'draft',\n exec_status TEXT NOT NULL DEFAULT 'not_started',\n priority INTEGER NOT NULL DEFAULT 0,\n due INTEGER,\n attachments TEXT NOT NULL DEFAULT '[]',\n cwd TEXT,\n use_worktree INTEGER NOT NULL DEFAULT 0,\n max_retries INTEGER NOT NULL DEFAULT 3,\n retry_count INTEGER NOT NULL DEFAULT 0,\n session_id TEXT,\n created INTEGER NOT NULL,\n updated INTEGER NOT NULL\n);","CREATE INDEX IF NOT EXISTS idx_task_cards_board ON task_cards(board_id);","CREATE INDEX IF NOT EXISTS idx_task_cards_project ON task_cards(project_key);","CREATE UNIQUE INDEX IF NOT EXISTS idx_task_cards_number ON task_cards(project_key, number);","CREATE INDEX IF NOT EXISTS idx_task_cards_status ON task_cards(ready_status, exec_status);","CREATE TABLE IF NOT EXISTS task_card_links (\n id TEXT PRIMARY KEY,\n card_id TEXT NOT NULL,\n target_card_id TEXT NOT NULL,\n kind TEXT NOT NULL,\n created INTEGER NOT NULL,\n UNIQUE(card_id, target_card_id, kind)\n);","CREATE INDEX IF NOT EXISTS idx_task_links_card ON task_card_links(card_id);","CREATE TABLE IF NOT EXISTS task_card_questions (\n id TEXT PRIMARY KEY,\n card_id TEXT NOT NULL,\n session_id TEXT NOT NULL,\n question TEXT NOT NULL,\n status TEXT NOT NULL DEFAULT 'pending',\n answer TEXT,\n created INTEGER NOT NULL,\n answered INTEGER\n);","CREATE INDEX IF NOT EXISTS idx_task_questions_status ON task_card_questions(status);"]},{version:8,name:"task_cards.dispatch_token (跨进程派发互斥锁)",statements:["ALTER TABLE task_cards ADD COLUMN dispatch_token TEXT NULL;"]}]},72498:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.d(b,{Fk:()=>i,Y1:()=>g,er:()=>h});var e=c(75430),f=a([e]);function g(a,b){if(!(a&&(0,e.hasTrustRequiringProjectResources)(a)))return{requiresTrust:!1,trusted:!0};let c=new e.ProjectTrustStore(b);return{requiresTrust:!0,trusted:!0===c.get(a)}}function h(a,b){let c=g(a,b);return c.requiresTrust?(new e.ProjectTrustStore(b).set(a,!0),{requiresTrust:!0,trusted:!0}):c}function i(a,b){if(!g(a,b).requiresTrust)return;let c=new e.ProjectTrustStore(b);return{resolveProjectTrust:async()=>!0===c.get(a)}}e=(f.then?(await f)():f)[0],d()}catch(a){d(a)}})},78335:()=>{},80547:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.d(b,{A$:()=>o,B7:()=>p,Nw:()=>i.Nw,mc:()=>n,uK:()=>l.uK,wz:()=>i.wz});var e=c(29021),f=c(21820),g=c(33873),h=c.n(g),i=c(25252),j=c(82536),k=c(40402),l=c(58864),m=a([k]);async function n(){let a=Date.now(),b=globalThis.__piAllowedRootsCache;if(b&&b.expiresAt>a)return b.roots;let c=await (0,k.listAllSessions)(),d=new Set;for(let a of c)a.cwd&&d.add((0,i.Nw)(a.cwd)),a.projectRoot&&d.add((0,i.Nw)(a.projectRoot));try{for(let a of(0,e.readdirSync)((0,f.homedir)()))/^pi-cwd-\d{8}$/.test(a)&&d.add((0,i.Nw)(h().join((0,f.homedir)(),a)))}catch{}for(let a of(0,i.HM)())d.add(a);return globalThis.__piAllowedRootsCache={roots:d,expiresAt:a+5e3},d}function o(a,b){return(0,j.o)(a,b)}function p(a,b){return(0,j.x)(a,b)}k=(m.then?(await m)():m)[0],d()}catch(a){d(a)}})},82536:(a,b,c)=>{"use strict";c.d(b,{o:()=>h,x:()=>i});var d=c(29021),e=c(33873),f=c.n(e),g=c(58864);function h(a,b){for(let c of b){let b=(0,g.uK)(a)||(0,g.uK)(c),d=b?f().win32:f(),e=b?"\\":f().sep,h=d.resolve(a),i=d.resolve(c),j=b?h.toLowerCase():h,k=b?i.toLowerCase():i,l=k.endsWith(e)?k:k+e;if(j===k||j.startsWith(l))return!0}return!1}function i(a,b){let c;try{c=(0,d.realpathSync)(a)}catch{return!1}let e=new Set;for(let a of b)try{e.add((0,d.realpathSync)(a))}catch{}return h(c,e)}},89950:(a,b,c)=>{"use strict";c.d(b,{l:()=>h,z:()=>g});let d=new Set(["models_json_key","models_json_command"]),e={"openai-codex":"ChatGPT Plus/Pro","github-copilot":"GitHub Copilot"};function f(a){let b=new Set,c=[];for(let d of a)b.has(d.id)||(b.add(d.id),c.push(d));return c}function g(a){let b=[];for(let c of f(a)){if(!c.hasApiKeyLogin||c.status.source&&d.has(c.status.source))continue;let a=c.status.configured&&"oauth"!==c.credentialType;b.push({id:c.id,displayName:c.name,configured:a,...a&&c.status.source?{source:c.status.source}:{},modelCount:c.modelCount,supportsOAuth:c.hasOAuth})}return b}function h(a){let b=[];for(let c of f(a))c.hasOAuth&&b.push({id:c.id,name:e[c.id]??c.oauthName??c.name,usesCallbackServer:!1,loggedIn:"oauth"===c.credentialType,supportsApiKey:c.hasApiKeyLogin});return b}},92280:(a,b,c)=>{"use strict";Object.defineProperty(b,"I",{enumerable:!0,get:function(){return g}});let d=c(28208),e=c(47617),f=c(62018);async function g(a,b,c,g){if((0,d.isNodeNextResponse)(b)){var h;b.statusCode=c.status,b.statusMessage=c.statusText;let d=["set-cookie","www-authenticate","proxy-authenticate","vary"];null==(h=c.headers)||h.forEach((a,c)=>{if("x-middleware-set-cookie"!==c.toLowerCase())if("set-cookie"===c.toLowerCase())for(let d of(0,f.splitCookiesString)(a))b.appendHeader(c,d);else{let e=void 0!==b.getHeader(c);(d.includes(c.toLowerCase())||!e)&&b.appendHeader(c,a)}});let{originalResponse:i}=b;c.body&&"HEAD"!==a.method?await (0,e.pipeToNodeResponse)(c.body,i,g):i.end()}}},96487:()=>{}};
30
+ `),function(a){let b=a.prepare("PRAGMA user_version").get().user_version;for(let c of h)if(!(c.version<=b)){a.exec("BEGIN");try{for(let b of c.statements)try{a.exec(b)}catch(b){let a=b instanceof Error?b.message:String(b);if(!/duplicate column name/i.test(a))throw b}a.exec(`PRAGMA user_version = ${c.version}`),a.exec("COMMIT"),b=c.version}catch(b){throw a.exec("ROLLBACK"),b}}}(a),globalThis.__piWebDb=b,b}let h=[{version:1,name:"pinned columns",statements:["ALTER TABLE tasks ADD COLUMN pinned INTEGER NOT NULL DEFAULT 0;","ALTER TABLE session_meta ADD COLUMN pinned INTEGER NOT NULL DEFAULT 0;"]},{version:2,name:"tasks.sort_order",statements:["ALTER TABLE tasks ADD COLUMN sort_order INTEGER NOT NULL DEFAULT 0;"]},{version:3,name:"session boards",statements:["CREATE TABLE IF NOT EXISTS boards (\n id TEXT PRIMARY KEY,\n project_key TEXT NOT NULL,\n name TEXT NOT NULL,\n is_system INTEGER NOT NULL DEFAULT 0,\n created INTEGER NOT NULL,\n updated INTEGER NOT NULL\n);","CREATE INDEX IF NOT EXISTS idx_boards_project ON boards(project_key);","CREATE TABLE IF NOT EXISTS board_nodes (\n id TEXT PRIMARY KEY,\n board_id TEXT NOT NULL,\n kind TEXT NOT NULL,\n ref_id TEXT,\n x REAL NOT NULL,\n y REAL NOT NULL,\n w REAL NOT NULL DEFAULT 0,\n h REAL NOT NULL DEFAULT 0,\n expanded INTEGER NOT NULL DEFAULT 0,\n props TEXT NOT NULL DEFAULT '{}',\n created INTEGER NOT NULL,\n updated INTEGER NOT NULL\n);","CREATE INDEX IF NOT EXISTS idx_board_nodes_board ON board_nodes(board_id);","CREATE TABLE IF NOT EXISTS board_edges (\n id TEXT PRIMARY KEY,\n board_id TEXT NOT NULL,\n from_id TEXT NOT NULL,\n to_id TEXT NOT NULL,\n label TEXT,\n color TEXT,\n dashed INTEGER NOT NULL DEFAULT 0,\n created INTEGER NOT NULL,\n updated INTEGER NOT NULL\n);","CREATE INDEX IF NOT EXISTS idx_board_edges_board ON board_edges(board_id);","CREATE TABLE IF NOT EXISTS board_view (\n board_id TEXT PRIMARY KEY,\n camera_x REAL NOT NULL DEFAULT 0,\n camera_y REAL NOT NULL DEFAULT 0,\n camera_z REAL NOT NULL DEFAULT 1,\n updated INTEGER NOT NULL\n);"]},{version:4,name:"boards.sort_order",statements:["ALTER TABLE boards ADD COLUMN sort_order INTEGER NOT NULL DEFAULT 0;"]},{version:5,name:"boards.task_id",statements:["ALTER TABLE boards ADD COLUMN task_id TEXT NULL;","CREATE INDEX IF NOT EXISTS idx_boards_task ON boards(task_id);"]},{version:6,name:"boards.task_id unique (防并发重复创建任务看板)",statements:["CREATE UNIQUE INDEX IF NOT EXISTS idx_boards_task_unique ON boards(task_id);"]},{version:7,name:"task cards",statements:["CREATE TABLE IF NOT EXISTS task_cards (\n id TEXT PRIMARY KEY,\n board_id TEXT NOT NULL,\n project_key TEXT NOT NULL,\n number INTEGER NOT NULL,\n name TEXT NOT NULL,\n description TEXT NOT NULL DEFAULT '',\n ready_status TEXT NOT NULL DEFAULT 'draft',\n exec_status TEXT NOT NULL DEFAULT 'not_started',\n priority INTEGER NOT NULL DEFAULT 0,\n due INTEGER,\n attachments TEXT NOT NULL DEFAULT '[]',\n cwd TEXT,\n use_worktree INTEGER NOT NULL DEFAULT 0,\n max_retries INTEGER NOT NULL DEFAULT 3,\n retry_count INTEGER NOT NULL DEFAULT 0,\n session_id TEXT,\n created INTEGER NOT NULL,\n updated INTEGER NOT NULL\n);","CREATE INDEX IF NOT EXISTS idx_task_cards_board ON task_cards(board_id);","CREATE INDEX IF NOT EXISTS idx_task_cards_project ON task_cards(project_key);","CREATE UNIQUE INDEX IF NOT EXISTS idx_task_cards_number ON task_cards(project_key, number);","CREATE INDEX IF NOT EXISTS idx_task_cards_status ON task_cards(ready_status, exec_status);","CREATE TABLE IF NOT EXISTS task_card_links (\n id TEXT PRIMARY KEY,\n card_id TEXT NOT NULL,\n target_card_id TEXT NOT NULL,\n kind TEXT NOT NULL,\n created INTEGER NOT NULL,\n UNIQUE(card_id, target_card_id, kind)\n);","CREATE INDEX IF NOT EXISTS idx_task_links_card ON task_card_links(card_id);","CREATE TABLE IF NOT EXISTS task_card_questions (\n id TEXT PRIMARY KEY,\n card_id TEXT NOT NULL,\n session_id TEXT NOT NULL,\n question TEXT NOT NULL,\n status TEXT NOT NULL DEFAULT 'pending',\n answer TEXT,\n created INTEGER NOT NULL,\n answered INTEGER\n);","CREATE INDEX IF NOT EXISTS idx_task_questions_status ON task_card_questions(status);"]},{version:8,name:"task_cards.dispatch_token (跨进程派发互斥锁)",statements:["ALTER TABLE task_cards ADD COLUMN dispatch_token TEXT NULL;"]},{version:9,name:"task_cards.owner + heartbeat (状态判定实例归属)",statements:["ALTER TABLE task_cards ADD COLUMN owner TEXT NULL;","ALTER TABLE task_cards ADD COLUMN heartbeat INTEGER NOT NULL DEFAULT 0;"]}]},72498:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.d(b,{Fk:()=>i,Y1:()=>g,er:()=>h});var e=c(75430),f=a([e]);function g(a,b){if(!(a&&(0,e.hasTrustRequiringProjectResources)(a)))return{requiresTrust:!1,trusted:!0};let c=new e.ProjectTrustStore(b);return{requiresTrust:!0,trusted:!0===c.get(a)}}function h(a,b){let c=g(a,b);return c.requiresTrust?(new e.ProjectTrustStore(b).set(a,!0),{requiresTrust:!0,trusted:!0}):c}function i(a,b){if(!g(a,b).requiresTrust)return;let c=new e.ProjectTrustStore(b);return{resolveProjectTrust:async()=>!0===c.get(a)}}e=(f.then?(await f)():f)[0],d()}catch(a){d(a)}})},78335:()=>{},80547:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.d(b,{A$:()=>o,B7:()=>p,Nw:()=>i.Nw,mc:()=>n,uK:()=>l.uK,wz:()=>i.wz});var e=c(29021),f=c(21820),g=c(33873),h=c.n(g),i=c(25252),j=c(82536),k=c(40402),l=c(58864),m=a([k]);async function n(){let a=Date.now(),b=globalThis.__piAllowedRootsCache;if(b&&b.expiresAt>a)return b.roots;let c=await (0,k.listAllSessions)(),d=new Set;for(let a of c)a.cwd&&d.add((0,i.Nw)(a.cwd)),a.projectRoot&&d.add((0,i.Nw)(a.projectRoot));try{for(let a of(0,e.readdirSync)((0,f.homedir)()))/^pi-cwd-\d{8}$/.test(a)&&d.add((0,i.Nw)(h().join((0,f.homedir)(),a)))}catch{}for(let a of(0,i.HM)())d.add(a);return globalThis.__piAllowedRootsCache={roots:d,expiresAt:a+5e3},d}function o(a,b){return(0,j.o)(a,b)}function p(a,b){return(0,j.x)(a,b)}k=(m.then?(await m)():m)[0],d()}catch(a){d(a)}})},82536:(a,b,c)=>{"use strict";c.d(b,{o:()=>h,x:()=>i});var d=c(29021),e=c(33873),f=c.n(e),g=c(58864);function h(a,b){for(let c of b){let b=(0,g.uK)(a)||(0,g.uK)(c),d=b?f().win32:f(),e=b?"\\":f().sep,h=d.resolve(a),i=d.resolve(c),j=b?h.toLowerCase():h,k=b?i.toLowerCase():i,l=k.endsWith(e)?k:k+e;if(j===k||j.startsWith(l))return!0}return!1}function i(a,b){let c;try{c=(0,d.realpathSync)(a)}catch{return!1}let e=new Set;for(let a of b)try{e.add((0,d.realpathSync)(a))}catch{}return h(c,e)}},89950:(a,b,c)=>{"use strict";c.d(b,{l:()=>h,z:()=>g});let d=new Set(["models_json_key","models_json_command"]),e={"openai-codex":"ChatGPT Plus/Pro","github-copilot":"GitHub Copilot"};function f(a){let b=new Set,c=[];for(let d of a)b.has(d.id)||(b.add(d.id),c.push(d));return c}function g(a){let b=[];for(let c of f(a)){if(!c.hasApiKeyLogin||c.status.source&&d.has(c.status.source))continue;let a=c.status.configured&&"oauth"!==c.credentialType;b.push({id:c.id,displayName:c.name,configured:a,...a&&c.status.source?{source:c.status.source}:{},modelCount:c.modelCount,supportsOAuth:c.hasOAuth})}return b}function h(a){let b=[];for(let c of f(a))c.hasOAuth&&b.push({id:c.id,name:e[c.id]??c.oauthName??c.name,usesCallbackServer:!1,loggedIn:"oauth"===c.credentialType,supportsApiKey:c.hasApiKeyLogin});return b}},92280:(a,b,c)=>{"use strict";Object.defineProperty(b,"I",{enumerable:!0,get:function(){return g}});let d=c(28208),e=c(47617),f=c(62018);async function g(a,b,c,g){if((0,d.isNodeNextResponse)(b)){var h;b.statusCode=c.status,b.statusMessage=c.statusText;let d=["set-cookie","www-authenticate","proxy-authenticate","vary"];null==(h=c.headers)||h.forEach((a,c)=>{if("x-middleware-set-cookie"!==c.toLowerCase())if("set-cookie"===c.toLowerCase())for(let d of(0,f.splitCookiesString)(a))b.appendHeader(c,d);else{let e=void 0!==b.getHeader(c);(d.includes(c.toLowerCase())||!e)&&b.appendHeader(c,a)}});let{originalResponse:i}=b;c.body&&"HEAD"!==a.method?await (0,e.pipeToNodeResponse)(c.body,i,g):i.end()}}},96487:()=>{}};
@@ -0,0 +1 @@
1
+ "use strict";exports.id=2524,exports.ids=[2524],exports.modules={42524:(a,b,c)=>{c.d(b,{startBoardReconcileScheduler:()=>g});var d=c(90596),e=c(47128);async function f(){let a=(0,d.Lf)().prepare("SELECT id FROM boards WHERE task_id IS NOT NULL").all().map(a=>a.id);await Promise.all(a.map(a=>(0,e.dA)(a).catch(b=>{console.warn(`[board-reconcile] ${a} 异常:`,b?.message??b)})))}function g(){if(globalThis.__piBoardReconcileScheduler)return;let a=!1,b=setInterval(()=>{a||(a=!0,f().catch(a=>console.error("[board-reconcile] tick error:",a?.message??a)).finally(()=>{a=!1}))},1e4);b.unref?.(),globalThis.__piBoardReconcileScheduler={timer:b,startedAt:Date.now()},console.log("[pi-web] board reconcile scheduler started (interval 10000ms)")}}};