@coopcli/specplan 5.5.6 → 2026.817.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 (186) hide show
  1. package/dist/cli/index.js +2205 -370
  2. package/dist/client/assets/Assistant-Bold-gm-uSS1B.woff2 +0 -0
  3. package/dist/client/assets/Assistant-Medium-DrcxCXg3.woff2 +0 -0
  4. package/dist/client/assets/Assistant-Regular-DVxZuzxb.woff2 +0 -0
  5. package/dist/client/assets/Assistant-SemiBold-SCI4bEL9.woff2 +0 -0
  6. package/dist/client/assets/abnfDiagram-VRR7QNED-BYxvjjLu.js +1 -0
  7. package/dist/client/assets/ar-SA-G6X2FPQ2-gmQ0sqUV.js +10 -0
  8. package/dist/client/assets/arc-DqK6O3qL.js +1 -0
  9. package/dist/client/assets/architecture-TIHT7OUA-Cz2n_8dt.js +1 -0
  10. package/dist/client/assets/architectureDiagram-ZJ3FMSHR-DaKJ9vFA.js +36 -0
  11. package/dist/client/assets/array-BifhSqXX.js +1 -0
  12. package/dist/client/assets/az-AZ-76LH7QW2-BanmmzZl.js +1 -0
  13. package/dist/client/assets/bg-BG-XCXSNQG7-CNoHpulr.js +5 -0
  14. package/dist/client/assets/blockDiagram-677ZJIJ3-xETyUDB6.js +132 -0
  15. package/dist/client/assets/bn-BD-2XOGV67Q-ClxPGgJn.js +5 -0
  16. package/dist/client/assets/c4Diagram-LMCZKHZV-CJGUNAXt.js +10 -0
  17. package/dist/client/assets/ca-ES-6MX7JW3Y-Ce-mC8Le.js +8 -0
  18. package/dist/client/assets/channel-CuBMvOiT.js +1 -0
  19. package/dist/client/assets/chunk-2Q5K7J3B-C1jixKkw.js +1 -0
  20. package/dist/client/assets/chunk-32BRIVSS-6Rh4CCUQ.js +1 -0
  21. package/dist/client/assets/chunk-52WLFC77-A0SkaTYM.js +10 -0
  22. package/dist/client/assets/chunk-5VM5RSS4-ZNzvKenW.js +15 -0
  23. package/dist/client/assets/chunk-6U3AYISY-C6-Mtja1.js +12 -0
  24. package/dist/client/assets/chunk-7BUUIJ7U-Bb538aSH.js +1 -0
  25. package/dist/client/assets/chunk-C7G6YPKG-BMphmVWl.js +1 -0
  26. package/dist/client/assets/chunk-EIO257PC-BiAg7S3S.js +22 -0
  27. package/dist/client/assets/chunk-EX3LRPZG-xUcXnDRE.js +231 -0
  28. package/dist/client/assets/chunk-FWX5IMBZ-C_mfbGNa.js +2 -0
  29. package/dist/client/assets/chunk-HOUHSVGY-yNNNImSs.js +1 -0
  30. package/dist/client/assets/chunk-ICXQ74PX-CyZZ3kFK.js +2 -0
  31. package/dist/client/assets/chunk-JWPE2WC7-DVXcaiue.js +1 -0
  32. package/dist/client/assets/chunk-K2UTITRG-CL9ravuf.js +35 -0
  33. package/dist/client/assets/chunk-KEIR6QF5-BfrZ3jm6.js +161 -0
  34. package/dist/client/assets/chunk-MOJQB5TN-Bio7zOcN.js +88 -0
  35. package/dist/client/assets/chunk-OGEWGWER-vwCurcM9.js +1 -0
  36. package/dist/client/assets/chunk-PUDLZKDR-BWhPp8B4.js +156 -0
  37. package/dist/client/assets/chunk-Q4XR5HBZ-CvZ-Pz5B.js +70 -0
  38. package/dist/client/assets/chunk-RYQCIY6F-CtK1BTrZ.js +1 -0
  39. package/dist/client/assets/chunk-SRAX5OIU-Bpn6XoyU.js +1 -0
  40. package/dist/client/assets/chunk-V7JOEXUC-BP5dRCwG.js +206 -0
  41. package/dist/client/assets/chunk-VAUOI2AC-D7taetBr.js +1 -0
  42. package/dist/client/assets/chunk-VR4S4FIN-Q-TN3CuI.js +1 -0
  43. package/dist/client/assets/chunk-WYO6CB5R-qHfws5Na.js +127 -0
  44. package/dist/client/assets/chunk-XXDRQBXY-BSmtn7NR.js +1 -0
  45. package/dist/client/assets/chunk-Y2CYZVJY-DsF7k-Jl.js +1 -0
  46. package/dist/client/assets/chunk-Z3N5DIM6-D9TMVU7m.js +1 -0
  47. package/dist/client/assets/chunk-ZGVPDNZ5-CHDpAKTq.js +62 -0
  48. package/dist/client/assets/chunk-ZIRB5QZD-C6fEPe3t.js +32 -0
  49. package/dist/client/assets/chunk-ZUYEQ4TG-BzFOpW--.js +7 -0
  50. package/dist/client/assets/classDiagram-OUVF2IWQ-B8_i7rCq.js +1 -0
  51. package/dist/client/assets/classDiagram-v2-EOCWNBFH-B8_i7rCq.js +1 -0
  52. package/dist/client/assets/cose-bilkent-JH36ORCC-dsywqjX4.js +1 -0
  53. package/dist/client/assets/cs-CZ-2BRQDIVT-C5IttjGJ.js +11 -0
  54. package/dist/client/assets/cynefin-VYW2F7L2-CeEsCHXm.js +1 -0
  55. package/dist/client/assets/cynefinDiagram-TSTJHNR4-DXw0GuLE.js +62 -0
  56. package/dist/client/assets/cytoscape.esm-B3I8pqwA.js +321 -0
  57. package/dist/client/assets/da-DK-5WZEPLOC-CK6a5-PJ.js +5 -0
  58. package/dist/client/assets/dagre-CXRCoUWR.js +1 -0
  59. package/dist/client/assets/dagre-VKFMJZFB-D7iVblaF.js +4 -0
  60. package/dist/client/assets/de-DE-XR44H4JA-Dj9_g0KR.js +8 -0
  61. package/dist/client/assets/defaultLocale-C8Fc0cco.js +1 -0
  62. package/dist/client/assets/diagram-FQU43EPY-D8k_N9yq.js +3 -0
  63. package/dist/client/assets/diagram-G47NLZAW-CH7ECldl.js +24 -0
  64. package/dist/client/assets/diagram-NH7WQ7WH-eJ3LFOko.js +24 -0
  65. package/dist/client/assets/diagram-OA4YK3LP-BcBLwxof.js +30 -0
  66. package/dist/client/assets/diagram-WEI45ONY-g4Ydc6Nh.js +41 -0
  67. package/dist/client/assets/directory-open-01563666-D4xXyWb_.js +1 -0
  68. package/dist/client/assets/directory-open-4ed118d0-1i309Asm.js +1 -0
  69. package/dist/client/assets/dist-D2xnLDqk.js +29 -0
  70. package/dist/client/assets/dist-qx0Iv9vM.js +1 -0
  71. package/dist/client/assets/ebnfDiagram-CCIWWBDH-nijnOCKy.js +1 -0
  72. package/dist/client/assets/el-GR-BZB4AONW-BQgL2fhh.js +10 -0
  73. package/dist/client/assets/en-B4ZKOASM-Boax1qIS.js +1 -0
  74. package/dist/client/assets/erDiagram-Q63AITRT-Dj7bPJ8h.js +85 -0
  75. package/dist/client/assets/es-ES-U4NZUMDT-u-AjVvml.js +9 -0
  76. package/dist/client/assets/eu-ES-A7QVB2H4-DQvZM2Ew.js +11 -0
  77. package/dist/client/assets/eventmodeling-45OFAUF4-D-h9umx1.js +1 -0
  78. package/dist/client/assets/fa-IR-HGAKTJCU-CIyJhh-1.js +8 -0
  79. package/dist/client/assets/fi-FI-Z5N7JZ37-DuJtcsOn.js +6 -0
  80. package/dist/client/assets/file-open-002ab408-BHUWm0Sh.js +1 -0
  81. package/dist/client/assets/file-open-7c801643-DZtJT5zp.js +1 -0
  82. package/dist/client/assets/file-save-3189631c-CO9S4HFW.js +1 -0
  83. package/dist/client/assets/file-save-745eba88-Bwdfz6OZ.js +1 -0
  84. package/dist/client/assets/flowDiagram-23GEKE2U-C4Gtyi00.js +1 -0
  85. package/dist/client/assets/fr-FR-RHASNOE6-C8c05zVc.js +9 -0
  86. package/dist/client/assets/ganttDiagram-NO4QXBWP-BKwUgAKS.js +292 -0
  87. package/dist/client/assets/gitGraph-TEB2WS4Q-C3nx5-er.js +1 -0
  88. package/dist/client/assets/gitGraphDiagram-IHSO6WYX-xX_vEW-n.js +106 -0
  89. package/dist/client/assets/gl-ES-HMX3MZ6V-BCLvpf87.js +10 -0
  90. package/dist/client/assets/graphlib-B8gBHxth.js +1 -0
  91. package/dist/client/assets/he-IL-6SHJWFNN-C7LtfbKa.js +10 -0
  92. package/dist/client/assets/hi-IN-IWLTKZ5I-BMHouFZC.js +4 -0
  93. package/dist/client/assets/hu-HU-A5ZG7DT2-8WL43IqI.js +7 -0
  94. package/dist/client/assets/id-ID-SAP4L64H-CVHsWB3W.js +10 -0
  95. package/dist/client/assets/image-GAAHSSAO-BS5tZem_.js +1 -0
  96. package/dist/client/assets/image-blob-reduce.esm-DLFdRAwc.js +2 -0
  97. package/dist/client/assets/index-Cc2C1ER1.css +1 -0
  98. package/dist/client/assets/index-CcRUbBLK.js +92 -0
  99. package/dist/client/assets/info-DKCQHKI2-DtWLyMEA.js +1 -0
  100. package/dist/client/assets/infoDiagram-FWYZ7A6U-uJrkO1jE.js +2 -0
  101. package/dist/client/assets/init-D6jRqBbL.js +1 -0
  102. package/dist/client/assets/ishikawaDiagram-FXEZZL3T-grtc_5Gw.js +70 -0
  103. package/dist/client/assets/it-IT-JPQ66NNP-CGWJ-ggt.js +11 -0
  104. package/dist/client/assets/ja-JP-DBVTYXUO-BQ52sVjV.js +8 -0
  105. package/dist/client/assets/journeyDiagram-5HDEW3XC-D5mpwyTK.js +139 -0
  106. package/dist/client/assets/kaa-6HZHGXH3-HogrI5l2.js +1 -0
  107. package/dist/client/assets/kab-KAB-ZGHBKWFO-qODJe40j.js +8 -0
  108. package/dist/client/assets/kanban-definition-HUTT4EX6-C8FJz-rK.js +89 -0
  109. package/dist/client/assets/katex-CddkPoXu.js +257 -0
  110. package/dist/client/assets/kk-KZ-P5N5QNE5-Dtb9_W_T.js +1 -0
  111. package/dist/client/assets/km-KH-HSX4SM5Z-mZRhpSZ2.js +11 -0
  112. package/dist/client/assets/ko-KR-MTYHY66A-DHnGxFiW.js +9 -0
  113. package/dist/client/assets/ku-TR-6OUDTVRD-DxzL3_hu.js +9 -0
  114. package/dist/client/assets/line-FNoxgdds.js +1 -0
  115. package/dist/client/assets/linear-CmlO4_aU.js +1 -0
  116. package/dist/client/assets/lt-LT-XHIRWOB4-RPdyV_7p.js +3 -0
  117. package/dist/client/assets/lv-LV-5QDEKY6T-CeoJE7c3.js +7 -0
  118. package/dist/client/assets/map-DsCK-0Cs.js +1 -0
  119. package/dist/client/assets/mermaid-parser.core-CWtD7LBQ.js +7 -0
  120. package/dist/client/assets/mindmap-definition-LN4V7U3C-c0zWDYkC.js +96 -0
  121. package/dist/client/assets/mr-IN-CRQNXWMA-DNY1aRAe.js +13 -0
  122. package/dist/client/assets/my-MM-5M5IBNSE-Q10JlVxz.js +1 -0
  123. package/dist/client/assets/nb-NO-T6EIAALU-Bd8wZusD.js +10 -0
  124. package/dist/client/assets/nl-NL-IS3SIHDZ-pq4rexDX.js +8 -0
  125. package/dist/client/assets/nn-NO-6E72VCQL-B6QB31N3.js +8 -0
  126. package/dist/client/assets/oc-FR-POXYY2M6-CpSHziel.js +8 -0
  127. package/dist/client/assets/ordinal-hYBb2elL.js +1 -0
  128. package/dist/client/assets/pa-IN-N4M65BXN-CQD1aMM3.js +4 -0
  129. package/dist/client/assets/packet-7NZHBO7P-CFjBM6rf.js +1 -0
  130. package/dist/client/assets/path-BWPyau1x.js +1 -0
  131. package/dist/client/assets/pegDiagram-2B236MQR-D5EdJTGE.js +1 -0
  132. package/dist/client/assets/percentages-BXMCSKIN-B6sdRC37.js +1 -0
  133. package/dist/client/assets/pica-D0pwGKw7.js +2 -0
  134. package/dist/client/assets/pie-RZYD4A2V-DzXcKfJc.js +1 -0
  135. package/dist/client/assets/pieDiagram-ENE6RG2P-CfJdJPbc.js +39 -0
  136. package/dist/client/assets/pl-PL-T2D74RX3-qhaGLRNJ.js +9 -0
  137. package/dist/client/assets/prod-DtRVLazd.css +1 -0
  138. package/dist/client/assets/prod-DxrTzQHE.js +149 -0
  139. package/dist/client/assets/pt-BR-5N22H2LF-C6PhCoZM.js +9 -0
  140. package/dist/client/assets/pt-PT-UZXXM6DQ-DtVpJ-mM.js +9 -0
  141. package/dist/client/assets/quadrantDiagram-ABIIQ3AL-BERLxAab.js +7 -0
  142. package/dist/client/assets/radar-I7S5WNFK-BTKCUdOD.js +1 -0
  143. package/dist/client/assets/railroad-3IZDKUUU-BqlJYKVR.js +1 -0
  144. package/dist/client/assets/railroad-abnf-AHOZXSZD-sY1lWP7G.js +1 -0
  145. package/dist/client/assets/railroad-ebnf-EBAXGLYW-D9qoZ2zn.js +1 -0
  146. package/dist/client/assets/railroad-peg-LSFZ7HO6-ChaYlBF0.js +1 -0
  147. package/dist/client/assets/railroadDiagram-RFXS5EU6-CjYvoaz7.js +1 -0
  148. package/dist/client/assets/requirementDiagram-TGXJPOKE-CBOHTTAP.js +84 -0
  149. package/dist/client/assets/ro-RO-JPDTUUEW-BPyoL-x7.js +11 -0
  150. package/dist/client/assets/rolldown-runtime-aKtaBQYM.js +1 -0
  151. package/dist/client/assets/rough.esm-CSKSodPl.js +1 -0
  152. package/dist/client/assets/roundRect-D01gJrlt.js +1 -0
  153. package/dist/client/assets/ru-RU-B4JR7IUQ-C2-Ortyw.js +9 -0
  154. package/dist/client/assets/sankeyDiagram-HTMAVEWB-BhhsYxus.js +40 -0
  155. package/dist/client/assets/sequenceDiagram-DBY2YBRQ-tBrxwb5x.js +162 -0
  156. package/dist/client/assets/si-LK-N5RQ5JYF-BQNg_jHA.js +1 -0
  157. package/dist/client/assets/sizeCapture-X5ZJPWSS-B0uUizjq.js +1 -0
  158. package/dist/client/assets/sk-SK-C5VTKIMK-DV-NI8B-.js +6 -0
  159. package/dist/client/assets/sl-SI-NN7IZMDC-DjSgCsh0.js +6 -0
  160. package/dist/client/assets/src-B56W74gN.js +1 -0
  161. package/dist/client/assets/stateDiagram-2N3HPSRC-CETKX_oh.js +1 -0
  162. package/dist/client/assets/stateDiagram-v2-6OUMAXLB-Q_oKpxae.js +1 -0
  163. package/dist/client/assets/subset-shared.chunk-CCxjxb7D.js +1 -0
  164. package/dist/client/assets/subset-worker.chunk-C7PizKXR.js +1 -0
  165. package/dist/client/assets/sv-SE-XGPEYMSR-ZW1ZTkc6.js +10 -0
  166. package/dist/client/assets/swimlanes-5IMT3BWC-Cp3oOe65.js +2 -0
  167. package/dist/client/assets/swimlanesDiagram-G3AALYLV-BlNqO3f1.js +8 -0
  168. package/dist/client/assets/ta-IN-2NMHFXQM-IdwMbxCh.js +9 -0
  169. package/dist/client/assets/th-TH-HPSO5L25-DBFIAUWk.js +2 -0
  170. package/dist/client/assets/timeline-definition-FHXFAJF6-D4yGmEXE.js +120 -0
  171. package/dist/client/assets/tr-TR-DEFEU3FU-kfju4l2S.js +7 -0
  172. package/dist/client/assets/treeView-QDETBFTQ-Bq0uOqri.js +1 -0
  173. package/dist/client/assets/treemap-6X3UGDF4-DEB6PYX-.js +1 -0
  174. package/dist/client/assets/uk-UA-QMV73CPH-CKYaJ9WU.js +6 -0
  175. package/dist/client/assets/vennDiagram-L72KCM5P-D5QdiCle.js +34 -0
  176. package/dist/client/assets/vi-VN-M7AON7JQ--RTGQlaN.js +5 -0
  177. package/dist/client/assets/wardley-OPB4EBWU-DySMTzU2.js +1 -0
  178. package/dist/client/assets/wardleyDiagram-EHGQE667-B2KHXQxE.js +78 -0
  179. package/dist/client/assets/xychartDiagram-FW5EYKEG-HxzAIqAC.js +7 -0
  180. package/dist/client/assets/zh-CN-LNUGB5OW-CtzyHHQM.js +10 -0
  181. package/dist/client/assets/zh-HK-E62DVLB3-By0weXcL.js +1 -0
  182. package/dist/client/assets/zh-TW-RAJ6MFWO-DzD8u9Zq.js +9 -0
  183. package/dist/client/index.html +3 -2
  184. package/package.json +80 -76
  185. package/dist/client/assets/index-CRmpUkRq.css +0 -1
  186. package/dist/client/assets/index-WZJ90U6D.js +0 -78
@@ -0,0 +1,6 @@
1
+ import"./chunk-SRAX5OIU-Bpn6XoyU.js";var e={paste:`Prilepi`,pasteAsPlaintext:`Prilepi kot navadno besedilo`,pasteCharts:`Prilepi grafikone`,selectAll:`Izberi vse`,multiSelect:`Dodaj element v izbor`,moveCanvas:`Premakni platno`,cut:`Izreži`,copy:`Kopiraj`,copyAsPng:`Kopiraj v odložišče kot PNG`,copyAsSvg:`Kopiraj v odložišče kot SVG`,copyText:`Kopiraj v odložišče kot besedilo`,copySource:`Kopiraj vir v odložišče`,convertToCode:`Pretvori v kodo`,bringForward:`Postavi naprej`,sendToBack:`Pomakni v ozadje`,bringToFront:`Pomakni v ospredje`,sendBackward:`Pošlji nazaj`,delete:`Izbriši`,copyStyles:`Kopiraj slog`,pasteStyles:`Prilepi slog`,stroke:`Poteza`,background:`Ozadje`,fill:`Polnilo`,strokeWidth:`Debelina poteze`,strokeStyle:`Slog poteze`,strokeStyle_solid:`Polna`,strokeStyle_dashed:`Črtkana`,strokeStyle_dotted:`Pikasta`,sloppiness:`Površnost`,opacity:`Prekrivnost`,textAlign:`Poravnava besedila`,edges:`Robovi`,sharp:`Ostri`,round:`Okrogli`,arrowheads:`Puščice`,arrowhead_none:`Brez`,arrowhead_arrow:`Puščica`,arrowhead_bar:`Palica`,arrowhead_circle:`Krog`,arrowhead_circle_outline:`Krog (oris)`,arrowhead_triangle:`Trikotnik`,arrowhead_triangle_outline:`Trikotnik (oris)`,arrowhead_diamond:`Diamant`,arrowhead_diamond_outline:`Diamant (oris)`,fontSize:`Velikost pisave`,fontFamily:`Družina pisave`,addWatermark:`Dodaj "Izdelano z Excalidraw"`,handDrawn:`Ročno narisano`,normal:`Običajno`,code:`Koda`,small:`Majhna`,medium:`Srednja`,large:`Velika`,veryLarge:`Zelo velika`,solid:`Polno`,hachure:`Šrafura`,zigzag:`Cikcak`,crossHatch:`Križno`,thin:`Tanko`,bold:`Krepko`,left:`Levo`,center:`Sredina`,right:`Desno`,extraBold:`Ekstra krepko`,architect:`Arhitekt`,artist:`Umetnik`,cartoonist:`Risar`,fileTitle:`Ime datoteke`,colorPicker:`Izbor barve`,canvasColors:`Uporabljeno na platnu`,canvasBackground:`Ozadje platna`,drawingCanvas:`Platno za risanje`,layers:`Plasti`,actions:`Dejanja`,language:`Jezik`,liveCollaboration:`Sodelovanje v živo...`,duplicateSelection:`Podvoji`,untitled:`Neimenovana`,name:`Ime`,yourName:`Vaše ime`,madeWithExcalidraw:`Izdelano z Excalidraw`,group:`Združi izbor`,ungroup:`Razdruži izbor`,collaborators:`Sodelavci`,showGrid:`Prikaži mrežo`,addToLibrary:`Dodaj v knjižnico`,removeFromLibrary:`Odstrani iz knjižnice`,libraryLoadingMessage:`Nalaganje knjižnice ...`,libraries:`Brskaj po knjižnicah`,loadingScene:`Nalaganje scene...`,align:`Poravnava`,alignTop:`Poravnaj na vrh`,alignBottom:`Poravnaj na dno`,alignLeft:`Poravnaj levo`,alignRight:`Poravnaj desno`,centerVertically:`Navpično na sredini`,centerHorizontally:`Vodoravno na sredini`,distributeHorizontally:`Porazdeli vodoravno`,distributeVertically:`Porazdeli navpično`,flipHorizontal:`Obrni vodoravno`,flipVertical:`Obrni navpično`,viewMode:`Način ogleda`,share:`Deli`,showStroke:`Prikaži izbirnik barv poteze`,showBackground:`Prikaži izbirnik barv ozadja`,toggleTheme:`Obrni temo`,personalLib:`Osebna knjižnica`,excalidrawLib:`Knjižnica Excalidraw`,decreaseFontSize:`Zmanjšaj velikost pisave`,increaseFontSize:`Povečaj velikost pisave`,unbindText:`Veži besedilo`,bindText:`Veži besedilo na element`,createContainerFromText:`Zavij besedilo v vsebnik`,link:{edit:`Uredi povezavo`,editEmbed:`Uredi povezavo in vdelaj`,create:`Ustvari povezavo`,createEmbed:`Ustvari povezavo in vdelaj`,label:`Povezava`,labelEmbed:`Povezava in vdelovanje`,empty:`Povezava ni nastavljena`},lineEditor:{edit:`Uredi črto`,exit:`Zapri urejanje črte`},elementLock:{lock:`Zakleni`,unlock:`Odkleni`,lockAll:`Zakleni vse`,unlockAll:`Odkleni vse`},statusPublished:`Objavljeno`,sidebarLock:`Obdrži stransko vrstico odprto`,selectAllElementsInFrame:`Izberi vse elemente v okvirju`,removeAllElementsFromFrame:`Izbriši vse elemente v okvirju`,eyeDropper:`Izberi barvo s platna`,textToDiagram:`Besedilo v diagram`,prompt:`Poziv`},t={noItems:`Dodan še ni noben element...`,hint_emptyLibrary:`Izberite element na platnu, da ga dodate sem, ali namestite knjižnico iz javnega skladišča spodaj.`,hint_emptyPrivateLibrary:`Izberite element na platnu, da ga dodate sem.`},n={clearReset:`Ponastavi platno`,exportJSON:`Izvozi v datoteko`,exportImage:`Izvozi sliko...`,export:`Shrani v...`,copyToClipboard:`Kopiraj v odložišče`,save:`Shrani v trenutno datoteko`,saveAs:`Shrani kot`,load:`Odpri`,getShareableLink:`Pridobi povezavo za deljenje`,close:`Zapri`,selectLanguage:`Izberi jezik`,scrollBackToContent:`Pomakni se nazaj na vsebino`,zoomIn:`Povečaj`,zoomOut:`Pomanjšaj`,resetZoom:`Ponastavi povečavo`,menu:`Meni`,done:`Končano`,edit:`Uredi`,undo:`Razveljavi`,redo:`Ponovi`,resetLibrary:`Ponastavi knjižnico`,createNewRoom:`Ustvari novo sobo`,fullScreen:`Celozaslonski način`,darkMode:`Temni način`,lightMode:`Svetli način`,zenMode:`Način Zen`,objectsSnapMode:`Pripenjanje na predmete`,exitZenMode:`Zapri način Zen`,cancel:`Prekliči`,clear:`Počisti`,remove:`Odstrani`,embed:`Preklopi vdelavo`,publishLibrary:`Objavi`,submit:`Pošlji`,confirm:`Potrdi`,embeddableInteractionButton:`Kliknite za interakcijo`},r={clearReset:`To bo počistilo celotno platno. Ali ste prepričani?`,couldNotCreateShareableLink:`Povezave za deljenje ni bilo mogoče ustvariti.`,couldNotCreateShareableLinkTooBig:`Povezave za deljenje ni bilo mogoče ustvariti: scena je prevelika`,couldNotLoadInvalidFile:`Neveljavne datoteke ni bilo mogoče naložiti`,importBackendFailed:`Uvoz iz zaledja ni uspel.`,cannotExportEmptyCanvas:`Izvoz prazne scene ni mogoč.`,couldNotCopyToClipboard:`Kopiranje v odložišče ni uspelo.`,decryptFailed:`Dešifriranje podatkov ni uspelo.`,uploadedSecurly:`Nalaganje je bilo zaščiteno s šifriranjem od konca do konca, kar pomeni, da strežnik Excalidraw in tretje osebe ne morejo brati vsebine.`,loadSceneOverridePrompt:`Nalaganje zunanje risbe bo nadomestilo vašo obstoječo vsebino. Ali želite nadaljevati?`,collabStopOverridePrompt:`Ustavitev seje bo prepisala vašo prejšnjo, lokalno shranjeno risbo. Ali ste prepričani?
2
+
3
+ (Če želite obdržati lokalno risbo, preprosto zaprite zavihek brskalnika.)`,errorAddingToLibrary:`Elementa ni bilo mogoče dodati v knjižnico`,errorRemovingFromLibrary:`Elementa ni bilo mogoče izbrisati iz knjižnice`,confirmAddLibrary:`S tem boste v vašo knjižnico dodali oblike ({{numShapes}}). Ali ste prepričani?`,imageDoesNotContainScene:`Zdi se, da ta slika ne vsebuje podatkov o sceni. Ali ste med izvozom omogočili vdelavo scene?`,cannotRestoreFromImage:`Scene ni bilo mogoče obnoviti iz te slikovne datoteke`,invalidSceneUrl:`S priloženega URL-ja ni bilo mogoče uvoziti scene. Je napačno oblikovana ali pa ne vsebuje veljavnih podatkov Excalidraw JSON.`,resetLibrary:`To bo počistilo vašo knjižnico. Ali ste prepričani?`,removeItemsFromsLibrary:`Izbriši elemente ({{count}}) iz knjižnice?`,invalidEncryptionKey:`Ključ za šifriranje mora vsebovati 22 znakov. Sodelovanje v živo je onemogočeno.`,collabOfflineWarning:`Internetna povezava ni na voljo.
4
+ Vaše spremembe ne bodo shranjene!`},i={unsupportedFileType:`Nepodprt tip datoteke.`,imageInsertError:`Vstavljanje slike ni bilo uspešno. Poskusite ponovno kasneje...`,fileTooBig:`Datoteka je prevelika. Največja dovoljena velikost je {{maxSize}}.`,svgImageInsertError:`Vstavljanje slike SVG ni uspelo. Oznake SVG so videti neveljavne.`,failedToFetchImage:`Pridobivanje slike ni uspelo.`,invalidSVGString:`Neveljaven SVG.`,cannotResolveCollabServer:`Povezave s strežnikom za sodelovanje ni bilo mogoče vzpostaviti. Ponovno naložite stran in poskusite znova.`,importLibraryError:`Nalaganje knjižnice ni uspelo`,collabSaveFailed:`Ni bilo mogoče shraniti v zaledno bazo podatkov. Če se težave nadaljujejo, shranite datoteko lokalno, da ne boste izgubili svojega dela.`,collabSaveFailed_sizeExceeded:`Ni bilo mogoče shraniti v zaledno bazo podatkov, zdi se, da je platno preveliko. Datoteko shranite lokalno, da ne izgubite svojega dela.`,imageToolNotSupported:`Slike so onemogočene.`,brave_measure_text_error:{line1:`Videti je, da uporabljate brskalnik Brave z omogočeno nastavitvijo <bold>Agresivno blokiranje prstnih odtisov</bold>.`,line2:`To bi lahko povzročilo motnje v obnašanju <bold>besedilnih elementov</bold> v vaših risbah.`,line3:`Močno priporočamo, da onemogočite to nastavitev. Sledite <link>tem korakom</link>, kako to storiti.`,line4:`Če onemogočanje te nastavitve ne popravi prikaza besedilnih elementov, odprite <issueLink>vprašanje</issueLink> na našem GitHubu ali nam pišite na <discordLink>Discord</discordLink>`},libraryElementTypeError:{embeddable:`Vdelani elementi ne morejo biti dodani v knjižnico.`,iframe:`Elementov iFrame ni mogoče dodati v knjižnico.`,image:`Podpora za dodajanje slik v knjižnico prihaja kmalu!`},asyncPasteFailedOnRead:`Ni bilo mogoče prilepiti (ni bilo mogoče brati iz sistemskega odložišča).`,asyncPasteFailedOnParse:`Ni bilo mogoče prilepiti.`,copyToSystemClipboardFailed:`Ni bilo mogoče kopirati v odložišče.`},a={selection:`Izbor`,image:`Vstavi sliko`,rectangle:`Pravokotnik`,diamond:`Diamant`,ellipse:`Elipsa`,arrow:`Puščica`,line:`Črta`,freedraw:`Risanje`,text:`Besedilo`,library:`Knjižnica`,lock:`Ohrani izbrano orodje aktivno po risanju`,penMode:`Način peresa - prepreči dotik`,link:`Dodaj/posodobi povezavo za izbrano obliko`,eraser:`Radirka`,frame:`Okvir`,magicframe:`Žični okvir v kodo`,embeddable:`Spletna vdelava`,laser:`Laserski kazalec`,hand:`Roka (orodje za premikanje)`,extraTools:`Več orodij`,mermaidToExcalidraw:`Mermaid v Excalidraw`,magicSettings:`Nastavitve AI`},o={canvasActions:`Dejanja za platno`,selectedShapeActions:`Dejanja za izbrane oblike`,shapes:`Oblike`},s={canvasPanning:`Za premikanje platna med vlečenjem držite kolesce miške ali preslednico ali uporabite orodje roka`,linearElement:`Kliknite za začetek več točk, povlecite za posamezno črto`,freeDraw:`Kliknite in povlecite, spustite, ko končate`,text:`Namig: besedilo lahko dodate tudi z dvoklikom kjer koli z orodjem za izbiro`,embeddable:`Kliknite in povlecite, da ustvarite spletno vdelavo`,text_selected:`Dvokliknite ali pritisnite tipko Enter, da uredite besedilo`,text_editing:`Pritisnite tipko Escape ali CtrlOrCmd+Enter za zaključek urejanja`,linearElementMulti:`Kliknite zadnjo točko ali pritisnite Escape ali Enter, da končate`,lockAngle:`Kot lahko omejite tako, da držite tipko Shift`,resize:`Razmerja lahko omejite tako, da držite tipko Shift med spreminjanjem velikosti. Držite tipko Alt, da spremenite velikost od središča`,resizeImage:`Velikost lahko prosto spreminjate tako, da držite tipko Shift. Držite tipko Alt, da spremenite velikost od središča`,rotate:`Kote lahko omejite tako, da med vrtenjem držite tipko Shift`,lineEditor_info:`Držite CtrlOrCmd in dvokliknite ali pritisnite CtrlOrCmd + Enter za urejanje točk`,lineEditor_pointSelected:`Pritisnite tipko Delete, da odstranite točko(e), CtrlOrCmd+D za podvojitev ali povlecite za premikanje`,lineEditor_nothingSelected:`Izberite točko za urejanje (pridržite tipko Shift za izbiro več točk), ali držite tipko Alt in kliknite za dodajanje novih točk`,placeImage:`Kliknite, da postavite sliko, ali kliknite in povlecite, da ročno nastavite njeno velikost`,publishLibrary:`Objavi svojo knjižnico`,bindTextToElement:`Pritisnite tipko Enter za dodajanje besedila`,deepBoxSelect:`Držite tipko CtrlOrCmd za globoko izbiro in preprečitev vlečenja`,eraserRevert:`Pridržite tipko Alt, da razveljavite elemente, označene za brisanje`,firefox_clipboard_write:`To funkcijo lahko verjetno omogočite z nastavitvijo zastavice "dom.events.asyncClipboard.clipboardItem" na "true". Če želite spremeniti zastavice brskalnika v Firefoxu, obiščite stran "about:config".`,disableSnapping:`Držite CtrlOrCmd, da onemogočite pripenjanje`},c={cannotShowPreview:`Predogleda ni bilo mogoče prikazati`,canvasTooBig:`Morda je platno preveliko.`,canvasTooBigTip:`Nasvet: poskusite premakniti najbolj oddaljene elemente nekoliko bližje skupaj.`},l={headingMain:`Prišlo je do napake. Poskusite <button>ponovno naložiti stran.</button>`,clearCanvasMessage:`Če ponovno nalaganje ne deluje, poskusite <button>počistiti platno.</button>`,clearCanvasCaveat:` To bo povzročilo izgubo dela `,trackedToSentry:`Napaka z identifikatorjem {{eventId}} smo zabeležili v naš sistem.`,openIssueMessage:`Zelo smo bili previdni, da v podatke o napaki nismo vključili vaših podatkov o sceni. Če vaša scena ni zasebna, vas prosimo, da napišete več podrobnosti na našem <button>sledilniku hroščev.</button> Prosimo, vključite spodnje informacije tako, da jih kopirate in prilepite v GitHub vprašanje.`,sceneContent:`Vsebina scene:`},u={desc_intro:`Na vašo trenutno sceno lahko povabite osebe, ki bodo sodelovale z vami.`,desc_privacy:`Brez skrbi. Seja uporablja šifriranje od konca do konca, tako da bo vse, kar narišete, ostalo zasebno. Niti naš strežnik ne bo mogel videti, kaj si izmislite.`,button_startSession:`Začni sejo`,button_stopSession:`Ustavi sejo`,desc_inProgressIntro:`Seja sodelovanja v živo je v teku.`,desc_shareLink:`Delite to povezavo z vsemi, s katerimi želite sodelovati:`,desc_exitSession:`Ustavitev seje vas bo odklopila od sobe, vendar boste lahko lokalno nadaljevali delo s sceno. To pa ne bo vplivalo na druge osebe. Druge osebe bodo še vedno lahko sodelovale v svoji različici.`,shareTitle:`Pridruži se seji sodelovanja v živo na Excalidraw`},d={title:`Napaka`},f={disk_title:`Shrani na disk`,disk_details:`Izvozite podatke scene v datoteko, iz katere jo lahko pozneje uvozite.`,disk_button:`Shrani v datoteko`,link_title:`Povezava za deljenje`,link_details:`Izvoz kot povezava samo za branje.`,link_button:`Izvoz kot povezava`,excalidrawplus_description:`Shrani sceno v svoj delovni prostor Excalidraw+.`,excalidrawplus_button:`Izvoz`,excalidrawplus_exportError:`Trenutno ni bilo mogoče izvoziti v Excalidraw+...`},p={blog:`Preberite naš blog`,click:`klik`,deepSelect:`Globoka izbira`,deepBoxSelect:`Globoka izbira znotraj polja in preprečitev vlečenja`,curvedArrow:`Ukrivljena puščica`,curvedLine:`Ukrivljena črta`,documentation:`Dokumentacija`,doubleClick:`dvojni klik`,drag:`vleci`,editor:`Urejevalnik`,editLineArrowPoints:`Uredi črto/točke puščice`,editText:`Uredi besedilo / dodaj oznako`,github:`Ste našli težavo? Pošljite`,howto:`Sledite našim vodičem`,or:`ali`,preventBinding:`Prepreči vezanje puščice`,tools:`Orodja`,shortcuts:`Bližnjice na tipkovnici`,textFinish:`Zaključi urejanje (urejevalnik besedila)`,textNewLine:`Dodaj novo vrstico (urejevalnik besedila)`,title:`Pomoč`,view:`Pogled`,zoomToFit:`Približaj na vse elemente`,zoomToSelection:`Približaj na izbor`,toggleElementLock:`Zakleni/odkleni izbor`,movePageUpDown:`Premakni stran gor/dol`,movePageLeftRight:`Premakni stran levo/desno`},m={title:`Počisti platno`},h={title:`Objavi knjižnico`,itemName:`Ime elementa`,authorName:`Ime avtorja`,githubUsername:`GitHub uporabniško ime`,twitterUsername:`Twitter uporabniško ime`,libraryName:`Ime knjižnice`,libraryDesc:`Opis knijžnice`,website:`Spletna stran`,placeholder:{authorName:`Vaše ime ali uporabniško ime`,libraryName:`Ime vaše knjižnice`,libraryDesc:`Opis vaše knjižnice, da bodo ljudje lažje razumeli njeno uporabo`,githubHandle:`GitHub uporabniško ime (neobvezno), tako da lahko urejate knjižnico potem, ko jo pošljete v pregled`,twitterHandle:`Twitter uporabniško ime (neobvezno), tako da vemo, koga omeniti pri promociji prek Twitterja`,website:`Povezava na vašo osebno spletno stran ali drugam (neobvezno)`},errors:{required:`Obvezno`,website:`Vnesite veljaven URL`},noteDescription:`Predložite svojo knjižnico, da bo vključena v <link>javno skladišče knjižnic,</link>da jih drugi lahko uporabljajo v svojih risbah.`,noteGuidelines:`Knjižnica mora biti najprej ročno odobrena. Prosimo vas, da pred oddajanjem preberete naše <link>smernice.</link>Za komunikacijo in spreminjanje po potrebi boste potrebovali račun GitHub, vendar to ni obvezno.`,noteLicense:`Z oddajo se strinjate, da bo knjižnica objavljena pod <link>licenco MIT, </link>kar na kratko pomeni, da jo lahko kdorkoli uporablja brez omejitev.`,noteItems:`Vsak element knjižnice mora imeti svoje ime, tako da ga je mogoče filtrirati. Vključeni bodo naslednji elementi knjižnice:`,atleastOneLibItem:`Za začetek izberite vsaj en element knjižnice`,republishWarning:`Opomba: nekateri izbrani predmeti so označeni kot že objavljeni/oddani. Elemente lahko znova oddate samo, ko posodabljate obstoječo knjižnico ali oddajo.`},g={title:`Knjižnica oddana`,content:`{{authorName}}, hvala. Vaša knjižnica je bila poslana v pregled. Stanje lahko spremljate<link>tukaj</link>`},_={resetLibrary:`Ponastavi knjižnico`,removeItemsFromLib:`Odstran izbrane elemente iz knjižnice`},v={header:`Izvozi sliko`,label:{withBackground:`Ozadje`,onlySelected:`Samo izbor`,darkMode:`Temni način`,embedScene:`Vdelaj sceno`,scale:`Povečava`,padding:`Odmik`},tooltip:{embedScene:`Podatki o sceni bodo shranjeni v izvoženo datoteko PNG/SVG, tako da bo sceno mogoče obnoviti iz nje.
5
+ To bo povečalo velikost izvožene datoteke.`},title:{exportToPng:`Izvozi v PNG`,exportToSvg:`Izvozi v SVG`,copyPngToClipboard:`Kopiraj PNG v odložišče`},button:{exportToPng:`PNG`,exportToSvg:`SVG`,copyPngToClipboard:`Kopiraj v odložišče`}},y={tooltip:`Vaše risbe so šifrirane od konca do konca, tako da jih strežniki Excalidraw nikoli ne bodo videli.`,link:`Blog objava o šifriranju od konca do konca v Excalidraw`},b={angle:`Kot`,element:`Element`,elements:`Elementi`,height:`Višina`,scene:`Scena`,selected:`Izbrano`,storage:`Shramba`,title:`Statistika za napredne uporabnike`,total:`Skupaj`,version:`Različica`,versionCopy:`Kliknite za kopiranje`,versionNotAvailable:`Različica ni na voljo`,width:`Širina`},x={addedToLibrary:`Dodano v knjižnico`,copyStyles:`Slogi kopirani.`,copyToClipboard:`Kopirano v odložišče.`,copyToClipboardAsPng:`Kopirano v odložišče kot PNG ({{exportSelection}}, {{exportColorScheme}})`,fileSaved:`Datoteka shranjena.`,fileSavedToFilename:`Shranjeno v {filename}`,canvas:`platno`,selection:`izbor`,pasteAsSingleElement:`Uporabite {{shortcut}}, da prilepite kot en element,
6
+ ali prilepite v obstoječ urejevalnik besedil`,unableToEmbed:`Vdelava tega URL-ja trenutno ni dovoljena. Ustvarite vprašanje na GitHub-u in prosite za vmestitev URL-ja na seznam dovoljenih`,unrecognizedLinkFormat:`Povezava, ki ste jo vdelali, se ne ujema s pričakovano obliko. Poskusite prilepiti niz za vdelavo, ki ste ga prejeli na izvorni strani`},S={transparent:`Prosojno`,black:`Črna`,white:`Bela`,red:`Rdeča`,pink:`Roza`,grape:`Grozdje`,violet:`Vijolična`,gray:`Siva`,blue:`Modra`,cyan:`Cijan`,teal:`Turkizna`,green:`Zelena`,yellow:`Rumena`,orange:`Oranžna`,bronze:`Bronasta`},C={app:{center_heading:`Vsi vaši podatki so shranjeni lokalno v vašem brskalniku.`,center_heading_plus:`Ste namesto tega želeli odpreti Excalidraw+?`,menuHint:`Izvoz, nastavitve, jeziki, ...`},defaults:{menuHint:`Izvoz, nastavitve in več ...`,center_heading:`Diagrami. Enostavno.`,toolbarHint:`Izberi orodje in začni z risanjem!`,helpHint:`Bližnjice in pomoč`}},w={mostUsedCustomColors:`Najpogosteje uporabljene barve po meri`,colors:`Barve`,shades:`Odtenki`,hexCode:`Hex koda`,noShades:`Odtenki za to barvo niso na voljo`},T={action:{exportToImage:{title:`Izvozi kot sliko`,button:`Izvozi kot sliko`,description:`Izvozite podatke scene kot sliko, iz katere jo lahko pozneje uvozite.`},saveToDisk:{title:`Shrani na disk`,button:`Shrani na disk`,description:`Izvozite podatke scene v datoteko, iz katere jo lahko pozneje uvozite.`},excalidrawPlus:{title:`Excalidraw+`,button:`Izvozi v Excalidraw+`,description:`Shrani sceno v svoj delovni prostor Excalidraw+.`}},modal:{loadFromFile:{title:`Naloži iz datoteke`,button:`Naloži iz datoteke`,description:`Nalaganje iz datoteke bo <bold>prepisalo vašo obstoječo vsebino</bold>.<br></br>Svojo risbo lahko najprej varnostno kopirate z eno od spodnjih možnosti.`},shareableLink:{title:`Naloži iz povezave`,button:`Zamenjaj mojo vsebino`,description:`Nalaganje zunanje risbe bo <bold>prepisalo vašo obstoječo vsebino</bold>.<br></br>Svojo risbo lahko najprej varnostno kopirate z eno od spodnjih možnosti.`}}},E={title:`Mermaid v Excalidraw`,button:`Vstavi`,description:`Trenutno so podprti samo <flowchartLink>diagrami poteka</flowchartLink>, <sequenceLink>diagrami zaporedij</sequenceLink> in <classLink>Razredni diagrami</classLink>. Druge vrste bodo upodobljene kot slike v Excalidraw.`,syntax:`Sintaksa Mermaid`,preview:`Predogled`},D={labels:e,library:t,buttons:n,alerts:r,errors:i,toolBar:a,headings:o,hints:s,canvasError:c,errorSplash:l,roomDialog:u,errorDialog:d,exportDialog:f,helpDialog:p,clearCanvasDialog:m,publishDialog:h,publishSuccessDialog:g,confirmDialog:_,imageExportDialog:v,encrypted:y,stats:b,toast:x,colors:S,welcomeScreen:C,colorPicker:w,overwriteConfirm:T,mermaid:E};export{r as alerts,n as buttons,c as canvasError,m as clearCanvasDialog,w as colorPicker,S as colors,_ as confirmDialog,D as default,y as encrypted,d as errorDialog,l as errorSplash,i as errors,f as exportDialog,o as headings,p as helpDialog,s as hints,v as imageExportDialog,e as labels,t as library,E as mermaid,T as overwriteConfirm,h as publishDialog,g as publishSuccessDialog,u as roomDialog,b as stats,x as toast,a as toolBar,C as welcomeScreen};
@@ -0,0 +1 @@
1
+ import{i as e,t}from"./rolldown-runtime-aKtaBQYM.js";import"./index-CcRUbBLK.js";import{n}from"./chunk-Y2CYZVJY-DsF7k-Jl.js";var r=t(((e,t)=>{(function(n,r){typeof e==`object`&&t!==void 0?t.exports=r():typeof define==`function`&&define.amd?define(r):(n=typeof globalThis<`u`?globalThis:n||self).dayjs=r()})(e,(function(){var e=1e3,t=6e4,n=36e5,r=`millisecond`,i=`second`,a=`minute`,o=`hour`,s=`day`,c=`week`,l=`month`,u=`quarter`,d=`year`,f=`date`,p=`Invalid Date`,m=/^(\d{4})[-/]?(\d{1,2})?[-/]?(\d{0,2})[Tt\s]*(\d{1,2})?:?(\d{1,2})?:?(\d{1,2})?[.:]?(\d+)?$/,h=/\[([^\]]+)]|YYYY|YY|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g,g={name:`en`,weekdays:`Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday`.split(`_`),months:`January_February_March_April_May_June_July_August_September_October_November_December`.split(`_`),ordinal:function(e){var t=[`th`,`st`,`nd`,`rd`],n=e%100;return`[`+e+(t[(n-20)%10]||t[n]||t[0])+`]`}},_=function(e,t,n){var r=String(e);return!r||r.length>=t?e:``+Array(t+1-r.length).join(n)+e},v={s:_,z:function(e){var t=-e.utcOffset(),n=Math.abs(t),r=Math.floor(n/60),i=n%60;return(t<=0?`+`:`-`)+_(r,2,`0`)+`:`+_(i,2,`0`)},m:function e(t,n){if(t.date()<n.date())return-e(n,t);var r=12*(n.year()-t.year())+(n.month()-t.month()),i=t.clone().add(r,l),a=n-i<0,o=t.clone().add(r+(a?-1:1),l);return+(-(r+(n-i)/(a?i-o:o-i))||0)},a:function(e){return e<0?Math.ceil(e)||0:Math.floor(e)},p:function(e){return{M:l,y:d,w:c,d:s,D:f,h:o,m:a,s:i,ms:r,Q:u}[e]||String(e||``).toLowerCase().replace(/s$/,``)},u:function(e){return e===void 0}},y=`en`,b={};b[y]=g;var x=`$isDayjsObject`,S=function(e){return e instanceof E||!(!e||!e[x])},C=function e(t,n,r){var i;if(!t)return y;if(typeof t==`string`){var a=t.toLowerCase();b[a]&&(i=a),n&&(b[a]=n,i=a);var o=t.split(`-`);if(!i&&o.length>1)return e(o[0])}else{var s=t.name;b[s]=t,i=s}return!r&&i&&(y=i),i||!r&&y},w=function(e,t){if(S(e))return e.clone();var n=typeof t==`object`?t:{};return n.date=e,n.args=arguments,new E(n)},T=v;T.l=C,T.i=S,T.w=function(e,t){return w(e,{locale:t.$L,utc:t.$u,x:t.$x,$offset:t.$offset})};var E=function(){function g(e){this.$L=C(e.locale,null,!0),this.parse(e),this.$x=this.$x||e.x||{},this[x]=!0}var _=g.prototype;return _.parse=function(e){this.$d=function(e){var t=e.date,n=e.utc;if(t===null)return new Date(NaN);if(T.u(t))return new Date;if(t instanceof Date)return new Date(t);if(typeof t==`string`&&!/Z$/i.test(t)){var r=t.match(m);if(r){var i=r[2]-1||0,a=(r[7]||`0`).substring(0,3);return n?new Date(Date.UTC(r[1],i,r[3]||1,r[4]||0,r[5]||0,r[6]||0,a)):new Date(r[1],i,r[3]||1,r[4]||0,r[5]||0,r[6]||0,a)}}return new Date(t)}(e),this.init()},_.init=function(){var e=this.$d;this.$y=e.getFullYear(),this.$M=e.getMonth(),this.$D=e.getDate(),this.$W=e.getDay(),this.$H=e.getHours(),this.$m=e.getMinutes(),this.$s=e.getSeconds(),this.$ms=e.getMilliseconds()},_.$utils=function(){return T},_.isValid=function(){return this.$d.toString()!==p},_.isSame=function(e,t){var n=w(e);return this.startOf(t)<=n&&n<=this.endOf(t)},_.isAfter=function(e,t){return w(e)<this.startOf(t)},_.isBefore=function(e,t){return this.endOf(t)<w(e)},_.$g=function(e,t,n){return T.u(e)?this[t]:this.set(n,e)},_.unix=function(){return Math.floor(this.valueOf()/1e3)},_.valueOf=function(){return this.$d.getTime()},_.startOf=function(e,t){var n=this,r=!!T.u(t)||t,u=T.p(e),p=function(e,t){var i=T.w(n.$u?Date.UTC(n.$y,t,e):new Date(n.$y,t,e),n);return r?i:i.endOf(s)},m=function(e,t){return T.w(n.toDate()[e].apply(n.toDate(`s`),(r?[0,0,0,0]:[23,59,59,999]).slice(t)),n)},h=this.$W,g=this.$M,_=this.$D,v=`set`+(this.$u?`UTC`:``);switch(u){case d:return r?p(1,0):p(31,11);case l:return r?p(1,g):p(0,g+1);case c:var y=this.$locale().weekStart||0,b=(h<y?h+7:h)-y;return p(r?_-b:_+(6-b),g);case s:case f:return m(v+`Hours`,0);case o:return m(v+`Minutes`,1);case a:return m(v+`Seconds`,2);case i:return m(v+`Milliseconds`,3);default:return this.clone()}},_.endOf=function(e){return this.startOf(e,!1)},_.$set=function(e,t){var n,c=T.p(e),u=`set`+(this.$u?`UTC`:``),p=(n={},n[s]=u+`Date`,n[f]=u+`Date`,n[l]=u+`Month`,n[d]=u+`FullYear`,n[o]=u+`Hours`,n[a]=u+`Minutes`,n[i]=u+`Seconds`,n[r]=u+`Milliseconds`,n)[c],m=c===s?this.$D+(t-this.$W):t;if(c===l||c===d){var h=this.clone().set(f,1);h.$d[p](m),h.init(),this.$d=h.set(f,Math.min(this.$D,h.daysInMonth())).$d}else p&&this.$d[p](m);return this.init(),this},_.set=function(e,t){return this.clone().$set(e,t)},_.get=function(e){return this[T.p(e)]()},_.add=function(r,u){var f,p=this;r=Number(r);var m=T.p(u),h=function(e){var t=w(p);return T.w(t.date(t.date()+Math.round(e*r)),p)};if(m===l)return this.set(l,this.$M+r);if(m===d)return this.set(d,this.$y+r);if(m===s)return h(1);if(m===c)return h(7);var g=(f={},f[a]=t,f[o]=n,f[i]=e,f)[m]||1,_=this.$d.getTime()+r*g;return T.w(_,this)},_.subtract=function(e,t){return this.add(-1*e,t)},_.format=function(e){var t=this,n=this.$locale();if(!this.isValid())return n.invalidDate||p;var r=e||`YYYY-MM-DDTHH:mm:ssZ`,i=T.z(this),a=this.$H,o=this.$m,s=this.$M,c=n.weekdays,l=n.months,u=n.meridiem,d=function(e,n,i,a){return e&&(e[n]||e(t,r))||i[n].slice(0,a)},f=function(e){return T.s(a%12||12,e,`0`)},m=u||function(e,t,n){var r=e<12?`AM`:`PM`;return n?r.toLowerCase():r};return r.replace(h,(function(e,r){return r||function(e){switch(e){case`YY`:return String(t.$y).slice(-2);case`YYYY`:return T.s(t.$y,4,`0`);case`M`:return s+1;case`MM`:return T.s(s+1,2,`0`);case`MMM`:return d(n.monthsShort,s,l,3);case`MMMM`:return d(l,s);case`D`:return t.$D;case`DD`:return T.s(t.$D,2,`0`);case`d`:return String(t.$W);case`dd`:return d(n.weekdaysMin,t.$W,c,2);case`ddd`:return d(n.weekdaysShort,t.$W,c,3);case`dddd`:return c[t.$W];case`H`:return String(a);case`HH`:return T.s(a,2,`0`);case`h`:return f(1);case`hh`:return f(2);case`a`:return m(a,o,!0);case`A`:return m(a,o,!1);case`m`:return String(o);case`mm`:return T.s(o,2,`0`);case`s`:return String(t.$s);case`ss`:return T.s(t.$s,2,`0`);case`SSS`:return T.s(t.$ms,3,`0`);case`Z`:return i}return null}(e)||i.replace(`:`,``)}))},_.utcOffset=function(){return 15*-Math.round(this.$d.getTimezoneOffset()/15)},_.diff=function(r,f,p){var m,h=this,g=T.p(f),_=w(r),v=(_.utcOffset()-this.utcOffset())*t,y=this-_,b=function(){return T.m(h,_)};switch(g){case d:m=b()/12;break;case l:m=b();break;case u:m=b()/3;break;case c:m=(y-v)/6048e5;break;case s:m=(y-v)/864e5;break;case o:m=y/n;break;case a:m=y/t;break;case i:m=y/e;break;default:m=y}return p?m:T.a(m)},_.daysInMonth=function(){return this.endOf(l).$D},_.$locale=function(){return b[this.$L]},_.locale=function(e,t){if(!e)return this.$L;var n=this.clone(),r=C(e,t,!0);return r&&(n.$L=r),n},_.clone=function(){return T.w(this.$d,this)},_.toDate=function(){return new Date(this.valueOf())},_.toJSON=function(){return this.isValid()?this.toISOString():null},_.toISOString=function(){return this.$d.toISOString()},_.toString=function(){return this.$d.toUTCString()},g}(),D=E.prototype;return w.prototype=D,[[`$ms`,r],[`$s`,i],[`$m`,a],[`$H`,o],[`$W`,s],[`$M`,l],[`$y`,d],[`$D`,f]].forEach((function(e){D[e[1]]=function(t){return this.$g(t,e[0],e[1])}})),w.extend=function(e,t){return e.$i||=(e(t,E,w),!0),w},w.locale=C,w.isDayjs=S,w.unix=function(e){return w(1e3*e)},w.en=b[y],w.Ls=b,w.p={},w}))})),i=e(r(),1),a={trace:0,debug:1,info:2,warn:3,error:4,fatal:5},o={trace:n((...e)=>{},`trace`),debug:n((...e)=>{},`debug`),info:n((...e)=>{},`info`),warn:n((...e)=>{},`warn`),error:n((...e)=>{},`error`),fatal:n((...e)=>{},`fatal`)},s=n(function(e=`fatal`){let t=a.fatal;typeof e==`string`?e.toLowerCase()in a&&(t=a[e]):typeof e==`number`&&(t=e),o.trace=()=>{},o.debug=()=>{},o.info=()=>{},o.warn=()=>{},o.error=()=>{},o.fatal=()=>{},t<=a.fatal&&(o.fatal=console.error?console.error.bind(console,c(`FATAL`),`color: orange`):console.log.bind(console,`\x1B[35m`,c(`FATAL`))),t<=a.error&&(o.error=console.error?console.error.bind(console,c(`ERROR`),`color: orange`):console.log.bind(console,`\x1B[31m`,c(`ERROR`))),t<=a.warn&&(o.warn=console.warn?console.warn.bind(console,c(`WARN`),`color: orange`):console.log.bind(console,`\x1B[33m`,c(`WARN`))),t<=a.info&&(o.info=console.info?console.info.bind(console,c(`INFO`),`color: lightblue`):console.log.bind(console,`\x1B[34m`,c(`INFO`))),t<=a.debug&&(o.debug=console.debug?console.debug.bind(console,c(`DEBUG`),`color: lightgreen`):console.log.bind(console,`\x1B[32m`,c(`DEBUG`))),t<=a.trace&&(o.trace=console.debug?console.debug.bind(console,c(`TRACE`),`color: lightgreen`):console.log.bind(console,`\x1B[32m`,c(`TRACE`)))},`setLogLevel`),c=n(e=>`%c${(0,i.default)().format(`ss.SSS`)} : ${e} : `,`format`),{abs:l,max:u,min:d}=Math;[`w`,`e`].map(f),[`n`,`s`].map(f),[`n`,`w`,`e`,`s`,`nw`,`ne`,`sw`,`se`].map(f);function f(e){return{type:e}}export{s as n,r,o as t};
@@ -0,0 +1 @@
1
+ import{p as e}from"./index-CcRUbBLK.js";import{n as t}from"./chunk-Y2CYZVJY-DsF7k-Jl.js";import{t as n}from"./src-B56W74gN.js";import{O as r,c as i,s as a,x as o}from"./chunk-WYO6CB5R-qHfws5Na.js";import{et as s,g as c}from"./chunk-ICXQ74PX-CyZZ3kFK.js";import{t as l}from"./line-FNoxgdds.js";import"./chunk-C7G6YPKG-BMphmVWl.js";import"./chunk-OGEWGWER-vwCurcM9.js";import"./chunk-HOUHSVGY-yNNNImSs.js";import"./chunk-Q4XR5HBZ-CvZ-Pz5B.js";import"./chunk-ZGVPDNZ5-CHDpAKTq.js";import"./chunk-7BUUIJ7U-Bb538aSH.js";import"./chunk-52WLFC77-A0SkaTYM.js";import"./chunk-FWX5IMBZ-C_mfbGNa.js";import{t as u}from"./graphlib-B8gBHxth.js";import{t as d}from"./dagre-CXRCoUWR.js";import"./chunk-32BRIVSS-6Rh4CCUQ.js";import"./chunk-XXDRQBXY-BSmtn7NR.js";import"./chunk-VR4S4FIN-Q-TN3CuI.js";import{i as f,n as p,t as m}from"./chunk-EX3LRPZG-xUcXnDRE.js";var h=t(e=>e.append(`circle`).attr(`class`,`start-state`).attr(`r`,o().state.sizeUnit).attr(`cx`,o().state.padding+o().state.sizeUnit).attr(`cy`,o().state.padding+o().state.sizeUnit),`drawStartState`),g=t(e=>e.append(`line`).style(`stroke`,`grey`).style(`stroke-dasharray`,`3`).attr(`x1`,o().state.textHeight).attr(`class`,`divider`).attr(`x2`,o().state.textHeight*2).attr(`y1`,0).attr(`y2`,0),`drawDivider`),_=t((e,t)=>{let n=e.append(`text`).attr(`x`,2*o().state.padding).attr(`y`,o().state.textHeight+2*o().state.padding).attr(`font-size`,o().state.fontSize).attr(`class`,`state-title`).text(t.id),r=n.node().getBBox();return e.insert(`rect`,`:first-child`).attr(`x`,o().state.padding).attr(`y`,o().state.padding).attr(`width`,r.width+2*o().state.padding).attr(`height`,r.height+2*o().state.padding).attr(`rx`,o().state.radius),n},`drawSimpleState`),v=t((e,n)=>{let r=t(function(e,t,n){let r=e.append(`tspan`).attr(`x`,2*o().state.padding).text(t);n||r.attr(`dy`,o().state.textHeight)},`addTspan`),i=e.append(`text`).attr(`x`,2*o().state.padding).attr(`y`,o().state.textHeight+1.3*o().state.padding).attr(`font-size`,o().state.fontSize).attr(`class`,`state-title`).text(n.descriptions[0]).node().getBBox(),a=i.height,s=e.append(`text`).attr(`x`,o().state.padding).attr(`y`,a+o().state.padding*.4+o().state.dividerMargin+o().state.textHeight).attr(`class`,`state-description`),c=!0,l=!0;n.descriptions.forEach(function(e){c||(r(s,e,l),l=!1),c=!1});let u=e.append(`line`).attr(`x1`,o().state.padding).attr(`y1`,o().state.padding+a+o().state.dividerMargin/2).attr(`y2`,o().state.padding+a+o().state.dividerMargin/2).attr(`class`,`descr-divider`),d=s.node().getBBox(),f=Math.max(d.width,i.width);return u.attr(`x2`,f+3*o().state.padding),e.insert(`rect`,`:first-child`).attr(`x`,o().state.padding).attr(`y`,o().state.padding).attr(`width`,f+2*o().state.padding).attr(`height`,d.height+a+2*o().state.padding).attr(`rx`,o().state.radius),e},`drawDescrState`),y=t((e,t,n)=>{let r=o().state.padding,i=2*o().state.padding,a=e.node().getBBox(),s=a.width,c=a.x,l=e.append(`text`).attr(`x`,0).attr(`y`,o().state.titleShift).attr(`font-size`,o().state.fontSize).attr(`class`,`state-title`).text(t.id),u=l.node().getBBox().width+i,d=Math.max(u,s);d===s&&(d+=i);let f,p=e.node().getBBox();t.doc,f=c-r,u>s&&(f=(s-d)/2+r),Math.abs(c-p.x)<r&&u>s&&(f=c-(u-s)/2);let m=1-o().state.textHeight;return e.insert(`rect`,`:first-child`).attr(`x`,f).attr(`y`,m).attr(`class`,n?`alt-composit`:`composit`).attr(`width`,d).attr(`height`,p.height+o().state.textHeight+o().state.titleShift+1).attr(`rx`,`0`),l.attr(`x`,f+r),u<=s&&l.attr(`x`,c+(d-i)/2-u/2+r),e.insert(`rect`,`:first-child`).attr(`x`,f).attr(`y`,o().state.titleShift-o().state.textHeight-o().state.padding).attr(`width`,d).attr(`height`,o().state.textHeight*3).attr(`rx`,o().state.radius),e.insert(`rect`,`:first-child`).attr(`x`,f).attr(`y`,o().state.titleShift-o().state.textHeight-o().state.padding).attr(`width`,d).attr(`height`,p.height+3+2*o().state.textHeight).attr(`rx`,o().state.radius),e},`addTitleAndBox`),b=t(e=>(e.append(`circle`).attr(`class`,`end-state-outer`).attr(`r`,o().state.sizeUnit+o().state.miniPadding).attr(`cx`,o().state.padding+o().state.sizeUnit+o().state.miniPadding).attr(`cy`,o().state.padding+o().state.sizeUnit+o().state.miniPadding),e.append(`circle`).attr(`class`,`end-state-inner`).attr(`r`,o().state.sizeUnit).attr(`cx`,o().state.padding+o().state.sizeUnit+2).attr(`cy`,o().state.padding+o().state.sizeUnit+2)),`drawEndState`),x=t((e,t)=>{let n=o().state.forkWidth,r=o().state.forkHeight;if(t.parentId){let e=n;n=r,r=e}return e.append(`rect`).style(`stroke`,`black`).style(`fill`,`black`).attr(`width`,n).attr(`height`,r).attr(`x`,o().state.padding).attr(`y`,o().state.padding)},`drawForkJoinState`),S=t((e,t,n,r)=>{let i=0,s=r.append(`text`);s.style(`text-anchor`,`start`),s.attr(`class`,`noteText`);let c=e.replace(/\r\n/g,`<br/>`);c=c.replace(/\n/g,`<br/>`);let l=c.split(a.lineBreakRegex),u=1.25*o().state.noteMargin;for(let e of l){let r=e.trim();if(r.length>0){let e=s.append(`tspan`);if(e.text(r),u===0){let t=e.node().getBBox();u+=t.height}i+=u,e.attr(`x`,t+o().state.noteMargin),e.attr(`y`,n+i+1.25*o().state.noteMargin)}}return{textWidth:s.node().getBBox().width,textHeight:i}},`_drawLongText`),C=t((e,t)=>{t.attr(`class`,`state-note`);let n=t.append(`rect`).attr(`x`,0).attr(`y`,o().state.padding),{textWidth:r,textHeight:i}=S(e,0,0,t.append(`g`));return n.attr(`height`,i+2*o().state.noteMargin),n.attr(`width`,r+o().state.noteMargin*2),n},`drawNote`),w=t(function(e,t){let n=t.id,r={id:n,label:t.id,width:0,height:0},i=e.append(`g`).attr(`id`,n).attr(`class`,`stateGroup`);t.type===`start`&&h(i),t.type===`end`&&b(i),(t.type===`fork`||t.type===`join`)&&x(i,t),t.type===`note`&&C(t.note.text,i),t.type===`divider`&&g(i),t.type==="default"&&t.descriptions.length===0&&_(i,t),t.type==="default"&&t.descriptions.length>0&&v(i,t);let a=i.node().getBBox();return r.width=a.width+2*o().state.padding,r.height=a.height+2*o().state.padding,r},`drawState`),T=0,E=t(function(e,i,u){let d=t(function(e){switch(e){case m.relationType.AGGREGATION:return`aggregation`;case m.relationType.EXTENSION:return`extension`;case m.relationType.COMPOSITION:return`composition`;case m.relationType.DEPENDENCY:return`dependency`}},`getRelationType`);i.points=i.points.filter(e=>!Number.isNaN(e.y));let f=i.points,p=l().x(function(e){return e.x}).y(function(e){return e.y}).curve(s),h=e.append(`path`).attr(`d`,p(f)).attr(`id`,`edge`+T).attr(`class`,`transition`),g=``;if(o().state.arrowMarkerAbsolute&&(g=r(!0)),h.attr(`marker-end`,`url(`+g+`#`+d(m.relationType.DEPENDENCY)+`End)`),u.title!==void 0){let t=e.append(`g`).attr(`class`,`stateLabel`),{x:r,y:s}=c.calcLabelPosition(i.points),l=a.getRows(u.title),d=0,f=[],p=0,m=0;for(let e=0;e<=l.length;e++){let i=t.append(`text`).attr(`text-anchor`,`middle`).text(l[e]).attr(`x`,r).attr(`y`,s+d),a=i.node().getBBox();p=Math.max(p,a.width),m=Math.min(m,a.x),n.info(a.x,r,s+d),d===0&&(d=i.node().getBBox().height,n.info(`Title height`,d,s)),f.push(i)}let h=d*l.length;if(l.length>1){let e=(l.length-1)*d*.5;f.forEach((t,n)=>t.attr(`y`,s+n*d-e)),h=d*l.length}let g=t.node().getBBox();t.insert(`rect`,`:first-child`).attr(`class`,`box`).attr(`x`,r-p/2-o().state.padding/2).attr(`y`,s-h/2-o().state.padding/2-3.5).attr(`width`,p+o().state.padding).attr(`height`,h+o().state.padding),n.info(g)}T++},`drawEdge`),D,O={},k=t(function(){},`setConf`),A=t(function(e){e.append(`defs`).append(`marker`).attr(`id`,`dependencyEnd`).attr(`refX`,19).attr(`refY`,7).attr(`markerWidth`,20).attr(`markerHeight`,28).attr(`orient`,`auto`).append(`path`).attr(`d`,`M 19,7 L9,13 L14,7 L9,1 Z`)},`insertMarkers`),j=t(function(t,r,a,s){D=o().state;let c=o().securityLevel,l;c===`sandbox`&&(l=e(`#i`+r));let u=e(c===`sandbox`?l.nodes()[0].contentDocument.body:`body`),d=c===`sandbox`?l.nodes()[0].contentDocument:document;n.debug(`Rendering diagram `+t);let f=u.select(`[id='${r}']`);A(f),N(s.db.getRootDoc(),f.append(`g`).attr(`id`,r+`-root`),void 0,!1,u,d,s);let p=D.padding,m=f.node().getBBox(),h=m.width+p*2,g=m.height+p*2;i(f,g,h*1.75,D.useMaxWidth),f.attr(`viewBox`,`${m.x-D.padding} ${m.y-D.padding} `+h+` `+g)},`draw`),M=t(e=>e?e.length*D.fontSizeFactor:1,`getLabelWidth`),N=t((e,t,r,i,o,s,c)=>{let l=new u({compound:!0,multigraph:!0}),f,p=!0;for(f=0;f<e.length;f++)if(e[f].stmt===`relation`){p=!1;break}r?l.setGraph({rankdir:`LR`,multigraph:!0,compound:!0,ranker:`tight-tree`,ranksep:p?1:D.edgeLengthFactor,nodeSep:p?1:50,isMultiGraph:!0}):l.setGraph({rankdir:`TB`,multigraph:!0,compound:!0,ranksep:p?1:D.edgeLengthFactor,nodeSep:p?1:50,ranker:`tight-tree`,isMultiGraph:!0}),l.setDefaultEdgeLabel(function(){return{}});let m=c.db.getStates(),h=c.db.getRelations(),g=Object.keys(m);for(let e of g){let n=m[e];r&&(n.parentId=r);let a;if(n.doc){let e=t.append(`g`).attr(`id`,n.id).attr(`class`,`stateGroup`);a=N(n.doc,e,n.id,!i,o,s,c);{e=y(e,n,i);let t=e.node().getBBox();a.width=t.width,a.height=t.height+D.padding/2,O[n.id]={y:D.compositTitleSize}}}else a=w(t,n,l);if(n.note){let e=w(t,{descriptions:[],id:n.id+`-note`,note:n.note,type:`note`},l);n.note.position===`left of`?(l.setNode(a.id+`-note`,e),l.setNode(a.id,a)):(l.setNode(a.id,a),l.setNode(a.id+`-note`,e)),l.setParent(a.id,a.id+`-group`),l.setParent(a.id+`-note`,a.id+`-group`)}else l.setNode(a.id,a)}n.debug(`Count=`,l.nodeCount(),l);let _=0;h.forEach(function(e){_++,n.debug(`Setting edge`,e),l.setEdge(e.id1,e.id2,{relation:e,width:M(e.title),height:D.labelHeight*a.getRows(e.title).length,labelpos:`c`},`id`+_)}),d(l),n.debug(`Graph after layout`,l.nodes());let v=t.node();l.nodes().forEach(function(e){e!==void 0&&l.node(e)!==void 0?(n.warn(`Node `+e+`: `+JSON.stringify(l.node(e))),o.select(`#`+v.id+` #`+e).attr(`transform`,`translate(`+(l.node(e).x-l.node(e).width/2)+`,`+(l.node(e).y+(O[e]?O[e].y:0)-l.node(e).height/2)+` )`),o.select(`#`+v.id+` #`+e).attr(`data-x-shift`,l.node(e).x-l.node(e).width/2),s.querySelectorAll(`#`+v.id+` #`+e+` .divider`).forEach(e=>{let t=e.parentElement,n=0,r=0;t&&(t.parentElement&&(n=t.parentElement.getBBox().width),r=parseInt(t.getAttribute(`data-x-shift`),10),Number.isNaN(r)&&(r=0)),e.setAttribute(`x1`,0-r+8),e.setAttribute(`x2`,n-r-8)})):n.debug(`No Node `+e+`: `+JSON.stringify(l.node(e)))});let b=v.getBBox();l.edges().forEach(function(e){e!==void 0&&l.edge(e)!==void 0&&(n.debug(`Edge `+e.v+` -> `+e.w+`: `+JSON.stringify(l.edge(e))),E(t,l.edge(e),l.edge(e).relation))}),b=v.getBBox();let x={id:r||`root`,label:r||`root`,width:0,height:0};return x.width=b.width+2*D.padding,x.height=b.height+2*D.padding,n.debug(`Doc rendered`,x,l),x},`renderDoc`),P={parser:p,get db(){return new m(1)},renderer:{setConf:k,draw:j},styles:f,init:t(e=>{e.state||={},e.state.arrowMarkerAbsolute=e.arrowMarkerAbsolute},`init`)};export{P as diagram};
@@ -0,0 +1 @@
1
+ import{n as e}from"./chunk-Y2CYZVJY-DsF7k-Jl.js";import"./src-B56W74gN.js";import"./chunk-WYO6CB5R-qHfws5Na.js";import"./chunk-ICXQ74PX-CyZZ3kFK.js";import"./chunk-C7G6YPKG-BMphmVWl.js";import"./chunk-OGEWGWER-vwCurcM9.js";import"./chunk-HOUHSVGY-yNNNImSs.js";import"./chunk-Q4XR5HBZ-CvZ-Pz5B.js";import"./chunk-ZGVPDNZ5-CHDpAKTq.js";import"./chunk-7BUUIJ7U-Bb538aSH.js";import"./chunk-52WLFC77-A0SkaTYM.js";import"./chunk-FWX5IMBZ-C_mfbGNa.js";import"./chunk-32BRIVSS-6Rh4CCUQ.js";import"./chunk-XXDRQBXY-BSmtn7NR.js";import"./chunk-VR4S4FIN-Q-TN3CuI.js";import{i as t,n,r,t as i}from"./chunk-EX3LRPZG-xUcXnDRE.js";var a={parser:n,get db(){return new i(2)},renderer:r,styles:t,init:e(e=>{e.state||={},e.state.arrowMarkerAbsolute=e.arrowMarkerAbsolute},`init`)};export{a as diagram};
@@ -0,0 +1 @@
1
+ import"./chunk-SRAX5OIU-Bpn6XoyU.js";import{i as e,n as t,r as n,t as r}from"./chunk-EIO257PC-BiAg7S3S.js";export{t as Commands,e as subsetToBase64,n as subsetToBinary,r as toBase64};
@@ -0,0 +1 @@
1
+ import"./chunk-SRAX5OIU-Bpn6XoyU.js";import{n as e,r as t}from"./chunk-EIO257PC-BiAg7S3S.js";var n=import.meta.url?new URL(import.meta.url):void 0;typeof window>`u`&&typeof self<`u`&&(self.onmessage=async n=>{switch(n.data.command){case e.Subset:let r=await t(n.data.arrayBuffer,n.data.codePoints);self.postMessage(r,{transfer:[r]});break}});export{n as WorkerUrl};
@@ -0,0 +1,10 @@
1
+ import"./chunk-SRAX5OIU-Bpn6XoyU.js";var e={paste:`Klistra in`,pasteAsPlaintext:`Klistra som oformaterad text`,pasteCharts:`Klistra in diagram`,selectAll:`Markera alla`,multiSelect:`Lägg till element till markering`,moveCanvas:`Flytta canvas`,cut:`Klipp ut`,copy:`Kopiera`,copyAsPng:`Kopiera till urklipp som PNG`,copyAsSvg:`Kopiera till urklipp som SVG`,copyText:`Kopiera till urklipp som text`,copySource:`Kopiera källa till urklipp`,convertToCode:`Konvertera till kod`,bringForward:`Flytta framåt`,sendToBack:`Flytta underst`,bringToFront:`Flytta främst`,sendBackward:`Skicka bakåt`,delete:`Ta bort`,copyStyles:`Kopiera stil`,pasteStyles:`Klistra in stil`,stroke:`Linje`,background:`Bakgrund`,fill:`Fyllnad`,strokeWidth:`Linjebredd`,strokeStyle:`Linjestil`,strokeStyle_solid:`Solid`,strokeStyle_dashed:`Streckad`,strokeStyle_dotted:`Punktad`,sloppiness:`Slarvighet`,opacity:`Genomskinlighet`,textAlign:`Textjustering`,edges:`Kanter`,sharp:`Skarp`,round:`Rund`,arrowheads:`Pilhuvuden`,arrowhead_none:`Inga`,arrowhead_arrow:`Pil`,arrowhead_bar:`Stolpe`,arrowhead_circle:`Cirkel`,arrowhead_circle_outline:`Cirkel (kontur)`,arrowhead_triangle:`Triangel`,arrowhead_triangle_outline:`Triangel (kontur)`,arrowhead_diamond:`Diamant`,arrowhead_diamond_outline:`Diamant (kontur)`,fontSize:`Teckenstorlek`,fontFamily:`Teckensnitt`,addWatermark:`Lägg till "Skapad med Excalidraw"`,handDrawn:`Handritad`,normal:`Normal`,code:`Kod`,small:`Liten`,medium:`Medium`,large:`Stor`,veryLarge:`Mycket stor`,solid:`Solid`,hachure:`Skraffering`,zigzag:`Sicksack`,crossHatch:`Skraffera med kors`,thin:`Tunn`,bold:`Fet`,left:`Vänster`,center:`Centrera`,right:`Höger`,extraBold:`Extra fet`,architect:`Arkitekt`,artist:`Artist`,cartoonist:`Serietecknare`,fileTitle:`Filnamn`,colorPicker:`Färgväljare`,canvasColors:`Används på canvas`,canvasBackground:`Canvas-bakgrund`,drawingCanvas:`Ritar canvas`,layers:`Lager`,actions:`Åtgärder`,language:`Språk`,liveCollaboration:`Samarbeta live...`,duplicateSelection:`Duplicera`,untitled:`Namnlös`,name:`Namn`,yourName:`Ditt namn`,madeWithExcalidraw:`Skapad med Excalidraw`,group:`Gruppera markering`,ungroup:`Avgruppera markering`,collaborators:`Medarbetare`,showGrid:`Visa rutnät`,addToLibrary:`Lägg till i biblioteket`,removeFromLibrary:`Ta bort från bibliotek`,libraryLoadingMessage:`Laddar bibliotek…`,libraries:`Bläddra i bibliotek`,loadingScene:`Laddar skiss…`,align:`Justera`,alignTop:`Justera överkant`,alignBottom:`Justera underkant`,alignLeft:`Justera vänster`,alignRight:`Justera höger`,centerVertically:`Centrera vertikalt`,centerHorizontally:`Centrera horisontellt`,distributeHorizontally:`Fördela horisontellt`,distributeVertically:`Fördela vertikalt`,flipHorizontal:`Vänd horisontellt`,flipVertical:`Vänd vertikalt`,viewMode:`Visningsläge`,share:`Dela`,showStroke:`Visa färgväljare för linjefärg`,showBackground:`Visa färgväljare för bakgrundsfärg`,toggleTheme:`Växla tema`,personalLib:`Personligt bibliotek`,excalidrawLib:`Excalidraw bibliotek`,decreaseFontSize:`Minska fontstorleken`,increaseFontSize:`Öka fontstorleken`,unbindText:`Koppla bort text`,bindText:`Bind texten till behållaren`,createContainerFromText:`Radbryt text i en avgränsad yta`,link:{edit:`Redigera länk`,editEmbed:`Redigera länk & bädda in`,create:`Skapa länk`,createEmbed:`Skapa länk & bädda in`,label:`Länk`,labelEmbed:`Länka & bädda in`,empty:`Ingen länk är angiven`},lineEditor:{edit:`Redigera linje`,exit:`Avsluta linjeredigerare`},elementLock:{lock:`Lås`,unlock:`Lås upp`,lockAll:`Lås alla`,unlockAll:`Lås upp alla`},statusPublished:`Publicerad`,sidebarLock:`Håll sidofältet öppet`,selectAllElementsInFrame:`Markera alla element i rutan`,removeAllElementsFromFrame:`Ta bort alla element från rutan`,eyeDropper:`Välj färg från canvas`,textToDiagram:`Text till diagram`,prompt:`Fråga`},t={noItems:`Inga objekt tillagda ännu...`,hint_emptyLibrary:`Välj ett objekt på canvasen för att lägga till det här, eller installera ett bibliotek från det publika arkivet, nedan.`,hint_emptyPrivateLibrary:`Välj ett objekt på canvasen för att lägga till det här.`},n={clearReset:`Återställ canvasen`,exportJSON:`Exportera till fil`,exportImage:`Exportera bild...`,export:`Spara till...`,copyToClipboard:`Kopiera till urklipp`,save:`Spara till aktuell fil`,saveAs:`Spara som`,load:`Öppna`,getShareableLink:`Hämta delbar länk`,close:`Stäng`,selectLanguage:`Välj språk`,scrollBackToContent:`Bläddra tillbaka till innehållet`,zoomIn:`Zooma in`,zoomOut:`Zooma ut`,resetZoom:`Återställ zoom`,menu:`Meny`,done:`Klart`,edit:`Redigera`,undo:`Ångra`,redo:`Gör om`,resetLibrary:`Återställ bibliotek`,createNewRoom:`Skapa ett nytt rum`,fullScreen:`Helskärm`,darkMode:`Mörkt läge`,lightMode:`Ljust läge`,zenMode:`Zen-läge`,objectsSnapMode:`Fäst mot objekt`,exitZenMode:`Gå ur zen-läge`,cancel:`Avbryt`,clear:`Rensa`,remove:`Ta bort`,embed:`Växla inbäddning`,publishLibrary:`Publicera`,submit:`Skicka`,confirm:`Bekräfta`,embeddableInteractionButton:`Klicka för att interagera`},r={clearReset:`Detta rensar hela canvasen. Är du säker?`,couldNotCreateShareableLink:`Kunde inte skapa delbar länk.`,couldNotCreateShareableLinkTooBig:`Kunde inte skapa delbar länk: skissen är för stor`,couldNotLoadInvalidFile:`Kunde inte ladda ogiltig fil`,importBackendFailed:`Importering från backend misslyckades.`,cannotExportEmptyCanvas:`Kan inte exportera tom canvas.`,couldNotCopyToClipboard:`Kunde inte kopiera till urklipp.`,decryptFailed:`Kunde inte avkryptera data.`,uploadedSecurly:`Uppladdning har säkrats med kryptering från ände till ände. vilket innebär att Excalidraw server och tredje part inte kan läsa innehållet.`,loadSceneOverridePrompt:`Laddning av extern skiss kommer att ersätta ditt befintliga innehåll. Vill du fortsätta?`,collabStopOverridePrompt:`Att stoppa sessionen kommer att skriva över din föregående, lokalt lagrade skiss. Är du säker?
2
+
3
+ (Om du vill behålla din lokala skiss, stäng bara webbläsarfliken istället.)`,errorAddingToLibrary:`Kunde inte lägga till objekt i biblioteket`,errorRemovingFromLibrary:`Kunde inte ta bort objekt från biblioteket`,confirmAddLibrary:`Detta kommer att lägga till {{numShapes}} form(er) till ditt bibliotek. Är du säker?`,imageDoesNotContainScene:`Den här bilden verkar inte innehålla någon skissdata. Har du aktiverat inbäddning av skiss under export?`,cannotRestoreFromImage:`Skiss kunde inte återställas från denna bildfil`,invalidSceneUrl:`Det gick inte att importera skiss från den angivna webbadressen. Antingen har den fel format, eller så innehåller den ingen giltig Excalidraw JSON data.`,resetLibrary:`Detta kommer att rensa ditt bibliotek. Är du säker?`,removeItemsFromsLibrary:`Ta bort {{count}} objekt från biblioteket?`,invalidEncryptionKey:`Krypteringsnyckeln måste vara 22 tecken. Livesamarbetet är inaktiverat.`,collabOfflineWarning:`Ingen internetanslutning tillgänglig.
4
+ Dina ändringar kommer inte att sparas!`},i={unsupportedFileType:`Filtypen stöds inte.`,imageInsertError:`Kunde inte infoga bild. Försök igen senare...`,fileTooBig:`Filen är för stor. Maximal tillåten storlek är {{maxSize}}.`,svgImageInsertError:`Kunde inte infoga SVG-bild. SVG-koden ser ogiltig ut.`,failedToFetchImage:`Kunde inte hämta bilden.`,invalidSVGString:`Ogiltig SVG.`,cannotResolveCollabServer:`Det gick inte att ansluta till samarbets-servern. Ladda om sidan och försök igen.`,importLibraryError:`Kunde inte ladda bibliotek`,collabSaveFailed:`Det gick inte att spara i backend-databasen. Om problemen kvarstår bör du spara filen lokalt för att se till att du inte förlorar ditt arbete.`,collabSaveFailed_sizeExceeded:`Det gick inte att spara till backend-databasen, whiteboarden verkar vara för stor. Du bör spara filen lokalt för att du inte ska förlora ditt arbete.`,imageToolNotSupported:`Bilder är inaktiverade.`,brave_measure_text_error:{line1:`Det ser ut som om du använder Brave-webbläsaren med <bold>Aggressivt Blockera fingeravtryck</bold> inställningen aktiverad.`,line2:`Detta kan resultera i trasiga <bold>Textelement</bold> i dina ritningar.`,line3:`Vi rekommenderar starkt att du inaktiverar den här inställningen. Du kan följa <link>dessa steg</link> för att inaktivera den.`,line4:`Om inaktivering av denna inställning inte åtgärdar visningen av textelement, öppna ett <issueLink>ärende</issueLink> på vår GitHub, eller skriv till oss på <discordLink>Discord</discordLink>`},libraryElementTypeError:{embeddable:`Inbäddbara element kan inte läggas till i biblioteket.`,iframe:`IFrame-element kan inte läggas till i biblioteket.`,image:`Stöd för att lägga till bilder till biblioteket kommer snart!`},asyncPasteFailedOnRead:`Kunde inte klistra in (kunde inte läsa från urklipp).`,asyncPasteFailedOnParse:`Kunde inte klistra in.`,copyToSystemClipboardFailed:`Kunde inte kopiera till urklipp.`},a={selection:`Markering`,image:`Infoga bild`,rectangle:`Rektangel`,diamond:`Diamant`,ellipse:`Ellips`,arrow:`Pil`,line:`Linje`,freedraw:`Rita`,text:`Text`,library:`Bibliotek`,lock:`Håll valt verktyg aktivt efter ritande`,penMode:`Pennläge - förhindra touch`,link:`Lägg till / Uppdatera länk för en vald form`,eraser:`Radergummi`,frame:`Rutverktyg`,magicframe:`Trådram till kod`,embeddable:`Bädda in (web)`,laser:`Laserpekare`,hand:`Hand (panoreringsverktyg)`,extraTools:`Fler verktyg`,mermaidToExcalidraw:`Mermaid till Excalidraw`,magicSettings:`AI-inställningar`},o={canvasActions:`Canvas-åtgärder`,selectedShapeActions:`Valda formåtgärder`,shapes:`Former`},s={canvasPanning:`För att flytta whiteboarden, håll mushjulet eller mellanslagstangenten medan du drar eller använd handverktyget`,linearElement:`Klicka för att starta flera punkter, dra för en linje`,freeDraw:`Klicka och dra, släpp när du är klar`,text:`Tips: du kan också lägga till text genom att dubbelklicka var som helst med markeringsverktyget`,embeddable:`Klicka-dra för att skapa en webbplats-inbäddning`,text_selected:`Dubbelklicka eller tryck ENTER för att redigera text`,text_editing:`Tryck Escape eller CtrlOrCmd + ENTER för att slutföra redigeringen`,linearElementMulti:`Klicka på sista punkten eller tryck Escape eller Enter för att avsluta`,lockAngle:`Du kan begränsa vinkeln genom att hålla SKIFT`,resize:`Du kan behålla proportioner genom att hålla SHIFT medan du ändrar storlek,
5
+ håller du ALT ändras storlek relativt mitten`,resizeImage:`Du kan ändra storlek fritt genom att hålla SHIFT,
6
+ håll ALT för att ändra storlek från mitten`,rotate:`Du kan begränsa vinklar genom att hålla SHIFT medan du roterar`,lineEditor_info:`Håll Ctrl/Cmd och dubbelklicka eller tryck på Ctrl/Cmd + Enter för att redigera punkter`,lineEditor_pointSelected:`Tryck på Ta bort för att ta bort punkt(er), Ctrl + D eller Cmd + D för att duplicera, eller dra för att flytta`,lineEditor_nothingSelected:`Välj en punkt att redigera (håll SHIFT för att välja flera),
7
+ eller håll ned Alt och klicka för att lägga till nya punkter`,placeImage:`Klicka för att placera bilden, eller klicka och dra för att ställa in dess storlek manuellt`,publishLibrary:`Publicera ditt eget bibliotek`,bindTextToElement:`Tryck på Enter för att lägga till text`,deepBoxSelect:`Håll Ctrl eller Cmd för att djupvälja, och för att förhindra att dra`,eraserRevert:`Håll Alt för att återställa de element som är markerade för borttagning`,firefox_clipboard_write:`Denna funktion kan sannolikt aktiveras genom att ställa in "dom.events.asyncClipboard.clipboardItem" flaggan till "true". För att ändra webbläsarens flaggor i Firefox, besök "about:config" sidan.`,disableSnapping:`Håll Ctrl eller Cmd för att inaktivera fästning`},c={cannotShowPreview:`Kan inte visa förhandsgranskning`,canvasTooBig:`Canvasen kan vara för stor.`,canvasTooBigTip:`Tips: prova att flytta de mest avlägsna elementen lite närmare varandra.`},l={headingMain:`Ett fel uppstod. Försök <button>med att läsa in sidan på nytt.</button>`,clearCanvasMessage:`Om omladdning inte fungerar, försök <button>rensa canvasen.</button>`,clearCanvasCaveat:` Detta kommer att leda till förlust av arbete `,trackedToSentry:`Felet med identifieraren {{eventId}} spårades på vårt system.`,openIssueMessage:`Vi var mycket försiktiga med att inte inkludera din skissinformation om felet. Om din skiss inte är privat, vänligen överväga att följa upp på vår <button>buggspårare.</button> Vänligen inkludera information nedan genom att kopiera och klistra in i GitHub-problemet.`,sceneContent:`Skissinnehåll:`},u={desc_intro:`Du kan bjuda in personer till din nuvarande skiss för att samarbeta med dig.`,desc_privacy:`Oroa dig inte, sessionen använder kryptering från ände till ände, så vad du än ritar kommer att förbli privat. Inte ens vår server kommer att kunna se vad du skissar.`,button_startSession:`Starta sessionen`,button_stopSession:`Stoppa session`,desc_inProgressIntro:`Nu pågår en live-samarbetssession.`,desc_shareLink:`Dela denna länk med någon du vill samarbeta med:`,desc_exitSession:`Att avbryta sessionen kommer att koppla bort dig från rummet, men du kommer att kunna fortsätta arbeta med skissen, lokalt. Observera att detta inte påverkar andra människor, och de kommer fortfarande att kunna samarbeta på deras version.`,shareTitle:`Delta i en live-samarbetssession på Excalidraw`},d={title:`Fel`},f={disk_title:`Spara till disk`,disk_details:`Exportera skissdata till en fil som du kan importera från senare.`,disk_button:`Spara till fil`,link_title:`Delbar länk`,link_details:`Exportera som en skrivskyddad länk.`,link_button:`Exportera till länk`,excalidrawplus_description:`Spara skissen till din Excalidraw+ arbetsyta.`,excalidrawplus_button:`Exportera`,excalidrawplus_exportError:`Det gick inte att exportera till Excalidraw+ just nu...`},p={blog:`Läs vår blogg`,click:`klicka`,deepSelect:`Djupval`,deepBoxSelect:`Djupval inom boxen, och förhindra att dra`,curvedArrow:`Böjd pil`,curvedLine:`Böjd linje`,documentation:`Dokumentation`,doubleClick:`dubbelklicka`,drag:`dra`,editor:`Redigerare`,editLineArrowPoints:`Redigera linje-/pilpunkter`,editText:`Redigera text / lägg till etikett`,github:`Hittat ett problem? Rapportera`,howto:`Följ våra guider`,or:`eller`,preventBinding:`Förhindra pilbindning`,tools:`Verktyg`,shortcuts:`Tangentbordsgenvägar`,textFinish:`Slutför redigering (text)`,textNewLine:`Lägg till ny rad (text)`,title:`Hjälp`,view:`Visa`,zoomToFit:`Zooma för att rymma alla element`,zoomToSelection:`Zooma till markering`,toggleElementLock:`Lås/Lås upp valda`,movePageUpDown:`Flytta sida upp/ner`,movePageLeftRight:`Flytta sida vänster/höger`},m={title:`Rensa canvas`},h={title:`Publicera bibliotek`,itemName:`Objektnamn`,authorName:`Upphovsmannens namn`,githubUsername:`GitHub-användarnamn`,twitterUsername:`Twitter-användarnamn`,libraryName:`Biblioteksnamn`,libraryDesc:`Biblioteksbeskrivning`,website:`Webbplats`,placeholder:{authorName:`Ditt namn eller användarnamn`,libraryName:`Namn på ditt bibliotek`,libraryDesc:`Beskrivning av ditt bibliotek för att hjälpa människor att förstå dess användning`,githubHandle:`Github-användarnamn (valfritt), så att du kan redigera biblioteket när du har skickat in det för granskning`,twitterHandle:`Twitter-användarnamn (valfritt), så vi vet vem att kreditera när du marknadsför på Twitter`,website:`Länk till din personliga webbplats eller någon annan (valfritt)`},errors:{required:`Obligatoriskt`,website:`Ange en giltig URL`},noteDescription:`Skicka ditt bibliotek för att inkluderas i <link>det offentliga bibliotekets arkiv</link>för andra människor att använda i sina skisser.`,noteGuidelines:`Biblioteket måste godkännas manuellt först. Vänligen läs <link>riktlinjerna</link> innan du skickar in. Du behöver ett GitHub-konto för att kommunicera och göra ändringar om så önskas, men det krävs inte.`,noteLicense:`Genom att skicka in godkänner du att biblioteket kommer att publiceras under <link>MIT-licens, </link>vilket kort sagt betyder att vem som helst kan använda det utan restriktioner.`,noteItems:`Varje objekt måste ha sitt eget namn så att det är filtrerbart. Följande objekt kommer att inkluderas:`,atleastOneLibItem:`Välj minst ett biblioteksobjekt för att komma igång`,republishWarning:`Obs: några av de markerade objekten är redan markerade som publicerade/skickade. Du bör endast skicka objekt igen när du uppdaterar ett befintligt bibliotek eller inlämning.`},g={title:`Bibliotek inskickat`,content:`Tack {{authorName}}. Ditt bibliotek har skickats för granskning. Du kan följa status<link>här</link>`},_={resetLibrary:`Återställ bibliotek`,removeItemsFromLib:`Ta bort markerade objekt från biblioteket`},v={header:`Exportera bild`,label:{withBackground:`Bakgrund`,onlySelected:`Endast markerade`,darkMode:`Mörkt läge`,embedScene:`Bädda in skiss`,scale:`Skala`,padding:`Utfyllnad`},tooltip:{embedScene:`Skissdata kommer att sparas i den exporterade PNG/SVG-filen så att skissen kan återställas från den.
8
+ Kommer att öka exporterad filstorlek.`},title:{exportToPng:`Exportera till PNG`,exportToSvg:`Exportera till SVG`,copyPngToClipboard:`Kopiera PNG till urklipp`},button:{exportToPng:`PNG`,exportToSvg:`SVG`,copyPngToClipboard:`Kopiera till urklipp`}},y={tooltip:`Dina skisser är krypterade från ände till ände så Excalidraws servrar kommer aldrig att se dem.`,link:`Blogginlägg om kryptering från ände till ände i Excalidraw`},b={angle:`Vinkel`,element:`Element`,elements:`Element`,height:`Höjd`,scene:`Skiss`,selected:`Valda`,storage:`Lagring`,title:`Statistik för nördar`,total:`Totalt`,version:`Version`,versionCopy:`Klicka för att kopiera`,versionNotAvailable:`Versionen är inte tillgänglig`,width:`Bredd`},x={addedToLibrary:`Tillagd i biblioteket`,copyStyles:`Kopierade stilar.`,copyToClipboard:`Kopierad till urklipp.`,copyToClipboardAsPng:`Kopierade {{exportSelection}} till urklipp som PNG
9
+ ({{exportColorScheme}})`,fileSaved:`Fil sparad.`,fileSavedToFilename:`Sparad till {filename}`,canvas:`canvas`,selection:`markering`,pasteAsSingleElement:`Använd {{shortcut}} för att klistra in som ett enda element,
10
+ eller klistra in i en befintlig textredigerare`,unableToEmbed:`Att bädda in denna webbadress är för närvarande inte tillåtet. Skapa en problemrapport på GitHub för att begära att webbadressen vitlistas.`,unrecognizedLinkFormat:`Länken du bäddade in matchar inte det förväntade formatet. Försök klistra in 'embed'-strängen som tillhandahålls av källwebbplatsen`},S={transparent:`Genomskinlig`,black:`Svart`,white:`Vit`,red:`Röd`,pink:`Rosa`,grape:`Lila`,violet:`Violett`,gray:`Grå`,blue:`Blå`,cyan:`Turkos`,teal:`Blågrön`,green:`Grön`,yellow:`Gul`,orange:`Orange`,bronze:`Brons`},C={app:{center_heading:`All data sparas lokalt i din webbläsare.`,center_heading_plus:`Ville du gå till Excalidraw+ istället?`,menuHint:`Exportera, inställningar, språk, ...`},defaults:{menuHint:`Exportera, inställningar och mer...`,center_heading:`Förenklade. Diagram.`,toolbarHint:`Välj ett verktyg & börja rita!`,helpHint:`Genvägar & hjälp`}},w={mostUsedCustomColors:`Mest frekvent använda anpassade färger`,colors:`Färger`,shades:`Nyanser`,hexCode:`Hex-kod`,noShades:`Inga nyanser tillgängliga för denna färg`},T={action:{exportToImage:{title:`Exportera som bild`,button:`Exportera som bild`,description:`Exportera scendata som en bild från vilken du kan importera senare.`},saveToDisk:{title:`Spara till disk`,button:`Spara till disk`,description:`Exportera scendata till en fil från vilken du kan importera senare.`},excalidrawPlus:{title:`Excalidraw+`,button:`Exportera till Excalidraw+`,description:`Spara skissen till din Excalidraw+ arbetsyta.`}},modal:{loadFromFile:{title:`Läs in från fil`,button:`Läs in från fil`,description:`Laddar från en fil kommer <bold>ersätta ditt befintliga innehåll</bold>.<br></br>Du kan säkerhetskopiera din ritning först med hjälp av ett av alternativen nedan.`},shareableLink:{title:`Läs in från länk`,button:`Ersätt mitt innehåll`,description:`Inläsning av en extern ritning kommer <bold>ersätta ditt befintliga innehåll</bold>.<br></br>Du kan säkerhetskopiera din ritning först genom att använda ett av alternativen nedan.`}}},E={title:`Mermaid till Excalidraw`,button:`Infoga`,description:`För närvarande stöds endast <flowchartLink>Flödesdiagram</flowchartLink>,<sequenceLink> Sekvensdiagram </sequenceLink> och <classLink>Klassdiagram</classLink>. De andra typerna kommer att återges som bild i Excalidraw.`,syntax:`Mermaid-syntax`,preview:`Förhandsgranska`},D={labels:e,library:t,buttons:n,alerts:r,errors:i,toolBar:a,headings:o,hints:s,canvasError:c,errorSplash:l,roomDialog:u,errorDialog:d,exportDialog:f,helpDialog:p,clearCanvasDialog:m,publishDialog:h,publishSuccessDialog:g,confirmDialog:_,imageExportDialog:v,encrypted:y,stats:b,toast:x,colors:S,welcomeScreen:C,colorPicker:w,overwriteConfirm:T,mermaid:E};export{r as alerts,n as buttons,c as canvasError,m as clearCanvasDialog,w as colorPicker,S as colors,_ as confirmDialog,D as default,y as encrypted,d as errorDialog,l as errorSplash,i as errors,f as exportDialog,o as headings,p as helpDialog,s as hints,v as imageExportDialog,e as labels,t as library,E as mermaid,T as overwriteConfirm,h as publishDialog,g as publishSuccessDialog,u as roomDialog,b as stats,x as toast,a as toolBar,C as welcomeScreen};
@@ -0,0 +1,2 @@
1
+ const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/sizeCapture-X5ZJPWSS-B0uUizjq.js","assets/chunk-Y2CYZVJY-DsF7k-Jl.js"])))=>i.map(i=>d[i]);
2
+ import{t as e}from"./index-CcRUbBLK.js";import{n as t}from"./chunk-Y2CYZVJY-DsF7k-Jl.js";import{t as n}from"./src-B56W74gN.js";import{b as r,x as i}from"./chunk-WYO6CB5R-qHfws5Na.js";import{g as a}from"./chunk-ICXQ74PX-CyZZ3kFK.js";import"./chunk-C7G6YPKG-BMphmVWl.js";import{n as o}from"./chunk-OGEWGWER-vwCurcM9.js";import"./chunk-HOUHSVGY-yNNNImSs.js";import"./chunk-Q4XR5HBZ-CvZ-Pz5B.js";import{a as s,c,i as l,n as u,t as d}from"./chunk-ZGVPDNZ5-CHDpAKTq.js";import{r as f}from"./chunk-7BUUIJ7U-Bb538aSH.js";import{a as p,i as m,n as h,r as g,s as _,t as v}from"./chunk-52WLFC77-A0SkaTYM.js";import{t as y}from"./graphlib-B8gBHxth.js";import{n as b}from"./chunk-RYQCIY6F-CtK1BTrZ.js";async function x(t,n){let r=new y({multigraph:!0,compound:!0}),a=[...n.edges],o=i(),c=t.insert(`g`).attr(`class`,`root`),l=c.insert(`g`).attr(`class`,`clusters`),u=c.insert(`g`).attr(`class`,`edges edgePath`),d=c.insert(`g`).attr(`class`,`edgeLabels`),f=c.insert(`g`).attr(`class`,`nodes`),p=new Map,m=t.node()!=null;await Promise.all(n.nodes.map(async e=>{if(e.isGroup)r.setNode(e.id,{...e});else{if(m){let t=await s(f,e,{config:o,dir:e.dir}),n=t.node()?.getBBox()??{width:0,height:0};p.set(e.id,t),e.width=n.width,e.height=n.height}r.setNode(e.id,{...e})}}));for(let e of a)r.setEdge(e.start,e.end,{...e},e.id),n.edges.some(t=>t.id===e.id)||n.edges.push(e);if(globalThis.mermaidCaptureSizes){let{captureNodeSizes:r}=await e(async()=>{let{captureNodeSizes:e}=await import(`./sizeCapture-X5ZJPWSS-B0uUizjq.js`);return{captureNodeSizes:e}},__vite__mapDeps([0,1]));r(t,n)}return{graph:r,groups:{clusters:l,edgePaths:u,edgeLabels:d,nodes:f,rootGroups:c},nodeElements:p}}t(x,`createGraphWithElements`);var S=5,C=1e-5,w=1e-6;function T(e){let t=[];for(let n=0;n<e.length-1;n++)t.push({a:e[n],b:e[n+1]});return t}t(T,`buildSegmentList`);function E(e,t,n,r){let i=t.x-e.x,a=t.y-e.y,o=r.x-n.x,s=r.y-n.y,c=i*s-a*o;if(c===0)return null;let l=n.x-e.x,u=n.y-e.y,d=(l*s-u*o)/c,f=(l*a-u*i)/c;return d<=w||d>=1-w||f<=w||f>=1-w?null:{point:{x:e.x+d*i,y:e.y+d*a},tA:d,tB:f}}t(E,`segmentIntersection`);function D(e){return Math.abs(e.b.x-e.a.x)>=Math.abs(e.b.y-e.a.y)}t(D,`isHorizontalSeg`);function O(e){let t=[];for(let n=0;n<e.length;n++){let r=e[n],i=T(r.points);for(let a=n+1;a<e.length;a++){let n=e[a],o=T(n.points);for(let[e,a]of i.entries())for(let[i,s]of o.entries()){let o=E(a.a,a.b,s.a,s.b);if(!o)continue;let c=D(a);c!==D(s)&&c?t.push({jumpEdgeId:r.id,otherEdgeId:n.id,segIndex:e,t:o.tA,point:o.point}):t.push({jumpEdgeId:n.id,otherEdgeId:r.id,segIndex:i,t:o.tB,point:o.point})}}}return t}t(O,`findEdgeIntersections`);function k(e){return`${Math.round(e*1e3)/1e3}`}t(k,`fmt`);function A(e){return`${k(e.x)},${k(e.y)}`}t(A,`pointToString`);function j(e){let t=e.b.x-e.a.x,n=e.b.y-e.a.y;return Math.abs(t)>=Math.abs(n)?+(t>=0):+(n>=0)}t(j,`getArcSweepFlag`);var ee=.001;function te(e,t){if(e.length<2)return e.map(e=>({...e}));let n=e.map(e=>({...e})),r=t.arrowTypeStart&&f[t.arrowTypeStart];if(r){let t=e[0],i=e[1],a=Math.atan2(i.y-t.y,i.x-t.x);n[0].x=t.x+r*Math.cos(a),n[0].y=t.y+r*Math.sin(a)}let i=t.arrowTypeEnd&&f[t.arrowTypeEnd];if(i){let t=e.length,r=e[t-2],a=e[t-1],o=Math.atan2(a.y-r.y,a.x-r.x);n[t-1].x=a.x-i*Math.cos(o),n[t-1].y=a.y-i*Math.sin(o)}return n}t(te,`applyMarkerOffsets`);function M(e,t,n,r,i){let a=e.point.x,o=e.point.y,s={x:a-t*e.r,y:o-n*e.r},c={x:a+t*e.r,y:o+n*e.r},l=[`L${A(s)}`];return i===`arc`?l.push(`A${k(e.r)},${k(e.r)} 0 0 ${r} ${A(c)}`):l.push(`M${A(c)}`),l}t(M,`emitJump`);function ne(e,t,n,r){let i=t.x-e.x,a=t.y-e.y,o=n.x-t.x,s=n.y-t.y,c=Math.hypot(i,a),l=Math.hypot(o,s);if(c<C||l<C)return null;let u=i/c,d=a/c,f=o/l,p=s/l,m=u*f+d*p,h=Math.acos(Math.max(-1,Math.min(1,m)));if(h<C||Math.abs(Math.PI-h)<C)return null;let g=Math.min(r/Math.sin(h/2),c/2,l/2);return{startX:t.x-u*g,startY:t.y-d*g,endX:t.x+f*g,endY:t.y+p*g,ctrlX:t.x,ctrlY:t.y,cutLen:g}}t(ne,`computeRoundedCorner`);function N(e,t,n){let r=e.points;if(r.length<2)return``;let i=te(r,e),a=e.curve===`rounded`,o=T(i),s=new Map;for(let e of t){let t=o[e.segIndex];if(!t)continue;let r=Math.hypot(t.b.x-t.a.x,t.b.y-t.a.y),i=s.get(e.segIndex)??[];i.push({t:e.t,point:e.point,d:e.t*r,r:n.jumpRadius}),s.set(e.segIndex,i)}let c=[`M${A(i[0])}`];for(let e=0;e<o.length;e++){let t=o[e],r=Math.hypot(t.b.x-t.a.x,t.b.y-t.a.y),l=r===0?0:(t.b.x-t.a.x)/r,u=r===0?0:(t.b.y-t.a.y)/r,d=j(t),f=0;if(a&&e>0){let t=ne(i[e-1],i[e],i[e+1]??i[e],S);t&&(f=t.cutLen)}let p=r,m=null;a&&e<o.length-1&&(m=ne(i[e],i[e+1],i[e+2]??i[e+1],S),m&&(p=r-m.cutLen));let h=[...s.get(e)??[]].sort((e,t)=>e.t-t.t);for(let e of h)e.r=Math.min(e.r,e.d-f,p-e.d);for(let e=0;e<h.length-1;e++){let t=h[e+1].d-h[e].d;if(h[e].r+h[e+1].r>t){let n=t/2;h[e].r=Math.min(h[e].r,n),h[e+1].r=Math.min(h[e+1].r,n)}}for(let e of h)e.r<ee||c.push(...M(e,l,u,d,n.jumpStyle));a&&m?(c.push(`L${k(m.startX)},${k(m.startY)}`),c.push(`Q${k(m.ctrlX)},${k(m.ctrlY)} ${k(m.endX)},${k(m.endY)}`)):c.push(`L${A(t.b)}`)}return c.join(` `)}t(N,`rewriteEdgePath`);function re(e){return/^[\d\s+,.LMelm-]*$/.test(e)}t(re,`isStraightPath`);function P(e){return e?e===`linear`||e===`rounded`||e===`step`||e===`stepBefore`||e===`stepAfter`:!0}t(P,`curveSupportsLineHops`);function ie(e){if(!e)return null;try{let t=typeof atob==`function`?atob(e):Buffer.from(e,`base64`).toString(),n=JSON.parse(t);if(!Array.isArray(n))return null;let r=[];for(let e of n)e&&typeof e.x==`number`&&typeof e.y==`number`&&r.push({x:e.x,y:e.y});return r.length>=2?r:null}catch{return null}}t(ie,`decodeDataPoints`);function ae(e,t,n){if(!n.enabled)return;let r=e.node();if(!r)return;let i=new Map;for(let e of t)i.set(e.id,e);let a=[],o=new Map;for(let e of t){let t=typeof CSS<`u`&&CSS.escape?CSS.escape(e.id):e.id,n=r.querySelector(`path[data-id="${t}"]`);if(!n)continue;o.set(e.id,n);let i=ie(n.getAttribute(`data-points`))??e.points;a.push({...e,points:i})}let s=O(a);if(s.length===0)return;let c=new Map;for(let e of s){let t=c.get(e.jumpEdgeId)??[];t.push(e),c.set(e.jumpEdgeId,t)}for(let e of a){let t=c.get(e.id);if(!t||t.length===0)continue;let r=i.get(e.id)?.curve;if(r!==void 0&&!P(r))continue;let a=o.get(e.id);if(!a||r===void 0&&!re(a.getAttribute(`d`)??``))continue;let s=a.getAttribute(`style`)??``,l=/stroke-dasharray\s*:\s*0\s+([\d.]+)\s+[\d.]+\s+([\d.]+)/.exec(s),u=l?Number.parseFloat(l[1]):null,d=l?Number.parseFloat(l[2]):null,f=N(e,t,n);if(a.setAttribute(`d`,f),u!==null&&d!==null&&typeof a.getTotalLength==`function`){let e=a.getTotalLength(),t=`0 ${u} ${Math.max(0,e-u-d)} ${d}`,n=s.replace(/stroke-dasharray\s*:[^;]*;?/g,`stroke-dasharray: ${t};`).replace(/;\s*;+/g,`;`);a.setAttribute(`style`,n)}}}t(ae,`applyLineJumpsToSvg`);async function oe(e,t){for(let n of e.nodes)n.isGroup?await l(t.clusters,n):c(n);let n=new Map;for(let t of e.nodes)t?.id&&n.set(t.id,t);for(let r of e.edges){let i=r.start?n.get(r.start)??{}:{},a=r.end?n.get(r.end)??{}:{},o=g(t.edgePaths,{...r},{},e.type,i,a,e.diagramId);r.label&&await m(t.rootGroups,r),r.label&&se(r,o)}let r=e.config?.swimlane?.lineHops;if(r!==!1){let n=r===`gap`?`gap`:`arc`,i=e.edges.filter(e=>Array.isArray(e.points)&&e.points.length>=2).map(e=>({id:e.id,points:e.points,curve:e.curve,arrowTypeStart:e.arrowTypeStart,arrowTypeEnd:e.arrowTypeEnd}));ae(t.edgePaths,i,{enabled:!0,jumpRadius:6,jumpStyle:n})}}t(oe,`adjustLayout`);function se(e,t){let i=t?.updatedPath??t?.originalPath,{subGraphTitleTotalMargin:s}=o({flowchart:r().flowchart??{}});if(e.label){let r=h.get(e.id),o=e.x,c=e.y;if(i){let r=a.calcLabelPosition(i);n.debug(`Moving label `+e.label+` from (`,o,`,`,c,`) to (`,r.x,`,`,r.y,`) abc88`),t&&(o=r.x,c=r.y)}r.attr(`transform`,`translate(${o}, ${c+s/2})`)}if(e?.startLabelLeft){let t=_.get(e.id).startLeft,n=e?.x,r=e?.y;if(i){let t=a.calcTerminalLabelPosition(e.arrowTypeStart?10:0,`start_left`,i);n=t.x,r=t.y}t.attr(`transform`,`translate(${n}, ${r})`)}if(e.startLabelRight){let t=_.get(e.id).startRight,n=e.x,r=e.y;if(i){let t=a.calcTerminalLabelPosition(e.arrowTypeStart?10:0,`start_right`,i);n=t.x,r=t.y}t.attr(`transform`,`translate(${n}, ${r})`)}if(e.endLabelLeft){let t=_.get(e.id).endLeft,n=e.x,r=e.y;if(i){let t=a.calcTerminalLabelPosition(e.arrowTypeEnd?10:0,`end_left`,i);n=t.x,r=t.y}t.attr(`transform`,`translate(${n}, ${r})`)}if(e.endLabelRight){let t=_.get(e.id).endRight,n=e.x,r=e.y;if(i){let t=a.calcTerminalLabelPosition(e.arrowTypeEnd?10:0,`end_right`,i);n=t.x,r=t.y}t.attr(`transform`,`translate(${n}, ${r})`)}}t(se,`positionEdgeLabel`);var ce=`__swimlane_default__`,le=21,ue=20;function de(e){return Math.max(e.padding??ue,ue)}t(de,`topLaneHorizontalPadding`);function fe(e){let{x:t,y:n,width:r,height:i}=e,a=e.swimlaneContentTop;if(typeof t!=`number`||typeof n!=`number`||typeof r!=`number`||typeof i!=`number`||typeof a!=`number`||!Number.isFinite(t)||!Number.isFinite(n)||!Number.isFinite(r)||!Number.isFinite(i)||!Number.isFinite(a)||r<=0||i<=0){delete e.groupTitleRect;return}let o=n-i/2,s=Math.min(a,n+i/2),c=o+Math.min(le,Math.max(0,s-o));if(c<=o){delete e.groupTitleRect;return}e.groupTitleRect={left:t-r/2,right:t+r/2,top:o,bottom:c}}t(fe,`assignTopLaneTitleRect`);function pe(e){let t=e.direction,n=e.nodes??=[];for(let n of e.nodes??[])n.isGroup&&!n.parentId&&(n.shape=`swimlane`,t&&(n.direction=t));let r=n.filter(e=>!e.isGroup&&!e.parentId);if(r.length===0)return;let i=n.find(e=>e.id===ce);i?i.isGroup&&(i.shape=`swimlane`,t&&(i.direction=t)):(i={id:ce,label:``,isGroup:!0,shape:`swimlane`,padding:20,...t?{direction:t}:{}},n.push(i));for(let e of r)e.parentId=ce}t(pe,`prepareLayoutForSwimlanes`);function F(e){let t=new Map;for(let n of e.nodes??[])t.set(n.id,n);let n=[];for(let t of e.edges??[]){let e=typeof t.start==`string`?t.start:void 0,r=typeof t.end==`string`?t.end:void 0;!e||!r||t.labelNodeId||n.push({id:t.id,src:e,dst:r,ref:t})}let r=e.nodes??[],i=r.filter(e=>e.isGroup),a=r.filter(e=>!e.isGroup);return{nodes:[...[...i].reverse(),...a].map(e=>e.id),edges:n,layout:e,nodeById:t}}t(F,`toGraphView`);function I(e,t,n,r){let{layout:i}=e,a=e.nodeById,o=r?.layerGap??100,s=r?.nodeGap??40,c=0;for(let e of t.layers){let t=0;for(let r of e){let e=a.get(r);if(!e){t++;continue}e.layer=c,e.order=t;let i=n.x[r]??t*s,l=n.y[r]??c*o;e.x=i,e.y=l,t++}c++}let l=i.nodes??[],u=new Map,d=[];for(let e of l){if(!e?.isGroup)continue;e.parentId||d.push(e);let t=l.filter(t=>t.parentId===e.id),r=1/0,i=-1/0,a=1/0,o=-1/0;for(let e of t){let t=e.x??n.x[e.id],s=e.y??n.y[e.id],c=e.width??0,l=e.height??0;t!=null&&s!=null&&(r=Math.min(r,t-c/2),i=Math.max(i,t+c/2),a=Math.min(a,s-l/2),o=Math.max(o,s+l/2))}if(r===1/0||a===1/0)e.x=e.x??0,e.y=e.y??0,e.width=e.width??0,e.height=e.height??0;else{let t=e.padding??20,n=e.parentId?t:2*de(e),s=t,c=Math.max(0,i-r)+n,l=Math.max(0,o-a)+s,d=(r+i)/2,f=(a+o)/2;e.x=d,e.y=f,e.width=c,e.height=l,u.set(e.id,{minX:r,maxX:i,minY:a,maxY:o})}}if(d.length>0&&u.size>0){let e=1/0,t=-1/0,n=0;for(let r of d){let i=r.padding??20;i>n&&(n=i);let a=u.get(r.id);a&&(e=Math.min(e,a.minY),t=Math.max(t,a.maxY))}if(e!==1/0&&t!==-1/0){let r=Math.max(0,t-e)+2*Math.max(n,36),i=(e+t)/2;for(let t of d)t.y=i,t.height=r,t.swimlaneContentTop=e;let a=[...d].sort((e,t)=>(e.x??0)-(t.x??0)),o=[],s=[],c=[];for(let e of a){let t=u.get(e.id);if(!t)continue;let n=Math.max(0,t.maxX-t.minX)+2*de(e),r=(t.minX+t.maxX)/2;o.push(e.id),s.push(r),c.push(n)}let l=o.length;if(l>0){let e=new Map;if(l===1)e.set(o[0],c[0]);else{let t=[];for(let e=0;e<l-1;e++)t.push(s[e+1]-s[e]);let n=Array(l);n[0]=0;for(let e=0;e<l-1;e++)n[e+1]=2*t[e]-n[e];let r=0,i=1/0;for(let e=0;e<l;e++){let t=c[e];e%2==0?r=Math.max(r,t-n[e]):i=Math.min(i,n[e]-t)}let a=r;a=r<=i?(r+i)/2:r;for(let t=0;t<l;t++){let r=n[t]+(t%2==0?a:-a),i=Math.max(c[t],r);e.set(o[t],i)}}for(let t of d){let n=e.get(t.id);n!=null&&(t.width=n),fe(t)}}}}}t(I,`writeBackToLayoutData`);var me=`[EdgeLabelNodes]`;function he(e){let t=[],r=[],i=new Map;for(let t of e.nodes)i.set(t.id,t);for(let a of e.edges){if(!a.label||a.label.length===0||a.isLayoutOnly||a.labelNodeId)continue;let e=a.start?i.get(a.start):void 0,o=a.end?i.get(a.end):void 0;if(!e||!o){n.warn(me,`Edge ${a.id} has missing source or target node`);continue}let s=`edge-label-${a.start}-${a.end}-${a.id}`,c=e.parentId===o.parentId?e.parentId:o.parentId,l={id:s,label:a.label,edgeStart:a.start??``,edgeEnd:a.end??``,shape:`labelRect`,width:0,height:0,isEdgeLabel:!0,isDummy:!0,parentId:c,isGroup:!1,labelStyle:Array.isArray(a.labelStyle)?a.labelStyle[0]:a.labelStyle??``,...e.dir?{dir:e.dir}:{}};t.push(l),a.labelNodeId=s,a.label=void 0,a.text=void 0;let u={id:`${a.id}-to-label`,start:a.start,end:s,type:`normal`,isLayoutOnly:!0},d={id:`${a.id}-from-label`,start:s,end:a.end,type:`normal`,isLayoutOnly:!0};r.push(u,d)}let a=[...e.nodes,...t],o=[...e.edges,...r];return{...e,nodes:a,edges:o}}t(he,`createEdgeLabelNodes`);var L=.001;function ge(e){let t=e.x??0,n=e.y??0,r=e.width??0,i=e.height??0;return r>0&&i>0?{cx:t,cy:n,rect:Ee(t,n,r,i)}:void 0}t(ge,`measuredNodeRect`);function _e(e){if(e.isGroup)return;let t=ge(e);if(t)return{id:String(e.id??``),cx:t.cx,cy:t.cy,rect:t.rect}}t(_e,`nodeBoundsInfoFor`);function R(e,t,n=L){return Math.abs(e.x-t.x)<n&&Math.abs(e.y-t.y)<n}t(R,`samePoint`);function z(e,t,n=L){return Math.abs(e.x-t.x)<n}t(z,`sameX`);function B(e,t,n=L){return Math.abs(e.y-t.y)<n}t(B,`sameY`);function V(e,t,n=L){return B(e,t,n)&&Math.abs(e.x-t.x)>n}t(V,`isHorizontalSegment`);function H(e,t,n=L){return z(e,t,n)&&Math.abs(e.y-t.y)>n}t(H,`isVerticalSegment`);function U(e,t,n,r){return Math.max(0,Math.min(Math.max(e,t),Math.max(n,r))-Math.max(Math.min(e,t),Math.min(n,r)))}t(U,`overlapLength`);function ve(e,t,n=L){return e.horizontal&&t.horizontal&&B(e.a,t.a,n)?U(e.a.x,e.b.x,t.a.x,t.b.x):e.vertical&&t.vertical&&z(e.a,t.a,n)?U(e.a.y,e.b.y,t.a.y,t.b.y):0}t(ve,`sameAxisSegmentOverlapLength`);function ye(e,t=L){let n=[];for(let r=0;r<e.length-1;r++){let i=e[r],a=e[r+1],o=V(i,a,t),s=H(i,a,t);(o||s)&&n.push({index:r,a:i,b:a,horizontal:o,vertical:s})}return n}t(ye,`orthogonalSegmentsForPoints`);function W(e,t=L){let n=ye(e,t),r=0;for(let e=1;e<n.length;e++)n[e-1].horizontal!==n[e].horizontal&&r++;return r}t(W,`countOrthogonalBends`);function G(e,t=L){let n=[];for(let r of e){let e=n.length>0?n[n.length-1]:void 0;(!e||!R(e,r,t))&&n.push({x:r.x,y:r.y})}return n}t(G,`dedupeConsecutivePoints`);function be(e,t=L){if(!e||e.length!==4)return;let[n,r,i,a]=e;return V(n,r,t)&&H(r,i,t)&&V(i,a,t)?{kind:`HVH`,p0:n,p1:r,p2:i,p3:a}:H(n,r,t)&&V(r,i,t)&&H(i,a,t)?{kind:`VHV`,p0:n,p1:r,p2:i,p3:a}:void 0}t(be,`classifyThreeSegmentRoute`);function xe(e,t,n,r=0){let i=Math.min(e.x,t.x),a=Math.max(e.x,t.x),o=Math.min(e.y,t.y),s=Math.max(e.y,t.y);return a>n.left-r&&i<n.right+r&&s>n.top-r&&o<n.bottom+r}t(xe,`segmentBoundsOverlapRect`);function Se(e,t,n=0){return e.x>t.left+n&&e.x<t.right-n&&e.y>t.top+n&&e.y<t.bottom-n}t(Se,`pointInsideRect`);function Ce(e,t){return e.left<=t.left&&e.right>=t.right&&e.top<=t.top&&e.bottom>=t.bottom}t(Ce,`rectContainsRect`);function we(e,t){return e.left<t.right&&e.right>t.left&&e.top<t.bottom&&e.bottom>t.top}t(we,`rectsOverlap`);function Te(e,t){return{left:e.left-t,right:e.right+t,top:e.top-t,bottom:e.bottom+t}}t(Te,`inflateRect`);function Ee(e,t,n,r){return{left:e-n/2,right:e+n/2,top:t-r/2,bottom:t+r/2}}t(Ee,`rectFromCenterSize`);function K(e){return ge(e)?.rect}t(K,`rectOfNodeBounds`);function De(e,t){switch(t){case`top`:return{x:e.cx,y:e.rect.top};case`bottom`:return{x:e.cx,y:e.rect.bottom};case`left`:return{x:e.rect.left,y:e.cy};case`right`:return{x:e.rect.right,y:e.cy}}}t(De,`portForRectSide`);function Oe(e,t,n,r,i,a=L){let o=t===`left`||t===`right`,s=r===`left`||r===`right`;if(o&&s){if(t===`right`&&r===`left`&&e.x<n.x||t===`left`&&r===`right`&&e.x>n.x){if(B(e,n,a))return[e,n];let t=(e.x+n.x)/2;return[e,{x:t,y:e.y},{x:t,y:n.y},n]}if(t===r){if(B(e,n,a))return;let r=t===`left`?Math.min(e.x,n.x)-i:Math.max(e.x,n.x)+i;return[e,{x:r,y:e.y},{x:r,y:n.y},n]}return}if(!o&&!s){if(t===r){if(z(e,n,a))return;let r=t===`top`?Math.min(e.y,n.y)-i:Math.max(e.y,n.y)+i;return[e,{x:e.x,y:r},{x:n.x,y:r},n]}if(!(t===`bottom`&&r===`top`&&e.y<n.y||t===`top`&&r===`bottom`&&e.y>n.y))return;if(z(e,n,a))return[e,n];let o=(e.y+n.y)/2;return[e,{x:e.x,y:o},{x:n.x,y:o},n]}if(o&&!s){let i=t===`right`&&n.x>e.x||t===`left`&&n.x<e.x,a=r===`top`&&e.y<n.y||r===`bottom`&&e.y>n.y;return i&&a?[e,{x:n.x,y:e.y},n]:void 0}let c=t===`bottom`&&n.y>e.y||t===`top`&&n.y<e.y,l=r===`left`&&e.x<n.x||r===`right`&&e.x>n.x;return c&&l?[e,{x:e.x,y:n.y},n]:void 0}t(Oe,`buildOrthogonalPortPath`);function ke(e,t,n,r){return t===`left`||t===`right`?[e,{x:r,y:e.y},{x:r,y:n.y},n]:[e,{x:e.x,y:r},{x:n.x,y:r},n]}t(ke,`buildSameSideTrackPath`);function Ae(e){let t=new Map,n=[];for(let r of e){if(r.isEdgeLabel)continue;let e=_e(r);e&&(t.set(e.id,e),n.push({id:e.id,rect:e.rect}))}return{nodeInfoById:t,realNodeRects:n}}t(Ae,`collectRealNodeBounds`);function je(e){let t=[],n=[];for(let r of e){let e=_e(r);if(!e)continue;let i={id:e.id,rect:e.rect};r.isEdgeLabel?n.push(i):t.push(i)}return{realNodeRects:t,labelNodeRects:n}}t(je,`collectNodeRectEntries`);function Me(e,{includeEdgeLabels:t=!0}={}){let n=[];for(let r of e){if(r.isGroup||!t&&r.isEdgeLabel)continue;let e=r.x??0,i=r.y??0,a=r.width??0,o=r.height??0;n.push({nodeId:r.id,...Ee(e,i,a,o)})}return n}t(Me,`collectLayoutNodeRects`);function Ne(e,t,n=L){let r=e.start,i=e.end;if(!r||!i)return;let a=t.get(r),o=t.get(i);if(!(!a||!o))return{srcId:r,dstId:i,srcInfo:a,dstInfo:o,collinearX:Math.abs(a.cx-o.cx)<n,collinearY:Math.abs(a.cy-o.cy)<n}}t(Ne,`getNodePairGeometry`);function q(e,t,n,r=[],i=0){for(let a of n)if(!r.includes(a.id)&&xe(e,t,a.rect,-i))return!0;return!1}t(q,`segmentHitsAnyRect`);function Pe(e,t,n,r,i=L,a=1e-6){let o=B(e,t,i),s=z(e,t,i),c=B(n,r,i),l=z(n,r,i);if(o&&c||s&&l||!(o||s)||!(c||l))return!1;let u=o?{a:e,b:t}:{a:n,b:r},d=s?{a:e,b:t}:{a:n,b:r},f=u.a.y,p=Math.min(u.a.x,u.b.x),m=Math.max(u.a.x,u.b.x),h=d.a.x,g=Math.min(d.a.y,d.b.y),_=Math.max(d.a.y,d.b.y);if(h<p||h>m||f<g||f>_)return!1;let v=Math.abs(h-u.a.x)<a&&Math.abs(f-u.a.y)<a||Math.abs(h-u.b.x)<a&&Math.abs(f-u.b.y)<a,y=Math.abs(h-d.a.x)<a&&Math.abs(f-d.a.y)<a||Math.abs(h-d.b.x)<a&&Math.abs(f-d.b.y)<a;return!(v&&y)}t(Pe,`orthogonalSegmentsCross`);function Fe(e,t,n,r,i=L){let a=B(e,t,i),o=z(e,t,i),s=B(n,r,i),c=z(n,r,i);return o&&c&&z(e,n,i)?U(e.y,t.y,n.y,r.y)>i:a&&s&&B(e,n,i)?U(e.x,t.x,n.x,r.x)>i:!1}t(Fe,`sameAxisSegmentsOverlap`);function Ie(e,t,n,r,{epsilon:i=L,skipDegenerateOther:a=!1}={}){for(let o of n){if(o===r||o.isLayoutOnly)continue;let n=o.points;if(!(!n||n.length<2))for(let r=0;r<n.length-1;r++){let o=n[r],s=n[r+1];if(!(a&&R(o,s,i))&&(Pe(e,t,o,s,i)||Fe(e,t,o,s,i)))return!0}}return!1}t(Ie,`segmentConflictsWithAnyEdge`);function Le(e,t,n,r,i=L){let a=B(e,t,i),o=z(e,t,i),s=B(n,r,i),c=z(n,r,i);if(!(a&&c||o&&s))return!1;let l=a?{a:e,b:t}:{a:n,b:r},u=a?{a:n,b:r}:{a:e,b:t},d=l.a.y,f=Math.min(l.a.x,l.b.x),p=Math.max(l.a.x,l.b.x),m=u.a.x,h=Math.min(u.a.y,u.b.y),g=Math.max(u.a.y,u.b.y);return m>f+i&&m<p-i&&d>h+i&&d<g-i}t(Le,`orthogonalSegmentsStrictlyCross`);function Re(e,t,n){let r=Math.min(t,n),i=Math.max(t,n);return e>r+L&&e<i-L}t(Re,`strictlyBetween`);function ze(e,t,n){return z(e,t)&&z(t,n)?Re(t.y,e.y,n.y):B(e,t)&&B(t,n)?Re(t.x,e.x,n.x):!1}t(ze,`isCollinearIntermediate`);function Be(e){let t=!1,n=[];for(let r=0;r<e.length;r++){let i=n[n.length-1],a=e[r],o=r+1<e.length?e[r+1]:void 0;if(i&&o){if(R(i,o)){r++,t=!0;continue}if(ze(i,a,o)){t=!0;continue}}n.push(a)}return{points:n,changed:t}}t(Be,`simplifyPolylineOnce`);function Ve(e){let t=[e[0]];for(let n=1;n<e.length;n++){let r=t[t.length-1],i=e[n];if(!z(r,i)&&!B(r,i)){let e=t.length>=2?t[t.length-2]:void 0,n=e&&z(e,r)?{x:r.x,y:i.y}:{x:i.x,y:r.y};t.push(n)}t.push(i)}let n=[];for(let e of t){let t=n[n.length-1];(!t||!R(t,e))&&n.push(e)}return n}t(Ve,`orthogonalizePolyline`);function He(e){if(e.length<3)return e;let t=[...e];for(let e=0;e<32;e++){let e=Be(t);if(t=e.points,!e.changed)break}return t}t(He,`simplifyPolyline`);var J=.001,Ue=.5,We=4;function Ge(e,t,n){let r=e;if(r.isLayoutOnly||!r.points||r.points.length<n)return;let i=r.start?t.get(r.start):void 0,a=r.end?t.get(r.end):void 0;return{edge:r,points:r.points,srcRect:i?K(i):void 0,dstRect:a?K(a):void 0}}t(Ge,`endpointContextFor`);function Ke(e,t,n){if(B(e,t,J))return{x:e.x<n.left?n.left:n.right,y:e.y};if(z(e,t,J)){let t=e.y<n.top?n.top:n.bottom;return{x:e.x,y:t}}return{x:Math.min(n.right,Math.max(n.left,e.x)),y:Math.min(n.bottom,Math.max(n.top,e.y))}}t(Ke,`segmentEnterPoint`);function qe(e,t,n){let r=n?1:-1,i=n?0:e.length-1;for(;i>=0&&i<e.length&&Se(e[i],t,Ue);)i+=r;if(i<0||i>=e.length)return e;let a=i-r;if(a<0||a>=e.length)return e;let o=Ke(e[i],e[a],t);return n?[o,...e.slice(i)]:[...e.slice(0,i+1),o]}t(qe,`clipEndpoint`);function Je(e,t){for(let n of e){let e=Ge(n,t,2);if(!e)continue;let r=[...e.points];e.srcRect&&(r=qe(r,e.srcRect,!0)),e.dstRect&&(r=qe(r,e.dstRect,!1)),r=He(Ve(r)),r=at(r,e.srcRect,e.dstRect),e.edge.points=He(Ve(r))}}t(Je,`clipEdgeEndpointsToNodeBoundaries`);function Ye(e,t,n,r=!1){if(B(e,t,J)){if(t.y<n.top-J||t.y>n.bottom+J)return t;if(r){if(e.x<n.left-J)return{x:n.left,y:e.y};if(e.x>n.right+J)return{x:n.right,y:e.y}}return{x:Math.abs(t.x-n.left)<=Math.abs(t.x-n.right)?n.left:n.right,y:e.y}}if(z(e,t,J)){if(t.x<n.left-J||t.x>n.right+J)return t;if(r){if(e.y<n.top-J)return{x:e.x,y:n.top};if(e.y>n.bottom+J)return{x:e.x,y:n.bottom}}let i=Math.abs(t.y-n.top)<=Math.abs(t.y-n.bottom);return{x:e.x,y:i?n.top:n.bottom}}return t}t(Ye,`snapEndpointToBoundary`);function Xe(e,t,n){let r=e[t];for(let i=t+n;i>=0&&i<e.length;i+=n){let t=e[i];if(!R(t,r,J))return t}return e[t+n]}t(Xe,`firstDistinctAdjacent`);function Ze(e,t){let n=e+We,r=t-We;return n<=r?{lo:n,hi:r}:{lo:(e+t)/2,hi:(e+t)/2}}t(Ze,`cornerClearanceRange`);function Qe(e,t,n){let{lo:r,hi:i}=Ze(t,n);return Math.min(i,Math.max(r,e))}t(Qe,`clampToCornerClearance`);function $e(e){let t=Math.max(...e.map(e=>e.lo)),n=Math.min(...e.map(e=>e.hi));if(!(t>n))return{lo:t,hi:n}}t($e,`intersectRanges`);function et(e,t){return t===`left`||t===`right`?Ze(e.top,e.bottom):Ze(e.left,e.right)}t(et,`clearanceRangeForSide`);function tt(e,t,n){let r=e.y>=n.top-J&&e.y<=n.bottom+J,i=e.x>=n.left-J&&e.x<=n.right+J;if(B(e,t,J)&&r){if(Math.abs(e.x-n.left)<J)return`left`;if(Math.abs(e.x-n.right)<J)return`right`}if(z(e,t,J)&&i){if(Math.abs(e.y-n.top)<J)return`top`;if(Math.abs(e.y-n.bottom)<J)return`bottom`}}t(tt,`terminalSideForSegment`);function nt(e){return e===`left`||e===`right`}t(nt,`isHorizontalSide`);function rt(e,t,n,r,i){let a=[],o=n?tt(e,t,n):void 0,s=r?tt(t,e,r):void 0;return n&&o&&nt(o)===i&&a.push(et(n,o)),r&&s&&nt(s)===i&&a.push(et(r,s)),a.length>0?$e(a):void 0}t(rt,`straightClearanceRange`);function it(e,t,n,r,i){let a=rt(e,t,n,r,i);if(!a)return;let o=i?e.y:e.x,s=Math.min(a.hi,Math.max(a.lo,o));if(!(Math.abs(s-o)<J))return i?[{x:e.x,y:s},{x:t.x,y:s}]:[{x:s,y:e.y},{x:s,y:t.y}]}t(it,`clearStraightEndpointCornerAxis`);function at(e,t,n){if(e.length!==2)return e;let[r,i]=e;return B(r,i,J)?it(r,i,t,n,!0)??e:z(r,i,J)?it(r,i,t,n,!1)??e:e}t(at,`clearStraightEndpointCornerConnections`);function ot(e,t,n){return nt(n)?{x:e.x,y:Qe(e.y,t.top,t.bottom)}:{x:Qe(e.x,t.left,t.right),y:e.y}}t(ot,`cornerClearedEndpoint`);function st(e,t,n,r,i,a){let o=e.map(e=>({...e}));for(let s=t;s>=0&&s<e.length;s+=n){let t=e[s];if(a&&!B(t,r,J)||!a&&!z(t,r,J))break;a?o[s].y=i.y:o[s].x=i.x}return o}t(st,`moveCollinearEndpointRun`);function ct(e,t,n){if(e.length<2)return e;let r=n?0:e.length-1,i=n?1:-1,a=e[r],o=Xe(e,r,i);if(!o)return e;let s=tt(a,o,t);if(!s)return e;let c=nt(s),l=ot(a,t,s);return R(a,l,J)?e:st(e,r,i,a,l,c)}t(ct,`clearEndpointCornerConnection`);function lt(e,t,n){let r=Math.min(e.x,t.x)>=n.left-J&&Math.max(e.x,t.x)<=n.right+J,i=Math.min(e.y,t.y)>=n.top-J&&Math.max(e.y,t.y)<=n.bottom+J;if(Math.abs(e.y-n.top)<J&&Math.abs(t.y-n.top)<J&&r)return`top`;if(Math.abs(e.y-n.bottom)<J&&Math.abs(t.y-n.bottom)<J&&r)return`bottom`;if(Math.abs(e.x-n.left)<J&&Math.abs(t.x-n.left)<J&&i)return`left`;if(Math.abs(e.x-n.right)<J&&Math.abs(t.x-n.right)<J&&i)return`right`}t(lt,`borderSideForSegment`);function ut(e,t,n,r){switch(e){case`top`:return z(t,n,J)&&n.y<r.top-J;case`bottom`:return z(t,n,J)&&n.y>r.bottom+J;case`left`:return B(t,n,J)&&n.x<r.left-J;case`right`:return B(t,n,J)&&n.x>r.right+J}}t(ut,`leavesOutward`);function dt(e,t,n){if(e.length<3)return e;if(n){let n=lt(e[0],e[1],t);return n&&ut(n,e[1],e[2],t)?e.slice(1):e}let r=e.length-1,i=lt(e[r-1],e[r],t);return i&&ut(i,e[r-1],e[r-2],t)?e.slice(0,r):e}t(dt,`collapseOwnBorderStub`);function ft(e,t,n){let r=e;if(t){let e=Xe(r,0,1);if(e){let n=Ye(e,r[0],t);n!==r[0]&&(r=[n,...r.slice(1)])}r=dt(r,t,!0)}if(n){let e=r.length-1,t=Xe(r,e,-1);if(t){let i=Ye(t,r[e],n,!0);i!==r[e]&&(r=[...r.slice(0,e),i])}r=dt(r,n,!1)}let i=at(r,t,n);return i!==r||r.length===2?i:(t&&(r=ct(r,t,!0)),n&&(r=ct(r,n,!1)),r)}t(ft,`snapAndCollapseEndpoints`);function pt(e,t){for(let n of e){let e=Ge(n,t,2);if(!e)continue;let r=ft(G(e.points,J),e.srcRect,e.dstRect);if(r.length<3){e.edge.points=r;continue}let i=[r[0],{...r[0]},...r.slice(1,-1),r[r.length-1],{...r[r.length-1]}];e.edge.points=i}}t(pt,`prepareEdgeEndpointsForRenderer`);function mt(e){return new Map(e.map(e=>[e.id,e]))}t(mt,`buildNodeMap`);function ht(e,t){let n=e.parentId,r=null;for(;n;){let e=t.get(n);if(!e?.isGroup)break;r=e.id,n=e.parentId}return r}t(ht,`resolveTopLevelGroupId`);function gt(e,t){let n=0,r=e.parentId;for(;r;){let e=t.get(r);if(!e?.isGroup)break;n++,r=e.parentId}return n}t(gt,`groupDepth`);function _t(e){let t=1/0,n=-1/0,r=1/0,i=-1/0;for(let a of e){let e=a.x,o=a.y;if(typeof e!=`number`||typeof o!=`number`)continue;let s=a.width??0,c=a.height??0;t=Math.min(t,e-s/2),n=Math.max(n,e+s/2),r=Math.min(r,o-c/2),i=Math.max(i,o+c/2)}return t===1/0||r===1/0?null:{minX:t,maxX:n,minY:r,maxY:i}}t(_t,`boundsForChildren`);function vt(e,t){let n=e.padding??20;e.x=(t.minX+t.maxX)/2,e.y=(t.minY+t.maxY)/2,e.width=Math.max(0,t.maxX-t.minX)+n,e.height=Math.max(0,t.maxY-t.minY)+n}t(vt,`applyGroupBounds`);function yt(e){let t=mt(e),n=e.filter(e=>e.isGroup&&e.parentId).sort((e,n)=>gt(n,t)-gt(e,t));for(let t of n){let n=_t(e.filter(e=>e.parentId===t.id));n&&vt(t,n)}}t(yt,`recomputeNestedGroupBounds`);function bt(e,n){let r=e.nodes??[],i=e.edges??[],a=r.filter(e=>!e.isGroup),o=1/0,s=-1/0;for(let e of a){let t=e[n];typeof t==`number`&&(o=Math.min(o,t),s=Math.max(s,t))}if(!Number.isFinite(o)||!Number.isFinite(s))return!1;let c=t(e=>o+s-e,`mirror`);for(let e of r){let t=e[n];typeof t==`number`&&(e[n]=c(t));let r=e.groupTitleRect;r&&(e.groupTitleRect=n===`x`?{...r,left:c(r.right),right:c(r.left)}:{...r,top:c(r.bottom),bottom:c(r.top)})}for(let e of i)for(let t of e.points??[])t[n]=c(t[n]);return!0}t(bt,`mirrorAxis`);function xt(e){return(e.nodes??[]).some(e=>!e.isGroup)?bt(e,`y`):!0}t(xt,`applyBtDirectionTransform`);function St(e,t=`LR`){let n=e.nodes??[],r=e.edges??[],i=n.filter(e=>!e.isGroup),a=1/0,o=1/0;for(let e of i){let t=e.x??0,n=e.y??0;t<a&&(a=t),n<o&&(o=n)}if(!Number.isFinite(a)||!Number.isFinite(o))return!1;let s=0,c=0;for(let e of i)s+=e.width??0,c+=e.height??0;let l=s/i.length,u=c/i.length,d=u>0?Math.max(1,l/u):1;for(let e of i){let t=e.x??0,n=((e.y??0)-o)*d+36,r=t-a;e.x=n,e.y=r}for(let e of r)if(e.points)for(let t of e.points){let e=t.x,n=(t.y-o)*d+36,r=e-a;t.x=n,t.y=r}yt(n);let f=n.filter(e=>e.isGroup&&!e.parentId);if(f.length===0)return t===`RL`&&bt(e,`x`),!0;let p=mt(n),m=new Map;for(let e of n){if(e.isGroup)continue;let t=ht(e,p);if(!t)continue;let n=m.get(t)??[];n.push(e),m.set(t,n)}let h=0;for(let e of f){let t=e.padding??0;t>h&&(h=t)}let g=[],_=1/0,v=-1/0;for(let e of f){let t=_t(m.get(e.id)??[]);t&&(_=Math.min(_,t.minX),v=Math.max(v,t.maxX),g.push({lane:e,contentTop:t.minY,contentBottom:t.maxY,centerY:(t.minY+t.maxY)/2}))}if(_===1/0||v===-1/0)return!0;let y=Math.max(0,v-_)+2*Math.max(h,10),b=36+y,x=(_+v)/2-y/2-36,S=x+b/2,C=Math.max(h,36);g.sort((e,t)=>e.centerY-t.centerY);for(let e=0;e<g.length;e++){let t=g[e],n,r;if(n=e===0?t.contentTop-C:(g[e-1].contentBottom+t.contentTop)/2,e===g.length-1)r=t.contentBottom+C;else{let n=g[e+1];r=(t.contentBottom+n.contentTop)/2}let i=Math.max(0,r-n),a=(n+r)/2;t.lane.x=S,t.lane.y=a,t.lane.width=b,t.lane.height=i,t.lane.swimlaneContentTop=t.contentTop,t.lane.groupTitleRect={left:x,right:x+36,top:n,bottom:r}}return t===`RL`&&bt(e,`x`),!0}t(St,`applyLrDirectionTransform`);var Ct=1e-6,wt=8,Tt=[0,wt,-wt,2*wt,-2*wt];function Et(e,t){let{nodeInfoById:n,realNodeRects:r}=Ae(t);for(let t of e){if(t.isLayoutOnly)continue;let i=t.points;if(!i||i.length<4)continue;let a=be(G(i,Ct),Ct);if(!a)continue;let{p3:o}=a,s=a.kind===`HVH`,c=Ne(t,n,Ct);if(!c)continue;let{srcId:l,dstId:u,srcInfo:d,dstInfo:f,collinearX:p,collinearY:m}=c;if(p||m)continue;let h,g=d.rect;for(let n of Tt){let i,a,c;if(s){let e=f.cy>d.cy?g.bottom:g.top,t=d.cx+n;if(t<=g.left+Ct||t>=g.right-Ct)continue;i={x:t,y:e},a={x:t,y:o.y},c={x:o.x,y:o.y}}else{let e=f.cx>d.cx?g.right:g.left,t=d.cy+n;if(t<=g.top+Ct||t>=g.bottom-Ct)continue;i={x:e,y:t},a={x:o.x,y:t},c={x:o.x,y:o.y}}let p=R(i,a,Ct),m=R(a,c,Ct);if(p&&m||!p&&q(i,a,r,[l],1)||!m&&q(a,c,r,[u],1))continue;let _=!p&&Ie(i,a,e,t,{epsilon:Ct,skipDegenerateOther:!0}),v=!m&&Ie(a,c,e,t,{epsilon:Ct,skipDegenerateOther:!0});if(!(_||v)){h=p?[a,c]:m?[i,a]:[i,a,c];break}}h&&(t.points=h)}}t(Et,`portSwapToLShape`);function Dt(e,n){let r=.001,{realNodeRects:i,labelNodeRects:a}=je(n.values());for(let o of e){if(o.isLayoutOnly)continue;let s=o.points;if(!s||s.length<4)continue;let c=G(s,r);if(c.length<4)continue;let l=c.length-1,u=c[l],d=c[l-1],f=c[l-2],p=u.x-d.x,m=u.y-d.y,h=Math.hypot(p,m);if(h>=10||h<r)continue;let g=d.x-f.x,_=d.y-f.y;if(Math.hypot(g,_)<r)continue;let v=V(d,u,r),y=H(d,u,r),b=V(f,d,r),x=H(f,d,r);if(!(v&&x||y&&b))continue;let S=o.end,C=o.start,w=S?n.get(S):void 0;if(!w)continue;let T=w.x??0,E=w.y??0,D=K(w);if(!D)continue;let O,k;if(x){let e=_<0;O={x:T,y:f.y},k={x:T,y:e?D.bottom:D.top}}else{let e=g>0;O={x:f.x,y:E},k={x:e?D.right:D.left,y:E}}if(q(O,k,i,S?[S]:[],-2)||q(O,k,a,[],-2))continue;if(C){let e=n.get(C),t=e?K(e):void 0;if(t&&Se(O,t,2))continue}let A=t((e,t)=>`${e.x.toFixed(3)},${e.y.toFixed(3)}|${t.x.toFixed(3)},${t.y.toFixed(3)}`,`ownSegmentKey`),j=new Set;for(let e=0;e<c.length-1;e++)j.add(A(c[e],c[e+1]));let ee=t((t,n)=>{for(let i of e){if(i===o||i.isLayoutOnly)continue;let e=i.points;if(!(!e||e.length<2))for(let i=0;i<e.length-1;i++){let a=e[i],o=e[i+1];if(!j.has(A(a,o))&&Le(t,n,a,o,r))return!0}}return!1},`segmentCrossesOtherEdge`);if(ee(O,k))continue;if(l-3>=0){let e=c[l-3],t=[C,S].filter(e=>!!e);if(q(e,O,i,t,-2)||ee(e,O))continue}let te=[...c.slice(0,l-2),O,k];o.points=te;let M=o.labelNodeId;if(M){let e=n.get(M);if(e){let t=e.width??0,n=e.height??0;if(t>0&&n>0){let i,a,o=-1;for(let e=0;e<te.length-1;e++){let s=te[e],c=te[e+1],l=Math.hypot(c.x-s.x,c.y-s.y),u=B(s,c,r),d=z(s,c,r);(u&&l>=t+2||d&&l>=n+2)&&l>o&&(o=l,i=(s.x+c.x)/2,a=(s.y+c.y)/2)}i!==void 0&&a!==void 0&&(e.x=i,e.y=a)}}}}}t(Dt,`collapseShortTerminalStub`);var Y=.001,X=8,Z=ye,Ot=t((e,t)=>z(e,t,Y)||B(e,t,Y),`orthogonallyAligned`);function kt(e,n){let r=t((e,t)=>{let n=e.x??0,r=e.y??0,i=t.x-n,a=t.y-r,o=(e.width??0)/2,s=(e.height??0)/2;return Math.abs(a)*o>Math.abs(i)*s?(a<0&&(s=-s),{x:n+(a===0?0:s*i/a),y:r+s}):(i<0&&(o=-o),{x:n+o,y:r+(i===0?0:o*a/i)})},`rectIntersect`),i=t((e,t)=>{let i=G(e.points??[]);if(i.length<2)return;let a=t?e.start:e.end,o=a?n.get(a):void 0,s=o?K(o):void 0;if(!o||!a||!s)return;let c=t?i[0]:i[i.length-1],l=t?i[1]:i[i.length-2],u=r(o,c),d=c;if(Ot(l,u)&&(d=l),z(u,d,Y))return{edge:e,edgeId:String(e.id??``),nodeId:a,atStart:t,orientation:`V`,coord:u.x,min:Math.min(u.y,d.y),max:Math.max(u.y,d.y),boundary:u,railEnd:d,rect:s};if(B(u,d,Y))return{edge:e,edgeId:String(e.id??``),nodeId:a,atStart:t,orientation:`H`,coord:u.y,min:Math.min(u.x,d.x),max:Math.max(u.x,d.x),boundary:u,railEnd:d,rect:s}},`terminalLaneFor`),a=t((e,t)=>Math.max(0,Math.min(e.max,t.max)-Math.max(e.min,t.min)),`projectedOverlapLength`),o=t((e,t)=>e.nodeId!==t.nodeId||e.orientation!==t.orientation?!1:e.orientation===`H`?(Math.abs(e.boundary.x-e.rect.left)<1||Math.abs(e.boundary.x-e.rect.right)<1)&&z(e.boundary,t.boundary,1):(Math.abs(e.boundary.y-e.rect.top)<1||Math.abs(e.boundary.y-e.rect.bottom)<1)&&B(e.boundary,t.boundary,1),`sameTerminalFace`),s=t((e,t)=>e.nodeId!==t.nodeId||e.orientation!==t.orientation?!1:a(e,t)>=X&&Math.abs(e.coord-t.coord)<.5,`exactTerminalLaneConflict`),c=t((e,t)=>{if(e.nodeId!==t.nodeId||e.orientation!==t.orientation||e.orientation!==`H`||e.atStart===t.atStart)return!1;let n=a(e,t);if(n<X)return!1;let r=e.rect.bottom-e.rect.top;return n<r||n>2*r?!1:o(e,t)&&Math.abs(e.coord-t.coord)<16},`nearTerminalLaneConflict`),l=t((e,n)=>{let r=G(e.edge.points??[]);if(r.length<2)return;let i=e.orientation===`V`?{x:e.boundary.x+n,y:e.boundary.y}:{x:e.boundary.x,y:e.boundary.y+n},a=e.orientation===`V`?{x:e.railEnd.x+n,y:e.railEnd.y}:{x:e.railEnd.x,y:e.railEnd.y+n};if(!t(()=>Math.abs(e.boundary.y-e.rect.top)<1||Math.abs(e.boundary.y-e.rect.bottom)<1?B(i,e.boundary,Y)&&i.x>=e.rect.left+1&&i.x<=e.rect.right-1:Math.abs(e.boundary.x-e.rect.left)<1||Math.abs(e.boundary.x-e.rect.right)<1?z(i,e.boundary,Y)&&i.y>=e.rect.top+1&&i.y<=e.rect.bottom-1:!1,`boundaryStaysOnSameFace`)())return;if(e.atStart){let t=r.length>1&&R(r[1],e.railEnd,Y),n=r.slice(t?2:1),o=n[0];return o&&!Ot(o,a)?void 0:[i,a,...n]}let o=r.length>1&&R(r[r.length-2],e.railEnd,Y),s=r.slice(0,o?-2:-1),c=s[s.length-1];if(!(c&&!Ot(c,a)))return[...s,a,i]},`shiftedCandidate`),u=t(e=>{let t=e.edge,r=G(t.points??[]);if(r.length!==2)return!1;let i=t.start,a=t.end,o=i?n.get(i):void 0,s=a?n.get(a):void 0;if(!o||!s)return!1;let c=o.x??0,l=o.y??0,u=s.x??0,d=s.y??0,[f,p]=r;return B(f,p,Y)&&Math.abs(l-d)<1&&Math.abs(c-u)>1||z(f,p,Y)&&Math.abs(c-u)<1&&Math.abs(l-d)>1},`laneIsStraightCollinearConnector`),d=[-7,7,-14,14,-21,21];for(let t=0;t<8;t++){let t=e.filter(e=>!e.isLayoutOnly).flatMap(e=>[i(e,!0),i(e,!1)]).filter(e=>!!e),n=!1;for(let e=0;e<t.length&&!n;e++)for(let r=e+1;r<t.length&&!n;r++){let a=t[e],o=t[r];if(a.edge===o.edge||!(s(a,o)||c(a,o)))continue;let f=!s(a,o),p=[a,o].sort((e,t)=>{let n=u(e),r=u(t);return n===r?Number(!t.atStart)-Number(!e.atStart):Number(n)-Number(r)});for(let e of p){for(let r of d){let a=l(e,r);if(!a)continue;let o=i({...e.edge,points:a},e.atStart);if(!(!o||t.some(t=>t.edge!==e.edge&&(s(o,t)||f&&c(o,t))))){e.edge.points=a,n=!0;break}}if(n)break}}if(!n)return}}t(kt,`separateSharedRenderedTerminalLanes`);function At(e,n){let{realNodeRects:r,labelNodeRects:i}=je(n.values()),a=t((t,n)=>{let a=t.start,o=t.end,s=Z(n);if(s.length!==n.length-1)return!1;let c=[a,o].filter(e=>!!e);for(let e of s)if(q(e.a,e.b,r,c,-2)||q(e.a,e.b,i,[],-2))return!1;for(let n of e){if(n===t||n.isLayoutOnly)continue;let e=n.points;if(!(!e||e.length<2)){for(let t of s)for(let n of Z(G(e)))if(ve(t,n,.5)>=X||Le(t.a,t.b,n.a,n.b,Y))return!1}}return!0},`candidateIsSafe`),o=t((e,t)=>{if(t+4>=e.length)return;let n=e[t],r=e[t+1],i=e[t+2],a=e[t+3],o=e[t+4],s=V(n,r)&&H(r,i)&&V(i,a)&&H(a,o)&&z(n,a,Y)&&z(n,o,Y)&&z(r,i,Y)&&(r.x-n.x)*(a.x-i.x)<0,c=H(n,r)&&V(r,i)&&H(i,a)&&V(a,o)&&B(n,a,Y)&&B(n,o,Y)&&B(r,i,Y)&&(r.y-n.y)*(a.y-i.y)<0;if(s||c)return G([...e.slice(0,t+1),o,...e.slice(t+5)]);if(t+5>=e.length)return;let l=e[t+5],u=H(n,r)&&V(r,i)&&H(i,a)&&V(a,o)&&H(o,l)&&z(n,o,Y)&&z(n,l,Y)&&z(i,a,Y)&&(i.x-r.x)*(o.x-a.x)<0,d=V(n,r)&&H(r,i)&&V(i,a)&&H(a,o)&&V(o,l)&&B(n,o,Y)&&B(n,l,Y)&&B(i,a,Y)&&(i.y-r.y)*(o.y-a.y)<0;if(!(!u&&!d))return G([...e.slice(0,t+1),l,...e.slice(t+6)])},`withoutDogleg`);for(let t=0;t<8;t++){let t=!1;for(let n of e){if(n.isLayoutOnly)continue;let e=G(n.points??[]);for(let r=0;r<=e.length-5;r++){let i=o(e,r);if(!(!i||!a(n,i))){n.points=i,t=!0;break}}if(t)break}if(!t)return}}t(At,`collapseRedundantRectangularDoglegs`);function jt(e,n){let{realNodeRects:r,labelNodeRects:i}=je(n.values()),a=e.filter(e=>!e.isLayoutOnly),o=t((e,t,n)=>G(e===t?n??[]:e.points??[]),`pointsFor`),s=t((e,t)=>{let n=0;for(let r=0;r<a.length;r++){let i=Z(o(a[r],e,t));for(let s=r+1;s<a.length;s++){let r=Z(o(a[s],e,t));for(let e of i)for(let t of r)Le(e.a,e.b,t.a,t.b,Y)&&n++}}return n},`strictCrossingCount`),c=t(e=>{let t=Z(e);if(t.length!==3)return;let n=t[1];if(!(t[0].horizontal===n.horizontal||t[2].horizontal===n.horizontal))return{index:n.index,horizontal:n.horizontal,vertical:n.vertical,segment:n}},`middleRail`),l=t((e,t)=>{let n=[e.start,e.end].filter(e=>!!e);return r.filter(e=>{if(n.includes(e.id))return!1;let r=e.rect;return t.horizontal?U(t.a.x,t.b.x,r.left,r.right)>=X&&t.a.y>=r.top-2&&t.a.y<=r.bottom+2:U(t.a.y,t.b.y,r.top,r.bottom)>=X&&t.a.x>=r.left-2&&t.a.x<=r.right+2})},`blockingRectsFor`),u=t((e,t,n)=>{let r=e.map(e=>({...e}));if(t.horizontal)r[t.index].y=n,r[t.index+1].y=n;else if(t.vertical)r[t.index].x=n,r[t.index+1].x=n;else return;let i=He(G(r));return Z(i).length===i.length-1?i:void 0},`candidateByMovingRail`),d=t((e,t,n)=>{let c=[e.start,e.end].filter(e=>!!e),l=Z(t);if(l.length!==t.length-1)return!1;for(let e of l)if(q(e.a,e.b,r,c,-2)||q(e.a,e.b,i,[],-2))return!1;for(let t of a)if(t!==e){for(let e of l)for(let n of Z(o(t)))if(ve(e,n,.5)>=X)return!1}return s(e,t)<=n},`candidateIsSafe`);for(let e=0;e<8;e++){let e=s(),t=!1;for(let n of a){let r=o(n),i=c(r);if(!i)continue;let a=l(n,i.segment);if(a.length===0)continue;let s=i.horizontal?[Math.min(...a.map(e=>e.rect.top))-20,Math.max(...a.map(e=>e.rect.bottom))+20]:[Math.min(...a.map(e=>e.rect.left))-20,Math.max(...a.map(e=>e.rect.right))+20];for(let a of s){let o=u(r,i.segment,a);if(!(!o||!d(n,o,e))){n.points=o,t=!0;break}}if(t)break}if(!t)return}}t(jt,`liftObstacleHuggingSameSideRails`);function Mt(e,n){let r=t(e=>{let t=e.groupTitleRect;if(!(!t||typeof t.left!=`number`||typeof t.right!=`number`||typeof t.top!=`number`||typeof t.bottom!=`number`||!Number.isFinite(t.left)||!Number.isFinite(t.right)||!Number.isFinite(t.top)||!Number.isFinite(t.bottom)||t.right<=t.left||t.bottom<=t.top))return{left:t.left,right:t.right,top:t.top,bottom:t.bottom}},`validTitleRect`),i=t(e=>{if(!e.isGroup||e.parentId)return;let t=e.direction,n=typeof t==`string`?t.toUpperCase():``;if(n===`LR`||n===`RL`||n===`BT`)return;let i=r(e),a=e.y,o=e.height;if(!i||typeof a!=`number`||typeof o!=`number`||!Number.isFinite(a)||!Number.isFinite(o)||o<=0)return;let s=i.right-i.left,c=i.bottom-i.top;if(!(c<=0||s<c))return{node:e,rect:i}},`topLaneTitleFor`),a=t((e,t)=>{if(!e.horizontal)return!1;let n=e.a.y;return n<=t.top+Y||n>=t.bottom-Y?!1:U(e.a.x,e.b.x,t.left,t.right)>=X},`horizontalSegmentIntersectsTitle`),o=[...n.values()].map(i).filter(e=>!!e);if(o.length===0)return;let s=0;for(let t of e){if(t.isLayoutOnly)continue;let e=G(t.points??[]);for(let t of Z(e))for(let e of o)a(t,e.rect)&&(s=Math.max(s,e.rect.bottom-t.a.y+4))}if(!(s<=Y))for(let e of o){let t=e.node.y,n=e.node.height;typeof t!=`number`||typeof n!=`number`||!Number.isFinite(t)||!Number.isFinite(n)||n<=0||(e.node.y=t-s/2,e.node.height=n+s,e.node.groupTitleRect={...e.rect,top:e.rect.top-s,bottom:e.rect.bottom-s})}}t(Mt,`liftTopLaneTitleBandsAboveRails`);function Nt(e,n){let r=t(e=>{let t=e.groupTitleRect;if(!(!t||typeof t.left!=`number`||typeof t.right!=`number`||typeof t.top!=`number`||typeof t.bottom!=`number`||!Number.isFinite(t.left)||!Number.isFinite(t.right)||!Number.isFinite(t.top)||!Number.isFinite(t.bottom)||t.right<=t.left||t.bottom<=t.top))return{left:t.left,right:t.right,top:t.top,bottom:t.bottom}},`validTitleRect`),i=t(e=>{if(!e.isGroup||e.parentId||e.direction!==`LR`)return;let t=r(e),n=e.x,i=e.width;if(!t||typeof n!=`number`||typeof i!=`number`||!Number.isFinite(n)||!Number.isFinite(i)||i<=0)return;let a=t.right-t.left,o=t.bottom-t.top;if(!(a<=0||o<a))return{node:e,rect:t}},`leftLaneTitleFor`),a=t((e,t)=>{if(!e.vertical)return!1;let n=e.a.x;return n<=t.left+Y||n>=t.right-Y?!1:U(e.a.y,e.b.y,t.top,t.bottom)>=X},`verticalSegmentIntersectsTitle`),o=t((e,t)=>{if(!e.horizontal)return!1;let n=e.a.y;return n<=t.top+Y||n>=t.bottom-Y?!1:U(e.a.x,e.b.x,t.left,t.right)>=X},`horizontalSegmentIntersectsTitle`),s=[...n.values()].map(i).filter(e=>!!e);if(s.length===0)return;let c=0;for(let t of e){if(t.isLayoutOnly)continue;let e=G(t.points??[]);for(let t of Z(e))for(let e of s)if(a(t,e.rect))c=Math.max(c,e.rect.right-t.a.x+4);else if(o(t,e.rect)){let n=Math.min(t.a.x,t.b.x);c=Math.max(c,e.rect.right-n+4)}}if(!(c<=Y))for(let e of s){let t=e.node.x,n=e.node.width;typeof t!=`number`||typeof n!=`number`||!Number.isFinite(t)||!Number.isFinite(n)||n<=0||(e.node.x=t-c/2,e.node.width=n+c,e.node.groupTitleRect={...e.rect,left:e.rect.left-c,right:e.rect.right-c})}}t(Nt,`shiftLeftLaneTitleBandsLeftOfRails`);function Pt(e,n){let{realNodeRects:r}=je(n.values()),i=e.filter(e=>!e.isLayoutOnly),a=t((e,t=new Map)=>G(t.get(e)??e.points??[]),`replacementPointsFor`),o=t((e=new Map)=>{let t=0;for(let n=0;n<i.length;n++){let r=Z(a(i[n],e));for(let o=n+1;o<i.length;o++){let n=Z(a(i[o],e));for(let e of r)for(let r of n)Le(e.a,e.b,r.a,r.b,Y)&&t++}}return t},`crossingCount`),s=t((e=new Map)=>i.reduce((t,n)=>t+W(a(n,e)),0),`totalBends`),c=t(e=>{let t=a(e);if(t.length<4)return;let n=t[t.length-2],r=t[t.length-1];if(!(!V(n,r,Y)&&!H(n,r,Y)))return{tailStart:n,terminal:r}},`terminalTailFor`),l=t((e,t)=>{let n=a(e);if(n.length<3)return;let r=n[0],i=n[1],o;if(V(r,i,Y))o={x:i.x,y:t.tailStart.y};else if(H(r,i,Y))o={x:t.tailStart.x,y:i.y};else return;let s=He(G([r,i,o,t.tailStart,t.terminal]));return Z(s).length===s.length-1?s:void 0},`candidateWithDestinationTail`),u=t((e,t)=>{let n=[e.start,e.end].filter(e=>!!e);for(let e of Z(t))if(q(e.a,e.b,r,n,-2))return!0;return!1},`pathHasNodeHit`),d=t((e,t,n)=>{for(let r of i)if(r!==e){for(let e of Z(t))for(let t of Z(a(r,n)))if(ve(e,t,.5)>=X)return!0}return!1},`pathHasSharedTrack`),f=t((e,t,n)=>!u(e,t)&&!d(e,t,n),`candidateIsSafe`),p=t(()=>{let e=new Map;for(let t of i){let r=t.end;if(!r||!n.has(r)||a(t).length<4)continue;let i=e.get(r)??[];i.push(t),e.set(r,i)}return e},`edgesByDestination`);for(let e=0;e<4;e++){let e=o();if(e===0)return;let t=s(),n,r=e,i=t;for(let t of p().values())for(let a=0;a<t.length;a++)for(let u=a+1;u<t.length;u++){let d=t[a],p=t[u],m=c(d),h=c(p);if(!m||!h)continue;let g=l(d,h),_=l(p,m);if(!g||!_)continue;let v=new Map([[d,g],[p,_]]);if(!f(d,g,v)||!f(p,_,v))continue;let y=o(v),b=s(v);y>=e||y>r||y===r&&b>=i||(n=v,r=y,i=b)}if(!n)return;for(let[e,t]of n)e.points=t}}t(Pt,`swapDestinationTerminalTailsToReduceCrossings`);function Ft(e,n){let{realNodeRects:r,labelNodeRects:i}=je(n.values()),a=e.filter(e=>!e.isLayoutOnly),o=t((e,t=new Map)=>G(t.get(e)??e.points??[]),`replacementPointsFor`),s=t((e=new Map)=>{let t=0;for(let n=0;n<a.length;n++){let r=Z(o(a[n],e));for(let i=n+1;i<a.length;i++){let n=Z(o(a[i],e));for(let e of r)for(let r of n)Le(e.a,e.b,r.a,r.b,Y)&&t++}}return t},`strictCrossingCount`),c=t((e=new Map)=>a.reduce((t,n)=>t+W(o(n,e)),0),`totalBends`),l=t(e=>{let t=e.start,r=e.end,i=t?n.get(t):void 0,a=r?n.get(r):void 0,o=i?K(i):void 0,s=a?K(a):void 0;return o&&s?{src:o,dst:s}:void 0},`endpointRectsFor`),u=t((e,t,n)=>{if(n.index<=0||n.index+1>=t.length-1)return;let r=l(e);if(r){if(n.vertical){let i=n.a.x,a=Math.min(r.src.left,r.dst.left),o=Math.max(r.src.right,r.dst.right),s=i<a-Y?`left`:i>o+Y?`right`:void 0;return s?{edge:e,points:t,segmentIndex:n.index,axis:`vertical`,side:s,coord:i,min:Math.min(n.a.y,n.b.y),max:Math.max(n.a.y,n.b.y)}:void 0}if(n.horizontal){let i=n.a.y,a=Math.min(r.src.top,r.dst.top),o=Math.max(r.src.bottom,r.dst.bottom),s=i<a-Y?`top`:i>o+Y?`bottom`:void 0;return s?{edge:e,points:t,segmentIndex:n.index,axis:`horizontal`,side:s,coord:i,min:Math.min(n.a.x,n.b.x),max:Math.max(n.a.x,n.b.x)}:void 0}}},`externalRailForSegment`),d=t(()=>{let e=[];for(let t of a){let n=o(t);for(let r of Z(n)){let i=u(t,n,r);i&&e.push(i)}}return e},`collectExternalRails`),f=t((e,t)=>e.edge!==t.edge&&e.axis===t.axis&&e.side===t.side&&U(e.min,e.max,t.min,t.max)>=X,`railsInteract`),p=t(e=>{let t=[],n=new Set;for(let r of e){if(n.has(r))continue;let i=[r],a=[];for(n.add(r);i.length>0;){let t=i.pop();a.push(t);for(let r of e)!n.has(r)&&f(t,r)&&(n.add(r),i.push(r))}a.length>1&&t.push(a)}return t},`connectedComponents`),m=t(e=>{let t=[];for(let n of e)t.some(e=>Math.abs(e-n.coord)<Y)||t.push(n.coord);for(;t.length<e.length;){let n=Math.min(...t),r=Math.max(...t),i=e[0].side;t.push(i===`left`||i===`top`?n-12*(e.length-t.length):r+12*(e.length-t.length))}return t},`uniqueCoordsFor`),h=t(e=>{let n=e.map(e=>e.coord),r=m(e),i=[];if(e.length<=6){let a=Array(r.length).fill(!1),o=[],s=t(()=>{if(o.length===e.length){o.some((e,t)=>Math.abs(e-n[t])>=Y)&&i.push([...o]);return}for(let[e,t]of r.entries())a[e]||(a[e]=!0,o.push(t),s(),o.pop(),a[e]=!1)},`visit`);return s(),i}for(let e=0;e<n.length;e++)for(let t=e+1;t<n.length;t++){let r=[...n];[r[e],r[t]]=[r[t],r[e]],i.push(r)}return i},`coordinateAssignmentsFor`),g=t((e,t)=>{let n=new Map;for(let[r,i]of e.entries()){let e=t[r],a=n.get(i.edge)??i.points.map(e=>({x:e.x,y:e.y}));i.axis===`vertical`?(a[i.segmentIndex].x=e,a[i.segmentIndex+1].x=e):(a[i.segmentIndex].y=e,a[i.segmentIndex+1].y=e),n.set(i.edge,a)}let r=new Map;for(let[e,t]of n){let n=He(G(t));if(Z(n).length!==n.length-1)return;r.set(e,n)}return r},`replacementsForAssignment`),_=t(e=>{for(let[t,n]of e){let e=[t.start,t.end].filter(e=>!!e);for(let t of Z(n))if(q(t.a,t.b,r,e,-2)||q(t.a,t.b,i,[],-2))return!1}for(let t=0;t<a.length;t++){let n=a[t],r=e.has(n),i=Z(o(n,e));for(let n=t+1;n<a.length;n++){let t=a[n];if(!r&&!e.has(t))continue;let s=Z(o(t,e));for(let e of i)for(let t of s)if(ve(e,t,.5)>=X)return!1}}return!0},`candidateIsSafe`);for(let e=0;e<4;e++){let e=s();if(e===0)return;let t,n=e,r=c(),i=1/0;for(let a of p(d()))for(let o of h(a)){let l=g(a,o);if(!l||!_(l))continue;let u=s(l);if(u>=e)continue;let d=c(l),f=a.reduce((e,t,n)=>e+Math.abs(o[n]-t.coord),0);u>n||u===n&&(d>r||d===r&&f>=i)||(t=l,n=u,r=d,i=f)}if(!t)return;for(let[e,n]of t)e.points=n}}t(Ft,`reassignCrossingExternalRailChannels`);function It(e,n){let{realNodeRects:r,labelNodeRects:i}=je(n.values()),a=e.filter(e=>!e.isLayoutOnly),o=t((e,t,n)=>G(e===t?n??[]:e.points??[]),`pointsFor`),s=t(e=>Z(e).reduce((e,t)=>{let n=t.a.x-t.b.x,r=t.a.y-t.b.y;return e+Math.hypot(n,r)},0),`pathLength`),c=t((e,t)=>{let n=0;for(let r=0;r<a.length;r++){let i=Z(o(a[r],e,t));for(let s=r+1;s<a.length;s++){let r=Z(o(a[s],e,t));for(let e of i)for(let t of r)Le(e.a,e.b,t.a,t.b,Y)&&n++}}return n},`strictCrossingCount`),l=t((e,t)=>{if(e.horizontal){let n=e.a.y;return(Math.abs(n-t.top)<1||Math.abs(n-t.bottom)<1)&&U(e.a.x,e.b.x,t.left,t.right)>=X}if(e.vertical){let n=e.a.x;return(Math.abs(n-t.left)<1||Math.abs(n-t.right)<1)&&U(e.a.y,e.b.y,t.top,t.bottom)>=X}return!1},`segmentRunsAlongRectBorder`),u=t(e=>{let t=[e.start,e.end].filter(e=>!!e),r=[];for(let e of t){let t=n.get(e),i=t?K(t):void 0;i&&r.push(i)}return r},`endpointRectsFor`),d=t((e,t)=>{if(t+3>=e.length)return[];let n=e[t],r=e[t+1],i=e[t+2],a=e[t+3],o=V(n,r,Y)&&H(r,i,Y)&&V(i,a,Y),s=H(n,r,Y)&&V(r,i,Y)&&H(i,a,Y);if(!o&&!s||!(o?Math.sign(r.x-n.x)!==Math.sign(a.x-i.x):Math.sign(r.y-n.y)!==Math.sign(a.y-i.y)))return[];let c=z(n,a,Y)||B(n,a,Y)?[]:[{x:n.x,y:a.y},{x:a.x,y:n.y}],l=c.length===0?[[...e.slice(0,t+1),...e.slice(t+3)]]:c.map(n=>[...e.slice(0,t+1),n,...e.slice(t+3)]),u=new Set;return l.map(e=>He(G(e))).filter(e=>{if(Z(e).length!==e.length-1||!e.some(e=>R(e,a,Y)))return!1;let t=e.map(e=>`${e.x.toFixed(3)},${e.y.toFixed(3)}`).join(`|`);return u.has(t)?!1:(u.add(t),!0)})},`shortcutCandidatesAt`),f=t((e,t,n)=>{let s=[e.start,e.end].filter(e=>!!e),d=u(e);for(let e of Z(t))if(q(e.a,e.b,r,s,-2)||q(e.a,e.b,i,[],-2)||d.some(t=>l(e,t)))return!1;for(let n of a)if(n!==e){for(let e of Z(t))for(let t of Z(o(n)))if(ve(e,t,.5)>=X)return!1}return c(e,t)<=n},`candidateIsSafe`);for(let e=0;e<8;e++){let e=c(),t,n,r=e,i=1/0,l=1/0;for(let u of a){let a=o(u),p=W(a,Y),m=s(a);for(let o=0;o<=a.length-4;o++)for(let h of d(a,o)){let a=W(h,Y),o=s(h);if(!(a<p||a===p&&o<m-Y)||!f(u,h,e))continue;let d=c(u,h);d>r||d===r&&(a>i||a===i&&o>=l)||(t=u,n=h,r=d,i=a,l=o)}}if(!t||!n)return;t.points=n}}t(It,`shortcutRedundantOrthogonalJogs`);function Lt(e,n){let r=[];for(let e of n.values()){if(e.isGroup||e.isEdgeLabel)continue;let t=e.x??0,n=e.y??0,i=K(e);i&&r.push({id:String(e.id??``),cx:t,cy:n,rect:i})}if(r.length===0)return;let i=new Map(r.map(e=>[e.id,e])),a=r.map(e=>({id:e.id,rect:e.rect})),o=[`top`,`bottom`,`left`,`right`],s={top:Math.min(...r.map(e=>e.rect.top))-20,bottom:Math.max(...r.map(e=>e.rect.bottom))+20,left:Math.min(...r.map(e=>e.rect.left))-20,right:Math.max(...r.map(e=>e.rect.right))+20},c=e.filter(e=>!e.isLayoutOnly),l=new Map(c.map((e,t)=>[e,t])),u=t(e=>{let t=e===`left`||e===`top`?-1:1,n=[];for(let r=0;r<=2;r++)n.push(s[e]+t*20*r);return n},`outwardTracksForSide`),d=t((e,t=new Map)=>G(t.get(e)??e.points??[]),`replacementPointsFor`),f=t((e,t)=>{let n=0;for(let r of e)for(let e of t)Le(r.a,r.b,e.a,e.b,Y)&&n++;return n},`crossingCountBetweenSegments`),p=t((e,t)=>f(Z(e),Z(t)),`crossingCountBetweenPaths`),m=t((e=new Map)=>{let n=0,r=[],i=new Set,a=[],o=t(e=>{i.has(e)||(i.add(e),a.push(e))},`addEdge`);for(let t=0;t<c.length;t++){let i=c[t],a=d(i,e);for(let s=t+1;s<c.length;s++){let t=c[s],l=p(a,d(t,e));l>0&&(n+=l,r.push({first:i,second:t,count:l}),o(i),o(t))}}return a.sort((e,t)=>(l.get(e)??0)-(l.get(t)??0)),{count:n,pairs:r,edgeSet:i,edges:a}},`crossingSnapshot`),h=t((e,t)=>{let n=new Set(t.keys());if(n.size===0)return e.count;let r=0;for(let t of e.pairs)(n.has(t.first)||n.has(t.second))&&(r+=t.count);let i=0;for(let e=0;e<c.length;e++){let r=c[e],a=n.has(r),o=d(r,t);for(let r=e+1;r<c.length;r++){let e=c[r];!a&&!n.has(e)||(i+=p(o,d(e,t)))}}return e.count-r+i},`crossingCountWithReplacements`),g=t(e=>{let t=new Map;for(let n of e.pairs){let e=t.get(n.first)??new Set;e.add(n.second),t.set(n.first,e);let r=t.get(n.second)??new Set;r.add(n.first),t.set(n.second,r)}let n=[],r=new Set;for(let i of e.edges){if(r.has(i))continue;let e=[i],a=[];for(r.add(i);e.length>0;){let n=e.pop();a.push(n);for(let i of t.get(n)??[])r.has(i)||(r.add(i),e.push(i))}a.sort((e,t)=>(l.get(e)??0)-(l.get(t)??0)),a.length>1&&n.push(a)}return n},`crossingComponents`),_=t(e=>[e.start,e.end].filter(e=>!!e),`endpointIdsFor`),v=t(e=>{let t=[];for(let n of g(e)){let e=new Set(n),r=new Set(n.flatMap(e=>_(e))),i=[...n];for(let t of c)e.has(t)||_(t).some(e=>r.has(e))&&i.push(t);i.sort((e,t)=>(l.get(e)??0)-(l.get(t)??0)),t.push(i)}return t},`pairSearchGroups`),y=t((e,t,n)=>h(e,new Map([[t,n]])),`crossingCountWithSingleReplacement`),b=t(e=>{let t=new Map;for(let n of e.pairs)t.set(n.first,(t.get(n.first)??0)+n.count),t.set(n.second,(t.get(n.second)??0)+n.count);return t},`currentCrossingsByEdge`),x=t(e=>e.slice(1).reduce((t,n,r)=>{let i=e[r];return t+Math.abs(n.x-i.x)+Math.abs(n.y-i.y)},0),`pathLength`),S=t((e=new Map)=>c.reduce((t,n)=>t+W(d(n,e)),0),`totalBends`),C=t((e=new Map)=>c.reduce((t,n)=>t+x(d(n,e)),0),`totalLength`),w=t((e,t,n=new Map)=>{let r=Z(t);for(let t of c)if(t!==e){for(let e of r)for(let r of Z(d(t,n)))if(ve(e,r,.5)>=X)return!0}return!1},`pathHasSegmentConflict`),T=t((e,t)=>{let n=[e.start,e.end].filter(e=>!!e);for(let e of Z(t))if(q(e.a,e.b,a,n,-2))return!0;return!1},`pathHitsNode`),E=t((e,t)=>{let n=He(G(t));Z(n).length===n.length-1&&e.push(n)},`pushOrthogonalCandidate`),D=t(e=>e===`left`||e===`right`,`sideIsHorizontal`),O=t((e,t,n)=>{switch(t){case`left`:return Math.min(e.x,n.x)-20;case`right`:return Math.max(e.x,n.x)+20;case`top`:return Math.min(e.y,n.y)-20;case`bottom`:return Math.max(e.y,n.y)+20}},`localTrackForSameSide`),k=t((e,t,n,r)=>{let i=n===`left`||n===`top`?-1:1,a=[O(t,n,r),s[n]];for(let o of a)for(let a=0;a<=2;a++)E(e,ke(t,n,r,o+i*20*a))},`addSameSideCandidates`),A=t((e,t,n,r,i)=>{for(let a of u(n))for(let n of u(i))E(e,[t,{x:a,y:t.y},{x:a,y:n},{x:r.x,y:n},r])},`addHorizontalToVerticalCandidates`),j=t((e,t,n,r,i)=>{for(let a of u(n))for(let n of u(i))E(e,[t,{x:t.x,y:a},{x:n,y:a},{x:n,y:r.y},r])},`addVerticalToHorizontalCandidates`),ee=t((e,t,n,r,i)=>{let a=[...u(`top`),...u(`bottom`)];for(let o of u(n))for(let n of u(i))for(let i of a)E(e,[t,{x:o,y:t.y},{x:o,y:i},{x:n,y:i},{x:n,y:r.y},r])},`addHorizontalPairCandidates`),te=t((e,t,n,r,i)=>{let a=[...u(`left`),...u(`right`)];for(let o of u(n))for(let n of u(i))for(let i of a)E(e,[t,{x:t.x,y:o},{x:i,y:o},{x:i,y:n},{x:r.x,y:n},r])},`addVerticalPairCandidates`),M=t(e=>{let t=new Set;return e.map(e=>G(e)).filter(e=>{let n=e.map(e=>`${e.x.toFixed(3)},${e.y.toFixed(3)}`).join(`|`);return t.has(n)||e.length<2?!1:(t.add(n),!0)})},`dedupeCandidatePaths`),ne=t((e,t,n,r)=>{let i=[],a=Oe(e,t,n,r,20,Y);a&&E(i,a),t===r&&k(i,e,t,n);let o=D(t),s=D(r);return o&&!s?A(i,e,t,n,r):!o&&s?j(i,e,t,n,r):o?ee(i,e,t,n,r):te(i,e,t,n,r),M(i)},`buildCandidatesForSides`),N=t((e,t,n,r)=>{let i=[...u(`left`),...u(`right`)],a=[...u(`top`),...u(`bottom`)];for(let s of o){let o=De(r,s),c=s===`top`||s===`bottom`?u(s):a;for(let r of i){E(e,[t,n,{x:r,y:n.y},{x:r,y:o.y},o]);for(let i of c)E(e,[t,n,{x:r,y:n.y},{x:r,y:i},{x:o.x,y:i},o])}}},`addVerticalDepartureOuterTrackCandidates`),re=t((e,t,n,r)=>{let i=[...u(`left`),...u(`right`)],a=[...u(`top`),...u(`bottom`)];for(let s of o){let o=De(r,s),c=s===`left`||s===`right`?u(s):i;for(let r of a){E(e,[t,n,{x:n.x,y:r},{x:o.x,y:r},o]);for(let i of c)E(e,[t,n,{x:n.x,y:r},{x:i,y:r},{x:i,y:o.y},o])}}},`addHorizontalDepartureOuterTrackCandidates`),P=t(e=>{let t=e.start,n=e.end,r=n?i.get(n):void 0;if(!t||!r)return[];let a=G(e.points??[]);if(a.length<4)return[];let o=a[0],s=a[1],c=[];return H(o,s,Y)?N(c,o,s,r):V(o,s,Y)&&re(c,o,s,r),c},`terminalPreservingOuterTrackCandidates`),ie=t(e=>{let t=e.start,n=e.end,r=t?i.get(t):void 0,a=n?i.get(n):void 0;if(!r||!a)return[];let s=[];for(let e of o){let t=De(r,e);for(let n of o)s.push(...ne(t,e,De(a,n),n))}return s.push(...P(e)),s},`candidatePathsFor`),ae=t(()=>new Map(c.map(e=>[e,Z(d(e))])),`currentSegmentsByEdge`),oe=t((e,t,n)=>{let r=new Set;for(let i of c){if(i===e)continue;let a=n.get(i)??Z(d(i));t.some(e=>a.some(t=>ve(e,t,.5)>=X))&&r.add(i)}return r},`sharedTrackConflictsFor`),se=t((e,t,n,r)=>{let i=new Set;return ie(e).map(e=>He(G(e))).filter(t=>{if(T(e,t))return!1;let n=t.map(e=>`${e.x.toFixed(3)},${e.y.toFixed(3)}`).join(`|`);return i.has(n)||t.length<2?!1:(i.add(n),!0)}).map(i=>{let a=Z(i),o=0;for(let t of c)t!==e&&(o+=f(a,n.get(t)??Z(d(t))));return{candidate:i,candidateSegments:a,crossings:t.count-(r.get(e)??0)+o,bends:W(i,Y),totalBends:W(i),length:x(i)}}).filter(({crossings:e})=>e<=t.count).sort((e,t)=>e.crossings-t.crossings||e.bends-t.bends||e.length-t.length).slice(0,48).map(t=>({path:t.candidate,segments:t.candidateSegments,sharedTrackConflicts:oe(e,t.candidateSegments,n),totalBends:t.totalBends,length:t.length}))},`pairCandidatesFor`),ce=t((e,t,n,r,i,a)=>{let o=0;for(let n of e.pairs)(n.first===t||n.second===t||n.first===r||n.second===r)&&(o+=n.count);let s=f(n.segments,i.segments);for(let e of c){if(e===t||e===r)continue;let o=a.get(e)??Z(d(e));s+=f(n.segments,o)+f(i.segments,o)}return e.count-o+s},`pairCrossingCount`),le=t((e,t)=>{for(let n of e.sharedTrackConflicts)if(n!==t)return!1;return!0},`conflictsOnlyWith`),ue=t((e,t)=>e.segments.some(e=>t.segments.some(t=>ve(e,t,.5)>=X)),`candidatesShareTrack`),de=t((e,t,n,r)=>le(t,n.edge)&&le(r,e.edge)&&!ue(t,r),`pairCandidatesAreCompatible`),fe=t((e,t,n,r,i)=>{let a=ce(e.current,t.edge,n,r.edge,i,e.baseSegments);if(!(a>=e.current.count))return{replacements:new Map([[t.edge,n.path],[r.edge,i.path]]),crossings:a,bends:e.currentBends-(e.baseBendsByEdge.get(t.edge)??0)-(e.baseBendsByEdge.get(r.edge)??0)+n.totalBends+i.totalBends,length:e.currentLength-(e.baseLengthByEdge.get(t.edge)??0)-(e.baseLengthByEdge.get(r.edge)??0)+n.length+i.length}},`scorePairReplacement`),pe=t((e,t)=>e.crossings<t.crossings||e.crossings===t.crossings&&(e.bends<t.bends||e.bends===t.bends&&e.length<t.length),`pairScoreIsBetter`),F=t((e,t,n,r)=>{let i=r;for(let r of t.candidates)for(let a of n.candidates){if(!de(t,r,n,a))continue;let o=fe(e,t,r,n,a);o&&pe(o,i)&&(i=o)}return i},`bestScoreForOptionPair`),I=t(e=>{let t=S(),n=C(),r=ae(),i=b(e),a=new Map(c.map(e=>[e,W(d(e))])),o=new Map(c.map(e=>[e,x(d(e))])),s=new Map,l=v(e);for(let t of l)for(let n of t){if(s.has(n))continue;let t=se(n,e,r,i);t.length>0&&s.set(n,{edge:n,candidates:t})}let u={replacements:new Map,crossings:e.count,bends:t,length:n},f={current:e,currentBends:t,currentLength:n,baseBendsByEdge:a,baseLengthByEdge:o,baseSegments:r};for(let t of l){let n=new Set(t.filter(t=>e.edgeSet.has(t))),r=t.map(e=>s.get(e)).filter(e=>!!e);for(let e=0;e<r.length;e++){let t=r[e];for(let i=e+1;i<r.length;i++){let e=r[i];!n.has(t.edge)&&!n.has(e.edge)||(u=F(f,t,e,u))}}}return u.replacements.size>0?u.replacements:void 0},`bestPairedReplacement`);for(let e=0;e<4;e++){let e=m(),t=e.count;if(t===0)return;let n,r,i=t,a=1/0;for(let o of e.edges){let s=W(d(o),Y);for(let c of ie(o)){let l=T(o,c),u=!l&&w(o,c),d=y(e,o,c),f=W(c,Y);l||u||(d<t||d===t&&f<s)&&(d>i||d===i&&f>=a||(n=o,r=c,i=d,a=f))}}if(n&&r){n.points=r;continue}let o=I(e);if(!o)return;for(let[e,t]of o)e.points=t}}t(Lt,`resolveRenderedOrthogonalCrossings`);var Rt=.001,zt=8;function Bt(e,n){let{nodeInfoById:r,realNodeRects:i}=Ae(n),a=[`top`,`bottom`,`left`,`right`],o={top:Math.min(...i.map(e=>e.rect.top))-20,bottom:Math.max(...i.map(e=>e.rect.bottom))+20,left:Math.min(...i.map(e=>e.rect.left))-20,right:Math.max(...i.map(e=>e.rect.right))+20},s=t((e,t,n,r)=>{let i=[],a=Oe(e,t,n,r,20,Rt);return a&&i.push(a),t===r&&i.push(ke(e,t,n,o[t])),i},`buildOrthogonalPathCandidates`),c=t((e,t)=>{for(let n=0;n<e.length-1;n++){let r=e[n],a=e[n+1];if(q(r,a,i,t,1))return!0}return!1},`pathHitsNode`),l=t((t,n,r=!1)=>{let i=0,a=ye(t,Rt),o=n.start,s=n.end;for(let t of e){if(t===n||t.isLayoutOnly)continue;let e=t.start,c=t.end;if(!r&&o&&s&&(e===o||e===s||c===o||c===s))continue;let l=t.points;if(!(!l||l.length<2))for(let e of a)for(let t of ye(l,Rt)){if(Pe(e.a,e.b,t.a,t.b,Rt,Rt)){i++;continue}ve(e,t,Rt)>=zt&&i++}}return i},`pathConflictCount`),u=t((e,t)=>{let n=Math.abs(e.y-t.rect.top),r=Math.abs(e.y-t.rect.bottom),i=Math.abs(e.x-t.rect.left),a=Math.abs(e.x-t.rect.right),o=`top`,s=n;return r<s&&(o=`bottom`,s=r),i<s&&(o=`left`,s=i),a<s&&(o=`right`,s=a),o},`nearestSideOfRect`),d=new Map,f=t((e,t,n)=>{let r=d.get(e)??[];r.push({side:t,edgeId:n}),d.set(e,r)},`addFaceClaim`);for(let t of e){if(t.isLayoutOnly)continue;let e=t.points??[];if(e.length<1)continue;let n=t.id??``,i=t.start,a=t.end;if(i){let t=r.get(i);t&&f(i,u(e[0],t),n)}if(a){let t=r.get(a);t&&f(a,u(e[e.length-1],t),n)}}let p=t((e,t,n)=>d.get(e)?.some(e=>e.edgeId!==n&&e.side===t)??!1,`faceIsClaimed`);for(let t of e){if(t.isLayoutOnly)continue;let e=t.points;if(!e||e.length<2)continue;let n=W(e,Rt);if(n<4)continue;let i=t.start,o=t.end;if(!i||!o)continue;let m=r.get(i),h=r.get(o);if(!m||!h)continue;let g=t.id??``,_=l(e,t,!0),v=l(e,t),y,b=_,x=n;for(let e of a){if(p(i,e,g))continue;let n=De(m,e);for(let r of a){if(p(o,r,g))continue;let a=De(h,r);for(let u of s(n,e,a,r)){if(c(u,[i,o]))continue;let e=W(u,Rt);if(_>0){let n=l(u,t,!0);if(n>b||n===b&&e>=x)continue;b=n,x=e,y=u;continue}l(u,t)>v||e<x&&(x=e,y=u)}}}if(y){t.points=y;let e=d.get(i);e&&d.set(i,e.filter(e=>e.edgeId!==g));let n=d.get(o);n&&d.set(o,n.filter(e=>e.edgeId!==g)),f(i,u(y[0],m),g),f(o,u(y[y.length-1],h),g)}}}t(Bt,`simplifyDetouredEdges`);var Q=.001,Vt=10,Ht=7;function Ut(e,t){let n=t?0:e.length-1,r=t?1:-1,i=e[n],a=e[n+r];if(!i||!a)return;let o=a.x-i.x,s=a.y-i.y;if(!(Math.abs(o)+Math.abs(s)<Q)){if(Math.abs(s)<=Q){let e=i.x+Math.sign(o)*Vt;return{left:Math.min(i.x,e),right:Math.max(i.x,e),top:i.y-Ht,bottom:i.y+Ht}}if(Math.abs(o)<=Q){let e=i.y+Math.sign(s)*Vt;return{left:i.x-Ht,right:i.x+Ht,top:Math.min(i.y,e),bottom:Math.max(i.y,e)}}return{left:Math.min(i.x,a.x),right:Math.max(i.x,a.x),top:Math.min(i.y,a.y),bottom:Math.max(i.y,a.y)}}}t(Ut,`markerClearanceRectFor`);function Wt(e){return{left:Math.min(e.left,e.right),right:Math.max(e.left,e.right),top:Math.min(e.top,e.bottom),bottom:Math.max(e.top,e.bottom)}}t(Wt,`normalizeRect`);function Gt(e,t){let n=G(t);return[Ut(n,!0),Ut(n,!1)].some(t=>t&&we(e,Wt(t)))}t(Gt,`labelOverlapsOwnMarker`);function Kt(e,n){let r=[];for(let t of e){if(t.isLayoutOnly)continue;let e=t.points;if(!(!e||e.length<2))for(let n=0;n<e.length-1;n++)r.push({edgeId:t.id,p1:e[n],p2:e[n+1]})}let i=[],a=[];for(let e of n.values()){let t=e.isGroup,n=e.parentId;if(t&&!n){let t=K(e);t&&a.push({id:e.id,rect:t});continue}if(t||e.isEdgeLabel)continue;let r=K(e);r&&i.push({nodeId:e.id,rect:r})}let o=t((e,t)=>{let n=Te(t,3);for(let{nodeId:t,rect:r}of i)if(t!==e&&we(n,r))return!0;return!1},`labelOverlapsForeignNode`),s=t((e,t)=>{let n=Te(t,3);for(let t of r)if(t.edgeId!==e&&xe(t.p1,t.p2,n))return!0;return!1},`labelOverlapsForeignEdge`),c=t((e,t,n)=>o(e,n)||s(t,n),`labelOverlapsAnything`),l=[],u=t(e=>{for(let{id:t,rect:n}of a)if(Ce(n,e))return t},`findContainingLane`),d=t((e,t)=>l.some(n=>n.labelId!==e&&we(t,n.rect)),`overlapsPlacedLabel`);for(let r of e){if(r.isLayoutOnly)continue;let e=r.labelNodeId;if(!e)continue;let i=n.get(e);if(!i)continue;let f=r.points;if(!f||f.length<2)continue;let p=i.width??0,m=i.height??0;if(p<=0||m<=0)continue;let h=[];for(let e=0;e<f.length-1;e++){let t=f[e],n=f[e+1],r=Math.abs(t.x-n.x),i=Math.abs(t.y-n.y);r<Q&&i<Q||r>=Q&&i>=Q||h.push({idx:e,length:r+i,orientation:r>=Q?`horizontal`:`vertical`,midX:(t.x+n.x)/2,midY:(t.y+n.y)/2})}if(h.length===0)continue;let g=h.length>=3?h.filter(e=>e.idx>0&&e.idx<h.length-1):h,_=g.length>0?g:h,v=p>=m?`horizontal`:`vertical`,y=t(e=>[...e].sort((e,t)=>{let n=e.orientation===v;if(n!==(t.orientation===v))return n?-1:1;let r=e.length>=(e.orientation===`horizontal`?p:m)+2;return r===t.length>=(t.orientation===`horizontal`?p:m)+2?t.length-e.length:r?-1:1}),`rankSegments`),b=h[0],x=h[h.length-1],S=[.5,.25,.75,.05,.95,.15,.85,.1,.9],C=t((e,t)=>{let n=f[e.idx],r=f[e.idx+1];return{midX:n.x+(r.x-n.x)*t,midY:n.y+(r.y-n.y)*t}},`anchorAtT`),w=t((e,t,n)=>Math.min(n,Math.max(t,e)),`clamp`),T=t((e,t)=>e.midX>=t.left-Q&&e.midX<=t.right+Q&&e.midY>=t.top-Q&&e.midY<=t.bottom+Q,`pointInsideRectInclusive`),E=t(e=>{let t=Ee(e.midX,e.midY,p,m),n=u(t);if(n)return{laneId:n,anchor:e,rect:t};let r=a.find(({rect:t})=>T(e,t));if(!r)return;let i=r.rect.left+p/2+1,o=r.rect.right-p/2-1,s=r.rect.top+m/2+1,c=r.rect.bottom-m/2-1;if(i>o||s>c)return;let l={midX:w(e.midX,i,o),midY:w(e.midY,s,c)},d=Ee(l.midX,l.midY,p,m);return T(e,d)?{laneId:r.id,anchor:l,rect:d}:void 0},`placementForAnchor`),D=t((e,t,n)=>e.orientation===`horizontal`?Math.abs(t.midX-n.x):Math.abs(t.midY-n.y),`distanceAlongSegment`),O=t((e,t)=>{let n=(e.orientation===`horizontal`?p/2:m/2)+12;if(e===b){let r=f[e.idx];if(D(e,t,r)+Q<n)return!1}if(e===x){let r=f[e.idx+1];if(D(e,t,r)+Q<n)return!1}return!0},`labelClearsTerminalEndpoints`),k=t(t=>{let n=y(t);for(let t of n)for(let n of S){let i=C(t,n);if(!O(t,i))continue;let a=E(i);if(a&&!Gt(a.rect,f)&&!d(e,a.rect)&&!c(e,r.id,a.rect))return{laneId:a.laneId,anchor:a.anchor}}},`tryPool`),A=t((t,n,i=!1)=>{let a=y(t);for(let t of a){let a={midX:t.midX,midY:t.midY};if(n&&!O(t,a))continue;let c=E(a);if(c&&!Gt(c.rect,f)&&!d(e,c.rect)&&!o(e,c.rect)&&(i||!s(r.id,c.rect)))return{laneId:c.laneId,anchor:c.anchor}}},`findLaneContainingFallback`),j=k(_)??(_.length<h.length?k(h):void 0)??A(h,!0)??A(h,!1)??A(h,!1,!0);if(j){i.x=j.anchor.midX,i.y=j.anchor.midY,i.parentId=j.laneId;let t=Ee(j.anchor.midX,j.anchor.midY,p,m),n=l.findIndex(t=>t.labelId===e);n>=0?l[n]={labelId:e,rect:t}:l.push({labelId:e,rect:t})}}}t(Kt,`anchorLabelsToPolyline`);var qt=1e-6,Jt=8/2,Yt=3;function Xt(e,t){return e<t?`${e}::${t}`:`${t}::${e}`}t(Xt,`pairKey`);function Zt(e,n){let{nodeInfoById:r,realNodeRects:i}=Ae(n),a=new Map;for(let e of n){let t=e.id;if(!e.isGroup&&e.isEdgeLabel){a.set(t,{w:e.width??0,h:e.height??0});continue}}let o=t((n,r,i,o)=>{let s=Xt(r,i),c=0,l=t(e=>{if(!e)return;let t=a.get(e);if(!t)return;let n=o===`x`?t.w/2:t.h/2;n>c&&(c=n)},`consider`);l(n.labelNodeId);for(let t of e){if(t===n||t.isLayoutOnly)continue;let e=t.start,r=t.end;!e||!r||Xt(e,r)===s&&l(t.labelNodeId)}return c>0?c+Yt:0},`labelClearanceFor`);for(let t of e){if(t.isLayoutOnly)continue;let n=t.points;if(!be(n,qt))continue;let a=Ne(t,r,qt);if(!a)continue;let{srcId:s,dstId:c,srcInfo:l,dstInfo:u,collinearX:d,collinearY:f}=a;if(d===f)continue;let p,m;if(d){let e=u.cy>l.cy;p={x:l.cx,y:e?l.rect.bottom:l.rect.top},m={x:u.cx,y:e?u.rect.top:u.rect.bottom}}else{let e=u.cx>l.cx;p={x:e?l.rect.right:l.rect.left,y:l.cy},m={x:e?u.rect.left:u.rect.right,y:u.cy}}if(q(p,m,i,[s,c],1))continue;let h=o(t,s,c,d?`x`:`y`),g=h>Jt?h:Jt,_=[0,g,-g];for(let n of _){let r={...p},a={...m};if(d){if(r.x+=n,a.x+=n,r.x<=l.rect.left||r.x>=l.rect.right||a.x<=u.rect.left||a.x>=u.rect.right)continue}else if(r.y+=n,a.y+=n,r.y<=l.rect.top||r.y>=l.rect.bottom||a.y<=u.rect.top||a.y>=u.rect.bottom)continue;if(!q(r,a,i,[s,c],1)&&!Ie(r,a,e,t,{epsilon:qt})){t.points=[r,a];break}}}}t(Zt,`straightenCollinearSiblingDetours`);function Qt(e,n){let r=.001,{realNodeRects:i,labelNodeRects:a}=je(n.values()),o=t((e,t)=>ye(t,r).map(n=>({...n,edge:e,interior:n.index>=1&&n.index<=t.length-3})),`segmentsFor`),s=t(()=>{let t=[];for(let n of e){if(n.isLayoutOnly)continue;let e=n.points;!e||e.length<2||t.push(...o(n,G(e)))}return t},`allSegments`),c=t((e,t)=>e.horizontal&&t.horizontal?U(e.a.x,e.b.x,t.a.x,t.b.x)>=8&&Math.abs(e.a.y-t.a.y)<7:e.vertical&&t.vertical?U(e.a.y,e.b.y,t.a.y,t.b.y)>=8&&Math.abs(e.a.x-t.a.x)<7:!1,`hasCrowdedParallelTrack`),l=t((t,n)=>{let s=t.start,l=t.end,u=o(t,n);if(u.length!==n.length-1)return!1;let d=[s,l].filter(e=>!!e),f=t.labelNodeId?[t.labelNodeId]:[];for(let e of u)if(q(e.a,e.b,i,d,-2)||q(e.a,e.b,a,f,-2))return!1;for(let n of e){if(n===t||n.isLayoutOnly)continue;let e=n.points;if(!(!e||e.length<2)){for(let t of u)for(let i of o(n,G(e)))if(c(t,i)||Le(t.a,t.b,i.a,i.b,r))return!1}}return!0},`candidateIsSafe`),u=t((e,t)=>{let n=G(e.edge.points??[]);if(n.length<4||e.index>=n.length-1)return;let r=n.map(e=>({...e}));if(e.horizontal)r[e.index].y+=t,r[e.index+1].y+=t;else if(e.vertical)r[e.index].x+=t,r[e.index+1].x+=t;else return;return o(e.edge,r).length===r.length-1?r:void 0},`shiftedCandidate`),d=t((e,t)=>({x:e.x??(t.left+t.right)/2,y:e.y??(t.top+t.bottom)/2}),`nodeCenter`),f=t(e=>{let t=e.edge,r=G(t.points??[]);if(r.length!==4||e.index!==1)return;let i=t.start?n.get(t.start):void 0,a=t.end?n.get(t.end):void 0,o=i?K(i):void 0,s=a?K(a):void 0,c=r.slice(e.index+2);if(!(!i||!a||!o||!s||c.length===0))return{sourceCenter:d(i,o),targetCenter:d(a,s),sourceRect:o,tail:c}},`sourceDetourContextFor`),p=t((e,t,n,i,a,o)=>{let s=i.y>=n.y,c=s?a.bottom:a.top,l=c+(s?20:-20);if(s&&e.b.y<=l+r||!s&&e.b.y>=l-r)return;let u=e.a.x+t;return G([{x:n.x,y:c},{x:n.x,y:l},{x:u,y:l},{x:u,y:e.b.y},...o],r)},`verticalSourceDetour`),m=t((e,t,n,i,a,o)=>{let s=i.x>=n.x,c=s?a.right:a.left,l=c+(s?20:-20);if(s&&e.b.x<=l+r||!s&&e.b.x>=l-r)return;let u=e.a.y+t;return G([{x:c,y:n.y},{x:l,y:n.y},{x:l,y:u},{x:e.b.x,y:u},...o],r)},`horizontalSourceDetour`),h=t((e,t)=>{let n=f(e);if(n){if(e.vertical)return p(e,t,n.sourceCenter,n.targetCenter,n.sourceRect,n.tail);if(e.horizontal)return m(e,t,n.sourceCenter,n.targetCenter,n.sourceRect,n.tail)}},`sourceDetourCandidate`),g=[-7,7,-14,14,-21,21];for(let e=0;e<12;e++){let e=s(),t=!1;for(let n=0;n<e.length&&!t;n++)for(let r=n+1;r<e.length&&!t;r++){let i=e[n],a=e[r];if(i.edge===a.edge||!c(i,a))continue;let o=[i,a].filter(e=>e.interior);for(let e of o){for(let n of g){let r=u(e,n);if(r&&l(e.edge,r)){e.edge.points=r,t=!0;break}let i=h(e,n);if(i&&l(e.edge,i)){e.edge.points=i,t=!0;break}}if(t)break}}if(!t)return}}t(Qt,`nudgeSharedInteriorSubpaths`);function $t(e,t,n,r){let i=t.x-e.x,a=t.y-e.y,o=r.x-n.x,s=r.y-n.y,c=i*s-a*o;if(Math.abs(c)<1e-10)return!1;let l=n.x-e.x,u=n.y-e.y,d=(l*s-u*o)/c,f=(l*a-u*i)/c,p=.01;return d>p&&d<1-p&&f>p&&f<1-p}t($t,`segmentsIntersect`);function en(e){let t=e.nodes??[],r=e.edges??[],i=[];if(!r.length||!t.length)return i;let a=Me(t),o=[];for(let e of r){if(e.isLayoutOnly)continue;let t=e.points;if(!t||t.length<2)continue;let n=e.start,r=e.end,s=e.labelNodeId,c=e.id??`${n}->${r}`;for(let e of a)if(!(e.nodeId===n||e.nodeId===r)&&!(s&&e.nodeId===s)){for(let n=0;n<t.length-1;n++)if(xe(t[n],t[n+1],e,-1)){i.push({type:`edge-node-overlap`,edgeId:c,targetId:e.nodeId,detail:`segment ${n} passes through node "${e.nodeId}"`});break}}for(let e=0;e<t.length-1;e++)o.push({edgeId:c,start:n,end:r,p1:t[e],p2:t[e+1]})}let s=new Set;for(let e=0;e<o.length;e++)for(let t=e+1;t<o.length;t++){let n=o[e],r=o[t];if(n.edgeId!==r.edgeId&&!(n.start===r.start||n.start===r.end||n.end===r.start||n.end===r.end)&&$t(n.p1,n.p2,r.p1,r.p2)){let e=n.edgeId<r.edgeId?`${n.edgeId}|${r.edgeId}`:`${r.edgeId}|${n.edgeId}`;s.has(e)||(s.add(e),i.push({type:`edge-edge-crossing`,edgeId:n.edgeId,targetId:r.edgeId,detail:`edges "${n.edgeId}" and "${r.edgeId}" cross`}))}}if(i.length>0){let e=i.filter(e=>e.type===`edge-node-overlap`).length,t=i.filter(e=>e.type===`edge-edge-crossing`).length;n.warn(`[SWIMLANE_VALIDATE] ${i.length} issue(s) detected: ${e} edge-node overlap(s), ${t} edge crossing(s)`);for(let e of i)n.warn(`[SWIMLANE_VALIDATE] ${e.type}: ${e.detail}`)}return i}t(en,`validateSwimlanesLayout`);function tn(e,n){let r=e.nodes??[],i=e.edges??[],a=r.filter(e=>!e.isGroup);if((n===`LR`||n===`RL`)&&a.length>0&&!St(e,n)||n===`BT`&&a.length>0&&!xt(e))return;for(let e of i){if(e.isLayoutOnly)continue;let t=e.points;!t||t.length<2||(e.points=He(Ve(t)))}Bt(i,r),Zt(i,r),Et(i,r);let o=new Map;for(let e of r)o.set(String(e.id),e);Kt(i,o),Je(i,o),Dt(i,o),Qt(i,o),kt(i,o),At(i,o),jt(i,o),Pt(i,o);let s=t(()=>{Lt(i,o),Ft(i,o),It(i,o),Kt(i,o),pt(i,o),jt(i,o),Kt(i,o),pt(i,o)},`finalizeRenderedEdges`);s(),Qt(i,o),s(),Mt(i,o),Nt(i,o),Mt(i,o),Nt(i,o)}t(tn,`postProcessSwimlaneLayout`);function nn(e){let t=new Map(e.nodeById),n=new Set,r=[];for(let i of e.edges){if(!t.has(i.src)||!t.has(i.dst))continue;let e=`${i.id}:${i.src}->${i.dst}`;n.has(e)||(n.add(e),r.push(i))}return{nodes:[...t.keys()],edges:r,layout:e.layout,nodeById:t}}t(nn,`normalizeGraph`);function rn(e,t){return e.edges.filter(e=>e.dst===t)}t(rn,`incoming`);function an(e){let t=new Map;for(let n of e.nodes)t.set(n,[]);for(let n of e.edges)t.get(n.src).push(n.dst);return t}t(an,`buildSuccessorMap`);function on(e){let t=an(e);for(let e of t.values())e.sort((e,t)=>e.localeCompare(t));return t}t(on,`buildSortedSuccessorMap`);function sn(e){let t=new Map;for(let n of e.nodes)t.set(n,0);for(let n of e.edges)t.set(n.dst,(t.get(n.dst)??0)+1);return t}t(sn,`buildInDegreeMap`);function cn(e){return[...e.entries()].filter(([,e])=>e===0).map(([e])=>e).sort((e,t)=>e.localeCompare(t))}t(cn,`sortedZeroInDegreeNodes`);function ln(e,t=()=>!0){let n=new Map,r=new Map;for(let t of e.nodes)n.set(t,[]),r.set(t,[]);for(let i of e.edges)t(i)&&(r.get(i.src).push(i.dst),n.get(i.dst).push(i.src));return{preds:n,succs:r}}t(ln,`buildPredecessorSuccessorMaps`);function un(e,t,n,r){let i=0;for(let t of e.nodes)r?.skipGroups&&e.nodeById.get(t)?.isGroup||(i=Math.max(i,n[t]??0));let a=Array.from({length:i+1},()=>[]);for(let i of t)r?.skipGroups&&e.nodeById.get(i)?.isGroup||a[Math.max(0,n[i]??0)].push(i);return a}t(un,`buildLayersFromRanks`);function dn(e){let t=sn(e),n=cn(t),r=[],i=on(e);for(;n.length;){let e=n.shift();r.push(e);for(let r of i.get(e)??[])if(t.set(r,(t.get(r)??0)-1),(t.get(r)??0)===0){let e=0;for(;e<n.length&&n[e]<r;)e++;n.splice(e,0,r)}}return r.length===e.nodes.length?r:null}t(dn,`topoSortIfAcyclic`);function fn(e){let t=new Map,n=0;for(let r of e)t.set(r,n),n++;return t}t(fn,`buildLayerIndex`);function pn(e){let n=Array(e.length),r=t((t,i)=>{if(i-t<=1)return 0;let a=t+i>>1,o=r(t,a)+r(a,i),s=t,c=a,l=t;for(;s<a||c<i;)c>=i||s<a&&e[s]<=e[c]?n[l++]=e[s++]:(n[l++]=e[c++],o+=a-s);for(let r=t;r<i;r++)e[r]=n[r];return o},`count`);return r(0,e.length)}t(pn,`countInversions`);function mn(e){let n=nn(e),r=new Map;for(let e of n.nodes)r.set(e,[]);for(let e of n.edges)r.get(e.src).push(e);for(let e of r.values())e.sort((e,t)=>e.dst===t.dst?e.id.localeCompare(t.id):e.dst.localeCompare(t.dst));let i=Object.create(null);for(let e of n.nodes)i[e]=0;let a=[],o=t(e=>{i[e]=1;for(let t of r.get(e)??[]){let e=t.dst;i[e]===0?o(e):i[e]===1&&a.push(t)}i[e]=2},`dfs`),s=[...n.nodes].sort((e,t)=>e.localeCompare(t));for(let e of s)i[e]===0&&o(e);let c=new Set(a.map(e=>`${e.id}:${e.src}->${e.dst}`)),l=n.edges.map(e=>c.has(`${e.id}:${e.src}->${e.dst}`)?{id:e.id,src:e.dst,dst:e.src,weight:e.weight,ref:e.ref}:e);return{acyclic:{nodes:[...n.nodes],edges:l,layout:n.layout,nodeById:new Map(n.nodeById)},reversed:a}}t(mn,`removeCycles_DFS`);function hn(e){let n=new Map,r=t(t=>{if(n.has(t))return n.get(t);let i=e.nodeById.get(t);if(!i)return n.set(t,null),null;let a=i.parentId;if(!a)return n.set(t,null),null;let o=r(a)??a;return n.set(t,o),o},`resolve`);for(let t of e.nodes)r(t);return n}t(hn,`buildTopLaneMap`);function gn(e){let t=hn(e);return e=>t.get(e)??null}t(gn,`createTopLaneResolver`);function _n(e){let t=[];for(let n of e.layout.nodes??[])n.isGroup&&!n.parentId&&t.push(n.id);return[...new Set(t)].reverse()}t(_n,`buildTopLaneOrder`);function vn(e,t){let n=_n(e);if(!t||t.length===0)return n;let r=new Set(n),i=new Set,a=[];for(let e of t)!r.has(e)||i.has(e)||(i.add(e),a.push(e));for(let e of n)i.has(e)||a.push(e);return a}t(vn,`resolveTopLaneOrder`);var yn={EPSILON:1e-6},bn={GRAVITY_ITERATIONS:8,MAX_CROSSING_OPTIMIZATION_PASSES:4,DEFAULT_COMPACT_SINGLE_INPUT:!0},xn={DEFAULT_LAYER_GAP:100,DEFAULT_NODE_GAP:40};function Sn(e,n){let r=nn(e),i=n?.laneOf??(()=>null),a=n?.rankHint,{preds:o}=ln(r);for(let e of o.values())e.sort((e,t)=>e.localeCompare(t));let s=dn(r)??[...r.nodes].sort((e,t)=>e.localeCompare(t)),c=new Map;for(let[e,t]of s.entries())c.set(t,e);let l=new Map,u=new Map;for(let e of r.nodes)u.set(e,[]);for(let e of s){let t=(o.get(e)??[]).filter(e=>l.has(e));if(t.length>0){let n=Cn(e,t,{laneOf:i,rankHint:a,topoIndex:c});l.set(e,n),u.get(n).push(e)}else l.has(e)||l.set(e,null)}for(let e of r.nodes)l.has(e)||l.set(e,null);let d=new Set;for(let e of r.nodes)(l.get(e)??null)===null&&d.add(e);let f=[...d].sort((e,t)=>{let n=c.get(e)??0,r=c.get(t)??0;return n===r?e.localeCompare(t):n-r}),p=wn(r),m=new Map;for(let[e,t]of p.entries())m.set(e,[...t].sort((e,t)=>e.localeCompare(t)));let h=Tn(m),g=En(m),_=new Map;for(let e of r.nodes)_.set(e,[]);for(let e of g)for(let t of e.nodes){let n=_.get(t);n?n.push(e.id):_.set(t,[e.id])}let v=[],y=[],b=new Set,x=t(e=>{if(!b.has(e)){b.add(e),v.push(e);for(let t of u.get(e)??[])x(t);y.push(e)}},`walk`);for(let e of f)x(e);for(let e of s)x(e);return{parent:l,children:u,roots:f,componentOf:h,blocks:g,nodeBlocks:_,adjacency:m,preorder:v,postorder:y,topologicalOrder:s}}t(Sn,`buildDrivingTree`);function Cn(e,t,n){let r=n.laneOf(e);return[...t].sort((e,t)=>{let i=n.laneOf(e),a=n.laneOf(t),o=i!=null&&i===r;if(o!==(a!=null&&a===r))return o?-1:1;let s=n.rankHint?.[e],c=n.rankHint?.[t];if(s!=null&&c!=null&&s!==c)return c-s;let l=n.topoIndex.get(e)??0,u=n.topoIndex.get(t)??0;return l===u?e.localeCompare(t):l-u})[0]}t(Cn,`chooseParent`);function wn(e){let t=new Map;for(let n of e.nodes)t.set(n,new Set);for(let n of e.edges)t.get(n.src).add(n.dst),t.get(n.dst).add(n.src);return t}t(wn,`buildAdjacency`);function Tn(e){let t=new Map,n=0;for(let r of e.keys()){if(t.has(r))continue;let i=[r];for(;i.length>0;){let r=i.pop();if(!t.has(r)){t.set(r,n);for(let n of e.get(r)??[])t.has(n)||i.push(n)}}n++}return t}t(Tn,`assignComponents`);function En(e){let n=new Map,r=new Map,i=[],a=[],o=0,s=t((t,c)=>{n.set(t,++o),r.set(t,o);for(let l of e.get(t)??[])l!==c&&(n.has(l)?(n.get(l)??0)<(n.get(t)??0)&&(i.push([t,l]),r.set(t,Math.min(r.get(t)??o,n.get(l)??o))):(i.push([t,l]),s(l,t),r.set(t,Math.min(r.get(t)??o,r.get(l)??o)),(r.get(l)??0)>=(n.get(t)??0)&&a.push(Dn(t,l,i,a.length))))},`visit`);for(let t of e.keys())n.has(t)||s(t,null);return a}t(En,`computeBlocks`);function Dn(e,t,n,r){let i=[],a=new Set;for(;n.length>0;){let r=n.pop();if(i.push(r),a.add(r[0]),a.add(r[1]),r[0]===e&&r[1]===t||r[0]===t&&r[1]===e)break}return{id:r,edges:i,nodes:[...a]}}t(Dn,`popBlock`);function On(e,n,r){let i=[...e.nodes],a=new Map;for(let[e,t]of i.entries())a.set(t,e);let o=i.length,s=Array(o).fill(-1),c=Array(o).fill(0),l=[],u=new Set;for(let e of i){let t=r.parent.get(e)??null,n=a.get(e);n!=null&&(t??(s[n]=-1,c[n]=0,u.has(e)||(u.add(e),l.push(e))))}for(;l.length>0;){let e=l.shift(),t=a.get(e);if(t==null)continue;let n=r.children.get(e)??[];for(let e of n){if(u.has(e))continue;let n=a.get(e);n!=null&&(s[n]=t,c[n]=c[t]+1,u.add(e),l.push(e))}}for(let e of i){if(u.has(e))continue;let t=a.get(e);t!=null&&(s[t]=-1,c[t]=0,u.add(e))}let d=Math.max(1,Math.ceil(Math.log2(Math.max(1,o)))+1),f=Array.from({length:d},()=>Array(o).fill(-1));for(let e=0;e<o;e++)f[0][e]=s[e];for(let e=1;e<d;e++)for(let t=0;t<o;t++){let n=f[e-1][t];f[e][t]=n===-1?-1:f[e-1][n]}let p=t((e,t)=>{if(e===-1||t===-1)return-1;c[e]<c[t]&&([e,t]=[t,e]);let n=c[e]-c[t];for(let t=0;t<d;t++)if(n>>t&1&&(e=f[t][e],e===-1))return-1;if(e===t)return e;for(let n=d-1;n>=0;n--){let r=f[n][e],i=f[n][t];r===-1||i===-1||r!==i&&(e=r,t=i)}return f[0][e]},`lcaIndex`),m=Array.from({length:o},()=>new Map);for(let t of e.edges){let e=t.src,r=t.dst,i=n[e],o=n[r];if(i==null||o==null||(i>o&&([e,r]=[r,e],[i,o]=[o,i]),i==null||o==null||i===o))continue;let s=a.get(e),c=a.get(r);if(s==null||c==null)continue;let l=p(s,c);if(l===-1)continue;let u=m[l];for(let e=i;e<o;e++)u.set(e,(u.get(e)??0)+1)}let h=new Map,g=t((e,t)=>{if(t.size!==0)for(let[n,r]of t)e.set(n,(e.get(n)??0)+r)},`mergeInto`),_=new Set,v=t(e=>{let t=a.get(e);_.add(e);let i=t==null?void 0:m[t],o=i?new Map(i):new Map,s=r.children.get(e)??[];for(let t of s){let r=v(t),i=n[e];if(i!=null){let a=h.get(e);a||(a=new Map,h.set(e,a));let o=r.get(i)??0,s=n[t];s!=null&&s>i&&(o+=1),a.set(t,o)}g(o,r)}return o},`dfs`);for(let e of r.roots)_.has(e)||v(e);for(let e of i)_.has(e)||v(e);return h}t(On,`computeSubtreeCrossCounts`);function kn(e,n,r){let i=new Map,a=t(e=>{let t=r[e]??0,o=[...n.get(e)??[]];o.sort(An(r));for(let e of o){a(e);let n=i.get(e);n!=null&&(t=Math.min(t,n))}i.set(e,t)},`annotate`);for(let t of e)a(t);return i}t(kn,`annotateMinimumLayers`);function An(e){return(t,n)=>{let r=e[t]??0,i=e[n]??0;return r===i?t.localeCompare(n):r-i}}t(An,`compareByRankThenId`);function jn(e,n,r,i){let a=0;for(let e of n){let t=r[e]??0;t>a&&(a=t)}let o=Array.from({length:a+1},()=>[]),s=new Set,c=t(e=>{if(s.has(e))return;s.add(e);let t=r[e]??0;o[t]||(o[t]=[]),o[t].push(e);for(let t of i(e))c(t)},`emit`);for(let t of e)c(t);for(let e of n)if(!s.has(e)){let t=r[e]??0;o[t]||(o[t]=[]),o[t].push(e),s.add(e)}return o}t(jn,`emitNodesInTreeOrder`);function Mn(e){let t=[];for(let n of e){let e=new Set,r=[];for(let t of n)e.has(t)||(e.add(t),r.push(t));t.push(r)}return t}t(Mn,`deduplicateLayers`);function Nn(e,t,n,r){return i=>{let a=e.get(i)??[];if(a.length===0)return[];let o=t[i]??0,s=[],c=[],l=n.get(i);for(let e of a){let t=r.get(e)??o;t>o?s.push({child:e,min:t}):c.push(e)}return s.sort((e,t)=>e.min===t.min?e.child.localeCompare(t.child):e.min-t.min),c.sort((e,t)=>{let n=l?.get(e)??0,i=l?.get(t)??0;if(n!==i)return n-i;let a=r.get(e)??o,s=r.get(t)??o;return a===s?e.localeCompare(t):a-s}),[...s.map(e=>e.child),...c]}}t(Nn,`createChildOrderer`);function Pn(e,t,n){let r=Sn(e,{rankHint:t,laneOf:n}),{children:i,roots:a}=r;for(let t of e.nodes)i.has(t)||i.set(t,[]);let o=On(e,t,r),s=[...a].sort(An(t)),c=Nn(i,t,o,kn(s,i,t)),l=jn(s,e.nodes,t,c);return l=Mn(l),l}t(Pn,`buildMultitreeLayerOrder`);function Fn(e,t,n){let r=new Set(e),i=new Set(t),a=fn(t),o=[];for(let e of n)r.has(e.src)&&i.has(e.dst)&&o.push(a.get(e.dst));return pn(o)}t(Fn,`countCrossingsBetweenAdjacent`);function In(e,t,n){let r=[];for(let e of t){let t=n[e.src],i=n[e.dst];if(t==null||i==null||t===i)continue;let a=e.src,o=e.dst,s=t,c=i;t>i&&(a=e.dst,o=e.src,s=i,c=t);for(let t=s;t<c;t++)r.push({id:`${e.id}@${t}`,src:a,dst:o,ref:e.ref})}let i=0;for(let t=0;t+1<e.length;t++)i+=Fn(e[t],e[t+1],r);return i}t(In,`totalCrossings`);function Ln(e,t){let n={...t},{preds:r}=ln(e),i=gn(e),a=In(Pn(e,n,i),e.edges,n),o=bn.MAX_CROSSING_OPTIMIZATION_PASSES;for(let t=0;t<o;t++){let t=!1,o=[...e.nodes].sort((e,t)=>(n[t]??0)-(n[e]??0));for(let s of o){let o=n[s]??0;if(o===0)continue;let c=0;for(let e of r.get(s)??[])c=Math.max(c,(n[e]??0)+1);if(c>=o)continue;let l=o;n[s]=c;let u=In(Pn(e,n,i),e.edges,n);u<a?(a=u,t=!0):n[s]=l}if(!t)break}return n}t(Ln,`optimizeRanksByCrossings`);function Rn(e,t){let n=gn(e),r=[...e.nodes].sort((e,n)=>(t[e]??0)-(t[n]??0)||e.localeCompare(n));for(let i of r){let r=n(i);if(!r)continue;let a=e.edges.filter(e=>e.src===i);if(a.length===0)continue;let o=!1,s=0;for(let e of a){let t=n(e.dst);t==null||t===r?o=!0:s++}if(s===0||o)continue;let c=0,l=!1;for(let t of e.edges){if(t.dst!==i)continue;let e=n(t.src);e&&(e===r?l=!0:c++)}if(c>0||!l)continue;let u=t[i]??0,d=u+s,f=0;for(let n of e.edges)n.dst===i&&(f=Math.max(f,(t[n.src]??0)+1));let p=Math.max(u,f,d);p!==u&&(t[i]=p)}}t(Rn,`adjustCrossLaneSources`);function zn(e,t){let n=nn(e),r=dn(n)??[...n.nodes].sort(),i=t?.compactSingleInput??!1,a=gn(n),o=Object.create(null);for(let e of r){let r=rn(n,e),s=t?.ignoreCrossLaneEdges?r.filter(t=>{let n=a(t.src),r=a(e);return!n||!r?!0:n===r}):r;if(s.length===0)o[e]=0;else if(i&&s.length===1){let t=s[0].src;a(t)===a(e)?o[e]=(o[t]??0)+1:o[e]=o[t]??0}else{let t=-1/0;for(let e of s)t=Math.max(t,(o[e.src]??0)+1);o[e]=t===-1/0?0:t}}return(t?.optimizeRanksByCrossings??!1)&&(o=Ln(n,o)),t?.ignoreCrossLaneEdges&&Rn(n,o),{layers:Pn(n,o,a),rankOf:o,dummy:new Set}}t(zn,`assignLayers_LongestPath`);function Bn(e,n){let r=nn(e),i={...zn(r,{compactSingleInput:n?.compactSingleInput,ignoreCrossLaneEdges:n?.ignoreCrossLaneEdges,optimizeRanksByCrossings:n?.optimizeRanksByCrossings}).rankOf},a=gn(r),{preds:o,succs:s}=ln(r,e=>{if(n?.ignoreCrossLaneEdges){let t=a(e.src),n=a(e.dst);if(t&&n&&t!==n)return!1}return!0}),c=dn(r)??[...r.nodes],l=[...c].reverse(),u=t((e,t)=>{let n=0;for(let t of o.get(e)??[])n=Math.max(n,(i[t]??0)+1);let r=1/0,a=s.get(e)??[];return a.length>0&&(r=Math.min(...a.map(e=>(i[e]??0)-1))),Number.isFinite(r)||(r=Math.max(n,t)),Math.min(Math.max(t,n),r)},`clampFeasible`),d=bn.GRAVITY_ITERATIONS,f=t(e=>{let t=!1;for(let n of e){let e=o.get(n)??[],r=s.get(n)??[];if(e.length===0&&r.length===0)continue;let a=e.length>0?e.reduce((e,t)=>e+(i[t]??0)+1,0)/e.length:i[n]??0,c=r.length>0?r.reduce((e,t)=>e+(i[t]??0)-1,0)/r.length:i[n]??0,l=Math.round((a+c)/2),d=u(n,l);d!==i[n]&&(i[n]=d,t=!0)}return t},`relaxOrder`);for(let e=0;e<d;e++){let e=f(c),t=f(l);if(!e&&!t)break}for(let e of c){let t=0;for(let n of o.get(e)??[])t=Math.max(t,(i[n]??0)+1);(i[e]??0)<t&&(i[e]=t)}for(let e of l){let t=s.get(e)??[];if(t.length>0){let n=Math.min(...t.map(e=>(i[e]??0)-1));(i[e]??0)>n&&(i[e]=n)}}return{layers:un(r,c,i),rankOf:i,dummy:new Set}}t(Bn,`assignLayers_Gravity`);function Vn(e){let t=sn(e),n=on(e),r=cn(t),i=[];for(;r.length>0;){let e=[];for(let a of r){i.push(a);for(let r of n.get(a)??[])t.set(r,(t.get(r)??0)-1),(t.get(r)??0)===0&&e.push(r)}r=e.sort((e,t)=>e.localeCompare(t))}return i.length===e.nodes.length?i:null}t(Vn,`topoSortByGenerationIfAcyclic`);function Hn(e,n){let r=nn(e),i=n?.direction===`LR`?Vn(r)??[...r.nodes].sort():dn(r)??[...r.nodes].sort(),a=gn(r),o=t(e=>a(e)??e,`laneOf`),s=Object.create(null),c=new Map,l=t((e,t)=>n?.ignoreCrossLaneEdges??!0?+(o(e)===o(t)):1,`edgeWeight`);for(let e of i){if(r.nodeById.get(e)?.isGroup)continue;let t=rn(r,e),n=0;if(t.length>0)for(let r of t){let t=r.src,i=s[t]??0;n=Math.max(n,i+l(t,e))}let i=o(e),a=c.get(i)??0,u=Math.max(n,a);s[e]=u,c.set(i,u+1)}return{layers:un(r,i,s,{skipGroups:!0}),rankOf:s,dummy:new Set}}t(Hn,`assignLayers_LaneAwareCompact`);function Un(e,n){let r=nn(n),{rankOf:i}=e,a=e.layers.map(e=>[...e]),o=new Set(e.dummy?[...e.dummy]:[]),s=0,c=new Map(r.nodeById),l=t(e=>{let t=`placeholder-${s++}`,n={id:t,isGroup:!1,isDummy:!0,width:0,height:0};for(c.set(t,n),o.add(t);a.length<=e;)a.push([]);return a[e].push(t),i[t]=e,t},`addDummyAt`),u=[...r.edges].sort((e,t)=>e.id===t.id?e.src===t.src?e.dst.localeCompare(t.dst):e.src.localeCompare(t.src):e.id.localeCompare(t.id)),d=[];for(let e of u){let t=i[e.src]??0,n=i[e.dst]??0;if(n-t<=1){d.push(e);continue}let r=e.src;for(let i=t+1,a=0;i<n;i++,a++){let t=l(i);d.push({id:`${e.id}#${a}`,src:r,dst:t,weight:e.weight,ref:e.ref}),r=t}let a=n-t-2;d.push({id:`${e.id}#${Math.max(a+1,0)}`,src:r,dst:e.dst,weight:e.weight,ref:e.ref})}let f={nodes:[...r.nodes,...[...o].filter(e=>!r.nodes.includes(e))],edges:d,layout:r.layout,nodeById:c};return{layering:{layers:a,rankOf:i,dummy:o},graphWithDummies:f}}t(Un,`makeProperLayering`);function Wn(e){let t=e.length;if(t===0)return 1/0;let n=[...e].sort((e,t)=>e-t);return t%2==1?n[(t-1)/2]:.5*(n[t/2-1]+n[t/2])}t(Wn,`median`);function Gn(e){return e.length===0?1/0:e.reduce((e,t)=>e+t,0)/e.length}t(Gn,`barycenter`);function Kn(e,t,n,r){let i=new Map;for(let t of e)i.set(t,[]);for(let e of n)r===`down`?t.has(e.src)&&i.has(e.dst)&&i.get(e.dst).push(t.get(e.src)):t.has(e.dst)&&i.has(e.src)&&i.get(e.src).push(t.get(e.dst));return i}t(Kn,`neighborPositionsFor`);function qn(e,t,n){let r=n.get(e)??0,i=n.get(t)??0;return r===i?e.localeCompare(t):r-i}t(qn,`currentOrderTieBreak`);function Jn(e,t,n){let r=new Set(e),i=new Set(t),a=fn(e),o=fn(t),s=[];for(let e of n)r.has(e.src)&&i.has(e.dst)&&s.push({u:a.get(e.src),v:o.get(e.dst)});return s.sort((e,t)=>e.u===t.u?e.v-t.v:e.u-t.u),pn(s.map(e=>e.v))}t(Jn,`countCrossingsBetweenAdjacent`);function Yn(e,t,n){return[...e].sort((e,r)=>{let i=Wn(t.get(e)??[]),a=Wn(t.get(r)??[]);return i===a?qn(e,r,n):isFinite(i)?isFinite(a)?i-a:-1:1})}t(Yn,`sortByHeuristic`);function Xn(e,t,n,r,i,a){let o=fn(e),s=fn(t),c=Kn(t,o,n,r);if(!i||!a||a.length===0)return Yn(t,c,s);let l=new Map;for(let e of t){let t=i(e),n=l.get(t)??[];n.push(e),l.set(t,n)}let u=[];for(let e of a){let t=l.get(e);if(!t||t.length===0)continue;let n=Yn(t,c,s);u.push(...n)}let d=l.get(null);if(d&&d.length>0){let e=Yn(d,c,s);for(let t of e){let e=Gn(c.get(t)??[]),n=u.length;if(isFinite(e)){for(let[t,r]of u.entries())if(e<Gn(c.get(r)??[])){n=t;break}}u.splice(n,0,t)}}return u}t(Xn,`reorderLayer`);function Zn(e,n,r,i,a){let o=[...n],s=new Set(e),c=new Set(n),l=i?new Set(i):null,u=r.filter(e=>s.has(e.src)&&c.has(e.dst)),d=l?r.filter(e=>c.has(e.src)&&l.has(e.dst)):void 0,f=t(t=>{let n=Jn(e,t,u);return d&&i&&(n+=Jn(t,i,d)),n},`crossingScore`),p=a?new Map:null;if(a&&p)for(let e of n)p.set(e,a(e));let m=!0,h=f(o);for(;m;){m=!1;for(let e=0;e+1<o.length;e++){if(p&&p.get(o[e])!==p.get(o[e+1]))continue;let t=h;[o[e],o[e+1]]=[o[e+1],o[e]];let n=f(o);n<t?(h=n,m=!0):[o[e],o[e+1]]=[o[e+1],o[e]]}}return o}t(Zn,`transposeImprove`);function Qn(e,t,n){let r=e.layers.map(e=>[...e]),i=t.edges,a=gn(t),o=vn(t,n?.laneOrder);for(let e=0;e<3;e++){for(let e=1;e<r.length;e++)r[e]=Xn(r[e-1],r[e],i,`down`,a,o),r[e]=Zn(r[e-1],r[e],i,r[e+1],a);for(let e=r.length-2;e>=0;e--)r[e]=Xn(r[e+1],r[e],i,`up`,a,o),r[e]=Zn(r[e+1],r[e],i,r[e-1],a)}return{layers:r}}t(Qn,`orderLayers`);function $n(e,n,r){let i=r?.layerGap??xn.DEFAULT_LAYER_GAP,a=r?.nodeGap??xn.DEFAULT_NODE_GAP,o=r?.laneGap??a*2,s=r?.direction??`TB`,c=s===`LR`||s===`RL`,l=e.layers,u=Object.create(null),d=Object.create(null),f=t(e=>n.nodeById.get(e),`getNode`),p=t(e=>f(e)?.width??0,`getWidth`),m=t(e=>f(e)?.height??0,`getHeight`),h=gn(n),g=vn(n,r?.laneOrder),_=l.map(e=>e.reduce((e,t)=>Math.max(e,m(t)),0)),v=[];if(c)for(let e=0;e+1<l.length;e++){let t=l[e].reduce((e,t)=>Math.max(e,p(t)),0),n=l[e+1].reduce((e,t)=>Math.max(e,p(t)),0),r=_[e],a=_[e+1],o=r/2+a/2,s=(t+n)/2,c=Math.max(0,s-o-i);v.push(c)}let y=new Set;for(let e of l)for(let t of e)y.add(h(t));let b=y.has(null),x=g.filter(e=>y.has(e)),S=[...b?[null]:[],...x],C=Object.create(null);for(let e of x)C[e]=0;b&&(C.null=0);for(let e of l){let t=Object.create(null),n=[];for(let r of e){let e=h(r);e===null?n.push(r):(t[e]||=[]).push(r)}for(let[e,n]of Object.entries(t)){let t=n.reduce((e,t)=>e+p(t),0)+a*Math.max(0,n.length-1);C[e]=Math.max(C[e]??0,t)}if(b&&n.length){let e=n.reduce((e,t)=>e+p(t),0)+a*Math.max(0,n.length-1);C.null=Math.max(C.null??0,e)}}let w=new Map;{let e=S.map(e=>(e===null?C.null:C[e])??0),t=-(e.reduce((e,t)=>e+t,0)+o*Math.max(0,S.length-1))/2;for(let n=0;n<S.length;n++){let r=S[n],i=e[n]??0,a=t+i/2;w.set(r,a),t+=i,n<S.length-1&&(t+=o)}}let T=0;for(let[e,t]of l.entries()){let n=_[e]??0,r=new Map;for(let e of t){let t=h(e),n=r.get(t)??[];n.push(e),r.set(t,n)}for(let e of S){let t=r.get(e)??[];if(t.length===0)continue;let i=w.get(e);if(t.length===1){let e=t[0];u[e]=i,d[e]=T+n/2}else{let e=t.map(e=>p(e)),r=i-(e.reduce((e,t)=>e+t,0)+a*(t.length-1))/2;for(let[i,o]of t.entries()){let t=e[i];u[o]=r+t/2,d[o]=T+n/2,r+=t+a}}}let o=v[e]??0;T+=n+i+o}let E=new Map;for(let e of n.edges){let t=e.ref.id;E.has(t)||E.set(t,[]),E.get(t).push(e)}for(let[,e]of E){if(e.length===0)continue;let t=e[0].ref,r=t.start,i=t.end;if(r==null||i==null)continue;let a=Math.round(((u[r]??0)+(u[i]??0))/2),o=new Set;for(let t of e)o.add(t.src),o.add(t.dst);for(let e of o)e===r||e===i||n.nodeById.get(e)?.isDummy&&(u[e]=a)}return{x:u,y:d}}t($n,`assignCoordinates`);var er=8;function tr(e){let t=2166136261;for(let n=0;n<e.length;n++)t^=e.charCodeAt(n),t=Math.imul(t,16777619);return t>>>0}t(tr,`hashString`);function nr(e){let t=e>>>0;return()=>{t+=1831565813;let e=t;return e=Math.imul(e^e>>>15,e|1),e^=e+Math.imul(e^e>>>7,e|61),((e^e>>>14)>>>0)/4294967296}}t(nr,`mulberry32`);function rr(e,t){let n=[...e],r=nr(t);for(let e=n.length-1;e>0;e--){let t=Math.floor(r()*(e+1));[n[e],n[t]]=[n[t],n[e]]}return n}t(rr,`deterministicShuffle`);function ir(e,t){let n=0;for(let[r,i]of e.entries())n+=Math.abs(r-(t.get(i)??r));return n}t(ir,`sourceDistance`);function ar(e,t){let n=new Map;for(let[t,r]of e.entries())n.set(r,t);let r=0;for(let{a:e,b:i,weight:a}of t){let t=n.get(e),o=n.get(i);t==null||o==null||(r+=a*Math.abs(t-o))}return r}t(ar,`laneArrangementCost`);function or(e){let t=_n(e);if(t.length<2)return[];let n=new Map(t.map((e,t)=>[e,t])),r=gn(e),i=new Map;for(let t of e.layout.edges??[]){if(t.isLayoutOnly)continue;let a=typeof t.start==`string`?t.start:void 0,o=typeof t.end==`string`?t.end:void 0;if(!a||!o||!e.nodeById.has(a)||!e.nodeById.has(o))continue;let s=r(a),c=r(o);if(!s||!c||s===c)continue;let l=n.get(s),u=n.get(c);if(l==null||u==null)continue;let[d,f]=l<=u?[s,c]:[c,s],p=`${d}\0${f}`,m=i.get(p);m?m.weight++:i.set(p,{a:d,b:f,weight:1})}return[...i.values()]}t(or,`buildWeightedLaneEdges`);function sr(e,t,n){let r=[...e],i=ar(r,t),a=!0,o=0,s=Math.max(1,r.length);for(;a&&o<s;){a=!1,o++;for(let e=0;e+1<r.length;e++){[r[e],r[e+1]]=[r[e+1],r[e]];let n=ar(r,t);n<i?(i=n,a=!0):[r[e],r[e+1]]=[r[e+1],r[e]]}}return{order:r,cost:i,sourceDistance:ir(r,n)}}t(sr,`greedySwitch`);function cr(e,t){return e.cost===t.cost?e.sourceDistance<t.sourceDistance:e.cost<t.cost}t(cr,`isBetterCandidate`);function lr(e,t,n){let r=[...t].sort((e,t)=>e.a===t.a?e.b.localeCompare(t.b):e.a.localeCompare(t.a)).map(({a:e,b:t,weight:n})=>`${e}:${t}:${n}`).join(`|`);return tr(`${e.join(`|`)}#${r}#${n}`)}t(lr,`seedForRestart`);function ur(e,t={}){let n=_n(e);if(n.length<2)return n;let r=or(e);if(r.length===0)return n;let i=new Map(n.map((e,t)=>[e,t])),a=sr(n,r,i),o=Math.max(0,t.restarts??er);for(let e=0;e<o;e++){let t=sr(rr(n,lr(n,r,e)),r,i);cr(t,a)&&(a=t)}return a.order}t(ur,`optimizeTopLaneOrder`);function dr(e,t){let n=t?.ignoreCrossLaneEdges??!0,r=t?.optimizeRanksByCrossings??!0,i=nn(e),a=t?.automaticLaneOrdering?ur(i,{restarts:er}):void 0,o=mn(i),s=o.acyclic,{layering:c,graphWithDummies:l}=Un(n?Hn(s,{compactSingleInput:t?.compactSingleInput??bn.DEFAULT_COMPACT_SINGLE_INPUT,ignoreCrossLaneEdges:!0,direction:t?.direction}):Bn(s,{compactSingleInput:t?.compactSingleInput??bn.DEFAULT_COMPACT_SINGLE_INPUT,ignoreCrossLaneEdges:!1,optimizeRanksByCrossings:r}),s),u=Qn(c,l,{laneOrder:a}),d=$n(u,l,{layerGap:t?.layerGap,nodeGap:t?.nodeGap,direction:t?.direction,laneOrder:a});return{acyclic:s,reversed:o.reversed,layering:c,ordered:u,coordinates:d}}t(dr,`sugiyamaLayout`);var $=yn.EPSILON,fr=8,pr=15,mr=15,hr=25,gr=20,_r=10;function vr(e,t,n){let r=e.x??0,i=e.y??0,a=t.x-r,o=t.y-i,s=Math.abs(a),c=Math.abs(o);return s<$&&c<$?n:c>$&&c*3>=s?o>0?`bottom`:`top`:s>$?a>0?`right`:`left`:n}t(vr,`chooseOrthogonalSide`);function yr(e,t){return Math.abs(e.to-t.from)<$||Math.abs(e.to-t.to)<$?e.to:e.from}t(yr,`sharedLineEndpointCoord`);function br(e,t){return e.orient===`vertical`?{x:e.coord,y:t}:{x:t,y:e.coord}}t(br,`pointOnLine`);function xr(e,n){let r=e.nodes??[],i=e.edges??[],a=[];for(let e of i)e.isLayoutOnly||a.push({...e,__originalEdge:e});let o=new Map,s=new Map,c=[],l=n===`LR`;for(let e of r)o.set(e.id,e);let u=r.filter(e=>e.isGroup&&!e.parentId);for(let e of u){let n={id:e.id},i=t(e=>{s.set(e.id,n),r.filter(t=>t.parentId===e.id).forEach(i)},`assignLane`);i(e)}let d=r.filter(e=>!e.isGroup&&!e.isEdgeLabel).map(e=>{let t=e.width??10,n=e.height??10,r=e.x??0,i=e.y??0,a=fr;return{nodeId:e.id,minX:r-t/2-a,maxX:r+t/2+a,minY:i-n/2-a,maxY:i+n/2+a,visualXHalfExtent:l?n/2+a:t/2+a}}),f=t((e,t,n,r)=>{let i=c.find(n=>n.orientation===e&&Math.abs(n.coord-t)<1);return i||(i={id:`pipe-${e}-${t.toFixed(0)}`,orientation:e,coord:t,spanMin:n,spanMax:r,tracks:[]},c.push(i)),i.spanMin=Math.min(i.spanMin,n),i.spanMax=Math.max(i.spanMax,r),i},`getOrAddPipe`),p=t((e,t)=>{let n=e.width??10,r=e.height??10,i=e.x??0,a=e.y??0;switch(t){case`top`:return{x:i,y:a-r/2};case`bottom`:return{x:i,y:a+r/2};case`left`:return{x:i-n/2,y:a};case`right`:return{x:i+n/2,y:a}}},`portForSide`),m=t((e,t,n)=>p(e,vr(e,t,n?`bottom`:`top`)),`getOrthogonalPort`),h=[],g=[],_=new Set,v=1e3,y=t((e,t,n)=>{if(h.length===0)return 0;let r=Math.abs(t.y-n.y)<$,i=Math.abs(t.x-n.x)<$;if(!r&&!i)return 0;let a=0;if(r){let r=t.y,i=Math.min(t.x,n.x)-$,o=Math.max(t.x,n.x)+$;if(o<=i)return 0;for(let t of h)t.edgeIndex===e||t.orientation!==`vertical`||t.pipe.coord<i||t.pipe.coord>o||t.from-$<=r&&t.to+$>=r&&(a+=v)}else if(i){let r=t.x,i=Math.min(t.y,n.y)-$,o=Math.max(t.y,n.y)+$;if(o<=i)return 0;for(let t of h)t.edgeIndex===e||t.orientation!==`horizontal`||t.pipe.coord<i||t.pipe.coord>o||t.from-$<=r&&t.to+$>=r&&(a+=v)}return a},`crossingPenalty`),b=a.map((e,t)=>{if(!e.start||!e.end)return{idx:t,crossLane:0,dx:0,dy:0};let n=o.get(e.start),r=o.get(e.end),i=s.get(e.start),a=s.get(e.end);return{idx:t,crossLane:i&&a&&i.id!==a.id?1:0,dx:n&&r?Math.abs((r.x??0)-(n.x??0)):0,dy:n&&r?Math.abs((r.y??0)-(n.y??0)):0}}).sort((e,t)=>{if(e.crossLane!==t.crossLane)return t.crossLane-e.crossLane;let n=e.dx+e.dy,r=t.dx+t.dy;return Math.abs(n-r)>1?n-r:e.idx-t.idx}).map(e=>e.idx),x=t((e,t,n,r)=>{let i=Math.min(e.x,t.x),a=Math.max(e.x,t.x),o=Math.min(e.y,t.y),s=Math.max(e.y,t.y);return!!d.find(c=>n&&c.nodeId===n||r&&c.nodeId===r?!1:Math.abs(e.x-t.x)>$?c.minY<e.y&&c.maxY>e.y&&c.maxX>i&&c.minX<a:c.minX<e.x&&c.maxX>e.x&&c.maxY>o&&c.minY<s)},`isSegmentBlocked`),S=new Map,C=new Map;for(let e of a)!e.start||!e.end||e.start===e.end||(C.set(e.start,(C.get(e.start)??0)+1),C.set(e.end,(C.get(e.end)??0)+1));let w=t((e,t)=>vr(e,t,`bottom`),`determineSide`),T=new Map;for(let[e,t]of a.entries()){if(!t.start||!t.end||t.start===t.end||t.points&&t.points.length>0)continue;let n=o.get(t.start),r=o.get(t.end);if(!n||!r)continue;let i=(r.x??0)-(n.x??0),a=(r.y??0)-(n.y??0);T.set(e,{edgeIdx:e,srcId:t.start,dstId:t.end,srcSide:w(n,{x:r.x??0,y:r.y??0}),dstSide:w(r,{x:n.x??0,y:n.y??0}),absDx:Math.abs(i),absDy:Math.abs(a),dxSign:Math.sign(i),dySign:Math.sign(a)})}let E=t(e=>e.srcSide===`top`||e.srcSide===`bottom`?e.absDx===0?1/0:e.absDy/e.absDx:e.absDy===0?1/0:e.absDx/e.absDy,`preferenceStrength`),D=t(e=>e.srcSide===`top`||e.srcSide===`bottom`?e.dxSign>=0?`right`:`left`:e.dySign>=0?`bottom`:`top`,`secondarySide`),O=new Map;for(let e of T.values()){let t=`${e.srcId}:${e.srcSide}`;O.has(t)||O.set(t,[]),O.get(t).push(e)}let k=new Map,A=t((e,t)=>`${e}:${t}`,`loadKey`);for(let e of T.values())k.set(A(e.srcId,e.srcSide),(k.get(A(e.srcId,e.srcSide))??0)+1),k.set(A(e.dstId,e.dstSide),(k.get(A(e.dstId,e.dstSide))??0)+1);for(let e of O.values())if(!(e.length<2)){e.sort((e,t)=>{let n=E(e),r=E(t);return Math.abs(n-r)>1e-9?r-n:e.edgeIdx-t.edgeIdx});for(let t=1;t<e.length;t++){let n=e[t],r=D(n),i=k.get(A(n.srcId,n.srcSide))??0,a=k.get(A(n.srcId,r))??0;a>=i||(k.set(A(n.srcId,n.srcSide),i-1),k.set(A(n.srcId,r),a+1),n.srcSide=r)}}let j=t(e=>{let t=e?.shape;return t===`question`||t===`diamond`},`isDiamondNode`),ee=new Map;for(let e of T.values())ee.has(e.dstId)||ee.set(e.dstId,new Set),ee.get(e.dstId).add(e.dstSide);for(let e of T.values()){if(!j(o.get(e.srcId)))continue;let t=ee.get(e.srcId);if(!t?.has(e.srcSide))continue;let n=D(e);if(t.has(n)||(k.get(A(e.srcId,n))??0)>0)continue;let r=k.get(A(e.srcId,e.srcSide))??0;k.set(A(e.srcId,e.srcSide),Math.max(0,r-1)),k.set(A(e.srcId,n),1),e.srcSide=n}for(let e of T.values()){let{edgeIdx:t,srcId:n,dstId:r,srcSide:i,dstSide:a}=e,s=o.get(n),c=o.get(r),l=`${n}:${i}:src`,u=i===`top`||i===`bottom`?c.x??0:c.y??0;S.has(l)||S.set(l,[]),S.get(l).push({edgeIdx:t,oppositeCoord:u});let d=`${r}:${a}:dst`,f=a===`top`||a===`bottom`?s.x??0:s.y??0;S.has(d)||S.set(d,[]),S.get(d).push({edgeIdx:t,oppositeCoord:f})}let te=new Map;for(let[e,t]of S){if(t.length<2)continue;t.sort((e,t)=>e.oppositeCoord-t.oppositeCoord);let n=e.split(`:`),r=n.slice(0,-2).join(`:`),i=n[n.length-2],a=n[n.length-1],s=o.get(r);if(!s)continue;let c=i===`left`||i===`right`?s.height??10:s.width??10,l=s.shape,u=l===`question`||l===`diamond`?c*.3:c,d=Math.min(20,Math.max(8,u/(t.length+1))),f=-(d*(t.length-1))/2;for(let[e,n]of t.entries()){let t=f+e*d,r=`${n.edgeIdx}:${a}`;te.set(r,t)}}let M=t(e=>!!a[e]?.labelNodeId,`edgeHasLabelNode`),ne=t((e,t)=>e?(S.get(`${e}:${t}:src`)??[]).some(({edgeIdx:e})=>M(e))||(S.get(`${e}:${t}:dst`)??[]).some(({edgeIdx:e})=>M(e)):!1,`faceHasLabelNode`),N=t((e,t,n)=>t===`top`||t===`bottom`?{x:e.x+n,y:e.y}:{x:e.x,y:e.y+n},`applyPortOffset`),re=t((e,t,n)=>{let r=T.get(e),i={x:n.x??0,y:n.y??0},a={x:t.x??0,y:t.y??0},o=r?.srcSide??w(t,i),s=r?.dstSide??w(n,a),c=r?p(t,r.srcSide):m(t,i,!0),l=r?p(n,r.dstSide):m(n,a,!1),u=te.get(`${e}:src`),d=te.get(`${e}:dst`);return u!==void 0&&(c=N(c,o,u)),d!==void 0&&(l=N(l,s,d)),{pSrcPort:c,pDstPort:l,srcSide:o,dstSide:s}},`portsForEdge`);for(let e of b){let n=a[e];if(g[e]=[],!n.start||!n.end||n.points&&n.points.length>0||n.start===n.end)continue;let r=o.get(n.start),i=o.get(n.end);if(!r||!i)continue;let{pSrcPort:s,pDstPort:u,srcSide:p,dstSide:m}=re(e,r,i),v={...s},b={...u},w=p===`top`||p===`bottom`,T=m===`top`||m===`bottom`;w?v.y=s.y>(r.y??0)?s.y+gr:s.y-gr:v.x=s.x>(r.x??0)?s.x+gr:s.x-gr,T?b.y=u.y>(i.y??0)?u.y+gr:u.y-gr:b.x=u.x>(i.x??0)?u.x+gr:u.x-gr;let E=t((e,t)=>{for(let n of d)if(!t.includes(n.nodeId)&&e.x>n.minX&&e.x<n.maxX&&e.y>n.minY&&e.y<n.maxY)return{inside:!0,obstacle:n};return{inside:!1}},`isPointInObstacle`),D=t((e,t,n,r,i)=>{if(i){let i=e.y>(t.y??0);return{x:(n.x??0)>=e.x?r.maxX+pr:r.minX-pr,y:i?r.maxY+mr:r.minY-mr,leavesPositiveSide:i}}let a=e.x>(t.x??0),o=(n.y??0)>=e.y;return{x:a?r.maxX+pr:r.minX-pr,y:o?r.maxY+mr:r.minY-mr,leavesPositiveSide:a}},`obstacleDetour`),O=[],k=[n.start,n.end],A=E(v,k);if(A.inside&&A.obstacle){let e=A.obstacle;if(w){let t=D(s,r,i,e,!0);v.x=t.x,v.y=t.y;let n=t.leavesPositiveSide?Math.min(e.minY-2,s.y+gr):Math.max(e.maxY+2,s.y-gr);O=[{x:s.x,y:n},{x:t.x,y:n},{x:t.x,y:t.y}]}else{let t=D(s,r,i,e,!1),n=t.leavesPositiveSide?Math.min(e.minX-2,s.x+gr):Math.max(e.maxX+2,s.x-gr);v.x=t.x,v.y=t.y,O=[{x:n,y:s.y},{x:n,y:t.y},{x:t.x,y:t.y}]}}let j=[],ee=E(b,k);if(ee.inside&&ee.obstacle){let e=ee.obstacle;if(T){let t=D(u,i,r,e,!0);b.x=t.x,b.y=t.y,j=[{x:t.x,y:t.y},{x:u.x,y:t.y}]}else{let t=D(u,i,r,e,!1);b.x=t.x,b.y=t.y,j=[{x:t.x,y:t.y},{x:t.x,y:u.y}]}}if(O.length===0&&j.length===0){let t=pr,r=Math.abs(v.x-b.x)<t,i=Math.abs(v.y-b.y)<t,a=te.get(`${e}:src`)!==void 0||te.get(`${e}:dst`)!==void 0,o=(S.get(`${n.start??``}:${p}:src`)?.length??0)+(S.get(`${n.start??``}:${p}:dst`)?.length??0),c=(S.get(`${n.end??``}:${m}:src`)?.length??0)+(S.get(`${n.end??``}:${m}:dst`)?.length??0),l=o>1||c>1,d=C.get(n.start??``)??0,f=C.get(n.end??``)??0,g=o>1&&ne(n.start,p)||c>1&&ne(n.end,m);if((r||i)&&!a&&(!l||l&&!g&&(o<=1||d<=2)&&(c<=1||f<=2))&&!x(s,u,n.start,n.end)){n.points=[{...s},{...v},{...b},{...u}],_.add(e);let t=i?`horizontal`:`vertical`,r=i?s.y:s.x,a=i?Math.min(s.x,u.x):Math.min(s.y,u.y),o=i?Math.max(s.x,u.x):Math.max(s.y,u.y),c={id:`fast-path-${t}-${r.toFixed(0)}-${e}`,orientation:t,coord:r,spanMin:a,spanMax:o,tracks:[]};h.push({edgeIndex:e,segmentIndex:0,orientation:t,pipe:c,trackIndex:0,from:a,to:o});continue}}v.x=f(`vertical`,v.x,v.y,v.y).coord,b.x=f(`vertical`,b.x,b.y,b.y).coord;let M=Math.min(v.x,b.x)-50,N=Math.max(v.x,b.x)+50,P=Math.min(v.y,b.y)-50,ie=Math.max(v.y,b.y)+50;for(let e of d){let t=Math.min(v.x,b.x),n=Math.max(v.x,b.x),r=Math.min(v.y,b.y),i=Math.max(v.y,b.y);e.minX<n&&e.maxX>t&&e.minY<i&&e.maxY>r&&(M=Math.min(M,e.minX-hr),N=Math.max(N,e.maxX+hr),P=Math.min(P,e.minY-hr),ie=Math.max(ie,e.maxY+hr))}for(let e of d){if(e.maxX<M||e.minX>N||e.maxY<P||e.minY>ie)continue;let t=pr;f(`horizontal`,e.minY-t,M,N),f(`horizontal`,e.maxY+t,M,N);let n=mr;f(`vertical`,e.minX-n,P,ie),f(`vertical`,e.maxX+n,P,ie)}f(`horizontal`,v.y,M,N),f(`horizontal`,b.y,M,N);let ae=c.filter(e=>e.orientation===`horizontal`&&e.coord>=P&&e.coord<=ie),oe=c.filter(e=>e.orientation===`vertical`&&e.coord>=M&&e.coord<=N),se=t((e,t)=>`${e.toFixed(1)},${t.toFixed(1)}`,`getKey`),ce=se(v.x,v.y),le=se(b.x,b.y),ue=new Map,de=new Map,fe=new Map,pe=new Set,F=[];ue.set(ce,0),fe.set(ce,`n`),F.push({key:ce,f:Math.hypot(b.x-v.x,b.y-v.y),pt:v}),pe.add(ce);let I=[],me=t((e,t)=>x(e,t,n.start,n.end),`checkSegmentBlocked`),he={x:b.x,y:v.y},L=me(v,he),ge=me(he,b),_e=L||ge,R={x:v.x,y:b.y},z=me(v,R),B=me(R,b);if(_e?z||B||(I=Math.abs(v.x-b.x)<$?[v,b]:[v,R,b]):I=Math.abs(v.y-b.y)<$||Math.abs(v.x-b.x)<$?[v,b]:[v,he,b],I.length===0)for(;F.length>0;){F.sort((e,t)=>e.f-t.f);let t=F.shift();if(pe.delete(t.key),t.key===le){let e=le,t=b;for(I=[t];de.has(e);){let n=de.get(e);I.unshift(n),t=n,e=se(n.x,n.y)}break}let r=t.pt.x,i=t.pt.y,a=oe.sort((e,t)=>e.coord-t.coord),o=a.findIndex(e=>Math.abs(e.coord-r)<1),s=ae.sort((e,t)=>e.coord-t.coord),c=s.findIndex(e=>Math.abs(e.coord-i)<1),l=[];o>0&&l.push({x:a[o-1].coord,y:i}),o>=0&&o<a.length-1&&l.push({x:a[o+1].coord,y:i}),c>0&&l.push({x:r,y:s[c-1].coord}),c>=0&&c<s.length-1&&l.push({x:r,y:s[c+1].coord});for(let a of l){let o=Math.min(r,a.x),s=Math.max(r,a.x),c=Math.min(i,a.y),l=Math.max(i,a.y);if(d.some(e=>e.nodeId===n.start||e.nodeId===n.end?!1:o===s?e.minX<r&&e.maxX>r&&e.maxY>c&&e.minY<l:e.minY<i&&e.maxY>i&&e.maxX>o&&e.minX<s))continue;let u=se(a.x,a.y),f=Math.abs(a.x-r)+Math.abs(a.y-i),p=y(e,t.pt,a),m=0,h=b.x-v.x,g=b.y-v.y,_=a.x-r,x=a.y-i;(g>10&&x<-5||g<-10&&x>5)&&(m=Math.abs(x)*100),(h>10&&_<-5||h<-10&&_>5)&&(m+=Math.abs(_)*50);let S=0,C=fe.get(t.key)??`n`,w=Math.abs(_)>$?`h`:`v`;C!==`n`&&C!==w&&(S=50);let T=f+p+m+S,E=(ue.get(t.key)??1/0)+T,D=Math.abs(b.x-a.x)+Math.abs(b.y-a.y);if(E<(ue.get(u)??1/0))if(de.set(u,t.pt),ue.set(u,E),fe.set(u,w),!pe.has(u))F.push({key:u,f:E+D,pt:a}),pe.add(u);else{let e=F.findIndex(e=>e.key===u);e!==-1&&(F[e].f=E+D)}}}if(I.length===0&&(I=[v,{x:v.x,y:b.y},b]),I.length>4){let e=I[0],n=I[I.length-1],r=Math.min(e.x,n.x),i=Math.max(e.x,n.x),a=Math.min(e.y,n.y),o=Math.max(e.y,n.y);for(let e of I)r=Math.min(r,e.x),i=Math.max(i,e.x),a=Math.min(a,e.y),o=Math.max(o,e.y);let s=i>Math.max(e.x,n.x),c=r<Math.min(e.x,n.x);if(l){let t=mr;if(s){let r=Math.max(e.x,n.x),a=Math.min(e.y,n.y),o=Math.max(e.y,n.y),s=d.filter(e=>e.minX<r&&e.maxX>r&&e.minY<o&&e.maxY>a);if(s.length>0){let r=Math.max(e.x,n.x);for(let e of s){let n=(e.minX+e.maxX)/2;if(e.visualXHalfExtent===void 0||isNaN(e.visualXHalfExtent))continue;let i=n+e.visualXHalfExtent+t;r=Math.max(r,i)}isNaN(r)||(i=r)}}if(c){let i=d.filter(r=>r.minX<Math.min(e.x,n.x)+t&&r.minY<Math.max(e.y,n.y)&&r.maxY>Math.min(e.y,n.y));if(i.length>0){let a=Math.min(e.x,n.x);for(let e of i){let n=(e.minX+e.maxX)/2-e.visualXHalfExtent-t;a=Math.min(a,n)}r=a}}}let u=t(t=>{let r=n.y>e.y,i=d.filter(t=>{let r=Math.min(e.x,n.x)<t.maxX&&Math.max(e.x,n.x)>t.minX,i=Math.min(e.y,n.y)<t.maxY&&Math.max(e.y,n.y)>t.minY;return r&&i}),a=i;if(l&&i.length>0){let e=i.filter(e=>e.minX<t&&e.maxX>t);e.length>0&&(a=e)}if(a.length===0)return n.y;let o=pr;if(r){let e=Math.max(...a.map(e=>e.maxY))+o;if(e<n.y-$)return e}else{let e=Math.min(...a.map(e=>e.minY))-o;if(e>n.y+$)return e}return n.y},`findBestReturnY`),f=t(t=>{let r=u(t),i={x:t,y:e.y},a={x:t,y:r},o={x:n.x,y:r},s=me(e,i),c=me(i,a),l=me(a,o),d=r===n.y?!1:me(o,n);return!s&&!c&&!l&&!d?Math.abs(r-n.y)<$?[e,i,a,n]:[e,i,a,o,n]:null},`trySimplifyWithDetourX`),p=s&&!c?f(i):c&&!s?f(r):null;p&&(I=p)}let V=[s,...O,...I,...j.reverse(),u];if(V.length>=3){let e=V[V.length-1],t=V[V.length-2],n=V[V.length-3],r=Math.abs(n.y-t.y)<$&&Math.abs(t.y-e.y)<$,i=Math.abs(n.x-t.x)<$&&Math.abs(t.x-e.x)<$;if(r){let r=Math.sign(t.x-n.x),i=Math.sign(e.x-n.x);r!==0&&r===i&&Math.abs(t.x-n.x)>Math.abs(e.x-n.x)&&V.splice(-2,1)}else if(i){let r=Math.sign(t.y-n.y),i=Math.sign(e.y-n.y);r!==0&&r===i&&Math.abs(t.y-n.y)>Math.abs(e.y-n.y)&&V.splice(-2,1)}}let H=[V[0]];for(let e=1;e<V.length-1;e++){if(e===1){H.push(V[e]);continue}let t=H[H.length-1],n=V[e],r=V[e+1];if(Math.abs(t.y-n.y)<$&&Math.abs(n.y-r.y)<$){if(n.x>t.x!=r.x>n.x){H.push(n);continue}continue}if(Math.abs(t.x-n.x)<$&&Math.abs(n.x-r.x)<$){if(n.y>t.y!=r.y>n.y){H.push(n);continue}continue}H.push(n)}H.push(V[V.length-1]);for(let t=0;t<H.length-1;t++){let n=H[t],r=H[t+1],i=Math.abs(n.x-r.x)<$?`vertical`:`horizontal`,a=i===`vertical`?n.x:n.y,o=i===`vertical`?Math.min(n.y,r.y):Math.min(n.x,r.x),s=i===`vertical`?Math.max(n.y,r.y):Math.max(n.x,r.x),c=f(i,a,o,s),l={edgeIndex:e,segmentIndex:t,orientation:i,pipe:c,trackIndex:0,from:o,to:s};h.push(l),g[e].push(h.length-1),c.tracks[0]||(c.tracks[0]={index:0,coord:c.coord,segments:[]}),c.tracks[0].segments.push({edgeIndex:e,segmentIndex:t,from:o,to:s})}}let P=t((e,t)=>e.from<t.to&&t.from<e.to,`segmentsOverlap`),ie=t((e,t,n,r)=>{let i=!r.segments.some(n=>(n.edgeIndex!==t.edgeIndex||n.segmentIndex!==t.segmentIndex)&&P(n,e)),a=!n.segments.some(n=>(n.edgeIndex!==e.edgeIndex||n.segmentIndex!==e.segmentIndex)&&P(n,t));return i&&a?(e.trackIndex=r.index,t.trackIndex=n.index,n.segments=[...n.segments.filter(t=>t.edgeIndex!==e.edgeIndex||t.segmentIndex!==e.segmentIndex),{edgeIndex:t.edgeIndex,segmentIndex:t.segmentIndex,from:t.from,to:t.to}],r.segments=[...r.segments.filter(e=>e.edgeIndex!==t.edgeIndex||e.segmentIndex!==t.segmentIndex),{edgeIndex:e.edgeIndex,segmentIndex:e.segmentIndex,from:e.from,to:e.to}],!0):!1},`trySwapSegmentsAcrossTracks`),ae=t(e=>{let t=e.tracks.length;return e.tracks[t]={index:t,coord:e.coord,segments:[]},t},`createNewTrack`),oe=t((e,t)=>{let n=e.pipe.tracks[e.trackIndex];n.segments=n.segments.filter(t=>t.edgeIndex!==e.edgeIndex||t.segmentIndex!==e.segmentIndex),e.trackIndex=t,e.pipe.tracks[t].segments.push({edgeIndex:e.edgeIndex,segmentIndex:e.segmentIndex,from:e.from,to:e.to})},`moveSegmentToTrack`),se=t((e,t)=>{let n=g[e.edgeIndex];for(let r of n){let n=h[r];n.pipe===e.pipe&&oe(n,t)}},`moveSegmentChainToTrack`),ce=t(e=>{let t=g[e.edgeIndex],n=t.indexOf(h.indexOf(e)),r=[];return n>0&&r.push(h[t[n-1]]),n<t.length-1&&r.push(h[t[n+1]]),r},`getAdjacentSegmentsAlongEdge`),le=t((e,t)=>{if(e.orientation===t.orientation)return!1;let n=e.orientation===`horizontal`?e:t,r=e.orientation===`horizontal`?t:e;return r.pipe.coord>n.from&&r.pipe.coord<n.to&&n.pipe.coord>r.from&&n.pipe.coord<r.to},`haveAnyCrossing`),ue=t((e,t)=>{for(let n of e.tracks)if(!n.segments.some(e=>(e.edgeIndex!==t.edgeIndex||e.segmentIndex!==t.segmentIndex)&&P(e,t)))return n.index;return-1},`findAvailableTrack`),de=t((e,t)=>{if(e.trackIndex===t.trackIndex)return P(e,t);let n=ce(e),r=ce(t);return n.some(e=>r.some(t=>le(e,t)))},`segmentsConflict`),fe=t((e,t,n)=>{if(ie(e,t,e.pipe.tracks[e.trackIndex],t.pipe.tracks[t.trackIndex]))return;let r=ue(e.pipe,t);n(t,r===-1?ae(e.pipe):r)},`resolveTrackConflict`),pe=t(e=>{let t=0;for(let n=0;n<e.length;n++)for(let r=n+1;r<e.length;r++){let i=e[n],a=e[r];i.pipe===a.pipe&&de(i,a)&&(t++,fe(i,a,se))}return t},`resolveHandleConflicts`),F=new Map,I=t(e=>{if(F.has(e))return F.get(e);let t=g[e];if(t.length===0){let t={dest:0,deviation:0,base:0,delta:0};return F.set(e,t),t}let n=h[t[0]].pipe.coord,r=n;for(let e=1;e<t.length;e++){let i=h[t[e]];if(i.orientation===`horizontal`){let e=i.from,t=i.to;r=Math.abs(e-n)>Math.abs(t-n)?e:t;break}}let i=Math.abs(r-n),a={dest:r,deviation:i,base:n,delta:r-n};return F.set(e,a),a},`getDestInfo`),me=t(()=>{let e=0,n=new Map;for(let[e,t]of a.entries())g[e].length!==0&&t.start&&(n.has(t.start)||n.set(t.start,[]),n.get(t.start).push(e));let r=t(e=>{let t=a[e];if(!t.start||!t.end)return 0;let n=o.get(t.start),r=o.get(t.end);if(!n||!r)return 0;let i=(r.x??0)-(n.x??0),s=(r.y??0)-(n.y??0);return Math.abs(i)+Math.abs(s)},`getEdgeDistance`);for(let t of n.values()){t.sort((e,t)=>{let n=I(e),i=I(t);if(Math.abs(n.deviation-i.deviation)>1)return n.deviation-i.deviation;if(Math.abs(n.dest-i.dest)>1)return n.dest-i.dest;let a=r(e),o=r(t);if(Math.abs(a-o)>1)return o-a;let s=g[e].length,c=g[t].length;if(s!==c)return s-c;if(s===1){let n=g[e][0],r=g[t][0];if(h[n]&&h[r]){let e=h[n],t=h[r],i=Math.abs(e.to-e.from),a=Math.abs(t.to-t.from);if(Math.abs(i-a)>1)return i-a}}return 0});let n=t.map(e=>h[g[e][0]]);e+=pe(n)}return e},`fixSourceHandleCrossings`),he=t(()=>{let e=0,n=new Map;for(let[e,t]of a.entries())g[e].length!==0&&t.end&&(n.has(t.end)||n.set(t.end,[]),n.get(t.end).push(e));for(let r of n.values()){r.sort((e,n)=>{let r=t(e=>{let t=g[e];if(t.length<2)return 0;let n=h[t[t.length-2]];return Math.abs(n.to-n.from)},`getDist`),i=r(e),a=r(n);return Math.abs(i-a)>.1?i-a:e-n});let n=r.map(e=>h[g[e][g[e].length-1]]);e+=pe(n)}return e},`fixTargetHandleCrossings`),L=t(()=>{let e=0;for(let t of c){let n=[];for(let e of t.tracks)for(let t of e.segments){let e=g[t.edgeIndex].find(e=>h[e].segmentIndex===t.segmentIndex);e!==void 0&&n.push(h[e])}n.sort((e,t)=>e.edgeIndex-t.edgeIndex||e.segmentIndex-t.segmentIndex);for(let t=0;t<n.length;t++)for(let r=t+1;r<n.length;r++){let i=n[t],a=n[r];de(i,a)&&(e++,fe(i,a,oe))}}return e},`fixPipeCrossings`),ge=0;for(;ge<10;){let e=0;if(e+=me(),e+=he(),e+=L(),e===0)break;ge++}let _e=new Map;for(let e of c){let n=[];e.tracks.forEach(e=>{e.segments.forEach(t=>{n.push({edgeIndex:t.edgeIndex,segmentIndex:t.segmentIndex,trackIndex:e.index,from:t.from,to:t.to})})}),n.sort((e,t)=>e.from-t.from);let r=[];if(n.length>0){let e=[n[0]],t=n[0].to;for(let i=1;i<n.length;i++){let a=n[i];a.from<t?(e.push(a),t=Math.max(t,a.to)):(r.push(e),e=[a],t=a.to)}r.push(e)}for(let n of r){let r=new Set;n.forEach(e=>r.add(e.trackIndex));let i=new Map;n.forEach(e=>{let t=I(e.edgeIndex);i.set(e.trackIndex,(i.get(e.trackIndex)??0)+t.delta)});let a=[...r].filter(e=>(i.get(e)??0)<-1),o=[...r].filter(e=>(i.get(e)??0)>1),s=[...r].filter(e=>Math.abs(i.get(e)??0)<=1);a.sort((e,t)=>(i.get(t)??0)-(i.get(e)??0)),o.sort((e,t)=>(i.get(e)??0)-(i.get(t)??0));let c=t((t,r)=>{n.filter(e=>e.trackIndex===t).forEach(t=>{let n=_.has(t.edgeIndex)?e.coord:r;_e.set(`${t.edgeIndex}-${t.segmentIndex}`,n)})},`assignCoord`),l=0;for(let t of a)l++,c(t,e.coord-l*_r);if(s.length===0&&r.size>0){let e=[...r].sort((e,t)=>Math.abs(i.get(e)??0)-Math.abs(i.get(t)??0))[0],t=a.indexOf(e);t!==-1&&a.splice(t,1);let n=o.indexOf(e);n!==-1&&o.splice(n,1),s.push(e)}let u=0;for(let t of s){if(u===0)c(t,e.coord);else{let n=u%2==1?1:-1,r=Math.ceil(u/2);c(t,e.coord+n*r*_r*.5)}u++}let d=0;for(let t of o)d++,c(t,e.coord+d*_r)}}for(let[e,t]of a.entries()){let n=g[e]??[];if(n.length===0)continue;let r=[],{pSrcPort:i,pDstPort:a}=re(e,o.get(t.start),o.get(t.end)),s=n.map(e=>{let t=h[e],n=_e.get(`${t.edgeIndex}-${t.segmentIndex}`)??t.pipe.coord;return{orient:t.orientation,coord:n,from:t.from,to:t.to}});r.push(i);for(let e=0;e<s.length;e++){let t=s[e],n=r[r.length-1],i=t.orient===`vertical`?n.y:n.x,a=t.orient===`vertical`?n.x:n.y,o=s[e+1],c=e<s.length-1;if(Math.abs(a-t.coord)>$&&r.push(br(t,i)),c&&o.orient===t.orient)if(Math.abs(t.coord-o.coord)>$){let e=t.orient===`vertical`?(i+o.from)/2:yr(t,o);r.push(br(t,e),br(o,e))}else(e===0||e===s.length-2)&&r.push(br(t,yr(t,o)));else if(c)r.push(br(t,o.coord));else{let e=Math.abs(t.from-i)<Math.abs(t.to-i)?t.to:t.from;r.push(br(t,e))}}let c=r[r.length-1];(Math.abs(c.x-a.x)>$||Math.abs(c.y-a.y)>$)&&r.push(a);let l=[];r.length>0&&l.push(r[0]);for(let e=1;e<r.length;e++){let t=r[e],n=l[l.length-1];(Math.abs(t.x-n.x)>$||Math.abs(t.y-n.y)>$)&&l.push(t)}t.points=l}for(let e of a){let t=e.__originalEdge;t&&e.points&&(t.points=e.points)}e.edges=(e.edges??[]).filter(e=>!e.isLayoutOnly);let R=t((e,t)=>{let n=t.x??0,r=t.y??0,i=t.width??0,a=t.height??0;if(i<=0||a<=0)return e;let o=n-i/2,s=n+i/2,c=r-a/2,l=r+a/2;if(e.x<o||e.x>s||e.y<c||e.y>l)return e;let u=e.x-o,d=s-e.x,f=e.y-c,p=l-e.y,m=Math.min(u,d,f,p);return m===u?{x:o,y:e.y}:m===d?{x:s,y:e.y}:m===f?{x:e.x,y:c}:{x:e.x,y:l}},`nodeBoundaryClamp`);for(let t of e.edges){let e=t.points;if(!e||e.length<2)continue;let n=t.start,r=t.end,i=n?o.get(n):void 0,a=r?o.get(r):void 0;i&&(e[0]=R(e[0],i)),a&&(e[e.length-1]=R(e[e.length-1],a))}return e}t(xr,`routeEdgesOrthogonal`);function Sr(e){return e.direction??`TB`}t(Sr,`getSwimlaneDirection`);function Cr(e){let t=F(e),n=e.config.flowchart?.nodeSpacing??40,r=e.config.flowchart?.rankSpacing??100,i=e.config.swimlane?.ignoreCrossLaneEdges??!0,a=e.config.swimlane?.optimizeRanksByCrossings??!0,o=e.config.swimlane?.automaticLaneOrdering??!1,s=Sr(e),{ordered:c,coordinates:l}=dr(t,{nodeGap:n,layerGap:r,ignoreCrossLaneEdges:i,optimizeRanksByCrossings:a,automaticLaneOrdering:o,direction:s});I(t,c,l,{nodeGap:n,layerGap:r});for(let t of e.edges??[])delete t.points;xr(e,s);for(let t of e.edges??[])(!t.curve||t.curve===`basis`)&&(t.curve=`rounded`);return tn(e,s),en(e),s}t(Cr,`runSwimlaneLayoutCore`);async function wr(e,t){let n=t.select(`g`);p(n,e.markers,e.type,e.diagramId),u(),v(),d(),b(),pe(e);let r=he(e);e.nodes=r.nodes,e.edges=r.edges;let{groups:i}=await x(n,e);Cr(e),await oe(e,i)}t(wr,`render`);export{wr as render};
@@ -0,0 +1,8 @@
1
+ import{n as e}from"./chunk-Y2CYZVJY-DsF7k-Jl.js";import"./src-B56W74gN.js";import"./chunk-WYO6CB5R-qHfws5Na.js";import"./chunk-ICXQ74PX-CyZZ3kFK.js";import"./chunk-ZIRB5QZD-C6fEPe3t.js";import"./chunk-C7G6YPKG-BMphmVWl.js";import"./chunk-OGEWGWER-vwCurcM9.js";import"./chunk-HOUHSVGY-yNNNImSs.js";import"./chunk-Q4XR5HBZ-CvZ-Pz5B.js";import"./chunk-ZGVPDNZ5-CHDpAKTq.js";import"./chunk-7BUUIJ7U-Bb538aSH.js";import"./chunk-52WLFC77-A0SkaTYM.js";import"./chunk-FWX5IMBZ-C_mfbGNa.js";import"./chunk-32BRIVSS-6Rh4CCUQ.js";import"./chunk-XXDRQBXY-BSmtn7NR.js";import"./chunk-VR4S4FIN-Q-TN3CuI.js";import{r as t,t as n}from"./chunk-PUDLZKDR-BWhPp8B4.js";var r=n({defaultLayout:`swimlane`,styles:e(e=>`${t(e)}
2
+ .swimlane.cluster rect {
3
+ stroke: ${e.clusterBorder} !important;
4
+ }
5
+ [data-look="neo"].cluster rect {
6
+ filter: none;
7
+ }
8
+ `,`getStyles`)});export{r as diagram};
@@ -0,0 +1,9 @@
1
+ import"./chunk-SRAX5OIU-Bpn6XoyU.js";var e={paste:`ஒட்டு`,pasteAsPlaintext:`அலங்காரமின்றி ஒட்டு`,pasteCharts:`விளக்கப்படங்களை ஒட்டு`,selectAll:`எல்லாம் தேர்ந்தெடு`,multiSelect:`உறுப்பைத் தெரிவில் சேர்`,moveCanvas:`கித்தானை நகர்த்து`,cut:`வெட்டு`,copy:`நகலெடு`,copyAsPng:`நகலகத்திற்கு PNG ஆக நகலெடு`,copyAsSvg:`நகலகத்திற்கு SVG ஆக நகலெடு`,copyText:`நகலகத்திற்கு உரையாக நகலெடு`,copySource:``,convertToCode:``,bringForward:`முன்நோக்கி கொண்டுவா`,sendToBack:`பின்னே அனுப்பு`,bringToFront:`முன்னே கொண்டுவா`,sendBackward:`பின்நோக்கி அனுப்பு`,delete:`அழி`,copyStyles:`ஒயில்களை நகலெடு`,pasteStyles:`ஒயில்களை ஒட்டு`,stroke:`கீறல்`,background:`பின்புலம்`,fill:`நிரப்பல்`,strokeWidth:`கீறல் அகலம்`,strokeStyle:`கீறல் ஒயில்`,strokeStyle_solid:`திடமான`,strokeStyle_dashed:`கோடிட்ட`,strokeStyle_dotted:`புள்ளியிட்ட`,sloppiness:`அசட்டுத்தனம்`,opacity:`ஒளிபுகாவியல்பு`,textAlign:`உரைச் சீரமைப்பு`,edges:`விளிம்புகள்`,sharp:`கூர்மை`,round:`வட்டம்`,arrowheads:`அம்புத்தலைகள்`,arrowhead_none:`ஏதுமில்லை`,arrowhead_arrow:`அம்பு`,arrowhead_bar:`பட்டை`,arrowhead_circle:``,arrowhead_circle_outline:``,arrowhead_triangle:`முக்கோணம்`,arrowhead_triangle_outline:``,arrowhead_diamond:``,arrowhead_diamond_outline:``,fontSize:`எழுத்துரு அளவு`,fontFamily:`எழுத்துரு குடும்பம்`,addWatermark:`"எக்ஸ்கேலிட்ரா கொண்டு ஆனது"-ஐச் சேர்`,handDrawn:`கையால்-வரைந்த`,normal:`இயல்பு`,code:`குறியீடு`,small:`சிறிய`,medium:`நடுத்தரமான`,large:`பெரிய`,veryLarge:`மிகப் பெரிய`,solid:`திடமான`,hachure:`மலைக்குறிக்கோடு`,zigzag:`கோணல்மாணல்`,crossHatch:`குறுக்குகதவு`,thin:`மெல்லிய`,bold:`பட்டை`,left:`இடது`,center:`மையம்`,right:`வலது`,extraBold:`கூடுதல் பட்டை`,architect:`கட்டடக்கலைஞர்`,artist:`கலைஞர்`,cartoonist:`கேலிச்சித்திர ஓவியர்`,fileTitle:`கோப்புப் பெயர்`,colorPicker:`நிறத் தேர்வி`,canvasColors:`கித்தானில் பயன்படுத்தப்பட்டது`,canvasBackground:`கித்தான் பின்னணி`,drawingCanvas:`கித்தான் வரைகிறது`,layers:`அடுக்குகள்`,actions:`செயல்கள்`,language:`மொழி`,liveCollaboration:`நேரடி கூட்டுப்பணி...`,duplicateSelection:`நகலாக்கு`,untitled:`தலைப்பற்றது`,name:`பெயர்`,yourName:`உங்கள் பெயர்`,madeWithExcalidraw:`எக்ஸ்கேலிட்ரா கொண்டு ஆனது`,group:`தேர்ந்ததை ஒன்றிணை`,ungroup:`தேர்ந்ததைப் பிரி`,collaborators:`கூட்டுப்பணியினர்`,showGrid:`கட்டதைக் காட்டு`,addToLibrary:`நூலகத்தில் சேர்`,removeFromLibrary:`நூலகத்திலிருந்து நீக்கு`,libraryLoadingMessage:`நூலகத்தை ஏற்றுகிறது…`,libraries:`நூலகங்களை உலாவு`,loadingScene:`காட்சியை ஏற்றுகிறது…`,align:`சீரமை`,alignTop:`மேலே சீரமை`,alignBottom:`கீழே சீரமை`,alignLeft:`இடதில் சீரமை`,alignRight:`வலதில் சீரமை`,centerVertically:`செங்குத்தாக மையப்படுத்து`,centerHorizontally:`கிடைமட்டமாக மையப்படுத்து`,distributeHorizontally:`கிடைமட்டமாக விநியோகி`,distributeVertically:`செங்குத்தாக விநியோகி`,flipHorizontal:`கிடைமட்டமாக புரட்டு`,flipVertical:`செங்குத்தாக புரட்டு`,viewMode:`பார்வை பயன்முறை`,share:`பகிர்`,showStroke:`கீறல் நிற எடுப்பானைக் காட்டு`,showBackground:`பின்னணி நிற எடுப்பானைக் காட்டு`,toggleTheme:`தோற்றத்தை நிலைமாற்று`,personalLib:`தனக்குரிய நூலகம்`,excalidrawLib:`எக்ஸ்கேலிட்ரா நூலகம்`,decreaseFontSize:`எழுத்துரு அளவைக் குறை`,increaseFontSize:`எழுத்துரு அளவை அதிகரி`,unbindText:`உரையைப் பிணைவவிழ்`,bindText:`உரையைக் கொள்கலனுக்குப் பிணை`,createContainerFromText:`உரையைக் கொள்கலனுள் சுருட்டு`,link:{edit:`தொடுப்பைத் திருத்து`,editEmbed:``,create:`தொடுப்பைப் படை`,createEmbed:``,label:`தொடுப்பு`,labelEmbed:``,empty:``},lineEditor:{edit:`தொடுப்பைத் திருத்து`,exit:`வரி திருத்தியிலிருந்து வெளியேறு`},elementLock:{lock:`பூட்டு`,unlock:`பூட்டவிழ்`,lockAll:`எல்லாம் பூட்டு`,unlockAll:`எல்லாம் பூட்டவிழ்`},statusPublished:`வெளியிடப்பட்டது`,sidebarLock:`பக்கப்பட்டையைத் திறந்தே வை`,selectAllElementsInFrame:``,removeAllElementsFromFrame:``,eyeDropper:`கித்தானிலிருந்து நிறம் தேர்ந்தெடு`,textToDiagram:``,prompt:``},t={noItems:`இதுவரை உருப்படிகள் சேரக்கப்படவில்லை...`,hint_emptyLibrary:`கித்தானிலுள்ள உருப்படியை இங்குச் சேர்க்க தேர்ந்தெடு, அல்லது கீழுள்ள பொது களஞ்சியத்திலிருந்து நூலகத்தை நிறுவு.`,hint_emptyPrivateLibrary:`கித்தானிலுள்ள உருப்படியை இங்குச் சேர்க்க தேர்ந்தெடு.`},n={clearReset:`கித்தானை அகரமாக்கு`,exportJSON:`கோப்புக்கு ஏற்றுமதிசெய்`,exportImage:`படத்தை ஏற்றுமதிசெய்...`,export:`இதில் சேமி...`,copyToClipboard:`நகலகத்திற்கு நகலெடு`,save:`தற்போதைய கோப்புக்குச் சேமி`,saveAs:`இப்படி சேமி`,load:`திற`,getShareableLink:`பகிரக்கூடிய தொடுப்பைப் பெறு`,close:`மூடு`,selectLanguage:`மொழியைத் தேர்ந்தெடு`,scrollBackToContent:`உருட்டி உள்ளடக்கத்துக்குத் திரும்பு`,zoomIn:`பெரிதாக்கு`,zoomOut:`சிறிதாக்கு`,resetZoom:`உருவளவை அகரமாக்கு`,menu:`சிறுபட்டி`,done:`முடிந்தது`,edit:`திருத்து`,undo:`செயல்தவிர்`,redo:`மீண்டும்செய்`,resetLibrary:`நூலகத்தை அகரமாக்கு`,createNewRoom:`புதிய அறையை உருவாக்கு`,fullScreen:`முழுத் திரை`,darkMode:`கருமை பயன்முறை`,lightMode:`வெளிர்ந்த பயன்முறை`,zenMode:`ஜென் பயன்முறை`,objectsSnapMode:``,exitZenMode:`ஜென் பயன்முறையை விலகு`,cancel:`ரத்துசெய்`,clear:`துடை`,remove:`நீக்கு`,embed:``,publishLibrary:`பிரசுரி`,submit:`சமர்ப்பி`,confirm:`உறுதிசெய்`,embeddableInteractionButton:``},r={clearReset:`இது முழு கித்தானையும் துடைக்கும். நீங்கள் உறுதியா?`,couldNotCreateShareableLink:`பகிரக்கூடிய தொடுப்பை உருவாக்க முடியவில்லை.`,couldNotCreateShareableLinkTooBig:`பகிரக்கூடிய தொடுப்பை உருவாக்க முடியவில்லை: காட்சி மிகப்பெரிதாக உள்ளது`,couldNotLoadInvalidFile:`செல்லாத கோப்பை ஏற்ற முடியவில்லை`,importBackendFailed:`தேகத்திலிருந்து இறக்குமதி தோல்வி.`,cannotExportEmptyCanvas:`காலியான கித்தானை ஏற்றுமதிசெய்ய முடியாது.`,couldNotCopyToClipboard:`நகலகத்திற்கு நகலெடுக்க முடியவில்லை.`,decryptFailed:`தரவை மறைநீக்க முடியவில்லை.`,uploadedSecurly:`பதிவேற்றம் இருமுனை மறையாகத்தால் பாதுகாக்கப்பட்டுள்ளது, எனவே எக்ஸ்கேலிட்ரா சேவையகமும் மூன்றாம் தரப்பினரும் உள்ளடக்கத்தை வாசிக்கமுடியாது.`,loadSceneOverridePrompt:`வெளிப்புறச்சித்திரமேற்றல் இருக்கிற உள்ளடக்கத்தை இடங்கொள்ளும். தொடர விருப்பமா?`,collabStopOverridePrompt:`அமர்வை நிறுத்துதல் முன்னர் அகமாக தேக்கிய உம் சித்திரத்தை மேலெழுதும். நீங்கள் உறுதியா?
2
+
3
+ (உம் அக சித்திரத்தை வைக்கவேண்டுமெனில், சும்மா உலாவி தாவலை மூடுக அதற்குபதிலாக.)`,errorAddingToLibrary:`உருப்படியை நூலகத்தில் சேர்க்க இயலா`,errorRemovingFromLibrary:`உருப்படியை நூலகத்திலிருந்து நீக்க இயலா`,confirmAddLibrary:`இதனால் {{numShapes}} வடிவம்(கள்) உம் நூலகத்தில் சேரும். நீங்கள் உறுதியா?`,imageDoesNotContainScene:`இப்படத்தில் காட்சி தரவு ஏதும் இருப்பதுபோல் தெரியவில்லை. ஏற்றுமதியின்போது காட்சி உட்பதிதலை இயக்கினீரா?`,cannotRestoreFromImage:`இப்படக்கோப்பிலிருந்து காட்சி மீட்டெடுக்கப்பட முடியாது`,invalidSceneUrl:`வழங்கப்பட்ட உரலியிலிருந்து காட்சியை இறக்கவியலா. இது தவறான வடிவத்தில் உள்ளது, அ செல்லத்தக்க எக்ஸ்கேலிட்ரா JSON தரவைக் கொண்டில்லை.`,resetLibrary:`இது உங்கள் நுலகத்தைத் துடைக்கும். நீங்கள் உறுதியா?`,removeItemsFromsLibrary:`{{count}} உருப்படி(கள்)-ஐ உம் நூலகத்திலிருந்து அழிக்கவா?`,invalidEncryptionKey:`மறையாக்க விசை 22 வரியுருக்கள் கொண்டிருக்கவேண்டும். நேரடி கூட்டுப்பணி முடக்கப்பட்டது.`,collabOfflineWarning:`இணைய இணைப்பு இல்லை.
4
+ உமது மாற்றங்கள் சேமிக்கப்படா!`},i={unsupportedFileType:`ஆதரிக்கப்படா கோப்பு வகை.`,imageInsertError:`படத்தைப் புகுத்தவியலா. பிறகு மீண்டும் முயலவும்...`,fileTooBig:`கோப்பு மிகப்பெரிது. அனுமதிக்கப்பட்ட அதிகபட்ச அளவு {{maxSize}}.`,svgImageInsertError:`எஸ்விஜி படத்தைப் புகுத்தவியலா. எஸ்விஜியின் மார்க்அப் செல்லாததாக தெரிகிறது.`,failedToFetchImage:``,invalidSVGString:`செல்லாத SVG.`,cannotResolveCollabServer:`கூட்டுப்பணிச் சேவையகத்துடன் இணைக்க முடியவில்லை. பக்கத்தை மீளேற்றி மீண்டும் முயலவும்.`,importLibraryError:`நூலகத்தை ஏற்ற முடியவில்லை`,collabSaveFailed:`பின்முனை தரவுத்தளத்தில் சேமிக்க முடியவில்லை. சிக்கல்கள் நீடித்தால், உமது வேலைகளை இழக்காமலிருப்பதை உறுதிசெய்ய உமது கோப்பை உள்ளகத்தில் சேமிக்க வேண்டும்.`,collabSaveFailed_sizeExceeded:`பின்முனை தரவுத்தளத்தில் சேமிக்க முடியவில்லை, கித்தான் மிகப்பெரிதாகத் தெரிகிறது. உமது வேலைகளை இழக்காமலிருப்பதை உறுதிசெய்ய உமது கோப்பை உள்ளகத்தில் சேமிக்க வேண்டும்.`,imageToolNotSupported:``,brave_measure_text_error:{line1:``,line2:``,line3:``,line4:``},libraryElementTypeError:{embeddable:``,iframe:``,image:``},asyncPasteFailedOnRead:``,asyncPasteFailedOnParse:``,copyToSystemClipboardFailed:``},a={selection:`தெரிவு`,image:`படத்தைப் புகுத்து`,rectangle:`செவ்வகம்`,diamond:`வைரம்`,ellipse:`நீள்வட்டம்`,arrow:`அம்பு`,line:`வரி`,freedraw:`வரை`,text:`உரை`,library:`நூலகம்`,lock:`தேர்ந்த கருவியை வரைந்த பின்பும் வைத்திரு`,penMode:`பேனா - தடுப்பு தொடுதல்`,link:`தேர்தெடுத்த வடிவத்திற்குத் தொடுப்பைச் சேர்/ புதுப்பி`,eraser:`அழிப்பி`,frame:`சட்டகம் கருவி`,magicframe:``,embeddable:``,laser:``,hand:`கை (பார்வை நகர்கும் கருவி)`,extraTools:`மற்ற கருவிகள்`,mermaidToExcalidraw:``,magicSettings:``},o={canvasActions:`கித்தான் செயல்கள்`,selectedShapeActions:`தேர்ந்த வடிவம் செயல்கள்`,shapes:`வடிவங்கள்`},s={canvasPanning:``,linearElement:`பல புள்ளிகளைத் துவக்க சொடுக்கு, ஒற்றை வரிக்கு பிடித்திழு`,freeDraw:`சொடுக்கி பிடித்திழு, முடித்ததும் விடுவி`,text:`துணுக்குதவி: தெரிவு கருவி கொண்டு எங்காவது இரு-சொடுக்கி உரையைச் சேர்க்கலாம்`,embeddable:``,text_selected:`உரையைத் திருத்த இரு-சொடுக்கு அ ENTERஐ அழுத்து`,text_editing:`திருத்துவதை முடிக்க Escape அ CtrlOrCmd+ENTERஐ அழுத்து`,linearElementMulti:`கடைசி புள்ளியில் சொடுக்கு அ முடிக்க Escape அ Enter அழுத்து`,lockAngle:`SHIFTஐ அழுத்திப்பிடித்து கோணத்தை வற்புறுத்தலாம்`,resize:`மறுஅளவிடுகையில் SHIFTஐ அழுத்திப்பிடித்து விகிதசமத்தை வற்புறுத்தலாம்,
5
+ மையத்திலிருந்து மறுஅளவிட ALTஐ அழுத்திப்பிடி`,resizeImage:`SHIFTஐ நீண்டழுத்தி கட்டற்று அளவுமாற்றலாம்,
6
+ மையத்திலிருந்து அளவுமாற்ற ALTஐ நீண்டழுத்துக`,rotate:`சுழற்றுகையில் SHIFTஐ அழுத்திப்பிடித்து கோணங்களை வற்புறுத்தலாம்`,lineEditor_info:``,lineEditor_pointSelected:`புள்ளி(கள்)ஐ நீக்க Deleteஐ அழுத்து,
7
+ நகலாக்க CtrlOrCmd+D, அ நகர்த்த பிடித்திழு`,lineEditor_nothingSelected:`திருத்த புள்ளியைத் தேர்ந்தெடு (பலவற்றை தேர SHIFTஐ அழுத்திப்பிடி),
8
+ அ புதிய புள்ளிகளைச் சேர்க்க Altஐ அழுத்திப்பிடித்துச் சொடுக்கு`,placeImage:`படத்தை வைக்கச் சொடுக்கு, அ கைமுறையாக அளவு அமைக்க சொடுக்கி பிடித்திழு`,publishLibrary:`உம் சொந்த நூலகத்தைப் பிரசுரி`,bindTextToElement:`உரையைச் சேர்க்க enterஐ அழுத்து`,deepBoxSelect:`ஆழ்ந்துத் தேரவும் பிடித்திழுத்தலைத் தவிர்க்கவும் CtrlOrCmdஐ அழுத்திப்பிடி`,eraserRevert:``,firefox_clipboard_write:``,disableSnapping:``},c={cannotShowPreview:`முன்னோட்டம் காட்ட இயலவில்லை`,canvasTooBig:`கித்தான் மிகப்பெரிதாக இருக்கலாம்.`,canvasTooBigTip:`துணுக்குதவி: தூரத்திலுள்ள உறுப்புகளைப் நெருக்கமாக நகர்த்தப்பார்.`},l={headingMain:`பிழையைச் சந்தித்தீரா. முயலவும் <button>பக்கத்தை மீண்டுமேற்றுகிறது.</button>`,clearCanvasMessage:`மீண்டுமேற்றல் வேலைசெய்யவிட்டால், முயற்சி <button>கித்தானைத் துடைக்கிறது.</button>`,clearCanvasCaveat:` இது வேலையை இழக்கக்கூடும் `,trackedToSentry:`இனங்காணியில் பிழை {{eventId}} எங்கள் இயங்குதளத்தில் தடமறியப்பட்டது.`,openIssueMessage:`பிழையில் உம் காட்சி தகவலை உள்ளடக்காமலிருக்க நாங்கள் மிக எச்சரிக்கையாக இருந்தோம். உம் காட்சி தனிப்பட்டதில்லையெனில், பின்தொடர்வதற்கு பரிசீலிக்கவும் எங்கள் <button>பிழை தடமி.</button> கீழுள்ள தகவலை நகலெடுத்து ஒட்டி GitHub சிக்கலுள் உள்ளடக்கவும்.`,sceneContent:`காட்சி உள்ளடக்கம்:`},u={desc_intro:`உம்முடன் கூட்டுப்பணிசெய்ய மக்களை தற்போதைய காட்சிக்கு அழைப்பிடலாம்.`,desc_privacy:`வருந்தாதீர், அமர்வு இருமுனை மறையகத்தைப் பயன்படுத்துகிறது, ஆக நீங்கள் வரைவது எதுவும் தனிப்பட்டதாக இருக்கும். எங்கள் சேவையகத்தால் கூட நீங்கள் என்ன செய்ததைப் பார்க்கவியலாது.`,button_startSession:`அமர்வைத் துவக்கு`,button_stopSession:`அமர்வை நிறுத்து`,desc_inProgressIntro:`நேரடி-கூட்டுப்பணி அமர்வு தற்போது செயலிலுள்ளது.`,desc_shareLink:`கூட்டுப்பணிபுரிய விரும்பும் எவருனும் இத்தொடுப்பைப் பகிர்க:`,desc_exitSession:`அமர்வை நிறுத்தல் உம்மை அறையிலிருந்து துண்டிக்கும், ஆனால் காட்சியுடன் தொடர்ந்து பணிபுரிய உம்மாலியலும், அகமாக. இது பிற மக்களைப் பாதிக்காதென்பதைக் குறி, மற்றும் அவர்களாலவர்களுடைய பதிப்பில் இன்னும் கூட்டுப்பணிபுரியவியலும்.`,shareTitle:`எக்ஸ்கேலிட்ராவில் நேரடி கூட்டுப்பணி அமர்வில் சேர்`},d={title:`பிழை`},f={disk_title:`வட்டில் சேமி`,disk_details:`காட்சித் தரவை நீங்கள் பின்னர் இறக்குமதி செய்யக்கூடிய ஒரு கோப்பிற்கு ஏற்றுமதிசெய்க.`,disk_button:`கோப்பில் சேமி`,link_title:`பகிரக்கூடிய தொடுப்பு`,link_details:`வாசிக்க-மட்டும் தொடுப்பாக ஏற்றுமதிசெய்.`,link_button:`தொடுப்புக்கு ஏற்றுமதிசெய்`,excalidrawplus_description:`காட்சியை உன் எக்ஸ்கேலிட்ரா பணியிடத்தில் சேமி.`,excalidrawplus_button:`ஏற்றுமதி`,excalidrawplus_exportError:`இத்தருணத்தில் எக்ஸ்கேலிட்ரா+ க்கு ஏற்றுமதிசெய்ய முடியவில்லை...`},p={blog:`எமது வலைப்பூவை வாசி`,click:`சொடுக்கு`,deepSelect:`ஆழ்ந்துத் தேர்`,deepBoxSelect:`பெட்டியினுள் ஆழ்ந்துத் தேர், மற்றும் பிடித்திழுத்தலைத் தவிர்`,curvedArrow:`வளைந்த அம்பு`,curvedLine:`வளைந்த வரி`,documentation:`ஆவணமாக்கல்`,doubleClick:`இரு-சொடுக்கு`,drag:`பிடித்திழு`,editor:`திருத்தி`,editLineArrowPoints:``,editText:``,github:`சிக்கலைக் கண்டீரா? சமர்ப்பி`,howto:`எங்கள் கையேடுகளைப் பின்பற்றுக`,or:`அ`,preventBinding:`அம்பு பிணைதலைத் தவிர்`,tools:`கருவிகள்`,shortcuts:`விசைப்பலகை குறுக்குவழிகள்`,textFinish:`திருத்துதலை முடி (உரை திருத்தி)`,textNewLine:`புதிய வரியைச் சேர் (உரை திருத்தி)`,title:`உதவி`,view:`பார்`,zoomToFit:`அனைத்துறுப்புகளும் பொருந்தும்படி விரிவாக்கு`,zoomToSelection:`தெரிவுக்கு விரிவாக்கு`,toggleElementLock:`தேர்ந்தெடுப்பைப் பூட்டு/பூட்டவிழ்`,movePageUpDown:`மேலே/கீழே நகர்த்தவும்`,movePageLeftRight:`இடது/வலது பக்கம் நகர்த்தவும்`},m={title:`கித்தானைத் துடை`},h={title:`நூலகத்தைப் பிரசுரி`,itemName:`உருப்படியின் பெயர்`,authorName:`ஆசிரியர் பெயர்`,githubUsername:`GitHub பயனர்பெயர்`,twitterUsername:`டுவிட்டர் பயனர்பெயர்`,libraryName:`நூலக பெயர்`,libraryDesc:`நூலக விவரிப்பு`,website:`வலைத்தளம்`,placeholder:{authorName:`உம் பெயர் அ பயனர்பெயர்`,libraryName:`உம் நூலகத்தின் பெயர்`,libraryDesc:`உம் நூலகத்தின் விவரிப்பு இதன் பயன்பாட்டை மக்கள் புரிந்துகொள்ளவுதவ`,githubHandle:`GitHub கைப்பிடி (விரும்பினால்), ஆதலால் நீங்கள் நூலகத்தை மதிப்பாய்விற்காக சமர்ப்பித்தவுடன் திருத்தமுடியும்`,twitterHandle:`டுவிட்டர் பயனர்பெயர் (விரும்பினால்), ஆதலால் டுவிட்டரில் முன்னிறுத்தும்போது யாமெவரைப் புகழ்வதென்றறிவோம்`,website:`உமக்குரிய வலைத்தளத்திற்கு அ வேறெங்கிற்குமான தொடுப்பு (விரும்பினால்)`},errors:{required:`தேவைப்டுகிறது`,website:`செல்லத்தக்க உரலியை உள்ளிடு`},noteDescription:`உம் நூலகத்தைச் சமர்ப்பி உள்ளடக்குவதற்கு <link>பொது நூலக களஞ்சியத்தில்</link>பிற மக்களவர்களின் சித்திரங்களில் பயன்படுத்த.`,noteGuidelines:`நூலகம் முதலில் கைமுறையாக ஒப்புக்கொள்ளப்படவேண்டும். வாசிக்கவும் <link>வழிகாட்டுதல்களைச்</link> சமர்ப்பிக்கும் முன்பு. கோரப்பட்டால் தொடர்புகொள்ள மற்றும் மாற்றங்கள் செய்ய உமக்கொரு GitHub கணக்கு தேவை, ஆனால் அது கண்டிப்பாக தேவையல்ல.`,noteLicense:`சமர்ப்பிப்பதனால், நூலகம் இதனடியில் பிரசரிக்கப்பட ஏற்கிறீர்கள் <link>MIT உரிமம், </link>சுருக்கமாக எவருமிதைப் வரையறையின்றி பயன்படுத்தலாமென குறிக்கிறது.`,noteItems:`வடிக்கட்டக்கூடியதாகவிருக்க ஒவ்வொரு நூலகவுருப்படிக்கும் சொந்த பெயர் இருக்கவேண்டும். பின்வரும் நூலகவுருப்படிகள் உள்ளடக்கப்படும்:`,atleastOneLibItem:`ஆரம்பிக்க ஒரு நூலக உருப்படியையாவது தேர்ந்தெடுக்கவும்`,republishWarning:``},g={title:`நூலகம் சமர்ப்பிக்கப்பட்டது`,content:`நன்றி {{authorName}}. உமது நூலகம் மதிப்பாய்விற்காக சமர்ப்பிக்கப்பட்டது. நிலையை நீங்கள் தடமறியலாம்<link>இங்கே</link>`},_={resetLibrary:`நூலகத்தை அகரமாக்கு`,removeItemsFromLib:`நூலகத்திலிருந்து தேர்ந்தெடுத்த உருப்படிகளை நீக்கு`},v={header:`படத்தை ஏற்றுமதிதல`,label:{withBackground:`பின்னணி`,onlySelected:`தேர்ந்ததை மட்டும்`,darkMode:`இருள் பயன்முறை`,embedScene:`காட்சியை உட்பொதி`,scale:`அளவுகோல்`,padding:``},tooltip:{embedScene:``},title:{exportToPng:`PNGக்கு ஏற்றுமதிசெய்`,exportToSvg:`SVGக்கு ஏற்றுமதிசெய்`,copyPngToClipboard:``},button:{exportToPng:`PNG`,exportToSvg:`SVG`,copyPngToClipboard:``}},y={tooltip:`உம் சித்திரங்கள் இருமுனை மறையாக்கம் செய்யப்பட்டவையாதலால் எக்ஸ்கேலிட்ராவின் சேவையகங்கள் அவற்றை ஒருபோதும் பார்க்கா.`,link:`எக்ஸ்கேலிட்ராவில் இருமுனை மறையாக்கம் மீதான வலைப்பூ இடுகை`},b={angle:`கோணம்`,element:`உறுப்பு`,elements:`உறுப்புகள்`,height:`உயரம்`,scene:`காட்சி`,selected:`தேர்ந்தவை`,storage:`சேமிப்பகம்`,title:`மேதாவிகளுக்கான புள்ளிவிவரங்கள்`,total:`மொத்தம்`,version:`பதிப்பு`,versionCopy:`நகலெடுக்க சொடுக்கு`,versionNotAvailable:`பதிப்பு கிடைக்கவில்லை`,width:`அகலம்`},x={addedToLibrary:`நூலகத்தில் சேர்க்கப்பட்டது`,copyStyles:`ஒயில்கள் நகலெடுக்கப்பட்டன.`,copyToClipboard:`நகலகத்திற்கு நகலெடுக்கப்பட்டது.`,copyToClipboardAsPng:`{{exportSelection}}-ஐ நகலகத்திற்கு PNG ஆக நகலெடுத்தது
9
+ ({{exportColorScheme}})`,fileSaved:`கோப்பு சேமிக்கப்பட்டது.`,fileSavedToFilename:`{filename}-க்கு சேமிக்கப்பட்டது`,canvas:`கித்தான்`,selection:`தெரிவு`,pasteAsSingleElement:``,unableToEmbed:``,unrecognizedLinkFormat:``},S={transparent:`ஒளிபுகுத்தன்மை`,black:`கருப்பு`,white:`வெள்ளை`,red:`சிவப்பு`,pink:`இளஞ்சிவப்பு`,grape:`திராட்சை`,violet:`ஊதா`,gray:`சாம்பல்`,blue:`நீலம்`,cyan:`மயில்நிறம்`,teal:`டீல்`,green:`பச்சை`,yellow:`மஞ்சள்`,orange:`ஆரஞ்சு`,bronze:`வெண்கலம்`},C={app:{center_heading:``,center_heading_plus:``,menuHint:``},defaults:{menuHint:``,center_heading:`எளிமையாக வரைபடங்கள் உருவாக்க!`,toolbarHint:`கருவியைத் தேர்ந்தெடு & வரை!`,helpHint:`குறுக்குவழிகள் & உதவி`}},w={mostUsedCustomColors:``,colors:``,shades:``,hexCode:``,noShades:``},T={action:{exportToImage:{title:``,button:``,description:``},saveToDisk:{title:``,button:``,description:``},excalidrawPlus:{title:``,button:``,description:``}},modal:{loadFromFile:{title:``,button:``,description:``},shareableLink:{title:``,button:``,description:``}}},E={title:``,button:``,description:``,syntax:``,preview:``},D={labels:e,library:t,buttons:n,alerts:r,errors:i,toolBar:a,headings:o,hints:s,canvasError:c,errorSplash:l,roomDialog:u,errorDialog:d,exportDialog:f,helpDialog:p,clearCanvasDialog:m,publishDialog:h,publishSuccessDialog:g,confirmDialog:_,imageExportDialog:v,encrypted:y,stats:b,toast:x,colors:S,welcomeScreen:C,colorPicker:w,overwriteConfirm:T,mermaid:E};export{r as alerts,n as buttons,c as canvasError,m as clearCanvasDialog,w as colorPicker,S as colors,_ as confirmDialog,D as default,y as encrypted,d as errorDialog,l as errorSplash,i as errors,f as exportDialog,o as headings,p as helpDialog,s as hints,v as imageExportDialog,e as labels,t as library,E as mermaid,T as overwriteConfirm,h as publishDialog,g as publishSuccessDialog,u as roomDialog,b as stats,x as toast,a as toolBar,C as welcomeScreen};