@cyberismo/backend 1.2.0 → 1.3.1

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 (472) hide show
  1. package/dist/app.d.ts +5 -15
  2. package/dist/app.js +31 -44
  3. package/dist/app.js.map +1 -1
  4. package/dist/auth/index.d.ts +0 -12
  5. package/dist/auth/index.js +2 -12
  6. package/dist/auth/index.js.map +1 -1
  7. package/dist/auth/keycloak.d.ts +0 -12
  8. package/dist/auth/keycloak.js +2 -12
  9. package/dist/auth/keycloak.js.map +1 -1
  10. package/dist/auth/mock.d.ts +0 -12
  11. package/dist/auth/mock.js +2 -12
  12. package/dist/auth/mock.js.map +1 -1
  13. package/dist/auth/types.d.ts +0 -12
  14. package/dist/auth/types.js +2 -12
  15. package/dist/auth/types.js.map +1 -1
  16. package/dist/common/errors.d.ts +12 -0
  17. package/dist/common/errors.js +31 -0
  18. package/dist/common/errors.js.map +1 -0
  19. package/dist/common/validationSchemas.d.ts +0 -12
  20. package/dist/common/validationSchemas.js +2 -12
  21. package/dist/common/validationSchemas.js.map +1 -1
  22. package/dist/domain/auth/index.d.ts +0 -12
  23. package/dist/domain/auth/index.js +2 -12
  24. package/dist/domain/auth/index.js.map +1 -1
  25. package/dist/domain/calculations/index.d.ts +0 -12
  26. package/dist/domain/calculations/index.js +4 -14
  27. package/dist/domain/calculations/index.js.map +1 -1
  28. package/dist/domain/calculations/schema.d.ts +0 -12
  29. package/dist/domain/calculations/schema.js +2 -12
  30. package/dist/domain/calculations/schema.js.map +1 -1
  31. package/dist/domain/calculations/service.d.ts +2 -14
  32. package/dist/domain/calculations/service.js +7 -17
  33. package/dist/domain/calculations/service.js.map +1 -1
  34. package/dist/domain/cardTypes/index.d.ts +0 -12
  35. package/dist/domain/cardTypes/index.js +10 -20
  36. package/dist/domain/cardTypes/index.js.map +1 -1
  37. package/dist/domain/cardTypes/schema.d.ts +0 -12
  38. package/dist/domain/cardTypes/schema.js +2 -12
  39. package/dist/domain/cardTypes/schema.js.map +1 -1
  40. package/dist/domain/cardTypes/service.d.ts +4 -16
  41. package/dist/domain/cardTypes/service.js +17 -25
  42. package/dist/domain/cardTypes/service.js.map +1 -1
  43. package/dist/domain/cards/index.d.ts +0 -12
  44. package/dist/domain/cards/index.js +120 -102
  45. package/dist/domain/cards/index.js.map +1 -1
  46. package/dist/domain/cards/lib.d.ts +6 -23
  47. package/dist/domain/cards/lib.js +7 -126
  48. package/dist/domain/cards/lib.js.map +1 -1
  49. package/dist/domain/cards/mermaid.d.ts +8 -0
  50. package/dist/domain/cards/mermaid.js +23 -0
  51. package/dist/domain/cards/mermaid.js.map +1 -0
  52. package/dist/domain/cards/schema.d.ts +6 -12
  53. package/dist/domain/cards/schema.js +6 -12
  54. package/dist/domain/cards/schema.js.map +1 -1
  55. package/dist/domain/cards/service.d.ts +28 -32
  56. package/dist/domain/cards/service.js +119 -83
  57. package/dist/domain/cards/service.js.map +1 -1
  58. package/dist/domain/connectors/index.d.ts +0 -12
  59. package/dist/domain/connectors/index.js +4 -14
  60. package/dist/domain/connectors/index.js.map +1 -1
  61. package/dist/domain/connectors/service.d.ts +2 -14
  62. package/dist/domain/connectors/service.js +4 -14
  63. package/dist/domain/connectors/service.js.map +1 -1
  64. package/dist/domain/events/events-by-project.d.ts +19 -0
  65. package/dist/domain/events/events-by-project.js +57 -0
  66. package/dist/domain/events/events-by-project.js.map +1 -0
  67. package/dist/domain/events/index.d.ts +0 -12
  68. package/dist/domain/events/index.js +3 -13
  69. package/dist/domain/events/index.js.map +1 -1
  70. package/dist/domain/events/lifetime.d.ts +0 -12
  71. package/dist/domain/events/lifetime.js +2 -12
  72. package/dist/domain/events/lifetime.js.map +1 -1
  73. package/dist/domain/events/project-events.d.ts +10 -14
  74. package/dist/domain/events/project-events.js +22 -18
  75. package/dist/domain/events/project-events.js.map +1 -1
  76. package/dist/domain/events/schema.d.ts +0 -12
  77. package/dist/domain/events/schema.js +2 -12
  78. package/dist/domain/events/schema.js.map +1 -1
  79. package/dist/domain/fieldTypes/index.d.ts +0 -12
  80. package/dist/domain/fieldTypes/index.js +6 -16
  81. package/dist/domain/fieldTypes/index.js.map +1 -1
  82. package/dist/domain/fieldTypes/schema.d.ts +0 -12
  83. package/dist/domain/fieldTypes/schema.js +2 -12
  84. package/dist/domain/fieldTypes/schema.js.map +1 -1
  85. package/dist/domain/fieldTypes/service.d.ts +4 -16
  86. package/dist/domain/fieldTypes/service.js +7 -17
  87. package/dist/domain/fieldTypes/service.js.map +1 -1
  88. package/dist/domain/graphModels/index.d.ts +0 -12
  89. package/dist/domain/graphModels/index.js +4 -14
  90. package/dist/domain/graphModels/index.js.map +1 -1
  91. package/dist/domain/graphModels/schema.d.ts +0 -12
  92. package/dist/domain/graphModels/schema.js +2 -12
  93. package/dist/domain/graphModels/schema.js.map +1 -1
  94. package/dist/domain/graphModels/service.d.ts +2 -14
  95. package/dist/domain/graphModels/service.js +4 -14
  96. package/dist/domain/graphModels/service.js.map +1 -1
  97. package/dist/domain/graphViews/index.d.ts +0 -12
  98. package/dist/domain/graphViews/index.js +4 -14
  99. package/dist/domain/graphViews/index.js.map +1 -1
  100. package/dist/domain/graphViews/schema.js +2 -0
  101. package/dist/domain/graphViews/schema.js.map +1 -1
  102. package/dist/domain/graphViews/service.d.ts +2 -14
  103. package/dist/domain/graphViews/service.js +4 -14
  104. package/dist/domain/graphViews/service.js.map +1 -1
  105. package/dist/domain/labels/index.d.ts +0 -12
  106. package/dist/domain/labels/index.js +4 -14
  107. package/dist/domain/labels/index.js.map +1 -1
  108. package/dist/domain/labels/service.d.ts +3 -15
  109. package/dist/domain/labels/service.js +5 -15
  110. package/dist/domain/labels/service.js.map +1 -1
  111. package/dist/domain/linkTypes/index.d.ts +0 -12
  112. package/dist/domain/linkTypes/index.js +6 -16
  113. package/dist/domain/linkTypes/index.js.map +1 -1
  114. package/dist/domain/linkTypes/schema.d.ts +0 -12
  115. package/dist/domain/linkTypes/schema.js +2 -12
  116. package/dist/domain/linkTypes/schema.js.map +1 -1
  117. package/dist/domain/linkTypes/service.d.ts +3 -15
  118. package/dist/domain/linkTypes/service.js +7 -17
  119. package/dist/domain/linkTypes/service.js.map +1 -1
  120. package/dist/domain/logicPrograms/index.d.ts +0 -12
  121. package/dist/domain/logicPrograms/index.js +4 -14
  122. package/dist/domain/logicPrograms/index.js.map +1 -1
  123. package/dist/domain/logicPrograms/service.d.ts +2 -14
  124. package/dist/domain/logicPrograms/service.js +5 -3
  125. package/dist/domain/logicPrograms/service.js.map +1 -1
  126. package/dist/domain/mcp/index.d.ts +3 -15
  127. package/dist/domain/mcp/index.js +27 -21
  128. package/dist/domain/mcp/index.js.map +1 -1
  129. package/dist/domain/project/index.d.ts +0 -12
  130. package/dist/domain/project/index.js +30 -40
  131. package/dist/domain/project/index.js.map +1 -1
  132. package/dist/domain/project/schema.d.ts +0 -12
  133. package/dist/domain/project/schema.js +2 -12
  134. package/dist/domain/project/schema.js.map +1 -1
  135. package/dist/domain/project/service.d.ts +16 -28
  136. package/dist/domain/project/service.js +48 -58
  137. package/dist/domain/project/service.js.map +1 -1
  138. package/dist/domain/projects/index.d.ts +2 -14
  139. package/dist/domain/projects/index.js +19 -36
  140. package/dist/domain/projects/index.js.map +1 -1
  141. package/dist/domain/projects/schema.d.ts +1 -12
  142. package/dist/domain/projects/schema.js +3 -12
  143. package/dist/domain/projects/schema.js.map +1 -1
  144. package/dist/domain/projects/service.d.ts +9 -35
  145. package/dist/domain/projects/service.js +12 -48
  146. package/dist/domain/projects/service.js.map +1 -1
  147. package/dist/domain/reports/index.d.ts +0 -12
  148. package/dist/domain/reports/index.js +4 -14
  149. package/dist/domain/reports/index.js.map +1 -1
  150. package/dist/domain/reports/schema.d.ts +0 -12
  151. package/dist/domain/reports/schema.js +2 -12
  152. package/dist/domain/reports/schema.js.map +1 -1
  153. package/dist/domain/reports/service.d.ts +2 -14
  154. package/dist/domain/reports/service.js +4 -14
  155. package/dist/domain/reports/service.js.map +1 -1
  156. package/dist/domain/resources/index.d.ts +0 -12
  157. package/dist/domain/resources/index.js +19 -26
  158. package/dist/domain/resources/index.js.map +1 -1
  159. package/dist/domain/resources/schema.js +2 -0
  160. package/dist/domain/resources/schema.js.map +1 -1
  161. package/dist/domain/resources/service.d.ts +11 -23
  162. package/dist/domain/resources/service.js +48 -59
  163. package/dist/domain/resources/service.js.map +1 -1
  164. package/dist/domain/skills/index.d.ts +0 -12
  165. package/dist/domain/skills/index.js +4 -14
  166. package/dist/domain/skills/index.js.map +1 -1
  167. package/dist/domain/skills/schema.d.ts +0 -12
  168. package/dist/domain/skills/schema.js +2 -12
  169. package/dist/domain/skills/schema.js.map +1 -1
  170. package/dist/domain/skills/service.d.ts +2 -14
  171. package/dist/domain/skills/service.js +4 -14
  172. package/dist/domain/skills/service.js.map +1 -1
  173. package/dist/domain/templates/index.d.ts +0 -12
  174. package/dist/domain/templates/index.js +8 -18
  175. package/dist/domain/templates/index.js.map +1 -1
  176. package/dist/domain/templates/schema.d.ts +0 -12
  177. package/dist/domain/templates/schema.js +2 -12
  178. package/dist/domain/templates/schema.js.map +1 -1
  179. package/dist/domain/templates/service.d.ts +4 -16
  180. package/dist/domain/templates/service.js +8 -18
  181. package/dist/domain/templates/service.js.map +1 -1
  182. package/dist/domain/tree/index.d.ts +0 -12
  183. package/dist/domain/tree/index.js +4 -14
  184. package/dist/domain/tree/index.js.map +1 -1
  185. package/dist/domain/tree/service.d.ts +3 -15
  186. package/dist/domain/tree/service.js +8 -15
  187. package/dist/domain/tree/service.js.map +1 -1
  188. package/dist/domain/workflows/index.d.ts +0 -12
  189. package/dist/domain/workflows/index.js +4 -14
  190. package/dist/domain/workflows/index.js.map +1 -1
  191. package/dist/domain/workflows/schema.d.ts +0 -12
  192. package/dist/domain/workflows/schema.js +2 -12
  193. package/dist/domain/workflows/schema.js.map +1 -1
  194. package/dist/domain/workflows/service.d.ts +2 -14
  195. package/dist/domain/workflows/service.js +4 -14
  196. package/dist/domain/workflows/service.js.map +1 -1
  197. package/dist/export.d.ts +6 -20
  198. package/dist/export.js +19 -29
  199. package/dist/export.js.map +1 -1
  200. package/dist/frontend.d.ts +22 -0
  201. package/dist/frontend.js +51 -0
  202. package/dist/frontend.js.map +1 -0
  203. package/dist/index.d.ts +3 -5
  204. package/dist/index.js +22 -48
  205. package/dist/index.js.map +1 -1
  206. package/dist/main.js +19 -30
  207. package/dist/main.js.map +1 -1
  208. package/dist/middleware/auth.d.ts +0 -12
  209. package/dist/middleware/auth.js +2 -12
  210. package/dist/middleware/auth.js.map +1 -1
  211. package/dist/middleware/commandManager.d.ts +15 -20
  212. package/dist/middleware/commandManager.js +27 -36
  213. package/dist/middleware/commandManager.js.map +1 -1
  214. package/dist/middleware/tree.js +2 -0
  215. package/dist/middleware/tree.js.map +1 -1
  216. package/dist/middleware/zvalidator.js +2 -0
  217. package/dist/middleware/zvalidator.js.map +1 -1
  218. package/dist/overlay.d.ts +4 -16
  219. package/dist/overlay.js +22 -17
  220. package/dist/overlay.js.map +1 -1
  221. package/dist/public/THIRD-PARTY.txt +1397 -286
  222. package/dist/public/assets/__vite-browser-external-DGgK3jMU.js +1 -0
  223. package/dist/public/assets/abnfDiagram-WEYOIA3C-B3qq7PKv.js +1 -0
  224. package/dist/public/assets/architecture-WOLXFQ4H-Bzau2LI0.js +1 -0
  225. package/dist/public/assets/architectureDiagram-ZHVYKT53-Bg0cUwdb.js +36 -0
  226. package/dist/public/assets/blockDiagram-RJAE7QA3-0RJB-ra-.js +140 -0
  227. package/dist/public/assets/c4Diagram-XDPPPE54-BzoQcLvf.js +38 -0
  228. package/dist/public/assets/channel-6BNdw4Ax.js +1 -0
  229. package/dist/public/assets/{chunk-SVP7TREG-CIQMl7hl.js → chunk-2E7WHVMD-6aqPk-Hk.js} +4 -4
  230. package/dist/public/assets/chunk-4EMNKR2T-vovNSAaE.js +1 -0
  231. package/dist/public/assets/{chunk-F27PBJKO-tDfs6zeO.js → chunk-55XCU76K-DXkKnt2y.js} +1 -1
  232. package/dist/public/assets/chunk-7S6XSTFO-B9bfO0l3.js +2 -0
  233. package/dist/public/assets/chunk-AQDTSKZB-ilLy_cYP.js +72 -0
  234. package/dist/public/assets/chunk-DSNLSHJZ-DAudglXu.js +129 -0
  235. package/dist/public/assets/chunk-DUW6YSOI-Dgx8z5s3.js +1 -0
  236. package/dist/public/assets/chunk-HAGFOTED-CSKFgs6b.js +62 -0
  237. package/dist/public/assets/chunk-HNE4Q36P-Cu5gPBVk.js +1 -0
  238. package/dist/public/assets/chunk-J5ZVWO5B-oDCd-gWO.js +1 -0
  239. package/dist/public/assets/chunk-NGNAAXSQ-DI_UYJZ4.js +136 -0
  240. package/dist/public/assets/chunk-NQOKRVIF-Bpcvhq1n.js +213 -0
  241. package/dist/public/assets/chunk-UHW7PFBP-BDjvOaTH.js +1 -0
  242. package/dist/public/assets/chunk-VQ5W62QI-DHTcO93W.js +1 -0
  243. package/dist/public/assets/chunk-WQQL4CDK-H6nAhuck.js +10 -0
  244. package/dist/public/assets/{chunk-XXDRQBXY-B7bWyHjt.js → chunk-XXDRQBXY-BUghdEVl.js} +1 -1
  245. package/dist/public/assets/chunk-YZO67HFG-D13E0_Yh.js +1 -0
  246. package/dist/public/assets/chunk-ZAUX2LTX-Dp5y-2wt.js +1 -0
  247. package/dist/public/assets/chunk-ZCHMQSOR-RJjlln1D.js +2 -0
  248. package/dist/public/assets/classDiagram-v2-4MYWR3UA-CAqiFCSv.js +217 -0
  249. package/dist/public/assets/cose-bilkent-JH36ORCC-C_VOHzoP.js +1 -0
  250. package/dist/public/assets/cynefin-EF2NZ3EQ-Dyk4ZPjK.js +1 -0
  251. package/dist/public/assets/{cynefinDiagram-5FMLGOSQ-_V_nrIhD.js → cynefinDiagram-WF24UDRP-b_Ia8gQX.js} +1 -1
  252. package/dist/public/assets/cytoscape.esm-GRKmfDkD.js +321 -0
  253. package/dist/public/assets/dagre-NK4GIZVX-CH1K1yF8.js +4 -0
  254. package/dist/public/assets/{diagram-VX7I27RA-De_UQv8C.js → diagram-CBK3MWTC-OaKd5avy.js} +13 -13
  255. package/dist/public/assets/diagram-I5XIIV2D-Cmu5z1ad.js +24 -0
  256. package/dist/public/assets/{diagram-S7CK7UJ4-25IjIKyo.js → diagram-ODIL2UCW-Cz1kkDDX.js} +7 -7
  257. package/dist/public/assets/diagram-PFBEJUXE-faMkmqUW.js +3 -0
  258. package/dist/public/assets/{diagram-UQ7AKVKN-C5VvsV7x.js → diagram-RJA3I4VV-nycvfte-.js} +2 -2
  259. package/dist/public/assets/diagram-TYUNFSNR-CjEv5QCm.js +200 -0
  260. package/dist/public/assets/{dist-BDCdLWk4.js → dist-DGs_yUrP.js} +1 -1
  261. package/dist/public/assets/ebnfDiagram-V4P3TTPT-DN-IIxCy.js +1 -0
  262. package/dist/public/assets/elk-QONTBCTQ-Bsam88GP.js +27 -0
  263. package/dist/public/assets/erDiagram-KYQIGQAA-DEU_qqNK.js +99 -0
  264. package/dist/public/assets/eventmodeling-K75KTNOO-Bl6NCM9E.js +1 -0
  265. package/dist/public/assets/flowDiagram-IUGLLWBU-Cl4qZ-36.js +1 -0
  266. package/dist/public/assets/ganttDiagram-R7GPNTJY-BmMd4aGi.js +292 -0
  267. package/dist/public/assets/gitGraph-VSP46ZUC-Q0H2PWek.js +1 -0
  268. package/dist/public/assets/gitGraphDiagram-PDYL7XHY-BlCTBYTj.js +106 -0
  269. package/dist/public/assets/index-CuBJ0hof.css +1 -0
  270. package/dist/public/assets/index-D701BZPh.js +2219 -0
  271. package/dist/public/assets/info-OHQRW6UA-D0TMPJxW.js +1 -0
  272. package/dist/public/assets/infoDiagram-MVDRKAX5-CljbtJXu.js +2 -0
  273. package/dist/public/assets/{ishikawaDiagram-5VMMS53U-KvT4DU1u.js → ishikawaDiagram-HPEHV2GE-_Y3Fr0hu.js} +6 -6
  274. package/dist/public/assets/{journeyDiagram-3NMN7TZE-PhGRkXkq.js → journeyDiagram-BOSHW7O7-Bo55jJ4m.js} +39 -39
  275. package/dist/public/assets/kanban-definition-FNSA4HC5-Cd-10MtF.js +89 -0
  276. package/dist/public/assets/katex-MEuSR36T.js +257 -0
  277. package/dist/public/assets/line-BDmh4sWC.js +1 -0
  278. package/dist/public/assets/linear-Dt7xjMrI.js +1 -0
  279. package/dist/public/assets/mermaid-parser.core-BJ1yyzvV.js +7 -0
  280. package/dist/public/assets/mindmap-definition-6OY57UG3-CRgumPuN.js +98 -0
  281. package/dist/public/assets/packet-JDAUHWVQ-DsTMT3Kw.js +1 -0
  282. package/dist/public/assets/pegDiagram-ECIUJNBX-BEGI5k3m.js +1 -0
  283. package/dist/public/assets/pie-XZMESJXO-COyqzA3N.js +1 -0
  284. package/dist/public/assets/pieDiagram-GNMPY74T-CrLJhZJJ.js +39 -0
  285. package/dist/public/assets/{quadrantDiagram-AXDQQJYC-B9dlNtZl.js → quadrantDiagram-D57K4MC3-Fl7HMHxK.js} +6 -6
  286. package/dist/public/assets/radar-ABXABTNO-DeXHKowk.js +1 -0
  287. package/dist/public/assets/railroad-I3PHUGI6-CUjKUdPz.js +1 -0
  288. package/dist/public/assets/railroad-abnf-LNEFI6M7-B1aEgHE6.js +1 -0
  289. package/dist/public/assets/railroad-ebnf-DWYD2UWJ-DmmI3Voz.js +1 -0
  290. package/dist/public/assets/railroad-peg-JR7BVNR7-BHzi9m7r.js +1 -0
  291. package/dist/public/assets/railroadDiagram-Y72NRBL7-D1oeE5fy.js +1 -0
  292. package/dist/public/assets/requirementDiagram-EQYSW5RA-BJDKK1aS.js +84 -0
  293. package/dist/public/assets/rolldown-runtime-BCiCTKAo.js +1 -0
  294. package/dist/public/assets/{sankeyDiagram-P5KCCOFB-C4rb2pZ9.js → sankeyDiagram-SY24JHO5-C4g0OwZ9.js} +7 -7
  295. package/dist/public/assets/sequenceDiagram-BLEHNHQU-CEvy4P-b.js +169 -0
  296. package/dist/public/assets/src-MPsEqXxq.js +1 -0
  297. package/dist/public/assets/stateDiagram-v2-A6IESKWZ-BFhvw4Gl.js +291 -0
  298. package/dist/public/assets/swimlanes-B3ENRKFQ-BIl_Q-FM.js +1 -0
  299. package/dist/public/assets/swimlanesDiagram-AYQRV4AK-rvDbKEHQ.js +8 -0
  300. package/dist/public/assets/timeline-definition-JXYKGLGB-qAoWTH4N.js +120 -0
  301. package/dist/public/assets/treeView-D4JQ5SDB-vq16JKkJ.js +1 -0
  302. package/dist/public/assets/treemap-SAJKECNS-C0IZTaDk.js +1 -0
  303. package/dist/public/assets/usecaseDiagram-WPOLBNNX-Dq8iz49r.js +328 -0
  304. package/dist/public/assets/vennDiagram-Q3Y3IDCW-Br4JmRjM.js +34 -0
  305. package/dist/public/assets/wardley-7MLQ67FV-CEPlAQ79.js +1 -0
  306. package/dist/public/assets/{wardleyDiagram-VM6X3IG4-BOXpwLCv.js → wardleyDiagram-IVAIDKWA-DURB7Ue6.js} +4 -4
  307. package/dist/public/assets/xychartDiagram-4URNHDU4-BiZywfhy.js +7 -0
  308. package/dist/public/index.html +27 -21
  309. package/dist/public/sbom.cdx.json +1 -1
  310. package/dist/types.d.ts +0 -12
  311. package/dist/types.js +2 -12
  312. package/dist/types.js.map +1 -1
  313. package/dist/utils.d.ts +12 -5
  314. package/dist/utils.js +18 -43
  315. package/dist/utils.js.map +1 -1
  316. package/package.json +13 -12
  317. package/src/app.ts +37 -52
  318. package/src/auth/index.ts +2 -12
  319. package/src/auth/keycloak.ts +2 -12
  320. package/src/auth/mock.ts +2 -12
  321. package/src/auth/types.ts +2 -12
  322. package/src/common/errors.ts +45 -0
  323. package/src/common/validationSchemas.ts +3 -12
  324. package/src/domain/auth/index.ts +2 -12
  325. package/src/domain/calculations/index.ts +4 -14
  326. package/src/domain/calculations/schema.ts +2 -12
  327. package/src/domain/calculations/service.ts +8 -21
  328. package/src/domain/cardTypes/index.ts +10 -20
  329. package/src/domain/cardTypes/schema.ts +3 -12
  330. package/src/domain/cardTypes/service.ts +22 -29
  331. package/src/domain/cards/index.ts +158 -128
  332. package/src/domain/cards/lib.ts +9 -161
  333. package/src/domain/cards/mermaid.ts +25 -0
  334. package/src/domain/cards/schema.ts +8 -12
  335. package/src/domain/cards/service.ts +165 -118
  336. package/src/domain/connectors/index.ts +5 -14
  337. package/src/domain/connectors/service.ts +5 -20
  338. package/src/domain/events/events-by-project.ts +59 -0
  339. package/src/domain/events/index.ts +3 -13
  340. package/src/domain/events/lifetime.ts +2 -12
  341. package/src/domain/events/project-events.ts +30 -18
  342. package/src/domain/events/schema.ts +2 -12
  343. package/src/domain/fieldTypes/index.ts +6 -16
  344. package/src/domain/fieldTypes/schema.ts +3 -12
  345. package/src/domain/fieldTypes/service.ts +9 -21
  346. package/src/domain/graphModels/index.ts +4 -14
  347. package/src/domain/graphModels/schema.ts +3 -12
  348. package/src/domain/graphModels/service.ts +5 -18
  349. package/src/domain/graphViews/index.ts +4 -14
  350. package/src/domain/graphViews/schema.ts +3 -0
  351. package/src/domain/graphViews/service.ts +5 -18
  352. package/src/domain/labels/index.ts +4 -14
  353. package/src/domain/labels/service.ts +6 -16
  354. package/src/domain/linkTypes/index.ts +6 -16
  355. package/src/domain/linkTypes/schema.ts +2 -12
  356. package/src/domain/linkTypes/service.ts +8 -21
  357. package/src/domain/logicPrograms/index.ts +5 -17
  358. package/src/domain/logicPrograms/service.ts +7 -16
  359. package/src/domain/mcp/index.ts +33 -24
  360. package/src/domain/project/index.ts +34 -40
  361. package/src/domain/project/schema.ts +2 -12
  362. package/src/domain/project/service.ts +56 -71
  363. package/src/domain/projects/index.ts +34 -50
  364. package/src/domain/projects/schema.ts +3 -12
  365. package/src/domain/projects/service.ts +18 -88
  366. package/src/domain/reports/index.ts +4 -14
  367. package/src/domain/reports/schema.ts +2 -12
  368. package/src/domain/reports/service.ts +5 -18
  369. package/src/domain/resources/index.ts +19 -30
  370. package/src/domain/resources/schema.ts +3 -0
  371. package/src/domain/resources/service.ts +55 -90
  372. package/src/domain/skills/index.ts +4 -14
  373. package/src/domain/skills/schema.ts +2 -12
  374. package/src/domain/skills/service.ts +5 -15
  375. package/src/domain/templates/index.ts +8 -18
  376. package/src/domain/templates/schema.ts +2 -12
  377. package/src/domain/templates/service.ts +9 -22
  378. package/src/domain/tree/index.ts +4 -14
  379. package/src/domain/tree/service.ts +10 -21
  380. package/src/domain/workflows/index.ts +4 -14
  381. package/src/domain/workflows/schema.ts +2 -12
  382. package/src/domain/workflows/service.ts +5 -18
  383. package/src/export.ts +24 -33
  384. package/src/frontend.ts +58 -0
  385. package/src/index.ts +32 -53
  386. package/src/main.ts +25 -35
  387. package/src/middleware/auth.ts +2 -12
  388. package/src/middleware/commandManager.ts +35 -50
  389. package/src/middleware/tree.ts +3 -0
  390. package/src/middleware/zvalidator.ts +3 -0
  391. package/src/overlay.ts +29 -19
  392. package/src/types.ts +2 -12
  393. package/src/utils.ts +26 -46
  394. package/dist/project-errors.d.ts +0 -18
  395. package/dist/project-errors.js +0 -25
  396. package/dist/project-errors.js.map +0 -1
  397. package/dist/project-registry.d.ts +0 -65
  398. package/dist/project-registry.js +0 -121
  399. package/dist/project-registry.js.map +0 -1
  400. package/dist/public/assets/__vite-browser-external-PaJ7c2l8.js +0 -1
  401. package/dist/public/assets/abnfDiagram-VCTEODGH-DB2dfOGe.js +0 -1
  402. package/dist/public/assets/architecture-7GRP2DOG-2V0X8hxt.js +0 -1
  403. package/dist/public/assets/architectureDiagram-5GKGNRK7-CRhUR2Ul.js +0 -36
  404. package/dist/public/assets/blockDiagram-I7D4REHJ-DJKsYF1v.js +0 -129
  405. package/dist/public/assets/c4Diagram-7LVT6UL2-BTwMzoAF.js +0 -38
  406. package/dist/public/assets/channel-C0JtPpMA.js +0 -1
  407. package/dist/public/assets/chunk-4HAMMTFA-DjjgrBsB.js +0 -62
  408. package/dist/public/assets/chunk-75Z2AOVW-CKqXRGJV.js +0 -2
  409. package/dist/public/assets/chunk-DU6HZSFF-iJGdiRt7.js +0 -127
  410. package/dist/public/assets/chunk-FOHPRMQF-DzxwRta7.js +0 -161
  411. package/dist/public/assets/chunk-GMAD6QVW-DxHVEaGj.js +0 -72
  412. package/dist/public/assets/chunk-GVQU2GXP-AMxD4_Ta.js +0 -1
  413. package/dist/public/assets/chunk-IMKFNOWR-0rz8QrYC.js +0 -231
  414. package/dist/public/assets/chunk-L3NEJ4N5-BK3KAKMe.js +0 -1
  415. package/dist/public/assets/chunk-OSK3NFVY-B8MdrI_M.js +0 -10
  416. package/dist/public/assets/chunk-P2QGCYS3-D3J5AcHg.js +0 -1
  417. package/dist/public/assets/chunk-POPQ4Y6H-CsYg_XkK.js +0 -1
  418. package/dist/public/assets/chunk-PWAF6VOD-D9cdEIZp.js +0 -1
  419. package/dist/public/assets/chunk-SHT3W25Y-1jjokCf3.js +0 -168
  420. package/dist/public/assets/chunk-TICWLB2K-Ccsy2PYz.js +0 -206
  421. package/dist/public/assets/classDiagram-ZZMXUADV-mWyXNAXi.js +0 -1
  422. package/dist/public/assets/classDiagram-v2-VYDZK3BY-mWyXNAXi.js +0 -1
  423. package/dist/public/assets/cose-bilkent-JH36ORCC-DPzc3Pv4.js +0 -1
  424. package/dist/public/assets/cynefin-OW5HDTMX-BIVDCYOU.js +0 -1
  425. package/dist/public/assets/cytoscape.esm-NgwPT4ez.js +0 -321
  426. package/dist/public/assets/dagre-C-rnJpZF.js +0 -1
  427. package/dist/public/assets/dagre-GXQ25YYZ-CJc0wc6f.js +0 -4
  428. package/dist/public/assets/diagram-VSXAHHWV-Dw3rKVL_.js +0 -3
  429. package/dist/public/assets/diagram-Z3DM3KII-Bd-65QQW.js +0 -24
  430. package/dist/public/assets/ebnfDiagram-PWID7BFC-CrxdET5U.js +0 -1
  431. package/dist/public/assets/erDiagram-RLTQ6QDP-BKo0Uyna.js +0 -99
  432. package/dist/public/assets/eventmodeling-NTZA5JFV-DKkAdJZd.js +0 -1
  433. package/dist/public/assets/flowDiagram-HODETNUW-CEE2wjdt.js +0 -1
  434. package/dist/public/assets/ganttDiagram-EL5Y4UJY-BHFn8vk0.js +0 -292
  435. package/dist/public/assets/gitGraph-4MIJSDKK-Bpvnb45u.js +0 -1
  436. package/dist/public/assets/gitGraphDiagram-WWUBYQGX-Bw0EoxBY.js +0 -106
  437. package/dist/public/assets/index-D3HS7YxF.js +0 -2228
  438. package/dist/public/assets/index-Sv3WxZ_8.css +0 -1
  439. package/dist/public/assets/info-A6RAGUB7-BvvG_zrk.js +0 -1
  440. package/dist/public/assets/infoDiagram-27XIBGKW-CtpdJmtL.js +0 -2
  441. package/dist/public/assets/kanban-definition-UXKFOSKX-Oyx5QgRq.js +0 -89
  442. package/dist/public/assets/katex-ZlcWpGUi.js +0 -257
  443. package/dist/public/assets/line-Dr41HTk1.js +0 -1
  444. package/dist/public/assets/linear-DDBi9FwZ.js +0 -1
  445. package/dist/public/assets/mermaid-parser.core-DsIAxDBa.js +0 -7
  446. package/dist/public/assets/mindmap-definition-YA3MSWOX-r8hvd6gP.js +0 -96
  447. package/dist/public/assets/packet-AYTQ26CC-B0EpJ2Sc.js +0 -1
  448. package/dist/public/assets/pegDiagram-XKGWAZYB-DaNkQTQF.js +0 -1
  449. package/dist/public/assets/pie-WAS4IAKB-Dt2zttL9.js +0 -1
  450. package/dist/public/assets/pieDiagram-E7YTZNPT-x0XWEGbd.js +0 -39
  451. package/dist/public/assets/radar-RG4KPBEZ-DjbR4-5l.js +0 -1
  452. package/dist/public/assets/railroad-74A4TZTK-Bk3B5r_R.js +0 -1
  453. package/dist/public/assets/railroad-abnf-HS5TGJTU-DxaWfACD.js +0 -1
  454. package/dist/public/assets/railroad-ebnf-LZEXJU2U-DscxXZO0.js +0 -1
  455. package/dist/public/assets/railroad-peg-WCYAUIDC-BCWzRFzw.js +0 -1
  456. package/dist/public/assets/railroadDiagram-O6MQD6OU-DhwsoX6A.js +0 -1
  457. package/dist/public/assets/requirementDiagram-BXWQKSXE-BiqZ6axf.js +0 -84
  458. package/dist/public/assets/rolldown-runtime-B0Z9INg1.js +0 -1
  459. package/dist/public/assets/sequenceDiagram-WJ2MYXX4-DRKTnGD7.js +0 -162
  460. package/dist/public/assets/src-an_qrnIj.js +0 -1
  461. package/dist/public/assets/stateDiagram-D77RDMKH-xxdybg5Z.js +0 -1
  462. package/dist/public/assets/stateDiagram-v2-MP3YSRHH-CXzmJy_a.js +0 -1
  463. package/dist/public/assets/swimlanes-42K2YHIH-DyGI1gI6.js +0 -1
  464. package/dist/public/assets/swimlanesDiagram-VR7AAH4N-7hqb6VoW.js +0 -8
  465. package/dist/public/assets/timeline-definition-24CTP7MA-C2pIp77Q.js +0 -120
  466. package/dist/public/assets/treeView-Q6P3EWNA-CxRtaaB8.js +0 -1
  467. package/dist/public/assets/treemap-WGGIJYW6-G1IHiwTa.js +0 -1
  468. package/dist/public/assets/vennDiagram-4TSXK5OY-CwimQRR9.js +0 -34
  469. package/dist/public/assets/wardley-WFR3VGLG-DkQ3TjZX.js +0 -1
  470. package/dist/public/assets/xychartDiagram-S5SC5T6Z-ChOPYsHc.js +0 -7
  471. package/src/project-errors.ts +0 -33
  472. package/src/project-registry.ts +0 -161
@@ -0,0 +1 @@
1
+ import{n as e}from"./chunk-Y2CYZVJY-DsF7k-Jl.js";var t=e((t,n)=>{let{theme:r,themeVariables:i}=n,{useGradient:a,gradientStart:o,gradientStop:s}=i??{},c=t.attr(`id`),l=r?.includes(`dark`)?`#FFFFFF`:`#000000`,u=e((e,n,r)=>t.append(`defs`).append(`filter`).attr(`id`,e).attr(`height`,n).attr(`width`,n).append(`feDropShadow`).attr(`dx`,r).attr(`dy`,r).attr(`stdDeviation`,0).attr(`flood-opacity`,`0.06`).attr(`flood-color`,l),`dropShadow`);if(u(`${c}-drop-shadow`,`130%`,`4`),u(`${c}-drop-shadow-small`,`150%`,`2`),!a)return;let d=t.append(`linearGradient`).attr(`id`,`${c}-gradient`).attr(`gradientUnits`,`objectBoundingBox`).attr(`x1`,`0%`).attr(`y1`,`0%`).attr(`x2`,`100%`).attr(`y2`,`0%`);d.append(`svg:stop`).attr(`offset`,`0%`).attr(`stop-color`,o).attr(`stop-opacity`,1),d.append(`svg:stop`).attr(`offset`,`100%`).attr(`stop-color`,s).attr(`stop-opacity`,1)},`insertLookDefs`);export{t};
@@ -0,0 +1,62 @@
1
+ import{a as e,i as t,r as n,t as r}from"./chunk-UHW7PFBP-BDjvOaTH.js";import{n as i,r as a}from"./chunk-AQDTSKZB-ilLy_cYP.js";import{n as o,t as s}from"./chunk-YZO67HFG-D13E0_Yh.js";import{s as c}from"./chunk-J5ZVWO5B-oDCd-gWO.js";import{a as l,d as u,m as d,r as f}from"./chunk-7S6XSTFO-B9bfO0l3.js";import{B as p,M as m,b as h,f as g,g as _,k as v,w as y,y as b,z as x}from"./chunk-DSNLSHJZ-DAudglXu.js";import{j as S,k as C}from"./src-MPsEqXxq.js";import{n as w}from"./chunk-Y2CYZVJY-DsF7k-Jl.js";import{t as T}from"./rough.esm-Dy-Kn_BL.js";var E=1,D=3;async function O(e){let t=e.getElementsByTagName(`img`);if(!t||t.length===0)return;let n=!k(e);await Promise.all([...t].map(e=>new Promise(t=>{function r(){if(e.style.display=`flex`,e.style.flexDirection=`column`,n){let t=h().fontSize?h().fontSize:window.getComputedStyle(document.body).fontSize,[n=g.fontSize]=d(t),r=n*5+`px`;e.style.minWidth=r,e.style.maxWidth=r}else e.style.width=`100%`;t(e)}w(r,`setupImage`),setTimeout(()=>{e.complete&&r()}),e.addEventListener(`error`,r),e.addEventListener(`load`,r)})))}w(O,`configureLabelImages`);function k(e){return e.nodeType===D?e.textContent?.trim()!==``:e.nodeType!==E||e.tagName.toLowerCase()===`img`?!1:[...e.childNodes].some(k)}w(k,`hasTextBesidesImages`);var A=3,j=32,M=w(async(e,t,n)=>{let r=h(),a=e.insert(`g`).attr(`class`,n??`node default`).attr(`id`,t.domId||t.id),o=a.insert(`g`).attr(`class`,`label`).attr(`style`,u(t.labelStyle)),s=[{text:typeof t.label==`string`?t.label:t.label?.[0]??``,cssClass:`c4-name`},{text:t.stereotype,cssClass:`c4-type`},...(t.description??[]).map(e=>({text:e,cssClass:`c4-descr`}))].filter(e=>e.text),c=t.width?Math.max(t.width-2*(t.padding??0),j):h().flowchart?.wrappingWidth??200,d=r.c4?.wrap??!0?c:1/0,f=await Promise.all(s.map(async e=>{let n=o.append(`g`).attr(`class`,e.cssClass),a=await i(n,x(l(e.text??``),r),{useHtmlLabels:!1,markdown:!1,isNode:!0,width:d,style:t.labelStyle},r);return C(a).selectAll(`tspan.text-outer-tspan`).attr(`text-anchor`,`middle`),C(a).selectAll(`tspan.text-inner-tspan`).attr(`font-weight`,null).attr(`font-style`,null),{el:n,box:n.node().getBBox()}})),p=Math.max(...f.map(({box:e})=>e.width),0),m=0;for(let{el:e,box:t}of f)e.attr(`transform`,`translate(${p/2-t.x-t.width/2}, ${m-t.y})`),m+=t.height+A;let g=f.length>0?m-A:0;return o.insert(`rect`,`:first-child`),o.attr(`transform`,`translate(${-p/2}, ${-g/2})`),{shapeSvg:a,bbox:o.node().getBBox(),halfPadding:(t.padding??0)/2,label:o}},`c4LabelHelper`),N=w((e,t)=>{let{x:n,y:r,width:i,height:a}=e;return i>=t?e:`left`in e?{x:n,y:r,width:t,height:a,top:r,left:n,bottom:r+a,right:n+t,toJSON:w(()=>({}),`toJSON`)}:{x:n-(t-i)/2,y:r,width:t,height:a}},`withMinWidth`),P=w(async(e,t,n,{ignoreMinWidth:r=!1}={})=>{if(t.stereotype!==void 0)return M(e,t,n);let o,s=t.useHtmlLabels||_(h()?.htmlLabels);o=n||`node default`;let c=e.insert(`g`).attr(`class`,o).attr(`id`,t.domId||t.id),d=c.insert(`g`).attr(`class`,`label`).attr(`style`,u(t.labelStyle)),f;f=t.label===void 0?``:typeof t.label==`string`?t.label:t.label[0];let p=!!t.icon||!!t.img,m=t.labelType===`markdown`,g=f&&!t.width&&!r?t.minWidth??0:0,v=await i(d,x(l(f),h()),{useHtmlLabels:s,width:t.width||t.wrappingWidth||h().flowchart?.wrappingWidth,minWidth:g,classes:m?`markdown-node-label`:``,style:t.labelStyle,addSvgBackground:p,markdown:m},h()),y=(t?.padding??0)/2,b;if(s){let e=v.children[0],t=C(v);await O(e),b=await a.measure(()=>e.getBoundingClientRect()),b=N(b,g),t.attr(`width`,b.width),t.attr(`height`,b.height)}else b=await a.measure(()=>v.getBBox()),b=N(b,g);return s?d.attr(`transform`,`translate(`+-b.width/2+`, `+-b.height/2+`)`):d.attr(`transform`,`translate(0, `+-b.height/2+`)`),t.centerLabel&&d.attr(`transform`,`translate(`+-b.width/2+`, `+-b.height/2+`)`),d.insert(`rect`,`:first-child`),{shapeSvg:c,bbox:b,halfPadding:y,label:d}},`labelHelper`),F=w(async(e,t,n)=>{let r=n.useHtmlLabels??y(h()),o=e.insert(`g`).attr(`class`,`label`).attr(`style`,n.labelStyle||``),s=await i(o,x(l(t),h()),{useHtmlLabels:r,width:n.width||h()?.flowchart?.wrappingWidth,style:n.labelStyle,addSvgBackground:!!n.icon||!!n.img}),c=n.padding/2,u;if(y(h())){let e=s.children[0],t=C(s);u=await a.measure(()=>e.getBoundingClientRect()),t.attr(`width`,u.width),t.attr(`height`,u.height)}else u=await a.measure(()=>s.getBBox());return r?o.attr(`transform`,`translate(`+-u.width/2+`, `+-u.height/2+`)`):o.attr(`transform`,`translate(0, `+-u.height/2+`)`),n.centerLabel&&o.attr(`transform`,`translate(`+-u.width/2+`, `+-u.height/2+`)`),o.insert(`rect`,`:first-child`),{shapeSvg:e,bbox:u,halfPadding:c,label:o}},`insertLabel`),I=w((e,t,n)=>{if(n){e.width=n.width,e.height=n.height;return}let r=t.node().getBBox();e.width=r.width,e.height=r.height},`updateNodeBounds`),L=w((e,t)=>(e.look===`handDrawn`?`rough-node`:`node`)+` `+e.cssClasses+` `+(t||``),`getNodeClasses`);function R(e){let t=e.map((e,t)=>`${t===0?`M`:`L`}${e.x},${e.y}`);return t.push(`Z`),t.join(` `)}w(R,`createPathFromPoints`);function z(e,t,n,r,i,a){let o=[],s=n-e,c=r-t,l=s/a,u=2*Math.PI/l,d=t+c/2;for(let t=0;t<=50;t++){let n=e+t/50*s,r=d+i*Math.sin(u*(n-e));o.push({x:n,y:r})}return o}w(z,`generateFullSineWavePoints`);function B(e,t,n,r,i,a){let o=[],s=i*Math.PI/180,c=(a*Math.PI/180-s)/(r-1);for(let i=0;i<r;i++){let r=s+i*c,a=e+n*Math.cos(r),l=t+n*Math.sin(r);o.push({x:-a,y:-l})}return o}w(B,`generateCirclePoints`);function ee(e){let t=Array.from(e.childNodes).filter(e=>e.tagName===`path`),n=document.createElementNS(`http://www.w3.org/2000/svg`,`path`),r=t.map(e=>e.getAttribute(`d`)).filter(e=>e!==null).join(` `);n.setAttribute(`d`,r);let i=t.find(e=>e.getAttribute(`fill`)!==`none`),a=t.find(e=>e.getAttribute(`stroke`)!==`none`),o=w((e,t)=>e?.getAttribute(t)??void 0,`getAttr`);if(i){let e={fill:o(i,`fill`),"fill-opacity":o(i,`fill-opacity`)??`1`};Object.entries(e).forEach(([e,t])=>{t&&n.setAttribute(e,t)})}if(a){let e={stroke:o(a,`stroke`),"stroke-width":o(a,`stroke-width`)??`1`,"stroke-opacity":o(a,`stroke-opacity`)??`1`};Object.entries(e).forEach(([e,t])=>{t&&n.setAttribute(e,t)})}let s=document.createElementNS(`http://www.w3.org/2000/svg`,`g`);return s.appendChild(n),s}w(ee,`mergePaths`);var V=w((e,t)=>{var n=e.x,r=e.y,i=t.x-n,a=t.y-r,o=e.width/2,s=e.height/2,c,l;return Math.abs(a)*o>Math.abs(i)*s?(a<0&&(s=-s),c=a===0?0:s*i/a,l=s):(i<0&&(o=-o),c=o,l=i===0?0:o*a/i),{x:n+c,y:r+l}},`intersectRect`);function te(e,t){return e.intersect(t)}w(te,`intersectNode`);var H=te;function U(e,t,n,r){var i=e.x,a=e.y,o=i-r.x,s=a-r.y,c=Math.sqrt(t*t*s*s+n*n*o*o),l=Math.abs(t*n*o/c);r.x<i&&(l=-l);var u=Math.abs(t*n*s/c);return r.y<a&&(u=-u),{x:i+l,y:a+u}}w(U,`intersectEllipse`);var ne=U;function re(e,t,n){return ne(e,t,t,n)}w(re,`intersectCircle`);var ie=re;function W(e,t,n,r){{let i=t.y-e.y,a=e.x-t.x,o=t.x*e.y-e.x*t.y,s=i*n.x+a*n.y+o,c=i*r.x+a*r.y+o,l=1e-6;if(s!==0&&c!==0&&G(s,c))return;let u=r.y-n.y,d=n.x-r.x,f=r.x*n.y-n.x*r.y,p=u*e.x+d*e.y+f,m=u*t.x+d*t.y+f;if(Math.abs(p)<l&&Math.abs(m)<l&&G(p,m))return;let h=i*d-u*a;return h===0?void 0:{x:(a*f-d*o)/h,y:(u*o-i*f)/h}}}w(W,`intersectLine`);function G(e,t){return e*t>0}w(G,`sameSign`);var ae=W;function oe(e,t,n){let r=e.x,i=e.y,a=[],o=1/0,s=1/0;typeof t.forEach==`function`?t.forEach(function(e){o=Math.min(o,e.x),s=Math.min(s,e.y)}):(o=Math.min(o,t.x),s=Math.min(s,t.y));let c=r-e.width/2-o,l=i-e.height/2-s;for(let r=0;r<t.length;r++){let i=t[r],o=t[r<t.length-1?r+1:0],s=ae(e,n,{x:c+i.x,y:l+i.y},{x:c+o.x,y:l+o.y});s&&a.push(s)}return a.length?(a.length>1&&a.sort(function(e,t){let r=e.x-n.x,i=e.y-n.y,a=Math.sqrt(r*r+i*i),o=t.x-n.x,s=t.y-n.y,c=Math.sqrt(o*o+s*s);return a<c?-1:a===c?0:1}),a[0]):e}w(oe,`intersectPolygon`);var K={node:H,circle:ie,ellipse:ne,polygon:oe,rect:V},q=w((e,t,n,r,i)=>[`M`,e+i,t,`H`,e+n-i,`A`,i,i,0,0,1,e+n,t+i,`V`,t+r-i,`A`,i,i,0,0,1,e+n-i,t+r,`H`,e+i,`A`,i,i,0,0,1,e,t+r-i,`V`,t+i,`A`,i,i,0,0,1,e+i,t,`Z`].join(` `),`createRoundedRectPathD`),se=w(async(e,t,n,r=!1,a=!1)=>{let o=t||``;typeof o==`object`&&(o=o[0]);let s=h(),c=y(s);return await i(e,o,{style:n,isTitle:r,useHtmlLabels:c,markdown:!1,isNode:a,width:1/0},s)},`createLabel`);function ce(n,r){let{labelStyles:i}=t(r);r.labelStyle=i;let a=L(r),o=a;a||(o=`anchor`);let s=n.insert(`g`).attr(`class`,o).attr(`id`,r.domId||r.id),{cssStyles:c}=r,l=T.svg(s),d=e(r,{fill:`black`,stroke:`none`,fillStyle:`solid`});r.look!==`handDrawn`&&(d.roughness=0);let f=l.circle(0,0,2,d),p=s.insert(()=>f,`:first-child`);return p.attr(`class`,`anchor`).attr(`style`,u(c)),I(r,p),r.intersect=function(e){return S.info(`Circle intersect`,r,1,e),K.circle(r,1,e)},s}w(ce,`anchor`);function le(e,t,n,r,i,a,o){let s=(e+n)/2,c=(t+r)/2,l=Math.atan2(r-t,n-e),u=(n-e)/2,d=(r-t)/2,f=u/i,p=d/a,m=Math.sqrt(f**2+p**2);if(m>1)throw Error(`The given radii are too small to create an arc between the points.`);let h=Math.sqrt(1-m**2),g=s+h*a*Math.sin(l)*(o?-1:1),_=c-h*i*Math.cos(l)*(o?-1:1),v=Math.atan2((t-_)/a,(e-g)/i),y=Math.atan2((r-_)/a,(n-g)/i)-v;o&&y<0&&(y+=2*Math.PI),!o&&y>0&&(y-=2*Math.PI);let b=[];for(let e=0;e<20;e++){let t=v+e/19*y,n=g+i*Math.cos(t),r=_+a*Math.sin(t);b.push({x:n,y:r})}return b}w(le,`generateArcPoints`);function ue(e,t,n){let[r,i]=[t,n].sort((e,t)=>t-e);return i*(1-Math.sqrt(1-(e/r/2)**2))}w(ue,`calculateArcSagitta`);async function de(n,r){let{labelStyles:i,nodeStyles:a}=t(r);r.labelStyle=i;let o=r.padding??0,s=r.look===`neo`?16:o,c=r.look===`neo`?12:o,l=w(e=>e+c,`calcTotalHeight`),u=w(e=>{let t=e/2;return[t/(2.5+e/50),t]},`calcEllipseRadius`),{shapeSvg:d,bbox:f}=await P(n,r,L(r)),p=l(r?.height?r?.height:f.height),[m,h]=u(p),g=ue(p,m,h),_=(r?.width?r?.width:f.width)+s*2+g-g,v=p,{cssStyles:y}=r,b=[{x:_/2,y:-v/2},{x:-_/2,y:-v/2},...le(-_/2,-v/2,-_/2,v/2,m,h,!1),{x:_/2,y:v/2},...le(_/2,v/2,_/2,-v/2,m,h,!0)],x=T.svg(d),S=e(r,{});r.look!==`handDrawn`&&(S.roughness=0,S.fillStyle=`solid`);let C=R(b),E=x.path(C,S),D=d.insert(()=>E,`:first-child`);return D.attr(`class`,`basic label-container outer-path`),y&&r.look!==`handDrawn`&&D.selectAll(`path`).attr(`style`,y),a&&r.look!==`handDrawn`&&D.selectAll(`path`).attr(`style`,a),D.attr(`transform`,`translate(${m/2}, 0)`),I(r,D),r.intersect=function(e){return K.polygon(r,b,e)},d}w(de,`bowTieRect`);async function fe(n,r,{config:{themeVariables:i}}){let{labelStyles:a,nodeStyles:o}=t(r);r.labelStyle=a;let{shapeSvg:s,bbox:c,label:l}=await P(n,r,L(r)),u=i?.nodeBorder??i?.lineColor??`currentColor`,d=r.padding??12,f=Math.max(c.width+d*2,r.width??0,80),p=Math.max(Math.min(f*.08,12),5),m=Math.max(c.height+d*2+p,r.height??0),h=-m/2+p,g=m/2,_=f*.72,v=[`M${-f/2},${h}`,`L${-_/2},${g}`,`A${_/2},${p} 0 0 0 ${_/2},${g}`,`L${f/2},${h}`,`A${f/2},${p} 0 0 0 ${-f/2},${h}`,`Z`].join(` `),{cssStyles:y}=r,b=s.insert(`g`,`:first-child`).attr(`class`,`basic label-container`);if(r.look===`handDrawn`){let t=T.svg(s).path(v,e(r,{}));b.node()?.appendChild(t),y&&b.attr(`style`,y)}else b.append(`path`).attr(`d`,v).attr(`style`,o);b.append(`ellipse`).attr(`cx`,0).attr(`cy`,h).attr(`rx`,f/2).attr(`ry`,p).attr(`style`,`fill:none;stroke:${u};stroke-width:1px`),I(r,b);let x=h+(g-h)/2;l.attr(`transform`,`translate(${-(c.width/2)-(c.x-(c.left??0))}, ${x-c.height/2-(c.y-(c.top??0))})`);let S=w((e,t,n)=>Array.from({length:13},(r,i)=>{let a=Math.PI-i*Math.PI/12;return{x:e*Math.cos(a),y:t+n*p*Math.sin(a)}}),`arc`),C=[...S(f/2,h,-1),...S(_/2,g,1).reverse()];return r.intersect=function(e){return K.polygon(r,C,e)},s}w(fe,`bucket`);var pe=20,me=8,he=80,ge=8;function _e(e){let{themeVariables:t}=h(),n=t.clusterBkg,r=t.clusterBorder;switch(e){case`flow`:return{rx:10,fill:`none`,stroke:t.flowContainerStroke||t.secondaryBorderColor,strokeWidth:.75,cssClass:`flow-collapsed`};default:return{rx:ge,fill:n,stroke:r,cssClass:`collapsed-group`}}}w(_e,`getCollapsedStyle`);async function ve(n,r){let i=_e(r.metadata?.containerType),{fill:a,stroke:o}=i,{nodeStyles:s}=t(r),{shapeSvg:l,bbox:d}=await P(n,r,L(r)),{theme:f,themeVariables:p}=h();c(l,r.colorIndex,f,p.borderColorArray);let m=r.padding??8,g=d.height,_=Math.max(d.width+m*2,he,r?.width??0),v=Math.max(g+me+pe+m*2,r?.height??0),b=-_/2,x=-v/2,S=-(me+pe)/2,C=l.select(`.label`);C&&(r.useHtmlLabels??y(h())?C.attr(`transform`,`translate(${-d.width/2}, ${-d.height/2+S})`):C.attr(`transform`,`translate(0, ${-d.height/2+S})`));let w;if(r.look===`handDrawn`){let t=T.svg(l),n=e(r,{fill:a,stroke:o,...i.strokeWidth===void 0?{}:{strokeWidth:i.strokeWidth},...a===`none`?{fillWeight:0}:{fillStyle:`solid`}}),s=t.path(q(b,x,_,v,i.rx),n);w=l.insert(()=>s,`:first-child`),w.attr(`class`,`basic label-container `+i.cssClass).attr(`style`,u(r.cssStyles))}else w=l.insert(`rect`,`:first-child`),w.attr(`class`,`basic label-container `+i.cssClass).attr(`style`,s).attr(`rx`,i.rx).attr(`ry`,i.rx).attr(`x`,b).attr(`y`,x).attr(`width`,_).attr(`height`,v).attr(`fill`,a).attr(`stroke`,o),i.strokeWidth!==void 0&&w.attr(`stroke-width`,i.strokeWidth+`px`);let E=x+m+g+me;l.append(`line`).attr(`class`,`collapsed-separator`).attr(`x1`,b+8).attr(`y1`,E).attr(`x2`,b+_-8).attr(`y2`,E).attr(`stroke`,o).attr(`stroke-dasharray`,`3, 3`);let D=E+pe/2;for(let e=-1;e<=1;e++)l.append(`circle`).attr(`class`,`collapsed-indicator`).attr(`cx`,e*10).attr(`cy`,D).attr(`r`,2.5).attr(`fill`,o);return I(r,w),r.calcIntersect=function(e,t){return K.rect(e,t)},r.intersect=function(e){return K.rect(r,e)},l}w(ve,`collapsedGroup`);function J(e,t,n,r){return e.insert(`polygon`,`:first-child`).attr(`points`,r.map(function(e){return e.x+`,`+e.y}).join(` `)).attr(`class`,`label-container`).attr(`transform`,`translate(`+-t/2+`,`+n/2+`)`)}w(J,`insertPolygonShape`);var ye=[`right`,`left`,`up`,`down`],be=`point`,xe=w(e=>{let t=new Set;for(let n of e)switch(n){case`x`:t.add(`right`),t.add(`left`);break;case`y`:t.add(`up`),t.add(`down`);break;default:t.add(n)}return t},`expandAndDeduplicateDirections`),Se=w(e=>ye.filter(t=>e.has(t)).join(`|`)||be,`getDirectionKey`),Ce={"right|left|up|down":w(({height:e,midpoint:t,padding:n,width:r})=>[{x:0,y:0},{x:t,y:0},{x:r/2,y:2*n},{x:r-t,y:0},{x:r,y:0},{x:r,y:-e/3},{x:r+2*n,y:-e/2},{x:r,y:-2*e/3},{x:r,y:-e},{x:r-t,y:-e},{x:r/2,y:-e-2*n},{x:t,y:-e},{x:0,y:-e},{x:0,y:-2*e/3},{x:-2*n,y:-e/2},{x:0,y:-e/3}],`right|left|up|down`),"right|left|up":w(({height:e,midpoint:t,width:n})=>[{x:t,y:0},{x:n-t,y:0},{x:n,y:-e/2},{x:n-t,y:-e},{x:t,y:-e},{x:0,y:-e/2}],`right|left|up`),"right|left|down":w(({height:e,midpoint:t,width:n})=>[{x:0,y:0},{x:t,y:-e},{x:n-t,y:-e},{x:n,y:0}],`right|left|down`),"right|up|down":w(({height:e,midpoint:t,width:n})=>[{x:0,y:0},{x:n,y:-t},{x:n,y:-e+t},{x:0,y:-e}],`right|up|down`),"left|up|down":w(({height:e,midpoint:t,width:n})=>[{x:n,y:0},{x:0,y:-t},{x:0,y:-e+t},{x:n,y:-e}],`left|up|down`),"right|left":w(({height:e,midpoint:t,padding:n,width:r})=>[{x:t,y:0},{x:t,y:-n},{x:r-t,y:-n},{x:r-t,y:0},{x:r,y:-e/2},{x:r-t,y:-e},{x:r-t,y:-e+n},{x:t,y:-e+n},{x:t,y:-e},{x:0,y:-e/2}],`right|left`),"up|down":w(({height:e,midpoint:t,padding:n,width:r})=>[{x:r/2,y:0},{x:0,y:-n},{x:t,y:-n},{x:t,y:-e+n},{x:0,y:-e+n},{x:r/2,y:-e},{x:r,y:-e+n},{x:r-t,y:-e+n},{x:r-t,y:-n},{x:r,y:-n}],`up|down`),"right|up":w(({height:e,midpoint:t,width:n})=>[{x:0,y:0},{x:n,y:-t},{x:0,y:-e}],`right|up`),"right|down":w(({height:e,width:t})=>[{x:0,y:0},{x:t,y:0},{x:0,y:-e}],`right|down`),"left|up":w(({height:e,midpoint:t,width:n})=>[{x:n,y:0},{x:0,y:-t},{x:n,y:-e}],`left|up`),"left|down":w(({height:e,width:t})=>[{x:t,y:0},{x:0,y:0},{x:t,y:-e}],`left|down`),right:w(({height:e,midpoint:t,padding:n,width:r})=>[{x:t,y:-n},{x:t,y:-n},{x:r-t,y:-n},{x:r-t,y:0},{x:r,y:-e/2},{x:r-t,y:-e},{x:r-t,y:-e+n},{x:t,y:-e+n},{x:t,y:-e+n}],`right`),left:w(({height:e,midpoint:t,padding:n,width:r})=>[{x:t,y:0},{x:t,y:-n},{x:r-t,y:-n},{x:r-t,y:-e+n},{x:t,y:-e+n},{x:t,y:-e},{x:0,y:-e/2}],`left`),up:w(({height:e,midpoint:t,padding:n,width:r})=>[{x:t,y:-n},{x:t,y:-e+n},{x:0,y:-e+n},{x:r/2,y:-e},{x:r,y:-e+n},{x:r-t,y:-e+n},{x:r-t,y:-n}],`up`),down:w(({height:e,midpoint:t,padding:n,width:r})=>[{x:r/2,y:0},{x:0,y:-n},{x:t,y:-n},{x:t,y:-e+n},{x:r-t,y:-e+n},{x:r-t,y:-n},{x:r,y:-n}],`down`),[be]:()=>[{x:0,y:0}]},we=w((e,t,n,r)=>{let i=xe(e),a=(n.padding??0)/2,o=t.height+4*a,s=o/2,c=r??t.width+2*s+2*a;return(Ce[Se(i)]??Ce[be])({height:o,midpoint:s,padding:a,width:c})},`getArrowPoints`);async function Te(e,t){let n=t,{shapeSvg:r,bbox:i}=await P(e,n,L(n)),a=n.padding??0,o=i.height+2*a,s=o/2,c=i.width+2*s+a,l=n.width??0,u=n.positioned&&(n.widthInColumns??1)>1&&l>c?l:c,d=we(n.directions??[],i,n,u),f=J(r,u,o,d);return f.attr(`style`,n.style??null),I(n,f),n.intersect=function(e){return K.polygon(n,d,e)},r}w(Te,`block_arrow`);async function Ee(n,r,{config:{themeVariables:i}}){let{labelStyles:a,nodeStyles:o}=t(r);r.labelStyle=a;let{shapeSvg:s,bbox:c,label:l}=await P(n,r,L(r)),u=i?.nodeBorder??i?.lineColor??`currentColor`,d=r.padding??12,f=Math.max(c.width+d*2,r.width??0,90),p=Math.max(c.height+d*2+18,r.height??0),m=-p/2,{cssStyles:h}=r,g=s.insert(`g`,`:first-child`).attr(`class`,`basic label-container`);if(r.look===`handDrawn`){let t=T.svg(s).path(q(-f/2,m,f,p,12),e(r,{}));g.node()?.appendChild(t),h&&g.attr(`style`,h)}else g.append(`rect`).attr(`x`,-f/2).attr(`y`,m).attr(`width`,f).attr(`height`,p).attr(`rx`,12).attr(`ry`,12).attr(`style`,o);g.append(`line`).attr(`x1`,-f/2).attr(`y1`,m+18).attr(`x2`,f/2).attr(`y2`,m+18).attr(`style`,`stroke:${u};stroke-width:1px`);for(let e=0;e<3;e++)g.append(`circle`).attr(`cx`,-f/2+12+e*9).attr(`cy`,m+9).attr(`r`,2.5).attr(`style`,`fill:${u};stroke:none`);g.append(`rect`).attr(`class`,`browser-address-bar`).attr(`x`,-f/2+44).attr(`y`,m+4).attr(`width`,Math.max(f-56,10)).attr(`height`,10).attr(`rx`,3).attr(`ry`,3).attr(`style`,`fill:none;stroke:${u};stroke-width:1px;opacity:0.6`),I(r,g);let _=m+18+(p-18)/2;return l.attr(`transform`,`translate(${-(c.width/2)-(c.x-(c.left??0))}, ${_-c.height/2-(c.y-(c.top??0))})`),r.intersect=function(e){return K.rect(r,e)},s}w(Ee,`browser`);var De=12;async function Oe(n,r){let{labelStyles:i,nodeStyles:a}=t(r);r.labelStyle=i;let o=r.padding??0,s=r.look===`neo`?28:o,c=r.look===`neo`?24:o,{shapeSvg:l,bbox:u}=await P(n,r,L(r)),d=(r?.width??u.width)+(r.look===`neo`?s*2:s+De),f=(r?.height??u.height)+(r.look===`neo`?c*2:c),p=d,m=-f,h=[{x:0+De,y:m},{x:p,y:m},{x:p,y:0},{x:0,y:0},{x:0,y:m+De},{x:0+De,y:m}],g,{cssStyles:_}=r;if(r.look===`handDrawn`){let t=T.svg(l),n=e(r,{}),i=R(h),a=t.path(i,n);g=l.insert(()=>a,`:first-child`).attr(`transform`,`translate(${-d/2}, ${f/2})`),_&&g.attr(`style`,_)}else g=J(l,d,f,h);return a&&g.attr(`style`,a),I(r,g),r.intersect=function(e){return K.polygon(r,h,e)},l}w(Oe,`card`);function ke(n,r){let{nodeStyles:i}=t(r);r.label=``;let a=n.insert(`g`).attr(`class`,L(r)).attr(`id`,r.domId??r.id),{cssStyles:o}=r,s=Math.max(28,r.width??0),c=[{x:0,y:s/2},{x:s/2,y:0},{x:0,y:-s/2},{x:-s/2,y:0}],l=T.svg(a),u=e(r,{});r.look!==`handDrawn`&&(u.roughness=0,u.fillStyle=`solid`);let d=R(c),f=l.path(d,u),p=a.insert(()=>f,`:first-child`);return o&&r.look!==`handDrawn`&&p.selectAll(`path`).attr(`style`,o),i&&r.look!==`handDrawn`&&p.selectAll(`path`).attr(`style`,i),r.width=28,r.height=28,r.intersect=function(e){return K.polygon(r,c,e)},a}w(ke,`choice`);async function Ae(n,r,i){let{labelStyles:a,nodeStyles:o}=t(r);r.labelStyle=a;let{shapeSvg:s,bbox:c,halfPadding:l}=await P(n,r,L(r),{ignoreMinWidth:!0}),d=i?.padding??l,f=Math.sqrt(c.width**2+c.height**2)/2,p=r.look===`neo`?f+16:f+d,m,{cssStyles:h}=r;if(r.look===`handDrawn`){let t=T.svg(s),n=e(r,{}),i=t.circle(0,0,p*2,n);m=s.insert(()=>i,`:first-child`),m.attr(`class`,`basic label-container`).attr(`style`,u(h))}else m=s.insert(`circle`,`:first-child`).attr(`class`,`basic label-container`).attr(`style`,o).attr(`r`,p).attr(`cx`,0).attr(`cy`,0);return I(r,m),r.calcIntersect=function(e,t){let n=e.width/2;return K.circle(e,n,t)},r.intersect=function(e){return S.info(`Circle intersect`,r,p,e),K.circle(r,p,e)},s}w(Ae,`circle`);async function je(e,t){let n=t,{shapeSvg:r,bbox:i,halfPadding:a}=await P(e,n,[`node`,n.cssClasses,n.class].filter(Boolean).join(` `)),o=r.insert(`rect`,`:first-child`),s=n.padding??0,c=n.positioned?n.width??0:i.width+s,l=n.positioned?n.height??0:i.height+s,u=n.positioned?-c/2:-i.width/2-a,d=n.positioned?-l/2:-i.height/2-a;return o.attr(`class`,`basic cluster composite label-container`).attr(`style`,n.style??null).attr(`rx`,n.rx??null).attr(`ry`,n.ry??null).attr(`x`,u).attr(`y`,d).attr(`width`,c).attr(`height`,l),I(n,o),n.intersect=function(e){return K.rect(n,e)},r}w(je,`composite`);async function Me(n,r,{config:{themeVariables:i}}){let{labelStyles:a,nodeStyles:o}=t(r);r.labelStyle=a;let{shapeSvg:s,bbox:c,label:l}=await P(n,r,L(r)),u=i?.nodeBorder??i?.lineColor??`currentColor`,d=r.padding??12,f=Math.max(c.width+d*2,r.width??0,90),p=Math.max(c.height+d*2+20,r.height??0),m=-p/2,{cssStyles:h}=r,g=s.insert(`g`,`:first-child`).attr(`class`,`basic label-container`);if(r.look===`handDrawn`){let t=T.svg(s).path(q(-f/2,m,f,p,12),e(r,{}));g.node()?.appendChild(t),h&&g.attr(`style`,h)}else g.append(`rect`).attr(`x`,-f/2).attr(`y`,m).attr(`width`,f).attr(`height`,p).attr(`rx`,12).attr(`ry`,12).attr(`style`,o);g.append(`text`).attr(`x`,-f/2+12).attr(`y`,m+16).attr(`class`,`console-glyph`).attr(`style`,`font-family:monospace;font-weight:bold;font-size:14px;fill:${u}`).text(`>_`),I(r,g);let _=m+20+(p-20)/2;return l.attr(`transform`,`translate(${-(c.width/2)-(c.x-(c.left??0))}, ${_-c.height/2-(c.y-(c.top??0))})`),r.intersect=function(e){return K.rect(r,e)},s}w(Me,`consoleWindow`);function Ne(e){let t=Math.cos(Math.PI/4),n=Math.sin(Math.PI/4),r=e*2,i={x:r/2*t,y:r/2*n},a={x:-(r/2)*t,y:r/2*n},o={x:-(r/2)*t,y:-(r/2)*n},s={x:r/2*t,y:-(r/2)*n};return`M ${a.x},${a.y} L ${s.x},${s.y}
2
+ M ${i.x},${i.y} L ${o.x},${o.y}`}w(Ne,`createLine`);function Pe(n,r){let{labelStyles:i,nodeStyles:a}=t(r);r.labelStyle=i,r.label=``;let o=n.insert(`g`).attr(`class`,L(r)).attr(`id`,r.domId??r.id),s=Math.max(30,r?.width??0),{cssStyles:c}=r,l=T.svg(o),u=e(r,{});r.look!==`handDrawn`&&(u.roughness=0,u.fillStyle=`solid`);let d=l.circle(0,0,s*2,u),f=Ne(s),p=l.path(f,u),m=o.insert(()=>d,`:first-child`);return m.insert(()=>p),m.attr(`class`,`outer-path`),c&&r.look!==`handDrawn`&&m.selectAll(`path`).attr(`style`,c),a&&r.look!==`handDrawn`&&m.selectAll(`path`).attr(`style`,a),I(r,m),r.intersect=function(e){return S.info(`crossedCircle intersect`,r,{radius:s,point:e}),K.circle(r,s,e)},o}w(Pe,`crossedCircle`);function Y(e,t,n,r=100,i=0,a=180){let o=[],s=i*Math.PI/180,c=(a*Math.PI/180-s)/(r-1);for(let i=0;i<r;i++){let r=s+i*c,a=e+n*Math.cos(r),l=t+n*Math.sin(r);o.push({x:-a,y:-l})}return o}w(Y,`generateCirclePoints`);async function Fe(n,r){let{labelStyles:i,nodeStyles:a}=t(r);r.labelStyle=i;let{shapeSvg:o,bbox:s,label:c}=await P(n,r,L(r)),l=r.look===`neo`?18:r.padding??0,u=r.look===`neo`?12:r.padding??0,d=s.width+l,f=s.height+u,p=Math.max(5,f*.1),{cssStyles:m}=r,h=[...Y(d/2,-f/2,p,30,-90,0),{x:-d/2-p,y:p},...Y(d/2+p*2,-p,p,20,-180,-270),...Y(d/2+p*2,p,p,20,-90,-180),{x:-d/2-p,y:-f/2},...Y(d/2,f/2,p,20,0,90)],g=[{x:d/2,y:-f/2-p},{x:-d/2,y:-f/2-p},...Y(d/2,-f/2,p,20,-90,0),{x:-d/2-p,y:-p},...Y(d/2+d*.1,-p,p,20,-180,-270),...Y(d/2+d*.1,p,p,20,-90,-180),{x:-d/2-p,y:f/2},...Y(d/2,f/2,p,20,0,90),{x:-d/2,y:f/2+p},{x:d/2,y:f/2+p}],_=T.svg(o),v=e(r,{fill:`none`});r.look!==`handDrawn`&&(v.roughness=0,v.fillStyle=`solid`);let y=R(h).replace(`Z`,``),b=_.path(y,v),x=R(g),S=_.path(x,{...v}),C=o.insert(`g`,`:first-child`);return C.insert(()=>S,`:first-child`).attr(`stroke-opacity`,0),C.insert(()=>b,`:first-child`),C.attr(`class`,`text`),m&&r.look!==`handDrawn`&&C.selectAll(`path`).attr(`style`,m),a&&r.look!==`handDrawn`&&C.selectAll(`path`).attr(`style`,a),C.attr(`transform`,`translate(${p}, 0)`),c.attr(`transform`,`translate(${-d/2+p-(s.x-(s.left??0))},${-f/2+(r.padding??0)/2-(s.y-(s.top??0))})`),I(r,C),r.intersect=function(e){return K.polygon(r,g,e)},o}w(Fe,`curlyBraceLeft`);function X(e,t,n,r=100,i=0,a=180){let o=[],s=i*Math.PI/180,c=(a*Math.PI/180-s)/(r-1);for(let i=0;i<r;i++){let r=s+i*c,a=e+n*Math.cos(r),l=t+n*Math.sin(r);o.push({x:a,y:l})}return o}w(X,`generateCirclePoints`);async function Ie(n,r){let{labelStyles:i,nodeStyles:a}=t(r);r.labelStyle=i;let{shapeSvg:o,bbox:s,label:c}=await P(n,r,L(r)),l=r.look===`neo`?18:r.padding??0,u=r.look===`neo`?12:r.padding??0,d=s.width+(r.look===`neo`?l*2:l),f=s.height+(r.look===`neo`?u*2:u),p=Math.max(5,f*.1),{cssStyles:m}=r,h=[...X(d/2,-f/2,p,20,-90,0),{x:d/2+p,y:-p},...X(d/2+p*2,-p,p,20,-180,-270),...X(d/2+p*2,p,p,20,-90,-180),{x:d/2+p,y:f/2},...X(d/2,f/2,p,20,0,90)],g=[{x:-d/2,y:-f/2-p},{x:d/2,y:-f/2-p},...X(d/2,-f/2,p,20,-90,0),{x:d/2+p,y:-p},...X(d/2+p*2,-p,p,20,-180,-270),...X(d/2+p*2,p,p,20,-90,-180),{x:d/2+p,y:f/2},...X(d/2,f/2,p,20,0,90),{x:d/2,y:f/2+p},{x:-d/2,y:f/2+p}],_=T.svg(o),v=e(r,{fill:`none`});r.look!==`handDrawn`&&(v.roughness=0,v.fillStyle=`solid`);let y=R(h).replace(`Z`,``),b=_.path(y,v),x=R(g),S=_.path(x,{...v}),C=o.insert(`g`,`:first-child`);return C.insert(()=>S,`:first-child`).attr(`stroke-opacity`,0),C.insert(()=>b,`:first-child`),C.attr(`class`,`text`),m&&r.look!==`handDrawn`&&C.selectAll(`path`).attr(`style`,m),a&&r.look!==`handDrawn`&&C.selectAll(`path`).attr(`style`,a),C.attr(`transform`,`translate(${-p}, 0)`),c.attr(`transform`,`translate(${-d/2+(r.padding??0)/2-(s.x-(s.left??0))},${-f/2+(r.padding??0)/2-(s.y-(s.top??0))})`),I(r,C),r.intersect=function(e){return K.polygon(r,g,e)},o}w(Ie,`curlyBraceRight`);function Z(e,t,n,r=100,i=0,a=180){let o=[],s=i*Math.PI/180,c=(a*Math.PI/180-s)/(r-1);for(let i=0;i<r;i++){let r=s+i*c,a=e+n*Math.cos(r),l=t+n*Math.sin(r);o.push({x:-a,y:-l})}return o}w(Z,`generateCirclePoints`);async function Le(n,r){let{labelStyles:i,nodeStyles:a}=t(r);r.labelStyle=i;let{shapeSvg:o,bbox:s,label:c}=await P(n,r,L(r)),l=r.look===`neo`?18:r.padding??0,u=r.look===`neo`?12:r.padding??0,d=s.width+(r.look===`neo`?l*2:l),f=s.height+(r.look===`neo`?u*2:u),p=Math.max(5,f*.1),{cssStyles:m}=r,h=[...Z(d/2,-f/2,p,30,-90,0),{x:-d/2-p,y:p},...Z(d/2+p*2,-p,p,20,-180,-270),...Z(d/2+p*2,p,p,20,-90,-180),{x:-d/2-p,y:-f/2},...Z(d/2,f/2,p,20,0,90)],g=[...Z(-d/2+p+p/2,-f/2,p,20,-90,-180),{x:d/2-p/2,y:p},...Z(-d/2-p/2,-p,p,20,0,90),...Z(-d/2-p/2,p,p,20,-90,0),{x:d/2-p/2,y:-p},...Z(-d/2+p+p/2,f/2,p,30,-180,-270)],_=[{x:d/2,y:-f/2-p},{x:-d/2,y:-f/2-p},...Z(d/2,-f/2,p,20,-90,0),{x:-d/2-p,y:-p},...Z(d/2+p*2,-p,p,20,-180,-270),...Z(d/2+p*2,p,p,20,-90,-180),{x:-d/2-p,y:f/2},...Z(d/2,f/2,p,20,0,90),{x:-d/2,y:f/2+p},{x:d/2-p-p/2,y:f/2+p},...Z(-d/2+p+p/2,-f/2,p,20,-90,-180),{x:d/2-p/2,y:p},...Z(-d/2-p/2,-p,p,20,0,90),...Z(-d/2-p/2,p,p,20,-90,0),{x:d/2-p/2,y:-p},...Z(-d/2+p+p/2,f/2,p,30,-180,-270)],v=T.svg(o),y=e(r,{fill:`none`});r.look!==`handDrawn`&&(y.roughness=0,y.fillStyle=`solid`);let b=R(h).replace(`Z`,``),x=v.path(b,y),S=R(g).replace(`Z`,``),C=v.path(S,y),w=R(_),E=v.path(w,{...y}),D=o.insert(`g`,`:first-child`);return D.insert(()=>E,`:first-child`).attr(`stroke-opacity`,0),D.insert(()=>x,`:first-child`),D.insert(()=>C,`:first-child`),D.attr(`class`,`text`),m&&r.look!==`handDrawn`&&D.selectAll(`path`).attr(`style`,m),a&&r.look!==`handDrawn`&&D.selectAll(`path`).attr(`style`,a),D.attr(`transform`,`translate(${p-p/4}, 0)`),c.attr(`transform`,`translate(${-d/2+(r.padding??0)/2-(s.x-(s.left??0))},${-f/2+(r.padding??0)/2-(s.y-(s.top??0))})`),I(r,D),r.intersect=function(e){return K.polygon(r,_,e)},o}w(Le,`curlyBraces`);async function Re(n,r){let{labelStyles:i,nodeStyles:a}=t(r);r.labelStyle=i;let o=r.padding??0,s=r.look===`neo`?16:o,c=r.look===`neo`?12:o,{shapeSvg:l,bbox:u}=await P(n,r,L(r)),d=Math.max(5,u.height+c*2,r?.height??0),f=d/2,p=f-Math.sqrt(Math.max(0,f**2-(u.height/2)**2)),m=Math.max(d/4,p),h=Math.max(20,u.width+s*2+m*2,(u.width+s*2)*1.25,r?.width??0),{cssStyles:g}=r,_=T.svg(l),v=e(r,{});r.look!==`handDrawn`&&(v.roughness=0,v.fillStyle=`solid`);let y=h,b=d,x=y-f,S=b/4,C=[{x,y:0},{x:S,y:0},{x:0,y:b/2},{x:S,y:b},{x,y:b},...B(-x,-b/2,f,50,270,90)],w=R(C),E=_.path(w,v),D=l.insert(()=>E,`:first-child`);return D.attr(`class`,`basic label-container outer-path`),g&&r.look!==`handDrawn`&&D.selectChildren(`path`).attr(`style`,g),a&&r.look!==`handDrawn`&&D.selectChildren(`path`).attr(`style`,a),D.attr(`transform`,`translate(${-h/2}, ${-d/2})`),I(r,D),r.intersect=function(e){return K.polygon(r,C,e)},l}w(Re,`curvedTrapezoid`);async function ze(n,r){let{labelStyles:i,nodeStyles:a}=t(r);r.labelStyle=i;let{shapeSvg:o,bbox:s,label:c}=await P(n,r,L(r)),l=r.padding??20,u=Math.max(s.width+l*2,r.width??0,100),d=Math.min(Math.max(u*.23,16),56),f=d*.27,p=Math.max(s.height+l*2,r.height?r.height-(2*d-f):0),m=Math.min(u*.177,p*.45),h=p+2*d-f,g=-h/2,_=g+2*d-f,v=o.insert(`g`,`:first-child`).attr(`class`,`basic label-container`),{cssStyles:y}=r;if(r.look===`handDrawn`){let t=T.svg(o),n=e(r,{}),i=t.path(q(-u/2,_,u,p,m),n),a=t.circle(0,g+d,d*2,n);v.insert(()=>a,`:first-child`),v.insert(()=>i,`:first-child`),y&&v.attr(`style`,y)}else v.append(`rect`).attr(`x`,-u/2).attr(`y`,_).attr(`width`,u).attr(`height`,p).attr(`rx`,m).attr(`ry`,m).attr(`style`,a),v.append(`circle`).attr(`cx`,0).attr(`cy`,g+d).attr(`r`,d).attr(`style`,a);I(r,v);let b=_+p/2;c.attr(`transform`,`translate(${-(s.width/2)-(s.x-(s.left??0))}, ${b-s.height/2-(s.y-(s.top??0))})`);let x=g+d,S=Math.asin(Math.min(1,(_-x)/d))*180/Math.PI,C=[...B(0,-x,d,24,180+S,-S),...B(-(-u/2+m),-(_+m),m,12,90,0),...B(-(-u/2+m),-(h/2-m),m,12,360,270),...B(-(u/2-m),-(h/2-m),m,12,270,180),...B(-(u/2-m),-(_+m),m,12,180,90)];return r.intersect=function(e){return K.polygon(r,C,e)},o}w(ze,`person`);var Be=w((e,t,n,r,i,a)=>[`M${e},${t+a}`,`a${i},${a} 0,0,0 ${n},0`,`a${i},${a} 0,0,0 ${-n},0`,`l0,${r}`,`a${i},${a} 0,0,0 ${n},0`,`l0,${-r}`].join(` `),`createCylinderPathD`),Ve=w((e,t,n,r,i,a)=>[`M${e},${t+a}`,`M${e+n},${t+a}`,`a${i},${a} 0,0,0 ${-n},0`,`l0,${r}`,`a${i},${a} 0,0,0 ${n},0`,`l0,${-r}`].join(` `),`createOuterCylinderPathD`),He=w((e,t,n,r,i,a)=>[`M${e-n/2},${-r/2}`,`a${i},${a} 0,0,0 ${n},0`].join(` `),`createInnerCylinderPathD`),Ue=8,We=8;async function Ge(n,r){let{labelStyles:i,nodeStyles:a}=t(r);r.labelStyle=i;let o=r.padding??0,s=r.look===`neo`?24:o,c=r.look===`neo`?24:o,l=r.width??0;if(r.width&&(r.width-=c,r.width<We&&(r.width=We)),r.height){let e=l/2/(2.5+l/50);r.height=r.height-s-e*3,r.height<Ue&&(r.height=Ue)}let{shapeSvg:d,bbox:f,label:p}=await P(n,r,L(r)),m=Math.max(r.width??0,f.width)+c,h=m/2,g=h/(2.5+m/50),_=Math.max(r.height??0,f.height)+s+g,v,{cssStyles:y}=r;if(r.look===`handDrawn`){let t=T.svg(d),n=Ve(0,0,m,_,h,g),i=He(0,g,m,_,h,g),a=e(r,{}),o=t.path(n,a),s=t.path(i,e(r,{fill:`none`}));v=d.insert(()=>s,`:first-child`),v=d.insert(()=>o,`:first-child`),v.attr(`class`,`basic label-container`),y&&v.attr(`style`,y)}else{let e=Be(0,0,m,_,h,g);v=d.insert(`path`,`:first-child`).attr(`d`,e).attr(`class`,`basic label-container outer-path`).attr(`style`,u(y)).attr(`style`,a)}return v.attr(`label-offset-y`,g),v.attr(`transform`,`translate(${-m/2}, ${-(_/2+g)})`),I(r,v),p.attr(`transform`,`translate(${-(f.width/2)-(f.x-(f.left??0))}, ${-(f.height/2)+(r.padding??0)/1.5-(f.y-(f.top??0))})`),r.intersect=function(e){let t=K.rect(r,e),n=t.x-(r.x??0);if(h!=0&&(Math.abs(n)<(r.width??0)/2||Math.abs(n)==(r.width??0)/2&&Math.abs(t.y-(r.y??0))>(r.height??0)/2-g)){let i=g*g*(1-n*n/(h*h));i>0&&(i=Math.sqrt(i)),i=g-i,e.y-(r.y??0)>0&&(i=-i),t.y+=i}return t},d}w(Ge,`cylinder`);async function Ke(n,r,i){let{labelStyles:a,nodeStyles:o}=t(r);r.labelStyle=a;let{shapeSvg:s,bbox:c}=await P(n,r,L(r)),l=Math.max(c.width+i.labelPaddingX*2,r?.width||0),d=Math.max(c.height+i.labelPaddingY*2,r?.height||0),f=-l/2,p=-d/2,m,{rx:h,ry:g}=r,{cssStyles:_}=r;if(i?.rx&&i.ry&&(h=i.rx,g=i.ry),r.look===`handDrawn`){let t=T.svg(s),n=e(r,{}),i=h||g?t.path(q(f,p,l,d,h||0),n):t.rectangle(f,p,l,d,n);m=s.insert(()=>i,`:first-child`),m.attr(`class`,`basic label-container`).attr(`style`,u(_))}else m=s.insert(`rect`,`:first-child`),m.attr(`class`,`basic label-container`).attr(`style`,o).attr(`rx`,u(h)).attr(`ry`,u(g)).attr(`x`,f).attr(`y`,p).attr(`width`,l).attr(`height`,d);return I(r,m,r.look===`handDrawn`?void 0:{width:l,height:d}),r.calcIntersect=function(e,t){return K.rect(e,t)},r.intersect=function(e){return K.rect(r,e)},s}w(Ke,`drawRect`);async function qe(t,n){let{cssClasses:r,labelPaddingX:i,labelPaddingY:a,padding:o,width:s,height:c}=n,l=await Ke(t,n,{rx:0,ry:0,classes:r??``,labelPaddingX:i??(o??0)*2,labelPaddingY:a??o??0});if(n.look===`handDrawn`){let t=T.svg(l),r=e(n,{}),i=l.select(`.basic.label-container > path:nth-child(2)`),a=i.node();if(!a)return l;let o=null;if(a instanceof SVGGraphicsElement)o=a.getBBox();else return l;return l.insert(()=>t.line(o.x,o.y,o.x+o.width,o.y,r),`.basic.label-container g.label`),l.insert(()=>t.line(o.x,o.y+o.height,o.x+o.width,o.y+o.height,r),`.basic.label-container g.label`),i.remove(),l}let u=l.select(`.basic.label-container`),d=(Number(u.attr(`width`))||s)??0,f=(Number(u.attr(`height`))||c)??0;return d>0&&f>0&&u.attr(`stroke-dasharray`,`${d} ${f}`),l}w(qe,`datastore`);async function Je(n,r){let{labelStyles:i,nodeStyles:a}=t(r);r.labelStyle=i;let o=r.look===`neo`?16:r.padding??0,s=r.look===`neo`?16:r.padding??0,{shapeSvg:c,bbox:l,label:u}=await P(n,r,L(r)),d=l.width+o,f=l.height+s,p=f*.2,m=-d/2,h=-f/2-p/2,{cssStyles:g}=r,_=T.svg(c),v=e(r,{});r.look!==`handDrawn`&&(v.roughness=0,v.fillStyle=`solid`);let y=[{x:m,y:h+p},{x:-m,y:h+p},{x:-m,y:-h},{x:m,y:-h},{x:m,y:h},{x:-m,y:h},{x:-m,y:h+p}],b=_.polygon(y.map(e=>[e.x,e.y]),v),x=c.insert(()=>b,`:first-child`);return x.attr(`class`,`basic label-container outer-path`),g&&r.look!==`handDrawn`&&x.selectAll(`path`).attr(`style`,g),a&&r.look!==`handDrawn`&&x.selectAll(`path`).attr(`style`,a),u.attr(`transform`,`translate(${m+(r.padding??0)/2-(l.x-(l.left??0))}, ${h+p+(r.padding??0)/2-(l.y-(l.top??0))})`),I(r,x),r.intersect=function(e){return K.rect(r,e)},c}w(Je,`dividedRectangle`);async function Ye(n,r){let{labelStyles:i,nodeStyles:a}=t(r),o=r.look===`neo`?12:5;r.labelStyle=i;let s=r.padding??0,c=r.look===`neo`?16:s,{shapeSvg:l,bbox:d}=await P(n,r,L(r),{ignoreMinWidth:!0}),f=Math.sqrt(d.width**2+d.height**2)/2,p=(r?.width?r?.width/2:f)+(c??0),m=p+o,h,{cssStyles:g}=r;if(r.look===`handDrawn`){let t=T.svg(l),n=e(r,{roughness:.2,strokeWidth:2.5}),i=e(r,{roughness:.2,strokeWidth:1.5}),a=t.circle(0,0,m*2,n),o=t.circle(0,0,p*2,i);h=l.insert(`g`,`:first-child`),h.attr(`class`,u(r.cssClasses)).attr(`style`,u(g)),h.node()?.appendChild(a),h.node()?.appendChild(o)}else{h=l.insert(`g`,`:first-child`);let e=h.insert(`circle`,`:first-child`),t=h.insert(`circle`);h.attr(`class`,`basic label-container`).attr(`style`,a),e.attr(`class`,`outer-circle`).attr(`style`,a).attr(`r`,m).attr(`cx`,0).attr(`cy`,0),t.attr(`class`,`inner-circle`).attr(`style`,a).attr(`r`,p).attr(`cx`,0).attr(`cy`,0)}return I(r,h),r.intersect=function(e){return S.info(`DoubleCircle intersect`,r,m,e),K.circle(r,m,e)},l}w(Ye,`doublecircle`);async function Xe(n,r){let{labelStyles:i,nodeStyles:a}=t(r);r.labelStyle=i;let{shapeSvg:o,bbox:s,halfPadding:l}=await P(n,r,L(r)),{theme:u,themeVariables:d}=h();c(o,r.colorIndex,u,d.borderColorArray);let f=l??10,p=s.width/2+f*2,m=s.height/2+f*2,g,{cssStyles:_}=r;if(r.look===`handDrawn`){let t=T.svg(o),n=e(r,{}),i=t.ellipse(0,0,p*2,m*2,n);g=o.insert(()=>i,`:first-child`),g.attr(`class`,`basic label-container`),_&&g.attr(`style`,_)}else g=o.insert(`ellipse`,`:first-child`).attr(`class`,`basic label-container`).attr(`style`,a).attr(`rx`,p).attr(`ry`,m).attr(`cx`,0).attr(`cy`,0);return r.width=p*2,r.height=m*2,I(r,g),r.calcIntersect=function(e,t){let n=e.width/2,r=e.height/2;return K.ellipse(e,n,r,t)},r.intersect=function(e){return K.ellipse(r,p,m,e)},o}w(Xe,`usecaseEllipse`);function Ze(n,r,{config:{themeVariables:i}}){let{labelStyles:a,nodeStyles:o}=t(r);r.label=``,r.labelStyle=a;let s=n.insert(`g`).attr(`class`,L(r)).attr(`id`,r.domId??r.id),{cssStyles:c}=r,l=T.svg(s),{nodeBorder:u}=i,d=e(r,{fillStyle:`solid`});r.look!==`handDrawn`&&(d.roughness=0);let f=l.circle(0,0,14,d),p=s.insert(()=>f,`:first-child`);return p.selectAll(`path`).attr(`style`,`fill: ${u} !important;`),c&&c.length>0&&r.look!==`handDrawn`&&p.selectAll(`path`).attr(`style`,c),o&&r.look!==`handDrawn`&&p.selectAll(`path`).attr(`style`,o),I(r,p),r.intersect=function(e){return S.info(`filledCircle intersect`,r,{radius:7,point:e}),K.circle(r,7,e)},s}w(Ze,`filledCircle`);var Qe=10,$e=10;async function et(n,r){let{labelStyles:i,nodeStyles:a}=t(r);r.labelStyle=i;let o=r.padding??0,s=r.look===`neo`?o*2:o;(r.width||r.height)&&(r.height=r?.height??0,r.height<Qe&&(r.height=Qe),r.width=(r?.width??0)-s-s/2,r.width<$e&&(r.width=$e));let{shapeSvg:c,bbox:l,label:u}=await P(n,r,L(r)),d=(r?.width?r?.width:l.width)+(s??0),f=r?.height?r?.height:d+l.height,p=f,m=[{x:0,y:-f},{x:p,y:-f},{x:p/2,y:0}],{cssStyles:h}=r,g=T.svg(c),_=e(r,{});r.look!==`handDrawn`&&(_.roughness=0,_.fillStyle=`solid`);let v=R(m),y=g.path(v,_),b=c.insert(()=>y,`:first-child`).attr(`transform`,`translate(${-f/2}, ${f/2})`).attr(`class`,`outer-path`);return h&&r.look!==`handDrawn`&&b.selectChildren(`path`).attr(`style`,h),a&&r.look!==`handDrawn`&&b.selectChildren(`path`).attr(`style`,a),r.width=d,r.height=f,I(r,b),u.attr(`transform`,`translate(${-l.width/2-(l.x-(l.left??0))}, ${-f/2+(r.padding??0)/2+(l.y-(l.top??0))})`),r.intersect=function(e){return S.info(`Triangle intersect`,r,m,e),K.polygon(r,m,e)},c}w(et,`flippedTriangle`);async function tt(n,r){let{labelStyles:i,nodeStyles:a}=t(r);r.labelStyle=i;let{shapeSvg:o,bbox:s,label:c}=await P(n,r,L(r)),l=r.padding??12,u=Math.max(s.width+l*2,r.width??0,90),d=s.height+l*2,f=Math.max(Math.min(d*.16,14),8),p=Math.max(d+f,r.height??0),m=p-f,h=Math.max(u*.38,28),g=-p/2,_=[{x:-u/2,y:g},{x:-u/2+h,y:g},{x:-u/2+h,y:g+f},{x:u/2,y:g+f},{x:u/2,y:p/2},{x:-u/2,y:p/2}],v=[`M${_[0].x},${_[0].y}`,..._.slice(1).map(e=>`L${e.x},${e.y}`),`Z`].join(` `),{cssStyles:y}=r,b;if(r.look===`handDrawn`){let t=T.svg(o).path(v,e(r,{}));b=o.insert(()=>t,`:first-child`).attr(`class`,`basic label-container`),y&&b.attr(`style`,y)}else b=o.insert(`path`,`:first-child`).attr(`d`,v).attr(`class`,`basic label-container`).attr(`style`,a);r.look===`handDrawn`?I(r,b):I(r,b,{width:u,height:p});let x=g+f+m/2;return c.attr(`transform`,`translate(${-(s.width/2)-(s.x-(s.left??0))}, ${x-s.height/2-(s.y-(s.top??0))})`),r.intersect=function(e){return K.polygon(r,_,e)},o}w(tt,`folder`);function nt(n,r,{dir:i,config:{state:a,themeVariables:o}}){let{nodeStyles:s}=t(r);r.label=``;let c=n.insert(`g`).attr(`class`,L(r)).attr(`id`,r.domId??r.id),{cssStyles:l}=r,u=Math.max(70,r?.width??0),d=Math.max(10,r?.height??0);(i===`LR`||i===`RL`)&&(u=Math.max(10,r?.width??0),d=Math.max(70,r?.height??0));let f=-1*u/2,p=-1*d/2,m=T.svg(c),h=e(r,{stroke:o.lineColor,fill:o.lineColor});r.look!==`handDrawn`&&(h.roughness=0,h.fillStyle=`solid`);let g=m.rectangle(f,p,u,d,h),_=c.insert(()=>g,`:first-child`);l&&r.look!==`handDrawn`&&_.selectAll(`path`).attr(`style`,l),s&&r.look!==`handDrawn`&&_.selectAll(`path`).attr(`style`,s),I(r,_);let v=a?.padding??0;return r.width&&r.height&&(r.width+=v/2||0,r.height+=v/2||0),r.intersect=function(e){return K.rect(r,e)},c}w(nt,`forkJoin`);async function rt(n,r){let{labelStyles:i,nodeStyles:a}=t(r);r.labelStyle=i;let o=r.look===`neo`?16:r.padding??0,s=r.look===`neo`?12:r.padding??0;(r.width||r.height)&&(r.height=(r?.height??0)-s*2,r.height<10&&(r.height=10),r.width=(r?.width??0)-o*2,r.width<15&&(r.width=15));let{shapeSvg:c,bbox:l}=await P(n,r,L(r)),u=(r?.height?r?.height:Math.max(10,l.height))+s*2,d=u/2,f=d-Math.sqrt(Math.max(0,d**2-(l.height/2)**2)),p=(r?.width?r?.width:Math.max(15,l.width)+f*2)+o*2,{cssStyles:m}=r,h=T.svg(c),g=e(r,{});r.look!==`handDrawn`&&(g.roughness=0,g.fillStyle=`solid`);let _=[{x:-p/2,y:-u/2},{x:p/2-d,y:-u/2},...B(-p/2+d,0,d,50,90,270),{x:p/2-d,y:u/2},{x:-p/2,y:u/2}],v=R(_),y=h.path(v,g),b=c.insert(()=>y,`:first-child`);return b.attr(`class`,`basic label-container outer-path`),m&&r.look!==`handDrawn`&&b.selectChildren(`path`).attr(`style`,m),a&&r.look!==`handDrawn`&&b.selectChildren(`path`).attr(`style`,a),I(r,b),r.intersect=function(e){return S.info(`Pill intersect`,r,{radius:d,point:e}),K.polygon(r,_,e)},c}w(rt,`halfRoundedRectangle`);var it=w((e,t,n,r,i)=>[`M${e+i},${t}`,`L${e+n-i},${t}`,`L${e+n},${t-r/2}`,`L${e+n-i},${t-r}`,`L${e+i},${t-r}`,`L${e},${t-r/2}`,`Z`].join(` `),`createHexagonPathD`);async function at(n,r){let{labelStyles:i,nodeStyles:a}=t(r),o=r.look===`neo`?3.5:4;r.labelStyle=i;let s=r.padding??0,c=r.look===`neo`?70:s,l=r.look===`neo`?32:s;if(r.width||r.height){let e=(r.height??0)/o;r.width=(r?.width??0)-2*e-l,r.height=(r.height??0)-c}let{shapeSvg:u,bbox:d}=await P(n,r,L(r)),f=(r?.height?r?.height:d.height)+c,p=f/o,m=(r?.width?r?.width:d.width)+2*p+l,h=[{x:p,y:0},{x:m-p,y:0},{x:m,y:-f/2},{x:m-p,y:-f},{x:p,y:-f},{x:0,y:-f/2}],g,{cssStyles:_}=r;if(r.look===`handDrawn`){let t=T.svg(u),n=e(r,{}),i=it(0,0,m,f,p),a=t.path(i,n);g=u.insert(()=>a,`:first-child`).attr(`transform`,`translate(${-m/2}, ${f/2})`),_&&g.attr(`style`,_)}else g=J(u,m,f,h);return a&&g.attr(`style`,a),r.width=m,r.height=f,I(r,g),r.intersect=function(e){return K.polygon(r,h,e)},u}w(at,`hexagon`);async function ot(n,r){let{labelStyles:i,nodeStyles:a}=t(r);r.label=``,r.labelStyle=i;let{shapeSvg:o}=await P(n,r,L(r)),s=Math.max(30,r?.width??0),c=Math.max(30,r?.height??0),{cssStyles:l}=r,u=T.svg(o),d=e(r,{});r.look!==`handDrawn`&&(d.roughness=0,d.fillStyle=`solid`);let f=[{x:0,y:0},{x:s,y:0},{x:0,y:c},{x:s,y:c}],p=R(f),m=u.path(p,d),h=o.insert(()=>m,`:first-child`);return h.attr(`class`,`basic label-container outer-path`),l&&r.look!==`handDrawn`&&h.selectChildren(`path`).attr(`style`,l),a&&r.look!==`handDrawn`&&h.selectChildren(`path`).attr(`style`,a),h.attr(`transform`,`translate(${-s/2}, ${-c/2})`),I(r,h),r.intersect=function(e){return S.info(`Pill intersect`,r,{points:f}),K.polygon(r,f,e)},o}w(ot,`hourglass`);async function st(n,i,{config:{themeVariables:a,flowchart:o}}){let{labelStyles:c}=t(i);i.labelStyle=c;let l=i.assetHeight??48,u=i.assetWidth??48,d=Math.max(l,u),f=o?.wrappingWidth;i.width=Math.max(d,f??0);let{shapeSvg:p,bbox:m,label:h}=await P(n,i,`icon-shape default`),g=i.pos===`t`,_=d,v=d,{nodeBorder:y}=a,{stylesMap:b}=r(i),x=-v/2,C=-_/2,w=i.label?8:0,E=T.svg(p),D=e(i,{stroke:`none`,fill:`none`});i.look!==`handDrawn`&&(D.roughness=0,D.fillStyle=`solid`);let O=E.rectangle(x,C,v,_,D),k=Math.max(v,m.width),A=_+m.height+w,j=E.rectangle(-k/2,-A/2,k,A,{...D,fill:`transparent`,stroke:`none`}),M=p.insert(()=>O,`:first-child`),N=p.insert(()=>j);if(i.icon){let e=p.append(`g`);e.html(`<g>${await s(i.icon,{height:d,width:d,fallbackPrefix:``})}</g>`);let t=e.node().getBBox(),n=t.width,r=t.height,a=t.x,o=t.y;e.attr(`transform`,`translate(${-n/2-a},${g?m.height/2+w/2-r/2-o:-m.height/2-w/2-r/2-o})`),e.attr(`style`,`color: ${b.get(`stroke`)??y};`)}return h.attr(`transform`,`translate(${-m.width/2-(m.x-(m.left??0))},${g?-A/2:A/2-m.height})`),M.attr(`transform`,`translate(0,${g?m.height/2+w/2:-m.height/2-w/2})`),I(i,N),i.intersect=function(e){if(S.info(`iconSquare intersect`,i,e),!i.label)return K.rect(i,e);let t=i.x??0,n=i.y??0,r=i.height??0,a=[];return a=g?[{x:t-m.width/2,y:n-r/2},{x:t+m.width/2,y:n-r/2},{x:t+m.width/2,y:n-r/2+m.height+w},{x:t+v/2,y:n-r/2+m.height+w},{x:t+v/2,y:n+r/2},{x:t-v/2,y:n+r/2},{x:t-v/2,y:n-r/2+m.height+w},{x:t-m.width/2,y:n-r/2+m.height+w}]:[{x:t-v/2,y:n-r/2},{x:t+v/2,y:n-r/2},{x:t+v/2,y:n-r/2+_},{x:t+m.width/2,y:n-r/2+_},{x:t+m.width/2/2,y:n+r/2},{x:t-m.width/2,y:n+r/2},{x:t-m.width/2,y:n-r/2+_},{x:t-v/2,y:n-r/2+_}],K.polygon(i,a,e)},p}w(st,`icon`);async function ct(n,i,{config:{themeVariables:a,flowchart:o}}){let{labelStyles:c}=t(i);i.labelStyle=c;let l=i.assetHeight??48,u=i.assetWidth??48,d=Math.max(l,u),f=o?.wrappingWidth;i.width=Math.max(d,f??0);let{shapeSvg:p,bbox:m,label:h}=await P(n,i,`icon-shape default`),g=i.label?8:0,_=i.pos===`t`,{nodeBorder:v,mainBkg:y}=a,{stylesMap:b}=r(i),x=T.svg(p),C=e(i,{});i.look!==`handDrawn`&&(C.roughness=0,C.fillStyle=`solid`),C.stroke=b.get(`fill`)??y;let w=p.append(`g`);i.icon&&w.html(`<g>${await s(i.icon,{height:d,width:d,fallbackPrefix:``})}</g>`);let E=w.node().getBBox(),D=E.width,O=E.height,k=E.x,A=E.y,j=Math.max(D,O)*Math.SQRT2+40,M=x.circle(0,0,j,C),N=Math.max(j,m.width),F=j+m.height+g,L=x.rectangle(-N/2,-F/2,N,F,{...C,fill:`transparent`,stroke:`none`}),R=p.insert(()=>M,`:first-child`),z=p.insert(()=>L);return w.attr(`transform`,`translate(${-D/2-k},${_?m.height/2+g/2-O/2-A:-m.height/2-g/2-O/2-A})`),w.attr(`style`,`color: ${b.get(`stroke`)??v};`),h.attr(`transform`,`translate(${-m.width/2-(m.x-(m.left??0))},${_?-F/2:F/2-m.height})`),R.attr(`transform`,`translate(0,${_?m.height/2+g/2:-m.height/2-g/2})`),I(i,z),i.intersect=function(e){return S.info(`iconSquare intersect`,i,e),K.rect(i,e)},p}w(ct,`iconCircle`);async function lt(n,i,{config:{themeVariables:a,flowchart:o}}){let{labelStyles:c}=t(i);i.labelStyle=c;let l=i.assetHeight??48,u=i.assetWidth??48,d=Math.max(l,u),f=o?.wrappingWidth;i.width=Math.max(d,f??0);let{shapeSvg:p,bbox:m,halfPadding:h,label:g}=await P(n,i,`icon-shape default`),_=i.pos===`t`,v=d+h*2,y=d+h*2,{nodeBorder:b,mainBkg:x}=a,{stylesMap:C}=r(i),w=-y/2,E=-v/2,D=i.label?8:0,O=T.svg(p),k=e(i,{});i.look!==`handDrawn`&&(k.roughness=0,k.fillStyle=`solid`),k.stroke=C.get(`fill`)??x;let A=O.path(q(w,E,y,v,5),k),j=Math.max(y,m.width),M=v+m.height+D,N=O.rectangle(-j/2,-M/2,j,M,{...k,fill:`transparent`,stroke:`none`}),F=p.insert(()=>A,`:first-child`).attr(`class`,`icon-shape2`),L=p.insert(()=>N);if(i.icon){let e=p.append(`g`);e.html(`<g>${await s(i.icon,{height:d,width:d,fallbackPrefix:``})}</g>`);let t=e.node().getBBox(),n=t.width,r=t.height,a=t.x,o=t.y;e.attr(`transform`,`translate(${-n/2-a},${_?m.height/2+D/2-r/2-o:-m.height/2-D/2-r/2-o})`),e.attr(`style`,`color: ${C.get(`stroke`)??b};`)}return g.attr(`transform`,`translate(${-m.width/2-(m.x-(m.left??0))},${_?-M/2:M/2-m.height})`),F.attr(`transform`,`translate(0,${_?m.height/2+D/2:-m.height/2-D/2})`),I(i,L),i.intersect=function(e){if(S.info(`iconSquare intersect`,i,e),!i.label)return K.rect(i,e);let t=i.x??0,n=i.y??0,r=i.height??0,a=[];return a=_?[{x:t-m.width/2,y:n-r/2},{x:t+m.width/2,y:n-r/2},{x:t+m.width/2,y:n-r/2+m.height+D},{x:t+y/2,y:n-r/2+m.height+D},{x:t+y/2,y:n+r/2},{x:t-y/2,y:n+r/2},{x:t-y/2,y:n-r/2+m.height+D},{x:t-m.width/2,y:n-r/2+m.height+D}]:[{x:t-y/2,y:n-r/2},{x:t+y/2,y:n-r/2},{x:t+y/2,y:n-r/2+v},{x:t+m.width/2,y:n-r/2+v},{x:t+m.width/2/2,y:n+r/2},{x:t-m.width/2,y:n+r/2},{x:t-m.width/2,y:n-r/2+v},{x:t-y/2,y:n-r/2+v}],K.polygon(i,a,e)},p}w(lt,`iconRounded`);async function ut(n,i,{config:{themeVariables:a,flowchart:o}}){let{labelStyles:c}=t(i);i.labelStyle=c;let l=i.assetHeight??48,u=i.assetWidth??48,d=Math.max(l,u),f=o?.wrappingWidth;i.width=Math.max(d,f??0);let{shapeSvg:p,bbox:m,halfPadding:h,label:g}=await P(n,i,`icon-shape default`),_=i.pos===`t`,v=d+h*2,y=d+h*2,{nodeBorder:b,mainBkg:x}=a,{stylesMap:C}=r(i),w=-y/2,E=-v/2,D=i.label?8:0,O=T.svg(p),k=e(i,{});i.look!==`handDrawn`&&(k.roughness=0,k.fillStyle=`solid`),k.stroke=C.get(`fill`)??x;let A=O.path(q(w,E,y,v,.1),k),j=Math.max(y,m.width),M=v+m.height+D,N=O.rectangle(-j/2,-M/2,j,M,{...k,fill:`transparent`,stroke:`none`}),F=p.insert(()=>A,`:first-child`),L=p.insert(()=>N);if(i.icon){let e=p.append(`g`);e.html(`<g>${await s(i.icon,{height:d,width:d,fallbackPrefix:``})}</g>`);let t=e.node().getBBox(),n=t.width,r=t.height,a=t.x,o=t.y;e.attr(`transform`,`translate(${-n/2-a},${_?m.height/2+D/2-r/2-o:-m.height/2-D/2-r/2-o})`),e.attr(`style`,`color: ${C.get(`stroke`)??b};`)}return g.attr(`transform`,`translate(${-m.width/2-(m.x-(m.left??0))},${_?-M/2:M/2-m.height})`),F.attr(`transform`,`translate(0,${_?m.height/2+D/2:-m.height/2-D/2})`),I(i,L),i.intersect=function(e){if(S.info(`iconSquare intersect`,i,e),!i.label)return K.rect(i,e);let t=i.x??0,n=i.y??0,r=i.height??0,a=[];return a=_?[{x:t-m.width/2,y:n-r/2},{x:t+m.width/2,y:n-r/2},{x:t+m.width/2,y:n-r/2+m.height+D},{x:t+y/2,y:n-r/2+m.height+D},{x:t+y/2,y:n+r/2},{x:t-y/2,y:n+r/2},{x:t-y/2,y:n-r/2+m.height+D},{x:t-m.width/2,y:n-r/2+m.height+D}]:[{x:t-y/2,y:n-r/2},{x:t+y/2,y:n-r/2},{x:t+y/2,y:n-r/2+v},{x:t+m.width/2,y:n-r/2+v},{x:t+m.width/2/2,y:n+r/2},{x:t-m.width/2,y:n+r/2},{x:t-m.width/2,y:n-r/2+v},{x:t-y/2,y:n-r/2+v}],K.polygon(i,a,e)},p}w(ut,`iconSquare`);async function dt(n,r,{config:{flowchart:i}}){let a=new Image;a.src=r?.img??``,await a.decode();let o=Number(a.naturalWidth.toString().replace(`px`,``)),s=Number(a.naturalHeight.toString().replace(`px`,``));r.imageAspectRatio=o/s;let{labelStyles:c}=t(r);r.labelStyle=c;let l=i?.wrappingWidth;r.defaultWidth=i?.wrappingWidth;let u=Math.max(r.label?l??0:0,r?.assetWidth??o),d=r.constraint===`on`&&r?.assetHeight?r.assetHeight*r.imageAspectRatio:u,f=r.constraint===`on`?d/r.imageAspectRatio:r?.assetHeight??s;r.width=Math.max(d,l??0);let{shapeSvg:p,bbox:m,label:h}=await P(n,r,`image-shape default`),g=r.pos===`t`,_=-d/2,v=-f/2,y=r.label?8:0,b=T.svg(p),x=e(r,{});r.look!==`handDrawn`&&(x.roughness=0,x.fillStyle=`solid`);let C=b.rectangle(_,v,d,f,x),w=Math.max(d,m.width),E=f+m.height+y,D=b.rectangle(-w/2,-E/2,w,E,{...x,fill:`none`,stroke:`none`}),O=p.insert(()=>C,`:first-child`),k=p.insert(()=>D);if(r.img){let e=p.append(`image`);e.attr(`href`,r.img),e.attr(`width`,d),e.attr(`height`,f),e.attr(`preserveAspectRatio`,`none`),e.attr(`transform`,`translate(${-d/2},${g?E/2-f:-E/2})`)}return h.attr(`transform`,`translate(${-m.width/2-(m.x-(m.left??0))},${g?-f/2-m.height/2-y/2:f/2-m.height/2+y/2})`),O.attr(`transform`,`translate(0,${g?m.height/2+y/2:-m.height/2-y/2})`),I(r,k),r.intersect=function(e){if(S.info(`iconSquare intersect`,r,e),!r.label)return K.rect(r,e);let t=r.x??0,n=r.y??0,i=r.height??0,a=[];return a=g?[{x:t-m.width/2,y:n-i/2},{x:t+m.width/2,y:n-i/2},{x:t+m.width/2,y:n-i/2+m.height+y},{x:t+d/2,y:n-i/2+m.height+y},{x:t+d/2,y:n+i/2},{x:t-d/2,y:n+i/2},{x:t-d/2,y:n-i/2+m.height+y},{x:t-m.width/2,y:n-i/2+m.height+y}]:[{x:t-d/2,y:n-i/2},{x:t+d/2,y:n-i/2},{x:t+d/2,y:n-i/2+f},{x:t+m.width/2,y:n-i/2+f},{x:t+m.width/2/2,y:n+i/2},{x:t-m.width/2,y:n+i/2},{x:t-m.width/2,y:n-i/2+f},{x:t-d/2,y:n-i/2+f}],K.polygon(r,a,e)},p}w(dt,`imageSquare`);async function ft(n,r){let{labelStyles:i,nodeStyles:a}=t(r);r.labelStyle=i;let o=r.padding??0,s=o,c=r.look===`neo`?o*2:o,{shapeSvg:l,bbox:u}=await P(n,r,L(r)),d=Math.max(u.height+s*2,r.height??0),f=Math.max(u.width+c*2,(r.width??0)-d),p=[{x:0,y:0},{x:f,y:0},{x:f+3*d/6,y:-d},{x:-3*d/6,y:-d}],m,{cssStyles:h}=r;if(r.look===`handDrawn`){let t=T.svg(l),n=e(r,{}),i=R(p),a=t.path(i,n);m=l.insert(()=>a,`:first-child`).attr(`transform`,`translate(${-f/2}, ${d/2})`),h&&m.attr(`style`,h)}else m=J(l,f,d,p);return a&&m.attr(`style`,a),r.width=f,r.height=d,I(r,m),r.intersect=function(e){return K.polygon(r,p,e)},l}w(ft,`inv_trapezoid`);async function pt(e,t){let{shapeSvg:n,bbox:r,label:i}=await P(e,t,`label`),a=n.insert(`rect`,`:first-child`);return a.attr(`width`,.1).attr(`height`,.1),n.attr(`class`,`label edgeLabel`),i.attr(`transform`,`translate(${-(r.width/2)-(r.x-(r.left??0))}, ${-(r.height/2)-(r.y-(r.top??0))})`),I(t,a),t.intersect=function(e){return K.rect(t,e)},n}w(pt,`labelRect`);async function mt(n,r){let{labelStyles:i,nodeStyles:a}=t(r);r.labelStyle=i;let o=r.padding??0,s=o,c=r.look===`neo`?o*2:o,{shapeSvg:l,bbox:u}=await P(n,r,L(r)),d=Math.max(u.height+s,r.height??0),f=Math.max(u.width+c,(r.width??0)-d),p=[{x:0,y:0},{x:f+3*d/6,y:0},{x:f,y:-d},{x:-(3*d)/6,y:-d}],m,{cssStyles:h}=r;if(r.look===`handDrawn`){let t=T.svg(l),n=e(r,{}),i=R(p),a=t.path(i,n);m=l.insert(()=>a,`:first-child`).attr(`transform`,`translate(${-f/2}, ${d/2})`),h&&m.attr(`style`,h)}else m=J(l,f,d,p);return a&&m.attr(`style`,a),r.width=f,r.height=d,I(r,m),r.intersect=function(e){return K.polygon(r,p,e)},l}w(mt,`lean_left`);async function ht(n,r){let{labelStyles:i,nodeStyles:a}=t(r);r.labelStyle=i;let o=r.padding??0,s=o,c=r.look===`neo`?o*2:o,{shapeSvg:l,bbox:u}=await P(n,r,L(r)),d=Math.max(u.height+s,r.height??0),f=Math.max(u.width+c,(r.width??0)-d),p=[{x:-3*d/6,y:0},{x:f,y:0},{x:f+3*d/6,y:-d},{x:0,y:-d}],m,{cssStyles:h}=r;if(r.look===`handDrawn`){let t=T.svg(l),n=e(r,{}),i=R(p),a=t.path(i,n);m=l.insert(()=>a,`:first-child`).attr(`transform`,`translate(${-f/2}, ${d/2})`),h&&m.attr(`style`,h)}else m=J(l,f,d,p);return a&&m.attr(`style`,a),r.width=f,r.height=d,I(r,m),r.intersect=function(e){return K.polygon(r,p,e)},l}w(ht,`lean_right`);function gt(n,r){let{labelStyles:i,nodeStyles:a}=t(r);r.label=``,r.labelStyle=i;let o=n.insert(`g`).attr(`class`,L(r)).attr(`id`,r.domId??r.id),{cssStyles:s}=r,c=Math.max(35,r?.width??0),l=Math.max(35,r?.height??0),u=[{x:c,y:0},{x:0,y:l+7/2},{x:c-14,y:l+7/2},{x:0,y:2*l},{x:c,y:l-7/2},{x:14,y:l-7/2}],d=T.svg(o),f=e(r,{});r.look!==`handDrawn`&&(f.roughness=0,f.fillStyle=`solid`);let p=R(u),m=d.path(p,f),h=o.insert(()=>m,`:first-child`);return h.attr(`class`,`outer-path`),s&&r.look!==`handDrawn`&&h.selectAll(`path`).attr(`style`,s),a&&r.look!==`handDrawn`&&h.selectAll(`path`).attr(`style`,a),h.attr(`transform`,`translate(-${c/2},${-l})`),I(r,h),r.intersect=function(e){return S.info(`lightningBolt intersect`,r,e),K.polygon(r,u,e)},o}w(gt,`lightningBolt`);var _t=w((e,t,n,r,i,a,o)=>[`M${e},${t+a}`,`a${i},${a} 0,0,0 ${n},0`,`a${i},${a} 0,0,0 ${-n},0`,`l0,${r}`,`a${i},${a} 0,0,0 ${n},0`,`l0,${-r}`,`M${e},${t+a+o}`,`a${i},${a} 0,0,0 ${n},0`].join(` `),`createCylinderPathD`),vt=w((e,t,n,r,i,a,o)=>[`M${e},${t+a}`,`M${e+n},${t+a}`,`a${i},${a} 0,0,0 ${-n},0`,`l0,${r}`,`a${i},${a} 0,0,0 ${n},0`,`l0,${-r}`,`M${e},${t+a+o}`,`a${i},${a} 0,0,0 ${n},0`].join(` `),`createOuterCylinderPathD`),yt=w((e,t,n,r,i,a)=>[`M${e-n/2},${-r/2}`,`a${i},${a} 0,0,0 ${n},0`].join(` `),`createInnerCylinderPathD`),bt=10,xt=10;async function St(n,r){let{labelStyles:i,nodeStyles:a}=t(r);r.labelStyle=i;let o=r.padding??0,s=r.look===`neo`?16:o,c=r.look===`neo`?24:o;if(r.width||r.height){let e=r.width??0;r.width=(r.width??0)-s,r.width<xt&&(r.width=xt);let t=e/2/(2.5+e/50);r.height=(r.height??0)-c-t*3,r.height<bt&&(r.height=bt)}let{shapeSvg:l,bbox:d,label:f}=await P(n,r,L(r)),p=(r?.width?r?.width:d.width)+s*2,m=p/2,h=m/(2.5+p/50),g=(r?.height?r?.height:d.height)+h+c*2,_=g*.1,v,{cssStyles:y}=r;if(r.look===`handDrawn`){let t=T.svg(l),n=vt(0,0,p,g,m,h,_),i=yt(0,h,p,g,m,h),a=e(r,{}),o=t.path(n,a),s=t.path(i,a);l.insert(()=>s,`:first-child`).attr(`class`,`line`),v=l.insert(()=>o,`:first-child`),v.attr(`class`,`basic label-container`),y&&v.attr(`style`,y)}else{let e=_t(0,0,p,g,m,h,_);v=l.insert(`path`,`:first-child`).attr(`d`,e).attr(`class`,`basic label-container outer-path`).attr(`style`,u(y)).attr(`style`,a)}return v.attr(`label-offset-y`,h),v.attr(`transform`,`translate(${-p/2}, ${-(g/2+h)})`),I(r,v),f.attr(`transform`,`translate(${-(d.width/2)-(d.x-(d.left??0))}, ${-(d.height/2)+h-(d.y-(d.top??0))})`),r.intersect=function(e){let t=K.rect(r,e),n=t.x-(r.x??0);if(m!=0&&(Math.abs(n)<(r.width??0)/2||Math.abs(n)==(r.width??0)/2&&Math.abs(t.y-(r.y??0))>(r.height??0)/2-h)){let i=h*h*(1-n*n/(m*m));i>0&&(i=Math.sqrt(i)),i=h-i,e.y-(r.y??0)>0&&(i=-i),t.y+=i}return t},l}w(St,`linedCylinder`);async function Ct(n,r){let{labelStyles:i,nodeStyles:a}=t(r);r.labelStyle=i;let o=r.padding??0,s=r.look===`neo`?16:o,c=r.look===`neo`?12:o;(r.width||r.height)&&(r.width=(r.width??0)*10/11-s*2,r.width<10&&(r.width=10),r.height=(r?.height??0)-c*2,r.height<10&&(r.height=10));let{shapeSvg:l,bbox:u,label:d}=await P(n,r,L(r)),f=(r?.width?r?.width:u.width)+(s??0)*2,p=(r?.height?r?.height:u.height)+(c??0)*2,m=r.look===`neo`?p/4:p/8,h=p+m,{cssStyles:g}=r,_=T.svg(l),v=e(r,{});r.look!==`handDrawn`&&(v.roughness=0,v.fillStyle=`solid`);let y=[{x:-f/2-f/2*.1,y:-h/2},{x:-f/2-f/2*.1,y:h/2},...z(-f/2-f/2*.1,h/2,f/2+f/2*.1,h/2,m,.8),{x:f/2+f/2*.1,y:-h/2},{x:-f/2-f/2*.1,y:-h/2},{x:-f/2,y:-h/2},{x:-f/2,y:h/2*1.1},{x:-f/2,y:-h/2}],b=_.polygon(y.map(e=>[e.x,e.y]),v),x=l.insert(()=>b,`:first-child`);return x.attr(`class`,`basic label-container outer-path`),g&&r.look!==`handDrawn`&&x.selectAll(`path`).attr(`style`,g),a&&r.look!==`handDrawn`&&x.selectAll(`path`).attr(`style`,a),x.attr(`transform`,`translate(0,${-m/2})`),d.attr(`transform`,`translate(${-f/2+(r.padding??0)+f/2*.1/2-(u.x-(u.left??0))},${-p/2+(r.padding??0)-m-(u.y-(u.top??0))})`),I(r,x),r.intersect=function(e){return K.polygon(r,y,e)},l}w(Ct,`linedWaveEdgedRect`);var wt=56,Tt=72,Et=8,Dt=2,Ot=8,kt={normal:`usecase-actor-shape usecase-actor-normal`,hollow:`usecase-actor-hollow`,awesome:`usecase-actor-awesome`,icon:`usecase-actor-icon`},At=Math.PI/3,jt=.6,Mt=w((e,t)=>{let n=t*jt,r=t*Math.sqrt(1-jt**2),i=Math.cos(At),a=-Math.sin(At),o=n*-a,s=e+n*i,c=r*i,l=r*a;return`M ${o-c} ${s-l} L ${o+c} ${s+l}`},`businessMarkerPathForCircle`),Nt={normal:Mt(-24,12),hollow:Mt(-23,9),awesome:Mt(-21,13),icon:`M 12 -8 L 26 -26`},Pt=w((e,t,n)=>{let r=(t.x??0)-(t.left??0),i=(t.y??0)-(t.top??0);e.attr(`transform`,`translate(${-t.width/2-r},${n-t.height/2-i})`)},`positionLabel`),Ft=w((t,n,r,i,a=!1)=>{if(n.look===`handDrawn`){let o=T.svg(t).path(r,e(n,a?{fill:`none`}:{}));return t.insert(()=>o,`:first-child`).attr(`class`,i)}let o=t.append(`path`).attr(`class`,i).attr(`d`,r);return a&&o.attr(`fill`,`none`),o},`appendActorPath`),It=w((t,n,r,i,a,o,s=!1)=>{if(n.look===`handDrawn`){let c=T.svg(t).circle(r,i,a*2,e(n,s?{fill:`none`}:{}));return t.insert(()=>c,`:first-child`).attr(`class`,o)}let c=t.append(`circle`).attr(`class`,o).attr(`cx`,r).attr(`cy`,i).attr(`r`,a);return s&&c.attr(`fill`,`none`),c},`appendActorCircle`),Lt=w((e,t,n)=>{t.business&&e.append(`path`).attr(`class`,`usecase-business-marker usecase-actor-business-marker`).attr(`d`,Nt[n]).attr(`fill`,`none`).attr(`style`,`stroke: inherit !important; stroke-width: inherit !important`)},`appendBusinessActorMarker`);async function Rt(e,n,r,i){let{labelStyles:a,nodeStyles:o}=t(n);n.labelStyle=a;let{shapeSvg:s,bbox:l,label:u}=await P(e,r===`icon`||n.stereotype!==void 0?{...n,icon:r===`icon`?void 0:n.icon,stereotype:void 0}:n,L(n,`usecase-actor-variant usecase-actor-${r}`)),d=n.accessibleName??n.label;d&&s.attr(`role`,`img`).attr(`aria-label`,d),u.attr(`class`,`label actor-label usecase-actor-label`);let{theme:f,themeVariables:p}=h();c(s,n.colorIndex,f,p.borderColorArray);let m,g;if(n.stereotype){let e=await F(s,`\xAB${n.stereotype}\xBB`,{labelStyle:a,useHtmlLabels:n.useHtmlLabels,padding:0,centerLabel:!0,width:n.wrappingWidth});m=e.label.attr(`class`,`label usecase-stereotype`),g=e.bbox}let _=s.append(`g`).attr(`class`,`usecase-actor-glyph ${kt[r]}`).attr(`style`,o||null);await i(_,n),Lt(_,n,r);let v=n.padding??Ot,y=g?.height??0,b=Tt+Et+l.height+(g?y+Dt:0),x=Math.max(wt,l.width,g?.width??0)+v*2,S=b+v*2,C=-b/2;_.attr(`transform`,`translate(0,${C+Tt/2})`);let w=C+Tt+Et;return m&&g&&(w+=y/2,Pt(m,g,w),w+=y/2+Dt),Pt(u,l,w+l.height/2),I(n,s.insert(`rect`,`:first-child`).attr(`class`,`usecase-actor-outline`).attr(`x`,-x/2).attr(`y`,-S/2).attr(`width`,x).attr(`height`,S).attr(`opacity`,0).attr(`aria-hidden`,`true`)),n.intersect=e=>K.rect(n,e),s}w(Rt,`renderUsecaseActor`);var zt=`M 0 -12 C 6.627 -12 12 -17.373 12 -24 C 12 -30.627 6.627 -36 0 -36 C -6.627 -36 -12 -30.627 -12 -24 C -12 -17.373 -6.627 -12 0 -12 Z M 0 -12 V 8 M -17 -5 H 17 M 0 8 L -15 28 M 0 8 L 15 28`;async function Bt(e,t){return Rt(e,t,`normal`,(e,t)=>{Ft(e,t,zt,`usecase-actor-stick`)})}w(Bt,`usecaseActor`);var Vt=`M 0 -34 C 7.18 -34 13 -28.18 13 -21 C 13 -13.82 7.18 -8 0 -8 C -7.18 -8 -13 -13.82 -13 -21 C -13 -28.18 -7.18 -34 0 -34 Z M -24 25 C -24 7 -14 -3 0 -3 C 14 -3 24 7 24 25 C 24 28 21 30 18 30 H -18 C -21 30 -24 28 -24 25 Z`;async function Ht(e,t){return Rt(e,t,`awesome`,(e,t)=>{Ft(e,t,Vt,`usecase-actor-awesome-silhouette`)})}w(Ht,`usecaseActorAwesome`);var Ut=`M -22 -10 H 22 V 0 H 6 L 22 17 L 13 28 L 0 13 L -13 28 L -22 17 L -6 0 H -22 Z`;async function Wt(e,t){return Rt(e,t,`hollow`,(e,t)=>{It(e,t,0,-23,9,`usecase-actor-hollow-head`,!0),Ft(e,t,Ut,`usecase-actor-hollow-body`,!0)})}w(Wt,`usecaseActorHollow`);var Gt=52,Kt=42,qt=-2,Jt=w(async(t,n)=>{let r=-Gt/2,i=qt-Gt/2;if(n.look===`handDrawn`){let a=T.svg(t).rectangle(r,i,Gt,Gt,e(n,{}));t.insert(()=>a,`:first-child`).attr(`class`,`usecase-actor-icon-frame`)}else t.append(`rect`).attr(`class`,`usecase-actor-icon-frame`).attr(`x`,r).attr(`y`,i).attr(`width`,Gt).attr(`height`,Gt).attr(`rx`,4).attr(`ry`,4);let a=n.icon??``,c=await o(a.includes(`:`)?a:`fa:${a}`),l=await s(a,{height:Kt,width:Kt,fallbackPrefix:`fa`}),u=t.append(`g`).attr(`class`,`usecase-actor-icon-symbol${c?``:` usecase-actor-icon-fallback`}`).attr(`aria-hidden`,`true`).html(`<g>${l}</g>`),d=u.node()?.getBBox();d&&u.attr(`transform`,`translate(${-d.width/2-d.x},${qt-d.height/2-d.y})`)},`drawIconActor`);async function Yt(e,t){return Rt(e,t,`icon`,Jt)}w(Yt,`usecaseActorIcon`);var Xt=w((e,t,n)=>{let r=(t.x??0)-(t.left??0),i=(t.y??0)-(t.top??0);e.attr(`transform`,`translate(${-t.width/2-r},${n-t.height/2-i})`)},`positionLabel`);async function Zt(n,r){let i=r,{labelStyles:a,nodeStyles:o}=t(r);r.labelStyle=a;let{shapeSvg:s,bbox:l,halfPadding:u,label:d}=await P(n,i.stereotype?{...r,stereotype:void 0}:r,L(r,`usecase-business-shape`));d.attr(`class`,`label usecase-label`);let{theme:f,themeVariables:p}=h();c(s,r.colorIndex,f,p.borderColorArray);let m,g;if(i.stereotype){let e=await F(s,`\xAB${i.stereotype}\xBB`,{labelStyle:a,useHtmlLabels:r.useHtmlLabels,padding:0,centerLabel:!0,width:r.wrappingWidth});m=e.label.attr(`class`,`label usecase-stereotype`),g=e.bbox}let _=g?2:0,v=l.height+(g?.height??0)+_,y=Math.max(l.width,g?.width??0),b=u??10,x=y/2+b*2,S=v/2+b*2,C=Math.min(Math.max(b/5,1),b/2),w=y/2+C,E=x-C,D=w/x,O=E/x,k=S*Math.sqrt(Math.max(0,1-D*D)),A=-S*Math.sqrt(Math.max(0,1-O*O));m&&g&&Xt(m,g,-v/2+g.height/2),Xt(d,l,v/2-l.height/2);let j;if(r.look===`handDrawn`){let t=T.svg(s).ellipse(0,0,x*2,S*2,e(r,{}));j=s.insert(()=>t,`:first-child`).attr(`class`,`basic label-container usecase-business-ellipse`)}else j=s.insert(`ellipse`,`:first-child`).attr(`class`,`basic label-container usecase-business-ellipse`).attr(`style`,o).attr(`rx`,x).attr(`ry`,S).attr(`cx`,0).attr(`cy`,0);s.append(`path`).attr(`class`,`usecase-business-marker`).attr(`d`,`M ${w} ${k} L ${E} ${A}`).attr(`fill`,`none`).attr(`style`,o||null);let M=i.accessibleName??i.label;return M&&s.attr(`role`,`img`).attr(`aria-label`,M),I(r,j),r.calcIntersect=(e,t)=>K.ellipse(e,e.width/2,e.height/2,t),r.intersect=e=>K.ellipse(r,x,S,e),s}w(Zt,`usecaseBusiness`);var Qt=8,$t=4,en=1,tn=w((e,t,n,r)=>{let i=(t.x??0)-(t.left??0),a=(t.y??0)-(t.top??0);e.attr(`transform`,`translate(${n-t.width/2-i},${r-t.height/2-a})`)},`positionLabel`),nn=w(e=>{let t=Number.parseFloat(e??``);return Number.isFinite(t)&&t>=0?t:en},`numericStrokeWidth`);async function rn(n,i){let a=i,{labelStyles:o,nodeStyles:s}=t(i),{stylesMap:c}=r(i);i.labelStyle=o;let{shapeSvg:l,bbox:u,label:d}=await P(n,i,L(i,`usecase-json-table`));l.attr(`role`,`img`),a.accessibleName&&l.attr(`aria-label`,a.accessibleName),d.attr(`class`,`label usecase-json-title`);let f=l.append(`g`).attr(`class`,`usecase-json-table-grid`),p=[];for(let e of a.jsonRows??[]){let t=await F(f,e.key,{labelStyle:o,useHtmlLabels:i.useHtmlLabels,padding:0,centerLabel:!0}),n=await F(f,e.value,{labelStyle:o,useHtmlLabels:i.useHtmlLabels,padding:0,centerLabel:!0});p.push({key:{label:t.label.attr(`class`,`label usecase-json-key`),bbox:t.bbox},value:{label:n.label.attr(`class`,`label usecase-json-value`),bbox:n.bbox}})}let m=Math.max(0,...p.map(({key:e})=>e.bbox.width))+Qt*2,h=Math.max(0,...p.map(({value:e})=>e.bbox.width))+Qt*2,g=u.width+Qt*2,_=Math.max(g,m+h),v=h+Math.max(0,_-m-h),y=u.height+$t*2,b=p.map(({key:e,value:t})=>Math.max(e.bbox.height,t.bbox.height)+$t*2),x=y+b.reduce((e,t)=>e+t,0),S=nn(c.get(`stroke-width`)),C=_+S*2,E=x+S*2,D=-_/2,O=-x/2,k=i.look===`handDrawn`?T.svg(l):void 0,A=k?e(i,{}):void 0,j=w((e,t,n,r,i,a)=>{if(k&&A){let o=k.rectangle(n,r,i,a,A);return e.insert(()=>o,`:first-child`).attr(`class`,t)}return e.insert(`rect`,`:first-child`).attr(`class`,t).attr(`x`,n).attr(`y`,r).attr(`width`,i).attr(`height`,a).attr(`style`,s)},`insertCell`),M=j(l,`label-container usecase-json-border`,-C/2,-E/2,C,E);j(f,`usecase-json-cell usecase-json-title-cell`,D,O,_,y),f.node()?.append(d.node()),tn(d,u,0,O+y/2);let N=O+y;return p.forEach(({key:e,value:t},n)=>{let r=b[n],i=f.append(`g`).attr(`class`,`usecase-json-row`).attr(`data-row-index`,n).attr(`transform`,`translate(0,${N})`);j(i,`usecase-json-cell usecase-json-key-cell`,D,0,m,r),j(i,`usecase-json-cell usecase-json-value-cell`,D+m,0,v,r),i.node()?.append(e.label.node(),t.label.node()),tn(e.label,e.bbox,D+m/2,r/2),tn(t.label,t.bbox,D+m+v/2,r/2),N+=r}),I(i,M),i.intersect=e=>K.rect(i,e),l}w(rn,`usecaseJsonTable`);async function an(n,r){let{labelStyles:i,nodeStyles:a}=t(r);r.labelStyle=i;let o=r.padding??0,s=r.look===`neo`?16:o,c=r.look===`neo`?12:o,l=r.look===`neo`?10:5;(r.width||r.height)&&(r.width=Math.max((r?.width??0)-s*2-2*l,10),r.height=Math.max((r?.height??0)-c*2-2*l,10));let{shapeSvg:u,bbox:d,label:f}=await P(n,r,L(r)),p=(r?.width?r?.width:d.width)+s*2+2*l,m=(r?.height?r?.height:d.height)+c*2+2*l,h=p-2*l,g=m-2*l,_=-h/2,v=-g/2,{cssStyles:y}=r,b=T.svg(u),x=e(r,{}),S=[{x:_-l,y:v+l},{x:_-l,y:v+g+l},{x:_+h-l,y:v+g+l},{x:_+h-l,y:v+g},{x:_+h,y:v+g},{x:_+h,y:v+g-l},{x:_+h+l,y:v+g-l},{x:_+h+l,y:v-l},{x:_+l,y:v-l},{x:_+l,y:v},{x:_,y:v},{x:_,y:v+l}],C=[{x:_,y:v+l},{x:_+h-l,y:v+l},{x:_+h-l,y:v+g},{x:_+h,y:v+g},{x:_+h,y:v},{x:_,y:v}];r.look!==`handDrawn`&&(x.roughness=0,x.fillStyle=`solid`);let w=R(S),E=b.path(w,x),D=R(C),O=b.path(D,x);r.look!==`handDrawn`&&(E=ee(E),O=ee(O));let k=u.insert(`g`,`:first-child`);return k.insert(()=>E),k.insert(()=>O),k.attr(`class`,`basic label-container outer-path`),y&&r.look!==`handDrawn`&&k.selectAll(`path`).attr(`style`,y),a&&r.look!==`handDrawn`&&k.selectAll(`path`).attr(`style`,a),f.attr(`transform`,`translate(${-(d.width/2)-l-(d.x-(d.left??0))}, ${-(d.height/2)+l-(d.y-(d.top??0))})`),I(r,k),r.intersect=function(e){return K.polygon(r,S,e)},u}w(an,`multiRect`);async function on(n,r){let{labelStyles:i,nodeStyles:a}=t(r);r.labelStyle=i;let{shapeSvg:o,bbox:s,label:c}=await P(n,r,L(r)),l=r.padding??0,u=r.look===`neo`?16:l,d=r.look===`neo`?12:l,f=!0;(r.width||r.height)&&(f=!1,r.width=(r?.width??0)-u*2,r.height=(r?.height??0)-d*3);let p=Math.max(s.width,r?.width??0)+u*2,m=Math.max(s.height,r?.height??0)+d*3,h=r.look===`neo`?m/4:m/8,g=m+(f?h/2:-h/2),_=-p/2,v=-g/2,{cssStyles:y}=r,b=z(_-10,v+g+10,_+p-10,v+g+10,h,.8),x=b?.[b.length-1],S=[{x:_-10,y:v+10},{x:_-10,y:v+g+10},...b,{x:_+p-10,y:x.y-10},{x:_+p,y:x.y-10},{x:_+p,y:x.y-20},{x:_+p+10,y:x.y-20},{x:_+p+10,y:v-10},{x:_+10,y:v-10},{x:_+10,y:v},{x:_,y:v},{x:_,y:v+10}],C=[{x:_,y:v+10},{x:_+p-10,y:v+10},{x:_+p-10,y:x.y-10},{x:_+p,y:x.y-10},{x:_+p,y:v},{x:_,y:v}],w=T.svg(o),E=e(r,{});r.look!==`handDrawn`&&(E.roughness=0,E.fillStyle=`solid`);let D=R(S),O=w.path(D,E),k=R(C),A=w.path(k,E),j=o.insert(()=>O,`:first-child`);return j.insert(()=>A),j.attr(`class`,`basic label-container outer-path`),y&&r.look!==`handDrawn`&&j.selectAll(`path`).attr(`style`,y),a&&r.look!==`handDrawn`&&j.selectAll(`path`).attr(`style`,a),j.attr(`transform`,`translate(0,${-h/2})`),c.attr(`transform`,`translate(${-(s.width/2)-10-(s.x-(s.left??0))}, ${-(s.height/2)+10-h-(s.y-(s.top??0))})`),I(r,j),r.intersect=function(e){return K.polygon(r,S,e)},o}w(on,`multiWaveEdgedRectangle`);async function sn(n,r,{config:{themeVariables:i}}){let{labelStyles:a,nodeStyles:o}=t(r);r.labelStyle=a,r.useHtmlLabels||y(b())||(r.centerLabel=!0);let{shapeSvg:s,bbox:c,label:l}=await P(n,r,L(r)),u=Math.max(c.width+(r.padding??0)*2,r?.width??0),d=Math.max(c.height+(r.padding??0)*2,r?.height??0),f=-u/2,p=-d/2,{cssStyles:m}=r,h=T.svg(s),g=e(r,{fill:i.noteBkgColor,stroke:i.noteBorderColor});r.look!==`handDrawn`&&(g.roughness=0,g.fillStyle=`solid`);let _=h.rectangle(f,p,u,d,g),v=s.insert(()=>_,`:first-child`);return v.attr(`class`,`basic label-container outer-path`),l.attr(`class`,`label noteLabel`),m&&r.look!==`handDrawn`&&v.selectAll(`path`).attr(`style`,m),o&&r.look!==`handDrawn`&&v.selectAll(`path`).attr(`style`,o),l.attr(`transform`,`translate(${-c.width/2-(c.x-(c.left??0))}, ${-(c.height/2)-(c.y-(c.top??0))})`),I(r,v),r.intersect=function(e){return K.rect(r,e)},s}w(sn,`note`);var cn=w((e,t,n)=>[`M${e+n/2},${t}`,`L${e+n},${t-n/2}`,`L${e+n/2},${t-n}`,`L${e},${t-n/2}`,`Z`].join(` `),`createDecisionBoxPathD`);async function ln(n,r){let{labelStyles:i,nodeStyles:a}=t(r);r.labelStyle=i;let{shapeSvg:o,bbox:s}=await P(n,r,L(r)),c=s.width+(r.padding??0)+(s.height+(r.padding??0)),l=.5,u=[{x:c/2,y:0},{x:c,y:-c/2},{x:c/2,y:-c},{x:0,y:-c/2}],d,{cssStyles:f}=r;if(r.look===`handDrawn`){let t=T.svg(o),n=e(r,{}),i=cn(0,0,c),a=t.path(i,n);d=o.insert(()=>a,`:first-child`).attr(`transform`,`translate(${-c/2+l}, ${c/2})`),f&&d.attr(`style`,f)}else d=J(o,c,c,u),d.attr(`transform`,`translate(${-c/2+l}, ${c/2})`);return a&&d.attr(`style`,a),I(r,d),r.calcIntersect=function(e,t){let n=e.width,r=[{x:n/2,y:0},{x:n,y:-n/2},{x:n/2,y:-n},{x:0,y:-n/2}];return K.polygon(e,r,t)},r.intersect=function(e){return this.calcIntersect(r,e)},o}w(ln,`question`);async function un(n,r){let{labelStyles:i,nodeStyles:a}=t(r);r.labelStyle=i;let o=r.padding??0,s=r.look===`neo`?21:o??0,c=r.look===`neo`?12:o??0,{shapeSvg:l,bbox:u,label:d}=await P(n,r,L(r)),f=u.width+(r.look===`neo`?s*2:s),p=Math.max(u.height+(r.look===`neo`?c*2:c),r.height??0),m=p/4,h=-Math.max(f,(r.width??0)-m)/2,g=-p/2,_=g/2,v=[{x:h+_,y:g},{x:h,y:0},{x:h+_,y:-g},{x:-h,y:-g},{x:-h,y:g}],{cssStyles:y}=r,b=T.svg(l),x=e(r,{});r.look!==`handDrawn`&&(x.roughness=0,x.fillStyle=`solid`);let S=R(v),C=b.path(S,x),w=l.insert(()=>C,`:first-child`);return w.attr(`class`,`basic label-container outer-path`),y&&r.look!==`handDrawn`&&w.selectAll(`path`).attr(`style`,y),a&&r.look!==`handDrawn`&&w.selectAll(`path`).attr(`style`,a),w.attr(`transform`,`translate(${-_/2},0)`),d.attr(`transform`,`translate(${-_/2-u.width/2-(u.x-(u.left??0))}, ${-(u.height/2)-(u.y-(u.top??0))})`),I(r,w),r.intersect=function(e){return K.polygon(r,v,e)},l}w(un,`rect_left_inv_arrow`);async function dn(n,r){let{labelStyles:i,nodeStyles:a}=t(r);r.labelStyle=i;let o;o=r.cssClasses?`node `+r.cssClasses:`node default`;let s=n.insert(`g`).attr(`class`,o).attr(`id`,r.domId||r.id),c=s.insert(`g`),l=s.insert(`g`).attr(`class`,`label`).attr(`style`,a),u=r.description,d=r.label,f=await se(l,d,r.labelStyle,!0,!0),p={width:0,height:0};if(y(h())){let e=f.children[0],t=C(f);p=e.getBoundingClientRect(),t.attr(`width`,p.width),t.attr(`height`,p.height)}S.info(`Text 2`,u);let m=u||[],g=f.getBBox(),_=await se(l,Array.isArray(m)?m.join(`<br/>`):m,r.labelStyle,!0,!0),v=_.children[0],b=C(_);p=v.getBoundingClientRect(),b.attr(`width`,p.width),b.attr(`height`,p.height);let x=(r.padding||0)/2;C(_).attr(`transform`,`translate( `+(p.width>g.width?0:(g.width-p.width)/2)+`, `+(g.height+x+5)+`)`),C(f).attr(`transform`,`translate( `+(p.width<g.width?0:-(g.width-p.width)/2)+`, 0)`),p=l.node().getBBox(),l.attr(`transform`,`translate(`+-p.width/2+`, `+(-p.height/2-x+3)+`)`);let w=p.width+(r.padding||0),E=p.height+(r.padding||0),D=-p.width/2-x,O=-p.height/2-x,k,A;if(r.look===`handDrawn`){let t=T.svg(s),n=e(r,{}),i=t.path(q(D,O,w,E,r.rx||0),n),a=t.line(-p.width/2-x,-p.height/2-x+g.height+x,p.width/2+x,-p.height/2-x+g.height+x,n);A=s.insert(()=>(S.debug(`Rough node insert CXC`,i),a),`:first-child`),k=s.insert(()=>(S.debug(`Rough node insert CXC`,i),i),`:first-child`)}else k=c.insert(`rect`,`:first-child`),A=c.insert(`line`),k.attr(`class`,`outer title-state`).attr(`style`,a).attr(`x`,-p.width/2-x).attr(`y`,-p.height/2-x).attr(`width`,p.width+(r.padding||0)).attr(`height`,p.height+(r.padding||0)),A.attr(`class`,`divider`).attr(`x1`,-p.width/2-x).attr(`x2`,p.width/2+x).attr(`y1`,-p.height/2-x+g.height+x).attr(`y2`,-p.height/2-x+g.height+x);return I(r,k),r.intersect=function(e){return K.rect(r,e)},s}w(dn,`rectWithTitle`);async function fn(e,t,{config:{themeVariables:n}}){let r=n?.radius??5;return Ke(e,t,{rx:r,ry:r,classes:``,labelPaddingX:(t?.padding??0)*1,labelPaddingY:(t?.padding??0)*1})}w(fn,`roundedRect`);var pn=8;async function mn(n,r){let{labelStyles:i,nodeStyles:a}=t(r);r.labelStyle=i;let o=r.look===`neo`?16:r.padding??0,s=r.look===`neo`?12:r.padding??0,{shapeSvg:c,bbox:l,label:d}=await P(n,r,L(r)),f=(r?.width??l.width)+o*2+(r.look===`neo`?pn:pn*2),p=(r?.height??l.height)+s*2,m=f-pn,h=p,g=pn-f/2,_=-p/2,{cssStyles:v}=r,y=T.svg(c),b=e(r,{});r.look!==`handDrawn`&&(b.roughness=0,b.fillStyle=`solid`);let x=[{x:g,y:_},{x:g+m,y:_},{x:g+m,y:_+h},{x:g-pn,y:_+h},{x:g-pn,y:_},{x:g,y:_},{x:g,y:_+h}],S=y.polygon(x.map(e=>[e.x,e.y]),b),C=c.insert(()=>S,`:first-child`);return C.attr(`class`,`basic label-container outer-path`).attr(`style`,u(v)),a&&r.look!==`handDrawn`&&C.selectAll(`path`).attr(`style`,a),v&&r.look!==`handDrawn`&&C.selectAll(`path`).attr(`style`,a),d.attr(`transform`,`translate(${pn/2-l.width/2-(l.x-(l.left??0))}, ${-(l.height/2)-(l.y-(l.top??0))})`),I(r,C),r.intersect=function(e){return K.rect(r,e)},c}w(mn,`shadedProcess`);async function hn(n,r){let{labelStyles:i,nodeStyles:a}=t(r);r.labelStyle=i;let o=r.padding??0,s=r.look===`neo`?16:o,c=r.look===`neo`?12:o;(r.width||r.height)&&(r.width=Math.max((r?.width??0)-s*2,10),r.height=Math.max((r?.height??0)/1.5-c*2,10));let{shapeSvg:l,bbox:u,label:d}=await P(n,r,L(r)),f=(r?.width?r?.width:u.width)+s*2,p=((r?.height?r?.height:u.height)+c*2)*1.5,m=f,h=p/1.5,g=-m/2,_=-h/2,{cssStyles:v}=r,y=T.svg(l),b=e(r,{});r.look!==`handDrawn`&&(b.roughness=0,b.fillStyle=`solid`);let x=[{x:g,y:_},{x:g,y:_+h},{x:g+m,y:_+h},{x:g+m,y:_-h/2}],S=R(x),C=y.path(S,b),w=l.insert(()=>C,`:first-child`);return w.attr(`class`,`basic label-container outer-path`),v&&r.look!==`handDrawn`&&w.selectChildren(`path`).attr(`style`,v),a&&r.look!==`handDrawn`&&w.selectChildren(`path`).attr(`style`,a),w.attr(`transform`,`translate(0, ${h/4})`),d.attr(`transform`,`translate(${-m/2+(r.padding??0)-(u.x-(u.left??0))}, ${-h/4+(r.padding??0)-(u.y-(u.top??0))})`),I(r,w),r.intersect=function(e){return K.polygon(r,x,e)},l}w(hn,`slopedRect`);async function gn(e,t){let n=t.padding??0,r=t.look===`neo`?16:n*2,i=t.look===`neo`?12:n,a=await Ke(e,t,{rx:0,ry:0,classes:``,labelPaddingX:t.labelPaddingX??r,labelPaddingY:i});if(t.colorIndex!==void 0){let{theme:e,themeVariables:n}=h();c(a,t.colorIndex,e,n.borderColorArray)}return a}w(gn,`squareRect`);var _n=50,vn=w((e,t,n)=>{let r=e.height+n,i=r*Math.cos(Math.PI/(2*(_n-1))),a=Math.sqrt(Math.max(0,i**2-e.height**2));return{w:Math.max(e.width+r/4+t,1.5*r+(r-i),e.width+t+r-a),h:r}},`stadiumDimensions`);async function yn(n,r){let{labelStyles:i,nodeStyles:a}=t(r);r.labelStyle=i;let o=r.padding??0,s=r.look===`neo`?40:o,c=r.look===`neo`?24:o,{shapeSvg:l,bbox:u}=await P(n,r,L(r)),{w:d,h:f}=vn(u,s,c),p=f/2,{cssStyles:m}=r,h=T.svg(l),g=e(r,{});r.look!==`handDrawn`&&(g.roughness=0,g.fillStyle=`solid`);let _=[{x:-d/2+p,y:-f/2},{x:d/2-p,y:-f/2},...B(-d/2+p,0,p,_n,90,270),{x:d/2-p,y:f/2},...B(d/2-p,0,p,_n,270,450)],v=R(_),y=h.path(v,g),b=l.insert(()=>y,`:first-child`);return b.attr(`class`,`basic label-container outer-path`),m&&r.look!==`handDrawn`&&b.selectChildren(`path`).attr(`style`,m),a&&r.look!==`handDrawn`&&b.selectChildren(`path`).attr(`style`,a),I(r,b),r.intersect=function(e){return K.polygon(r,_,e)},l}w(yn,`stadium`);async function bn(e,t){return Ke(e,t,{rx:t.look===`neo`?3:5,ry:t.look===`neo`?3:5,classes:`flowchart-node`})}w(bn,`state`);function xn(n,r,{config:{themeVariables:i}}){let{labelStyles:a,nodeStyles:o}=t(r);r.labelStyle=a;let{cssStyles:s}=r,{lineColor:c,stateBorder:l,nodeBorder:u,nodeShadow:d}=i;(r.width||r.height)&&((r.width??0)<14&&(r.width=14),(r.height??0)<14&&(r.height=14)),r.width||=14,r.height||=14;let f=n.insert(`g`).attr(`class`,`node default`).attr(`id`,r.domId??r.id),p=T.svg(f),m=e(r,{});r.look!==`handDrawn`&&(m.roughness=0,m.fillStyle=`solid`);let h=p.circle(0,0,r.width,{...m,stroke:c,strokeWidth:2}),g=l??u,_=(r.width??0)*5/14,v=p.circle(0,0,_,{...m,fill:g,stroke:g,strokeWidth:2,fillStyle:`solid`}),y=f.insert(()=>h,`:first-child`);if(y.insert(()=>v),r.look!==`handDrawn`&&y.attr(`class`,`outer-path`),s&&y.selectAll(`path`).attr(`style`,s),o&&y.selectAll(`path`).attr(`style`,o),r.width<25&&d&&r.look!==`handDrawn`){let e=n.node()?.ownerSVGElement?.id??``,t=e?`${e}-drop-shadow-small`:`drop-shadow-small`;y.attr(`style`,`filter:url(#${t})`)}return I(r,y),r.intersect=function(e){return K.circle(r,(r.width??0)/2,e)},f}w(xn,`stateEnd`);function Sn(e,t,{config:{themeVariables:r}}){let{lineColor:i,nodeShadow:a}=r;(t.width||t.height)&&((t.width??0)<14&&(t.width=14),(t.height??0)<14&&(t.height=14)),t.width||=14,t.height||=14;let o=e.insert(`g`).attr(`class`,`node default`).attr(`id`,t.domId||t.id),s;if(t.look===`handDrawn`){let e=T.svg(o).circle(0,0,t.width,n(i));s=o.insert(()=>e),s.attr(`class`,`state-start`).attr(`r`,(t.width??7)/2).attr(`width`,t.width??14).attr(`height`,t.height??14)}else s=o.insert(`circle`,`:first-child`),s.attr(`class`,`state-start`).attr(`r`,(t.width??7)/2).attr(`width`,t.width??14).attr(`height`,t.height??14);if(t.width<25&&a&&t.look!==`handDrawn`){let t=e.node()?.ownerSVGElement?.id??``,n=t?`${t}-drop-shadow-small`:`drop-shadow-small`;s.attr(`style`,`filter:url(#${n})`)}return I(t,s),t.intersect=function(e){return K.circle(t,(t.width??7)/2,e)},o}w(Sn,`stateStart`);var Cn=8;async function wn(n,r){let{labelStyles:i,nodeStyles:a}=t(r);r.labelStyle=i;let o=r?.padding??8,s=r.look===`neo`?28:o,c=r.look===`neo`?12:o,{shapeSvg:l,bbox:d}=await P(n,r,L(r)),f=Math.max(d.width+2*Cn+s,r.width??0),p=Math.max(d.height+c,r.height??0),m=f-2*Cn,h=p,g=-f/2,_=-p/2,v=[{x:0,y:0},{x:m,y:0},{x:m,y:-h},{x:0,y:-h},{x:0,y:0},{x:-8,y:0},{x:m+8,y:0},{x:m+8,y:-h},{x:-8,y:-h},{x:-8,y:0}];if(r.look===`handDrawn`){let t=T.svg(l),n=e(r,{}),i=t.rectangle(g,_,m+16,h,n),a=t.line(g+Cn,_,g+Cn,_+h,n),o=t.line(g+Cn+m,_,g+Cn+m,_+h,n);l.insert(()=>a,`:first-child`),l.insert(()=>o,`:first-child`);let s=l.insert(()=>i,`:first-child`),{cssStyles:c}=r;s.attr(`class`,`basic label-container`).attr(`style`,u(c)),I(r,s)}else{let e=J(l,m,h,v);a&&e.attr(`style`,a),I(r,e)}return r.intersect=function(e){return K.polygon(r,v,e)},l}w(wn,`subroutine`);var Tn=.2;async function En(n,r){let{labelStyles:i,nodeStyles:a}=t(r);r.labelStyle=i;let o=r.padding??0,s=r.look===`neo`?16:o,c=r.look===`neo`?12:o;(r.width||r.height)&&(r.height=Math.max((r?.height??0)-c*2,10),r.width=Math.max((r?.width??0)-s*2-Tn*(r.height+c*2),10));let{shapeSvg:l,bbox:u}=await P(n,r,L(r)),d=(r?.height?r?.height:u.height)+c*2,f=Tn*d,p=Tn*d,m=(r?.width?r?.width:u.width)+s*2+f-f,h=d,g=-m/2,_=-h/2,{cssStyles:v}=r,y=T.svg(l),b=e(r,{}),x=[{x:g-f/2,y:_},{x:g+m+f/2,y:_},{x:g+m+f/2,y:_+h},{x:g-f/2,y:_+h}],S=[{x:g+m-f/2,y:_+h},{x:g+m+f/2,y:_+h},{x:g+m+f/2,y:_+h-p}];r.look!==`handDrawn`&&(b.roughness=0,b.fillStyle=`solid`);let C=R(x),w=y.path(C,b),E=R(S),D=y.path(E,{...b,fillStyle:`solid`}),O=l.insert(()=>D,`:first-child`);return O.insert(()=>w,`:first-child`),O.attr(`class`,`basic label-container outer-path`),v&&r.look!==`handDrawn`&&O.selectAll(`path`).attr(`style`,v),a&&r.look!==`handDrawn`&&O.selectAll(`path`).attr(`style`,a),I(r,O),r.intersect=function(e){return K.polygon(r,x,e)},l}w(En,`taggedRect`);async function Dn(n,r){let{labelStyles:i,nodeStyles:a}=t(r);r.labelStyle=i;let{shapeSvg:o,bbox:s,label:c}=await P(n,r,L(r)),l=Math.max(s.width+(r.padding??0)*2,r?.width??0),u=Math.max(s.height+(r.padding??0)*2,r?.height??0),d=u/8,f=.2*l,p=.2*u,m=u+d,{cssStyles:h}=r,g=T.svg(o),_=e(r,{});r.look!==`handDrawn`&&(_.roughness=0,_.fillStyle=`solid`);let v=[{x:-l/2-l/2*.1,y:m/2},...z(-l/2-l/2*.1,m/2,l/2+l/2*.1,m/2,d,.8),{x:l/2+l/2*.1,y:-m/2},{x:-l/2-l/2*.1,y:-m/2}],y=-l/2+l/2*.1,b=-m/2-p*.4,x=[{x:y+l-f,y:(b+u)*1.3},{x:y+l,y:b+u-p},{x:y+l,y:(b+u)*.9},...z(y+l,(b+u)*1.25,y+l-f,(b+u)*1.3,-u*.02,.5)],S=R(v),C=g.path(S,_),w=R(x),E=g.path(w,{..._,fillStyle:`solid`}),D=o.insert(()=>E,`:first-child`);return D.insert(()=>C,`:first-child`),D.attr(`class`,`basic label-container outer-path`),h&&r.look!==`handDrawn`&&D.selectAll(`path`).attr(`style`,h),a&&r.look!==`handDrawn`&&D.selectAll(`path`).attr(`style`,a),D.attr(`transform`,`translate(0,${-d/2})`),c.attr(`transform`,`translate(${-l/2+(r.padding??0)-(s.x-(s.left??0))},${-u/2+(r.padding??0)-d/2-(s.y-(s.top??0))})`),I(r,D),r.intersect=function(e){return K.polygon(r,v,e)},o}w(Dn,`taggedWaveEdgedRectangle`);async function On(e,n){let{labelStyles:r,nodeStyles:i}=t(n);n.labelStyle=r;let{shapeSvg:a,bbox:o}=await P(e,n,L(n)),s=Math.max(o.width+(n.padding??0),n?.width||0),c=Math.max(o.height+(n.padding??0),n?.height||0),l=-s/2,u=-c/2,d=a.insert(`rect`,`:first-child`);return d.attr(`class`,`text`).attr(`style`,i).attr(`rx`,0).attr(`ry`,0).attr(`x`,l).attr(`y`,u).attr(`width`,s).attr(`height`,c),I(n,d),n.intersect=function(e){return K.rect(n,e)},a}w(On,`text`);var kn=w((e,t,n,r,i,a)=>`M${e},${t}
3
+ a${i},${a} 0,0,1 0,${-r}
4
+ l${n},0
5
+ a${i},${a} 0,0,1 0,${r}
6
+ M${n},${-r}
7
+ a${i},${a} 0,0,0 0,${r}
8
+ l${-n},0`,`createCylinderPathD`),An=w((e,t,n,r,i,a)=>[`M${e},${t}`,`M${e+n},${t}`,`a${i},${a} 0,0,0 0,${-r}`,`l${-n},0`,`a${i},${a} 0,0,0 0,${r}`,`l${n},0`].join(` `),`createOuterCylinderPathD`),jn=w((e,t,n,r,i,a)=>[`M${e+n/2},${-r/2}`,`a${i},${a} 0,0,0 0,${r}`].join(` `),`createInnerCylinderPathD`),Mn=5,Nn=10;async function Pn(n,r){let{labelStyles:i,nodeStyles:a}=t(r);r.labelStyle=i;let o=r.padding??0,s=r.look===`neo`?12:o/2,c=r.height??0;if(r.height&&(r.height-=s,r.height<Mn&&(r.height=Mn)),r.width){let e=c/2/(2.5+c/50);r.width=r.width-s-e*3,r.width<Nn&&(r.width=Nn)}let{shapeSvg:l,bbox:d,label:f}=await P(n,r,L(r)),p=Math.max(r.height??0,d.height)+s,m=p/2,h=m/(2.5+p/50),g=Math.max(r.width??0,d.width)+h+s,{cssStyles:_}=r,v;if(r.look===`handDrawn`){let t=T.svg(l),n=An(0,0,g,p,h,m),i=jn(0,0,g,p,h,m),a=t.path(n,e(r,{})),o=t.path(i,e(r,{fill:`none`}));v=l.insert(()=>o,`:first-child`),v=l.insert(()=>a,`:first-child`),v.attr(`class`,`basic label-container`),_&&v.attr(`style`,_)}else{let e=kn(0,0,g,p,h,m);v=l.insert(`path`,`:first-child`).attr(`d`,e).attr(`class`,`basic label-container`).attr(`style`,u(_)).attr(`style`,a),v.attr(`class`,`basic label-container outer-path`),_&&v.selectAll(`path`).attr(`style`,_),a&&v.selectAll(`path`).attr(`style`,a)}return v.attr(`label-offset-x`,h),v.attr(`transform`,`translate(${-g/2}, ${p/2} )`),f.attr(`transform`,`translate(${-(d.width/2)-h-(d.x-(d.left??0))}, ${-(d.height/2)-(d.y-(d.top??0))})`),I(r,v),r.intersect=function(e){let t=K.rect(r,e),n=t.y-(r.y??0);if(m!=0&&(Math.abs(n)<(r.height??0)/2||Math.abs(n)==(r.height??0)/2&&Math.abs(t.x-(r.x??0))>(r.width??0)/2-h)){let i=h*h*(1-n*n/(m*m));i!=0&&(i=Math.sqrt(Math.abs(i))),i=h-i,e.x-(r.x??0)>0&&(i=-i),t.x+=i}return t},l}w(Pn,`tiltedCylinder`);async function Fn(n,r){let{labelStyles:i,nodeStyles:a}=t(r);r.labelStyle=i;let o=r.padding??0,s=(r.look,o),c=r.look===`neo`?o*2:o,{shapeSvg:l,bbox:u}=await P(n,r,L(r)),d=Math.max(u.height+s,r.height??0),f=Math.max(u.width+c,(r.width??0)-d),p=[{x:-3*d/6,y:0},{x:f+3*d/6,y:0},{x:f,y:-d},{x:0,y:-d}],m,{cssStyles:h}=r;if(r.look===`handDrawn`){let t=T.svg(l),n=e(r,{}),i=R(p),a=t.path(i,n);m=l.insert(()=>a,`:first-child`).attr(`transform`,`translate(${-f/2}, ${d/2})`),h&&m.attr(`style`,h)}else m=J(l,f,d,p);return a&&m.attr(`style`,a),r.width=f,r.height=d,I(r,m),r.intersect=function(e){return K.polygon(r,p,e)},l}w(Fn,`trapezoid`);async function In(n,r){let{labelStyles:i,nodeStyles:a}=t(r);r.labelStyle=i;let o=r.padding??0,s=r.look===`neo`?16:o,c=r.look===`neo`?12:o;(r.width||r.height)&&(r.height=(r.height??0)-c*2,r.height<5&&(r.height=5),r.width=(r.width??0)-s*2,r.width<15&&(r.width=15));let{shapeSvg:l,bbox:u}=await P(n,r,L(r)),d=(r?.width?r?.width:u.width)+s*2,f=(r?.height?r?.height:u.height)+c*2,{cssStyles:p}=r,m=T.svg(l),h=e(r,{});r.look!==`handDrawn`&&(h.roughness=0,h.fillStyle=`solid`);let g=[{x:-d/2*.8,y:-f/2},{x:d/2*.8,y:-f/2},{x:d/2,y:-f/2*.6},{x:d/2,y:f/2},{x:-d/2,y:f/2},{x:-d/2,y:-f/2*.6}],_=R(g),v=m.path(_,h),y=l.insert(()=>v,`:first-child`);return y.attr(`class`,`basic label-container outer-path`),p&&r.look!==`handDrawn`&&y.selectChildren(`path`).attr(`style`,p),a&&r.look!==`handDrawn`&&y.selectChildren(`path`).attr(`style`,a),I(r,y),r.intersect=function(e){return K.polygon(r,g,e)},l}w(In,`trapezoidalPentagon`);var Ln=10,Rn=10;async function zn(n,r){let{labelStyles:i,nodeStyles:a}=t(r);r.labelStyle=i;let o=r.padding??0,s=r.look===`neo`?o*2:o;(r.width||r.height)&&(r.width=((r?.width??0)-s)/2,r.width<Rn&&(r.width=Rn),r.height=r?.height??0,r.height<Ln&&(r.height=Ln));let{shapeSvg:c,bbox:l,label:u}=await P(n,r,L(r)),d=_(h().flowchart?.htmlLabels),f=(r?.width?r?.width:l.width)+s,p=r?.height?r?.height:f+l.height,m=p,g=[{x:0,y:0},{x:m,y:0},{x:m/2,y:-p}],{cssStyles:v}=r,y=T.svg(c),b=e(r,{});r.look!==`handDrawn`&&(b.roughness=0,b.fillStyle=`solid`);let x=R(g),C=y.path(x,b),w=c.insert(()=>C,`:first-child`).attr(`transform`,`translate(${-p/2}, ${p/2})`).attr(`class`,`outer-path`);return v&&r.look!==`handDrawn`&&w.selectChildren(`path`).attr(`style`,v),a&&r.look!==`handDrawn`&&w.selectChildren(`path`).attr(`style`,a),r.width=f,r.height=p,I(r,w),u.attr(`transform`,`translate(${-l.width/2-(l.x-(l.left??0))}, ${p/2-(l.height+(r.padding??0)/(d?2:1)-(l.y-(l.top??0)))})`),r.intersect=function(e){return S.info(`Triangle intersect`,r,g,e),K.polygon(r,g,e)},c}w(zn,`triangle`);async function Bn(n,r){let{labelStyles:i,nodeStyles:a}=t(r);r.labelStyle=i;let o=r.padding??0,s=r.look===`neo`?16:o,c=r.look===`neo`?12:o,l=!0;(r.width||r.height)&&(l=!1,r.width=(r?.width??0)-s*2,r.width<10&&(r.width=10),r.height=(r?.height??0)-c*2,r.height<10&&(r.height=10));let{shapeSvg:u,bbox:d,label:f}=await P(n,r,L(r)),p=(r?.width?r?.width:d.width)+(s??0)*2,m=(r?.height?r?.height:d.height)+(c??0)*2,h=r.look===`neo`?m/4:m/8,g=m+(l?h:-h),{cssStyles:_}=r,v=14-p,y=v>0?v/2:0,b=T.svg(u),x=e(r,{});r.look!==`handDrawn`&&(x.roughness=0,x.fillStyle=`solid`);let S=[{x:-p/2-y,y:g/2},...z(-p/2-y,g/2,p/2+y,g/2,h,.8),{x:p/2+y,y:-g/2},{x:-p/2-y,y:-g/2}],C=R(S),w=b.path(C,x),E=u.insert(()=>w,`:first-child`);return E.attr(`class`,`basic label-container outer-path`),_&&r.look!==`handDrawn`&&E.selectAll(`path`).attr(`style`,_),a&&r.look!==`handDrawn`&&E.selectAll(`path`).attr(`style`,a),E.attr(`transform`,`translate(0,${-h/2})`),f.attr(`transform`,`translate(${-p/2+(r.padding??0)-(d.x-(d.left??0))},${-m/2+(r.padding??0)-h-(d.y-(d.top??0))})`),I(r,E),r.intersect=function(e){return K.polygon(r,S,e)},u}w(Bn,`waveEdgedRectangle`);async function Vn(n,r){let{labelStyles:i,nodeStyles:a}=t(r);r.labelStyle=i;let o=r.padding??0,s=r.look===`neo`?16:o,c=r.look===`neo`?20:o;if(r.width||r.height){r.width=r?.width??0,r.width<20&&(r.width=20),r.height=r?.height??0,r.height<10&&(r.height=10);let e=Math.min(r.height*.2,r.height/4);r.height=Math.ceil(r.height-c-20/9*e),r.width-=s*2}let{shapeSvg:l,bbox:u}=await P(n,r,L(r)),d=(r?.width?r?.width:u.width)+s*2,f=(r?.height?r?.height:u.height)+c,p=f/8,m=f+p*2,{cssStyles:h}=r,g=T.svg(l),_=e(r,{});r.look!==`handDrawn`&&(_.roughness=0,_.fillStyle=`solid`);let v=[{x:-d/2,y:m/2},...z(-d/2,m/2,d/2,m/2,p,1),{x:d/2,y:-m/2},...z(d/2,-m/2,-d/2,-m/2,p,-1)],y=R(v),b=g.path(y,_),x=l.insert(()=>b,`:first-child`);return x.attr(`class`,`basic label-container`),h&&r.look!==`handDrawn`&&x.selectAll(`path`).attr(`style`,h),a&&r.look!==`handDrawn`&&x.selectAll(`path`).attr(`style`,a),I(r,x),r.intersect=function(e){return K.polygon(r,v,e)},l}w(Vn,`waveRectangle`);var Q=10;async function Hn(n,r){let{labelStyles:i,nodeStyles:a}=t(r);r.labelStyle=i;let o=r.look===`neo`?16:r.padding??0,s=r.look===`neo`?12:r.padding??0;(r.width||r.height)&&(r.width=Math.max((r?.width??0)-o*2-Q,10),r.height=Math.max((r?.height??0)-s*2-Q,10));let{shapeSvg:c,bbox:l,label:u}=await P(n,r,L(r)),d=(r?.width?r?.width:l.width)+o*2+Q,f=(r?.height?r?.height:l.height)+s*2+Q,p=d-Q,m=f-Q,h=-p/2,g=-m/2,{cssStyles:_}=r,v=T.svg(c),y=e(r,{}),b=[{x:h-Q,y:g-Q},{x:h-Q,y:g+m},{x:h+p,y:g+m},{x:h+p,y:g-Q}],x=`M${h-Q},${g-Q} L${h+p},${g-Q} L${h+p},${g+m} L${h-Q},${g+m} L${h-Q},${g-Q}
9
+ M${h-Q},${g} L${h+p},${g}
10
+ M${h},${g-Q} L${h},${g+m}`;r.look!==`handDrawn`&&(y.roughness=0,y.fillStyle=`solid`);let S=v.path(x,y),C=c.insert(()=>S,`:first-child`);return C.attr(`transform`,`translate(${Q/2}, ${Q/2})`),C.attr(`class`,`basic label-container outer-path`),_&&r.look!==`handDrawn`&&C.selectAll(`path`).attr(`style`,_),a&&r.look!==`handDrawn`&&C.selectAll(`path`).attr(`style`,a),u.attr(`transform`,`translate(${-(l.width/2)+Q/2-(l.x-(l.left??0))}, ${-(l.height/2)+Q/2-(l.y-(l.top??0))})`),I(r,C),r.intersect=function(e){return K.polygon(r,b,e)},c}w(Hn,`windowPane`);var Un=new Set([`redux-color`,`redux-dark-color`]),Wn=new Set([`redux`,`redux-dark`,`redux-color`,`redux-dark-color`]);async function Gn(n,r){let i=r;i.alias&&(r.label=i.alias);let{theme:a,themeVariables:o}=b(),{rowEven:s,rowOdd:c,nodeBorder:l,borderColorArray:u}=o;if(r.look===`handDrawn`){let{themeVariables:e}=b(),{background:t}=e;await Gn(n,{...r,id:r.id+`-background`,domId:(r.domId||r.id)+`-background`,look:`default`,cssStyles:[`stroke: none`,`fill: ${t}`]})}let d=b();r.useHtmlLabels=d.htmlLabels;let p=d.er?.diagramPadding??10,m=d.er?.entityPadding??6,{cssStyles:h}=r,{labelStyles:g,nodeStyles:v}=t(r);if(i.attributes.length===0&&r.label){let e={rx:0,ry:0,labelPaddingX:p,labelPaddingY:p*1.5,classes:``};f(r.label,d)+e.labelPaddingX*2<d.er.minEntityWidth&&(r.width=d.er.minEntityWidth);let t=await Ke(n,r,e);if(a!=null&&Un.has(a)){let e=i.colorIndex??0;t.attr(`data-color-id`,`color-${e%u.length}`)}if(!_(d.htmlLabels)){let e=t.select(`text`),n=e.node()?.getBBox();e.attr(`transform`,`translate(${-n.width/2}, 0)`)}return t}d.htmlLabels||(p*=1.25,m*=1.25);let y=L(r);y||=`node default`;let x=n.insert(`g`).attr(`class`,y).attr(`id`,r.domId||r.id),S=await Kn(x,r.label??``,d,0,0,[`name`],g);S.height+=m;let w=0,E=[],D=[],O=0,k=0,A=0,j=0,M=!0,N=!0;for(let e of i.attributes){let t=await Kn(x,e.type,d,0,w,[`attribute-type`],g);O=Math.max(O,t.width+p);let n=await Kn(x,e.name,d,0,w,[`attribute-name`],g);k=Math.max(k,n.width+p);let r=await Kn(x,e.keys.join(),d,0,w,[`attribute-keys`],g);A=Math.max(A,r.width+p);let i=await Kn(x,e.comment,d,0,w,[`attribute-comment`],g);j=Math.max(j,i.width+p);let a=Math.max(t.height,n.height,r.height,i.height)+m;D.push({yOffset:w,rowHeight:a}),w+=a}let P=4;A<=p&&(M=!1,A=0,P--),j<=p&&(N=!1,j=0,P--);let F=x.node().getBBox();if(S.width+p*2-(O+k+A+j)>0){let e=S.width+p*2-(O+k+A+j);O+=e/P,k+=e/P,A>0&&(A+=e/P),j>0&&(j+=e/P)}let R=O+k+A+j,z=T.svg(x),B=e(r,{});r.look!==`handDrawn`&&(B.roughness=0,B.fillStyle=`solid`);let ee=0;D.length>0&&(ee=D.reduce((e,t)=>e+(t?.rowHeight??0),0));let V=Math.max(F.width+p*2,r?.width||0,R),te=Math.max((ee??0)+S.height,r?.height||0),H=-V/2,U=-te/2;if(x.selectAll(`g:not(:first-child)`).each((e,t,n)=>{let r=C(n[t]),i=r.attr(`transform`),a=0,o=0;if(i){let e=RegExp(/translate\(([^,]+),([^)]+)\)/).exec(i);e&&(a=parseFloat(e[1]),o=parseFloat(e[2]),r.attr(`class`).includes(`attribute-name`)?a+=O:r.attr(`class`).includes(`attribute-keys`)?a+=O+k:r.attr(`class`).includes(`attribute-comment`)&&(a+=O+k+A))}r.attr(`transform`,`translate(${H+p/2+a}, ${o+U+S.height+m/2})`)}),x.select(`.name`).attr(`transform`,`translate(`+-S.width/2+`, `+(U+m/2)+`)`),a!=null&&Un.has(a)){let e=i.colorIndex??0;x.attr(`data-color-id`,`color-${e%u.length}`)}let ne=z.rectangle(H,U,V,te,B),re=x.insert(()=>ne,`:first-child`).attr(`class`,`outer-path`).attr(`style`,h.join(``));E.push(0);for(let[e,t]of D.entries()){let n=(e+1)%2==0&&t.yOffset!==0,r=z.rectangle(H,S.height+U+t?.yOffset,V,t?.rowHeight,{...B,fill:n?s:c,stroke:l});x.insert(()=>r,`g.label`).attr(`style`,h.join(``)).attr(`class`,`row-rect-${n?`even`:`odd`}`)}let ie=1e-4,W=qn(H,S.height+U,V+H,S.height+U,ie),G=z.polygon(W.map(e=>[e.x,e.y]),B);if(x.insert(()=>G).attr(`class`,`divider`),W=qn(O+H,S.height+U,O+H,te+U,ie),G=z.polygon(W.map(e=>[e.x,e.y]),B),x.insert(()=>G).attr(`class`,`divider`),M){let e=O+k+H;W=qn(e,S.height+U,e,te+U,ie),G=z.polygon(W.map(e=>[e.x,e.y]),B),x.insert(()=>G).attr(`class`,`divider`)}if(N){let e=O+k+A+H;W=qn(e,S.height+U,e,te+U,ie),G=z.polygon(W.map(e=>[e.x,e.y]),B),x.insert(()=>G).attr(`class`,`divider`)}for(let e of E){let t=S.height+U+e;W=qn(H,t,V+H,t,ie),G=z.polygon(W.map(e=>[e.x,e.y]),B),x.insert(()=>G).attr(`class`,`divider`)}if(I(r,re),v&&r.look!==`handDrawn`){if(a!=null&&Wn.has(a))x.selectAll(`path`).attr(`style`,v);else{let e=v.split(`;`)?.filter(e=>e.includes(`stroke`))?.map(e=>`${e}`).join(`; `);x.selectAll(`path`).attr(`style`,e??``),x.selectAll(`.row-rect-even path`).attr(`style`,v)}}return r.intersect=function(e){return K.rect(r,e)},x}w(Gn,`erBox`);async function Kn(e,t,n,r=0,a=0,o=[],s=``){let c=e.insert(`g`).attr(`class`,`label ${o.join(` `)}`).attr(`transform`,`translate(${r}, ${a})`).attr(`style`,s);t!==m(t)&&(t=m(t),t=t.replaceAll(`<`,`&lt;`).replaceAll(`>`,`&gt;`));let l=c.node().appendChild(await i(c,t,{width:f(t,n)+100,style:s,useHtmlLabels:n.htmlLabels},n));if(t.includes(`&lt;`)||t.includes(`&gt;`)){let e=l.children[0];for(e.textContent=e.textContent.replaceAll(`&lt;`,`<`).replaceAll(`&gt;`,`>`);e.childNodes[0];)e=e.childNodes[0],e.textContent=e.textContent.replaceAll(`&lt;`,`<`).replaceAll(`&gt;`,`>`)}let u=l.getBBox();if(_(n.htmlLabels)){let e=l.children[0];e.style.textAlign=`start`;let t=C(l);u=e.getBoundingClientRect(),t.attr(`width`,u.width),t.attr(`height`,u.height)}return u}w(Kn,`addText`);function qn(e,t,n,r,i){return e===n?[{x:e-i/2,y:t},{x:e+i/2,y:t},{x:n+i/2,y:r},{x:n-i/2,y:r}]:[{x:e,y:t-i/2},{x:e,y:t+i/2},{x:n,y:r+i/2},{x:n,y:r-i/2}]}w(qn,`lineToPolygon`);async function Jn(e,t,n,r,i=n.class.padding??12){let a=r?0:3,o=e.insert(`g`).attr(`class`,L(t)).attr(`id`,t.domId||t.id),s=null,c=null,l=null,u=null,d=0,f=0,p=0;if(s=o.insert(`g`).attr(`class`,`annotation-group text`),t.annotations.length>0){let e=t.annotations[0];await Yn(s,{text:`\xAB${e}\xBB`},0),d=s.node().getBBox().height}c=o.insert(`g`).attr(`class`,`label-group text`),await Yn(c,t,0,[`font-weight: bolder`]);let m=c.node().getBBox();f=m.height,l=o.insert(`g`).attr(`class`,`members-group text`);let h=0;for(let e of t.members){let t=await Yn(l,e,h,[e.parseClassifier()]);h+=t+a}p=l.node().getBBox().height,p<=0&&(p=i/2),u=o.insert(`g`).attr(`class`,`methods-group text`);let g=0;for(let e of t.methods){let t=await Yn(u,e,g,[e.parseClassifier()]);g+=t+a}let _=o.node().getBBox();if(s!==null){let e=s.node().getBBox();s.attr(`transform`,`translate(${-e.width/2})`)}return c.attr(`transform`,`translate(${-m.width/2}, ${d})`),_=o.node().getBBox(),l.attr(`transform`,`translate(0, ${d+f+i*2})`),_=o.node().getBBox(),u.attr(`transform`,`translate(0, ${d+f+(p?p+i*4:i*2)})`),_=o.node().getBBox(),{shapeSvg:o,bbox:_}}w(Jn,`textHelper`);async function Yn(e,t,n,r=[]){let a=e.insert(`g`).attr(`class`,`label`).attr(`style`,r.join(`; `)),o=b(),s=`useHtmlLabels`in t?t.useHtmlLabels:_(o.htmlLabels)??!0,c=``;c=`text`in t?t.text:t.label,!s&&c.startsWith(`\\`)&&(c=c.substring(1)),v(c)&&(s=!0);let u=await i(a,p(l(c)),{width:f(c,o)+50,classes:`markdown-node-label`,useHtmlLabels:s},o),d,m=1;if(s){let e=u.children[0],t=C(u);m=e.innerHTML.split(`<br>`).length,e.innerHTML.includes(`</math>`)&&(m+=e.innerHTML.split(`<mrow>`).length-1),await O(e),d=e.getBoundingClientRect(),t.attr(`width`,d.width),t.attr(`height`,d.height)}else{r.includes(`font-weight: bolder`)&&C(u).selectAll(`tspan`).attr(`font-weight`,``),m=u.children.length;let e=u.children[0];(u.textContent===``||u.textContent.includes(`&gt`))&&(e.textContent=c[0]+c.substring(1).replaceAll(`&gt;`,`>`).replaceAll(`&lt;`,`<`).trim(),c[1]===` `&&(e.textContent=e.textContent[0]+` `+e.textContent.substring(1))),e.textContent===`undefined`&&(e.textContent=``),d=u.getBBox()}return a.attr(`transform`,`translate(0,`+(-d.height/(2*m)+n)+`)`),d.height}w(Yn,`addText`);async function Xn(n,r){let i=h(),{theme:a,themeVariables:o}=i,{useGradient:s,borderColorArray:l}=o,u=i.class.padding??12,d=u,f=r.useHtmlLabels??_(i.htmlLabels)??!0,p=r;p.annotations=p.annotations??[],p.members=p.members??[],p.methods=p.methods??[];let{shapeSvg:m,bbox:g}=await Jn(n,r,i,f,d);c(m,r.colorIndex,a,l);let{labelStyles:v,nodeStyles:y}=t(r);r.labelStyle=v,r.cssStyles=p.styles||``;let b=p.styles?.join(`;`)||y||``;r.cssStyles||=b.replaceAll(`!important`,``).split(`;`);let x=p.members.length===0&&p.methods.length===0&&!i.class?.hideEmptyMembersBox,S=T.svg(m),w=e(r,{});r.look!==`handDrawn`&&(w.roughness=0,w.fillStyle=`solid`);let E=Math.max(r.width??0,g.width),D=Math.max(r.height??0,g.height),O=(r.height??0)>g.height;p.members.length===0&&p.methods.length===0?D+=d:p.members.length>0&&p.methods.length===0&&(D+=d*2);let k=-E/2,A=-D/2,j=x?u*2:p.members.length===0&&p.methods.length===0?-u:0;O&&(j=u*2);let M=S.rectangle(k-u,A-u-(x?u:p.members.length===0&&p.methods.length===0?-u/2:0),E+2*u,D+2*u+j,w),N=m.insert(()=>M,`:first-child`);N.attr(`class`,`basic label-container outer-path`);let P=N.node().getBBox(),F=m.select(`.annotation-group`).node().getBBox().height-(x?u/2:0)||0,L=m.select(`.label-group`).node().getBBox().height-(x?u/2:0)||0,R=m.select(`.members-group`).node().getBBox().height-(x?u/2:0)||0,z=(F+L+A+u-(A-u-(x?u:p.members.length===0&&p.methods.length===0?-u/2:0)))/2;if(m.selectAll(`.text`).each((e,t,n)=>{let r=C(n[t]),a=r.attr(`transform`),o=0;if(a){let e=RegExp(/translate\(([^,]+),([^)]+)\)/).exec(a);e&&(o=parseFloat(e[2]))}let s=o+A+u-(x?u:p.members.length===0&&p.methods.length===0?-u/2:0);if(r.attr(`class`).includes(`methods-group`)){let e=Math.max(R,d/2);s=O?Math.max(z,F+L+e+A+d*2+u)+d*2:F+L+e+A+d*4+u}p.members.length===0&&p.methods.length===0&&i.class?.hideEmptyMembersBox&&(s=p.annotations.length>0?o-d:o),f||(s-=4);let c=k;(r.attr(`class`).includes(`label-group`)||r.attr(`class`).includes(`annotation-group`))&&(c=-r.node()?.getBBox().width/2||0,m.selectAll(`text`).each(function(e,t,n){window.getComputedStyle(n[t]).textAnchor===`middle`&&(c=0)})),r.attr(`transform`,`translate(${c}, ${s})`)}),p.members.length>0||p.methods.length>0||x){let e=F+L+A+u,t=S.line(P.x,e,P.x+P.width,e+.001,w);m.insert(()=>t).attr(`class`,`divider${r.look===`neo`&&!s?` neo-line`:``}`).attr(`style`,b)}if(x||p.members.length>0||p.methods.length>0){let e=F+L+R+A+d*2+u,t=S.line(P.x,O?Math.max(z,e):e,P.x+P.width,(O?Math.max(z,e):e)+.001,w);m.insert(()=>t).attr(`class`,`divider${r.look===`neo`&&!s?` neo-line`:``}`).attr(`style`,b)}if(p.look!==`handDrawn`&&m.selectAll(`path`).attr(`style`,b),N.select(`:nth-child(2)`).attr(`style`,b),m.selectAll(`.divider`).select(`path`).attr(`style`,b),r.labelStyle?m.selectAll(`span`).attr(`style`,r.labelStyle):m.selectAll(`span`).attr(`style`,b),!f){let e=RegExp(/color\s*:\s*([^;]*)/),t=e.exec(b);if(t){let e=t[0].replace(`color`,`fill`);m.selectAll(`tspan`).attr(`style`,e)}else if(v){let t=e.exec(v);if(t){let e=t[0].replace(`color`,`fill`);m.selectAll(`tspan`).attr(`style`,e)}}}return I(r,N),r.intersect=function(e){return K.rect(r,e)},m}w(Xn,`classBox`);async function Zn(n,r){let{labelStyles:i,nodeStyles:a}=t(r);r.labelStyle=i;let o=r,s=r,c=`verifyMethod`in r,l=L(r),u=h(),{themeVariables:d}=u,{borderColorArray:f,requirementEdgeLabelBackground:p}=d,m=u.layout===`elk`?`start`:`center`,g=n.insert(`g`).attr(`class`,l).attr(`id`,r.domId??r.id),_;_=c?await $(g,`&lt;&lt;${o.type}&gt;&gt;`,0,r.labelStyle):await $(g,`&lt;&lt;Element&gt;&gt;`,0,r.labelStyle);let v=_,y=await $(g,o.name,v,r.labelStyle+`; font-weight: bold;`);if(v+=y+20,c){let e=await $(g,`${o.requirementId?`ID: ${o.requirementId}`:``}`,v,r.labelStyle,m);v+=e;let t=await $(g,`${o.text?`Text: ${o.text}`:``}`,v,r.labelStyle,m);v+=t;let n=await $(g,`${o.risk?`Risk: ${o.risk}`:``}`,v,r.labelStyle,m);v+=n,await $(g,`${o.verifyMethod?`Verification: ${o.verifyMethod}`:``}`,v,r.labelStyle,m)}else{let e=await $(g,`${s.type?`Type: ${s.type}`:``}`,v,r.labelStyle,m);v+=e,await $(g,`${s.docRef?`Doc Ref: ${s.docRef}`:``}`,v,r.labelStyle,m)}let b=(g.node()?.getBBox().width??200)+20,x=(g.node()?.getBBox().height??200)+20,S=-b/2,w=-x/2,E=T.svg(g),D=e(r,{});r.look!==`handDrawn`&&(D.roughness=0,D.fillStyle=`solid`);let O=E.rectangle(S,w,b,x,D),k=g.insert(()=>O,`:first-child`);if(k.attr(`class`,`basic label-container outer-path`).attr(`style`,a),f?.length){let e=r.colorIndex??0;g.attr(`data-color-id`,`color-${e%f.length}`)}if(g.selectAll(`.label`).each((e,t,n)=>{let r=C(n[t]),i=r.attr(`transform`),a=0,o=0;if(i){let e=RegExp(/translate\(([^,]+),([^)]+)\)/).exec(i);e&&(a=parseFloat(e[1]),o=parseFloat(e[2]))}let s=o-x/2,c=S+10;(t===0||t===1)&&(c=a),r.attr(`transform`,`translate(${c}, ${s+20})`)}),v>_+y+20){let e=w+_+y+20,t;if(r.look===`neo`){let n=.001,r=[[S,e],[S+b,e],[S+b,e+n],[S,e+n]];t=E.polygon(r,D)}else t=E.line(S,e,S+b,e,D);g.insert(()=>t).attr(`class`,`divider`)}return I(r,k),r.intersect=function(e){return K.rect(r,e)},a&&r.look!==`handDrawn`&&(p||f?.length)&&g.selectAll(`path`).attr(`style`,a),g}w(Zn,`requirementBox`);async function $(e,t,n,r=``,a=`center`){if(t===``)return 0;let o=e.insert(`g`).attr(`class`,`label`).attr(`style`,r),s=h(),c=s.htmlLabels??!0,u=await i(o,p(l(t)),{width:f(t,s)+50,classes:`markdown-node-label`,useHtmlLabels:c,style:r},s),d;if(c){let e=u.children[0],t=C(u);a===`start`&&C(e).style(`text-align`,`left`),d=e.getBoundingClientRect(),t.attr(`width`,d.width),t.attr(`height`,d.height)}else{let e=u.children[0];for(let t of e.children)r&&t.setAttribute(`style`,r);if(a===`start`){e.setAttribute(`text-anchor`,`start`);for(let t of e.children)t.setAttribute(`text-anchor`,`start`)}d=u.getBBox(),d.height+=6}return o.attr(`transform`,`translate(${-d.width/2},${-d.height/2+n})`),d.height}w($,`addText`);var Qn=w(e=>{switch(e){case`Very High`:return`red`;case`High`:return`orange`;case`Medium`:return null;case`Low`:return`blue`;case`Very Low`:return`lightblue`}},`colorFromPriority`);async function $n(n,r,{config:i}){let{labelStyles:a,nodeStyles:o}=t(r);r.labelStyle=a||``;let s=r.width;r.width=(r.width??200)-10;let{shapeSvg:c,bbox:l,label:u}=await P(n,r,L(r)),d=r.padding||10,f=``,p;`ticket`in r&&r.ticket&&i?.kanban?.ticketBaseUrl&&(f=i?.kanban?.ticketBaseUrl.replace(`#TICKET#`,r.ticket),p=c.insert(`svg:a`,`:first-child`).attr(`class`,`kanban-ticket-link`).attr(`xlink:href`,f).attr(`target`,`_blank`));let m={useHtmlLabels:r.useHtmlLabels,labelStyle:r.labelStyle||``,width:r.width,img:r.img,padding:r.padding||8,centerLabel:!1},h,g;p?{label:h,bbox:g}=await F(p,`ticket`in r&&r.ticket||``,m):{label:h,bbox:g}=await F(c,`ticket`in r&&r.ticket||``,m);let{label:_,bbox:v}=await F(c,`assigned`in r&&r.assigned||``,m);r.width=s;let y=r?.width||0,b=Math.max(g.height,v.height)/2,x=Math.max(l.height+20,r?.height||0)+b,S=-y/2,C=-x/2;u.attr(`transform`,`translate(`+(d-y/2)+`, `+(-b-l.height/2)+`)`),h.attr(`transform`,`translate(`+(d-y/2)+`, `+(-b+l.height/2)+`)`),_.attr(`transform`,`translate(`+(d+y/2-v.width-20)+`, `+(-b+l.height/2)+`)`);let w,{rx:E,ry:D}=r,{cssStyles:O}=r;if(r.look===`handDrawn`){let t=T.svg(c),n=e(r,{}),i=E||D?t.path(q(S,C,y,x,E||0),n):t.rectangle(S,C,y,x,n);w=c.insert(()=>i,`:first-child`),w.attr(`class`,`basic label-container`).attr(`style`,O||null)}else{w=c.insert(`rect`,`:first-child`),w.attr(`class`,`basic label-container __APA__`).attr(`style`,o).attr(`rx`,E??5).attr(`ry`,D??5).attr(`x`,S).attr(`y`,C).attr(`width`,y).attr(`height`,x);let e=`priority`in r&&r.priority;if(e){let t=c.append(`line`),n=S+2,r=C+Math.floor((E??0)/2),i=C+x-Math.floor((E??0)/2);t.attr(`x1`,n).attr(`y1`,r).attr(`x2`,n).attr(`y2`,i).attr(`stroke-width`,`4`).attr(`stroke`,Qn(e))}}return I(r,w),r.height=x,r.intersect=function(e){return K.rect(r,e)},c}w($n,`kanbanItem`);async function er(n,r){let{labelStyles:i,nodeStyles:a}=t(r);r.labelStyle=i;let{shapeSvg:o,bbox:s,halfPadding:c,label:l}=await P(n,r,L(r)),d=s.width+10*c,f=s.height+8*c,p=.15*d,{cssStyles:m}=r,h=s.width+20,g=s.height+20,_=Math.max(d,h),v=Math.max(f,g);l.attr(`transform`,`translate(${-s.width/2}, ${-s.height/2})`);let y,b=`M0 0
11
+ a${p},${p} 1 0,0 ${_*.25},${-1*v*.1}
12
+ a${p},${p} 1 0,0 ${_*.25},0
13
+ a${p},${p} 1 0,0 ${_*.25},0
14
+ a${p},${p} 1 0,0 ${_*.25},${v*.1}
15
+
16
+ a${p},${p} 1 0,0 ${_*.15},${v*.33}
17
+ a${p*.8},${p*.8} 1 0,0 0,${v*.34}
18
+ a${p},${p} 1 0,0 ${-1*_*.15},${v*.33}
19
+
20
+ a${p},${p} 1 0,0 ${-1*_*.25},${v*.15}
21
+ a${p},${p} 1 0,0 ${-1*_*.25},0
22
+ a${p},${p} 1 0,0 ${-1*_*.25},0
23
+ a${p},${p} 1 0,0 ${-1*_*.25},${-1*v*.15}
24
+
25
+ a${p},${p} 1 0,0 ${-1*_*.1},${-1*v*.33}
26
+ a${p*.8},${p*.8} 1 0,0 0,${-1*v*.34}
27
+ a${p},${p} 1 0,0 ${_*.1},${-1*v*.33}
28
+ H0 V0 Z`;if(r.look===`handDrawn`){let t=T.svg(o),n=e(r,{}),i=t.path(b,n);y=o.insert(()=>i,`:first-child`),y.attr(`class`,`basic label-container`).attr(`style`,u(m))}else y=o.insert(`path`,`:first-child`).attr(`class`,`basic label-container`).attr(`style`,a).attr(`d`,b);return y.attr(`transform`,`translate(${-_/2}, ${-v/2})`),I(r,y),r.calcIntersect=function(e,t){return K.rect(e,t)},r.intersect=function(e){return S.info(`Bang intersect`,r,e),K.rect(r,e)},o}w(er,`bang`);async function tr(n,r){let{labelStyles:i,nodeStyles:a}=t(r);r.labelStyle=i;let{shapeSvg:o,bbox:s,halfPadding:c,label:l}=await P(n,r,L(r)),d=s.width+2*c,f=s.height+2*c,p=.15*d,m=.25*d,h=.35*d,g=.2*d,{cssStyles:_}=r,v,y=`M0 0
29
+ a${p},${p} 0 0,1 ${d*.25},${-1*d*.1}
30
+ a${h},${h} 1 0,1 ${d*.4},${-1*d*.1}
31
+ a${m},${m} 1 0,1 ${d*.35},${d*.2}
32
+
33
+ a${p},${p} 1 0,1 ${d*.15},${f*.35}
34
+ a${g},${g} 1 0,1 ${-1*d*.15},${f*.65}
35
+
36
+ a${m},${p} 1 0,1 ${-1*d*.25},${d*.15}
37
+ a${h},${h} 1 0,1 ${-1*d*.5},0
38
+ a${p},${p} 1 0,1 ${-1*d*.25},${-1*d*.15}
39
+
40
+ a${p},${p} 1 0,1 ${-1*d*.1},${-1*f*.35}
41
+ a${g},${g} 1 0,1 ${d*.1},${-1*f*.65}
42
+ H0 V0 Z`;if(r.look===`handDrawn`){let t=T.svg(o),n=e(r,{}),i=t.path(y,n);v=o.insert(()=>i,`:first-child`),v.attr(`class`,`basic label-container`).attr(`style`,u(_))}else v=o.insert(`path`,`:first-child`).attr(`class`,`basic label-container`).attr(`style`,a).attr(`d`,y);return l.attr(`transform`,`translate(${-s.width/2}, ${-s.height/2})`),v.attr(`transform`,`translate(${-d/2}, ${-f/2})`),I(r,v),r.calcIntersect=function(e,t){return K.rect(e,t)},r.intersect=function(e){return S.info(`Cloud intersect`,r,e),K.rect(r,e)},o}w(tr,`cloud`);async function nr(e,n){let{labelStyles:r,nodeStyles:i}=t(n);n.labelStyle=r;let{shapeSvg:a,bbox:o,halfPadding:s,label:c}=await P(e,n,L(n)),l=o.width+8*s,u=o.height+2*s,d=n.look===`neo`?`
43
+ M${-l/2} ${u/2-5}
44
+ v${-u+10}
45
+ q0,-5 5,-5
46
+ h${l-10}
47
+ q5,0 5,5
48
+ v${u-5}
49
+ H${-l/2}
50
+ Z
51
+ `:`
52
+ M${-l/2} ${u/2-5}
53
+ v${-u+10}
54
+ q0,-5 5,-5
55
+ h${l-10}
56
+ q5,0 5,5
57
+ v${u-10}
58
+ q0,5 -5,5
59
+ h${-(l-10)}
60
+ q-5,0 -5,-5
61
+ Z
62
+ `;if(!n.domId)throw Error(`defaultMindmapNode: node "${n.id}" is missing a domId \u2014 was render.ts domId prefixing skipped?`);let f=a.append(`path`).attr(`id`,n.domId).attr(`class`,`node-bkg node-`+n.type).attr(`style`,i).attr(`d`,d);return a.append(`line`).attr(`class`,`node-line-`).attr(`x1`,-l/2).attr(`y1`,u/2).attr(`x2`,l/2).attr(`y2`,u/2),c.attr(`transform`,`translate(${-o.width/2}, ${-o.height/2})`),a.append(()=>c.node()),I(n,f),n.calcIntersect=function(e,t){return K.rect(e,t)},n.intersect=function(e){return K.rect(n,e)},a}w(nr,`defaultMindmapNode`);async function rr(e,t){return Ae(e,t,{padding:t.padding??0})}w(rr,`mindmapCircle`);var ir=[{semanticName:`Process`,name:`Rectangle`,shortName:`rect`,description:`Standard process shape`,aliases:[`proc`,`process`,`rectangle`],internalAliases:[`squareRect`],handler:gn},{semanticName:`Event`,name:`Rounded Rectangle`,shortName:`rounded`,description:`Represents an event`,aliases:[`event`],internalAliases:[`roundedRect`],handler:fn},{semanticName:`Terminal Point`,name:`Stadium`,shortName:`stadium`,description:`Terminal point`,aliases:[`terminal`,`pill`],handler:yn},{semanticName:`Subprocess`,name:`Framed Rectangle`,shortName:`fr-rect`,description:`Subprocess`,aliases:[`subprocess`,`subproc`,`framed-rectangle`,`subroutine`],handler:wn},{semanticName:`Database`,name:`Cylinder`,shortName:`cyl`,description:`Database storage`,aliases:[`db`,`database`,`cylinder`],handler:Ge},{semanticName:`Data Store`,name:`Data Store`,shortName:`datastore`,description:`Data flow diagram data store`,aliases:[`data-store`],handler:qe},{semanticName:`Folder`,name:`Folder`,shortName:`folder`,description:`Folder or directory`,aliases:[`directory`],handler:tt},{semanticName:`Bucket`,name:`Bucket`,shortName:`bucket`,description:`Object storage bucket`,handler:fe},{semanticName:`Console`,name:`Console (terminal window)`,shortName:`console`,description:`Terminal or console window`,handler:Me},{semanticName:`Browser`,name:`Browser`,shortName:`browser`,description:`Browser window`,handler:Ee},{semanticName:`Person`,name:`Person`,shortName:`person`,description:`Person (circular head above a rounded body)`,handler:ze},{semanticName:`Start`,name:`Circle`,shortName:`circle`,description:`Starting point`,aliases:[`circ`],handler:Ae},{semanticName:`Bang`,name:`Bang`,shortName:`bang`,description:`Bang`,aliases:[`bang`],handler:er},{semanticName:`Cloud`,name:`Cloud`,shortName:`cloud`,description:`cloud`,aliases:[`cloud`],handler:tr},{semanticName:`Decision`,name:`Diamond`,shortName:`diam`,description:`Decision-making step`,aliases:[`decision`,`diamond`,`question`],handler:ln},{semanticName:`Prepare Conditional`,name:`Hexagon`,shortName:`hex`,description:`Preparation or condition step`,aliases:[`hexagon`,`prepare`],handler:at},{semanticName:`Data Input/Output`,name:`Lean Right`,shortName:`lean-r`,description:`Represents input or output`,aliases:[`lean-right`,`in-out`],internalAliases:[`lean_right`],handler:ht},{semanticName:`Data Input/Output`,name:`Lean Left`,shortName:`lean-l`,description:`Represents output or input`,aliases:[`lean-left`,`out-in`],internalAliases:[`lean_left`],handler:mt},{semanticName:`Priority Action`,name:`Trapezoid Base Bottom`,shortName:`trap-b`,description:`Priority action`,aliases:[`priority`,`trapezoid-bottom`,`trapezoid`],handler:Fn},{semanticName:`Manual Operation`,name:`Trapezoid Base Top`,shortName:`trap-t`,description:`Represents a manual task`,aliases:[`manual`,`trapezoid-top`,`inv-trapezoid`],internalAliases:[`inv_trapezoid`],handler:ft},{semanticName:`Stop`,name:`Double Circle`,shortName:`dbl-circ`,description:`Represents a stop point`,aliases:[`double-circle`],internalAliases:[`doublecircle`],handler:Ye},{semanticName:`Text Block`,name:`Text Block`,shortName:`text`,description:`Text block`,handler:On},{semanticName:`Card`,name:`Notched Rectangle`,shortName:`notch-rect`,description:`Represents a card`,aliases:[`card`,`notched-rectangle`],handler:Oe},{semanticName:`Lined/Shaded Process`,name:`Lined Rectangle`,shortName:`lin-rect`,description:`Lined process shape`,aliases:[`lined-rectangle`,`lined-process`,`lin-proc`,`shaded-process`],handler:mn},{semanticName:`Start`,name:`Small Circle`,shortName:`sm-circ`,description:`Small starting point`,aliases:[`start`,`small-circle`],internalAliases:[`stateStart`],handler:Sn},{semanticName:`Stop`,name:`Framed Circle`,shortName:`fr-circ`,description:`Stop point`,aliases:[`stop`,`framed-circle`],internalAliases:[`stateEnd`],handler:xn},{semanticName:`Fork/Join`,name:`Filled Rectangle`,shortName:`fork`,description:`Fork or join in process flow`,aliases:[`join`],internalAliases:[`forkJoin`],handler:nt},{semanticName:`Collate`,name:`Hourglass`,shortName:`hourglass`,description:`Represents a collate operation`,aliases:[`hourglass`,`collate`],handler:ot},{semanticName:`Comment`,name:`Curly Brace`,shortName:`brace`,description:`Adds a comment`,aliases:[`comment`,`brace-l`],handler:Fe},{semanticName:`Comment Right`,name:`Curly Brace`,shortName:`brace-r`,description:`Adds a comment`,handler:Ie},{semanticName:`Comment with braces on both sides`,name:`Curly Braces`,shortName:`braces`,description:`Adds a comment`,handler:Le},{semanticName:`Com Link`,name:`Lightning Bolt`,shortName:`bolt`,description:`Communication link`,aliases:[`com-link`,`lightning-bolt`],handler:gt},{semanticName:`Document`,name:`Document`,shortName:`doc`,description:`Represents a document`,aliases:[`doc`,`document`],handler:Bn},{semanticName:`Delay`,name:`Half-Rounded Rectangle`,shortName:`delay`,description:`Represents a delay`,aliases:[`half-rounded-rectangle`],handler:rt},{semanticName:`Direct Access Storage`,name:`Horizontal Cylinder`,shortName:`h-cyl`,description:`Direct access storage`,aliases:[`das`,`horizontal-cylinder`],handler:Pn},{semanticName:`Disk Storage`,name:`Lined Cylinder`,shortName:`lin-cyl`,description:`Disk storage`,aliases:[`disk`,`lined-cylinder`],handler:St},{semanticName:`Display`,name:`Curved Trapezoid`,shortName:`curv-trap`,description:`Represents a display`,aliases:[`curved-trapezoid`,`display`],handler:Re},{semanticName:`Divided Process`,name:`Divided Rectangle`,shortName:`div-rect`,description:`Divided process shape`,aliases:[`div-proc`,`divided-rectangle`,`divided-process`],handler:Je},{semanticName:`Extract`,name:`Triangle`,shortName:`tri`,description:`Extraction process`,aliases:[`extract`,`triangle`],handler:zn},{semanticName:`Internal Storage`,name:`Window Pane`,shortName:`win-pane`,description:`Internal storage`,aliases:[`internal-storage`,`window-pane`],handler:Hn},{semanticName:`Junction`,name:`Filled Circle`,shortName:`f-circ`,description:`Junction point`,aliases:[`junction`,`filled-circle`],handler:Ze},{semanticName:`Loop Limit`,name:`Trapezoidal Pentagon`,shortName:`notch-pent`,description:`Loop limit step`,aliases:[`loop-limit`,`notched-pentagon`],handler:In},{semanticName:`Manual File`,name:`Flipped Triangle`,shortName:`flip-tri`,description:`Manual file operation`,aliases:[`manual-file`,`flipped-triangle`],handler:et},{semanticName:`Manual Input`,name:`Sloped Rectangle`,shortName:`sl-rect`,description:`Manual input step`,aliases:[`manual-input`,`sloped-rectangle`],handler:hn},{semanticName:`Multi-Document`,name:`Stacked Document`,shortName:`docs`,description:`Multiple documents`,aliases:[`documents`,`st-doc`,`stacked-document`],handler:on},{semanticName:`Multi-Process`,name:`Stacked Rectangle`,shortName:`st-rect`,description:`Multiple processes`,aliases:[`procs`,`processes`,`stacked-rectangle`],handler:an},{semanticName:`Stored Data`,name:`Bow Tie Rectangle`,shortName:`bow-rect`,description:`Stored data`,aliases:[`stored-data`,`bow-tie-rectangle`],handler:de},{semanticName:`Summary`,name:`Crossed Circle`,shortName:`cross-circ`,description:`Summary`,aliases:[`summary`,`crossed-circle`],handler:Pe},{semanticName:`Tagged Document`,name:`Tagged Document`,shortName:`tag-doc`,description:`Tagged document`,aliases:[`tag-doc`,`tagged-document`],handler:Dn},{semanticName:`Tagged Process`,name:`Tagged Rectangle`,shortName:`tag-rect`,description:`Tagged process`,aliases:[`tagged-rectangle`,`tag-proc`,`tagged-process`],handler:En},{semanticName:`Paper Tape`,name:`Flag`,shortName:`flag`,description:`Paper tape`,aliases:[`paper-tape`],handler:Vn},{semanticName:`Odd`,name:`Odd`,shortName:`odd`,description:`Odd shape`,internalAliases:[`rect_left_inv_arrow`],handler:un},{semanticName:`Lined Document`,name:`Lined Document`,shortName:`lin-doc`,description:`Lined document`,aliases:[`lined-document`],handler:Ct}],ar=w(()=>{let e=[...Object.entries({state:bn,choice:ke,note:sn,composite:je,rectWithTitle:dn,labelRect:pt,block_arrow:Te,collapsedGroup:ve,iconSquare:ut,iconCircle:ct,icon:st,iconRounded:lt,imageSquare:dt,anchor:ce,kanbanItem:$n,mindmapCircle:rr,defaultMindmapNode:nr,classBox:Xn,erBox:Gn,requirementBox:Zn,usecaseActor:Bt,usecaseActorHollow:Wt,usecaseActorAwesome:Ht,usecaseActorIcon:Yt,usecaseBusiness:Zt,usecaseEllipse:Xe,usecaseJsonTable:rn}),...ir.flatMap(e=>[e.shortName,...`aliases`in e?e.aliases:[],...`internalAliases`in e?e.internalAliases:[]].map(t=>[t,e.handler]))];return Object.fromEntries(e)},`generateShapeMap`)();function or(e){return e in ar}w(or,`isValidShape`);export{or as a,I as c,V as i,q as n,P as o,K as r,ar as s,se as t};
@@ -0,0 +1 @@
1
+ import{n as e}from"./chunk-ZAUX2LTX-Dp5y-2wt.js";import{i as t,n,t as r}from"./chunk-HAGFOTED-CSKFgs6b.js";import{a as i,i as a,t as o}from"./chunk-UHW7PFBP-BDjvOaTH.js";import{n as s}from"./chunk-AQDTSKZB-ilLy_cYP.js";import{s as c}from"./chunk-J5ZVWO5B-oDCd-gWO.js";import{b as l,g as u,w as d}from"./chunk-DSNLSHJZ-DAudglXu.js";import{j as f,k as p}from"./src-MPsEqXxq.js";import{n as m}from"./chunk-Y2CYZVJY-DsF7k-Jl.js";import{t as h}from"./rough.esm-Dy-Kn_BL.js";var g=m(async(e,n)=>{let r=l(),{theme:o,themeVariables:d,handDrawnSeed:m}=r,{clusterBkg:g,clusterBorder:_,borderColorArray:v}=d,y=_,{labelStyles:b,nodeStyles:x,borderStyles:S,backgroundStyles:C}=a(n),w=e.insert(`g`).attr(`class`,`cluster swimlane `+(n.cssClasses||``)).attr(`id`,n.domId??n.id).attr(`data-id`,n.id).attr(`data-et`,`cluster`).attr(`data-look`,n.look);c(w,n.colorIndex,o,v);let T=u(r.flowchart.htmlLabels),E=n.direction===`LR`,D=w.insert(`g`).attr(`class`,`cluster-label swimlane-label`),O=await s(D,n.label,{style:n.labelStyle,useHtmlLabels:T,isNode:!0,width:n.width}),k=O.getBBox();if(T){let e=O.children[0],t=p(O);k=e.getBoundingClientRect(),t.attr(`width`,k.width),t.attr(`height`,k.height)}let A=n.padding??0,j=n.width<=k.width+A?k.width+A:n.width;n.diff=n.width<=k.width+A?(j-n.width)/2-A:-A;let M=n.height,N=n.y-M/2,P=n.y+M/2,F=n.x-j/2,I=n.swimlaneContentTop===void 0?N+M/3:n.swimlaneContentTop,L=E?4:0,R=k.height+2*L,z,B;if(E){let e=Math.max(R,k.height+2*L),t=F+e,r=Math.max(0,j-e);if(n.look===`handDrawn`){let a=h.svg(w),o=i(n,{roughness:.7,fill:g,stroke:y,seed:m}),s=i(n,{roughness:.7,fill:`none`,stroke:y,seed:m}),c=a.rectangle(F,N,e,M,o);z=w.insert(()=>c,`:first-child`).attr(`class`,`swimlane-title`);let l=a.rectangle(t,N,r,M,s);B=w.insert(()=>l,`:first-child`).attr(`class`,`swimlane-body`),z.select(`path:nth-child(2)`).attr(`style`,S.join(`;`)),z.select(`path`).attr(`style`,C.join(`;`).replace(`fill`,`stroke`))}else z=w.insert(`rect`,`:first-child`),B=w.insert(`rect`,`:first-child`),z.attr(`class`,`swimlane-title`).attr(`style`,x).attr(`x`,F).attr(`y`,N).attr(`width`,e).attr(`height`,M).attr(`fill`,g).attr(`stroke`,y),B.attr(`class`,`swimlane-body`).attr(`style`,x).attr(`x`,t).attr(`y`,N).attr(`width`,r).attr(`height`,M).attr(`fill`,`none`).attr(`stroke`,y);let a=F+e/2,o=n.y;D.attr(`transform`,`translate(${a}, ${o}) rotate(-90) translate(${-k.width/2}, ${-k.height/2})`)}else{let e=Math.max(0,I-N),t=Math.min(R,e),r=N+t,a=Math.max(0,P-r),o=n.x-j/2;if(n.look===`handDrawn`){let e=h.svg(w),s=i(n,{roughness:.7,fill:g,stroke:y,fillWeight:3,seed:m}),c=i(n,{roughness:.7,fill:`none`,stroke:y,seed:m}),l=e.rectangle(o,N,j,t,s);z=w.insert(()=>l,`:first-child`).attr(`class`,`swimlane-title`);let u=e.rectangle(o,r,j,a,c);B=w.insert(()=>u,`:first-child`).attr(`class`,`swimlane-body`),z.select(`path:nth-child(2)`).attr(`style`,S.join(`;`)),z.select(`path`).attr(`style`,C.join(`;`).replace(`fill`,`stroke`))}else z=w.insert(`rect`,`:first-child`),B=w.insert(`rect`,`:first-child`),z.attr(`class`,`swimlane-title`).attr(`style`,x).attr(`x`,o).attr(`y`,N).attr(`width`,j).attr(`height`,t).attr(`fill`,g).attr(`stroke`,y),B.attr(`class`,`swimlane-body`).attr(`style`,x).attr(`x`,o).attr(`y`,r).attr(`width`,j).attr(`height`,a).attr(`fill`,`none`).attr(`stroke`,y);let s=n.x-k.width/2,c=N+(t-k.height)/2;D.attr(`transform`,`translate(${s}, ${c})`)}if(f.trace(`Swimlane data `,n,JSON.stringify(n)),b){let e=D.select(`span`);e&&e.attr(`style`,b)}return n.offsetX=0,n.width=j,n.height=M,n.offsetY=k.height-A/2,n.intersect=function(e){return t(n,e)},{cluster:w,labelBBox:k}},`swimlane`),_=m(async(o,u)=>{f.info(`Creating subgraph rect for `,u.id,u);let m=l(),{theme:g,themeVariables:_,handDrawnSeed:v}=m,{clusterBkg:y,clusterBorder:b,borderColorArray:x}=_,{labelStyles:S,nodeStyles:C,borderStyles:w,backgroundStyles:T}=a(u),E=o.insert(`g`).attr(`class`,`cluster `+u.cssClasses).attr(`id`,u.domId).attr(`data-look`,u.look);c(E,u.colorIndex,g,x);let D=d(m),O=E.insert(`g`).attr(`class`,`cluster-label `),k;k=u.labelType===`markdown`?await s(O,u.label,{style:u.labelStyle,useHtmlLabels:D,isNode:!0,width:u.width}):await r(O,u.label,u.labelStyle||``,!1,!0);let A=k.getBBox();if(d(m)){let e=k.children[0],t=p(k);A=e.getBoundingClientRect(),t.attr(`width`,A.width),t.attr(`height`,A.height)}let j=u.width<=A.width+u.padding?A.width+u.padding:u.width;u.diff=u.width<=A.width+u.padding?(j-u.width)/2-u.padding:-u.padding;let M=u.height,N=u.x-j/2,P=u.y-M/2;f.trace(`Data `,u,JSON.stringify(u));let F;if(u.look===`handDrawn`){let e=h.svg(E),t=i(u,{roughness:.7,fill:y,stroke:b,fillWeight:3,seed:v}),r=e.path(n(N,P,j,M,0),t);F=E.insert(()=>(f.debug(`Rough node insert CXC`,r),r),`:first-child`),F.select(`path:nth-child(2)`).attr(`style`,w.join(`;`)),F.select(`path`).attr(`style`,T.join(`;`).replace(`fill`,`stroke`))}else F=E.insert(`rect`,`:first-child`),F.attr(`style`,C).attr(`rx`,u.rx).attr(`ry`,u.ry).attr(`x`,N).attr(`y`,P).attr(`width`,j).attr(`height`,M);let{subGraphTitleTopMargin:I}=e(m);if(O.attr(`transform`,`translate(${u.x-A.width/2}, ${u.y-u.height/2+I})`),S){let e=O.select(`span`);e&&e.attr(`style`,S)}let L=F.node().getBBox();return u.offsetX=0,u.width=L.width,u.height=L.height,u.offsetY=A.height-u.padding/2,u.intersect=function(e){return t(u,e)},{cluster:E,labelBBox:A}},`rect`),v=m((e,n)=>{let r=e.insert(`g`).attr(`class`,`note-cluster`).attr(`id`,n.domId),i=r.insert(`rect`,`:first-child`),a=0*n.padding,o=a/2;i.attr(`rx`,n.rx).attr(`ry`,n.ry).attr(`x`,n.x-n.width/2-o).attr(`y`,n.y-n.height/2-o).attr(`width`,n.width+a).attr(`height`,n.height+a).attr(`fill`,`none`);let s=i.node().getBBox();return n.width=s.width,n.height=s.height,n.intersect=function(e){return t(n,e)},{cluster:r,labelBBox:{width:0,height:0}}},`noteGroup`),y=m(async(e,i)=>{let a=l(),{theme:o,themeVariables:s,handDrawnSeed:u}=a,{altBackground:f,borderColorArray:m,compositeBackground:g,compositeTitleBackground:_,nodeBorder:v}=s,y=e.insert(`g`).attr(`class`,i.cssClasses).attr(`id`,i.domId).attr(`data-id`,i.id).attr(`data-look`,i.look);c(y,i.colorIndex,o,m);let b=y.insert(`g`,`:first-child`),x=y.insert(`g`).attr(`class`,`cluster-label`),S=y.append(`rect`),C=await r(x,i.label,i.labelStyle,void 0,!0),w=C.getBBox();if(d(a)){let e=C.children[0],t=p(C);w=e.getBoundingClientRect(),t.attr(`width`,w.width),t.attr(`height`,w.height)}let T=0*i.padding,E=T/2,D=(i.width<=w.width+i.padding?w.width+i.padding:i.width)+T;i.diff=i.width<=w.width+i.padding?(D-i.width)/2-i.padding:-i.padding;let O=i.height+T,k=i.height+T-w.height-6,A=i.x-D/2,j=i.y-O/2;i.width=D;let M=i.y-i.height/2-E+w.height+2,N;if(i.look===`handDrawn`){let e=i.cssClasses.includes(`statediagram-cluster-alt`),t=h.svg(y),r=i.rx||i.ry?t.path(n(A,j,D,O,10),{roughness:.7,fill:_,fillStyle:`solid`,stroke:v,seed:u}):t.rectangle(A,j,D,O,{seed:u});N=y.insert(()=>r,`:first-child`);let a=t.rectangle(A,M,D,k,{fill:e?f:g,fillStyle:e?`hachure`:`solid`,stroke:v,seed:u});N=y.insert(()=>r,`:first-child`),S=y.insert(()=>a),N.attr(`class`,`outer`),S.attr(`class`,`inner`)}else N=b.insert(`rect`,`:first-child`),N.attr(`class`,`outer`).attr(`x`,A).attr(`y`,j).attr(`width`,D).attr(`height`,O).attr(`data-look`,i.look),S.attr(`class`,`inner`).attr(`x`,A).attr(`y`,M).attr(`width`,D).attr(`height`,k);return x.attr(`transform`,`translate(${i.x-w.width/2}, ${j+1-(d(a)?0:3)})`),i.height=N.node().getBBox().height,i.offsetX=0,i.offsetY=w.height-i.padding/2,i.labelBBox=w,i.intersect=function(e){return t(i,e)},{cluster:y,labelBBox:w}},`roundedWithTitle`),b=m(async(r,o)=>{f.info(`Creating subgraph rect for `,o.id,o);let c=l(),{themeVariables:u,handDrawnSeed:m}=c,{clusterBkg:g,clusterBorder:_}=u,{labelStyles:v,nodeStyles:y,borderStyles:b,backgroundStyles:x}=a(o),S=r.insert(`g`).attr(`class`,`cluster `+o.cssClasses).attr(`id`,o.domId).attr(`data-look`,o.look),C=d(c),w=S.insert(`g`).attr(`class`,`cluster-label `),T=await s(w,o.label,{style:o.labelStyle,useHtmlLabels:C,isNode:!0,width:o.width}),E=T.getBBox();if(d(c)){let e=T.children[0],t=p(T);E=e.getBoundingClientRect(),t.attr(`width`,E.width),t.attr(`height`,E.height)}let D=o.width<=E.width+o.padding?E.width+o.padding:o.width;o.diff=o.width<=E.width+o.padding?(D-o.width)/2-o.padding:-o.padding;let O=o.height,k=o.x-D/2,A=o.y-O/2;f.trace(`Data `,o,JSON.stringify(o));let j;if(o.look===`handDrawn`){let e=h.svg(S),t=i(o,{roughness:.7,fill:g,stroke:_,fillWeight:4,seed:m}),r=e.path(n(k,A,D,O,o.rx),t);j=S.insert(()=>(f.debug(`Rough node insert CXC`,r),r),`:first-child`),j.select(`path:nth-child(2)`).attr(`style`,b.join(`;`)),j.select(`path`).attr(`style`,x.join(`;`).replace(`fill`,`stroke`))}else j=S.insert(`rect`,`:first-child`),j.attr(`style`,y).attr(`rx`,o.rx).attr(`ry`,o.ry).attr(`x`,k).attr(`y`,A).attr(`width`,D).attr(`height`,O);let{subGraphTitleTopMargin:M}=e(c);if(w.attr(`transform`,`translate(${o.x-E.width/2}, ${o.y-o.height/2+M})`),v){let e=w.select(`span`);e&&e.attr(`style`,v)}let N=j.node().getBBox();return o.offsetX=0,o.width=N.width,o.height=N.height,o.offsetY=E.height-o.padding/2,o.intersect=function(e){return t(o,e)},{cluster:S,labelBBox:E}},`kanbanSection`),x=m((e,n)=>{let{theme:r,themeVariables:i,handDrawnSeed:a}=l(),{altBackground:o,nodeBorder:s,borderColorArray:u}=i,d=e.insert(`g`).attr(`class`,n.cssClasses).attr(`id`,n.domId).attr(`data-look`,n.look);c(d,n.colorIndex,r,u);let f=d.insert(`g`,`:first-child`),p=0*n.padding,m=n.width+p;n.diff=-n.padding;let g=n.height+p,_=n.x-m/2,v=n.y-g/2;n.width=m;let y;if(n.look===`handDrawn`){let e=h.svg(d).rectangle(_,v,m,g,{fill:o??`#efefef`,fillStyle:`solid`,roughness:.5,strokeLineDash:[5],stroke:s,seed:a});y=d.insert(()=>e,`:first-child`).attr(`class`,`divider`)}else{y=f.insert(`rect`,`:first-child`);let e=`outer`;e=(n.look,`divider`),y.attr(`class`,e).attr(`x`,_).attr(`y`,v).attr(`width`,m).attr(`height`,g).attr(`data-look`,n.look)}return n.height=y.node().getBBox().height,n.offsetX=0,n.offsetY=0,n.intersect=function(e){return t(n,e)},{cluster:d,labelBBox:{}}},`divider`),S=m(async(o,u,m)=>{f.info(`Creating ${m.cssClass} for `,u.id,u);let g=l(),{theme:_,themeVariables:v,handDrawnSeed:y}=g,{borderColorArray:b}=v,{labelStyles:x,borderStyles:S}=a(u),C=o.insert(`g`).attr(`class`,`cluster `+m.cssClass+` `+u.cssClasses).attr(`id`,u.domId??u.id).attr(`data-look`,u.look);c(C,u.colorIndex,_,b);let w=d(g),T=C.insert(`g`).attr(`class`,`cluster-label`),E={width:0,height:0},D=u.label?.trim();if(D){let e;if(e=u.labelType===`markdown`?await s(T,u.label,{style:u.labelStyle,useHtmlLabels:w,isNode:!0,width:u.width}):await r(T,u.label,u.labelStyle||``,!1,!0),E=e.getBBox(),w){let t=e.children[0],n=p(e);E=t.getBoundingClientRect(),n.attr(`width`,E.width),n.attr(`height`,E.height)}}let O=u.width<=E.width+u.padding?E.width+u.padding:u.width;u.diff=u.width<=E.width+u.padding?(O-u.width)/2-u.padding:-u.padding;let k=u.height,A=u.x-O/2,j=u.y-k/2,M;if(u.look===`handDrawn`){let e=h.svg(C),t=i(u,{roughness:m.roughness,fill:m.fill,stroke:m.stroke,strokeWidth:m.strokeWidth,seed:y,...m.fill===`none`?{fillWeight:0}:{fillStyle:`solid`},...m.strokeDash?{strokeLineDash:m.strokeDash}:{}}),r=e.path(n(A,j,O,k,m.rx),t);M=C.insert(()=>r,`:first-child`),M.select(`path:nth-child(2)`).attr(`style`,S.join(`;`))}else M=C.insert(`rect`,`:first-child`),M.attr(`rx`,m.rx).attr(`ry`,m.rx).attr(`x`,A).attr(`y`,j).attr(`width`,O).attr(`height`,k).attr(`fill`,m.fill).attr(`stroke`,m.stroke).attr(`stroke-width`,m.strokeWidth+`px`),m.strokeDash&&M.attr(`stroke-dasharray`,m.strokeDash.join(`, `));if(D){let{subGraphTitleTopMargin:t}=e(g);if(T.attr(`transform`,`translate(${u.x-E.width/2}, ${u.y-u.height/2+t})`),x){let e=T.select(`span`);e&&e.attr(`style`,x)}}let N=M.node().getBBox();return u.offsetX=0,u.width=N.width,u.height=N.height,u.offsetY=E.height-u.padding/2,u.intersect=function(e){return t(u,e)},{cluster:C,labelBBox:E}},`createContainerGroup`),C=m(async(e,t)=>{let{themeVariables:n}=l();return S(e,t,{cssClass:`flow-cluster`,rx:10,fill:`none`,stroke:n.flowContainerStroke||n.secondaryBorderColor,strokeWidth:.75,roughness:.7})},`flowGroup`),w=m((e,t)=>{let n=e.boundaryType||`rect`,r=n===`package`?20:e.padding,i=n===`package`?t.height+10:0,a=Math.max(e.width,t.width+r),o=n===`package`?Math.max(e.height,i+e.padding*2):e.height,s=e.x-a/2,c=e.y-o/2;return{boundaryType:n,width:a,height:o,x:s,y:c,bodyY:c+i,bodyHeight:o-i,tabHeight:i,tabWidth:n===`package`?Math.min(a,Math.max(80,t.width+20)):0}},`getUsecaseSystemBoundaryGeometry`),T={rect:_,squareRect:_,roundedWithTitle:y,noteGroup:v,divider:x,kanbanSection:b,flowGroup:C,usecaseSystemBoundary:m(async(n,r)=>{f.info(`Creating usecase system boundary for `,r.id,r);let u=l(),{theme:m,themeVariables:g,handDrawnSeed:_}=u,{clusterBkg:v,clusterBorder:y,borderColorArray:b}=g,{labelStyles:x,nodeStyles:S}=a(r),{stylesMap:C}=o(r),T=r.boundaryType||`rect`,E=n.insert(`g`).attr(`class`,`cluster usecase-system-boundary usecase-system-boundary-${T} ${r.cssClasses}`).attr(`id`,typeof r.domId==`string`?r.domId:r.id).attr(`data-boundary-type`,T).attr(`data-look`,r.look);c(E,r.colorIndex,m,b);let D=d(u),O=E.insert(`g`).attr(`class`,`cluster-label system-boundary-title`),k=await s(O,r.label,{style:x,useHtmlLabels:D,isNode:!0}),A=k.getBBox();if(D){let e=k.children[0],t=p(k);A=e.getBoundingClientRect(),t.attr(`width`,A.width),t.attr(`height`,A.height)}let{width:j,height:M,x:N,y:P,bodyY:F,bodyHeight:I,tabHeight:L,tabWidth:R}=w(r,A);r.diff=r.width<=A.width+r.padding?(j-r.width)/2-r.padding:-r.padding;let z=i(r,{fill:C.get(`fill`)||v,stroke:C.get(`stroke`)||y,strokeWidth:C.get(`stroke-width`)?.replace(`px`,``)||1,seed:_});if(r.look===`handDrawn`){let e=h.svg(E),t=e.rectangle(N,F,j,I,z);if(E.insert(()=>t,`:first-child`).attr(`class`,`boundary-body label-container`),T===`package`){let t=e.rectangle(N,P,R,L,z);E.insert(()=>t,`:first-child`).attr(`class`,`boundary-tab system-boundary-package-tab label-container`)}}else E.insert(`rect`,`:first-child`).attr(`class`,`boundary-body label-container`).attr(`style`,S).attr(`x`,N).attr(`y`,F).attr(`width`,j).attr(`height`,I),T===`package`&&E.insert(`rect`,`:first-child`).attr(`class`,`boundary-tab system-boundary-package-tab label-container`).attr(`style`,S).attr(`x`,N).attr(`y`,P).attr(`width`,R).attr(`height`,L);let{subGraphTitleTopMargin:B}=e(u);return T===`package`?O.attr(`transform`,`translate(${N+(R-A.width)/2}, ${P+(L-A.height)/2})`):O.attr(`transform`,`translate(${r.x-A.width/2}, ${P+B})`),x&&(O.attr(`style`,x),O.select(`span`).attr(`style`,x)),r.offsetX=0,r.width=j,r.height=M,r.offsetY=A.height-r.padding/2,r.labelBBox=A,r.intersect=function(e){return t(r,e)},{cluster:E,labelBBox:A}},`usecaseSystemBoundary`),swimlane:g},E=new Set([`noteGroup`,`divider`]),D=m(e=>!E.has(e??`rect`),`clusterPaintsTitle`),O=new Map,k=m(async(e,t)=>{let n=await T[t.shape||`rect`](e,t);return O.set(t.id,n),n},`insertCluster`),A=m(()=>{O=new Map},`clear`);export{D as n,k as r,A as t};
@@ -0,0 +1 @@
1
+ import{n as e}from"./chunk-Y2CYZVJY-DsF7k-Jl.js";var t=new Set([`redux-color`,`redux-dark-color`]),n=12,r=64,i=e(e=>Array.isArray(e)&&e.length>0,`hasPalette`),a=e((e,n)=>e!=null&&t.has(e)&&i(n),`isColorTheme`),o=/^[\w-]+$/,s=e(e=>{let t=typeof e==`string`||typeof e==`number`?String(e):``;return o.test(t)?t:`classic`},`safeLook`),c=e(e=>i(e)?e.length:0,`paletteSlotCount`),l=e((e,t)=>i(t)?c(t):typeof e==`number`&&Number.isInteger(e)&&e>0&&e<=r?e:n,`colorSlotCount`),u=e((e,t,n,r)=>{if(t===void 0||!a(n,r))return;let i=t%c(r);e.attr(`data-color-id`,`color-${i}`)},`stampColorSlot`);export{c as a,a as i,l as n,s as o,i as r,u as s,t};