collabmd 0.1.49 → 0.1.52

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 (750) hide show
  1. package/README.md +11 -660
  2. package/bin/collabmd.js +36 -20
  3. package/dist/client/assets/CodeMirrorEditor-UCMRAMCV-BEz2BKN1.js +1 -0
  4. package/dist/client/assets/KaTeX_AMS-Regular-BQhdFMY1.woff2 +0 -0
  5. package/dist/client/assets/KaTeX_AMS-Regular-DMm9YOAa.woff +0 -0
  6. package/dist/client/assets/KaTeX_AMS-Regular-DRggAlZN.ttf +0 -0
  7. package/dist/client/assets/KaTeX_Caligraphic-Bold-ATXxdsX0.ttf +0 -0
  8. package/dist/client/assets/KaTeX_Caligraphic-Bold-BEiXGLvX.woff +0 -0
  9. package/dist/client/assets/KaTeX_Caligraphic-Bold-Dq_IR9rO.woff2 +0 -0
  10. package/dist/client/assets/KaTeX_Caligraphic-Regular-CTRA-rTL.woff +0 -0
  11. package/dist/client/assets/KaTeX_Caligraphic-Regular-Di6jR-x-.woff2 +0 -0
  12. package/dist/client/assets/KaTeX_Caligraphic-Regular-wX97UBjC.ttf +0 -0
  13. package/dist/client/assets/KaTeX_Fraktur-Bold-BdnERNNW.ttf +0 -0
  14. package/dist/client/assets/KaTeX_Fraktur-Bold-BsDP51OF.woff +0 -0
  15. package/dist/client/assets/KaTeX_Fraktur-Bold-CL6g_b3V.woff2 +0 -0
  16. package/dist/client/assets/KaTeX_Fraktur-Regular-CB_wures.ttf +0 -0
  17. package/dist/client/assets/KaTeX_Fraktur-Regular-CTYiF6lA.woff2 +0 -0
  18. package/dist/client/assets/KaTeX_Fraktur-Regular-Dxdc4cR9.woff +0 -0
  19. package/dist/client/assets/KaTeX_Main-Bold-Cx986IdX.woff2 +0 -0
  20. package/dist/client/assets/KaTeX_Main-Bold-Jm3AIy58.woff +0 -0
  21. package/dist/client/assets/KaTeX_Main-Bold-waoOVXN0.ttf +0 -0
  22. package/dist/client/assets/KaTeX_Main-BoldItalic-DxDJ3AOS.woff2 +0 -0
  23. package/dist/client/assets/KaTeX_Main-BoldItalic-DzxPMmG6.ttf +0 -0
  24. package/dist/client/assets/KaTeX_Main-BoldItalic-SpSLRI95.woff +0 -0
  25. package/dist/client/assets/KaTeX_Main-Italic-3WenGoN9.ttf +0 -0
  26. package/dist/client/assets/KaTeX_Main-Italic-BMLOBm91.woff +0 -0
  27. package/dist/client/assets/KaTeX_Main-Italic-NWA7e6Wa.woff2 +0 -0
  28. package/dist/client/assets/KaTeX_Main-Regular-B22Nviop.woff2 +0 -0
  29. package/dist/client/assets/KaTeX_Main-Regular-Dr94JaBh.woff +0 -0
  30. package/dist/client/assets/KaTeX_Main-Regular-ypZvNtVU.ttf +0 -0
  31. package/dist/client/assets/KaTeX_Math-BoldItalic-B3XSjfu4.ttf +0 -0
  32. package/dist/client/assets/KaTeX_Math-BoldItalic-CZnvNsCZ.woff2 +0 -0
  33. package/dist/client/assets/KaTeX_Math-BoldItalic-iY-2wyZ7.woff +0 -0
  34. package/dist/client/assets/KaTeX_Math-Italic-DA0__PXp.woff +0 -0
  35. package/dist/client/assets/KaTeX_Math-Italic-flOr_0UB.ttf +0 -0
  36. package/dist/client/assets/KaTeX_Math-Italic-t53AETM-.woff2 +0 -0
  37. package/dist/client/assets/KaTeX_SansSerif-Bold-CFMepnvq.ttf +0 -0
  38. package/dist/client/assets/KaTeX_SansSerif-Bold-D1sUS0GD.woff2 +0 -0
  39. package/dist/client/assets/KaTeX_SansSerif-Bold-DbIhKOiC.woff +0 -0
  40. package/dist/client/assets/KaTeX_SansSerif-Italic-C3H0VqGB.woff2 +0 -0
  41. package/dist/client/assets/KaTeX_SansSerif-Italic-DN2j7dab.woff +0 -0
  42. package/dist/client/assets/KaTeX_SansSerif-Italic-YYjJ1zSn.ttf +0 -0
  43. package/dist/client/assets/KaTeX_SansSerif-Regular-BNo7hRIc.ttf +0 -0
  44. package/dist/client/assets/KaTeX_SansSerif-Regular-CS6fqUqJ.woff +0 -0
  45. package/dist/client/assets/KaTeX_SansSerif-Regular-DDBCnlJ7.woff2 +0 -0
  46. package/dist/client/assets/KaTeX_Script-Regular-C5JkGWo-.ttf +0 -0
  47. package/dist/client/assets/KaTeX_Script-Regular-D3wIWfF6.woff2 +0 -0
  48. package/dist/client/assets/KaTeX_Script-Regular-D5yQViql.woff +0 -0
  49. package/dist/client/assets/KaTeX_Size1-Regular-C195tn64.woff +0 -0
  50. package/dist/client/assets/KaTeX_Size1-Regular-Dbsnue_I.ttf +0 -0
  51. package/dist/client/assets/KaTeX_Size1-Regular-mCD8mA8B.woff2 +0 -0
  52. package/dist/client/assets/KaTeX_Size2-Regular-B7gKUWhC.ttf +0 -0
  53. package/dist/client/assets/KaTeX_Size2-Regular-Dy4dx90m.woff2 +0 -0
  54. package/dist/client/assets/KaTeX_Size2-Regular-oD1tc_U0.woff +0 -0
  55. package/dist/client/assets/KaTeX_Size3-Regular-CTq5MqoE.woff +0 -0
  56. package/dist/client/assets/KaTeX_Size3-Regular-DgpXs0kz.ttf +0 -0
  57. package/dist/client/assets/KaTeX_Size4-Regular-BF-4gkZK.woff +0 -0
  58. package/dist/client/assets/KaTeX_Size4-Regular-DWFBv043.ttf +0 -0
  59. package/dist/client/assets/KaTeX_Size4-Regular-Dl5lxZxV.woff2 +0 -0
  60. package/dist/client/assets/KaTeX_Typewriter-Regular-C0xS9mPB.woff +0 -0
  61. package/dist/client/assets/KaTeX_Typewriter-Regular-CO6r4hn1.woff2 +0 -0
  62. package/dist/client/assets/KaTeX_Typewriter-Regular-D3Ib7_Hf.ttf +0 -0
  63. package/dist/client/assets/Middleware-DUgFSleI.js +1 -0
  64. package/dist/client/assets/_basePickBy-QJXUw_pr.js +1 -0
  65. package/dist/client/assets/_baseUniq-DR4vVjyC.js +1 -0
  66. package/dist/client/assets/abnfDiagram-O67JEVCF-Dwt6a0Ds.js +1 -0
  67. package/dist/client/assets/abnfDiagram-VCTEODGH-DxNxad6-.js +1 -0
  68. package/dist/client/assets/ar-SA-5WIASEJP-Di7OimCN.js +10 -0
  69. package/dist/client/assets/architecture-7GRP2DOG-BBwRXFv3.js +1 -0
  70. package/dist/client/assets/architecture-7GRP2DOG-DJVtYNt-.js +1 -0
  71. package/dist/client/assets/architectureDiagram-5GKGNRK7-C1uvg5id.js +36 -0
  72. package/dist/client/assets/architectureDiagram-NJMV4G6O-D5CGiX3G.js +36 -0
  73. package/dist/client/assets/az-AZ-V5EUQD6C-C19OGTT_.js +1 -0
  74. package/dist/client/assets/{babel-CY5KOv-I.js → babel-Bi_28hhi.js} +1 -1
  75. package/dist/client/assets/band-D-Cum8PO.js +1 -0
  76. package/dist/client/assets/bg-BG-EXASCMTR-BIt0xWyb.js +5 -0
  77. package/dist/client/assets/blockDiagram-BEXU5L5S-BgTM0var.js +140 -0
  78. package/dist/client/assets/blockDiagram-I7D4REHJ-B2YonsoG.js +129 -0
  79. package/dist/client/assets/bn-BD-U4SYNFCO-CdNaPy4Q.js +3 -0
  80. package/dist/client/assets/bn-IN-HKDJIITE-CdNaPy4Q.js +3 -0
  81. package/dist/client/assets/{browser-BKLM0ThC-IxjwuOIz-BBqQnUEb.js → browser-BKLM0ThC-IxjwuOIz-C0mP17s1.js} +1 -1
  82. package/dist/client/assets/{browser-utils-DbXSMI-6.js → browser-utils-vlHL9goC.js} +1 -1
  83. package/dist/client/assets/{c4Diagram-7LVT6UL2-yD2poxqw.js → c4Diagram-7LVT6UL2-r4IwomZm.js} +2 -2
  84. package/dist/client/assets/c4Diagram-YGBWAQC7-_xZPrNkB.js +38 -0
  85. package/dist/client/assets/ca-ES-2KGUU5XB-C9t-c0cH.js +8 -0
  86. package/dist/client/assets/channel-CgcHBnmr.js +1 -0
  87. package/dist/client/assets/chunk-2E4U76K2-CIQUuV9n.js +1 -0
  88. package/dist/client/assets/chunk-2Q5K7J3B-BMFG3ur0.js +1 -0
  89. package/dist/client/assets/{chunk-2ZTRR5NV-C2qZJila.js → chunk-2ZTRR5NV-CnDP55cn.js} +1 -1
  90. package/dist/client/assets/chunk-2ZTRR5NV-DcPRfelM.js +2 -0
  91. package/dist/client/assets/chunk-3FUC2YCW-8tZlhTGX.js +1 -0
  92. package/dist/client/assets/{chunk-3Z5EZCMW-DMniOlPd.js → chunk-3Z5EZCMW-BAnA6eQ7.js} +1 -1
  93. package/dist/client/assets/chunk-3Z5EZCMW-Yx4Q5AcN.js +1 -0
  94. package/dist/client/assets/chunk-4HAMMTFA-q0ldNVvr.js +62 -0
  95. package/dist/client/assets/chunk-4SOEAONT-C3fufoVl.js +40 -0
  96. package/dist/client/assets/chunk-5DYCD2WN-BKWCKnK-.js +1 -0
  97. package/dist/client/assets/{chunk-5V3GS4D5-i-ZDOEnP.js → chunk-5V3GS4D5-B5uC2oxu.js} +1 -1
  98. package/dist/client/assets/chunk-5V3GS4D5-BR7kgIgJ.js +1 -0
  99. package/dist/client/assets/chunk-5VM5RSS4-hE9rU_bl.js +15 -0
  100. package/dist/client/assets/chunk-6AEJRKK7-DTVZj5bY.js +1 -0
  101. package/dist/client/assets/{chunk-6AZGARVD-BB6FqMl-.js → chunk-6AZGARVD--pTGpDnx.js} +1 -1
  102. package/dist/client/assets/chunk-6AZGARVD-CnZDr4Cj.js +1 -0
  103. package/dist/client/assets/{chunk-6EIED4P4-DdUJkP0f.js → chunk-6EIED4P4-Bp8dpTvX.js} +1 -1
  104. package/dist/client/assets/chunk-6EIED4P4-DBVWq7Tz.js +1 -0
  105. package/dist/client/assets/{chunk-6K3QC6MW-CqVsVn-y.js → chunk-6K3QC6MW-DGVRzL6v.js} +1 -1
  106. package/dist/client/assets/chunk-6K3QC6MW-JnuvEGV4.js +1 -0
  107. package/dist/client/assets/{chunk-6TQVIW2G-DKlLbNIP.js → chunk-6TQVIW2G-BSj0l_pu.js} +1 -1
  108. package/dist/client/assets/chunk-6TQVIW2G-DgBX-Pv0.js +1 -0
  109. package/dist/client/assets/chunk-742MDFTN-D1nh6vNv.js +1 -0
  110. package/dist/client/assets/{chunk-747NJXEK-BFkZPlab.js → chunk-747NJXEK-BjqqAsS9.js} +1 -1
  111. package/dist/client/assets/chunk-747NJXEK-Cur1aosP.js +2 -0
  112. package/dist/client/assets/chunk-75Z2AOVW-DitkSoSG.js +2 -0
  113. package/dist/client/assets/chunk-7INBJB4K-CDmiHbaX.js +62 -0
  114. package/dist/client/assets/chunk-7M6MHVWA-BDakkknV.js +213 -0
  115. package/dist/client/assets/chunk-7PRAP22T-9uTvtc_-.js +1 -0
  116. package/dist/client/assets/{chunk-CLGD4ZFX-BMeArk03.js → chunk-CLGD4ZFX-BfYJtJm1.js} +1 -1
  117. package/dist/client/assets/chunk-DU6HZSFF-CWlP1Dk_.js +125 -0
  118. package/dist/client/assets/chunk-DUW6YSOI-Dgx8z5s3.js +1 -0
  119. package/dist/client/assets/chunk-DYU5D34O-DN0WQZBm.js +1 -0
  120. package/dist/client/assets/{chunk-F27PBJKO-D4xNct1r.js → chunk-F27PBJKO-DPcsPcEs.js} +1 -1
  121. package/dist/client/assets/{chunk-FOHPRMQF-DHwB1DNv.js → chunk-FOHPRMQF-Dmmo5Kak.js} +9 -9
  122. package/dist/client/assets/chunk-FOHPRMQF-DzxwRta7.js +161 -0
  123. package/dist/client/assets/chunk-GMAD6QVW-Bgk8qnty.js +8 -0
  124. package/dist/client/assets/chunk-GNY47TPC-CTrH5O5R.js +1 -0
  125. package/dist/client/assets/{chunk-SVP7TREG-DB485R5x.js → chunk-GTNCS2PH-ChgkzEIi.js} +1 -1
  126. package/dist/client/assets/chunk-GVQU2GXP-CQ8cl-Uu.js +1 -0
  127. package/dist/client/assets/chunk-GWA4HPMP-CGmv2yIq.js +1 -0
  128. package/dist/client/assets/{chunk-I5DQTOEV-Hm2LfiYI.js → chunk-I5DQTOEV-B98XA8VK.js} +1 -1
  129. package/dist/client/assets/chunk-I5DQTOEV-aBZooNp1.js +1 -0
  130. package/dist/client/assets/{chunk-ICYGCRZG-749o-pGJ.js → chunk-ICYGCRZG-D97UeqJs.js} +1 -1
  131. package/dist/client/assets/chunk-ICYGCRZG-odvlDZyA.js +1 -0
  132. package/dist/client/assets/{chunk-IH6LHLGP-CC6I9F3i.js → chunk-IH6LHLGP-BNevEHZK.js} +1 -1
  133. package/dist/client/assets/chunk-IH6LHLGP-CvXe34hB.js +1 -0
  134. package/dist/client/assets/{chunk-IMKFNOWR-D8jEuU3Q.js → chunk-IMKFNOWR-CBqxfpcP.js} +2 -2
  135. package/dist/client/assets/chunk-J5ZVWO5B-oDCd-gWO.js +1 -0
  136. package/dist/client/assets/chunk-JWPE2WC7-GDilnS5Y.js +1 -0
  137. package/dist/client/assets/{chunk-KI3K4JFJ-Rma-0k_M.js → chunk-KI3K4JFJ-D5XCPRZv.js} +1 -1
  138. package/dist/client/assets/chunk-KI3K4JFJ-FTtDwx3-.js +1 -0
  139. package/dist/client/assets/chunk-L3NEJ4N5-BflzkdTI.js +1 -0
  140. package/dist/client/assets/{chunk-LNGE3PJU-DWpGwHrW.js → chunk-LNGE3PJU-5-SxdO55.js} +1 -1
  141. package/dist/client/assets/chunk-LNGE3PJU-5nWSl6jJ.js +34 -0
  142. package/dist/client/assets/chunk-MBY4JIJT-DTJ4UcAm.js +8 -0
  143. package/dist/client/assets/chunk-NETBCI7D-CmUwDWUZ.js +1 -0
  144. package/dist/client/assets/chunk-O7XYJQB3-D0_ZY2za.js +126 -0
  145. package/dist/client/assets/chunk-OSK3NFVY-DqeKV_pg.js +10 -0
  146. package/dist/client/assets/{chunk-OUJLGHUK-D0j2JRSg.js → chunk-OUJLGHUK-75UXlPjl.js} +1 -1
  147. package/dist/client/assets/chunk-OUJLGHUK-DA95-S9B.js +2 -0
  148. package/dist/client/assets/{chunk-P2QGCYS3-Oag_FdCq.js → chunk-P2QGCYS3-BA--DhpW.js} +1 -1
  149. package/dist/client/assets/chunk-POPQ4Y6H-V_NEc45n.js +1 -0
  150. package/dist/client/assets/chunk-PWAF6VOD-D_kLse-N.js +1 -0
  151. package/dist/client/assets/{chunk-FLYJHZSQ-Be7lKF17.js → chunk-RUX4WMZV-BGnd3s_C.js} +4 -4
  152. package/dist/client/assets/{chunk-SHT3W25Y-BiQGljao.js → chunk-SHT3W25Y-YM3S-A_M.js} +5 -5
  153. package/dist/client/assets/chunk-SVP7TREG-DdNhDOmW.js +88 -0
  154. package/dist/client/assets/{chunk-TICWLB2K-8rAVvoS3.js → chunk-TICWLB2K-BGGgCr4x.js} +3 -3
  155. package/dist/client/assets/chunk-TLUHSLCS-DCZhIDYA.js +1 -0
  156. package/dist/client/assets/chunk-UA2S7LBM-DicYDjDM.js +1 -0
  157. package/dist/client/assets/{chunk-UY3FDG6J-CnmaAkG5.js → chunk-UY3FDG6J-DqSM_0FB.js} +1 -1
  158. package/dist/client/assets/chunk-UY3FDG6J-QT-rkt0y.js +1 -0
  159. package/dist/client/assets/chunk-WEXAMYUT-DDlVNp8J.js +1 -0
  160. package/dist/client/assets/chunk-X3CZISLH-BixgQztF.js +1 -0
  161. package/dist/client/assets/chunk-X3CZISLH-DwWpRaN8.js +1 -0
  162. package/dist/client/assets/{chunk-XHIXRSVI-BFQ6B8BE.js → chunk-XHIXRSVI-BSN7JlfK.js} +1 -1
  163. package/dist/client/assets/chunk-XHIXRSVI-DN_fEwws.js +1 -0
  164. package/dist/client/assets/chunk-XXDRQBXY-C7hQHDmQ.js +1 -0
  165. package/dist/client/assets/{chunk-XXDRQBXY-BvKO0v-W.js → chunk-XXDRQBXY-CdRN9Akd.js} +1 -1
  166. package/dist/client/assets/chunk-Y2CYZVJY-BbRBGnmc.js +1 -0
  167. package/dist/client/assets/chunk-Z7XXMR3K-P4Vaq8hD.js +10 -0
  168. package/dist/client/assets/chunk-ZIGJFQKS-b8OUHKK5.js +2 -0
  169. package/dist/client/assets/classDiagram-ZZMXUADV-QLbh_Nkf.js +1 -0
  170. package/dist/client/assets/classDiagram-v2-NBCMYWYE-3TQORq33.js +217 -0
  171. package/dist/client/assets/classDiagram-v2-VYDZK3BY-QLbh_Nkf.js +1 -0
  172. package/dist/client/assets/clone-C1hp9FUh.js +1 -0
  173. package/dist/client/assets/comment-markdown-renderer-Bxi_JRSR.js +1 -0
  174. package/dist/client/assets/comment-thread-store-CHvy8GF8.js +1 -0
  175. package/dist/client/assets/comment-threads-nJhK1yfc.js +4 -0
  176. package/dist/client/assets/cose-bilkent-JH36ORCC-Czr0rwGr.js +1 -0
  177. package/dist/client/assets/cose-bilkent-JH36ORCC-DLmEf9HS.js +1 -0
  178. package/dist/client/assets/cs-CZ-VUCGPRML-BfCoYAgj.js +7 -0
  179. package/dist/client/assets/cynefin-OW5HDTMX-CF3N9j1_.js +1 -0
  180. package/dist/client/assets/cynefin-OW5HDTMX-e-Quc9Yl.js +1 -0
  181. package/dist/client/assets/cynefinDiagram-5FMLGOSQ-DTnLZaO7.js +62 -0
  182. package/dist/client/assets/cynefinDiagram-VND7K2PF-DwfMZ3vk.js +62 -0
  183. package/dist/client/assets/cytoscape-cose-bilkent-NdTYBUiT.js +1 -0
  184. package/dist/client/assets/cytoscape-fcose-DE9_QRG_.js +1 -0
  185. package/dist/client/assets/cytoscape.esm-EK2DW5Qr.js +321 -0
  186. package/dist/client/assets/da-DK-NNDP2IVP-DBw9ZNTR.js +2 -0
  187. package/dist/client/assets/dagre-6A5THRUB-DewyAGK6.js +4 -0
  188. package/dist/client/assets/dagre-D7FiCLLP.js +1 -0
  189. package/dist/client/assets/{dagre-GXQ25YYZ-Cr67wLpQ.js → dagre-GXQ25YYZ-Vtyx08Qh.js} +2 -2
  190. package/dist/client/assets/de-CH-I7RAVIZN-DYW18Vsr.js +11 -0
  191. package/dist/client/assets/de-DE-WBQ3DQLR-DYW18Vsr.js +11 -0
  192. package/dist/client/assets/deferred-collab-D4cxEdad.css +1 -0
  193. package/dist/client/assets/deferred-git-BHKtkFYi.css +1 -0
  194. package/dist/client/assets/deferred-preview-BAXYgf4T.css +1 -0
  195. package/dist/client/assets/diagram-22UHCM2B-DbZirFfl.js +200 -0
  196. package/dist/client/assets/diagram-3UASUU5V-DmhdYv6_.js +24 -0
  197. package/dist/client/assets/diagram-ATOU4E4O-B5uX-jVO.js +3 -0
  198. package/dist/client/assets/diagram-CDSNMT55-D_qyS11R.js +30 -0
  199. package/dist/client/assets/diagram-MLGK6HIB-DIBG6Ivu.js +24 -0
  200. package/dist/client/assets/diagram-MPIPVDR6-D9XsALDV.js +41 -0
  201. package/dist/client/assets/{diagram-S7CK7UJ4-DywERe__.js → diagram-S7CK7UJ4-CGTzfo2f.js} +3 -3
  202. package/dist/client/assets/diagram-UQ7AKVKN-CWZS8QtB.js +41 -0
  203. package/dist/client/assets/{diagram-VSXAHHWV-0H1a61Bn.js → diagram-VSXAHHWV-DaO1nOZF.js} +3 -3
  204. package/dist/client/assets/diagram-VX7I27RA-B54P6Cyf.js +24 -0
  205. package/dist/client/assets/diagram-Z3DM3KII-Cl2EXiXp.js +24 -0
  206. package/dist/client/assets/direct-engine-DdrQKpgq-4QysbH_V.js +5 -0
  207. package/dist/client/assets/dist-B7fBbwrO.js +1 -0
  208. package/dist/client/assets/{dist-DGEbEfw4.js → dist-BVCNc-Es.js} +1 -1
  209. package/dist/client/assets/dist-BYBF4LtZ.js +1 -0
  210. package/dist/client/assets/{dist-TW8iFRyW.js → dist-B_1hMrc6.js} +1 -1
  211. package/dist/client/assets/{dist-DVy5woUy.js → dist-BfpAc922.js} +1 -1
  212. package/dist/client/assets/dist-BnVaoRgZ.js +1 -0
  213. package/dist/client/assets/dist-Bog8M5U3.js +13 -0
  214. package/dist/client/assets/{dist-jVU5Be5P.js → dist-CAG5sIOj.js} +1 -1
  215. package/dist/client/assets/{dist-LQ4kDCKz.js → dist-CKf7LlAo.js} +1 -1
  216. package/dist/client/assets/{dist-BeajGMhO.js → dist-CUsXdnU4.js} +1 -1
  217. package/dist/client/assets/{dist-Tw-Fxpeb.js → dist-CXOUa90Q.js} +1 -1
  218. package/dist/client/assets/dist-CYMCikZo.js +1 -0
  219. package/dist/client/assets/dist-CYfPeupF.js +1 -0
  220. package/dist/client/assets/dist-Ch6Sr9KF.js +28 -0
  221. package/dist/client/assets/dist-Ck-B8onw.js +2 -0
  222. package/dist/client/assets/dist-CrkYYcOU.js +1 -0
  223. package/dist/client/assets/{dist-D5wCC32z.js → dist-CsQTfQFi.js} +1 -1
  224. package/dist/client/assets/dist-Cu5Ze2cs.js +6 -0
  225. package/dist/client/assets/{dist-C5NgpdG5.js → dist-CvVoyTRF.js} +1 -1
  226. package/dist/client/assets/{dist-GvvCNBe4.js → dist-D4kDR0g8.js} +1 -1
  227. package/dist/client/assets/dist-D8LnhZzy.js +1 -0
  228. package/dist/client/assets/{dist-D3fehAZ2.js → dist-DGa-2MNX.js} +2 -2
  229. package/dist/client/assets/dist-DI6c02Da.js +39 -0
  230. package/dist/client/assets/{dist-BPHLJ09L.js → dist-DNONgI1P.js} +2 -2
  231. package/dist/client/assets/{dist-C0G3AaXG.js → dist-DVBYH83t.js} +1 -1
  232. package/dist/client/assets/dist-DX6qtdxv.js +1 -0
  233. package/dist/client/assets/{dist-DzNmC81X.js → dist-Da-jLrCf.js} +1 -1
  234. package/dist/client/assets/dist-DofvCYzJ.js +1 -0
  235. package/dist/client/assets/{dist-CdmKGRGr.js → dist-Dx37MHWs.js} +1 -1
  236. package/dist/client/assets/dist-GTGhtpyW.js +9 -0
  237. package/dist/client/assets/{dist-BK9QvQrc.js → dist-W0FoeIxk.js} +9 -9
  238. package/dist/client/assets/{dist-mj2Ht75J.js → dist-Y6zYRI-A.js} +1 -1
  239. package/dist/client/assets/{dist-netZOQtD.js → dist-jVKfryIL.js} +1 -1
  240. package/dist/client/assets/{dist-DuH3ZrHo.js → dist-zHDLm1oE.js} +1 -1
  241. package/dist/client/assets/document-formatter-gO8qM2qY.js +1 -0
  242. package/dist/client/assets/drawioEditor-DCkWweiy.js +9 -0
  243. package/dist/client/assets/duration-BiuFXtXd.js +1 -0
  244. package/dist/client/assets/ebnfDiagram-PWID7BFC-PfC84FyI.js +1 -0
  245. package/dist/client/assets/ebnfDiagram-ZINNZB2B-DYvm_QtE.js +1 -0
  246. package/dist/client/assets/editor-session-DxRyr4EM.js +14 -0
  247. package/dist/client/assets/el-GR-TYQHVGXW-Dx82YYAS.js +7 -0
  248. package/dist/client/assets/elk-276RUBZZ-B8LB3Pac.js +27 -0
  249. package/dist/client/assets/embedded-editor-base-elU0Avik.css +1 -0
  250. package/dist/client/assets/{embedpdf-DA4bA119-BPqZxwjc.js → embedpdf-DA4bA119-DsoNiPlQ.js} +4 -5
  251. package/dist/client/assets/{embedpdf-BmE13ZZ0.js → embedpdf-DyOonRvx.js} +1 -1
  252. package/dist/client/assets/{en-SJ2YIMFF-CJBL3nkq.js → en-GNC3RJIS-CEy_oGTd.js} +1 -1
  253. package/dist/client/assets/erDiagram-OPXOYQCR-o8GRv8A_.js +99 -0
  254. package/dist/client/assets/{erDiagram-RLTQ6QDP-CbrDdd5P.js → erDiagram-RLTQ6QDP-C9cJl5NB.js} +2 -2
  255. package/dist/client/assets/es-ES-JEUOREKJ-Rx0NUQDl.js +12 -0
  256. package/dist/client/assets/esm-BzZ1JFVo.js +65 -0
  257. package/dist/client/assets/{estree-CuT_pB8K.js → estree-DCT3Jm65.js} +4 -4
  258. package/dist/client/assets/eu-ES-SO5DEEAN-CDYm-BcK.js +8 -0
  259. package/dist/client/assets/eventmodeling-NTZA5JFV-CDy1bN6j.js +1 -0
  260. package/dist/client/assets/eventmodeling-NTZA5JFV-Dxtv5D-P.js +1 -0
  261. package/dist/client/assets/excalidraw-element-link-CGZ5934B.js +7 -0
  262. package/dist/client/assets/{excalidrawEditor-BbSbI80a.css → excalidrawEditor-BCTFp_CV.css} +1 -1
  263. package/dist/client/assets/excalidrawEditor-BVfSxjSO.js +9 -0
  264. package/dist/client/assets/export-page-BCo_e15t.js +46 -0
  265. package/dist/client/assets/exportDocument-Ba-n1X4U.css +1 -0
  266. package/dist/client/assets/exportDocument-DP6oE_or.js +2 -0
  267. package/dist/client/assets/fa-IR-I4JNTJHK-CFtHZqoT.js +9 -0
  268. package/dist/client/assets/fi-FI-REAEF6HQ-BIpjJqIb.js +6 -0
  269. package/dist/client/assets/file-search-3hYF4cYa.js +1 -0
  270. package/dist/client/assets/flowDiagram-HODETNUW-Bq4470NR.js +1 -0
  271. package/dist/client/assets/flowDiagram-KWPJA3E3-DQG9qGiU.js +1 -0
  272. package/dist/client/assets/forth-D6RzAl64.js +1 -0
  273. package/dist/client/assets/fr-FR-SUCL7J6B-DGAKE8jH.js +12 -0
  274. package/dist/client/assets/ganttDiagram-EL5Y4UJY-x40PW0Ah.js +292 -0
  275. package/dist/client/assets/ganttDiagram-FUAMR5RP-BQpsI7gQ.js +292 -0
  276. package/dist/client/assets/gitGraph-4MIJSDKK-B-rpDYbz.js +1 -0
  277. package/dist/client/assets/gitGraph-4MIJSDKK-ZaBIE4Lb.js +1 -0
  278. package/dist/client/assets/gitGraphDiagram-WWUBYQGX-ahsNaZsp.js +106 -0
  279. package/dist/client/assets/gitGraphDiagram-X574FWY7-wbs_2m9f.js +106 -0
  280. package/dist/client/assets/gl-ES-KHCSOGVH-DWKh0CMu.js +6 -0
  281. package/dist/client/assets/graphlib-C9Tl7QrK.js +1 -0
  282. package/dist/client/assets/he-IL-JYXVXV2Q-zqbcM-4g.js +9 -0
  283. package/dist/client/assets/hi-IN-BU52H3BO-CY8v6eG9.js +3 -0
  284. package/dist/client/assets/highlight-theme-CzNkO-IJ.js +1 -0
  285. package/dist/client/assets/{html-Cdnr2qzU.js → html-CBXMuS97.js} +2 -2
  286. package/dist/client/assets/html-DTuc_pxj.js +1 -0
  287. package/dist/client/assets/hu-HU-OWADXDQ3-CEl6Udfh.js +3 -0
  288. package/dist/client/assets/id-ID-2WY7E4VX-CCAeQpPr.js +8 -0
  289. package/dist/client/assets/image-EJJKRVD3-BQfi5nWJ.js +1 -0
  290. package/dist/client/assets/{image-blob-reduce.esm-Dj7YBvMv.js → image-blob-reduce.esm-BFq-Mx5V.js} +2 -2
  291. package/dist/client/assets/index-BxAuGDoN.css +1 -0
  292. package/dist/client/assets/index-uw9O0z1c.js +1112 -0
  293. package/dist/client/assets/info-A6RAGUB7-BcGxhjED.js +1 -0
  294. package/dist/client/assets/info-A6RAGUB7-BlutK7BT.js +1 -0
  295. package/dist/client/assets/infoDiagram-27XIBGKW-MrZyptIy.js +2 -0
  296. package/dist/client/assets/infoDiagram-VRGFBTTK-KkUjDRAQ.js +2 -0
  297. package/dist/client/assets/{ishikawaDiagram-5VMMS53U-BMPC6hfp.js → ishikawaDiagram-5VMMS53U-Bnt9yM0O.js} +2 -2
  298. package/dist/client/assets/ishikawaDiagram-OU5B5YK6-Di9BcpOY.js +70 -0
  299. package/dist/client/assets/it-IT-INVHSAJF-DytAgndh.js +12 -0
  300. package/dist/client/assets/ja-JP-JBNTKYP4-BflWlGhw.js +12 -0
  301. package/dist/client/assets/javascript-B9I2pbsP.js +1 -0
  302. package/dist/client/assets/javascript-DctB8BJo.js +1 -0
  303. package/dist/client/assets/{journeyDiagram-3NMN7TZE-B1sApUmM.js → journeyDiagram-3NMN7TZE-Bl0abK1r.js} +1 -1
  304. package/dist/client/assets/journeyDiagram-ZHPQQLJL-J-sGrs9e.js +139 -0
  305. package/dist/client/assets/jsx-runtime-DKj5X9O4.js +1 -0
  306. package/dist/client/assets/kaa-TC3VIB7V-B-xtZfy0.js +1 -0
  307. package/dist/client/assets/kab-KAB-UOUDSQKM-BmO0O4Y4.js +4 -0
  308. package/dist/client/assets/kanban-definition-PNTS6WVX-5ZDV_yIa.js +89 -0
  309. package/dist/client/assets/{kanban-definition-UXKFOSKX-C9yP4td1.js → kanban-definition-UXKFOSKX-DMgUfNt0.js} +10 -10
  310. package/dist/client/assets/{katex-CXMH3UgJ.js → katex-9NBMfU68.js} +2 -2
  311. package/dist/client/assets/katex-ZlcWpGUi.js +257 -0
  312. package/dist/client/assets/kk-KZ-P5H2X7YS-CSQFB8IN.js +1 -0
  313. package/dist/client/assets/{km-KH-PCWDKPHP-DSmy5shj.js → km-KH-IHMV2US7-BxrjuEzr.js} +4 -4
  314. package/dist/client/assets/ko-KR-ZTMANIDF-BnNRXd5J.js +5 -0
  315. package/dist/client/assets/ku-TR-GPJTRB5G-BZM7f2aT.js +6 -0
  316. package/dist/client/assets/line-DEbP8Ok6.js +1 -0
  317. package/dist/client/assets/linear-DExL6ILt.js +1 -0
  318. package/dist/client/assets/lobby-presence-Cz5jGOPg.js +1 -0
  319. package/dist/client/assets/lt-LT-V3XDOK3P-MVQBOHmF.js +3 -0
  320. package/dist/client/assets/{lua-CL1SqxuB.js → lua-zbJo2mq3.js} +1 -1
  321. package/dist/client/assets/lv-LV-DVQ3FADO-CrenwAhS.js +4 -0
  322. package/dist/client/assets/{markdown-CByV-4CU.js → markdown-Bo71X2X2.js} +8 -8
  323. package/dist/client/assets/markdown-it-DpvIRaVq.js +13 -0
  324. package/dist/client/assets/markdown-math-CyyBVuDO.js +517 -0
  325. package/dist/client/assets/merge-CALoRt3l.js +1 -0
  326. package/dist/client/assets/mermaid-parser.core-Bpogunsh.js +3 -0
  327. package/dist/client/assets/mermaid-parser.core-DBy--Jc0.js +3 -0
  328. package/dist/client/assets/mermaid.core-BeOUPE3Q.js +10 -0
  329. package/dist/client/assets/mindmap-definition-NLK3R4M7-ByVb-0vj.js +96 -0
  330. package/dist/client/assets/{mindmap-definition-YA3MSWOX-BUQHcYbK.js → mindmap-definition-YA3MSWOX-DBZN5_GH.js} +29 -29
  331. package/dist/client/assets/mr-IN-VZ6HH5FE-B-PHPglH.js +9 -0
  332. package/dist/client/assets/my-MM-XYKWHRK6-Be5sYp5q.js +1 -0
  333. package/dist/client/assets/nb-NO-UNO2GGZJ-BvSKGdja.js +8 -0
  334. package/dist/client/assets/{nginx-BMaDbqW3.js → nginx-8H7HVH4w.js} +1 -1
  335. package/dist/client/assets/nl-NL-76EFHT4P-C2yNx1Cj.js +13 -0
  336. package/dist/client/assets/nn-NO-CFKD7ABE-4NsqlDRP.js +4 -0
  337. package/dist/client/assets/oc-FR-YBJTCJ3J-B4OTQsWW.js +4 -0
  338. package/dist/client/assets/pa-IN-SNOXSMRV-CKj_sOG7.js +4 -0
  339. package/dist/client/assets/packet-AYTQ26CC-CqpSjTWl.js +1 -0
  340. package/dist/client/assets/packet-AYTQ26CC-DvbY8dI6.js +1 -0
  341. package/dist/client/assets/pegDiagram-GJSIUBJH-aost1sSO.js +1 -0
  342. package/dist/client/assets/pegDiagram-XKGWAZYB-DRo8CZu3.js +1 -0
  343. package/dist/client/assets/percentages-LWOC67ZH-VhvllE7L.js +1 -0
  344. package/dist/client/assets/{pica-xkWDouSg.js → pica-BPrp-GK1.js} +1 -1
  345. package/dist/client/assets/pie-DzWLGKAD.js +1 -0
  346. package/dist/client/assets/pie-WAS4IAKB-Bg2eCNl5.js +1 -0
  347. package/dist/client/assets/pie-WAS4IAKB-DWSm9SSD.js +1 -0
  348. package/dist/client/assets/pieDiagram-5QR66LMP-BICdpEuz.js +39 -0
  349. package/dist/client/assets/pieDiagram-E7YTZNPT-CZThaHsc.js +39 -0
  350. package/dist/client/assets/pl-PL-BSY6YFZ3-CFuzA6L0.js +12 -0
  351. package/dist/client/assets/preload-helper-BAlEavIC.js +1 -0
  352. package/dist/client/assets/preview-render-compiler-ktU0SXxY.js +43 -0
  353. package/dist/client/assets/preview-render-profile-D652PAjA.js +1 -0
  354. package/dist/client/assets/preview-render-worker-BI2bFVqM.js +575 -0
  355. package/dist/client/assets/prod-DU-0VfI7.js +145 -0
  356. package/dist/client/assets/prod-cXUNdmYV.js +1 -0
  357. package/dist/client/assets/pt-BR-CZDV62R3-CkPMtyNx.js +10 -0
  358. package/dist/client/assets/pt-PT-JO57XJJW-CBSnfGtF.js +12 -0
  359. package/dist/client/assets/{pug-Wky5Dnfy.js → pug-CqqUmdG7.js} +1 -1
  360. package/dist/client/assets/purify.es-go7v6Te-.js +3 -0
  361. package/dist/client/assets/{quadrantDiagram-AXDQQJYC-DwexhEhd.js → quadrantDiagram-AXDQQJYC-C5iowkl_.js} +3 -3
  362. package/dist/client/assets/quadrantDiagram-O4NWA36T-Bgx5bF97.js +7 -0
  363. package/dist/client/assets/quick-switcher-De4PjZFC.css +1 -0
  364. package/dist/client/assets/quick-switcher-controller-DSlOwOsU.js +1 -0
  365. package/dist/client/assets/radar-RG4KPBEZ-BfNQUEQy.js +1 -0
  366. package/dist/client/assets/radar-RG4KPBEZ-DxExotg6.js +1 -0
  367. package/dist/client/assets/railroad-74A4TZTK-BaQ6U6eJ.js +1 -0
  368. package/dist/client/assets/railroad-74A4TZTK-FfHmeIQk.js +1 -0
  369. package/dist/client/assets/railroad-abnf-HS5TGJTU-BJ3KZw7J.js +1 -0
  370. package/dist/client/assets/railroad-abnf-HS5TGJTU-CLkdDRsJ.js +1 -0
  371. package/dist/client/assets/railroad-ebnf-LZEXJU2U-B162zvcG.js +1 -0
  372. package/dist/client/assets/railroad-ebnf-LZEXJU2U-DA0sEq7w.js +1 -0
  373. package/dist/client/assets/railroad-peg-WCYAUIDC-CGs5GeJ5.js +1 -0
  374. package/dist/client/assets/railroad-peg-WCYAUIDC-DCmlICzO.js +1 -0
  375. package/dist/client/assets/railroadDiagram-O6MQD6OU-BTt_rKjT.js +1 -0
  376. package/dist/client/assets/railroadDiagram-XR7U4H2S-DbVoNgSz.js +1 -0
  377. package/dist/client/assets/{requirementDiagram-BXWQKSXE-C4cKwiIw.js → requirementDiagram-BXWQKSXE-BkvazG7r.js} +1 -1
  378. package/dist/client/assets/requirementDiagram-PLB6GJNP-BT0j9C40.js +84 -0
  379. package/dist/client/assets/ro-RO-UZ5ICYYN-BOuntc_r.js +12 -0
  380. package/dist/client/assets/room-DX7lIfnu.js +1 -0
  381. package/dist/client/assets/ru-RU-AN7JPREC-D-ow3SNR.js +10 -0
  382. package/dist/client/assets/runtime-config-BFVdhnJu.js +1 -0
  383. package/dist/client/assets/runtime-paths-Cn0snt_9.js +1 -0
  384. package/dist/client/assets/sankeyDiagram-IPEJSGJF-X1BCUIrf.js +40 -0
  385. package/dist/client/assets/sankeyDiagram-P5KCCOFB-C_IemB9h.js +40 -0
  386. package/dist/client/assets/sankeyLinkHorizontal-usjP1-Cg.js +1 -0
  387. package/dist/client/assets/sequenceDiagram-PO4LG4MO-B-2QfXhV.js +169 -0
  388. package/dist/client/assets/{sequenceDiagram-WJ2MYXX4-BX6jqJFD.js → sequenceDiagram-WJ2MYXX4-CxFBgLGd.js} +3 -3
  389. package/dist/client/assets/si-LK-7CBLD6QQ-c91EepX0.js +1 -0
  390. package/dist/client/assets/{sieve-BAxa3IjF.js → sieve-tLWDfEkZ.js} +1 -1
  391. package/dist/client/assets/sizeCapture-INFHLROL-B0uUizjq.js +1 -1
  392. package/dist/client/assets/sizeCapture-INFHLROL-DrzwYt5z.js +1 -0
  393. package/dist/client/assets/sk-SK-SWR6DKBI-D5vFMIL6.js +7 -0
  394. package/dist/client/assets/sl-SI-QY5KCFGA-RZhwMpQL.js +8 -0
  395. package/dist/client/assets/solr-B78wSQJQ.js +1 -0
  396. package/dist/client/assets/src-XiVvaevx.js +1 -0
  397. package/dist/client/assets/stateDiagram-D77RDMKH-BaSQ6Owj.js +1 -0
  398. package/dist/client/assets/stateDiagram-v2-GCMORJYK-CsVcfwVp.js +291 -0
  399. package/dist/client/assets/stateDiagram-v2-MP3YSRHH-CLlwrdvU.js +1 -0
  400. package/dist/client/assets/sv-SE-O3OFCY3J-DnS86_7q.js +12 -0
  401. package/dist/client/assets/swimlanes-2SLR337P-CnYTVqRX.js +1 -0
  402. package/dist/client/assets/swimlanes-42K2YHIH-CALFEmiS.js +1 -0
  403. package/dist/client/assets/swimlanesDiagram-TC7HE7FX-Bh4tmz27.js +8 -0
  404. package/dist/client/assets/swimlanesDiagram-VR7AAH4N-xhehUG9e.js +8 -0
  405. package/dist/client/assets/ta-IN-V6NHHU6Z-D5jy7_AE.js +6 -0
  406. package/dist/client/assets/th-TH-WLSZUSBX-DHehoYR2.js +1 -0
  407. package/dist/client/assets/{timeline-definition-24CTP7MA-BA-lVH6P.js → timeline-definition-24CTP7MA-zse-5Dbm.js} +5 -5
  408. package/dist/client/assets/timeline-definition-EJHVYXUP-BhqPlKkN.js +120 -0
  409. package/dist/client/assets/tr-TR-GUFYG22B-ClVaf8h1.js +4 -0
  410. package/dist/client/assets/treeView-Q6P3EWNA-BvHOzbu9.js +1 -0
  411. package/dist/client/assets/treeView-Q6P3EWNA-Cccy0ngL.js +1 -0
  412. package/dist/client/assets/treemap-CxZTjHiH.js +1 -0
  413. package/dist/client/assets/treemap-WGGIJYW6-oety7paS.js +1 -0
  414. package/dist/client/assets/treemap-WGGIJYW6-sMRCjCtX.js +1 -0
  415. package/dist/client/assets/uk-UA-K6SV5NFQ-BLTTtyNB.js +6 -0
  416. package/dist/client/assets/usecaseDiagram-POWQR4AR-DR2LHQYs.js +328 -0
  417. package/dist/client/assets/uz-UZ-TVKTZO2G-Bm02Eg3D.js +1 -0
  418. package/dist/client/assets/v4-DDdyfk2q.js +1 -0
  419. package/dist/client/assets/vault-api-client-BQxLVPeF.js +7 -0
  420. package/dist/client/assets/vault-paths-BT-6nztu.js +1 -0
  421. package/dist/client/assets/vault-utils-Bct69Xw2.js +1 -0
  422. package/dist/client/assets/venn.esm-C5rDfA9t.js +7 -0
  423. package/dist/client/assets/vennDiagram-4TSXK5OY-DgHr6cJD.js +28 -0
  424. package/dist/client/assets/vennDiagram-UO4OBE2U-BRwLn2Q1.js +28 -0
  425. package/dist/client/assets/{verilog-7LoJAqYT.js → verilog-CjI9Y6RI.js} +1 -1
  426. package/dist/client/assets/vi-VN-7FKFXJNO-CL3WPhmG.js +7 -0
  427. package/dist/client/assets/wardley-WFR3VGLG-BdwDpX_I.js +1 -0
  428. package/dist/client/assets/wardley-WFR3VGLG-Y7xty_3m.js +1 -0
  429. package/dist/client/assets/{wardleyDiagram-VM6X3IG4-C2oY-YbF.js → wardleyDiagram-VM6X3IG4-9A60XZis.js} +3 -3
  430. package/dist/client/assets/wardleyDiagram-VNRHLVJA-B_tMcVFG.js +78 -0
  431. package/dist/client/assets/wiki-link-resolver-Dch88erO.js +1 -0
  432. package/dist/client/assets/{worker-engine-m0rlHn8R-S8mpn_O0.js → worker-engine-m0rlHn8R-5h66k403.js} +1 -1
  433. package/dist/client/assets/workspace-change-CVA9dVmy.js +1 -0
  434. package/dist/client/assets/workspace-sync-client-C2pdaQUN.js +1 -0
  435. package/dist/client/assets/xychartDiagram-PMCCYNJV-fRpZ1MA5.js +7 -0
  436. package/dist/client/assets/xychartDiagram-S5SC5T6Z-D00iy-wB.js +7 -0
  437. package/dist/client/assets/{yaml-9ltHPDNO.js → yaml-BcZaqAz8.js} +1 -1
  438. package/dist/client/assets/yjs-B41tM6Sz.js +4 -0
  439. package/dist/client/assets/yjs-provider-reset-guard-DpntzUDR.js +1 -0
  440. package/dist/client/assets/zh-CN-AOKVLNNK-DGidDH2b.js +11 -0
  441. package/dist/client/assets/zh-HK-CDKPF5DC-CRcNR3rk.js +1 -0
  442. package/dist/client/assets/zh-TW-ZVGYESGW-C7Qji1y6.js +13 -0
  443. package/dist/client/drawio-editor.html +9 -9
  444. package/dist/client/excalidraw-editor.html +43 -38
  445. package/dist/client/export-document.html +6 -7
  446. package/dist/client/index.html +49 -38
  447. package/package.json +23 -26
  448. package/src/client/app/drawio-editor.html +2 -1
  449. package/src/client/app/excalidraw-editor.html +2 -1
  450. package/src/client/app/export-document-entry.js +1 -0
  451. package/src/client/app/export-document.html +2 -1
  452. package/src/client/app/index.html +47 -16
  453. package/src/client/app/main-entry.js +1 -19
  454. package/src/client/application/app-shell/comments-feature.js +6 -0
  455. package/src/client/application/app-shell/ui-feature-shell.js +156 -59
  456. package/src/client/application/app-shell/ui-feature-tab-activity.js +8 -3
  457. package/src/client/application/app-shell-elements.js +7 -0
  458. package/src/client/application/diagram-preview-hydrator.js +7 -0
  459. package/src/client/application/highlight-theme.js +16 -0
  460. package/src/client/application/mermaid-preview-hydrator.js +89 -3
  461. package/src/client/application/preview-diagram-utils.js +1 -0
  462. package/src/client/application/preview-render-compiler.js +45 -20
  463. package/src/client/application/preview-render-executor.js +4 -27
  464. package/src/client/application/preview-render-profile.js +8 -12
  465. package/src/client/application/preview-renderer.js +27 -7
  466. package/src/client/application/workspace-coordinator.js +20 -21
  467. package/src/client/bootstrap/collabmd-app-shell.js +87 -42
  468. package/src/client/bootstrap/lazy-collab-clients.js +90 -0
  469. package/src/client/browser-utils.js +1 -1
  470. package/src/client/domain/excalidraw-scene-reconcile.js +5 -2
  471. package/src/client/domain/excalidraw-scene.js +0 -11
  472. package/src/client/domain/file-search.js +1 -0
  473. package/src/client/domain/hash-routes.js +5 -0
  474. package/src/client/domain/highlight-runtime.js +74 -0
  475. package/src/client/domain/lobby-chat.js +2 -0
  476. package/src/client/domain/markdown-math.js +14 -0
  477. package/src/client/domain/runtime-paths.js +56 -7
  478. package/src/client/domain/vault-utils.js +11 -0
  479. package/src/client/excalidraw-editor.js +20 -4
  480. package/src/client/export/export-host.js +3 -7
  481. package/src/client/export/export-pipeline.js +208 -21
  482. package/src/client/infrastructure/auth-client.js +1 -2
  483. package/src/client/infrastructure/browser-preferences-port.js +24 -0
  484. package/src/client/infrastructure/editor-session.js +20 -0
  485. package/src/client/infrastructure/editor-view-adapter.js +51 -15
  486. package/src/client/infrastructure/excalidraw-room-client.js +11 -46
  487. package/src/client/infrastructure/git-api-client.js +5 -0
  488. package/src/client/infrastructure/hosted-api-client.js +60 -0
  489. package/src/client/infrastructure/lobby-presence.js +2 -2
  490. package/src/client/infrastructure/runtime-config.js +3 -1
  491. package/src/client/infrastructure/tab-activity-lock.js +8 -4
  492. package/src/client/infrastructure/webmcp-tool-registry.js +27 -6
  493. package/src/client/presentation/bases-preview-controller.js +2 -1
  494. package/src/client/presentation/comment-markdown-renderer.js +4 -14
  495. package/src/client/presentation/comment-overview-controller.js +1 -2
  496. package/src/client/presentation/comment-ui/comment-ui-shared.js +5 -2
  497. package/src/client/presentation/comment-ui-controller.js +21 -30
  498. package/src/client/presentation/create-menu-presenter.js +16 -18
  499. package/src/client/presentation/drawio-embed-controller.js +55 -7
  500. package/src/client/presentation/excalidraw-embed-controller.js +11 -3
  501. package/src/client/presentation/file-explorer-controller.js +4 -0
  502. package/src/client/presentation/file-explorer-view.js +304 -176
  503. package/src/client/presentation/file-history-view-controller.js +6 -0
  504. package/src/client/presentation/git-diff-view-controller.js +3 -2
  505. package/src/client/presentation/git-panel-controller.js +7 -6
  506. package/src/client/presentation/hosted-workspace-gate-controller.js +180 -0
  507. package/src/client/presentation/image-lightbox-controller.js +7 -6
  508. package/src/client/presentation/layout-controller.js +10 -1
  509. package/src/client/presentation/outline-controller.js +0 -86
  510. package/src/client/presentation/quick-switcher-controller.js +50 -13
  511. package/src/client/presentation/scroll-sync-controller.js +69 -21
  512. package/src/client/presentation/team-settings-controller.js +228 -0
  513. package/src/client/styles/components/navigation.css +2 -2
  514. package/src/client/styles/deferred-collab.css +6 -0
  515. package/src/client/styles/deferred-git.css +7 -0
  516. package/src/client/styles/deferred-preview.css +7 -0
  517. package/src/client/styles/features/diagram-preview.css +1 -15
  518. package/src/client/styles/features/outline.css +4 -2
  519. package/src/client/styles/features/preview-markdown.css +29 -15
  520. package/src/client/styles/features/team-settings.css +162 -0
  521. package/src/client/styles/foundation/themes.css +56 -271
  522. package/src/client/styles/foundation/tokens.css +2 -2
  523. package/src/client/styles/layout/editor-page.css +0 -14
  524. package/src/client/styles/layout/overlays.css +16 -0
  525. package/src/client/styles/layout/responsive.css +5 -5
  526. package/src/client/styles/layout/shell.css +26 -1
  527. package/src/client/styles/layout/sidebar.css +95 -3
  528. package/src/client/styles/style.css +3 -19
  529. package/src/client/styles/surfaces/landing-page.css +260 -0
  530. package/src/domain/agent-tool-definitions.js +182 -74
  531. package/src/domain/collabmd-content-capabilities.js +62 -7
  532. package/src/domain/collaboration-protocol.js +2 -0
  533. package/src/domain/excalidraw-agent-scene.js +108 -6
  534. package/src/domain/excalidraw-agent-verification.js +95 -1
  535. package/src/domain/excalidraw-room-codec.js +12 -1
  536. package/src/domain/literal-text-search.js +13 -0
  537. package/src/domain/markdown-outline.js +35 -0
  538. package/src/server/application/agent-connection-service.js +6 -2
  539. package/src/server/application/agent-content-service.js +250 -114
  540. package/src/server/auth/create-auth-service.js +40 -12
  541. package/src/server/auth/session-cookie.js +49 -38
  542. package/src/server/config/env.js +97 -6
  543. package/src/server/create-app-server.js +23 -153
  544. package/src/server/domain/backlink-index.js +1 -11
  545. package/src/server/domain/bases/base-query-results.js +7 -3
  546. package/src/server/domain/bases/base-query-service.js +2 -7
  547. package/src/server/domain/collaboration/collaboration-room.js +54 -16
  548. package/src/server/domain/docx-exporter.js +256 -2
  549. package/src/server/domain/hosted-workspace-contract.js +7 -0
  550. package/src/server/domain/hosted-workspace.js +39 -63
  551. package/src/server/domain/ripgrep-search-service.js +97 -34
  552. package/src/server/infrastructure/git/diff-service.js +15 -11
  553. package/src/server/infrastructure/git/git-service.js +4 -0
  554. package/src/server/infrastructure/git/image-mime.js +4 -3
  555. package/src/server/infrastructure/git/local-exclude.js +13 -1
  556. package/src/server/infrastructure/git/status-service.js +10 -6
  557. package/src/server/infrastructure/http/create-agent-api-handler.js +1 -1
  558. package/src/server/infrastructure/http/create-git-api-query-handler.js +25 -0
  559. package/src/server/infrastructure/http/create-hosted-api-handler.js +5 -0
  560. package/src/server/infrastructure/http/create-request-handler.js +95 -26
  561. package/src/server/infrastructure/http/create-static-handler.js +3 -0
  562. package/src/server/infrastructure/http/create-vault-api-query-handler.js +28 -55
  563. package/src/server/infrastructure/http/http-response.js +2 -0
  564. package/src/server/infrastructure/mcp/create-agent-mcp-handler.js +2 -1
  565. package/src/server/infrastructure/persistence/hosted-metadata-store.js +42 -5
  566. package/src/server/infrastructure/persistence/path-utils.js +23 -3
  567. package/src/server/infrastructure/persistence/pull-backup-store.js +52 -42
  568. package/src/server/infrastructure/persistence/sidecar-store.js +19 -9
  569. package/src/server/infrastructure/persistence/vault-file-store.js +57 -171
  570. package/src/server/infrastructure/plantuml/plantuml-renderer.js +33 -0
  571. package/src/server/infrastructure/structurizr/structurizr-workspace-service.js +24 -10
  572. package/src/server/infrastructure/websocket/attach-collaboration-gateway.js +55 -25
  573. package/src/server/infrastructure/websocket/client-socket-session.js +32 -4
  574. package/src/server/infrastructure/workspace/file-system-sync-service.js +4 -2
  575. package/src/server/shared/agent-tool-rate-limiter.js +7 -0
  576. package/src/server/startup/git-remote-bootstrap.js +56 -49
  577. package/src/server/vault-registry.js +251 -0
  578. package/dist/client/assets/CodeMirrorEditor-UCMRAMCV-C-nmgL5g.js +0 -1
  579. package/dist/client/assets/abnfDiagram-VCTEODGH-CdVZqicp.js +0 -1
  580. package/dist/client/assets/ar-SA-PQUY64WN-xjXgbW6d.js +0 -10
  581. package/dist/client/assets/architecture-7GRP2DOG-BMOPAkUC.js +0 -1
  582. package/dist/client/assets/architectureDiagram-5GKGNRK7-wUo0bXif.js +0 -36
  583. package/dist/client/assets/az-AZ-OXJXL76K-4JkO4Pca.js +0 -1
  584. package/dist/client/assets/base-CaIEJUF9.css +0 -1
  585. package/dist/client/assets/bg-BG-W2GKIJDF-DnkH_o81.js +0 -5
  586. package/dist/client/assets/blockDiagram-I7D4REHJ-BRSK3m49.js +0 -129
  587. package/dist/client/assets/bn-BD-TGL7M4PJ-CG4JkmtP.js +0 -3
  588. package/dist/client/assets/bn-IN-BKETKYEH-CG4JkmtP.js +0 -3
  589. package/dist/client/assets/ca-ES-LD5SCRVV-U6_TVMX9.js +0 -8
  590. package/dist/client/assets/channel-Fa4GS_-F.js +0 -1
  591. package/dist/client/assets/chunk-2E4U76K2-BPnTT-J3.js +0 -2
  592. package/dist/client/assets/chunk-4HAMMTFA-DStbIfJ1.js +0 -62
  593. package/dist/client/assets/chunk-75Z2AOVW-C5pGd3W9.js +0 -2
  594. package/dist/client/assets/chunk-7XWMRXBY-CfMzEq80.js +0 -1
  595. package/dist/client/assets/chunk-DU6HZSFF-Zkp69c6c.js +0 -127
  596. package/dist/client/assets/chunk-GMAD6QVW-NZ6WpDb8.js +0 -72
  597. package/dist/client/assets/chunk-GVQU2GXP-D8SDprfX.js +0 -1
  598. package/dist/client/assets/chunk-L3NEJ4N5-aijKP-eh.js +0 -1
  599. package/dist/client/assets/chunk-OSK3NFVY-CCbLQAMa.js +0 -10
  600. package/dist/client/assets/chunk-POPQ4Y6H-CYnpIgXT.js +0 -1
  601. package/dist/client/assets/chunk-PWAF6VOD-JSNrcBmP.js +0 -1
  602. package/dist/client/assets/chunk-RM4UPSZO-DOWllDY8.js +0 -41
  603. package/dist/client/assets/chunk-TLUHSLCS-DTY5v0aj.js +0 -2
  604. package/dist/client/assets/classDiagram-ZZMXUADV-BsQWoR3Q.js +0 -1
  605. package/dist/client/assets/classDiagram-v2-VYDZK3BY-BsQWoR3Q.js +0 -1
  606. package/dist/client/assets/comment-thread-store-CX98zR6q.js +0 -1
  607. package/dist/client/assets/comment-threads-BnRwo5B9.js +0 -4
  608. package/dist/client/assets/cose-bilkent-JH36ORCC-Cm_QF_yb.js +0 -1
  609. package/dist/client/assets/cs-CZ-OFPU5DBV-BmFAIhqX.js +0 -7
  610. package/dist/client/assets/cynefin-OW5HDTMX-7tP7QfM3.js +0 -1
  611. package/dist/client/assets/cynefinDiagram-5FMLGOSQ-rTz9RhFH.js +0 -62
  612. package/dist/client/assets/cytoscape.esm-B-NFISlW.js +0 -321
  613. package/dist/client/assets/da-DK-FRDJFYWF-H387Jw8B.js +0 -2
  614. package/dist/client/assets/dagre-PrKaheQc.js +0 -1
  615. package/dist/client/assets/de-CH-ZG7H3QK3-C_groygo.js +0 -11
  616. package/dist/client/assets/de-DE-SIJYH4IH-C_groygo.js +0 -11
  617. package/dist/client/assets/diagram-UQ7AKVKN-CNYlXtu4.js +0 -41
  618. package/dist/client/assets/diagram-VX7I27RA-CsJbsx5F.js +0 -24
  619. package/dist/client/assets/diagram-Z3DM3KII-D0mLxEgI.js +0 -24
  620. package/dist/client/assets/direct-engine-DdrQKpgq-CtKfQzCt.js +0 -5
  621. package/dist/client/assets/dist--hk9I5HQ.js +0 -1
  622. package/dist/client/assets/dist-B1XEa-Zs.js +0 -1
  623. package/dist/client/assets/dist-BJ1bJs33.js +0 -1
  624. package/dist/client/assets/dist-Bd1JucQF.js +0 -1
  625. package/dist/client/assets/dist-ByrG2qBA.js +0 -1
  626. package/dist/client/assets/dist-CKS_-are.js +0 -1
  627. package/dist/client/assets/dist-D37Hyu3h.js +0 -9
  628. package/dist/client/assets/dist-Dl_tpDSr.js +0 -1
  629. package/dist/client/assets/dist-Dm4w5UId.js +0 -1
  630. package/dist/client/assets/dist-DpYDHR9p.js +0 -6
  631. package/dist/client/assets/dist-JaU3aRlD.js +0 -19
  632. package/dist/client/assets/dist-RKBTaQMb.js +0 -13
  633. package/dist/client/assets/dist-eBx8q6Sy.js +0 -1
  634. package/dist/client/assets/document-formatter-rDDjRfZ2.js +0 -2
  635. package/dist/client/assets/drawioEditor-JubEEha7.js +0 -9
  636. package/dist/client/assets/ebnfDiagram-PWID7BFC-HeTxHpCU.js +0 -1
  637. package/dist/client/assets/editor-session-Bk6oIvSr.js +0 -54
  638. package/dist/client/assets/el-GR-IEE2CGI2-BkT6YT54.js +0 -7
  639. package/dist/client/assets/embedded-editor-base-BlCgz6mw.css +0 -1
  640. package/dist/client/assets/es-Bfdp096f.js +0 -22
  641. package/dist/client/assets/es-ES-TVVPWKV5-CpPKJXTM.js +0 -12
  642. package/dist/client/assets/eu-ES-CGBMFQDT-Bu3N2493.js +0 -8
  643. package/dist/client/assets/eventmodeling-NTZA5JFV-BR2FzK4R.js +0 -1
  644. package/dist/client/assets/excalidraw-element-link-YLIaTnVF.js +0 -7
  645. package/dist/client/assets/excalidrawEditor-dBMbRX_S.js +0 -9
  646. package/dist/client/assets/export-page-CRRQ2NEl.js +0 -57
  647. package/dist/client/assets/exportDocument-BlQRd9_m.js +0 -2
  648. package/dist/client/assets/exportDocument-CNSbjZwu.css +0 -1
  649. package/dist/client/assets/fa-IR-IE6XAPR4-BEvLCORD.js +0 -9
  650. package/dist/client/assets/fi-FI-P7TKNHRM-DI0q8iSX.js +0 -6
  651. package/dist/client/assets/file-icon-svg-Y_kpF957.js +0 -1
  652. package/dist/client/assets/file-search-DDLyyLDU.js +0 -1
  653. package/dist/client/assets/flowDiagram-HODETNUW-D5Gy0wmg.js +0 -1
  654. package/dist/client/assets/forth-Cezjo90N.js +0 -1
  655. package/dist/client/assets/fr-FR-QI2XZNT7-y8kXd8LA.js +0 -12
  656. package/dist/client/assets/ganttDiagram-EL5Y4UJY-BHgOYiZz.js +0 -292
  657. package/dist/client/assets/gitGraph-4MIJSDKK-DYlXv_yJ.js +0 -1
  658. package/dist/client/assets/gitGraphDiagram-WWUBYQGX-Dl__X3Sk.js +0 -106
  659. package/dist/client/assets/gl-ES-TLYCNOZZ-Br-Fhff-.js +0 -6
  660. package/dist/client/assets/graphlib-DS17s2tU.js +0 -1
  661. package/dist/client/assets/he-IL-ZX43XLGP-qKQq6V9X.js +0 -9
  662. package/dist/client/assets/hi-IN-UTYRMTUF-DOUcwrDO.js +0 -3
  663. package/dist/client/assets/hu-HU-AJOSEBW6-FqTyvHlD.js +0 -3
  664. package/dist/client/assets/id-ID-ETLTVG6C-CQqh3CLS.js +0 -8
  665. package/dist/client/assets/image-ZVKINSPA-DgzW5zAy.js +0 -1
  666. package/dist/client/assets/index-D3RER1SZ.js +0 -1023
  667. package/dist/client/assets/index-DREVKl_K.css +0 -1
  668. package/dist/client/assets/info-A6RAGUB7-BlU-8_xu.js +0 -1
  669. package/dist/client/assets/infoDiagram-27XIBGKW-DBpoANC9.js +0 -2
  670. package/dist/client/assets/it-IT-B4B6TP6L-V-yK3SZz.js +0 -12
  671. package/dist/client/assets/ja-JP-IYKVURR5-BQKBXRpX.js +0 -12
  672. package/dist/client/assets/javascript-BWjar7HY.js +0 -1
  673. package/dist/client/assets/javascript-D-FtdkNC.js +0 -1
  674. package/dist/client/assets/jsx-runtime-BpzPEenQ.js +0 -1
  675. package/dist/client/assets/kaa-SE2BUIKX-CZ5kfwPg.js +0 -1
  676. package/dist/client/assets/kab-KAB-Y3GLKXLR-Do7GWfuN.js +0 -4
  677. package/dist/client/assets/kk-KZ-ABWUFVOH-BpqVciQz.js +0 -1
  678. package/dist/client/assets/ko-KR-7JQDXKGM-N42lep78.js +0 -5
  679. package/dist/client/assets/ku-TR-NAH2Q5B7-K8LLl9fk.js +0 -6
  680. package/dist/client/assets/line-BFl3ujec.js +0 -1
  681. package/dist/client/assets/linear-n-3HSMUF.js +0 -1
  682. package/dist/client/assets/lt-LT-VQFYRSNQ-BmOd0ALn.js +0 -3
  683. package/dist/client/assets/lv-LV-T62VSYUM-B22WdPhp.js +0 -4
  684. package/dist/client/assets/mermaid-parser.core-Bl0efOMt.js +0 -4
  685. package/dist/client/assets/mermaid.core-BrY09czX.js +0 -11
  686. package/dist/client/assets/mermaid.core-DfcNfOTv.js +0 -1
  687. package/dist/client/assets/modulepreload-polyfill-P2Xu9kJm.js +0 -1
  688. package/dist/client/assets/mr-IN-V4FHLCJE-XX069tpm.js +0 -9
  689. package/dist/client/assets/my-MM-E3SQ6E54-cst_-5SB.js +0 -1
  690. package/dist/client/assets/nb-NO-MLNOFN5H-Bu2URWko.js +0 -8
  691. package/dist/client/assets/nl-NL-D5L3ZV4M-BqrV0btt.js +0 -13
  692. package/dist/client/assets/nn-NO-NNHDGPKB-DK-xZaWM.js +0 -4
  693. package/dist/client/assets/oc-FR-DWCRF55G-BZ5Po5R6.js +0 -4
  694. package/dist/client/assets/pa-IN-3JSAY44M-BZQSjKrS.js +0 -4
  695. package/dist/client/assets/packet-AYTQ26CC-BSJEH9Lb.js +0 -1
  696. package/dist/client/assets/pegDiagram-XKGWAZYB-Bi2Iml7Z.js +0 -1
  697. package/dist/client/assets/percentages-ETZPVQEE-DFxFqXgH.js +0 -1
  698. package/dist/client/assets/pie-WAS4IAKB-qxv01Y8W.js +0 -1
  699. package/dist/client/assets/pieDiagram-E7YTZNPT-_gYXnMoi.js +0 -39
  700. package/dist/client/assets/pl-PL-ACURYKP3-qcEOSfCk.js +0 -12
  701. package/dist/client/assets/preload-helper-HclGiUj8.js +0 -1
  702. package/dist/client/assets/preview-render-compiler-CfxJYldJ.js +0 -41
  703. package/dist/client/assets/preview-render-compiler-Cu8_i9iS.js +0 -1
  704. package/dist/client/assets/preview-render-worker-c4Yi93qW.js +0 -66
  705. package/dist/client/assets/prod-BiJL30sl.js +0 -1
  706. package/dist/client/assets/prod-qAk7rHa4.js +0 -177
  707. package/dist/client/assets/pt-BR-LOX7MLGD-DLueHSyZ.js +0 -10
  708. package/dist/client/assets/pt-PT-CZ2U2RFQ-BJ-GAEm6.js +0 -12
  709. package/dist/client/assets/quick-switcher-controller-BoIK_wuG.js +0 -1
  710. package/dist/client/assets/radar-RG4KPBEZ-B6h6pWOs.js +0 -1
  711. package/dist/client/assets/railroad-74A4TZTK-CGtTWdGc.js +0 -1
  712. package/dist/client/assets/railroad-abnf-HS5TGJTU-Cq7y22IA.js +0 -1
  713. package/dist/client/assets/railroad-ebnf-LZEXJU2U-V0aQVv9m.js +0 -1
  714. package/dist/client/assets/railroad-peg-WCYAUIDC-BQiIsX_p.js +0 -1
  715. package/dist/client/assets/railroadDiagram-O6MQD6OU-BVA5UbMu.js +0 -1
  716. package/dist/client/assets/ro-RO-2HECL2X6-CJUvKAf0.js +0 -12
  717. package/dist/client/assets/ru-RU-HAYNXO46-BWSlvTrt.js +0 -10
  718. package/dist/client/assets/runtime-config-DcmnGcXU.js +0 -1
  719. package/dist/client/assets/sankeyDiagram-P5KCCOFB-B5HHkRT2.js +0 -40
  720. package/dist/client/assets/si-LK-W5KNS4H6-DGGCsn7k.js +0 -1
  721. package/dist/client/assets/sk-SK-7K2CFGDV-CY4uTYgQ.js +0 -7
  722. package/dist/client/assets/sl-SI-OXV2QZWW-2-weqaBY.js +0 -6
  723. package/dist/client/assets/solr-BBopId9w.js +0 -1
  724. package/dist/client/assets/src-oBChb5qS.js +0 -1
  725. package/dist/client/assets/stateDiagram-D77RDMKH-CmqxyRGx.js +0 -1
  726. package/dist/client/assets/stateDiagram-v2-MP3YSRHH-zoLLQVyh.js +0 -1
  727. package/dist/client/assets/sv-SE-JTOBZRGL-9-IUtVkO.js +0 -12
  728. package/dist/client/assets/swimlanes-42K2YHIH-Bmgb9Zld.js +0 -1
  729. package/dist/client/assets/swimlanesDiagram-VR7AAH4N-DS-KQN37.js +0 -8
  730. package/dist/client/assets/ta-IN-KFAVKXGT-gHO6Q_DH.js +0 -6
  731. package/dist/client/assets/th-TH-VDMSCPDL-BvJuw6PJ.js +0 -1
  732. package/dist/client/assets/tr-TR-CEZ6GX45-CG6UU3Su.js +0 -4
  733. package/dist/client/assets/treeView-Q6P3EWNA-BTTYcvrF.js +0 -1
  734. package/dist/client/assets/treemap-WGGIJYW6-Cg7tyfH8.js +0 -1
  735. package/dist/client/assets/uk-UA-Q3H3OXQC-CSuIg_DY.js +0 -6
  736. package/dist/client/assets/uz-UZ-NGCSWWPX-mom7rxSP.js +0 -1
  737. package/dist/client/assets/vault-api-client-iZLhMJKe.js +0 -6
  738. package/dist/client/assets/vennDiagram-4TSXK5OY-DNdUC_Xj.js +0 -34
  739. package/dist/client/assets/vi-VN-P3NDEVPS-BB0Fu9ck.js +0 -7
  740. package/dist/client/assets/wardley-WFR3VGLG-C6N1rULY.js +0 -1
  741. package/dist/client/assets/wiki-link-resolver-DFIwErjc.js +0 -1
  742. package/dist/client/assets/xychartDiagram-S5SC5T6Z-CoIR8CBX.js +0 -7
  743. package/dist/client/assets/yjs-provider-reset-guard-9ul1qF6k.js +0 -4
  744. package/dist/client/assets/zh-CN-SS3O57GA-Bj8wsiMe.js +0 -11
  745. package/dist/client/assets/zh-HK-LWJT3VCF-DOTquTCh.js +0 -1
  746. package/dist/client/assets/zh-TW-VJXC72RT-B48PRo-l.js +0 -13
  747. package/integrations/pi/index.ts +0 -94
  748. package/src/server/domain/collaboration/protocol.js +0 -6
  749. /package/dist/client/assets/{vault-api-client-C3mlS_4N.css → auth-gate-C3mlS_4N.css} +0 -0
  750. /package/dist/client/assets/{base-BYODPHdS.js → github.min-DBihDoic.js} +0 -0
@@ -0,0 +1,2 @@
1
+ import"./chunk-SRAX5OIU-KFQikY-4.js";var e={signUp:``,signIn:``,paste:`Indsæt`,pasteAsPlaintext:`Indsæt som klartekst`,pasteCharts:`Indsæt diagrammer`,chartType_bar:``,chartType_line:``,chartType_radar:``,chartType_plaintext:``,selectAll:`Marker alle`,multiSelect:`Tilføj element til markering`,moveCanvas:`Flyt lærred`,cut:`Klip`,copy:`Kopier`,copyAsPng:`Kopier til klippebord som PNG`,copyAsSvg:`Kopier til klippebord som SVG`,copyText:`Kopiér til udklipsholder som tekst`,copySource:`Kopiér kilde til udklipsholder`,convertToCode:`Konvertér til kode`,bringForward:`Flyt fremad`,sendToBack:`Placer bagest`,bringToFront:`Placer forrest`,sendBackward:`Send bagud`,delete:`Fjern`,copyStyles:`Kopier stil`,pasteStyles:`Indsæt stil`,stroke:`Linje`,changeStroke:`Ændr stregfarve`,background:`Baggrund`,changeBackground:`Ændr baggrundsfarve`,fill:`Udfyld`,strokeWidth:`Linjebredde`,strokeStyle:`Linjeform`,strokeStyle_solid:`Solid`,strokeStyle_dashed:`Stiplet`,strokeStyle_dotted:`Prikket`,sloppiness:`Sjuskethed`,pressure:``,pressure_constant:``,pressure_variable:``,opacity:`Gennemsigtighed`,textAlign:`Tekstjustering`,edges:`Kanter`,sharp:`Skarp`,round:`Rund`,arrowheads:`Pilehoveder`,arrowhead_none:`Ingen`,arrowhead_arrow:`Pil`,arrowhead_bar:`Bjælke`,arrowhead_circle:`Cirkel`,arrowhead_circle_outline:`Cirkel (omrids)`,arrowhead_triangle:`Trekant`,arrowhead_triangle_outline:`Trekant (omrids)`,arrowhead_diamond:`Diamant`,arrowhead_diamond_outline:`Diamant (omrids)`,arrowhead_crowfoot_many:`Kragefod (mange)`,arrowhead_crowfoot_one:`Kragefod (én)`,arrowhead_crowfoot_one_or_many:`Kragefod (én eller mange)`,arrowhead_cardinality_one:``,arrowhead_cardinality_many:``,arrowhead_cardinality_one_or_many:``,arrowhead_cardinality_exactly_one:``,arrowhead_cardinality_zero_or_one:``,arrowhead_cardinality_zero_or_many:``,more_options:`Flere muligheder`,cardinality:``,arrowtypes:`Pile type`,arrowtype_sharp:`Skarp pil`,arrowtype_round:`Buet pil`,arrowtype_elbowed:`Albuepil`,fontSize:`Skriftstørrelse`,fontFamily:`Skrifttypefamilie`,addWatermark:`Tilføj "Lavet med Excalidraw"`,handDrawn:`Hånd-tegnet`,normal:`Normal`,code:`Kode`,small:`Lille`,medium:`Mellem`,large:`Stor`,veryLarge:`Meget stor`,solid:`Solid`,hachure:`Skravering`,zigzag:`Zigzag`,crossHatch:`Krydsskravering`,thin:`Tynd`,bold:`Fed`,left:`Venstre`,center:`Centrere`,right:`Højre`,extraBold:`Extra fed`,architect:`Arkitekt`,artist:`Kunstner`,cartoonist:`Tegneserietegner`,fileTitle:`Filnavn`,colorPicker:`Farvevælger`,canvasColors:`Brugt på lærred`,canvasBackground:`Lærredsbaggrund`,drawingCanvas:`Tegnelærred`,clearCanvas:`Ryd lærred`,layers:`Lag`,actions:`Handlinger`,language:`Sprog`,liveCollaboration:`Live samarbejde...`,duplicateSelection:`Duplikér`,untitled:`Unavngivet`,name:`Navn`,yourName:`Dit navn`,madeWithExcalidraw:`Fremstillet med Excalidraw`,group:`Gruppér valgte`,ungroup:`Afgruppér valgte`,collaborators:`Samarbejdspartnere`,you:``,toggleGrid:`Slå gitter til/fra`,addToLibrary:`Føj til bibliotek`,removeFromLibrary:`Fjern fra biblioteket`,libraryLoadingMessage:`Indlæser bibliotek…`,libraries:`Gennemse biblioteker`,loadingScene:`Indlæser scene…`,loadScene:`Indlæs scene fra fil`,align:`Justér`,alignTop:`Juster til top`,alignBottom:`Juster til bund`,alignLeft:`Venstrejusteret`,alignRight:`Højrejustér`,centerVertically:`Centrér vertikalt`,centerHorizontally:`Centrér horisontalt`,distributeHorizontally:`Distribuer vandret`,distributeVertically:`Distribuer lodret`,flipHorizontal:`Vend horisontalt`,flipVertical:`Vend vertikalt`,viewMode:`Visningstilstand`,share:`Del`,showStroke:`Vis stregfarve-vælger`,showBackground:`Vis baggrundsfarve-vælger`,showFonts:`Vis skrifttypevælger`,toggleTheme:`Slå lys/mørkt tema til/fra`,theme:`Tema`,personalLib:`Personligt bibliotek`,excalidrawLib:``,decreaseFontSize:``,increaseFontSize:``,unbindText:``,bindText:``,createContainerFromText:``,link:{edit:``,editEmbed:``,create:``,label:``,labelEmbed:``,empty:``,hint:``,goToElement:``},lineEditor:{edit:``,editArrow:``},polygon:{breakPolygon:``,convertToPolygon:``},elementLock:{lock:``,unlock:``,lockAll:``,unlockAll:``},statusPublished:``,sidebarLock:``,selectAllElementsInFrame:``,removeAllElementsFromFrame:``,eyeDropper:``,textToDiagram:``,prompt:``,followUs:``,discordChat:``,zoomToFitViewport:``,zoomToFitSelection:``,zoomToFit:``,installPWA:``,autoResize:``,imageCropping:``,unCroppedDimension:``,copyElementLink:``,linkToElement:``,wrapSelectionInFrame:``,tab:``,shapeSwitch:``,preferences:``,preferences_toolLock:``,boxSelectionMode:``,boxSelectionContain:``,boxSelectionOverlap:``,arrowBinding:``,midpointSnapping:``},t={title:``,desc:``,notFound:``},n={noItems:``,hint_emptyLibrary:``,hint_emptyPrivateLibrary:``,search:{inputPlaceholder:``,heading:``,noResults:``,clearSearch:``}},r={title:``,noMatch:``,singleResult:``,multipleResults:``,placeholder:``,frames:``,texts:``},i={clearReset:``,exportJSON:``,exportImage:``,export:``,copyToClipboard:`Kopier til klippebord`,copyLink:``,save:``,saveAs:`Gem som`,load:``,getShareableLink:`Lav et delbart link`,close:`Luk`,selectLanguage:`Vælg sprog`,scrollBackToContent:`Scroll tilbage til indhold`,zoomIn:`Zoom ind`,zoomOut:`Zoom ud`,resetZoom:`Nulstil zoom`,menu:``,done:`Færdig`,edit:`Rediger`,undo:`Fortryd`,redo:`Gendan`,resetLibrary:`Nulstil bibliotek`,createNewRoom:`Opret nyt rum`,fullScreen:`Fuld skærm`,darkMode:`Mørk tilstand`,lightMode:`Lys baggrund`,systemMode:``,zenMode:`Zentilstand`,objectsSnapMode:``,exitZenMode:`Stop zentilstand`,cancel:`Annuller`,saveLibNames:``,clear:`Ryd`,remove:`Fjern`,embed:``,publishLibrary:``,submit:`Gem`,confirm:`Bekræft`,embeddableInteractionButton:``},a={clearReset:`Dette vil rydde hele lærredet. Er du sikker?`,couldNotCreateShareableLink:`Kunne ikke oprette delbart link.`,couldNotCreateShareableLinkTooBig:`Kunne ikke oprette delbart link: scenen er for stor`,couldNotLoadInvalidFile:`Kunne ikke indlæse ugyldig fil`,importBackendFailed:`Import fra backend mislykkedes.`,cannotExportEmptyCanvas:``,couldNotCopyToClipboard:``,decryptFailed:``,uploadedSecurly:``,loadSceneOverridePrompt:``,collabStopOverridePrompt:``,errorAddingToLibrary:``,errorRemovingFromLibrary:``,confirmAddLibrary:``,imageDoesNotContainScene:``,cannotRestoreFromImage:``,invalidSceneUrl:``,resetLibrary:``,removeItemsFromsLibrary:``,invalidEncryptionKey:``,collabOfflineWarning:``,localStorageQuotaExceeded:``},o={unsupportedFileType:``,imageInsertError:``,fileTooBig:``,svgImageInsertError:``,failedToFetchImage:``,cannotResolveCollabServer:``,importLibraryError:``,saveLibraryError:``,collabSaveFailed:``,collabSaveFailed_sizeExceeded:``,imageToolNotSupported:``,brave_measure_text_error:{line1:``,line2:``,line3:``,line4:``},libraryElementTypeError:{embeddable:``,iframe:``,image:``},asyncPasteFailedOnRead:``,asyncPasteFailedOnParse:``,copyToSystemClipboardFailed:``},s={selection:``,lasso:``,image:``,rectangle:``,diamond:``,ellipse:``,arrow:``,line:``,freedraw:``,text:``,library:``,lock:``,penMode:``,link:``,eraser:``,frame:``,magicframe:``,embeddable:``,laser:``,autoshape:``,bucketfill:``,hand:``,extraTools:``,mermaidToExcalidraw:``,convertElementType:``},c={noRegion:``,tooComplex:``},l={rectangle:``,diamond:``,ellipse:``,arrow:``,line:``,freedraw:``,text:``,image:``,group:``,frame:``,magicframe:``,embeddable:``,selection:``,iframe:``},u={canvasActions:``,selectedShapeActions:``,shapes:``},d={dismissSearch:``,canvasPanning:``,linearElement:``,arrowTool:``,arrowBindModifiers:``,freeDraw:`Klik og træk, slip når du er færdig`,text:``,embeddable:``,autoshape:``,text_selected:``,text_editing:``,linearElementMulti:``,lockAngle:``,resize:``,resizeImage:``,rotate:``,toggleArrowhead:``,lineEditor_info:``,lineEditor_line_info:``,lineEditor_pointSelected:``,lineEditor_nothingSelected:``,publishLibrary:``,bindTextToElement:``,createFlowchart:``,deepBoxSelect:``,eraserRevert:``,firefox_clipboard_write:``,disableSnapping:``,enterCropEditor:``,leaveCropEditor:``},f={cannotShowPreview:``,canvasTooBig:``,canvasTooBigTip:``},p={headingMain:``,clearCanvasMessage:``,clearCanvasCaveat:``,trackedToSentry:``,openIssueMessage:`<button></button> Kopiere og indsæt venligst oplysningerne nedenfor i et GitHub problem.`,sceneContent:`Scene indhold:`},m={or:``},h={desc_intro:``,desc_privacy:``,button_startSession:``,button_stopSession:``,desc_inProgressIntro:`Live-samarbejde session er nu begyndt.`,desc_shareLink:`Del dette link med enhver, du ønsker at samarbejde med:`,desc_exitSession:``,shareTitle:``},g={title:`Fejl`},_={title:``,defaultMessage:``},v={disk_title:`Gem til disk`,disk_details:``,disk_button:``,link_title:``,link_details:``,link_button:``,excalidrawplus_description:``,excalidrawplus_button:``,excalidrawplus_exportError:``},y={blog:`Læs vores blog`,click:``,deepSelect:``,deepBoxSelect:``,createFlowchart:``,navigateFlowchart:``,curvedArrow:``,curvedLine:``,documentation:``,doubleClick:``,drag:``,editor:``,editLineArrowPoints:``,editText:``,github:``,howto:``,or:``,preventBinding:``,tools:``,shortcuts:``,textFinish:``,textNewLine:``,title:``,view:``,zoomToFit:``,zoomToSelection:``,toggleElementLock:``,movePageUpDown:``,movePageLeftRight:``,cropStart:``,cropFinish:``},b={title:``},x={title:``,itemName:``,authorName:``,githubUsername:``,twitterUsername:``,libraryName:``,libraryDesc:``,website:``,placeholder:{authorName:``,libraryName:``,libraryDesc:``,githubHandle:``,twitterHandle:``,website:``},errors:{required:``,website:``},noteDescription:``,noteGuidelines:``,noteLicense:``,noteItems:``,atleastOneLibItem:``,republishWarning:``},S={title:``,content:``},C={resetLibrary:``,removeItemsFromLib:``},w={header:``,label:{withBackground:``,onlySelected:``,darkMode:``,embedScene:``,scale:``,padding:``},tooltip:{embedScene:``},title:{exportToPng:``,exportToSvg:``,copyPngToClipboard:``},button:{exportToPng:``,exportToSvg:``,copyPngToClipboard:``}},T={tooltip:``,link:``},E={angle:``,shapes:``,height:``,scene:``,selected:``,storage:``,fullTitle:``,title:``,generalStats:``,elementProperties:``,total:``,version:``,versionCopy:`Klik for at kopiere`,versionNotAvailable:``,width:`Bredde`},D={addedToLibrary:``,copyStyles:`Kopieret stilarter.`,copyToClipboard:`Kopieret til klippebord.`,copyToClipboardAsPng:`Kopieret {{exportSelection}} til klippebord som PNG
2
+ ({{exportColorScheme}})`,copyToClipboardAsSvg:``,fileSaved:`Fil gemt.`,fileSavedToFilename:`Gemt som {filename}`,canvas:``,selection:`markering`,pasteAsSingleElement:``,unableToEmbed:``,unrecognizedLinkFormat:``,elementLinkCopied:``},O={transparent:``,black:``,white:``,red:``,pink:``,grape:``,violet:``,gray:``,blue:``,cyan:``,teal:``,green:``,yellow:``,orange:``,bronze:``},k={app:{center_heading:``,center_heading_line2:``,center_heading_line3:``,center_heading_plus:``,menuHint:``},defaults:{menuHint:``,center_heading:``,toolbarHint:``,helpHint:``}},A={color:``,mostUsedCustomColors:``,colors:``,shades:``,hexCode:``,noShades:``,invalidColor:``,invalidHexLength:``,topPicksTip:``,resetTopPicks:``},j={action:{exportToImage:{title:``,button:``,description:``},saveToDisk:{title:``,button:``,description:``},excalidrawPlus:{title:``,button:``,description:``}},modal:{loadFromFile:{title:``,button:``,description:``},shareableLink:{title:``,button:``,description:``}}},M={title:``,button:``,description:``,syntax:``,preview:``,label:``,inputPlaceholder:``,autoFixAvailable:``},N={error:``},P={inputPlaceholder:``,inputPlaceholderWithMessages:``,generating:``,rateLimitRemaining:``,role:{user:``,assistant:``,system:``},aiBeta:``,label:``,menu:``,newChat:``,deleteChat:``,deleteMessage:``,viewAsMermaid:``,placeholder:{title:``,description:``,hint:``},preview:``,insert:``,retry:``,errors:{promptTooShort:``,promptTooLong:``,generationFailed:``,invalidDiagram:``,fixInMermaid:``,aiRepair:``,requestAborted:``,requestFailed:``,mermaidParseError:``},rateLimit:{messageLimit:``,generalRateLimit:``,messageLimitInputPlaceholder:``},upsellBtnLabel:``},F={placeholder:``},I={badge:{old:``},sceneFonts:``,availableFonts:``,empty:``},L={empty:``,hint:{text:``,followStatus:``,inCall:``,micMuted:``,isSpeaking:``}},R={title:``,shortcuts:{select:``,confirm:``,close:``},recents:``,search:{placeholder:``,noMatch:``},itemNotAvailable:``,shortcutHint:``},z={ctrl:``,option:``,cmd:``,alt:``,escape:``,enter:``,shift:``,spacebar:``,delete:``,mmb:``},B={labels:e,elementLink:t,library:n,search:r,buttons:i,alerts:a,errors:o,toolBar:s,bucketfill:c,element:l,headings:u,hints:d,canvasError:f,errorSplash:p,shareDialog:m,roomDialog:h,errorDialog:g,progressDialog:_,exportDialog:v,helpDialog:y,clearCanvasDialog:b,publishDialog:x,publishSuccessDialog:S,confirmDialog:C,imageExportDialog:w,encrypted:T,stats:E,toast:D,colors:O,welcomeScreen:k,colorPicker:A,overwriteConfirm:j,mermaid:M,ttd:N,chat:P,quickSearch:F,fontList:I,userList:L,commandPalette:R,keys:z};export{a as alerts,c as bucketfill,i as buttons,f as canvasError,P as chat,b as clearCanvasDialog,A as colorPicker,O as colors,R as commandPalette,C as confirmDialog,B as default,l as element,t as elementLink,T as encrypted,g as errorDialog,p as errorSplash,o as errors,v as exportDialog,I as fontList,u as headings,y as helpDialog,d as hints,w as imageExportDialog,z as keys,e as labels,n as library,M as mermaid,j as overwriteConfirm,_ as progressDialog,x as publishDialog,S as publishSuccessDialog,F as quickSearch,h as roomDialog,r as search,m as shareDialog,E as stats,D as toast,s as toolBar,N as ttd,L as userList,k as welcomeScreen};
@@ -0,0 +1,4 @@
1
+ import{t as e}from"./dagre-D7FiCLLP.js";import{t}from"./graphlib-C9Tl7QrK.js";import{n}from"./chunk-Y2CYZVJY-BbRBGnmc.js";import{t as r}from"./chunk-X3CZISLH-DwWpRaN8.js";import{x as i}from"./chunk-O7XYJQB3-D0_ZY2za.js";import"./chunk-742MDFTN-D1nh6vNv.js";import"./chunk-ZIGJFQKS-b8OUHKK5.js";import"./chunk-MBY4JIJT-DTJ4UcAm.js";import"./chunk-7PRAP22T-9uTvtc_-.js";import{c as a}from"./chunk-7INBJB4K-CDmiHbaX.js";import{a as o,i as s,n as c}from"./chunk-5DYCD2WN-BKWCKnK-.js";import{a as l,i as u,l as d}from"./chunk-Z7XXMR3K-P4Vaq8hD.js";import{r as f}from"./chunk-UA2S7LBM-DicYDjDM.js";import{c as p,i as m,n as h,o as g,r as _,s as v,t as y}from"./chunk-3FUC2YCW-8tZlhTGX.js";var b=n((e,t,n)=>Math.max(t,Math.min(n,e)),`clamp`),x=n((e=`TB`)=>{switch(e){case`BT`:return`bottom`;case`LR`:return`right`;case`RL`:return`left`;default:return`top`}},`getDefaultSelfLoopSide`),S=n(e=>e===`flowchart`||e===`flowchart-v2`||e===`stateDiagram`||e===`er`||e===`classDiagram`,`shouldMergeSelfLoopSegments`),C=[`x`,`y`,`width`,`height`,`labelBBox`,`intersect`,`calcIntersect`,`diff`,`clusterNode`],w=n((e,t,n,r,i)=>{let a=[],o=new Set;if(n.forEach(({start:e,end:t})=>{e!==r&&o.add(e),t!==r&&o.add(t)}),o.forEach(t=>{let n=e.node(t);typeof n?.x==`number`&&typeof n?.y==`number`&&a.push(n)}),a.length===0&&n.forEach(({edge:e})=>{(e.points??[]).forEach(e=>{typeof e?.x==`number`&&typeof e?.y==`number`&&a.push(e)})}),a.length===0)return x(i);let s=a.reduce((e,t)=>({x:e.x+t.x/a.length,y:e.y+t.y/a.length}),{x:0,y:0}),c=s.x-t.x,l=s.y-t.y;return Math.abs(c)>Math.abs(l)?c>0?`right`:`left`:Math.abs(l)>0?l>0?`bottom`:`top`:x(i)},`getSelfLoopSide`),T=n((e,t=`top`,n=0,r=0)=>{let i=e.x,a=e.y-n,o=e.width/2,s=e.height/2,c=Math.max(36,Math.min(100,e.width*.8)),l=b(Math.max(r,e.width*.35),36,c),u=b(Math.min(e.width,e.height)*.45,24,48);switch(t){case`bottom`:{let e=a+s;return[{x:i-l/2,y:e},{x:i-l/2,y:e+u},{x:i+l/2,y:e+u},{x:i+l/2,y:e}]}case`right`:{let e=i+o;return[{x:e,y:a-l/2},{x:e+u,y:a-l/2},{x:e+u,y:a+l/2},{x:e,y:a+l/2}]}case`left`:{let e=i-o;return[{x:e,y:a-l/2},{x:e-u,y:a-l/2},{x:e-u,y:a+l/2},{x:e,y:a+l/2}]}default:{let e=a-s;return[{x:i-l/2,y:e},{x:i-l/2,y:e-u},{x:i+l/2,y:e-u},{x:i+l/2,y:e}]}}},`getSelfLoopPoints`),E=n((e,t,n=`top`,r=0,i={})=>{let a=e.x,o=e.y-r,s=i.width??0,c=i.height??0;switch(n){case`bottom`:return{x:a,y:Math.max(...t.map(e=>e.y))+c/2+4};case`right`:return{x:Math.max(...t.map(e=>e.x))+s/2+4,y:o};case`left`:return{x:Math.min(...t.map(e=>e.x))-s/2-4,y:o};default:return{x:a,y:Math.min(...t.map(e=>e.y))-c/2-4}}},`getSelfLoopLabelPosition`),D=n((e,t=0,{mergeSelfLoops:n=!0}={})=>{let r=new Map,i=[],a=e.graph()?.rankdir;return e.edges().forEach(t=>{let a=e.edge(t);if(n&&a.selfLoop){let e=a.selfLoop.id;r.has(e)||r.set(e,[]),r.get(e).push({edge:a,start:t.v,end:t.w})}else i.push({edge:a,start:t.v,end:t.w})}),r.forEach(n=>{if(n.length!==3){n.forEach(e=>i.push(e));return}n.sort((e,t)=>e.edge.selfLoop.order-t.edge.selfLoop.order);let[r,o,s]=n,c=r.edge.originalEdge??o.edge.originalEdge??s.edge.originalEdge??o.edge,l=e.node(c.start);if(!l){n.forEach(e=>i.push(e));return}let u={width:o.edge.width,height:o.edge.height},d=w(e,l,n,c.start,a),f=T(l,d,t,u.width??0),p=E(l,f,d,t,u),m={...o.edge,...c,id:c.id,points:f,start:c.start,end:c.end,x:p.x,y:p.y,width:u.width,height:u.height,labelStyle:o.edge.labelStyle,fromCluster:r.edge.fromCluster??o.edge.fromCluster??s.edge.fromCluster,toCluster:r.edge.toCluster??o.edge.toCluster??s.edge.toCluster};delete m.selfLoop,delete m.originalEdge,i.push({edge:m,start:m.start,end:m.end})}),i},`getEdgesToRender`),O=n(async({element:e,graph:t,diagramType:i,id:s,parentCluster:u,siteConfig:d})=>{let f=t.graph().rankdir;r.trace(`Dir in recursive render - dir:`,f);let{clusters:p,edgePaths:_,edgeLabels:y,nodes:b,rootGroups:x}=m(e,{edgePathsClass:`edgePaths`});t.nodes()?r.info(`Recursive render XXX`,t.nodes()):r.info(`No nodes found for`,t),t.edges().length>0&&r.info(`Recursive edges`,t.edge(t.edges()[0]));let C=S(i);await Promise.all(t.nodes().map(async function(e){let n=t.node(e);if(u!==void 0){let n=JSON.parse(JSON.stringify(u.clusterData));r.trace(`Setting data for parent cluster XXX
2
+ Node.id = `,e,`
3
+ data=`,n.height,`
4
+ Parent cluster`,u.height),t.setNode(u.id,n),t.parent(e)||(r.trace(`Setting parent`,e,u.id),t.setParent(e,u.id,n))}if(r.info(`(Insert) Node XXX`+e+`: `+JSON.stringify(t.node(e))),n?.clusterNode){r.info(`Cluster identified XBX`,e,n.width,t.node(e));let{ranksep:c,nodesep:l}=t.graph();n.graph.setGraph({...n.graph.graph(),ranksep:c+25,nodesep:l});let u=await F({element:b,graph:n.graph,diagramType:i,id:s,parentCluster:t.node(e),siteConfig:d}),f=u.elem;a(n,f),n.diff=u.diff||0,r.info(`New compound node after recursive render XAX`,e,`width`,n.width,`height`,n.height),o(f,n)}else t.children(e).length>0?(r.trace(`Cluster - the non recursive path XBX`,e,n.id,n,n.width,`Graph:`,t),r.trace(g(n.id,t)),h.set(n.id,{id:g(n.id,t),node:n})):(r.trace(`Node - the non recursive path XAX`,e,b,t.node(e),f),await v(b,t.node(e),{config:d,dir:f}))})),await n(async()=>{let e=t.edges().map(async function(e){let n=t.edge(e.v,e.w,e.name);if(r.info(`Edge `+e.v+` -> `+e.w+`: `+JSON.stringify(e)),r.info(`Edge `+e.v+` -> `+e.w+`: `,e,` `,JSON.stringify(t.edge(e))),r.info(`Fix`,h,`ids:`,e.v,e.w,`Translating: `,h.get(e.v),h.get(e.w)),C&&n.selfLoop){if(n.selfLoop.order!==1)return;let e={...n.originalEdge,...n,id:n.selfLoop.id,startLabelLeft:n.originalEdge?.startLabelLeft??n.startLabelLeft,startLabelRight:n.originalEdge?.startLabelRight??n.startLabelRight,endLabelLeft:n.originalEdge?.endLabelLeft??n.endLabelLeft,endLabelRight:n.originalEdge?.endLabelRight??n.endLabelRight};await l(y,e),n.width=e.width,n.height=e.height,n.labelStyle=e.labelStyle;return}await l(y,n)});await Promise.all(e)},`processEdges`)();let{subGraphTitleTotalMargin:w}=c(d);return{elem:x,graph:t,groups:{clusters:p,edgePaths:_,edgeLabels:y,nodes:b,rootGroups:x},diagramType:i,id:s,mergeSelfLoops:C,subGraphTitleTotalMargin:w}},`measureDagreGraph`),k=n(t=>{r.info(`############################################# XXX`),r.info(`### Layout ### XXX`),r.info(`############################################# XXX`),e(t)},`runDagreGraphLayout`),A=n((e,t,n)=>{let r=e.node(t);if(!r)return;let i={...r};return r?.clusterNode?i.y=(r.y??0)+n:e.children(t).length>0?i.height=(r.height??0)+n:i.y=(r.y??0)+n/2,i},`normalizeDagreNode`),j=n((e,t)=>{C.forEach(n=>{t[n]!==void 0&&(e[n]=t[n])})},`applyDagreNodeLayout`),M=n((e,t,n,r)=>({...e,start:e.start??t,end:e.end??n,points:(e.points??[]).map(e=>({...e,y:typeof e.y==`number`?e.y+r:e.y}))}),`normalizeDagreEdge`),N=n((e,t)=>{let{graph:n,mergeSelfLoops:r,subGraphTitleTotalMargin:i=0}=t,a=new Map(e.nodes.map(e=>[e.id,e]));p(n).forEach(e=>{let t=A(n,e,i);if(!t)return;j(n.node(e),t);let r=a.get(e);r&&j(r,t)});let o=i/2;return e.edges=D(n,o,{mergeSelfLoops:r}).map(({edge:e,start:t,end:n})=>M(e,t,n,o)),e},`applyDagreLayoutResult`),P=n(async({elem:e,graph:t,groups:{clusters:n,edgePaths:i},diagramType:a,id:o,mergeSelfLoops:c,subGraphTitleTotalMargin:l})=>{let m=0;await Promise.all(p(t).map(async function(e){let i=t.node(e);if(r.info(`Position XBX => `+e+`: (`+i.x,`,`+i.y,`) width: `,i.width,` height: `,i.height),i?.clusterNode)i.y+=l,r.info(`A tainted cluster node XBX1`,e,i.id,i.width,i.height,i.x,i.y,t.parent(e)),h.get(i.id).node=i,s(i);else if(t.children(e).length>0){r.info(`A pure cluster node XBX1`,e,i.id,i.x,i.y,i.width,i.height,t.parent(e)),i.height+=l,t.node(i.parentId);let a=i?.padding/2||0,o=i?.labelBBox?.height||0,s=o-a||0;r.debug(`OffsetY`,s,`labelHeight`,o,`halfPadding`,a),await f(n,i),h.get(i.id).node=i}else{let e=t.node(i.parentId);i.y+=l/2,r.info(`A regular node XBX1 - using the padding`,i.id,`parent`,i.parentId,i.width,i.height,i.x,i.y,`offsetY`,i.offsetY,`parent`,e,e?.offsetY,i),s(i)}}));let g=l/2;return D(t,g,{mergeSelfLoops:c}).forEach(function({edge:e,start:n,end:s}){r.info(`Edge `+n+` -> `+s+`: `+JSON.stringify(e),e),e.points.forEach(e=>e.y+=g);let c=t.node(n),l=t.node(s),f=u(i,e,h,a,c,l,o);d(e,f)}),t.nodes().forEach(function(e){let n=t.node(e);r.info(e,n.type,n.diff),n.isGroup&&(m=n.diff)}),r.warn(`Returning from recursive render XAX`,e,m),{elem:e,diff:m}},`paintDagreLayoutCore`),F=n(async e=>{let t=await O(e);return k(t.graph),await P(t)},`renderDagreSubgraph`),I=n(e=>{let n=new t({multigraph:!0,compound:!0}).setGraph({rankdir:e.direction,nodesep:e.config?.nodeSpacing||e.nodeSpacing||e.config?.flowchart?.nodeSpacing,ranksep:e.config?.rankSpacing||e.rankSpacing||e.config?.flowchart?.rankSpacing,marginx:8,marginy:8}).setDefaultEdgeLabel(function(){return{}});return e.nodes.forEach(e=>{n.setNode(e.id,{...e}),e.parentId&&n.setParent(e.id,e.parentId)}),r.debug(`Edges:`,e.edges),e.edges.forEach(e=>{if(e.start===e.end){let t=e.start,r=t+`---`+t+`---1`,i=t+`---`+t+`---2`,a=n.node(t);n.setNode(r,{domId:r,id:r,parentId:a.parentId,labelStyle:``,label:``,padding:0,shape:`labelRect`,style:``,width:10,height:10}),n.setParent(r,a.parentId),n.setNode(i,{domId:i,id:i,parentId:a.parentId,labelStyle:``,padding:0,shape:`labelRect`,label:``,style:``,width:10,height:10}),n.setParent(i,a.parentId);let o=structuredClone(e),s=structuredClone(e),c=structuredClone(e),l=structuredClone(e);s.originalEdge=o,s.selfLoop={id:o.id,order:0},c.originalEdge=o,c.selfLoop={id:o.id,order:1},l.originalEdge=o,l.selfLoop={id:o.id,order:2},s.label=``,s.arrowTypeEnd=`none`,s.endLabelLeft=``,s.endLabelRight=``,s.startLabelLeft=``,s.id=t+`-cyclic-special-1`,c.startLabelRight=``,c.startLabelLeft=``,c.endLabelLeft=``,c.endLabelRight=``,c.arrowTypeStart=`none`,c.arrowTypeEnd=`none`,c.id=t+`-cyclic-special-mid`,l.label=``,l.startLabelRight=``,l.startLabelLeft=``,l.arrowTypeStart=`none`,a.isGroup&&(s.fromCluster=t,l.toCluster=t),l.id=t+`-cyclic-special-2`,l.arrowTypeStart=`none`,n.setEdge(t,r,s,t+`-cyclic-special-0`),n.setEdge(r,i,c,t+`-cyclic-special-1`),n.setEdge(i,t,l,t+`-cyclic-special-2`)}else n.setEdge(e.start,e.end,{...e},e.id)}),y(n),{graph:n}},`prepareLayoutForDagre`),L=n(async(e,{element:t,preparedLayout:n})=>{let r=n??I(e),a=i(),o=await O({element:t,graph:r.graph,diagramType:e.type,id:e.diagramId,parentCluster:void 0,siteConfig:a});return r.measuredLayout=o,o},`measureDagreLayout`),R=n((e,t)=>{let n=t.preparedLayout?.measuredLayout;if(!n)throw Error(`runDagreLayoutCore requires measureDagreLayout to run first`);return k(n.graph),N(e,n),n},`runDagreLayoutCore`),z=_({prepareLayout:I,measureLayout:L,runLayoutCore:R,paintOptions:{clusterDb:h,getNodes:n((e,{measure:t})=>p(t.graph).map(e=>t.graph.node(e)).filter(Boolean),`getDagrePaintNodes`),getEdgeNode:n((e,t,{measure:n})=>e?n.graph.node(e):void 0,`getDagreEdgeNode`),skipNode:n((e,{measure:t})=>!t.graph.hasNode(e.id),`skipNode`),isCluster:n((e,{measure:t})=>t.graph.hasNode(e.id)&&(t.graph.children(e.id)??[]).length>0,`isCluster`)}});export{N as applyDagreLayoutResult,D as getEdgesToRender,L as measureDagreLayout,I as prepareLayoutForDagre,z as render,R as runDagreLayoutCore};
@@ -0,0 +1 @@
1
+ import{A as e,B as t,C as n,F as r,H as i,J as a,K as o,L as s,M as c,U as l,W as u,Y as d,_ as f,a as p,at as m,c as h,ct as g,d as ee,dt as _,ft as v,g as y,h as b,k as te,l as ne,lt as x,m as re,mt as ie,n as S,o as C,ot as ae,p as oe,q as se,r as w,rt as T,st as ce,tt as le,ut as E}from"./_baseUniq-DR4vVjyC.js";import{S as ue,_ as de,a as fe,b as pe,c as me,d as he,g as D,h as O,i as k,l as ge,m as _e,n as ve,o as A,p as ye,r as be,s as j,t as xe,u as Se,v as M,w as Ce,x as we,y as Te}from"./_basePickBy-QJXUw_pr.js";import{t as N}from"./graphlib-C9Tl7QrK.js";function Ee(e){return le(a(e,void 0,O),e+``)}var De=`[object Object]`,Oe=Function.prototype,ke=Object.prototype,Ae=Oe.toString,je=ke.hasOwnProperty,Me=Ae.call(Object);function Ne(e){if(!_(e)||v(e)!=De)return!1;var t=_e(e);if(t===null)return!0;var n=je.call(t,`constructor`)&&t.constructor;return typeof n==`function`&&n instanceof n&&Ae.call(n)==Me}var Pe=RegExp(`[\\u200d\\ud800-\\udfff\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff\\ufe0e\\ufe0f]`);function Fe(e){return Pe.test(e)}var Ie=1,Le=4;function Re(e){return ge(e,Ie|Le)}var ze=function(){return ie.Date.now()};function Be(e,t,n){(n!==void 0&&!d(e[t],n)||n===void 0&&!(t in e))&&we(e,t,n)}function Ve(e,t){if((t!==`constructor`||typeof e[t]!=`function`)&&t!=`__proto__`)return e[t]}function He(e){return Te(e,D(e))}function Ue(e,n,r,i,a,o,s){var c=Ve(e,r),d=Ve(n,r),f=s.get(d);if(f){Be(e,r,f);return}var p=o?o(c,d,r+``,e,n,s):void 0,h=p===void 0;if(h){var _=g(d),v=!_&&l(d),y=!_&&!v&&t(d);p=d,_||v||y?g(c)?p=c:ee(c)?p=ue(c):v?(h=!1,p=ye(d,!0)):y?(h=!1,p=he(d,!0)):p=[]:Ne(d)||u(d)?(p=c,u(c)?p=He(c):(!ce(c)||m(c))&&(p=Se(d))):h=!1}h&&(s.set(d,p),a(p,d,i,o,s),s.delete(d)),Be(e,r,p)}function We(e,t,n,r,i){e!==t&&re(t,function(a,o){if(i||=new te,ce(a))Ue(e,t,o,n,We,r,i);else{var s=r?r(Ve(e,o),a,o+``,e,t,i):void 0;s===void 0&&(s=a),Be(e,o,s)}},D)}function Ge(e,t){return e==null?e:re(e,ne(t),D)}function Ke(e,t){return e&&oe(e,ne(t))}function qe(e,t){return e>t}function Je(e,t){return e<t}function P(e,t){var n={};return t=b(t,3),oe(e,function(e,r,i){we(n,r,t(e,r,i))}),n}function F(e,t,n){for(var r=-1,i=e.length;++r<i;){var a=e[r],o=t(a);if(o!=null&&(s===void 0?o===o&&!E(o):n(o,s)))var s=o,c=a}return c}function I(e){return e&&e.length?F(e,ae,qe):void 0}var L=de(function(e,t,n){We(e,t,n)});function R(e){return e&&e.length?F(e,ae,Je):void 0}function z(e,t){return e&&e.length?F(e,b(t,2),Je):void 0}function Ye(e,t){var n=e.length;for(e.sort(t);n--;)e[n]=e[n].value;return e}function Xe(e,t){if(e!==t){var n=e!==void 0,r=e===null,i=e===e,a=E(e),o=t!==void 0,s=t===null,c=t===t,l=E(t);if(!s&&!l&&!a&&e>t||a&&o&&c&&!s&&!l||r&&o&&c||!n&&c||!i)return 1;if(!r&&!a&&!l&&e<t||l&&n&&i&&!r&&!a||s&&n&&i||!o&&i||!c)return-1}return 0}function Ze(e,t,n){for(var r=-1,i=e.criteria,a=t.criteria,o=i.length,s=n.length;++r<o;){var c=Xe(i[r],a[r]);if(c)return r>=s?c:c*(n[r]==`desc`?-1:1)}return e.index-t.index}function Qe(e,t,n){t=t.length?x(t,function(e){return g(e)?function(t){return c(t,e.length===1?e[0]:e)}:e}):[ae];var r=-1;return t=x(t,i(b)),Ye(fe(e,function(e,n,i){return{criteria:x(t,function(t){return t(e)}),index:++r,value:e}}),function(e,t){return Ze(e,t,n)})}var $e=y(`length`),et=`\\ud800-\\udfff`,tt=`\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff`,nt=`\\ufe0e\\ufe0f`,rt=`[`+et+`]`,B=`[`+tt+`]`,V=`\\ud83c[\\udffb-\\udfff]`,it=`(?:`+B+`|`+V+`)`,at=`[^`+et+`]`,ot=`(?:\\ud83c[\\udde6-\\uddff]){2}`,st=`[\\ud800-\\udbff][\\udc00-\\udfff]`,ct=`\\u200d`,lt=it+`?`,ut=`[`+nt+`]?`,dt=`(?:`+ct+`(?:`+[at,ot,st].join(`|`)+`)`+ut+lt+`)*`,ft=ut+lt+dt,pt=`(?:`+[at+B+`?`,B,ot,st,rt].join(`|`)+`)`,mt=RegExp(V+`(?=`+V+`)|`+pt+ft,`g`);function ht(e){for(var t=mt.lastIndex=0;mt.test(e);)++t;return t}function gt(e){return Fe(e)?ht(e):$e(e)}function _t(e,t){return xe(e,t,function(t,n){return f(e,n)})}var H=Ee(function(e,t){return e==null?{}:_t(e,t)}),vt=Math.ceil,yt=Math.max;function bt(e,t,n,r){for(var i=-1,a=yt(vt((t-e)/(n||1)),0),o=Array(a);a--;)o[r?a:++i]=e,e+=n;return o}function xt(e){return function(t,n,r){return r&&typeof r!=`number`&&M(t,n,r)&&(n=r=void 0),t=Ce(t),n===void 0?(n=t,t=0):n=Ce(n),r=r===void 0?t<n?1:-1:Ce(r),bt(t,n,r,e)}}var U=xt(),St=`[object Map]`,Ct=`[object Set]`;function wt(e){if(e==null)return 0;if(o(e))return ve(e)?gt(e):e.length;var t=n(e);return t==St||t==Ct?e.size:s(e).length}var W=se(function(t,n){if(t==null)return[];var r=n.length;return r>1&&M(t,n[0],n[1])?n=[]:r>2&&M(n[0],n[1],n[2])&&(n=[n[0]]),Qe(t,e(n,1),[])}),Tt=0;function G(e){var t=++Tt;return r(e)+t}function Et(e,t,n){for(var r=-1,i=e.length,a=t.length,o={};++r<i;){var s=r<a?t[r]:void 0;n(o,e[r],s)}return o}function Dt(e,t){return Et(e||[],t||[],pe)}var Ot=class{constructor(){var e={};e._next=e._prev=e,this._sentinel=e}dequeue(){var e=this._sentinel,t=e._prev;if(t!==e)return kt(t),t}enqueue(e){var t=this._sentinel;e._prev&&e._next&&kt(e),e._next=t._next,t._next._prev=e,t._next=e,e._prev=t}toString(){for(var e=[],t=this._sentinel,n=t._prev;n!==t;)e.push(JSON.stringify(n,At)),n=n._prev;return`[`+e.join(`, `)+`]`}};function kt(e){e._prev._next=e._next,e._next._prev=e._prev,delete e._next,delete e._prev}function At(e,t){if(e!==`_next`&&e!==`_prev`)return t}var jt=T(1);function Mt(e,t){if(e.nodeCount()<=1)return[];var n=Pt(e,t||jt),r=Nt(n.graph,n.buckets,n.zeroIdx);return O(k(r,function(t){return e.outEdges(t.v,t.w)}))}function Nt(e,t,n){for(var r=[],i=t[t.length-1],a=t[0],o;e.nodeCount();){for(;o=a.dequeue();)K(e,t,n,o);for(;o=i.dequeue();)K(e,t,n,o);if(e.nodeCount()){for(var s=t.length-2;s>0;--s)if(o=t[s].dequeue(),o){r=r.concat(K(e,t,n,o,!0));break}}}return r}function K(e,t,n,r,i){var a=i?[]:void 0;return h(e.inEdges(r.v),function(r){var o=e.edge(r),s=e.node(r.v);i&&a.push({v:r.v,w:r.w}),s.out-=o,q(t,n,s)}),h(e.outEdges(r.v),function(r){var i=e.edge(r),a=r.w,o=e.node(a);o.in-=i,q(t,n,o)}),e.removeNode(r.v),a}function Pt(e,t){var n=new N,r=0,i=0;h(e.nodes(),function(e){n.setNode(e,{v:e,in:0,out:0})}),h(e.edges(),function(e){var a=n.edge(e.v,e.w)||0,o=t(e),s=a+o;n.setEdge(e.v,e.w,s),i=Math.max(i,n.node(e.v).out+=o),r=Math.max(r,n.node(e.w).in+=o)});var a=U(i+r+3).map(function(){return new Ot}),o=r+1;return h(n.nodes(),function(e){q(a,o,n.node(e))}),{graph:n,buckets:a,zeroIdx:o}}function q(e,t,n){n.out?n.in?e[n.out-n.in+t].enqueue(n):e[e.length-1].enqueue(n):e[0].enqueue(n)}function Ft(e){var t=e.graph().acyclicer===`greedy`?Mt(e,n(e)):It(e);h(t,function(t){var n=e.edge(t);e.removeEdge(t),n.forwardName=t.name,n.reversed=!0,e.setEdge(t.w,t.v,n,G(`rev`))});function n(e){return function(t){return e.edge(t).weight}}}function It(e){var t=[],n={},r={};function i(a){Object.prototype.hasOwnProperty.call(r,a)||(r[a]=!0,n[a]=!0,h(e.outEdges(a),function(e){Object.prototype.hasOwnProperty.call(n,e.w)?t.push(e):i(e.w)}),delete n[a])}return h(e.nodes(),i),t}function Lt(e){h(e.edges(),function(t){var n=e.edge(t);if(n.reversed){e.removeEdge(t);var r=n.forwardName;delete n.reversed,delete n.forwardName,e.setEdge(t.w,t.v,n,r)}})}function J(e,t,n,r){var i;do i=G(r);while(e.hasNode(i));return n.dummy=t,e.setNode(i,n),i}function Rt(e){var t=new N().setGraph(e.graph());return h(e.nodes(),function(n){t.setNode(n,e.node(n))}),h(e.edges(),function(n){var r=t.edge(n.v,n.w)||{weight:0,minlen:1},i=e.edge(n);t.setEdge(n.v,n.w,{weight:r.weight+i.weight,minlen:Math.max(r.minlen,i.minlen)})}),t}function zt(e){var t=new N({multigraph:e.isMultigraph()}).setGraph(e.graph());return h(e.nodes(),function(n){e.children(n).length||t.setNode(n,e.node(n))}),h(e.edges(),function(n){t.setEdge(n,e.edge(n))}),t}function Bt(e,t){var n=e.x,r=e.y,i=t.x-n,a=t.y-r,o=e.width/2,s=e.height/2;if(!i&&!a)throw Error(`Not possible to find intersection inside of the rectangle`);var c,l;return Math.abs(a)*o>Math.abs(i)*s?(a<0&&(s=-s),c=s*i/a,l=s):(i<0&&(o=-o),c=o,l=o*a/i),{x:n+c,y:r+l}}function Y(e){var t=k(U(Wt(e)+1),function(){return[]});return h(e.nodes(),function(n){var r=e.node(n),i=r.rank;w(i)||(t[i][r.order]=n)}),t}function Vt(e){var t=R(k(e.nodes(),function(t){return e.node(t).rank}));h(e.nodes(),function(n){var r=e.node(n);be(r,`rank`)&&(r.rank-=t)})}function Ht(e){var t=R(k(e.nodes(),function(t){return e.node(t).rank})),n=[];h(e.nodes(),function(r){var i=e.node(r).rank-t;n[i]||(n[i]=[]),n[i].push(r)});var r=0,i=e.graph().nodeRankFactor;h(n,function(t,n){w(t)&&n%i!==0?--r:r&&h(t,function(t){e.node(t).rank+=r})})}function Ut(e,t,n,r){var i={width:0,height:0};return arguments.length>=4&&(i.rank=n,i.order=r),J(e,`border`,i,t)}function Wt(e){return I(k(e.nodes(),function(t){var n=e.node(t).rank;if(!w(n))return n}))}function Gt(e,t){var n={lhs:[],rhs:[]};return h(e,function(e){t(e)?n.lhs.push(e):n.rhs.push(e)}),n}function Kt(e,t){var n=ze();try{return t()}finally{console.log(e+` time: `+(ze()-n)+`ms`)}}function qt(e,t){return t()}function Jt(e){function t(n){var r=e.children(n),i=e.node(n);if(r.length&&h(r,t),Object.prototype.hasOwnProperty.call(i,`minRank`)){i.borderLeft=[],i.borderRight=[];for(var a=i.minRank,o=i.maxRank+1;a<o;++a)Yt(e,`borderLeft`,`_bl`,n,i,a),Yt(e,`borderRight`,`_br`,n,i,a)}}h(e.children(),t)}function Yt(e,t,n,r,i,a){var o={width:0,height:0,rank:a,borderType:t},s=i[t][a-1],c=J(e,`border`,o,n);i[t][a]=c,e.setParent(c,r),s&&e.setEdge(s,c,{weight:1})}function Xt(e){var t=e.graph().rankdir.toLowerCase();(t===`lr`||t===`rl`)&&Qt(e)}function Zt(e){var t=e.graph().rankdir.toLowerCase();(t===`bt`||t===`rl`)&&en(e),(t===`lr`||t===`rl`)&&(nn(e),Qt(e))}function Qt(e){h(e.nodes(),function(t){$t(e.node(t))}),h(e.edges(),function(t){$t(e.edge(t))})}function $t(e){var t=e.width;e.width=e.height,e.height=t}function en(e){h(e.nodes(),function(t){tn(e.node(t))}),h(e.edges(),function(t){var n=e.edge(t);h(n.points,tn),Object.prototype.hasOwnProperty.call(n,`y`)&&tn(n)})}function tn(e){e.y=-e.y}function nn(e){h(e.nodes(),function(t){rn(e.node(t))}),h(e.edges(),function(t){var n=e.edge(t);h(n.points,rn),Object.prototype.hasOwnProperty.call(n,`x`)&&rn(n)})}function rn(e){var t=e.x;e.x=e.y,e.y=t}function an(e){e.graph().dummyChains=[],h(e.edges(),function(t){on(e,t)})}function on(e,t){var n=t.v,r=e.node(n).rank,i=t.w,a=e.node(i).rank,o=t.name,s=e.edge(t),c=s.labelRank;if(a!==r+1){e.removeEdge(t);var l=void 0,u,d=0;for(++r;r<a;++d,++r)s.points=[],l={width:0,height:0,edgeLabel:s,edgeObj:t,rank:r},u=J(e,`edge`,l,`_d`),r===c&&(l.width=s.width,l.height=s.height,l.dummy=`edge-label`,l.labelpos=s.labelpos),e.setEdge(n,u,{weight:s.weight},o),d===0&&e.graph().dummyChains.push(u),n=u;e.setEdge(n,i,{weight:s.weight},o)}}function sn(e){h(e.graph().dummyChains,function(t){var n=e.node(t),r=n.edgeLabel,i;for(e.setEdge(n.edgeObj,r);n.dummy;)i=e.successors(t)[0],e.removeNode(t),r.points.push({x:n.x,y:n.y}),n.dummy===`edge-label`&&(r.x=n.x,r.y=n.y,r.width=n.width,r.height=n.height),t=i,n=e.node(t)})}function cn(e){var t={};function n(r){var i=e.node(r);if(Object.prototype.hasOwnProperty.call(t,r))return i.rank;t[r]=!0;var a=R(k(e.outEdges(r),function(t){return n(t.w)-e.edge(t).minlen}));return(a===1/0||a==null)&&(a=0),i.rank=a}h(e.sources(),n)}function X(e,t){return e.node(t.w).rank-e.node(t.v).rank-e.edge(t).minlen}function ln(e){var t=new N({directed:!1}),n=e.nodes()[0],r=e.nodeCount();t.setNode(n,{});for(var i,a;un(t,e)<r;)i=dn(t,e),a=t.hasNode(i.v)?X(e,i):-X(e,i),fn(t,e,a);return t}function un(e,t){function n(r){h(t.nodeEdges(r),function(i){var a=i.v,o=r===a?i.w:a;!e.hasNode(o)&&!X(t,i)&&(e.setNode(o,{}),e.setEdge(r,o,{}),n(o))})}return h(e.nodes(),n),e.nodeCount()}function dn(e,t){return z(t.edges(),function(n){if(e.hasNode(n.v)!==e.hasNode(n.w))return X(t,n)})}function fn(e,t,n){h(e.nodes(),function(e){t.node(e).rank+=n})}T(1),T(1),pn.CycleException=Z;function pn(e){var t={},n={},r=[];function i(a){if(Object.prototype.hasOwnProperty.call(n,a))throw new Z;Object.prototype.hasOwnProperty.call(t,a)||(n[a]=!0,t[a]=!0,h(e.predecessors(a),i),delete n[a],r.push(a))}if(h(e.sinks(),i),wt(t)!==e.nodeCount())throw new Z;return r}function Z(){}Z.prototype=Error();function mn(e,t,n){g(t)||(t=[t]);var r=(e.isDirected()?e.successors:e.neighbors).bind(e),i=[],a={};return h(t,function(t){if(!e.hasNode(t))throw Error(`Graph does not have node: `+t);hn(e,t,n===`post`,a,r,i)}),i}function hn(e,t,n,r,i,a){Object.prototype.hasOwnProperty.call(r,t)||(r[t]=!0,n||a.push(t),h(i(t),function(t){hn(e,t,n,r,i,a)}),n&&a.push(t))}function gn(e,t){return mn(e,t,`post`)}function _n(e,t){return mn(e,t,`pre`)}Q.initLowLimValues=bn,Q.initCutValues=$,Q.calcCutValue=yn,Q.leaveEdge=Sn,Q.enterEdge=Cn,Q.exchangeEdges=wn;function Q(e){e=Rt(e),cn(e);var t=ln(e);bn(t),$(t,e);for(var n,r;n=Sn(t);)r=Cn(t,e,n),wn(t,e,n,r)}function $(e,t){var n=gn(e,e.nodes());n=n.slice(0,n.length-1),h(n,function(n){vn(e,t,n)})}function vn(e,t,n){var r=e.node(n).parent;e.edge(n,r).cutvalue=yn(e,t,n)}function yn(e,t,n){var r=e.node(n).parent,i=!0,a=t.edge(n,r),o=0;return a||=(i=!1,t.edge(r,n)),o=a.weight,h(t.nodeEdges(n),function(a){var s=a.v===n,c=s?a.w:a.v;if(c!==r){var l=s===i,u=t.edge(a).weight;if(o+=l?u:-u,En(e,n,c)){var d=e.edge(n,c).cutvalue;o+=l?-d:d}}}),o}function bn(e,t){arguments.length<2&&(t=e.nodes()[0]),xn(e,{},1,t)}function xn(e,t,n,r,i){var a=n,o=e.node(r);return t[r]=!0,h(e.neighbors(r),function(i){Object.prototype.hasOwnProperty.call(t,i)||(n=xn(e,t,n,i,r))}),o.low=a,o.lim=n++,i?o.parent=i:delete o.parent,n}function Sn(e){return A(e.edges(),function(t){return e.edge(t).cutvalue<0})}function Cn(e,t,n){var r=n.v,i=n.w;t.hasEdge(r,i)||(r=n.w,i=n.v);var a=e.node(r),o=e.node(i),s=a,c=!1;return a.lim>o.lim&&(s=o,c=!0),z(C(t.edges(),function(t){return c===Dn(e,e.node(t.v),s)&&c!==Dn(e,e.node(t.w),s)}),function(e){return X(t,e)})}function wn(e,t,n,r){var i=n.v,a=n.w;e.removeEdge(i,a),e.setEdge(r.v,r.w,{}),bn(e),$(e,t),Tn(e,t)}function Tn(e,t){var n=_n(e,A(e.nodes(),function(e){return!t.node(e).parent}));n=n.slice(1),h(n,function(n){var r=e.node(n).parent,i=t.edge(n,r),a=!1;i||(i=t.edge(r,n),a=!0),t.node(n).rank=t.node(r).rank+(a?i.minlen:-i.minlen)})}function En(e,t,n){return e.hasEdge(t,n)}function Dn(e,t,n){return n.low<=t.lim&&t.lim<=n.lim}function On(e){switch(e.graph().ranker){case`network-simplex`:jn(e);break;case`tight-tree`:An(e);break;case`longest-path`:kn(e);break;default:jn(e)}}var kn=cn;function An(e){cn(e),ln(e)}function jn(e){Q(e)}function Mn(e){var t=J(e,`root`,{},`_root`),n=Pn(e),r=I(p(n))-1,i=2*r+1;e.graph().nestingRoot=t,h(e.edges(),function(t){e.edge(t).minlen*=i});var a=Fn(e)+1;h(e.children(),function(o){Nn(e,t,i,a,r,n,o)}),e.graph().nodeRankFactor=i}function Nn(e,t,n,r,i,a,o){var s=e.children(o);if(!s.length){o!==t&&e.setEdge(t,o,{weight:0,minlen:n});return}var c=Ut(e,`_bt`),l=Ut(e,`_bb`),u=e.node(o);e.setParent(c,o),u.borderTop=c,e.setParent(l,o),u.borderBottom=l,h(s,function(s){Nn(e,t,n,r,i,a,s);var u=e.node(s),d=u.borderTop?u.borderTop:s,f=u.borderBottom?u.borderBottom:s,p=u.borderTop?r:2*r,m=d===f?i-a[o]+1:1;e.setEdge(c,d,{weight:p,minlen:m,nestingEdge:!0}),e.setEdge(f,l,{weight:p,minlen:m,nestingEdge:!0})}),e.parent(o)||e.setEdge(t,c,{weight:0,minlen:i+a[o]})}function Pn(e){var t={};function n(r,i){var a=e.children(r);a&&a.length&&h(a,function(e){n(e,i+1)}),t[r]=i}return h(e.children(),function(e){n(e,1)}),t}function Fn(e){return S(e.edges(),function(t,n){return t+e.edge(n).weight},0)}function In(e){var t=e.graph();e.removeNode(t.nestingRoot),delete t.nestingRoot,h(e.edges(),function(t){e.edge(t).nestingEdge&&e.removeEdge(t)})}function Ln(e,t,n){var r={},i;h(n,function(n){for(var a=e.parent(n),o,s;a;){if(o=e.parent(a),o?(s=r[o],r[o]=a):(s=i,i=a),s&&s!==a){t.setEdge(s,a);return}a=o}})}function Rn(e,t,n){var r=zn(e),i=new N({compound:!0}).setGraph({root:r}).setDefaultNodeLabel(function(t){return e.node(t)});return h(e.nodes(),function(a){var o=e.node(a),s=e.parent(a);(o.rank===t||o.minRank<=t&&t<=o.maxRank)&&(i.setNode(a),i.setParent(a,s||r),h(e[n](a),function(t){var n=t.v===a?t.w:t.v,r=i.edge(n,a),o=w(r)?0:r.weight;i.setEdge(n,a,{weight:e.edge(t).weight+o})}),Object.prototype.hasOwnProperty.call(o,`minRank`)&&i.setNode(a,{borderLeft:o.borderLeft[t],borderRight:o.borderRight[t]}))}),i}function zn(e){for(var t;e.hasNode(t=G(`_root`)););return t}function Bn(e,t){for(var n=0,r=1;r<t.length;++r)n+=Vn(e,t[r-1],t[r]);return n}function Vn(e,t,n){for(var r=Dt(n,k(n,function(e,t){return t})),i=O(k(t,function(t){return W(k(e.outEdges(t),function(t){return{pos:r[t.w],weight:e.edge(t).weight}}),`pos`)})),a=1;a<n.length;)a<<=1;var o=2*a-1;--a;var s=k(Array(o),function(){return 0}),c=0;return h(i.forEach(function(e){var t=e.pos+a;s[t]+=e.weight;for(var n=0;t>0;)t%2&&(n+=s[t+1]),t=t-1>>1,s[t]+=e.weight;c+=e.weight*n})),c}function Hn(e){var t={},n=C(e.nodes(),function(t){return!e.children(t).length}),r=I(k(n,function(t){return e.node(t).rank})),i=k(U(r+1),function(){return[]});function a(n){be(t,n)||(t[n]=!0,i[e.node(n).rank].push(n),h(e.successors(n),a))}var o=W(n,function(t){return e.node(t).rank});return h(o,a),i}function Un(e,t){return k(t,function(t){var n=e.inEdges(t);if(n.length){var r=S(n,function(t,n){var r=e.edge(n),i=e.node(n.v);return{sum:t.sum+r.weight*i.order,weight:t.weight+r.weight}},{sum:0,weight:0});return{v:t,barycenter:r.sum/r.weight,weight:r.weight}}return{v:t}})}function Wn(e,t){var n={};return h(e,function(e,t){var r=n[e.v]={indegree:0,in:[],out:[],vs:[e.v],i:t};w(e.barycenter)||(r.barycenter=e.barycenter,r.weight=e.weight)}),h(t.edges(),function(e){var t=n[e.v],r=n[e.w];!w(t)&&!w(r)&&(r.indegree++,t.out.push(n[e.w]))}),Gn(C(n,function(e){return!e.indegree}))}function Gn(e){var t=[];function n(e){return function(t){t.merged||(w(t.barycenter)||w(e.barycenter)||t.barycenter>=e.barycenter)&&Kn(e,t)}}function r(t){return function(n){n.in.push(t),--n.indegree===0&&e.push(n)}}for(;e.length;){var i=e.pop();t.push(i),h(i.in.reverse(),n(i)),h(i.out,r(i))}return k(C(t,function(e){return!e.merged}),function(e){return H(e,[`vs`,`i`,`barycenter`,`weight`])})}function Kn(e,t){var n=0,r=0;e.weight&&(n+=e.barycenter*e.weight,r+=e.weight),t.weight&&(n+=t.barycenter*t.weight,r+=t.weight),e.vs=t.vs.concat(e.vs),e.barycenter=n/r,e.weight=r,e.i=Math.min(t.i,e.i),t.merged=!0}function qn(e,t){var n=Gt(e,function(e){return Object.prototype.hasOwnProperty.call(e,`barycenter`)}),r=n.lhs,i=W(n.rhs,function(e){return-e.i}),a=[],o=0,s=0,c=0;r.sort(Yn(!!t)),c=Jn(a,i,c),h(r,function(e){c+=e.vs.length,a.push(e.vs),o+=e.barycenter*e.weight,s+=e.weight,c=Jn(a,i,c)});var l={vs:O(a)};return s&&(l.barycenter=o/s,l.weight=s),l}function Jn(e,t,n){for(var r;t.length&&(r=j(t)).i<=n;)t.pop(),e.push(r.vs),n++;return n}function Yn(e){return function(t,n){return t.barycenter<n.barycenter?-1:t.barycenter>n.barycenter?1:e?n.i-t.i:t.i-n.i}}function Xn(e,t,n,r){var i=e.children(t),a=e.node(t),o=a?a.borderLeft:void 0,s=a?a.borderRight:void 0,c={};o&&(i=C(i,function(e){return e!==o&&e!==s}));var l=Un(e,i);h(l,function(t){if(e.children(t.v).length){var i=Xn(e,t.v,n,r);c[t.v]=i,Object.prototype.hasOwnProperty.call(i,`barycenter`)&&Qn(t,i)}});var u=Wn(l,n);Zn(u,c);var d=qn(u,r);if(o&&(d.vs=O([o,d.vs,s]),e.predecessors(o).length)){var f=e.node(e.predecessors(o)[0]),p=e.node(e.predecessors(s)[0]);Object.prototype.hasOwnProperty.call(d,`barycenter`)||(d.barycenter=0,d.weight=0),d.barycenter=(d.barycenter*d.weight+f.order+p.order)/(d.weight+2),d.weight+=2}return d}function Zn(e,t){h(e,function(e){e.vs=O(e.vs.map(function(e){return t[e]?t[e].vs:e}))})}function Qn(e,t){w(e.barycenter)?(e.barycenter=t.barycenter,e.weight=t.weight):(e.barycenter=(e.barycenter*e.weight+t.barycenter*t.weight)/(e.weight+t.weight),e.weight+=t.weight)}function $n(e){var t=Wt(e),n=er(e,U(1,t+1),`inEdges`),r=er(e,U(t-1,-1,-1),`outEdges`),i=Hn(e);nr(e,i);for(var a=1/0,o,s=0,c=0;c<4;++s,++c){tr(s%2?n:r,s%4>=2),i=Y(e);var l=Bn(e,i);l<a&&(c=0,o=Re(i),a=l)}nr(e,o)}function er(e,t,n){return k(t,function(t){return Rn(e,t,n)})}function tr(e,t){var n=new N;h(e,function(e){var r=e.graph().root,i=Xn(e,r,n,t);h(i.vs,function(t,n){e.node(t).order=n}),Ln(e,n,i.vs)})}function nr(e,t){h(t,function(t){h(t,function(t,n){e.node(t).order=n})})}function rr(e){var t=ar(e);h(e.graph().dummyChains,function(n){for(var r=e.node(n),i=r.edgeObj,a=ir(e,t,i.v,i.w),o=a.path,s=a.lca,c=0,l=o[c],u=!0;n!==i.w;){if(r=e.node(n),u){for(;(l=o[c])!==s&&e.node(l).maxRank<r.rank;)c++;l===s&&(u=!1)}if(!u){for(;c<o.length-1&&e.node(l=o[c+1]).minRank<=r.rank;)c++;l=o[c]}e.setParent(n,l),n=e.successors(n)[0]}})}function ir(e,t,n,r){var i=[],a=[],o=Math.min(t[n].low,t[r].low),s=Math.max(t[n].lim,t[r].lim),c=n,l;do c=e.parent(c),i.push(c);while(c&&(t[c].low>o||s>t[c].lim));for(l=c,c=r;(c=e.parent(c))!==l;)a.push(c);return{path:i.concat(a.reverse()),lca:l}}function ar(e){var t={},n=0;function r(i){var a=n;h(e.children(i),r),t[i]={low:a,lim:n++}}return h(e.children(),r),t}function or(e,t){var n={};function r(t,r){var i=0,a=0,o=t.length,s=j(r);return h(r,function(t,c){var l=cr(e,t),u=l?e.node(l).order:o;(l||t===s)&&(h(r.slice(a,c+1),function(t){h(e.predecessors(t),function(r){var a=e.node(r),o=a.order;(o<i||u<o)&&!(a.dummy&&e.node(t).dummy)&&lr(n,r,t)})}),a=c+1,i=u)}),r}return S(t,r),n}function sr(e,t){var n={};function r(t,r,i,a,o){var s;h(U(r,i),function(r){s=t[r],e.node(s).dummy&&h(e.predecessors(s),function(t){var r=e.node(t);r.dummy&&(r.order<a||r.order>o)&&lr(n,t,s)})})}function i(t,n){var i=-1,a,o=0;return h(n,function(s,c){if(e.node(s).dummy===`border`){var l=e.predecessors(s);l.length&&(a=e.node(l[0]).order,r(n,o,c,i,a),o=c,i=a)}r(n,o,n.length,a,t.length)}),n}return S(t,i),n}function cr(e,t){if(e.node(t).dummy)return A(e.predecessors(t),function(t){return e.node(t).dummy})}function lr(e,t,n){if(t>n){var r=t;t=n,n=r}Object.prototype.hasOwnProperty.call(e,t)||Object.defineProperty(e,t,{enumerable:!0,configurable:!0,value:{},writable:!0});var i=e[t];Object.defineProperty(i,n,{enumerable:!0,configurable:!0,value:!0,writable:!0})}function ur(e,t,n){if(t>n){var r=t;t=n,n=r}return!!e[t]&&Object.prototype.hasOwnProperty.call(e[t],n)}function dr(e,t,n,r){var i={},a={},o={};return h(t,function(e){h(e,function(e,t){i[e]=e,a[e]=e,o[e]=t})}),h(t,function(e){var t=-1;h(e,function(e){var s=r(e);if(s.length){s=W(s,function(e){return o[e]});for(var c=(s.length-1)/2,l=Math.floor(c),u=Math.ceil(c);l<=u;++l){var d=s[l];a[e]===e&&t<o[d]&&!ur(n,e,d)&&(a[d]=e,a[e]=i[e]=i[d],t=o[d])}}})}),{root:i,align:a}}function fr(e,t,n,r,i){var a={},o=pr(e,t,n,i),s=i?`borderLeft`:`borderRight`;function c(e,t){for(var n=o.nodes(),r=n.pop(),i={};r;)i[r]?e(r):(i[r]=!0,n.push(r),n=n.concat(t(r))),r=n.pop()}function l(e){a[e]=o.inEdges(e).reduce(function(e,t){return Math.max(e,a[t.v]+o.edge(t))},0)}function u(t){var n=o.outEdges(t).reduce(function(e,t){return Math.min(e,a[t.w]-o.edge(t))},1/0),r=e.node(t);n!==1/0&&r.borderType!==s&&(a[t]=Math.max(a[t],n))}return c(l,o.predecessors.bind(o)),c(u,o.successors.bind(o)),h(r,function(e){a[e]=a[n[e]]}),a}function pr(e,t,n,r){var i=new N,a=e.graph(),o=vr(a.nodesep,a.edgesep,r);return h(t,function(t){var r;h(t,function(t){var a=n[t];if(i.setNode(a),r){var s=n[r],c=i.edge(s,a);i.setEdge(s,a,Math.max(o(e,t,r),c||0))}r=t})}),i}function mr(e,t){return z(p(t),function(t){var n=-1/0,r=1/0;return Ge(t,function(t,i){var a=yr(e,i)/2;n=Math.max(t+a,n),r=Math.min(t-a,r)}),n-r})}function hr(e,t){var n=p(t),r=R(n),i=I(n);h([`u`,`d`],function(n){h([`l`,`r`],function(a){var o=n+a,s=e[o],c;if(s!==t){var l=p(s);c=a===`l`?r-R(l):i-I(l),c&&(e[o]=P(s,function(e){return e+c}))}})})}function gr(e,t){return P(e.ul,function(n,r){if(t)return e[t.toLowerCase()][r];var i=W(k(e,r));return(i[1]+i[2])/2})}function _r(e){var t=Y(e),n=L(or(e,t),sr(e,t)),r={},i;return h([`u`,`d`],function(a){i=a===`u`?t:p(t).reverse(),h([`l`,`r`],function(t){t===`r`&&(i=k(i,function(e){return p(e).reverse()}));var o=(a===`u`?e.predecessors:e.successors).bind(e),s=dr(e,i,n,o),c=fr(e,i,s.root,s.align,t===`r`);t===`r`&&(c=P(c,function(e){return-e})),r[a+t]=c})}),hr(r,mr(e,r)),gr(r,e.graph().align)}function vr(e,t,n){return function(r,i,a){var o=r.node(i),s=r.node(a),c=0,l;if(c+=o.width/2,Object.prototype.hasOwnProperty.call(o,`labelpos`))switch(o.labelpos.toLowerCase()){case`l`:l=-o.width/2;break;case`r`:l=o.width/2}if(l&&(c+=n?l:-l),l=0,c+=(o.dummy?t:e)/2,c+=(s.dummy?t:e)/2,c+=s.width/2,Object.prototype.hasOwnProperty.call(s,`labelpos`))switch(s.labelpos.toLowerCase()){case`l`:l=s.width/2;break;case`r`:l=-s.width/2}return l&&(c+=n?l:-l),l=0,c}}function yr(e,t){return e.node(t).width}function br(e){e=zt(e),xr(e),Ke(_r(e),function(t,n){e.node(n).x=t})}function xr(e){var t=Y(e),n=e.graph().ranksep,r=0;h(t,function(t){var i=I(k(t,function(t){return e.node(t).height}));h(t,function(t){e.node(t).y=r+i/2}),r+=i+n})}function Sr(e,t){var n=t&&t.debugTiming?Kt:qt;n(`layout`,()=>{var t=n(` buildLayoutGraph`,()=>Nr(e));n(` runLayout`,()=>Cr(t,n)),n(` updateInputGraph`,()=>wr(e,t))})}function Cr(e,t){t(` makeSpaceForEdgeLabels`,()=>Pr(e)),t(` removeSelfEdges`,()=>Ur(e)),t(` acyclic`,()=>Ft(e)),t(` nestingGraph.run`,()=>Mn(e)),t(` rank`,()=>On(zt(e))),t(` injectEdgeLabelProxies`,()=>Fr(e)),t(` removeEmptyRanks`,()=>Ht(e)),t(` nestingGraph.cleanup`,()=>In(e)),t(` normalizeRanks`,()=>Vt(e)),t(` assignRankMinMax`,()=>Ir(e)),t(` removeEdgeLabelProxies`,()=>Lr(e)),t(` normalize.run`,()=>an(e)),t(` parentDummyChains`,()=>rr(e)),t(` addBorderSegments`,()=>Jt(e)),t(` order`,()=>$n(e)),t(` insertSelfEdges`,()=>Wr(e)),t(` adjustCoordinateSystem`,()=>Xt(e)),t(` position`,()=>br(e)),t(` positionSelfEdges`,()=>Gr(e)),t(` removeBorderNodes`,()=>Hr(e)),t(` normalize.undo`,()=>sn(e)),t(` fixupEdgeLabelCoords`,()=>Br(e)),t(` undoCoordinateSystem`,()=>Zt(e)),t(` translateGraph`,()=>Rr(e)),t(` assignNodeIntersects`,()=>zr(e)),t(` reversePoints`,()=>Vr(e)),t(` acyclic.undo`,()=>Lt(e))}function wr(e,t){h(e.nodes(),function(n){var r=e.node(n),i=t.node(n);r&&(r.x=i.x,r.y=i.y,t.children(n).length&&(r.width=i.width,r.height=i.height))}),h(e.edges(),function(n){var r=e.edge(n),i=t.edge(n);r.points=i.points,Object.prototype.hasOwnProperty.call(i,`x`)&&(r.x=i.x,r.y=i.y)}),e.graph().width=t.graph().width,e.graph().height=t.graph().height}var Tr=[`nodesep`,`edgesep`,`ranksep`,`marginx`,`marginy`],Er={ranksep:50,edgesep:20,nodesep:50,rankdir:`tb`},Dr=[`acyclicer`,`ranker`,`rankdir`,`align`],Or=[`width`,`height`],kr={width:0,height:0},Ar=[`minlen`,`weight`,`width`,`height`,`labeloffset`],jr={minlen:1,weight:1,width:0,height:0,labeloffset:10,labelpos:`r`},Mr=[`labelpos`];function Nr(e){var t=new N({multigraph:!0,compound:!0}),n=qr(e.graph());return t.setGraph(L({},Er,Kr(n,Tr),H(n,Dr))),h(e.nodes(),function(n){var r=qr(e.node(n));t.setNode(n,me(Kr(r,Or),kr)),t.setParent(n,e.parent(n))}),h(e.edges(),function(n){var r=qr(e.edge(n));t.setEdge(n,L({},jr,Kr(r,Ar),H(r,Mr)))}),t}function Pr(e){var t=e.graph();t.ranksep/=2,h(e.edges(),function(n){var r=e.edge(n);r.minlen*=2,r.labelpos.toLowerCase()!==`c`&&(t.rankdir===`TB`||t.rankdir===`BT`?r.width+=r.labeloffset:r.height+=r.labeloffset)})}function Fr(e){h(e.edges(),function(t){var n=e.edge(t);if(n.width&&n.height){var r=e.node(t.v);J(e,`edge-proxy`,{rank:(e.node(t.w).rank-r.rank)/2+r.rank,e:t},`_ep`)}})}function Ir(e){var t=0;h(e.nodes(),function(n){var r=e.node(n);r.borderTop&&(r.minRank=e.node(r.borderTop).rank,r.maxRank=e.node(r.borderBottom).rank,t=I(t,r.maxRank))}),e.graph().maxRank=t}function Lr(e){h(e.nodes(),function(t){var n=e.node(t);n.dummy===`edge-proxy`&&(e.edge(n.e).labelRank=n.rank,e.removeNode(t))})}function Rr(e){var t=1/0,n=0,r=1/0,i=0,a=e.graph(),o=a.marginx||0,s=a.marginy||0;function c(e){var a=e.x,o=e.y,s=e.width,c=e.height;t=Math.min(t,a-s/2),n=Math.max(n,a+s/2),r=Math.min(r,o-c/2),i=Math.max(i,o+c/2)}h(e.nodes(),function(t){c(e.node(t))}),h(e.edges(),function(t){var n=e.edge(t);Object.prototype.hasOwnProperty.call(n,`x`)&&c(n)}),t-=o,r-=s,h(e.nodes(),function(n){var i=e.node(n);i.x-=t,i.y-=r}),h(e.edges(),function(n){var i=e.edge(n);h(i.points,function(e){e.x-=t,e.y-=r}),Object.prototype.hasOwnProperty.call(i,`x`)&&(i.x-=t),Object.prototype.hasOwnProperty.call(i,`y`)&&(i.y-=r)}),a.width=n-t+o,a.height=i-r+s}function zr(e){h(e.edges(),function(t){var n=e.edge(t),r=e.node(t.v),i=e.node(t.w),a,o;n.points?(a=n.points[0],o=n.points[n.points.length-1]):(n.points=[],a=i,o=r),n.points.unshift(Bt(r,a)),n.points.push(Bt(i,o))})}function Br(e){h(e.edges(),function(t){var n=e.edge(t);if(Object.prototype.hasOwnProperty.call(n,`x`))switch((n.labelpos===`l`||n.labelpos===`r`)&&(n.width-=n.labeloffset),n.labelpos){case`l`:n.x-=n.width/2+n.labeloffset;break;case`r`:n.x+=n.width/2+n.labeloffset}})}function Vr(e){h(e.edges(),function(t){var n=e.edge(t);n.reversed&&n.points.reverse()})}function Hr(e){h(e.nodes(),function(t){if(e.children(t).length){var n=e.node(t),r=e.node(n.borderTop),i=e.node(n.borderBottom),a=e.node(j(n.borderLeft)),o=e.node(j(n.borderRight));n.width=Math.abs(o.x-a.x),n.height=Math.abs(i.y-r.y),n.x=a.x+n.width/2,n.y=r.y+n.height/2}}),h(e.nodes(),function(t){e.node(t).dummy===`border`&&e.removeNode(t)})}function Ur(e){h(e.edges(),function(t){if(t.v===t.w){var n=e.node(t.v);n.selfEdges||=[],n.selfEdges.push({e:t,label:e.edge(t)}),e.removeEdge(t)}})}function Wr(e){var t=Y(e);h(t,function(t){var n=0;h(t,function(t,r){var i=e.node(t);i.order=r+n,h(i.selfEdges,function(t){J(e,`selfedge`,{width:t.label.width,height:t.label.height,rank:i.rank,order:r+ ++n,e:t.e,label:t.label},`_se`)}),delete i.selfEdges})})}function Gr(e){h(e.nodes(),function(t){var n=e.node(t);if(n.dummy===`selfedge`){var r=e.node(n.e.v),i=r.x+r.width/2,a=r.y,o=n.x-i,s=r.height/2;e.setEdge(n.e,n.label),e.removeNode(t),n.label.points=[{x:i+2*o/3,y:a-s},{x:i+5*o/6,y:a-s},{x:i+o,y:a},{x:i+5*o/6,y:a+s},{x:i+2*o/3,y:a+s}],n.label.x=n.x,n.label.y=n.y}})}function Kr(e,t){return P(H(e,t),Number)}function qr(e){var t={};return h(e,function(e,n){t[n.toLowerCase()]=e}),t}export{Sr as t};
@@ -1,4 +1,4 @@
1
- import{n as e}from"./chunk-Y2CYZVJY-DsF7k-Jl.js";import{m as t}from"./src-oBChb5qS.js";import{x as n}from"./chunk-DU6HZSFF-Zkp69c6c.js";import"./chunk-75Z2AOVW-C5pGd3W9.js";import"./chunk-P2QGCYS3-Oag_FdCq.js";import"./chunk-PWAF6VOD-JSNrcBmP.js";import"./chunk-GMAD6QVW-NZ6WpDb8.js";import{s as r}from"./chunk-4HAMMTFA-DStbIfJ1.js";import{a as i,i as a,n as o}from"./chunk-GVQU2GXP-D8SDprfX.js";import{n as s}from"./chunk-L3NEJ4N5-aijKP-eh.js";import{a as c,c as l,i as u}from"./chunk-OSK3NFVY-CCbLQAMa.js";import{t as d}from"./graphlib-DS17s2tU.js";import{t as f}from"./dagre-PrKaheQc.js";import{a as p,c as m,i as h,r as g,s as _,t as v,u as y}from"./chunk-2E4U76K2-BPnTT-J3.js";var b=e((e,t,n)=>Math.max(t,Math.min(n,e)),`clamp`),x=e((e=`TB`)=>{switch(e){case`BT`:return`bottom`;case`LR`:return`right`;case`RL`:return`left`;default:return`top`}},`getDefaultSelfLoopSide`),S=e(e=>e===`flowchart`||e===`flowchart-v2`||e===`stateDiagram`||e===`er`||e===`classDiagram`,`shouldMergeSelfLoopSegments`),C=[`x`,`y`,`width`,`height`,`labelBBox`,`intersect`,`calcIntersect`,`diff`,`clusterNode`],w=e((e,t,n,r,i)=>{let a=[],o=new Set;if(n.forEach(({start:e,end:t})=>{e!==r&&o.add(e),t!==r&&o.add(t)}),o.forEach(t=>{let n=e.node(t);typeof n?.x==`number`&&typeof n?.y==`number`&&a.push(n)}),a.length===0&&n.forEach(({edge:e})=>{(e.points??[]).forEach(e=>{typeof e?.x==`number`&&typeof e?.y==`number`&&a.push(e)})}),a.length===0)return x(i);let s=a.reduce((e,t)=>({x:e.x+t.x/a.length,y:e.y+t.y/a.length}),{x:0,y:0}),c=s.x-t.x,l=s.y-t.y;return Math.abs(c)>Math.abs(l)?c>0?`right`:`left`:Math.abs(l)>0?l>0?`bottom`:`top`:x(i)},`getSelfLoopSide`),T=e((e,t=`top`,n=0,r=0)=>{let i=e.x,a=e.y-n,o=e.width/2,s=e.height/2,c=Math.max(36,Math.min(100,e.width*.8)),l=b(Math.max(r,e.width*.35),36,c),u=b(Math.min(e.width,e.height)*.45,24,48);switch(t){case`bottom`:{let e=a+s;return[{x:i-l/2,y:e},{x:i-l/2,y:e+u},{x:i+l/2,y:e+u},{x:i+l/2,y:e}]}case`right`:{let e=i+o;return[{x:e,y:a-l/2},{x:e+u,y:a-l/2},{x:e+u,y:a+l/2},{x:e,y:a+l/2}]}case`left`:{let e=i-o;return[{x:e,y:a-l/2},{x:e-u,y:a-l/2},{x:e-u,y:a+l/2},{x:e,y:a+l/2}]}default:{let e=a-s;return[{x:i-l/2,y:e},{x:i-l/2,y:e-u},{x:i+l/2,y:e-u},{x:i+l/2,y:e}]}}},`getSelfLoopPoints`),E=e((e,t,n=`top`,r=0,i={})=>{let a=e.x,o=e.y-r,s=i.width??0,c=i.height??0;switch(n){case`bottom`:return{x:a,y:Math.max(...t.map(e=>e.y))+c/2+4};case`right`:return{x:Math.max(...t.map(e=>e.x))+s/2+4,y:o};case`left`:return{x:Math.min(...t.map(e=>e.x))-s/2-4,y:o};default:return{x:a,y:Math.min(...t.map(e=>e.y))-c/2-4}}},`getSelfLoopLabelPosition`),D=e((e,t=0,{mergeSelfLoops:n=!0}={})=>{let r=new Map,i=[],a=e.graph()?.rankdir;return e.edges().forEach(t=>{let a=e.edge(t);if(n&&a.selfLoop){let e=a.selfLoop.id;r.has(e)||r.set(e,[]),r.get(e).push({edge:a,start:t.v,end:t.w})}else i.push({edge:a,start:t.v,end:t.w})}),r.forEach(n=>{if(n.length!==3){n.forEach(e=>i.push(e));return}n.sort((e,t)=>e.edge.selfLoop.order-t.edge.selfLoop.order);let[r,o,s]=n,c=r.edge.originalEdge??o.edge.originalEdge??s.edge.originalEdge??o.edge,l=e.node(c.start);if(!l){n.forEach(e=>i.push(e));return}let u={width:o.edge.width,height:o.edge.height},d=w(e,l,n,c.start,a),f=T(l,d,t,u.width??0),p=E(l,f,d,t,u),m={...o.edge,...c,id:c.id,points:f,start:c.start,end:c.end,x:p.x,y:p.y,width:u.width,height:u.height,labelStyle:o.edge.labelStyle,fromCluster:r.edge.fromCluster??o.edge.fromCluster??s.edge.fromCluster,toCluster:r.edge.toCluster??o.edge.toCluster??s.edge.toCluster};delete m.selfLoop,delete m.originalEdge,i.push({edge:m,start:m.start,end:m.end})}),i},`getEdgesToRender`),O=e(async({element:n,graph:a,diagramType:s,id:l,parentCluster:u,siteConfig:d})=>{let f=a.graph().rankdir;t.trace(`Dir in recursive render - dir:`,f);let{clusters:h,edgePaths:v,edgeLabels:y,nodes:b,rootGroups:x}=p(n,{edgePathsClass:`edgePaths`});a.nodes()?t.info(`Recursive render XXX`,a.nodes()):t.info(`No nodes found for`,a),a.edges().length>0&&t.info(`Recursive edges`,a.edge(a.edges()[0]));let C=S(s);await Promise.all(a.nodes().map(async function(e){let n=a.node(e);if(u!==void 0){let n=JSON.parse(JSON.stringify(u.clusterData));t.trace(`Setting data for parent cluster XXX
1
+ import{n as e}from"./chunk-Y2CYZVJY-DsF7k-Jl.js";import{t}from"./chunk-X3CZISLH-BixgQztF.js";import{x as n}from"./chunk-DU6HZSFF-CWlP1Dk_.js";import"./chunk-P2QGCYS3-BA--DhpW.js";import"./chunk-PWAF6VOD-D_kLse-N.js";import"./chunk-75Z2AOVW-DitkSoSG.js";import"./chunk-GMAD6QVW-Bgk8qnty.js";import{s as r}from"./chunk-4HAMMTFA-q0ldNVvr.js";import{a as i,i as a,n as o}from"./chunk-GVQU2GXP-CQ8cl-Uu.js";import{n as s}from"./chunk-L3NEJ4N5-BflzkdTI.js";import{a as c,c as l,i as u}from"./chunk-OSK3NFVY-DqeKV_pg.js";import{t as d}from"./dagre-D7FiCLLP.js";import{t as f}from"./graphlib-C9Tl7QrK.js";import{a as p,i as m,n as h,o as g,r as _,s as v,t as y}from"./chunk-2E4U76K2-CIQUuV9n.js";var b=e((e,t,n)=>Math.max(t,Math.min(n,e)),`clamp`),x=e((e=`TB`)=>{switch(e){case`BT`:return`bottom`;case`LR`:return`right`;case`RL`:return`left`;default:return`top`}},`getDefaultSelfLoopSide`),S=e(e=>e===`flowchart`||e===`flowchart-v2`||e===`stateDiagram`||e===`er`||e===`classDiagram`,`shouldMergeSelfLoopSegments`),C=[`x`,`y`,`width`,`height`,`labelBBox`,`intersect`,`calcIntersect`,`diff`,`clusterNode`],w=e((e,t,n,r,i)=>{let a=[],o=new Set;if(n.forEach(({start:e,end:t})=>{e!==r&&o.add(e),t!==r&&o.add(t)}),o.forEach(t=>{let n=e.node(t);typeof n?.x==`number`&&typeof n?.y==`number`&&a.push(n)}),a.length===0&&n.forEach(({edge:e})=>{(e.points??[]).forEach(e=>{typeof e?.x==`number`&&typeof e?.y==`number`&&a.push(e)})}),a.length===0)return x(i);let s=a.reduce((e,t)=>({x:e.x+t.x/a.length,y:e.y+t.y/a.length}),{x:0,y:0}),c=s.x-t.x,l=s.y-t.y;return Math.abs(c)>Math.abs(l)?c>0?`right`:`left`:Math.abs(l)>0?l>0?`bottom`:`top`:x(i)},`getSelfLoopSide`),T=e((e,t=`top`,n=0,r=0)=>{let i=e.x,a=e.y-n,o=e.width/2,s=e.height/2,c=Math.max(36,Math.min(100,e.width*.8)),l=b(Math.max(r,e.width*.35),36,c),u=b(Math.min(e.width,e.height)*.45,24,48);switch(t){case`bottom`:{let e=a+s;return[{x:i-l/2,y:e},{x:i-l/2,y:e+u},{x:i+l/2,y:e+u},{x:i+l/2,y:e}]}case`right`:{let e=i+o;return[{x:e,y:a-l/2},{x:e+u,y:a-l/2},{x:e+u,y:a+l/2},{x:e,y:a+l/2}]}case`left`:{let e=i-o;return[{x:e,y:a-l/2},{x:e-u,y:a-l/2},{x:e-u,y:a+l/2},{x:e,y:a+l/2}]}default:{let e=a-s;return[{x:i-l/2,y:e},{x:i-l/2,y:e-u},{x:i+l/2,y:e-u},{x:i+l/2,y:e}]}}},`getSelfLoopPoints`),E=e((e,t,n=`top`,r=0,i={})=>{let a=e.x,o=e.y-r,s=i.width??0,c=i.height??0;switch(n){case`bottom`:return{x:a,y:Math.max(...t.map(e=>e.y))+c/2+4};case`right`:return{x:Math.max(...t.map(e=>e.x))+s/2+4,y:o};case`left`:return{x:Math.min(...t.map(e=>e.x))-s/2-4,y:o};default:return{x:a,y:Math.min(...t.map(e=>e.y))-c/2-4}}},`getSelfLoopLabelPosition`),D=e((e,t=0,{mergeSelfLoops:n=!0}={})=>{let r=new Map,i=[],a=e.graph()?.rankdir;return e.edges().forEach(t=>{let a=e.edge(t);if(n&&a.selfLoop){let e=a.selfLoop.id;r.has(e)||r.set(e,[]),r.get(e).push({edge:a,start:t.v,end:t.w})}else i.push({edge:a,start:t.v,end:t.w})}),r.forEach(n=>{if(n.length!==3){n.forEach(e=>i.push(e));return}n.sort((e,t)=>e.edge.selfLoop.order-t.edge.selfLoop.order);let[r,o,s]=n,c=r.edge.originalEdge??o.edge.originalEdge??s.edge.originalEdge??o.edge,l=e.node(c.start);if(!l){n.forEach(e=>i.push(e));return}let u={width:o.edge.width,height:o.edge.height},d=w(e,l,n,c.start,a),f=T(l,d,t,u.width??0),p=E(l,f,d,t,u),m={...o.edge,...c,id:c.id,points:f,start:c.start,end:c.end,x:p.x,y:p.y,width:u.width,height:u.height,labelStyle:o.edge.labelStyle,fromCluster:r.edge.fromCluster??o.edge.fromCluster??s.edge.fromCluster,toCluster:r.edge.toCluster??o.edge.toCluster??s.edge.toCluster};delete m.selfLoop,delete m.originalEdge,i.push({edge:m,start:m.start,end:m.end})}),i},`getEdgesToRender`),O=e(async({element:n,graph:a,diagramType:s,id:l,parentCluster:u,siteConfig:d})=>{let f=a.graph().rankdir;t.trace(`Dir in recursive render - dir:`,f);let{clusters:_,edgePaths:v,edgeLabels:y,nodes:b,rootGroups:x}=m(n,{edgePathsClass:`edgePaths`});a.nodes()?t.info(`Recursive render XXX`,a.nodes()):t.info(`No nodes found for`,a),a.edges().length>0&&t.info(`Recursive edges`,a.edge(a.edges()[0]));let C=S(s);await Promise.all(a.nodes().map(async function(e){let n=a.node(e);if(u!==void 0){let n=JSON.parse(JSON.stringify(u.clusterData));t.trace(`Setting data for parent cluster XXX
2
2
  Node.id = `,e,`
3
3
  data=`,n.height,`
4
- Parent cluster`,u.height),a.setNode(u.id,n),a.parent(e)||(t.trace(`Setting parent`,e,u.id),a.setParent(e,u.id,n))}if(t.info(`(Insert) Node XXX`+e+`: `+JSON.stringify(a.node(e))),n?.clusterNode){t.info(`Cluster identified XBX`,e,n.width,a.node(e));let{ranksep:o,nodesep:c}=a.graph();n.graph.setGraph({...n.graph.graph(),ranksep:o+25,nodesep:c});let u=await F({element:b,graph:n.graph,diagramType:s,id:l,parentCluster:a.node(e),siteConfig:d}),f=u.elem;r(n,f),n.diff=u.diff||0,t.info(`New compound node after recursive render XAX`,e,`width`,n.width,`height`,n.height),i(f,n)}else a.children(e).length>0?(t.trace(`Cluster - the non recursive path XBX`,e,n.id,n,n.width,`Graph:`,a),t.trace(_(n.id,a)),g.set(n.id,{id:_(n.id,a),node:n})):(t.trace(`Node - the non recursive path XAX`,e,b,a.node(e),f),await m(b,a.node(e),{config:d,dir:f}))})),await e(async()=>{let e=a.edges().map(async function(e){let n=a.edge(e.v,e.w,e.name);if(t.info(`Edge `+e.v+` -> `+e.w+`: `+JSON.stringify(e)),t.info(`Edge `+e.v+` -> `+e.w+`: `,e,` `,JSON.stringify(a.edge(e))),t.info(`Fix`,g,`ids:`,e.v,e.w,`Translating: `,g.get(e.v),g.get(e.w)),C&&n.selfLoop){if(n.selfLoop.order!==1)return;let e={...n.originalEdge,...n,id:n.selfLoop.id,startLabelLeft:n.originalEdge?.startLabelLeft??n.startLabelLeft,startLabelRight:n.originalEdge?.startLabelRight??n.startLabelRight,endLabelLeft:n.originalEdge?.endLabelLeft??n.endLabelLeft,endLabelRight:n.originalEdge?.endLabelRight??n.endLabelRight};await c(y,e),n.width=e.width,n.height=e.height,n.labelStyle=e.labelStyle;return}await c(y,n)});await Promise.all(e)},`processEdges`)();let{subGraphTitleTotalMargin:w}=o(d);return{elem:x,graph:a,groups:{clusters:h,edgePaths:v,edgeLabels:y,nodes:b,rootGroups:x},diagramType:s,id:l,mergeSelfLoops:C,subGraphTitleTotalMargin:w}},`measureDagreGraph`),k=e(e=>{t.info(`############################################# XXX`),t.info(`### Layout ### XXX`),t.info(`############################################# XXX`),f(e)},`runDagreGraphLayout`),A=e((e,t,n)=>{let r=e.node(t);if(!r)return;let i={...r};return r?.clusterNode?i.y=(r.y??0)+n:e.children(t).length>0?i.height=(r.height??0)+n:i.y=(r.y??0)+n/2,i},`normalizeDagreNode`),j=e((e,t)=>{C.forEach(n=>{t[n]!==void 0&&(e[n]=t[n])})},`applyDagreNodeLayout`),M=e((e,t,n,r)=>({...e,start:e.start??t,end:e.end??n,points:(e.points??[]).map(e=>({...e,y:typeof e.y==`number`?e.y+r:e.y}))}),`normalizeDagreEdge`),N=e((e,t)=>{let{graph:n,mergeSelfLoops:r,subGraphTitleTotalMargin:i=0}=t,a=new Map(e.nodes.map(e=>[e.id,e]));y(n).forEach(e=>{let t=A(n,e,i);if(!t)return;j(n.node(e),t);let r=a.get(e);r&&j(r,t)});let o=i/2;return e.edges=D(n,o,{mergeSelfLoops:r}).map(({edge:e,start:t,end:n})=>M(e,t,n,o)),e},`applyDagreLayoutResult`),P=e(async({elem:e,graph:n,groups:{clusters:r,edgePaths:i},diagramType:o,id:c,mergeSelfLoops:d,subGraphTitleTotalMargin:f})=>{let p=0;await Promise.all(y(n).map(async function(e){let i=n.node(e);if(t.info(`Position XBX => `+e+`: (`+i.x,`,`+i.y,`) width: `,i.width,` height: `,i.height),i?.clusterNode)i.y+=f,t.info(`A tainted cluster node XBX1`,e,i.id,i.width,i.height,i.x,i.y,n.parent(e)),g.get(i.id).node=i,a(i);else if(n.children(e).length>0){t.info(`A pure cluster node XBX1`,e,i.id,i.x,i.y,i.width,i.height,n.parent(e)),i.height+=f,n.node(i.parentId);let a=i?.padding/2||0,o=i?.labelBBox?.height||0,c=o-a||0;t.debug(`OffsetY`,c,`labelHeight`,o,`halfPadding`,a),await s(r,i),g.get(i.id).node=i}else{let e=n.node(i.parentId);i.y+=f/2,t.info(`A regular node XBX1 - using the padding`,i.id,`parent`,i.parentId,i.width,i.height,i.x,i.y,`offsetY`,i.offsetY,`parent`,e,e?.offsetY,i),a(i)}}));let m=f/2;return D(n,m,{mergeSelfLoops:d}).forEach(function({edge:e,start:r,end:a}){t.info(`Edge `+r+` -> `+a+`: `+JSON.stringify(e),e),e.points.forEach(e=>e.y+=m);let s=n.node(r),d=n.node(a),f=u(i,e,g,o,s,d,c);l(e,f)}),n.nodes().forEach(function(e){let r=n.node(e);t.info(e,r.type,r.diff),r.isGroup&&(p=r.diff)}),t.warn(`Returning from recursive render XAX`,e,p),{elem:e,diff:p}},`paintDagreLayoutCore`),F=e(async e=>{let t=await O(e);return k(t.graph),await P(t)},`renderDagreSubgraph`),I=e(e=>{let n=new d({multigraph:!0,compound:!0}).setGraph({rankdir:e.direction,nodesep:e.config?.nodeSpacing||e.nodeSpacing||e.config?.flowchart?.nodeSpacing,ranksep:e.config?.rankSpacing||e.rankSpacing||e.config?.flowchart?.rankSpacing,marginx:8,marginy:8}).setDefaultEdgeLabel(function(){return{}});return e.nodes.forEach(e=>{n.setNode(e.id,{...e}),e.parentId&&n.setParent(e.id,e.parentId)}),t.debug(`Edges:`,e.edges),e.edges.forEach(e=>{if(e.start===e.end){let t=e.start,r=t+`---`+t+`---1`,i=t+`---`+t+`---2`,a=n.node(t);n.setNode(r,{domId:r,id:r,parentId:a.parentId,labelStyle:``,label:``,padding:0,shape:`labelRect`,style:``,width:10,height:10}),n.setParent(r,a.parentId),n.setNode(i,{domId:i,id:i,parentId:a.parentId,labelStyle:``,padding:0,shape:`labelRect`,label:``,style:``,width:10,height:10}),n.setParent(i,a.parentId);let o=structuredClone(e),s=structuredClone(e),c=structuredClone(e),l=structuredClone(e);s.originalEdge=o,s.selfLoop={id:o.id,order:0},c.originalEdge=o,c.selfLoop={id:o.id,order:1},l.originalEdge=o,l.selfLoop={id:o.id,order:2},s.label=``,s.arrowTypeEnd=`none`,s.endLabelLeft=``,s.endLabelRight=``,s.startLabelLeft=``,s.id=t+`-cyclic-special-1`,c.startLabelRight=``,c.startLabelLeft=``,c.endLabelLeft=``,c.endLabelRight=``,c.arrowTypeStart=`none`,c.arrowTypeEnd=`none`,c.id=t+`-cyclic-special-mid`,l.label=``,l.startLabelRight=``,l.startLabelLeft=``,l.arrowTypeStart=`none`,a.isGroup&&(s.fromCluster=t,l.toCluster=t),l.id=t+`-cyclic-special-2`,l.arrowTypeStart=`none`,n.setEdge(t,r,s,t+`-cyclic-special-0`),n.setEdge(r,i,c,t+`-cyclic-special-1`),n.setEdge(i,t,l,t+`-cyclic-special-2`)}else n.setEdge(e.start,e.end,{...e},e.id)}),v(n),{graph:n}},`prepareLayoutForDagre`),L=e(async(e,{element:t,preparedLayout:r})=>{let i=r??I(e),a=n(),o=await O({element:t,graph:i.graph,diagramType:e.type,id:e.diagramId,parentCluster:void 0,siteConfig:a});return i.measuredLayout=o,o},`measureDagreLayout`),R=e((e,t)=>{let n=t.preparedLayout?.measuredLayout;if(!n)throw Error(`runDagreLayoutCore requires measureDagreLayout to run first`);return k(n.graph),N(e,n),n},`runDagreLayoutCore`),z=h({prepareLayout:I,measureLayout:L,runLayoutCore:R,paintOptions:{clusterDb:g,getNodes:e((e,{measure:t})=>y(t.graph).map(e=>t.graph.node(e)).filter(Boolean),`getDagrePaintNodes`),getEdgeNode:e((e,t,{measure:n})=>e?n.graph.node(e):void 0,`getDagreEdgeNode`),skipNode:e((e,{measure:t})=>!t.graph.hasNode(e.id),`skipNode`),isCluster:e((e,{measure:t})=>t.graph.hasNode(e.id)&&(t.graph.children(e.id)??[]).length>0,`isCluster`)}});export{N as applyDagreLayoutResult,D as getEdgesToRender,L as measureDagreLayout,I as prepareLayoutForDagre,z as render,R as runDagreLayoutCore};
4
+ Parent cluster`,u.height),a.setNode(u.id,n),a.parent(e)||(t.trace(`Setting parent`,e,u.id),a.setParent(e,u.id,n))}if(t.info(`(Insert) Node XXX`+e+`: `+JSON.stringify(a.node(e))),n?.clusterNode){t.info(`Cluster identified XBX`,e,n.width,a.node(e));let{ranksep:o,nodesep:c}=a.graph();n.graph.setGraph({...n.graph.graph(),ranksep:o+25,nodesep:c});let u=await F({element:b,graph:n.graph,diagramType:s,id:l,parentCluster:a.node(e),siteConfig:d}),f=u.elem;r(n,f),n.diff=u.diff||0,t.info(`New compound node after recursive render XAX`,e,`width`,n.width,`height`,n.height),i(f,n)}else a.children(e).length>0?(t.trace(`Cluster - the non recursive path XBX`,e,n.id,n,n.width,`Graph:`,a),t.trace(p(n.id,a)),h.set(n.id,{id:p(n.id,a),node:n})):(t.trace(`Node - the non recursive path XAX`,e,b,a.node(e),f),await g(b,a.node(e),{config:d,dir:f}))})),await e(async()=>{let e=a.edges().map(async function(e){let n=a.edge(e.v,e.w,e.name);if(t.info(`Edge `+e.v+` -> `+e.w+`: `+JSON.stringify(e)),t.info(`Edge `+e.v+` -> `+e.w+`: `,e,` `,JSON.stringify(a.edge(e))),t.info(`Fix`,h,`ids:`,e.v,e.w,`Translating: `,h.get(e.v),h.get(e.w)),C&&n.selfLoop){if(n.selfLoop.order!==1)return;let e={...n.originalEdge,...n,id:n.selfLoop.id,startLabelLeft:n.originalEdge?.startLabelLeft??n.startLabelLeft,startLabelRight:n.originalEdge?.startLabelRight??n.startLabelRight,endLabelLeft:n.originalEdge?.endLabelLeft??n.endLabelLeft,endLabelRight:n.originalEdge?.endLabelRight??n.endLabelRight};await c(y,e),n.width=e.width,n.height=e.height,n.labelStyle=e.labelStyle;return}await c(y,n)});await Promise.all(e)},`processEdges`)();let{subGraphTitleTotalMargin:w}=o(d);return{elem:x,graph:a,groups:{clusters:_,edgePaths:v,edgeLabels:y,nodes:b,rootGroups:x},diagramType:s,id:l,mergeSelfLoops:C,subGraphTitleTotalMargin:w}},`measureDagreGraph`),k=e(e=>{t.info(`############################################# XXX`),t.info(`### Layout ### XXX`),t.info(`############################################# XXX`),d(e)},`runDagreGraphLayout`),A=e((e,t,n)=>{let r=e.node(t);if(!r)return;let i={...r};return r?.clusterNode?i.y=(r.y??0)+n:e.children(t).length>0?i.height=(r.height??0)+n:i.y=(r.y??0)+n/2,i},`normalizeDagreNode`),j=e((e,t)=>{C.forEach(n=>{t[n]!==void 0&&(e[n]=t[n])})},`applyDagreNodeLayout`),M=e((e,t,n,r)=>({...e,start:e.start??t,end:e.end??n,points:(e.points??[]).map(e=>({...e,y:typeof e.y==`number`?e.y+r:e.y}))}),`normalizeDagreEdge`),N=e((e,t)=>{let{graph:n,mergeSelfLoops:r,subGraphTitleTotalMargin:i=0}=t,a=new Map(e.nodes.map(e=>[e.id,e]));v(n).forEach(e=>{let t=A(n,e,i);if(!t)return;j(n.node(e),t);let r=a.get(e);r&&j(r,t)});let o=i/2;return e.edges=D(n,o,{mergeSelfLoops:r}).map(({edge:e,start:t,end:n})=>M(e,t,n,o)),e},`applyDagreLayoutResult`),P=e(async({elem:e,graph:n,groups:{clusters:r,edgePaths:i},diagramType:o,id:c,mergeSelfLoops:d,subGraphTitleTotalMargin:f})=>{let p=0;await Promise.all(v(n).map(async function(e){let i=n.node(e);if(t.info(`Position XBX => `+e+`: (`+i.x,`,`+i.y,`) width: `,i.width,` height: `,i.height),i?.clusterNode)i.y+=f,t.info(`A tainted cluster node XBX1`,e,i.id,i.width,i.height,i.x,i.y,n.parent(e)),h.get(i.id).node=i,a(i);else if(n.children(e).length>0){t.info(`A pure cluster node XBX1`,e,i.id,i.x,i.y,i.width,i.height,n.parent(e)),i.height+=f,n.node(i.parentId);let a=i?.padding/2||0,o=i?.labelBBox?.height||0,c=o-a||0;t.debug(`OffsetY`,c,`labelHeight`,o,`halfPadding`,a),await s(r,i),h.get(i.id).node=i}else{let e=n.node(i.parentId);i.y+=f/2,t.info(`A regular node XBX1 - using the padding`,i.id,`parent`,i.parentId,i.width,i.height,i.x,i.y,`offsetY`,i.offsetY,`parent`,e,e?.offsetY,i),a(i)}}));let m=f/2;return D(n,m,{mergeSelfLoops:d}).forEach(function({edge:e,start:r,end:a}){t.info(`Edge `+r+` -> `+a+`: `+JSON.stringify(e),e),e.points.forEach(e=>e.y+=m);let s=n.node(r),d=n.node(a),f=u(i,e,h,o,s,d,c);l(e,f)}),n.nodes().forEach(function(e){let r=n.node(e);t.info(e,r.type,r.diff),r.isGroup&&(p=r.diff)}),t.warn(`Returning from recursive render XAX`,e,p),{elem:e,diff:p}},`paintDagreLayoutCore`),F=e(async e=>{let t=await O(e);return k(t.graph),await P(t)},`renderDagreSubgraph`),I=e(e=>{let n=new f({multigraph:!0,compound:!0}).setGraph({rankdir:e.direction,nodesep:e.config?.nodeSpacing||e.nodeSpacing||e.config?.flowchart?.nodeSpacing,ranksep:e.config?.rankSpacing||e.rankSpacing||e.config?.flowchart?.rankSpacing,marginx:8,marginy:8}).setDefaultEdgeLabel(function(){return{}});return e.nodes.forEach(e=>{n.setNode(e.id,{...e}),e.parentId&&n.setParent(e.id,e.parentId)}),t.debug(`Edges:`,e.edges),e.edges.forEach(e=>{if(e.start===e.end){let t=e.start,r=t+`---`+t+`---1`,i=t+`---`+t+`---2`,a=n.node(t);n.setNode(r,{domId:r,id:r,parentId:a.parentId,labelStyle:``,label:``,padding:0,shape:`labelRect`,style:``,width:10,height:10}),n.setParent(r,a.parentId),n.setNode(i,{domId:i,id:i,parentId:a.parentId,labelStyle:``,padding:0,shape:`labelRect`,label:``,style:``,width:10,height:10}),n.setParent(i,a.parentId);let o=structuredClone(e),s=structuredClone(e),c=structuredClone(e),l=structuredClone(e);s.originalEdge=o,s.selfLoop={id:o.id,order:0},c.originalEdge=o,c.selfLoop={id:o.id,order:1},l.originalEdge=o,l.selfLoop={id:o.id,order:2},s.label=``,s.arrowTypeEnd=`none`,s.endLabelLeft=``,s.endLabelRight=``,s.startLabelLeft=``,s.id=t+`-cyclic-special-1`,c.startLabelRight=``,c.startLabelLeft=``,c.endLabelLeft=``,c.endLabelRight=``,c.arrowTypeStart=`none`,c.arrowTypeEnd=`none`,c.id=t+`-cyclic-special-mid`,l.label=``,l.startLabelRight=``,l.startLabelLeft=``,l.arrowTypeStart=`none`,a.isGroup&&(s.fromCluster=t,l.toCluster=t),l.id=t+`-cyclic-special-2`,l.arrowTypeStart=`none`,n.setEdge(t,r,s,t+`-cyclic-special-0`),n.setEdge(r,i,c,t+`-cyclic-special-1`),n.setEdge(i,t,l,t+`-cyclic-special-2`)}else n.setEdge(e.start,e.end,{...e},e.id)}),y(n),{graph:n}},`prepareLayoutForDagre`),L=e(async(e,{element:t,preparedLayout:r})=>{let i=r??I(e),a=n(),o=await O({element:t,graph:i.graph,diagramType:e.type,id:e.diagramId,parentCluster:void 0,siteConfig:a});return i.measuredLayout=o,o},`measureDagreLayout`),R=e((e,t)=>{let n=t.preparedLayout?.measuredLayout;if(!n)throw Error(`runDagreLayoutCore requires measureDagreLayout to run first`);return k(n.graph),N(e,n),n},`runDagreLayoutCore`),z=_({prepareLayout:I,measureLayout:L,runLayoutCore:R,paintOptions:{clusterDb:h,getNodes:e((e,{measure:t})=>v(t.graph).map(e=>t.graph.node(e)).filter(Boolean),`getDagrePaintNodes`),getEdgeNode:e((e,t,{measure:n})=>e?n.graph.node(e):void 0,`getDagreEdgeNode`),skipNode:e((e,{measure:t})=>!t.graph.hasNode(e.id),`skipNode`),isCluster:e((e,{measure:t})=>t.graph.hasNode(e.id)&&(t.graph.children(e.id)??[]).length>0,`isCluster`)}});export{N as applyDagreLayoutResult,D as getEdgesToRender,L as measureDagreLayout,I as prepareLayoutForDagre,z as render,R as runDagreLayoutCore};
@@ -0,0 +1,11 @@
1
+ import"./chunk-SRAX5OIU-KFQikY-4.js";var e={signUp:``,signIn:``,paste:`Einfügen`,pasteAsPlaintext:`Als unformatierten Text einfügen`,pasteCharts:`Diagramme einfügen`,chartType_bar:`Balkendiagramm`,chartType_line:`Liniendiagramm`,chartType_radar:`Netzdiagramm`,chartType_plaintext:`Klartext`,selectAll:`Alle auswählen`,multiSelect:`Element zur Auswahl hinzufügen`,moveCanvas:`Zeichenfläche verschieben`,cut:`Ausschneiden`,copy:`Kopieren`,copyAsPng:`In Zwischenablage kopieren (PNG)`,copyAsSvg:`In Zwischenablage kopieren (SVG)`,copyText:`Als Text in Zwischenablage kopieren`,copySource:`Quelle in Zwischenablage kopieren`,convertToCode:`In Code konvertieren`,bringForward:`Nach vorne`,sendToBack:`In den Hintergrund`,bringToFront:`In den Vordergrund`,sendBackward:`Nach hinten`,delete:`Löschen`,copyStyles:`Formatierung kopieren`,pasteStyles:`Formatierung übernehmen`,stroke:`Strich`,changeStroke:`Strichfarbe ändern`,background:`Hintergrund`,changeBackground:`Hintergrundfarbe ändern`,fill:`Füllung`,strokeWidth:`Strichstärke`,strokeStyle:`Konturstil`,strokeStyle_solid:`Durchgezogen`,strokeStyle_dashed:`Gestrichelt`,strokeStyle_dotted:`Gepunktet`,sloppiness:`Sauberkeit`,pressure:``,pressure_constant:``,pressure_variable:``,opacity:`Deckkraft`,textAlign:`Textausrichtung`,edges:`Kanten`,sharp:`Scharf`,round:`Rund`,arrowheads:`Pfeilspitzen`,arrowhead_none:`Keine`,arrowhead_arrow:`Pfeil`,arrowhead_bar:`Balken`,arrowhead_circle:`Kreis`,arrowhead_circle_outline:`Kreis (Umrandung)`,arrowhead_triangle:`Dreieck`,arrowhead_triangle_outline:`Dreieck (Umrandung)`,arrowhead_diamond:`Raute`,arrowhead_diamond_outline:`Raute (Umrandung)`,arrowhead_crowfoot_many:`Krähenfuß (viele)`,arrowhead_crowfoot_one:`Krähenfuß (einer)`,arrowhead_crowfoot_one_or_many:`Krähenfuß (einer oder viele)`,arrowhead_cardinality_one:`Kardinalität (eins)`,arrowhead_cardinality_many:`Kardinalität (viele)`,arrowhead_cardinality_one_or_many:`Kardinalität (eins oder viele)`,arrowhead_cardinality_exactly_one:`Kardinalität (genau eins)`,arrowhead_cardinality_zero_or_one:`Kardinalität (null oder eins)`,arrowhead_cardinality_zero_or_many:`Kardinalität (null oder viele)`,more_options:`Weitere Optionen`,cardinality:`Kardinalität`,arrowtypes:`Pfeiltyp`,arrowtype_sharp:`Scharfer Pfeil`,arrowtype_round:`Gebogener Pfeil`,arrowtype_elbowed:`Abgewinkelter Pfeil`,fontSize:`Schriftgröße`,fontFamily:`Schriftfamilie`,addWatermark:`"Made with Excalidraw" hinzufügen`,handDrawn:`Handgezeichnet`,normal:`Normal`,code:`Code`,small:`Klein`,medium:`Mittel`,large:`Groß`,veryLarge:`Sehr groß`,solid:`Deckend`,hachure:`Schraffiert`,zigzag:`Zickzack`,crossHatch:`Kreuzschraffiert`,thin:`Dünn`,bold:`Fett`,left:`Links`,center:`Zentriert`,right:`Rechts`,extraBold:`Extra Fett`,architect:`Architekt`,artist:`Künstler`,cartoonist:`Karikaturist`,fileTitle:`Dateiname`,colorPicker:`Farbwähler`,canvasColors:`Auf Zeichenfläche verwendet`,canvasBackground:`Zeichenflächenhintergrund`,drawingCanvas:`Zeichenfläche`,clearCanvas:`Zeichenfläche löschen`,layers:`Ebenen`,actions:`Aktionen`,language:`Sprache`,liveCollaboration:`Live-Zusammenarbeit...`,duplicateSelection:`Duplizieren`,untitled:`Unbenannt`,name:`Name`,yourName:`Dein Name`,madeWithExcalidraw:`Made with Excalidraw`,group:`Auswahl gruppieren`,ungroup:`Gruppierung aufheben`,collaborators:`Mitarbeitende`,you:``,toggleGrid:`Raster umschalten`,addToLibrary:`Zur Bibliothek hinzufügen`,removeFromLibrary:`Aus Bibliothek entfernen`,libraryLoadingMessage:`Lade Bibliothek…`,libraries:`Bibliotheken durchsuchen`,loadingScene:`Lade Zeichnung…`,loadScene:`Szene aus Datei laden`,align:`Ausrichten`,alignTop:`Obere Kanten`,alignBottom:`Untere Kanten`,alignLeft:`Linke Kanten`,alignRight:`Rechte Kanten`,centerVertically:`Vertikal zentrieren`,centerHorizontally:`Horizontal zentrieren`,distributeHorizontally:`Horizontal verteilen`,distributeVertically:`Vertikal verteilen`,flipHorizontal:`Horizontal spiegeln`,flipVertical:`Vertikal spiegeln`,viewMode:`Ansichtsmodus`,share:`Teilen`,showStroke:`Auswahl für Strichfarbe anzeigen`,showBackground:`Hintergrundfarbe auswählen`,showFonts:`Schriftauswahl anzeigen`,toggleTheme:`Helles/dunkles Design umschalten`,theme:`Design`,personalLib:`Persönliche Bibliothek`,excalidrawLib:`Excalidraw Bibliothek`,decreaseFontSize:`Schriftgröße verringern`,increaseFontSize:`Schriftgröße erhöhen`,unbindText:`Text lösen`,bindText:`Text an Container binden`,createContainerFromText:`Text in Container einbetten`,link:{edit:`Link bearbeiten`,editEmbed:`Einbettbaren Link bearbeiten`,create:`Link hinzufügen`,label:`Link`,labelEmbed:`Verlinken & einbetten`,empty:`Kein Link festgelegt`,hint:`Link hier eingeben oder einfügen`,goToElement:`Gehe zu Zielelement`},lineEditor:{edit:`Linie bearbeiten`,editArrow:`Pfeil bearbeiten`},polygon:{breakPolygon:`Polygon auftrennen`,convertToPolygon:`In Polygon umwandeln`},elementLock:{lock:`Sperren`,unlock:`Entsperren`,lockAll:`Alle sperren`,unlockAll:`Alle entsperren`},statusPublished:`Veröffentlicht`,sidebarLock:`Seitenleiste offen lassen`,selectAllElementsInFrame:`Alle Elemente im Rahmen auswählen`,removeAllElementsFromFrame:`Alle Elemente aus dem Rahmen entfernen`,eyeDropper:`Farbe von der Zeichenfläche auswählen`,textToDiagram:`Text zu Diagramm`,prompt:`Eingabe`,followUs:`Folge uns`,discordChat:`Discord-Chat`,zoomToFitViewport:`Zoom auf Ansicht anpassen`,zoomToFitSelection:`Zoom auf Auswahl anpassen`,zoomToFit:`Zoom auf alle Elemente anpassen`,installPWA:`Excalidraw lokal installieren (PWA)`,autoResize:`Automatische Textgrößenanpassung`,imageCropping:`Bild zuschneiden`,unCroppedDimension:`Originalgröße`,copyElementLink:`Link zum Objekt kopieren`,linkToElement:`Link zum Objekt`,wrapSelectionInFrame:`Auswahl in Rahmen einbetten`,tab:`Tab`,shapeSwitch:`Form wechseln`,preferences:`Einstellungen`,preferences_toolLock:`Werkzeug sperren`,boxSelectionMode:``,boxSelectionContain:``,boxSelectionOverlap:``,arrowBinding:`Pfeilbindung`,midpointSnapping:`An Mittelpunkten einrasten`},t={title:`Link zum Objekt`,desc:`Klicke auf eine Form auf der Zeichenfläche oder füge einen Link ein.`,notFound:`Verknüpftes Objekt wurde nicht auf der Zeichenfläche gefunden.`},n={noItems:`Noch keine Elemente hinzugefügt...`,hint_emptyLibrary:`Wähle ein Element auf der Zeichenfläche, um es hier hinzuzufügen. Oder installiere eine Bibliothek aus dem öffentlichen Verzeichnis.`,hint_emptyPrivateLibrary:`Wähle ein Element von der Zeichenfläche, um es hier hinzuzufügen.`,search:{inputPlaceholder:`Bibliothek durchsuchen`,heading:`Bibliothekstreffer`,noResults:`Keine passenden Elemente gefunden...`,clearSearch:`Suche zurücksetzen`}},r={title:`Auf Zeichenfläche suchen`,noMatch:`Keine Treffer gefunden...`,singleResult:`Ergebnis`,multipleResults:`Ergebnisse`,placeholder:`Text auf Zeichenfläche suchen...`,frames:`Rahmen`,texts:`Texte`},i={clearReset:`Zeichenfläche löschen & Hintergrundfarbe zurücksetzen`,exportJSON:`In Datei exportieren`,exportImage:`Bild exportieren...`,export:`Speichern als...`,copyToClipboard:`In Zwischenablage kopieren`,copyLink:`Link kopieren`,save:`In aktueller Datei speichern`,saveAs:`Speichern unter`,load:`Öffnen`,getShareableLink:`Teilbaren Link erhalten`,close:`Schließen`,selectLanguage:`Sprache auswählen`,scrollBackToContent:`Zurück zum Inhalt`,zoomIn:`Vergrößern`,zoomOut:`Verkleinern`,resetZoom:`Zoom zurücksetzen`,menu:`Menü`,done:`Fertig`,edit:`Bearbeiten`,undo:`Rückgängig machen`,redo:`Wiederholen`,resetLibrary:`Bibliothek zurücksetzen`,createNewRoom:`Neuen Raum erstellen`,fullScreen:`Vollbildanzeige`,darkMode:`Dunkles Design`,lightMode:`Helles Design`,systemMode:`System-Modus`,zenMode:`Zen-Modus`,objectsSnapMode:`Einrasten an Objekten`,exitZenMode:`Zen-Modus verlassen`,cancel:`Abbrechen`,saveLibNames:`Name(n) speichern und schließen`,clear:`Löschen`,remove:`Entfernen`,embed:`Einbettung umschalten`,publishLibrary:`Umbenennen oder veröffentlichen`,submit:`Absenden`,confirm:`Bestätigen`,embeddableInteractionButton:`Klicken, um zu interagieren`},a={clearReset:`Dies wird die ganze Zeichenfläche löschen. Bist du dir sicher?`,couldNotCreateShareableLink:`Konnte keinen teilbaren Link erstellen.`,couldNotCreateShareableLinkTooBig:`Konnte keinen teilbaren Link erstellen: Die Zeichnung ist zu groß`,couldNotLoadInvalidFile:`Ungültige Datei konnte nicht geladen werden`,importBackendFailed:`Import vom Server ist fehlgeschlagen.`,cannotExportEmptyCanvas:`Leere Zeichenfläche kann nicht exportiert werden.`,couldNotCopyToClipboard:`Kopieren in die Zwischenablage fehlgeschlagen.`,decryptFailed:`Daten konnten nicht entschlüsselt werden.`,uploadedSecurly:`Der Upload wurde mit Ende-zu-Ende-Verschlüsselung gespeichert. Weder Excalidraw noch Dritte können den Inhalt einsehen.`,loadSceneOverridePrompt:`Das Laden einer externen Zeichnung ersetzt den vorhandenen Inhalt. Möchtest du fortfahren?`,collabStopOverridePrompt:`Das Stoppen der Sitzung wird deine vorherige, lokal gespeicherte Zeichnung überschreiben. Bist du dir sicher?
2
+
3
+ (Wenn du deine lokale Zeichnung behalten möchtest, schließe stattdessen den Browser-Tab.)`,errorAddingToLibrary:`Das Element konnte nicht zur Bibliothek hinzugefügt werden`,errorRemovingFromLibrary:`Das Element konnte nicht aus der Bibliothek entfernt werden`,confirmAddLibrary:`Dies fügt {{numShapes}} Form(en) zu deiner Bibliothek hinzu. Bist du dir sicher?`,imageDoesNotContainScene:`Dieses Bild scheint keine Szenendaten zu enthalten. Hast du das Einbetten der Szene beim Export aktiviert?`,cannotRestoreFromImage:`Die Zeichnung konnte aus dieser Bilddatei nicht wiederhergestellt werden`,invalidSceneUrl:`Die Szene konnte nicht von der angegebenen URL importiert werden. Die URL ist entweder fehlerhaft oder enthält keine gültigen Excalidraw-JSON-Daten.`,resetLibrary:`Dies löscht deine Bibliothek. Bist du sicher?`,removeItemsFromsLibrary:`{{count}} Element(e) aus der Bibliothek löschen?`,invalidEncryptionKey:`Verschlüsselungsschlüssel muss 22 Zeichen lang sein. Die Live-Zusammenarbeit ist deaktiviert.`,collabOfflineWarning:`Keine Internetverbindung verfügbar.
4
+ Deine Änderungen werden nicht gespeichert!`,localStorageQuotaExceeded:`Browserspeicher voll. Änderungen werden nicht gespeichert.`},o={unsupportedFileType:`Nicht unterstützter Dateityp.`,imageInsertError:`Das Bild konnte nicht eingefügt werden. Versuche es später erneut...`,fileTooBig:`Die Datei ist zu groß. Die maximal zulässige Größe ist {{maxSize}}.`,svgImageInsertError:`SVG-Bild konnte nicht eingefügt werden. Das SVG-Markup sieht ungültig aus.`,failedToFetchImage:`Bild konnte nicht abgerufen werden.`,cannotResolveCollabServer:`Konnte keine Verbindung zum Collab-Server herstellen. Bitte lade die Seite neu und versuche es erneut.`,importLibraryError:`Bibliothek konnte nicht geladen werden`,saveLibraryError:`Bibliothek konnte nicht gespeichert werden. Bitte speichere deine Bibliothek lokal in einer Datei, um sicherzustellen, dass keine Änderungen verloren gehen.`,collabSaveFailed:`Keine Speicherung in der Backend-Datenbank möglich. Wenn die Probleme weiterhin bestehen, solltest du deine Datei lokal speichern, um sicherzustellen, dass du deine Arbeit nicht verlierst.`,collabSaveFailed_sizeExceeded:`Keine Speicherung in der Backend-Datenbank möglich, die Zeichenfläche scheint zu groß zu sein. Du solltest deine Datei lokal speichern, um sicherzustellen, dass du deine Arbeit nicht verlierst.`,imageToolNotSupported:`Bilder sind deaktiviert.`,brave_measure_text_error:{line1:`Sieht so aus, als ob du den Brave-Browser verwendest und die <bold>aggressive Blockierung von Fingerabdrücken</bold> aktiviert hast.`,line2:`Dies könnte dazu führen, dass die <bold>Textelemente</bold> in deinen Zeichnungen nicht korrekt dargestellt werden.`,line3:`Wir empfehlen dringend, diese Einstellung zu deaktivieren. Dazu kannst du <link>diesen Schritten</link> folgen.`,line4:`Wenn die Deaktivierung dieser Einstellung die fehlerhafte Anzeige von Textelementen nicht behebt, öffne bitte ein <issueLink>Ticket</issueLink> auf unserem GitHub oder schreibe uns auf <discordLink>Discord</discordLink>`},libraryElementTypeError:{embeddable:`Einbettbare Elemente können der Bibliothek nicht hinzugefügt werden.`,iframe:`IFrame-Elemente können nicht zur Bibliothek hinzugefügt werden.`,image:`Unterstützung für das Hinzufügen von Bildern in die Bibliothek kommt bald!`},asyncPasteFailedOnRead:`Einfügen fehlgeschlagen (konnte aus der Zwischenablage des Systems nicht gelesen werden).`,asyncPasteFailedOnParse:`Einfügen fehlgeschlagen.`,copyToSystemClipboardFailed:`Kopieren in die Zwischenablage fehlgeschlagen.`},s={selection:`Auswahl`,lasso:`Lassoauswahl`,image:`Bild einfügen`,rectangle:`Rechteck`,diamond:`Raute`,ellipse:`Ellipse`,arrow:`Pfeil`,line:`Linie`,freedraw:`Zeichnen`,text:`Text`,library:`Bibliothek`,lock:`Ausgewähltes Werkzeug nach Zeichnen aktiv lassen`,penMode:`Stift-Modus - Berührung verhindern`,link:`Link für ausgewählte Form hinzufügen / aktualisieren`,eraser:`Radierer`,frame:`Rahmenwerkzeug`,magicframe:`Wireframe zu Code`,embeddable:`Web-Einbettung`,laser:`Laserpointer`,autoshape:``,bucketfill:``,hand:`Hand (Schwenkwerkzeug)`,extraTools:`Weitere Werkzeuge`,mermaidToExcalidraw:`Mermaid zu Excalidraw`,convertElementType:`Formtyp umschalten`},c={noRegion:``,tooComplex:``},l={rectangle:`Rechteck`,diamond:`Raute`,ellipse:`Ellipse`,arrow:`Pfeil`,line:`Linie`,freedraw:`Frei zeichnen`,text:`Text`,image:`Bild`,group:`Gruppe`,frame:`Rahmen`,magicframe:`Wireframe zu Code`,embeddable:`Web-Einbettung`,selection:`Auswahl`,iframe:`IFrame`},u={canvasActions:`Aktionen für Zeichenfläche`,selectedShapeActions:`Aktionen für Auswahl`,shapes:`Formen`},d={dismissSearch:`{{shortcut}} zum Schließen der Suche`,canvasPanning:`Halte {{shortcut_1}} oder {{shortcut_2}} beim Ziehen gedrückt, um die Zeichenfläche zu verschieben, oder verwende das Handwerkzeug`,linearElement:`Klicken für Linie mit mehreren Punkten, Ziehen für einzelne Linie`,arrowTool:`Klicken für mehrere Punkte, ziehen für eine einzelne Linie. Drücke erneut {{shortcut}}, um den Pfeiltyp zu wechseln.`,arrowBindModifiers:`Halte {{shortcut_1}} gedrückt, um die Bindung zu deaktivieren, oder {{shortcut_2}} für einen festen Ankerpunkt`,freeDraw:`Klicke und ziehe. Lass los, wenn du fertig bist`,text:`Tipp: Du kannst auch Text hinzufügen, indem du mit dem Auswahlwerkzeug auf eine beliebige Stelle doppelklickst`,embeddable:`Klicken und ziehen, um eine Webseiten-Einbettung zu erstellen`,autoshape:``,text_selected:`Doppelklicken oder {{shortcut}} drücken, um Text zu bearbeiten`,text_editing:`Drücke {{shortcut_1}} oder {{shortcut_2}}, um die Bearbeitung abzuschließen`,linearElementMulti:`Klicke auf den letzten Punkt oder drücke {{shortcut_1}} oder {{shortcut_2}} zum Abschließen`,lockAngle:`Halte {{shortcut}} gedrückt, um den Winkel einzuschränken`,resize:`Halte {{shortcut_1}} gedrückt, um die Proportionen beizubehalten.
5
+ {{shortcut_2}} gedrückt halten, um von der Mitte aus zu skalieren`,resizeImage:`Halte {{shortcut_1}} gedrückt, um frei zu skalieren.
6
+ {{shortcut_2}} gedrückt halten, um von der Mitte aus zu skalieren`,rotate:`Halte {{shortcut}} gedrückt, um den Winkel einzuschränken`,toggleArrowhead:``,lineEditor_info:`Halte {{shortcut_1}} gedrückt und doppelklicke oder drücke {{shortcut_2}}, um Punkte zu bearbeiten`,lineEditor_line_info:`Doppelklicken oder {{shortcut}} drücken, um Punkte zu bearbeiten`,lineEditor_pointSelected:`Drücke {{shortcut_1}}, um Punkt(e) zu entfernen,
7
+ {{shortcut_2}} zum Duplizieren, oder ziehe zum Verschieben`,lineEditor_nothingSelected:`Wähle einen Punkt zum Bearbeiten (halte {{shortcut_1}} für Mehrfachauswahl),
8
+ oder halte {{shortcut_2}} gedrückt und klicke, um neue Punkte hinzuzufügen`,publishLibrary:`Veröffentliche deine eigene Bibliothek`,bindTextToElement:`{{shortcut}} zum Hinzufügen von Text`,createFlowchart:`{{shortcut}} zum Erstellen eines Flussdiagramms`,deepBoxSelect:`Halte {{shortcut}} gedrückt für Tiefenauswahl und um Ziehen zu verhindern`,eraserRevert:`Halte {{shortcut}} gedrückt, um zum Löschen markierte Elemente wiederherzustellen`,firefox_clipboard_write:`Diese Funktion kann wahrscheinlich aktiviert werden, indem die Einstellung "dom.events.asyncClipboard.clipboardItem" auf "true" gesetzt wird. Um die Browsereinstellungen in Firefox zu ändern, besuche die Seite "about:config".`,disableSnapping:`Halte {{shortcut}} gedrückt, um Einrasten zu deaktivieren`,enterCropEditor:`Doppelklicke auf das Bild oder drücke {{shortcut}}, um das Bild zuzuschneiden`,leaveCropEditor:`Klicke außerhalb des Bildes oder drücke {{shortcut_1}} oder {{shortcut_2}}, um das Zuschneiden abzuschließen`},f={cannotShowPreview:`Vorschau kann nicht angezeigt werden`,canvasTooBig:`Die Zeichenfläche ist möglicherweise zu groß.`,canvasTooBigTip:`Tipp: Schiebe die am weitesten entfernten Elemente ein wenig näher zusammen.`},p={headingMain:`Es ist ein Fehler aufgetreten. Versuche <button>die Seite neu zu laden.</button>`,clearCanvasMessage:`Wenn das Neuladen nicht funktioniert, versuche <button>die Zeichenfläche zu löschen.</button>`,clearCanvasCaveat:` Dies wird zum Verlust von Daten führen `,trackedToSentry:`Der Fehler mit der Kennung {{eventId}} wurde in unserem System registriert.`,openIssueMessage:`Wir waren sehr vorsichtig und haben deine Zeichnungsinformationen nicht in die Fehlerinformationen aufgenommen. Wenn deine Zeichnung nicht privat ist, unterstütze uns bitte über unseren <button>Bug-Tracker</button>. Bitte teile die unten stehenden Informationen mit uns im GitHub Issue (Kopieren und Einfügen).`,sceneContent:`Zeichnungsinhalt:`},m={or:`Oder`},h={desc_intro:`Lade Leute ein, an deiner Zeichnung mitzuarbeiten.`,desc_privacy:`Keine Sorge, die Sitzung ist Ende-zu-Ende verschlüsselt und vollständig privat. Nicht einmal unser Server kann sehen, was du zeichnest.`,button_startSession:`Sitzung starten`,button_stopSession:`Sitzung beenden`,desc_inProgressIntro:`Die Live-Sitzung wird nun ausgeführt.`,desc_shareLink:`Teile diesen Link mit allen, mit denen du zusammenarbeiten möchtest:`,desc_exitSession:`Wenn du die Sitzung beendest, wird deine Verbindung zum Raum getrennt. Du kannst jedoch lokal weiter an der Zeichnung arbeiten. Beachte, dass dies keine Auswirkungen auf andere hat und diese weiterhin gemeinsam an ihrer Version arbeiten können.`,shareTitle:`An einer Live-Kollaborationssitzung auf Excalidraw teilnehmen`},g={title:`Fehler`},_={title:`Speichern`,defaultMessage:`Speicherung wird vorbereitet...`},v={disk_title:`Auf Festplatte speichern`,disk_details:`Exportiere die Zeichnungsdaten in eine Datei, aus der du später importieren kannst.`,disk_button:`Als Datei speichern`,link_title:`Teilbarer Link`,link_details:`Als schreibgeschützten Link exportieren.`,link_button:`Als Link exportieren`,excalidrawplus_description:`Speichere die Szene in deinem Excalidraw+ Arbeitsbereich.`,excalidrawplus_button:`Exportieren`,excalidrawplus_exportError:`Konnte nicht nach Excalidraw+ exportieren...`},y={blog:`Lies unseren Blog`,click:`klicken`,deepSelect:`Auswahl innerhalb der Gruppe`,deepBoxSelect:`Auswahl innerhalb der Gruppe, und Ziehen vermeiden`,createFlowchart:`Erstelle ein Flussdiagramm aus einem generischen Element`,navigateFlowchart:`Durch ein Flussdiagramm navigieren`,curvedArrow:`Gebogener Pfeil`,curvedLine:`Gebogene Linie`,documentation:`Dokumentation`,doubleClick:`doppelklicken`,drag:`ziehen`,editor:`Editor`,editLineArrowPoints:`Linien-/Pfeil-Punkte bearbeiten`,editText:`Text bearbeiten / Label hinzufügen`,github:`Ein Problem gefunden? Informiere uns`,howto:`Folge unseren Anleitungen`,or:`oder`,preventBinding:`Pfeil-Bindung verhindern`,tools:`Werkzeuge`,shortcuts:`Tastaturkürzel`,textFinish:`Bearbeitung beenden (Texteditor)`,textNewLine:`Neue Zeile hinzufügen (Texteditor)`,title:`Hilfe`,view:`Ansicht`,zoomToFit:`Zoomen um alle Elemente einzupassen`,zoomToSelection:`Auf Auswahl zoomen`,toggleElementLock:`Auswahl sperren/entsperren`,movePageUpDown:`Seite nach oben/unten verschieben`,movePageLeftRight:`Seite nach links/rechts verschieben`,cropStart:`Bild zuschneiden`,cropFinish:`Zuschneiden des Bildes beenden`},b={title:`Zeichenfläche löschen`},x={title:`Bibliothek veröffentlichen`,itemName:`Elementname`,authorName:`Name des Autors`,githubUsername:`GitHub-Benutzername`,twitterUsername:`Twitter-Benutzername`,libraryName:`Name der Bibliothek`,libraryDesc:`Beschreibung der Bibliothek`,website:`Webseite`,placeholder:{authorName:`Dein Name oder Benutzername`,libraryName:`Name deiner Bibliothek`,libraryDesc:`Beschreibung deiner Bibliothek, um anderen Nutzern bei der Verwendung zu helfen`,githubHandle:`GitHub-Handle (optional), damit du die Bibliothek bearbeiten kannst, wenn sie zur Überprüfung eingereicht wurde`,twitterHandle:`Twitter-Benutzername (optional), damit wir wissen, wen wir bei Werbung über Twitter nennen können`,website:`Link zu deiner persönlichen Webseite oder zu anderer Seite (optional)`},errors:{required:`Erforderlich`,website:`Gültige URL eingeben`},noteDescription:`Sende deine Bibliothek ein, um in das <link>öffentliche Bibliotheksverzeichnis</link> aufgenommen zu werden, damit andere sie in ihren Zeichnungen verwenden können.`,noteGuidelines:`Die Bibliothek muss zuerst manuell freigegeben werden. Bitte lies die <link>Richtlinien</link> vor dem Absenden. Du benötigst ein GitHub-Konto, um zu kommunizieren und Änderungen vorzunehmen, falls erforderlich, aber es ist nicht unbedingt erforderlich.`,noteLicense:`Mit dem Absenden stimmst du zu, dass die Bibliothek unter der <link>MIT-Lizenz</link> veröffentlicht wird. Das bedeutet, dass jeder sie ohne Einschränkungen nutzen kann.`,noteItems:`Jedes Bibliothekselement muss einen eigenen Namen haben, damit es gefiltert werden kann. Die folgenden Bibliothekselemente werden hinzugefügt:`,atleastOneLibItem:`Bitte wähle mindestens ein Bibliothekselement aus, um zu beginnen`,republishWarning:`Hinweis: Einige der ausgewählten Elemente sind bereits als veröffentlicht/eingereicht markiert. Du solltest Elemente nur erneut einreichen, wenn du eine bestehende Bibliothek oder Einreichung aktualisierst.`},S={title:`Bibliothek übermittelt`,content:`Vielen Dank {{authorName}}. Deine Bibliothek wurde zur Überprüfung eingereicht. Du kannst den Status verfolgen<link>hier</link>`},C={resetLibrary:`Bibliothek zurücksetzen`,removeItemsFromLib:`Ausgewählte Elemente aus der Bibliothek entfernen`},w={header:`Bild exportieren`,label:{withBackground:`Hintergrund`,onlySelected:`Nur ausgewählte`,darkMode:`Dunkler Modus`,embedScene:`Szene einbetten`,scale:`Skalierung`,padding:`Abstand`},tooltip:{embedScene:`Die Zeichnungsdaten werden in der exportierten PNG/SVG-Datei gespeichert, sodass die Szene daraus wiederhergestellt werden kann.
9
+ Dadurch wird die exportierte Datei größer.`},title:{exportToPng:`Als PNG exportieren`,exportToSvg:`Als SVG exportieren`,copyPngToClipboard:`PNG in die Zwischenablage kopieren`},button:{exportToPng:`PNG`,exportToSvg:`SVG`,copyPngToClipboard:`In Zwischenablage kopieren`}},T={tooltip:`Da deine Zeichnungen Ende-zu-Ende verschlüsselt werden, sehen auch unsere Excalidraw-Server sie niemals.`,link:`Blogbeitrag über Ende-zu-Ende-Verschlüsselung in Excalidraw`},E={angle:`Winkel`,shapes:`Formen`,height:`Höhe`,scene:`Zeichnung`,selected:`Ausgewählt`,storage:`Speicher`,fullTitle:`Zeichenflächen- & Formeigenschaften`,title:`Eigenschaften`,generalStats:`Allgemein`,elementProperties:`Formeigenschaften`,total:`Gesamt`,version:`Version`,versionCopy:`Zum Kopieren klicken`,versionNotAvailable:`Version nicht verfügbar`,width:`Breite`},D={addedToLibrary:`Zur Bibliothek hinzugefügt`,copyStyles:`Formatierungen kopiert.`,copyToClipboard:`In die Zwischenablage kopiert.`,copyToClipboardAsPng:`{{exportSelection}} als PNG in die Zwischenablage kopiert
10
+ ({{exportColorScheme}})`,copyToClipboardAsSvg:`{{exportSelection}} als SVG in die Zwischenablage kopiert ({{exportColorScheme}})`,fileSaved:`Datei gespeichert.`,fileSavedToFilename:`Als {filename} gespeichert`,canvas:`Zeichenfläche`,selection:`Auswahl`,pasteAsSingleElement:`Verwende {{shortcut}} , um als einzelnes Element
11
+ einzufügen oder in einen existierenden Texteditor einzufügen`,unableToEmbed:`Einbetten dieser URL ist derzeit nicht zulässig. Erstelle einen Issue auf GitHub, um die URL freigeben zu lassen`,unrecognizedLinkFormat:`Der eingebettete Link stimmt nicht mit dem erwarteten Format überein. Bitte versuche, den Einbettungs-Code der Quellseite einzufügen`,elementLinkCopied:`Link in Zwischenablage kopiert`},O={transparent:`Transparent`,black:`Schwarz`,white:`Weiß`,red:`Rot`,pink:`Pink`,grape:`Traube`,violet:`Violett`,gray:`Grau`,blue:`Blau`,cyan:`Cyan`,teal:`Blaugrün`,green:`Grün`,yellow:`Gelb`,orange:`Orange`,bronze:`Bronze`},k={app:{center_heading:`Deine Zeichnungen werden im Browserspeicher gespeichert.`,center_heading_line2:`Der Browserspeicher kann unerwartet gelöscht werden.`,center_heading_line3:`Speichere deine Arbeit regelmäßig in einer Datei, um Datenverlust zu vermeiden.`,center_heading_plus:`Möchtest du stattdessen zu Excalidraw+ gehen?`,menuHint:`Exportieren, Einstellungen, Sprachen, ...`},defaults:{menuHint:`Exportieren, Einstellungen und mehr...`,center_heading:`Diagramme. Einfach. Gemacht.`,toolbarHint:`Wähle ein Werkzeug & beginne zu zeichnen!`,helpHint:`Kurzbefehle & Hilfe`}},A={color:`Farbe`,mostUsedCustomColors:`Beliebteste benutzerdefinierte Farben`,colors:`Farben`,shades:`Schattierungen`,hexCode:`Hex-Code`,noShades:`Keine Schattierungen für diese Farbe verfügbar`,invalidColor:``,invalidHexLength:``,topPicksTip:``,resetTopPicks:``},j={action:{exportToImage:{title:`Als Bild exportieren`,button:`Als Bild exportieren`,description:`Exportiere die Zeichnungsdaten als Bild, aus dem du später importieren kannst.`},saveToDisk:{title:`Auf Festplatte speichern`,button:`Auf Festplatte speichern`,description:`Exportiere die Zeichnungsdaten in eine Datei, aus der du später importieren kannst.`},excalidrawPlus:{title:`Excalidraw+`,button:`Export nach Excalidraw+`,description:`Speichere die Szene in deinem Excalidraw+-Arbeitsbereich.`}},modal:{loadFromFile:{title:`Aus Datei laden`,button:`Aus Datei laden`,description:`Das Laden aus einer Datei wird <bold>deinen vorhandenen Inhalt ersetzen</bold>.<br></br>Du kannst deine Zeichnung zuerst mit einer der folgenden Optionen sichern.`},shareableLink:{title:`Aus Link laden`,button:`Meinen Inhalt ersetzen`,description:`Das Laden einer externen Zeichnung wird <bold>deinen vorhandenen Inhalt ersetzen</bold>.<br></br>Du kannst deine Zeichnung zuerst mit einer der folgenden Optionen sichern.`}}},M={title:`Mermaid zu Excalidraw`,button:`Einfügen`,description:`Derzeit werden nur <flowchartLink>Flussdiagramme</flowchartLink>, <sequenceLink>Sequenzdiagramme</sequenceLink>, <classLink>Klassendiagramme</classLink> und <erdLink>Entity-Relationship-Diagramme</erdLink> unterstützt. Die anderen Typen werden als Bild in Excalidraw dargestellt.`,syntax:`Mermaid-Syntax`,preview:`Vorschau`,label:`Mermaid`,inputPlaceholder:`Mermaid-Diagrammdefinition hier eingeben...`,autoFixAvailable:`Automatische Korrektur verfügbar`},N={error:`Fehler!`},P={inputPlaceholder:`Beschreibe hier deine Diagrammidee... ({{shortcut}} für neue Zeile)`,inputPlaceholderWithMessages:`Diagramm weiter verfeinern...`,generating:`Wird erstellt...`,rateLimitRemaining:`{{count}} Anfragen heute verbleibend`,role:{user:`Du`,assistant:`KI-Assistent`,system:`System`},aiBeta:`KI Beta`,label:`Chat`,menu:`Menü`,newChat:`Neuer Chat`,deleteChat:`Chat löschen`,deleteMessage:`Nachricht löschen`,viewAsMermaid:`Als Mermaid anzeigen`,placeholder:{title:`Gestalte dein Diagramm`,description:`Beschreibe das Diagramm, das du erstellen möchtest, und wir generieren es für dich.`,hint:``},preview:`Vorschau`,insert:`Einfügen`,retry:`Erneut versuchen`,errors:{promptTooShort:`Eingabe zu kurz (min. {{min}} Zeichen)`,promptTooLong:`Eingabe zu lang (max. {{max}} Zeichen)`,generationFailed:`Erstellung fehlgeschlagen`,invalidDiagram:`Ungültiges Diagramm erstellt :(. Du kannst es manuell bearbeiten, mit automatischer Korrektur erneut versuchen oder eine andere Eingabe verwenden.`,fixInMermaid:`Mermaid manuell bearbeiten →`,aiRepair:`Neu generieren (Auto-Korrektur) →`,requestAborted:`Anfrage abgebrochen`,requestFailed:`Anfrage fehlgeschlagen`,mermaidParseError:`Mermaid-Syntaxfehler`},rateLimit:{messageLimit:`Du hast dein KI-Limit im kostenlosen Tarif erreicht. Probiere Excalidraw+ für mehr oder komme morgen wieder.`,generalRateLimit:`Nicht so schnell! Bitte warte einen Moment, bevor du es erneut versuchst.`,messageLimitInputPlaceholder:`Nachrichtenlimit erreicht`},upsellBtnLabel:`Auf Plus upgraden`},F={placeholder:`Schnellsuche`},I={badge:{old:`alt`},sceneFonts:`In dieser Szene`,availableFonts:`Verfügbare Schriftarten`,empty:`Keine Schriftarten gefunden`},L={empty:`Keine Benutzer gefunden`,hint:{text:`Klicke auf Benutzer um zu folgen`,followStatus:`Du folgst derzeit diesem Benutzer`,inCall:`Benutzer ist in einem Sprachanruf`,micMuted:`Mikrofon des Benutzers ist stumm geschaltet`,isSpeaking:`Benutzer spricht`}},R={title:`Befehlspalette`,shortcuts:{select:`Auswählen`,confirm:`Bestätigen`,close:`Schließen`},recents:`Zuletzt verwendet`,search:{placeholder:`Suche in Menüs und Befehlen, entdecke versteckte Funktionen`,noMatch:`Keine passenden Befehle...`},itemNotAvailable:`Befehl ist nicht verfügbar...`,shortcutHint:`Benutze {{shortcut}} für Befehlspalette`},z={ctrl:`Strg`,option:`Option`,cmd:`Cmd`,alt:`Alt`,escape:`Esc`,enter:`Eingabe`,shift:`Umschalt`,spacebar:`Leertaste`,delete:`Löschen`,mmb:`Mausrad`},B={labels:e,elementLink:t,library:n,search:r,buttons:i,alerts:a,errors:o,toolBar:s,bucketfill:c,element:l,headings:u,hints:d,canvasError:f,errorSplash:p,shareDialog:m,roomDialog:h,errorDialog:g,progressDialog:_,exportDialog:v,helpDialog:y,clearCanvasDialog:b,publishDialog:x,publishSuccessDialog:S,confirmDialog:C,imageExportDialog:w,encrypted:T,stats:E,toast:D,colors:O,welcomeScreen:k,colorPicker:A,overwriteConfirm:j,mermaid:M,ttd:N,chat:P,quickSearch:F,fontList:I,userList:L,commandPalette:R,keys:z};export{a as alerts,c as bucketfill,i as buttons,f as canvasError,P as chat,b as clearCanvasDialog,A as colorPicker,O as colors,R as commandPalette,C as confirmDialog,B as default,l as element,t as elementLink,T as encrypted,g as errorDialog,p as errorSplash,o as errors,v as exportDialog,I as fontList,u as headings,y as helpDialog,d as hints,w as imageExportDialog,z as keys,e as labels,n as library,M as mermaid,j as overwriteConfirm,_ as progressDialog,x as publishDialog,S as publishSuccessDialog,F as quickSearch,h as roomDialog,r as search,m as shareDialog,E as stats,D as toast,s as toolBar,N as ttd,L as userList,k as welcomeScreen};
@@ -0,0 +1,11 @@
1
+ import"./chunk-SRAX5OIU-KFQikY-4.js";var e={signUp:``,signIn:``,paste:`Einfügen`,pasteAsPlaintext:`Als unformatierten Text einfügen`,pasteCharts:`Diagramme einfügen`,chartType_bar:`Balkendiagramm`,chartType_line:`Liniendiagramm`,chartType_radar:`Netzdiagramm`,chartType_plaintext:`Klartext`,selectAll:`Alle auswählen`,multiSelect:`Element zur Auswahl hinzufügen`,moveCanvas:`Zeichenfläche verschieben`,cut:`Ausschneiden`,copy:`Kopieren`,copyAsPng:`In Zwischenablage kopieren (PNG)`,copyAsSvg:`In Zwischenablage kopieren (SVG)`,copyText:`Als Text in Zwischenablage kopieren`,copySource:`Quelle in Zwischenablage kopieren`,convertToCode:`In Code konvertieren`,bringForward:`Nach vorne`,sendToBack:`In den Hintergrund`,bringToFront:`In den Vordergrund`,sendBackward:`Nach hinten`,delete:`Löschen`,copyStyles:`Formatierung kopieren`,pasteStyles:`Formatierung übernehmen`,stroke:`Strich`,changeStroke:`Strichfarbe ändern`,background:`Hintergrund`,changeBackground:`Hintergrundfarbe ändern`,fill:`Füllung`,strokeWidth:`Strichstärke`,strokeStyle:`Konturstil`,strokeStyle_solid:`Durchgezogen`,strokeStyle_dashed:`Gestrichelt`,strokeStyle_dotted:`Gepunktet`,sloppiness:`Sauberkeit`,pressure:``,pressure_constant:``,pressure_variable:``,opacity:`Deckkraft`,textAlign:`Textausrichtung`,edges:`Kanten`,sharp:`Scharf`,round:`Rund`,arrowheads:`Pfeilspitzen`,arrowhead_none:`Keine`,arrowhead_arrow:`Pfeil`,arrowhead_bar:`Balken`,arrowhead_circle:`Kreis`,arrowhead_circle_outline:`Kreis (Umrandung)`,arrowhead_triangle:`Dreieck`,arrowhead_triangle_outline:`Dreieck (Umrandung)`,arrowhead_diamond:`Raute`,arrowhead_diamond_outline:`Raute (Umrandung)`,arrowhead_crowfoot_many:`Krähenfuß (viele)`,arrowhead_crowfoot_one:`Krähenfuß (einer)`,arrowhead_crowfoot_one_or_many:`Krähenfuß (einer oder viele)`,arrowhead_cardinality_one:`Kardinalität (eins)`,arrowhead_cardinality_many:`Kardinalität (viele)`,arrowhead_cardinality_one_or_many:`Kardinalität (eins oder viele)`,arrowhead_cardinality_exactly_one:`Kardinalität (genau eins)`,arrowhead_cardinality_zero_or_one:`Kardinalität (null oder eins)`,arrowhead_cardinality_zero_or_many:`Kardinalität (null oder viele)`,more_options:`Weitere Optionen`,cardinality:`Kardinalität`,arrowtypes:`Pfeiltyp`,arrowtype_sharp:`Scharfer Pfeil`,arrowtype_round:`Gebogener Pfeil`,arrowtype_elbowed:`Abgewinkelter Pfeil`,fontSize:`Schriftgröße`,fontFamily:`Schriftfamilie`,addWatermark:`"Made with Excalidraw" hinzufügen`,handDrawn:`Handgezeichnet`,normal:`Normal`,code:`Code`,small:`Klein`,medium:`Mittel`,large:`Groß`,veryLarge:`Sehr groß`,solid:`Deckend`,hachure:`Schraffiert`,zigzag:`Zickzack`,crossHatch:`Kreuzschraffiert`,thin:`Dünn`,bold:`Fett`,left:`Links`,center:`Zentriert`,right:`Rechts`,extraBold:`Extra Fett`,architect:`Architekt`,artist:`Künstler`,cartoonist:`Karikaturist`,fileTitle:`Dateiname`,colorPicker:`Farbwähler`,canvasColors:`Auf Zeichenfläche verwendet`,canvasBackground:`Zeichenflächenhintergrund`,drawingCanvas:`Zeichenfläche`,clearCanvas:`Zeichenfläche löschen`,layers:`Ebenen`,actions:`Aktionen`,language:`Sprache`,liveCollaboration:`Live-Zusammenarbeit...`,duplicateSelection:`Duplizieren`,untitled:`Unbenannt`,name:`Name`,yourName:`Dein Name`,madeWithExcalidraw:`Made with Excalidraw`,group:`Auswahl gruppieren`,ungroup:`Gruppierung aufheben`,collaborators:`Mitarbeitende`,you:``,toggleGrid:`Raster umschalten`,addToLibrary:`Zur Bibliothek hinzufügen`,removeFromLibrary:`Aus Bibliothek entfernen`,libraryLoadingMessage:`Lade Bibliothek…`,libraries:`Bibliotheken durchsuchen`,loadingScene:`Lade Zeichnung…`,loadScene:`Szene aus Datei laden`,align:`Ausrichten`,alignTop:`Obere Kanten`,alignBottom:`Untere Kanten`,alignLeft:`Linke Kanten`,alignRight:`Rechte Kanten`,centerVertically:`Vertikal zentrieren`,centerHorizontally:`Horizontal zentrieren`,distributeHorizontally:`Horizontal verteilen`,distributeVertically:`Vertikal verteilen`,flipHorizontal:`Horizontal spiegeln`,flipVertical:`Vertikal spiegeln`,viewMode:`Ansichtsmodus`,share:`Teilen`,showStroke:`Auswahl für Strichfarbe anzeigen`,showBackground:`Hintergrundfarbe auswählen`,showFonts:`Schriftauswahl anzeigen`,toggleTheme:`Helles/dunkles Design umschalten`,theme:`Design`,personalLib:`Persönliche Bibliothek`,excalidrawLib:`Excalidraw Bibliothek`,decreaseFontSize:`Schriftgröße verringern`,increaseFontSize:`Schriftgröße erhöhen`,unbindText:`Text lösen`,bindText:`Text an Container binden`,createContainerFromText:`Text in Container einbetten`,link:{edit:`Link bearbeiten`,editEmbed:`Einbettbaren Link bearbeiten`,create:`Link hinzufügen`,label:`Link`,labelEmbed:`Verlinken & einbetten`,empty:`Kein Link festgelegt`,hint:`Link hier eingeben oder einfügen`,goToElement:`Gehe zu Zielelement`},lineEditor:{edit:`Linie bearbeiten`,editArrow:`Pfeil bearbeiten`},polygon:{breakPolygon:`Polygon auftrennen`,convertToPolygon:`In Polygon umwandeln`},elementLock:{lock:`Sperren`,unlock:`Entsperren`,lockAll:`Alle sperren`,unlockAll:`Alle entsperren`},statusPublished:`Veröffentlicht`,sidebarLock:`Seitenleiste offen lassen`,selectAllElementsInFrame:`Alle Elemente im Rahmen auswählen`,removeAllElementsFromFrame:`Alle Elemente aus dem Rahmen entfernen`,eyeDropper:`Farbe von der Zeichenfläche auswählen`,textToDiagram:`Text zu Diagramm`,prompt:`Eingabe`,followUs:`Folge uns`,discordChat:`Discord-Chat`,zoomToFitViewport:`Zoom auf Ansicht anpassen`,zoomToFitSelection:`Zoom auf Auswahl anpassen`,zoomToFit:`Zoom auf alle Elemente anpassen`,installPWA:`Excalidraw lokal installieren (PWA)`,autoResize:`Automatische Textgrößenanpassung`,imageCropping:`Bild zuschneiden`,unCroppedDimension:`Originalgröße`,copyElementLink:`Link zum Objekt kopieren`,linkToElement:`Link zum Objekt`,wrapSelectionInFrame:`Auswahl in Rahmen einbetten`,tab:`Tab`,shapeSwitch:`Form wechseln`,preferences:`Einstellungen`,preferences_toolLock:`Werkzeug sperren`,boxSelectionMode:``,boxSelectionContain:``,boxSelectionOverlap:``,arrowBinding:`Pfeilbindung`,midpointSnapping:`An Mittelpunkten einrasten`},t={title:`Link zum Objekt`,desc:`Klicke auf eine Form auf der Zeichenfläche oder füge einen Link ein.`,notFound:`Verknüpftes Objekt wurde nicht auf der Zeichenfläche gefunden.`},n={noItems:`Noch keine Elemente hinzugefügt...`,hint_emptyLibrary:`Wähle ein Element auf der Zeichenfläche, um es hier hinzuzufügen. Oder installiere eine Bibliothek aus dem öffentlichen Verzeichnis.`,hint_emptyPrivateLibrary:`Wähle ein Element von der Zeichenfläche, um es hier hinzuzufügen.`,search:{inputPlaceholder:`Bibliothek durchsuchen`,heading:`Bibliothekstreffer`,noResults:`Keine passenden Elemente gefunden...`,clearSearch:`Suche zurücksetzen`}},r={title:`Auf Zeichenfläche suchen`,noMatch:`Keine Treffer gefunden...`,singleResult:`Ergebnis`,multipleResults:`Ergebnisse`,placeholder:`Text auf Zeichenfläche suchen...`,frames:`Rahmen`,texts:`Texte`},i={clearReset:`Zeichenfläche löschen & Hintergrundfarbe zurücksetzen`,exportJSON:`In Datei exportieren`,exportImage:`Bild exportieren...`,export:`Speichern als...`,copyToClipboard:`In Zwischenablage kopieren`,copyLink:`Link kopieren`,save:`In aktueller Datei speichern`,saveAs:`Speichern unter`,load:`Öffnen`,getShareableLink:`Teilbaren Link erhalten`,close:`Schließen`,selectLanguage:`Sprache auswählen`,scrollBackToContent:`Zurück zum Inhalt`,zoomIn:`Vergrößern`,zoomOut:`Verkleinern`,resetZoom:`Zoom zurücksetzen`,menu:`Menü`,done:`Fertig`,edit:`Bearbeiten`,undo:`Rückgängig machen`,redo:`Wiederholen`,resetLibrary:`Bibliothek zurücksetzen`,createNewRoom:`Neuen Raum erstellen`,fullScreen:`Vollbildanzeige`,darkMode:`Dunkles Design`,lightMode:`Helles Design`,systemMode:`System-Modus`,zenMode:`Zen-Modus`,objectsSnapMode:`Einrasten an Objekten`,exitZenMode:`Zen-Modus verlassen`,cancel:`Abbrechen`,saveLibNames:`Name(n) speichern und schließen`,clear:`Löschen`,remove:`Entfernen`,embed:`Einbettung umschalten`,publishLibrary:`Umbenennen oder veröffentlichen`,submit:`Absenden`,confirm:`Bestätigen`,embeddableInteractionButton:`Klicken, um zu interagieren`},a={clearReset:`Dies wird die ganze Zeichenfläche löschen. Bist du dir sicher?`,couldNotCreateShareableLink:`Konnte keinen teilbaren Link erstellen.`,couldNotCreateShareableLinkTooBig:`Konnte keinen teilbaren Link erstellen: Die Zeichnung ist zu groß`,couldNotLoadInvalidFile:`Ungültige Datei konnte nicht geladen werden`,importBackendFailed:`Import vom Server ist fehlgeschlagen.`,cannotExportEmptyCanvas:`Leere Zeichenfläche kann nicht exportiert werden.`,couldNotCopyToClipboard:`Kopieren in die Zwischenablage fehlgeschlagen.`,decryptFailed:`Daten konnten nicht entschlüsselt werden.`,uploadedSecurly:`Der Upload wurde mit Ende-zu-Ende-Verschlüsselung gespeichert. Weder Excalidraw noch Dritte können den Inhalt einsehen.`,loadSceneOverridePrompt:`Das Laden einer externen Zeichnung ersetzt den vorhandenen Inhalt. Möchtest du fortfahren?`,collabStopOverridePrompt:`Das Stoppen der Sitzung wird deine vorherige, lokal gespeicherte Zeichnung überschreiben. Bist du dir sicher?
2
+
3
+ (Wenn du deine lokale Zeichnung behalten möchtest, schließe stattdessen den Browser-Tab.)`,errorAddingToLibrary:`Das Element konnte nicht zur Bibliothek hinzugefügt werden`,errorRemovingFromLibrary:`Das Element konnte nicht aus der Bibliothek entfernt werden`,confirmAddLibrary:`Dies fügt {{numShapes}} Form(en) zu deiner Bibliothek hinzu. Bist du dir sicher?`,imageDoesNotContainScene:`Dieses Bild scheint keine Szenendaten zu enthalten. Hast du das Einbetten der Szene beim Export aktiviert?`,cannotRestoreFromImage:`Die Zeichnung konnte aus dieser Bilddatei nicht wiederhergestellt werden`,invalidSceneUrl:`Die Szene konnte nicht von der angegebenen URL importiert werden. Die URL ist entweder fehlerhaft oder enthält keine gültigen Excalidraw-JSON-Daten.`,resetLibrary:`Dies löscht deine Bibliothek. Bist du sicher?`,removeItemsFromsLibrary:`{{count}} Element(e) aus der Bibliothek löschen?`,invalidEncryptionKey:`Verschlüsselungsschlüssel muss 22 Zeichen lang sein. Die Live-Zusammenarbeit ist deaktiviert.`,collabOfflineWarning:`Keine Internetverbindung verfügbar.
4
+ Deine Änderungen werden nicht gespeichert!`,localStorageQuotaExceeded:`Browserspeicher voll. Änderungen werden nicht gespeichert.`},o={unsupportedFileType:`Nicht unterstützter Dateityp.`,imageInsertError:`Das Bild konnte nicht eingefügt werden. Versuche es später erneut...`,fileTooBig:`Die Datei ist zu groß. Die maximal zulässige Größe ist {{maxSize}}.`,svgImageInsertError:`SVG-Bild konnte nicht eingefügt werden. Das SVG-Markup sieht ungültig aus.`,failedToFetchImage:`Bild konnte nicht abgerufen werden.`,cannotResolveCollabServer:`Konnte keine Verbindung zum Collab-Server herstellen. Bitte lade die Seite neu und versuche es erneut.`,importLibraryError:`Bibliothek konnte nicht geladen werden`,saveLibraryError:`Bibliothek konnte nicht gespeichert werden. Bitte speichere deine Bibliothek lokal in einer Datei, um sicherzustellen, dass keine Änderungen verloren gehen.`,collabSaveFailed:`Keine Speicherung in der Backend-Datenbank möglich. Wenn die Probleme weiterhin bestehen, solltest du deine Datei lokal speichern, um sicherzustellen, dass du deine Arbeit nicht verlierst.`,collabSaveFailed_sizeExceeded:`Keine Speicherung in der Backend-Datenbank möglich, die Zeichenfläche scheint zu groß zu sein. Du solltest deine Datei lokal speichern, um sicherzustellen, dass du deine Arbeit nicht verlierst.`,imageToolNotSupported:`Bilder sind deaktiviert.`,brave_measure_text_error:{line1:`Sieht so aus, als ob du den Brave-Browser verwendest und die <bold>aggressive Blockierung von Fingerabdrücken</bold> aktiviert hast.`,line2:`Dies könnte dazu führen, dass die <bold>Textelemente</bold> in deinen Zeichnungen nicht korrekt dargestellt werden.`,line3:`Wir empfehlen dringend, diese Einstellung zu deaktivieren. Dazu kannst du <link>diesen Schritten</link> folgen.`,line4:`Wenn die Deaktivierung dieser Einstellung die fehlerhafte Anzeige von Textelementen nicht behebt, öffne bitte ein <issueLink>Ticket</issueLink> auf unserem GitHub oder schreibe uns auf <discordLink>Discord</discordLink>`},libraryElementTypeError:{embeddable:`Einbettbare Elemente können der Bibliothek nicht hinzugefügt werden.`,iframe:`IFrame-Elemente können nicht zur Bibliothek hinzugefügt werden.`,image:`Unterstützung für das Hinzufügen von Bildern in die Bibliothek kommt bald!`},asyncPasteFailedOnRead:`Einfügen fehlgeschlagen (konnte aus der Zwischenablage des Systems nicht gelesen werden).`,asyncPasteFailedOnParse:`Einfügen fehlgeschlagen.`,copyToSystemClipboardFailed:`Kopieren in die Zwischenablage fehlgeschlagen.`},s={selection:`Auswahl`,lasso:`Lassoauswahl`,image:`Bild einfügen`,rectangle:`Rechteck`,diamond:`Raute`,ellipse:`Ellipse`,arrow:`Pfeil`,line:`Linie`,freedraw:`Zeichnen`,text:`Text`,library:`Bibliothek`,lock:`Ausgewähltes Werkzeug nach Zeichnen aktiv lassen`,penMode:`Stift-Modus - Berührung verhindern`,link:`Link für ausgewählte Form hinzufügen / aktualisieren`,eraser:`Radierer`,frame:`Rahmenwerkzeug`,magicframe:`Wireframe zu Code`,embeddable:`Web-Einbettung`,laser:`Laserpointer`,autoshape:``,bucketfill:``,hand:`Hand (Schwenkwerkzeug)`,extraTools:`Weitere Werkzeuge`,mermaidToExcalidraw:`Mermaid zu Excalidraw`,convertElementType:`Formtyp umschalten`},c={noRegion:``,tooComplex:``},l={rectangle:`Rechteck`,diamond:`Raute`,ellipse:`Ellipse`,arrow:`Pfeil`,line:`Linie`,freedraw:`Frei zeichnen`,text:`Text`,image:`Bild`,group:`Gruppe`,frame:`Rahmen`,magicframe:`Wireframe zu Code`,embeddable:`Web-Einbettung`,selection:`Auswahl`,iframe:`IFrame`},u={canvasActions:`Aktionen für Zeichenfläche`,selectedShapeActions:`Aktionen für Auswahl`,shapes:`Formen`},d={dismissSearch:`{{shortcut}} zum Schließen der Suche`,canvasPanning:`Halte {{shortcut_1}} oder {{shortcut_2}} beim Ziehen gedrückt, um die Zeichenfläche zu verschieben, oder verwende das Handwerkzeug`,linearElement:`Klicken für Linie mit mehreren Punkten, Ziehen für einzelne Linie`,arrowTool:`Klicken für mehrere Punkte, ziehen für eine einzelne Linie. Drücke erneut {{shortcut}}, um den Pfeiltyp zu wechseln.`,arrowBindModifiers:`Halte {{shortcut_1}} gedrückt, um die Bindung zu deaktivieren, oder {{shortcut_2}} für einen festen Ankerpunkt`,freeDraw:`Klicke und ziehe. Lass los, wenn du fertig bist`,text:`Tipp: Du kannst auch Text hinzufügen, indem du mit dem Auswahlwerkzeug auf eine beliebige Stelle doppelklickst`,embeddable:`Klicken und ziehen, um eine Webseiten-Einbettung zu erstellen`,autoshape:``,text_selected:`Doppelklicken oder {{shortcut}} drücken, um Text zu bearbeiten`,text_editing:`Drücke {{shortcut_1}} oder {{shortcut_2}}, um die Bearbeitung abzuschließen`,linearElementMulti:`Klicke auf den letzten Punkt oder drücke {{shortcut_1}} oder {{shortcut_2}} zum Abschließen`,lockAngle:`Halte {{shortcut}} gedrückt, um den Winkel einzuschränken`,resize:`Halte {{shortcut_1}} gedrückt, um die Proportionen beizubehalten.
5
+ {{shortcut_2}} gedrückt halten, um von der Mitte aus zu skalieren`,resizeImage:`Halte {{shortcut_1}} gedrückt, um frei zu skalieren.
6
+ {{shortcut_2}} gedrückt halten, um von der Mitte aus zu skalieren`,rotate:`Halte {{shortcut}} gedrückt, um den Winkel einzuschränken`,toggleArrowhead:``,lineEditor_info:`Halte {{shortcut_1}} gedrückt und doppelklicke oder drücke {{shortcut_2}}, um Punkte zu bearbeiten`,lineEditor_line_info:`Doppelklicken oder {{shortcut}} drücken, um Punkte zu bearbeiten`,lineEditor_pointSelected:`Drücke {{shortcut_1}}, um Punkt(e) zu entfernen,
7
+ {{shortcut_2}} zum Duplizieren, oder ziehe zum Verschieben`,lineEditor_nothingSelected:`Wähle einen Punkt zum Bearbeiten (halte {{shortcut_1}} für Mehrfachauswahl),
8
+ oder halte {{shortcut_2}} gedrückt und klicke, um neue Punkte hinzuzufügen`,publishLibrary:`Veröffentliche deine eigene Bibliothek`,bindTextToElement:`{{shortcut}} zum Hinzufügen von Text`,createFlowchart:`{{shortcut}} zum Erstellen eines Flussdiagramms`,deepBoxSelect:`Halte {{shortcut}} gedrückt für Tiefenauswahl und um Ziehen zu verhindern`,eraserRevert:`Halte {{shortcut}} gedrückt, um zum Löschen markierte Elemente wiederherzustellen`,firefox_clipboard_write:`Diese Funktion kann wahrscheinlich aktiviert werden, indem die Einstellung "dom.events.asyncClipboard.clipboardItem" auf "true" gesetzt wird. Um die Browsereinstellungen in Firefox zu ändern, besuche die Seite "about:config".`,disableSnapping:`Halte {{shortcut}} gedrückt, um Einrasten zu deaktivieren`,enterCropEditor:`Doppelklicke auf das Bild oder drücke {{shortcut}}, um das Bild zuzuschneiden`,leaveCropEditor:`Klicke außerhalb des Bildes oder drücke {{shortcut_1}} oder {{shortcut_2}}, um das Zuschneiden abzuschließen`},f={cannotShowPreview:`Vorschau kann nicht angezeigt werden`,canvasTooBig:`Die Zeichenfläche ist möglicherweise zu groß.`,canvasTooBigTip:`Tipp: Schiebe die am weitesten entfernten Elemente ein wenig näher zusammen.`},p={headingMain:`Es ist ein Fehler aufgetreten. Versuche <button>die Seite neu zu laden.</button>`,clearCanvasMessage:`Wenn das Neuladen nicht funktioniert, versuche <button>die Zeichenfläche zu löschen.</button>`,clearCanvasCaveat:` Dies wird zum Verlust von Daten führen `,trackedToSentry:`Der Fehler mit der Kennung {{eventId}} wurde in unserem System registriert.`,openIssueMessage:`Wir waren sehr vorsichtig und haben deine Zeichnungsinformationen nicht in die Fehlerinformationen aufgenommen. Wenn deine Zeichnung nicht privat ist, unterstütze uns bitte über unseren <button>Bug-Tracker</button>. Bitte teile die unten stehenden Informationen mit uns im GitHub Issue (Kopieren und Einfügen).`,sceneContent:`Zeichnungsinhalt:`},m={or:`Oder`},h={desc_intro:`Lade Leute ein, an deiner Zeichnung mitzuarbeiten.`,desc_privacy:`Keine Sorge, die Sitzung ist Ende-zu-Ende verschlüsselt und vollständig privat. Nicht einmal unser Server kann sehen, was du zeichnest.`,button_startSession:`Sitzung starten`,button_stopSession:`Sitzung beenden`,desc_inProgressIntro:`Die Live-Sitzung wird nun ausgeführt.`,desc_shareLink:`Teile diesen Link mit allen, mit denen du zusammenarbeiten möchtest:`,desc_exitSession:`Wenn du die Sitzung beendest, wird deine Verbindung zum Raum getrennt. Du kannst jedoch lokal weiter an der Zeichnung arbeiten. Beachte, dass dies keine Auswirkungen auf andere hat und diese weiterhin gemeinsam an ihrer Version arbeiten können.`,shareTitle:`An einer Live-Kollaborationssitzung auf Excalidraw teilnehmen`},g={title:`Fehler`},_={title:`Speichern`,defaultMessage:`Speicherung wird vorbereitet...`},v={disk_title:`Auf Festplatte speichern`,disk_details:`Exportiere die Zeichnungsdaten in eine Datei, aus der du später importieren kannst.`,disk_button:`Als Datei speichern`,link_title:`Teilbarer Link`,link_details:`Als schreibgeschützten Link exportieren.`,link_button:`Als Link exportieren`,excalidrawplus_description:`Speichere die Szene in deinem Excalidraw+ Arbeitsbereich.`,excalidrawplus_button:`Exportieren`,excalidrawplus_exportError:`Konnte nicht nach Excalidraw+ exportieren...`},y={blog:`Lies unseren Blog`,click:`klicken`,deepSelect:`Auswahl innerhalb der Gruppe`,deepBoxSelect:`Auswahl innerhalb der Gruppe, und Ziehen vermeiden`,createFlowchart:`Erstelle ein Flussdiagramm aus einem generischen Element`,navigateFlowchart:`Durch ein Flussdiagramm navigieren`,curvedArrow:`Gebogener Pfeil`,curvedLine:`Gebogene Linie`,documentation:`Dokumentation`,doubleClick:`doppelklicken`,drag:`ziehen`,editor:`Editor`,editLineArrowPoints:`Linien-/Pfeil-Punkte bearbeiten`,editText:`Text bearbeiten / Label hinzufügen`,github:`Ein Problem gefunden? Informiere uns`,howto:`Folge unseren Anleitungen`,or:`oder`,preventBinding:`Pfeil-Bindung verhindern`,tools:`Werkzeuge`,shortcuts:`Tastaturkürzel`,textFinish:`Bearbeitung beenden (Texteditor)`,textNewLine:`Neue Zeile hinzufügen (Texteditor)`,title:`Hilfe`,view:`Ansicht`,zoomToFit:`Zoomen um alle Elemente einzupassen`,zoomToSelection:`Auf Auswahl zoomen`,toggleElementLock:`Auswahl sperren/entsperren`,movePageUpDown:`Seite nach oben/unten verschieben`,movePageLeftRight:`Seite nach links/rechts verschieben`,cropStart:`Bild zuschneiden`,cropFinish:`Zuschneiden des Bildes beenden`},b={title:`Zeichenfläche löschen`},x={title:`Bibliothek veröffentlichen`,itemName:`Elementname`,authorName:`Name des Autors`,githubUsername:`GitHub-Benutzername`,twitterUsername:`Twitter-Benutzername`,libraryName:`Name der Bibliothek`,libraryDesc:`Beschreibung der Bibliothek`,website:`Webseite`,placeholder:{authorName:`Dein Name oder Benutzername`,libraryName:`Name deiner Bibliothek`,libraryDesc:`Beschreibung deiner Bibliothek, um anderen Nutzern bei der Verwendung zu helfen`,githubHandle:`GitHub-Handle (optional), damit du die Bibliothek bearbeiten kannst, wenn sie zur Überprüfung eingereicht wurde`,twitterHandle:`Twitter-Benutzername (optional), damit wir wissen, wen wir bei Werbung über Twitter nennen können`,website:`Link zu deiner persönlichen Webseite oder zu anderer Seite (optional)`},errors:{required:`Erforderlich`,website:`Gültige URL eingeben`},noteDescription:`Sende deine Bibliothek ein, um in das <link>öffentliche Bibliotheksverzeichnis</link> aufgenommen zu werden, damit andere sie in ihren Zeichnungen verwenden können.`,noteGuidelines:`Die Bibliothek muss zuerst manuell freigegeben werden. Bitte lies die <link>Richtlinien</link> vor dem Absenden. Du benötigst ein GitHub-Konto, um zu kommunizieren und Änderungen vorzunehmen, falls erforderlich, aber es ist nicht unbedingt erforderlich.`,noteLicense:`Mit dem Absenden stimmst du zu, dass die Bibliothek unter der <link>MIT-Lizenz</link> veröffentlicht wird. Das bedeutet, dass jeder sie ohne Einschränkungen nutzen kann.`,noteItems:`Jedes Bibliothekselement muss einen eigenen Namen haben, damit es gefiltert werden kann. Die folgenden Bibliothekselemente werden hinzugefügt:`,atleastOneLibItem:`Bitte wähle mindestens ein Bibliothekselement aus, um zu beginnen`,republishWarning:`Hinweis: Einige der ausgewählten Elemente sind bereits als veröffentlicht/eingereicht markiert. Du solltest Elemente nur erneut einreichen, wenn du eine bestehende Bibliothek oder Einreichung aktualisierst.`},S={title:`Bibliothek übermittelt`,content:`Vielen Dank {{authorName}}. Deine Bibliothek wurde zur Überprüfung eingereicht. Du kannst den Status verfolgen<link>hier</link>`},C={resetLibrary:`Bibliothek zurücksetzen`,removeItemsFromLib:`Ausgewählte Elemente aus der Bibliothek entfernen`},w={header:`Bild exportieren`,label:{withBackground:`Hintergrund`,onlySelected:`Nur ausgewählte`,darkMode:`Dunkler Modus`,embedScene:`Szene einbetten`,scale:`Skalierung`,padding:`Abstand`},tooltip:{embedScene:`Die Zeichnungsdaten werden in der exportierten PNG/SVG-Datei gespeichert, sodass die Szene daraus wiederhergestellt werden kann.
9
+ Dadurch wird die exportierte Datei größer.`},title:{exportToPng:`Als PNG exportieren`,exportToSvg:`Als SVG exportieren`,copyPngToClipboard:`PNG in die Zwischenablage kopieren`},button:{exportToPng:`PNG`,exportToSvg:`SVG`,copyPngToClipboard:`In Zwischenablage kopieren`}},T={tooltip:`Da deine Zeichnungen Ende-zu-Ende verschlüsselt werden, sehen auch unsere Excalidraw-Server sie niemals.`,link:`Blogbeitrag über Ende-zu-Ende-Verschlüsselung in Excalidraw`},E={angle:`Winkel`,shapes:`Formen`,height:`Höhe`,scene:`Zeichnung`,selected:`Ausgewählt`,storage:`Speicher`,fullTitle:`Zeichenflächen- & Formeigenschaften`,title:`Eigenschaften`,generalStats:`Allgemein`,elementProperties:`Formeigenschaften`,total:`Gesamt`,version:`Version`,versionCopy:`Zum Kopieren klicken`,versionNotAvailable:`Version nicht verfügbar`,width:`Breite`},D={addedToLibrary:`Zur Bibliothek hinzugefügt`,copyStyles:`Formatierungen kopiert.`,copyToClipboard:`In die Zwischenablage kopiert.`,copyToClipboardAsPng:`{{exportSelection}} als PNG in die Zwischenablage kopiert
10
+ ({{exportColorScheme}})`,copyToClipboardAsSvg:`{{exportSelection}} als SVG in die Zwischenablage kopiert ({{exportColorScheme}})`,fileSaved:`Datei gespeichert.`,fileSavedToFilename:`Als {filename} gespeichert`,canvas:`Zeichenfläche`,selection:`Auswahl`,pasteAsSingleElement:`Verwende {{shortcut}} , um als einzelnes Element
11
+ einzufügen oder in einen existierenden Texteditor einzufügen`,unableToEmbed:`Einbetten dieser URL ist derzeit nicht zulässig. Erstelle einen Issue auf GitHub, um die URL freigeben zu lassen`,unrecognizedLinkFormat:`Der eingebettete Link stimmt nicht mit dem erwarteten Format überein. Bitte versuche, den Einbettungs-Code der Quellseite einzufügen`,elementLinkCopied:`Link in Zwischenablage kopiert`},O={transparent:`Transparent`,black:`Schwarz`,white:`Weiß`,red:`Rot`,pink:`Pink`,grape:`Traube`,violet:`Violett`,gray:`Grau`,blue:`Blau`,cyan:`Cyan`,teal:`Blaugrün`,green:`Grün`,yellow:`Gelb`,orange:`Orange`,bronze:`Bronze`},k={app:{center_heading:`Deine Zeichnungen werden im Browserspeicher gespeichert.`,center_heading_line2:`Der Browserspeicher kann unerwartet gelöscht werden.`,center_heading_line3:`Speichere deine Arbeit regelmäßig in einer Datei, um Datenverlust zu vermeiden.`,center_heading_plus:`Möchtest du stattdessen zu Excalidraw+ gehen?`,menuHint:`Exportieren, Einstellungen, Sprachen, ...`},defaults:{menuHint:`Exportieren, Einstellungen und mehr...`,center_heading:`Diagramme. Einfach. Gemacht.`,toolbarHint:`Wähle ein Werkzeug & beginne zu zeichnen!`,helpHint:`Kurzbefehle & Hilfe`}},A={color:`Farbe`,mostUsedCustomColors:`Beliebteste benutzerdefinierte Farben`,colors:`Farben`,shades:`Schattierungen`,hexCode:`Hex-Code`,noShades:`Keine Schattierungen für diese Farbe verfügbar`,invalidColor:``,invalidHexLength:``,topPicksTip:``,resetTopPicks:``},j={action:{exportToImage:{title:`Als Bild exportieren`,button:`Als Bild exportieren`,description:`Exportiere die Zeichnungsdaten als Bild, aus dem du später importieren kannst.`},saveToDisk:{title:`Auf Festplatte speichern`,button:`Auf Festplatte speichern`,description:`Exportiere die Zeichnungsdaten in eine Datei, aus der du später importieren kannst.`},excalidrawPlus:{title:`Excalidraw+`,button:`Export nach Excalidraw+`,description:`Speichere die Szene in deinem Excalidraw+-Arbeitsbereich.`}},modal:{loadFromFile:{title:`Aus Datei laden`,button:`Aus Datei laden`,description:`Das Laden aus einer Datei wird <bold>deinen vorhandenen Inhalt ersetzen</bold>.<br></br>Du kannst deine Zeichnung zuerst mit einer der folgenden Optionen sichern.`},shareableLink:{title:`Aus Link laden`,button:`Meinen Inhalt ersetzen`,description:`Das Laden einer externen Zeichnung wird <bold>deinen vorhandenen Inhalt ersetzen</bold>.<br></br>Du kannst deine Zeichnung zuerst mit einer der folgenden Optionen sichern.`}}},M={title:`Mermaid zu Excalidraw`,button:`Einfügen`,description:`Derzeit werden nur <flowchartLink>Flussdiagramme</flowchartLink>, <sequenceLink>Sequenzdiagramme</sequenceLink>, <classLink>Klassendiagramme</classLink> und <erdLink>Entity-Relationship-Diagramme</erdLink> unterstützt. Die anderen Typen werden als Bild in Excalidraw dargestellt.`,syntax:`Mermaid-Syntax`,preview:`Vorschau`,label:`Mermaid`,inputPlaceholder:`Mermaid-Diagrammdefinition hier eingeben...`,autoFixAvailable:`Automatische Korrektur verfügbar`},N={error:`Fehler!`},P={inputPlaceholder:`Beschreibe hier deine Diagrammidee... ({{shortcut}} für neue Zeile)`,inputPlaceholderWithMessages:`Diagramm weiter verfeinern...`,generating:`Wird erstellt...`,rateLimitRemaining:`{{count}} Anfragen heute verbleibend`,role:{user:`Du`,assistant:`KI-Assistent`,system:`System`},aiBeta:`KI Beta`,label:`Chat`,menu:`Menü`,newChat:`Neuer Chat`,deleteChat:`Chat löschen`,deleteMessage:`Nachricht löschen`,viewAsMermaid:`Als Mermaid anzeigen`,placeholder:{title:`Gestalte dein Diagramm`,description:`Beschreibe das Diagramm, das du erstellen möchtest, und wir generieren es für dich.`,hint:``},preview:`Vorschau`,insert:`Einfügen`,retry:`Erneut versuchen`,errors:{promptTooShort:`Eingabe zu kurz (min. {{min}} Zeichen)`,promptTooLong:`Eingabe zu lang (max. {{max}} Zeichen)`,generationFailed:`Erstellung fehlgeschlagen`,invalidDiagram:`Ungültiges Diagramm erstellt :(. Du kannst es manuell bearbeiten, mit automatischer Korrektur erneut versuchen oder eine andere Eingabe verwenden.`,fixInMermaid:`Mermaid manuell bearbeiten →`,aiRepair:`Neu generieren (Auto-Korrektur) →`,requestAborted:`Anfrage abgebrochen`,requestFailed:`Anfrage fehlgeschlagen`,mermaidParseError:`Mermaid-Syntaxfehler`},rateLimit:{messageLimit:`Du hast dein KI-Limit im kostenlosen Tarif erreicht. Probiere Excalidraw+ für mehr oder komme morgen wieder.`,generalRateLimit:`Nicht so schnell! Bitte warte einen Moment, bevor du es erneut versuchst.`,messageLimitInputPlaceholder:`Nachrichtenlimit erreicht`},upsellBtnLabel:`Auf Plus upgraden`},F={placeholder:`Schnellsuche`},I={badge:{old:`alt`},sceneFonts:`In dieser Szene`,availableFonts:`Verfügbare Schriftarten`,empty:`Keine Schriftarten gefunden`},L={empty:`Keine Benutzer gefunden`,hint:{text:`Klicke auf Benutzer um zu folgen`,followStatus:`Du folgst derzeit diesem Benutzer`,inCall:`Benutzer ist in einem Sprachanruf`,micMuted:`Mikrofon des Benutzers ist stumm geschaltet`,isSpeaking:`Benutzer spricht`}},R={title:`Befehlspalette`,shortcuts:{select:`Auswählen`,confirm:`Bestätigen`,close:`Schließen`},recents:`Zuletzt verwendet`,search:{placeholder:`Suche in Menüs und Befehlen, entdecke versteckte Funktionen`,noMatch:`Keine passenden Befehle...`},itemNotAvailable:`Befehl ist nicht verfügbar...`,shortcutHint:`Benutze {{shortcut}} für Befehlspalette`},z={ctrl:`Strg`,option:`Option`,cmd:`Cmd`,alt:`Alt`,escape:`Esc`,enter:`Eingabe`,shift:`Umschalt`,spacebar:`Leertaste`,delete:`Löschen`,mmb:`Mausrad`},B={labels:e,elementLink:t,library:n,search:r,buttons:i,alerts:a,errors:o,toolBar:s,bucketfill:c,element:l,headings:u,hints:d,canvasError:f,errorSplash:p,shareDialog:m,roomDialog:h,errorDialog:g,progressDialog:_,exportDialog:v,helpDialog:y,clearCanvasDialog:b,publishDialog:x,publishSuccessDialog:S,confirmDialog:C,imageExportDialog:w,encrypted:T,stats:E,toast:D,colors:O,welcomeScreen:k,colorPicker:A,overwriteConfirm:j,mermaid:M,ttd:N,chat:P,quickSearch:F,fontList:I,userList:L,commandPalette:R,keys:z};export{a as alerts,c as bucketfill,i as buttons,f as canvasError,P as chat,b as clearCanvasDialog,A as colorPicker,O as colors,R as commandPalette,C as confirmDialog,B as default,l as element,t as elementLink,T as encrypted,g as errorDialog,p as errorSplash,o as errors,v as exportDialog,I as fontList,u as headings,y as helpDialog,d as hints,w as imageExportDialog,z as keys,e as labels,n as library,M as mermaid,j as overwriteConfirm,_ as progressDialog,x as publishDialog,S as publishSuccessDialog,F as quickSearch,h as roomDialog,r as search,m as shareDialog,E as stats,D as toast,s as toolBar,N as ttd,L as userList,k as welcomeScreen};
@@ -0,0 +1 @@
1
+ @font-face{font-display:block;font-family:KaTeX_AMS;font-style:normal;font-weight:400;src:url(./KaTeX_AMS-Regular-BQhdFMY1.woff2)format("woff2"),url(./KaTeX_AMS-Regular-DMm9YOAa.woff)format("woff"),url(./KaTeX_AMS-Regular-DRggAlZN.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Caligraphic;font-style:normal;font-weight:700;src:url(./KaTeX_Caligraphic-Bold-Dq_IR9rO.woff2)format("woff2"),url(./KaTeX_Caligraphic-Bold-BEiXGLvX.woff)format("woff"),url(./KaTeX_Caligraphic-Bold-ATXxdsX0.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Caligraphic;font-style:normal;font-weight:400;src:url(./KaTeX_Caligraphic-Regular-Di6jR-x-.woff2)format("woff2"),url(./KaTeX_Caligraphic-Regular-CTRA-rTL.woff)format("woff"),url(./KaTeX_Caligraphic-Regular-wX97UBjC.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Fraktur;font-style:normal;font-weight:700;src:url(./KaTeX_Fraktur-Bold-CL6g_b3V.woff2)format("woff2"),url(./KaTeX_Fraktur-Bold-BsDP51OF.woff)format("woff"),url(./KaTeX_Fraktur-Bold-BdnERNNW.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Fraktur;font-style:normal;font-weight:400;src:url(./KaTeX_Fraktur-Regular-CTYiF6lA.woff2)format("woff2"),url(./KaTeX_Fraktur-Regular-Dxdc4cR9.woff)format("woff"),url(./KaTeX_Fraktur-Regular-CB_wures.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Main;font-style:normal;font-weight:700;src:url(./KaTeX_Main-Bold-Cx986IdX.woff2)format("woff2"),url(./KaTeX_Main-Bold-Jm3AIy58.woff)format("woff"),url(./KaTeX_Main-Bold-waoOVXN0.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Main;font-style:italic;font-weight:700;src:url(./KaTeX_Main-BoldItalic-DxDJ3AOS.woff2)format("woff2"),url(./KaTeX_Main-BoldItalic-SpSLRI95.woff)format("woff"),url(./KaTeX_Main-BoldItalic-DzxPMmG6.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Main;font-style:italic;font-weight:400;src:url(./KaTeX_Main-Italic-NWA7e6Wa.woff2)format("woff2"),url(./KaTeX_Main-Italic-BMLOBm91.woff)format("woff"),url(./KaTeX_Main-Italic-3WenGoN9.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Main;font-style:normal;font-weight:400;src:url(./KaTeX_Main-Regular-B22Nviop.woff2)format("woff2"),url(./KaTeX_Main-Regular-Dr94JaBh.woff)format("woff"),url(./KaTeX_Main-Regular-ypZvNtVU.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Math;font-style:italic;font-weight:700;src:url(./KaTeX_Math-BoldItalic-CZnvNsCZ.woff2)format("woff2"),url(./KaTeX_Math-BoldItalic-iY-2wyZ7.woff)format("woff"),url(./KaTeX_Math-BoldItalic-B3XSjfu4.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Math;font-style:italic;font-weight:400;src:url(./KaTeX_Math-Italic-t53AETM-.woff2)format("woff2"),url(./KaTeX_Math-Italic-DA0__PXp.woff)format("woff"),url(./KaTeX_Math-Italic-flOr_0UB.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_SansSerif;font-style:normal;font-weight:700;src:url(./KaTeX_SansSerif-Bold-D1sUS0GD.woff2)format("woff2"),url(./KaTeX_SansSerif-Bold-DbIhKOiC.woff)format("woff"),url(./KaTeX_SansSerif-Bold-CFMepnvq.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_SansSerif;font-style:italic;font-weight:400;src:url(./KaTeX_SansSerif-Italic-C3H0VqGB.woff2)format("woff2"),url(./KaTeX_SansSerif-Italic-DN2j7dab.woff)format("woff"),url(./KaTeX_SansSerif-Italic-YYjJ1zSn.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_SansSerif;font-style:normal;font-weight:400;src:url(./KaTeX_SansSerif-Regular-DDBCnlJ7.woff2)format("woff2"),url(./KaTeX_SansSerif-Regular-CS6fqUqJ.woff)format("woff"),url(./KaTeX_SansSerif-Regular-BNo7hRIc.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Script;font-style:normal;font-weight:400;src:url(./KaTeX_Script-Regular-D3wIWfF6.woff2)format("woff2"),url(./KaTeX_Script-Regular-D5yQViql.woff)format("woff"),url(./KaTeX_Script-Regular-C5JkGWo-.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Size1;font-style:normal;font-weight:400;src:url(./KaTeX_Size1-Regular-mCD8mA8B.woff2)format("woff2"),url(./KaTeX_Size1-Regular-C195tn64.woff)format("woff"),url(./KaTeX_Size1-Regular-Dbsnue_I.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Size2;font-style:normal;font-weight:400;src:url(./KaTeX_Size2-Regular-Dy4dx90m.woff2)format("woff2"),url(./KaTeX_Size2-Regular-oD1tc_U0.woff)format("woff"),url(./KaTeX_Size2-Regular-B7gKUWhC.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Size3;font-style:normal;font-weight:400;src:url(data:font/woff2;base64,d09GMgABAAAAAA4oAA4AAAAAHbQAAA3TAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAABmAAgRQIDgmcDBEICo1oijYBNgIkA14LMgAEIAWJAAeBHAyBHBvbGiMRdnO0IkRRkiYDgr9KsJ1NUAf2kILNxgUmgqIgq1P89vcbIcmsQbRps3vCcXdYOKSWEPEKgZgQkprQQsxIXUgq0DqpGKmIvrgkeVGtEQD9DzAO29fM9jYhxZEsL2FeURH2JN4MIcTdO049NCVdxQ/w9NrSYFEBKTDKpLKfNkCGDc1RwjZLQcm3vqJ2UW9Xfa3tgAHz6ivp6vgC2yD4/6352ndnN0X0TL7seypkjZlMsjmZnf0Mm5Q+JykRWQBKCVCVPbARPXWyQtb5VgLB6Biq7/Uixcj2WGqdI8tGSgkuRG+t910GKP2D7AQH0DB9FMDW/obJZ8giFI3Wg8Cvevz0M+5m0rTh7XDBlvo9Y4vm13EXmfttwI4mBo1EG15fxJhUiCLbiiyCf/ZA6MFAhg3pGIZGdGIVjtPn6UcMk9A/UUr9PhoNsCENw1APAq0gpH73e+M+0ueyHbabc3vkbcdtzcf/fiy+NxQEjf9ud/ELBHAXJ0nk4z+MXH2Ev/kWyV4k7SkvpPc9Qr38F6RPWnM9cN6DJ0AdD1BhtgABtmoRoFCvPsBAumNm6soZG2Gk5GyVTo2sJncSyp0jQTYoR6WDvTwaaEcHsxHfvuWhHA3a6bN7twRKtcGok6NsCi7jYRrM2jExsUFMxMQYuJbMhuWNOumEJy9hi29Dmg5zMp/A5+hhPG19j1vBrq8JTLr8ki5VLPmG/PynJHVul440bxg5xuymHUFPBshC+nA9I1FmwbRBTNHAcik3Oae0cxKoI3MOriM42UrPe51nsaGxJ+WfXubAsP84aabUlQSJ1IiE0iPETLUU4CATgfXSCSpuRFRmCGbO+wSpAnzaeaCYW1VNEysRtuXCEL1kUFUbbtMv3Tilt/1c11jt3Q5bbMa84cpWipp8Elw3MZhOHsOlwwVUQM3lAR35JiFQbaYCRnMF2lxAWoOg2gyoIV4PouX8HytNIfLhqpJtXB4vjiViUI8IJ7bkC4ikkQvKksnOTKICwnqWSZ9YS5f0WCxmpgjbIq7EJcM4aI2nmhLNY2JIUgOjXZFWBHb+x5oh6cwb0Tv1ackHdKi0I9OO2wE9aogIOn540CCCziyhN+IaejtgAONKznHlHyutPrHGwCx9S6B8kfS4Mfi4Eyv7OU730bT1SCBjt834cXsf43zVjPUqqJjgrjeGnBxSG4aYAKFuVbeCfkDIjAqMb6yLNIbCuvXhMH2/+k2vkNpkORhR59N1CkzoOENvneIosjYmuTxlhUzaGEJQ/iWqx4dmwpmKjrwTiTGTCVozNAYqk/zXOndWxuWSmJkQpJw3pK5KX6QrLt5LATMqpmPAQhkhK6PUjzHUn7E0gHE0kPE0iKkolgkUx9SZmVAdDgpffdyJKg3k7VmzYGCwVXGz/tXmkOIp+vcWs+EMuhhvN0h9uhfzWJziBQmCREGSIFmQIkgVpAnSBRmC//6hkLZwaVhwxlrJSOdqlFtOYxlau9F2QN5Y98xmIAsiM1HVp2VFX+DHHGg6Ecjh3vmqtidX3qHI2qycTk/iwxSt5UzTmEP92ZBnEWTk4Mx8Mpl78ZDokxg/KWb+Q0QkvdKVmq3TMW+RXEgrsziSAfNXFMhDc60N5N9jQzjfO0kBKpUZl0ZmwJ41j/B9Hz6wmRaJB84niNmQrzp9eSlQCDDzazGDdVi3P36VZQ+Jy4f9UBNp+3zTjqI4abaFAm+GShVaXlsGdF3FYzZcDI6cori4kMxUECl9IjJZpzkvitAoxKue+90pDMvcKRxLl53TmOKCmV/xRolNKSqqUxc6LStOETmFOiLZZptlZepcKiAzteG8PEdpnQpbOMNcMsR4RR2Bs0cKFEvSmIjAFcnarqwUL4lDhHmnVkwu1IwshbiCcgvOheZuYyOteufZZwlcTlLgnZ3o/WcYdzZHW/WGaqaVfmTZ1aWCceJjkbZqsfbkOtcFlUZM/jy+hXHDbaUobWqqXaeWobbLO99yG5N3U4wxco0rQGGcOLASFMXeJoham8M+/x6O2WywK2l4HGbq1CoUyC/IZikQhdq3SiuNrvAEj0AVu9x2x3lp/xWzahaxidezFVtdcb5uEnzyl0ZmYiuKI0exvCd4Xc9CV1KB0db00z92wDPde0kukbvZIWN6jUWFTmPIC/Y4UPCm8UfDTFZpZNon1qLFTkBhxzB+FjQRA2Q/YRJT8pQigslMaUpFyAG8TMlXigiqmAZX4xgijKjRlGpLE0GdplRfCaJo0JQaSxNBk6ZmMzcya0FmrcisDdn0Q3HI2sWSppYigmlM1XT/kLQZSNpMJG0WkjYbSZuDpM1F0uYhFc1HxU4m1QJjDK6iL0S5uSj5rgXc3RejEigtcRBtqYPQsiTskmO5vosV+q4VGIKbOkDg0jtRrq+Em1YloaTFar3EGr1EUC8R0kus1Uus00usL97ABr2BjXoDm/QGNhuWtMVBKOwg/i78lT7hBsAvDmwHc/ao3vmUbBmhjeYySZNWvGkfZAgISDSaDo1SVpzGDsAEkF8B+gEapViUoZgUWXcRIGFZNm6gWbAKk0bp0k1MHG9fLYtV4iS2SmLEQFARzRcnf9PUS0LVn05/J9MiRRBU3v2IrvW974v4N00L7ZMk0wXP1409CHo/an8zTRHD3eSJ6m8D4YMkZNl3M79sqeuAsr/m3f+8/yl7A50aiAEJgeBeMWzu7ui9UfUBCe2TIqZIoOd/3/udRBOQidQZUERzb2/VwZN1H/Sju82ew2H2Wfr6qvfVf3hqwDvAIpkQVFy4B9Pe9e4/XvPeceu7h3dvO56iJPf0+A6cqA2ip18ER+iFgggiuOkvj24bby0N9j2UHIkgqIt+sVgfodC4YghLSMjSZbH0VR/6dMDrYJeKHilKTemt6v6kvzvn3/RrdWtr0GoN/xL+Sex/cPYLUpepx9cz/D46UPU5KXgAQa+NDps1v6J3xP1i2HtaDB0M9aX2deA7SYff//+gUCovMmIK/qfsFcOk+4Y5ZN97XlG6zebqtMbKgeRFi51vnxTQYBUik2rS/Cn6PC8ADR8FGxsRPB82dzfND90gIcshOcYUkfjherBz53odpm6TP8txlwOZ71xmfHHOvq053qFF/MRlS3jP0ELudrf2OeN8DHvp6ZceLe8qKYvWz/7yp0u4dKPfli3CYq0O13Ih71mylJ80tOi10On8wi+F4+LWgDPeJ30msSQt9/vkmHq9/Lvo2b461mP801v3W4xTcs6CbvF9UDdrSt+A8OUbpSh55qAUFXWznBBfdeJ8a4d7ugT5tvxUza3h9m4H7ptTqiG4z0g5dc0X29OcGlhpGFMpQo9ytTS+NViZpNdvU4kWx+LKxNY10kQ1yqGXrhe4/1nvP7E+nd5A92TtaRplbHSqoIdOqtRWti+fkB5/n1+/VvCmz12pG1kpQWsfi1ftlBobm0bpngs16CHkbIwdLnParxtTV3QYRlfJ0KFskH7pdN/YDn+yRuSd7sNH3aO0DYPggk6uWuXrfOc+fa3VTxFVvKaNxHsiHmsXyCLIE5yuOeN3/Jdf8HBL/5M6shjyhxHx9BjB1O0+4NLOnjLLSxwO7ukN4jMbOIcD879KLSi6Pk61Oqm2377n8079PXEEQ7cy7OKEC9nbpet118fxweTafpt69x/Bt8UqGzNQt7aelpc44dn5cqhwf71+qKp/Zf/+a0zcizOUWpl/iBcSXip0pplkatCchoH5c5aUM8I7/dWxAej8WicPL1URFZ9BDJelUwEwTkGqUhgSlydVes95YdXvhh9Gfz/aeFWvgVb4tuLbcv4+wLdutVZv/cUonwBD/6eDlE0aSiKK/uoH3+J1wDE/jMVqY2ysGufN84oIXB0sPzy8ollX/LegY74DgJXJR57sn+VGza0x3DnuIgABFM15LmajjjsNlYj+JEZGbuRYcAMOWxFkPN2w6Wd46xo4gVWQR/X4lyI/R6K/YK0110GzudPRW7Y+UOBGTfNNzHeYT0fiH0taunBpq9HEW8OKSaBGj21L0MqenEmNRWBAWDWAk4CpNoEZJ2tTaPFgbQYj8HxtFilErs3BTRwT8uO1NXQaWfIotchmPkAF5mMBAliEmZiOGVgCG9LgRzpscMAOOwowlT3JhusdazXGSC/hxR3UlmWVwWHpOIKheqONvjyhSiTHIkVUco5bnji8m//zL7PKaT1Vl5I6UE609f+gkr6MZKVyKc7zJRmCahLsdlyA5fdQkRSan9LgnnLEyGSkaKJCJog0wAgvepWBt80+1yKln1bMVtCljfNWDueKLsWwaEbBSfSPTEmVRsUcYYMnEjcjeyCZzBXK9E9BYBXLKjOSpUDR+nEV3TFSUdQaz+ot98QxgXwx0GQ+EEUAKB2qZPkQQ0GqFD8UPFMqyaCHM24BZmSGic9EYMagKizOw9Hz50DMrDLrqqLkTAhplMictiCAx5S3BIUQdeJeLnBy2CNtMfz6cV4u8XKoFZQesbf9YZiIERiHjaNodDW6LgcirX/mPnJIkBGDUpTBhSa0EIr38D5hCIszhCM8URGBqImoWjpvpt1ebu/v3Gl3qJfMnNM+9V+kiRFyROTPHQWOcs1dNW94/ukKMPZBvDi55i5CttdeJz84DLngLqjcdwEZ87bFFR8CIG35OAkDVN6VRDZ7aq67NteYqZ2lpT8oYB2CytoBd6VuAx4WgiAsnuj3WohG+LugzXiQRDeM3XYXlULv4dp5VFYC)format("woff2"),url(./KaTeX_Size3-Regular-CTq5MqoE.woff)format("woff"),url(./KaTeX_Size3-Regular-DgpXs0kz.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Size4;font-style:normal;font-weight:400;src:url(./KaTeX_Size4-Regular-Dl5lxZxV.woff2)format("woff2"),url(./KaTeX_Size4-Regular-BF-4gkZK.woff)format("woff"),url(./KaTeX_Size4-Regular-DWFBv043.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Typewriter;font-style:normal;font-weight:400;src:url(./KaTeX_Typewriter-Regular-CO6r4hn1.woff2)format("woff2"),url(./KaTeX_Typewriter-Regular-C0xS9mPB.woff)format("woff"),url(./KaTeX_Typewriter-Regular-D3Ib7_Hf.ttf)format("truetype")}.katex{text-indent:0;text-rendering:auto;font:1.21em/1.2 KaTeX_Main,Times New Roman,serif;position:relative}.katex *{border-color:currentColor;-ms-high-contrast-adjust:none!important}.katex .katex-version:after{content:"0.18.7"}.katex .katex-mathml{clip-path:inset(50%);border:0;width:1px;height:1px;padding:0;position:absolute;overflow:hidden}.katex .katex-html>.katex-newline{display:block}.katex .katex-base{white-space:nowrap;width:min-content;position:relative}.katex .katex-base,.katex .katex-strut{display:inline-block}.katex .textbf{font-weight:700}.katex .textit{font-style:italic}.katex .textrm{font-family:KaTeX_Main}.katex .textsf{font-family:KaTeX_SansSerif}.katex .texttt{font-family:KaTeX_Typewriter}.katex .mathnormal{font-family:KaTeX_Math;font-style:italic}.katex .mathit{font-family:KaTeX_Main;font-style:italic}.katex .mathrm{font-style:normal}.katex .mathbf{font-family:KaTeX_Main;font-weight:700}.katex .boldsymbol{font-family:KaTeX_Math;font-style:italic;font-weight:700}.katex .amsrm,.katex .mathbb,.katex .textbb{font-family:KaTeX_AMS}.katex .mathcal{font-family:KaTeX_Caligraphic}.katex .mathfrak,.katex .textfrak{font-family:KaTeX_Fraktur}.katex .mathboldfrak,.katex .textboldfrak{font-family:KaTeX_Fraktur;font-weight:700}.katex .mathtt{font-family:KaTeX_Typewriter}.katex .mathscr,.katex .textscr{font-family:KaTeX_Script}.katex .mathsf,.katex .textsf{font-family:KaTeX_SansSerif}.katex .mathboldsf,.katex .textboldsf{font-family:KaTeX_SansSerif;font-weight:700}.katex .mathitsf,.katex .mathsfit,.katex .textitsf{font-family:KaTeX_SansSerif;font-style:italic}.katex .mainrm{font-family:KaTeX_Main;font-style:normal}.katex .vlist-t{border-collapse:collapse;table-layout:fixed;display:inline-table}.katex .vlist-r{display:table-row}.katex .vlist{vertical-align:bottom;display:table-cell;position:relative}.katex .vlist>span{height:0;display:block;position:relative}.katex .vlist>span>span{display:inline-block}.katex .vlist>span>.pstrut{width:0;overflow:hidden}.katex .vlist-t2{margin-right:-2px}.katex .vlist-s{vertical-align:bottom;width:2px;min-width:2px;font-size:1px;display:table-cell}.katex .katex-vbox{flex-direction:column;align-items:baseline;display:inline-flex}.katex .katex-thinbox{flex-direction:row;width:0;max-width:0;display:inline-flex}.katex .msupsub{text-align:left}.katex .mfrac>span>span{text-align:center}.katex .mfrac .frac-line{border-bottom-style:solid;width:100%;display:inline-block}.katex .katex-hdashline,.katex .katex-hline,.katex .katex-overline .overline-line,.katex .katex-rule,.katex .katex-underline .underline-line,.katex .mfrac .frac-line{min-height:1px}.katex .mspace{display:inline-block}.katex .katex-smash{line-height:0;display:inline}.katex .clap,.katex .llap,.katex .rlap{width:0;position:relative}.katex .clap>.katex-inner,.katex .llap>.katex-inner,.katex .rlap>.katex-inner{position:absolute}.katex .clap>.katex-fix,.katex .llap>.katex-fix,.katex .rlap>.katex-fix{display:inline-block}.katex .llap>.katex-inner{right:0}.katex .clap>.katex-inner,.katex .rlap>.katex-inner{left:0}.katex .clap>.katex-inner>span{margin-left:-50%;margin-right:50%}.katex .katex-rule{border:0 solid;display:inline-block;position:relative}.katex .katex-hline,.katex .katex-overline .overline-line,.katex .katex-underline .underline-line{border-bottom-style:solid;width:100%;display:inline-block}.katex .katex-hdashline{border-bottom-style:dashed;width:100%;display:inline-block}.katex .sqrt>.katex-root{margin-left:.277778em;margin-right:-.555556em}.katex .fontsize-ensurer.reset-size1.size1,.katex .katex-sizing.reset-size1.size1{font-size:1em}.katex .fontsize-ensurer.reset-size1.size2,.katex .katex-sizing.reset-size1.size2{font-size:1.2em}.katex .fontsize-ensurer.reset-size1.size3,.katex .katex-sizing.reset-size1.size3{font-size:1.4em}.katex .fontsize-ensurer.reset-size1.size4,.katex .katex-sizing.reset-size1.size4{font-size:1.6em}.katex .fontsize-ensurer.reset-size1.size5,.katex .katex-sizing.reset-size1.size5{font-size:1.8em}.katex .fontsize-ensurer.reset-size1.size6,.katex .katex-sizing.reset-size1.size6{font-size:2em}.katex .fontsize-ensurer.reset-size1.size7,.katex .katex-sizing.reset-size1.size7{font-size:2.4em}.katex .fontsize-ensurer.reset-size1.size8,.katex .katex-sizing.reset-size1.size8{font-size:2.88em}.katex .fontsize-ensurer.reset-size1.size9,.katex .katex-sizing.reset-size1.size9{font-size:3.456em}.katex .fontsize-ensurer.reset-size1.size10,.katex .katex-sizing.reset-size1.size10{font-size:4.148em}.katex .fontsize-ensurer.reset-size1.size11,.katex .katex-sizing.reset-size1.size11{font-size:4.976em}.katex .fontsize-ensurer.reset-size2.size1,.katex .katex-sizing.reset-size2.size1{font-size:.833333em}.katex .fontsize-ensurer.reset-size2.size2,.katex .katex-sizing.reset-size2.size2{font-size:1em}.katex .fontsize-ensurer.reset-size2.size3,.katex .katex-sizing.reset-size2.size3{font-size:1.16667em}.katex .fontsize-ensurer.reset-size2.size4,.katex .katex-sizing.reset-size2.size4{font-size:1.33333em}.katex .fontsize-ensurer.reset-size2.size5,.katex .katex-sizing.reset-size2.size5{font-size:1.5em}.katex .fontsize-ensurer.reset-size2.size6,.katex .katex-sizing.reset-size2.size6{font-size:1.66667em}.katex .fontsize-ensurer.reset-size2.size7,.katex .katex-sizing.reset-size2.size7{font-size:2em}.katex .fontsize-ensurer.reset-size2.size8,.katex .katex-sizing.reset-size2.size8{font-size:2.4em}.katex .fontsize-ensurer.reset-size2.size9,.katex .katex-sizing.reset-size2.size9{font-size:2.88em}.katex .fontsize-ensurer.reset-size2.size10,.katex .katex-sizing.reset-size2.size10{font-size:3.45667em}.katex .fontsize-ensurer.reset-size2.size11,.katex .katex-sizing.reset-size2.size11{font-size:4.14667em}.katex .fontsize-ensurer.reset-size3.size1,.katex .katex-sizing.reset-size3.size1{font-size:.714286em}.katex .fontsize-ensurer.reset-size3.size2,.katex .katex-sizing.reset-size3.size2{font-size:.857143em}.katex .fontsize-ensurer.reset-size3.size3,.katex .katex-sizing.reset-size3.size3{font-size:1em}.katex .fontsize-ensurer.reset-size3.size4,.katex .katex-sizing.reset-size3.size4{font-size:1.14286em}.katex .fontsize-ensurer.reset-size3.size5,.katex .katex-sizing.reset-size3.size5{font-size:1.28571em}.katex .fontsize-ensurer.reset-size3.size6,.katex .katex-sizing.reset-size3.size6{font-size:1.42857em}.katex .fontsize-ensurer.reset-size3.size7,.katex .katex-sizing.reset-size3.size7{font-size:1.71429em}.katex .fontsize-ensurer.reset-size3.size8,.katex .katex-sizing.reset-size3.size8{font-size:2.05714em}.katex .fontsize-ensurer.reset-size3.size9,.katex .katex-sizing.reset-size3.size9{font-size:2.46857em}.katex .fontsize-ensurer.reset-size3.size10,.katex .katex-sizing.reset-size3.size10{font-size:2.96286em}.katex .fontsize-ensurer.reset-size3.size11,.katex .katex-sizing.reset-size3.size11{font-size:3.55429em}.katex .fontsize-ensurer.reset-size4.size1,.katex .katex-sizing.reset-size4.size1{font-size:.625em}.katex .fontsize-ensurer.reset-size4.size2,.katex .katex-sizing.reset-size4.size2{font-size:.75em}.katex .fontsize-ensurer.reset-size4.size3,.katex .katex-sizing.reset-size4.size3{font-size:.875em}.katex .fontsize-ensurer.reset-size4.size4,.katex .katex-sizing.reset-size4.size4{font-size:1em}.katex .fontsize-ensurer.reset-size4.size5,.katex .katex-sizing.reset-size4.size5{font-size:1.125em}.katex .fontsize-ensurer.reset-size4.size6,.katex .katex-sizing.reset-size4.size6{font-size:1.25em}.katex .fontsize-ensurer.reset-size4.size7,.katex .katex-sizing.reset-size4.size7{font-size:1.5em}.katex .fontsize-ensurer.reset-size4.size8,.katex .katex-sizing.reset-size4.size8{font-size:1.8em}.katex .fontsize-ensurer.reset-size4.size9,.katex .katex-sizing.reset-size4.size9{font-size:2.16em}.katex .fontsize-ensurer.reset-size4.size10,.katex .katex-sizing.reset-size4.size10{font-size:2.5925em}.katex .fontsize-ensurer.reset-size4.size11,.katex .katex-sizing.reset-size4.size11{font-size:3.11em}.katex .fontsize-ensurer.reset-size5.size1,.katex .katex-sizing.reset-size5.size1{font-size:.555556em}.katex .fontsize-ensurer.reset-size5.size2,.katex .katex-sizing.reset-size5.size2{font-size:.666667em}.katex .fontsize-ensurer.reset-size5.size3,.katex .katex-sizing.reset-size5.size3{font-size:.777778em}.katex .fontsize-ensurer.reset-size5.size4,.katex .katex-sizing.reset-size5.size4{font-size:.888889em}.katex .fontsize-ensurer.reset-size5.size5,.katex .katex-sizing.reset-size5.size5{font-size:1em}.katex .fontsize-ensurer.reset-size5.size6,.katex .katex-sizing.reset-size5.size6{font-size:1.11111em}.katex .fontsize-ensurer.reset-size5.size7,.katex .katex-sizing.reset-size5.size7{font-size:1.33333em}.katex .fontsize-ensurer.reset-size5.size8,.katex .katex-sizing.reset-size5.size8{font-size:1.6em}.katex .fontsize-ensurer.reset-size5.size9,.katex .katex-sizing.reset-size5.size9{font-size:1.92em}.katex .fontsize-ensurer.reset-size5.size10,.katex .katex-sizing.reset-size5.size10{font-size:2.30444em}.katex .fontsize-ensurer.reset-size5.size11,.katex .katex-sizing.reset-size5.size11{font-size:2.76444em}.katex .fontsize-ensurer.reset-size6.size1,.katex .katex-sizing.reset-size6.size1{font-size:.5em}.katex .fontsize-ensurer.reset-size6.size2,.katex .katex-sizing.reset-size6.size2{font-size:.6em}.katex .fontsize-ensurer.reset-size6.size3,.katex .katex-sizing.reset-size6.size3{font-size:.7em}.katex .fontsize-ensurer.reset-size6.size4,.katex .katex-sizing.reset-size6.size4{font-size:.8em}.katex .fontsize-ensurer.reset-size6.size5,.katex .katex-sizing.reset-size6.size5{font-size:.9em}.katex .fontsize-ensurer.reset-size6.size6,.katex .katex-sizing.reset-size6.size6{font-size:1em}.katex .fontsize-ensurer.reset-size6.size7,.katex .katex-sizing.reset-size6.size7{font-size:1.2em}.katex .fontsize-ensurer.reset-size6.size8,.katex .katex-sizing.reset-size6.size8{font-size:1.44em}.katex .fontsize-ensurer.reset-size6.size9,.katex .katex-sizing.reset-size6.size9{font-size:1.728em}.katex .fontsize-ensurer.reset-size6.size10,.katex .katex-sizing.reset-size6.size10{font-size:2.074em}.katex .fontsize-ensurer.reset-size6.size11,.katex .katex-sizing.reset-size6.size11{font-size:2.488em}.katex .fontsize-ensurer.reset-size7.size1,.katex .katex-sizing.reset-size7.size1{font-size:.416667em}.katex .fontsize-ensurer.reset-size7.size2,.katex .katex-sizing.reset-size7.size2{font-size:.5em}.katex .fontsize-ensurer.reset-size7.size3,.katex .katex-sizing.reset-size7.size3{font-size:.583333em}.katex .fontsize-ensurer.reset-size7.size4,.katex .katex-sizing.reset-size7.size4{font-size:.666667em}.katex .fontsize-ensurer.reset-size7.size5,.katex .katex-sizing.reset-size7.size5{font-size:.75em}.katex .fontsize-ensurer.reset-size7.size6,.katex .katex-sizing.reset-size7.size6{font-size:.833333em}.katex .fontsize-ensurer.reset-size7.size7,.katex .katex-sizing.reset-size7.size7{font-size:1em}.katex .fontsize-ensurer.reset-size7.size8,.katex .katex-sizing.reset-size7.size8{font-size:1.2em}.katex .fontsize-ensurer.reset-size7.size9,.katex .katex-sizing.reset-size7.size9{font-size:1.44em}.katex .fontsize-ensurer.reset-size7.size10,.katex .katex-sizing.reset-size7.size10{font-size:1.72833em}.katex .fontsize-ensurer.reset-size7.size11,.katex .katex-sizing.reset-size7.size11{font-size:2.07333em}.katex .fontsize-ensurer.reset-size8.size1,.katex .katex-sizing.reset-size8.size1{font-size:.347222em}.katex .fontsize-ensurer.reset-size8.size2,.katex .katex-sizing.reset-size8.size2{font-size:.416667em}.katex .fontsize-ensurer.reset-size8.size3,.katex .katex-sizing.reset-size8.size3{font-size:.486111em}.katex .fontsize-ensurer.reset-size8.size4,.katex .katex-sizing.reset-size8.size4{font-size:.555556em}.katex .fontsize-ensurer.reset-size8.size5,.katex .katex-sizing.reset-size8.size5{font-size:.625em}.katex .fontsize-ensurer.reset-size8.size6,.katex .katex-sizing.reset-size8.size6{font-size:.694444em}.katex .fontsize-ensurer.reset-size8.size7,.katex .katex-sizing.reset-size8.size7{font-size:.833333em}.katex .fontsize-ensurer.reset-size8.size8,.katex .katex-sizing.reset-size8.size8{font-size:1em}.katex .fontsize-ensurer.reset-size8.size9,.katex .katex-sizing.reset-size8.size9{font-size:1.2em}.katex .fontsize-ensurer.reset-size8.size10,.katex .katex-sizing.reset-size8.size10{font-size:1.44028em}.katex .fontsize-ensurer.reset-size8.size11,.katex .katex-sizing.reset-size8.size11{font-size:1.72778em}.katex .fontsize-ensurer.reset-size9.size1,.katex .katex-sizing.reset-size9.size1{font-size:.289352em}.katex .fontsize-ensurer.reset-size9.size2,.katex .katex-sizing.reset-size9.size2{font-size:.347222em}.katex .fontsize-ensurer.reset-size9.size3,.katex .katex-sizing.reset-size9.size3{font-size:.405093em}.katex .fontsize-ensurer.reset-size9.size4,.katex .katex-sizing.reset-size9.size4{font-size:.462963em}.katex .fontsize-ensurer.reset-size9.size5,.katex .katex-sizing.reset-size9.size5{font-size:.520833em}.katex .fontsize-ensurer.reset-size9.size6,.katex .katex-sizing.reset-size9.size6{font-size:.578704em}.katex .fontsize-ensurer.reset-size9.size7,.katex .katex-sizing.reset-size9.size7{font-size:.694444em}.katex .fontsize-ensurer.reset-size9.size8,.katex .katex-sizing.reset-size9.size8{font-size:.833333em}.katex .fontsize-ensurer.reset-size9.size9,.katex .katex-sizing.reset-size9.size9{font-size:1em}.katex .fontsize-ensurer.reset-size9.size10,.katex .katex-sizing.reset-size9.size10{font-size:1.20023em}.katex .fontsize-ensurer.reset-size9.size11,.katex .katex-sizing.reset-size9.size11{font-size:1.43981em}.katex .fontsize-ensurer.reset-size10.size1,.katex .katex-sizing.reset-size10.size1{font-size:.24108em}.katex .fontsize-ensurer.reset-size10.size2,.katex .katex-sizing.reset-size10.size2{font-size:.289296em}.katex .fontsize-ensurer.reset-size10.size3,.katex .katex-sizing.reset-size10.size3{font-size:.337512em}.katex .fontsize-ensurer.reset-size10.size4,.katex .katex-sizing.reset-size10.size4{font-size:.385728em}.katex .fontsize-ensurer.reset-size10.size5,.katex .katex-sizing.reset-size10.size5{font-size:.433944em}.katex .fontsize-ensurer.reset-size10.size6,.katex .katex-sizing.reset-size10.size6{font-size:.48216em}.katex .fontsize-ensurer.reset-size10.size7,.katex .katex-sizing.reset-size10.size7{font-size:.578592em}.katex .fontsize-ensurer.reset-size10.size8,.katex .katex-sizing.reset-size10.size8{font-size:.694311em}.katex .fontsize-ensurer.reset-size10.size9,.katex .katex-sizing.reset-size10.size9{font-size:.833173em}.katex .fontsize-ensurer.reset-size10.size10,.katex .katex-sizing.reset-size10.size10{font-size:1em}.katex .fontsize-ensurer.reset-size10.size11,.katex .katex-sizing.reset-size10.size11{font-size:1.19961em}.katex .fontsize-ensurer.reset-size11.size1,.katex .katex-sizing.reset-size11.size1{font-size:.200965em}.katex .fontsize-ensurer.reset-size11.size2,.katex .katex-sizing.reset-size11.size2{font-size:.241158em}.katex .fontsize-ensurer.reset-size11.size3,.katex .katex-sizing.reset-size11.size3{font-size:.281351em}.katex .fontsize-ensurer.reset-size11.size4,.katex .katex-sizing.reset-size11.size4{font-size:.321543em}.katex .fontsize-ensurer.reset-size11.size5,.katex .katex-sizing.reset-size11.size5{font-size:.361736em}.katex .fontsize-ensurer.reset-size11.size6,.katex .katex-sizing.reset-size11.size6{font-size:.401929em}.katex .fontsize-ensurer.reset-size11.size7,.katex .katex-sizing.reset-size11.size7{font-size:.482315em}.katex .fontsize-ensurer.reset-size11.size8,.katex .katex-sizing.reset-size11.size8{font-size:.578778em}.katex .fontsize-ensurer.reset-size11.size9,.katex .katex-sizing.reset-size11.size9{font-size:.694534em}.katex .fontsize-ensurer.reset-size11.size10,.katex .katex-sizing.reset-size11.size10{font-size:.833601em}.katex .fontsize-ensurer.reset-size11.size11,.katex .katex-sizing.reset-size11.size11{font-size:1em}.katex .delimsizing.size1{font-family:KaTeX_Size1}.katex .delimsizing.size2{font-family:KaTeX_Size2}.katex .delimsizing.size3{font-family:KaTeX_Size3}.katex .delimsizing.size4{font-family:KaTeX_Size4}.katex .delimsizing.mult .delim-size1>span{font-family:KaTeX_Size1}.katex .delimsizing.mult .delim-size4>span{font-family:KaTeX_Size4}.katex .nulldelimiter{width:.12em;display:inline-block}.katex .delimcenter,.katex .op-symbol{position:relative}.katex .op-symbol.small-op{font-family:KaTeX_Size1}.katex .op-symbol.large-op{font-family:KaTeX_Size2}.katex .katex-accent>.vlist-t,.katex .op-limits>.vlist-t{text-align:center}.katex .katex-accent .accent-body{position:relative}.katex .katex-accent .accent-body:not(.accent-full){width:0}.katex .katex-overlay{display:block}.katex .mtable .vertical-separator{min-width:1px;display:inline-block}.katex .mtable .arraycolsep{display:inline-block}.katex .mtable .col-align-c>.vlist-t{text-align:center}.katex .mtable .col-align-l>.vlist-t{text-align:left}.katex .mtable .col-align-r>.vlist-t{text-align:right}.katex .svg-align{text-align:left}.katex svg{fill:currentColor;stroke:currentColor;height:inherit;width:100%;display:block;position:absolute}.katex svg path{stroke:none}.katex svg{fill-rule:nonzero;fill-opacity:1;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1}.katex img{border-style:none;min-width:0;max-width:none;min-height:0;max-height:none}.katex .katex-stretchy{width:100%;display:block;position:relative;overflow:hidden}.katex .katex-stretchy:after,.katex .katex-stretchy:before{content:""}.katex .hide-tail{width:100%;position:relative;overflow:hidden}.katex .halfarrow-left{width:50.2%;position:absolute;left:0;overflow:hidden}.katex .halfarrow-right{width:50.2%;position:absolute;right:0;overflow:hidden}.katex .brace-left{width:25.1%;position:absolute;left:0;overflow:hidden}.katex .brace-center{width:50%;position:absolute;left:25%;overflow:hidden}.katex .brace-right{width:25.1%;position:absolute;right:0;overflow:hidden}.katex .x-arrow-pad{padding:0 .5em}.katex .cd-arrow-pad{padding:0 .55556em 0 .27778em}.katex .mover,.katex .munder,.katex .x-arrow{text-align:center}.katex .boxpad{padding:0 .3em}.katex .fbox,.katex .fcolorbox{box-sizing:border-box;border:.04em solid}.katex .cancel-pad{padding:0 .2em}.katex .cancel-lap{margin-left:-.2em;margin-right:-.2em}.katex .katex-sout{border-bottom-style:solid;border-bottom-width:.08em}.katex .angl{box-sizing:border-box;border-top:.049em solid;border-right:.049em solid;margin-right:.03889em}.katex .anglpad{padding:0 .03889em}.katex .reflectbox{display:inline-block;transform:scaleX(-1)}.katex .eqn-num:before{content:"(" counter(katexEqnNo) ")";counter-increment:katexEqnNo}.katex .mml-eqn-num:before{content:"(" counter(mmlEqnNo) ")";counter-increment:mmlEqnNo}.katex .mtr-glue{width:50%}.katex .cd-vert-arrow{display:inline-block;position:relative}.katex .cd-label-left{text-align:left;display:inline-block;position:absolute;right:calc(50% + .3em)}.katex .cd-label-right{text-align:right;display:inline-block;position:absolute;left:calc(50% + .3em)}.katex-display{text-align:center;margin:1em 0;display:block}.katex-display>.katex{text-align:center;white-space:nowrap;display:block}.katex-display>.katex>.katex-html{display:block;position:relative}.katex-display>.katex>.katex-html>.katex-tag{position:absolute;right:0}.katex-display.leqno>.katex>.katex-html>.katex-tag{left:0;right:auto}.katex-display.fleqn>.katex{text-align:left;padding-left:2em}body{counter-reset:katexEqnNo mmlEqnNo}.comments-drawer{width:var(--preview-floating-comments-width,var(--panel-comments-width));min-width:var(--panel-comments-min-width);border-left:1px solid var(--color-divider);background:var(--color-surface);flex-direction:column;min-height:0;display:flex}.comments-drawer-header{padding:var(--space-3);border-bottom:1px solid var(--color-divider);background:var(--color-surface)}.comments-drawer-title{color:var(--color-comment);font-size:var(--text-label);letter-spacing:.06em;text-transform:uppercase;font-weight:700}.comments-drawer-empty{margin:auto 0}.comments-drawer-list{padding:var(--space-2) var(--space-2) var(--space-4);flex-direction:column;gap:0;display:flex;overflow:auto}.comment-overview-panel{padding:var(--space-2) var(--space-2) var(--space-4);background:var(--color-surface);flex:1;overflow:hidden auto}.comment-overview-empty{min-height:160px}.comment-overview-file{padding:var(--space-2) 0 var(--space-1)}.comment-overview-file+.comment-overview-file{margin-top:var(--space-3);padding-top:var(--space-3);border-top:1px solid var(--color-divider)}.comment-overview-file-header{justify-content:space-between;align-items:flex-start;gap:var(--space-2);padding:2px var(--space-1) var(--space-1);display:flex}.comment-overview-file-title-wrap{gap:2px;min-width:0;display:grid}.comment-overview-file-title{color:var(--color-text);text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:13px;font-weight:650;overflow:hidden}.comment-overview-file-path{color:var(--color-text-faint);text-overflow:ellipsis;white-space:nowrap;font-size:var(--text-meta);line-height:1.1;overflow:hidden}.comment-overview-file-count,.file-tree-comment-count{border:1px solid oklch(from var(--color-comment) l c h / .2);border-radius:var(--radius-full);background:var(--color-comment-soft);min-width:18px;height:18px;color:var(--color-comment);justify-content:center;align-items:center;padding:0 5px;font-size:11px;font-weight:700;line-height:1;display:inline-flex}.comment-overview-thread{gap:var(--space-1);width:100%;padding:var(--space-2);border-radius:var(--radius-md);color:var(--color-text);text-align:left;cursor:pointer;transition:background var(--transition-interactive), border-color var(--transition-interactive), box-shadow var(--transition-interactive);background:0 0;border:1px solid #0000;margin:0 0 2px;display:grid}.comment-overview-thread:hover{background:var(--surface-comment-record-hover);box-shadow:none;border-color:#0000}.comment-overview-thread:focus-visible{border-color:var(--border-comment-strong);background:var(--surface-comment-record-hover);box-shadow:var(--shadow-focus-compact);outline:none}.comment-overview-thread-header,.comment-overview-thread-footer{justify-content:space-between;align-items:center;gap:var(--space-2);min-width:0;display:flex}.comment-overview-thread-line{border-radius:var(--radius-full);background:var(--color-comment-soft);min-width:0;max-width:58%;color:var(--color-comment);text-overflow:ellipsis;white-space:nowrap;font-size:var(--text-caption);align-items:center;padding:2px 6px;font-weight:700;line-height:1.2;display:inline-flex;overflow:hidden}.comment-overview-thread-meta{white-space:nowrap;flex-shrink:0}.comment-overview-thread-meta,.comment-overview-thread-footer{color:var(--color-text-faint);font-size:var(--text-meta);line-height:1.2}.comment-overview-thread-body{gap:var(--space-1);min-width:0;display:grid}.comment-overview-thread-section{gap:2px;min-width:0;display:grid}.comment-overview-thread-section-label{color:var(--color-comment);font-size:var(--text-micro);letter-spacing:.03em;text-transform:uppercase;font-weight:700;line-height:1.2}.comment-overview-thread-quote,.comment-overview-thread-preview,.comment-overview-thread-author,.comment-overview-thread-message-count{overflow-wrap:anywhere;text-wrap:pretty;margin:0;display:block;overflow:hidden}.comment-overview-thread-quote{padding-left:var(--space-2);border-left:2px solid var(--border-comment-active);color:var(--color-text-muted);font-family:var(--font-mono);font-size:var(--text-meta);white-space:pre-wrap;line-height:1.35}.comment-overview-thread-preview.comment-markdown{color:var(--color-text);font-size:var(--text-ui-sm);font-weight:520;line-height:1.35}.comment-overview-thread-preview.comment-markdown>*{margin:0}.comment-overview-thread-preview.comment-markdown>*+*{margin-top:var(--space-1)}.comment-overview-thread-author,.comment-overview-thread-message-count{-webkit-line-clamp:1}.comment-overview-thread-author{min-width:0}.comment-overview-thread-message-count{flex-shrink:0}.file-tree-comment-count{min-width:16px;height:16px;font-size:var(--text-caption);margin-left:auto}.file-tree-file.has-comments .file-tree-name{padding-right:4px}.comment-editor-layer,.comment-preview-layer,.comment-preview-highlights{pointer-events:none;position:absolute;inset:0;overflow:visible}.comment-marker-icon{flex:none;width:12px;height:12px;display:inline-flex}.comment-marker-icon svg{width:100%;height:100%;display:block}.comment-marker-count{line-height:1}.comment-selection-chip{position:absolute}.comment-preview-selection-chip{--ui-chip-color:var(--color-comment);z-index:2;box-shadow:var(--shadow-sm);pointer-events:auto;position:absolute}@media (pointer:coarse){.comment-preview-selection-chip{min-height:44px;padding-inline:var(--space-3)}}.comment-preview-highlight{border:1px solid oklch(from var(--color-comment) l c h / .16);border-radius:var(--radius-sm);background:var(--color-comment-soft);opacity:.56;transition:opacity .14s,background-color .14s,border-color .14s;position:absolute}.comment-preview-highlight.is-passive{opacity:.32}.comment-preview-highlight.is-hovered{opacity:.72;border-color:oklch(from var(--color-comment) l c h / .24);background:var(--surface-comment-highlight-hover)}.comment-preview-highlight.is-active{opacity:.9;border-color:oklch(from var(--color-comment) l c h / .3);background:var(--surface-comment-highlight-active)}.comment-card-root{z-index:50;position:fixed}.comment-card{gap:var(--space-2);width:min(100%,520px);max-height:min(78vh,720px);padding:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-xl);background:var(--color-surface);box-shadow:var(--shadow-card-strong);flex-direction:column;animation:.14s cubic-bezier(.16,1,.3,1) comment-card-in;display:flex;overflow:hidden}.comment-card-header{flex-shrink:0}.comment-card-scroll{gap:var(--space-2);flex-direction:column;min-height:0;padding-right:2px;display:flex;overflow:auto}.comment-card-title{font-size:var(--text-title-sm);letter-spacing:-.01em;font-weight:700}.comment-card-meta{color:var(--color-comment);font-size:var(--text-meta);letter-spacing:.05em;text-transform:uppercase;margin-top:2px;font-weight:700}.comment-card-anchor-note{padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);background:var(--surface-comment-offset-soft);color:var(--color-text-muted);font-size:var(--text-label)}.comment-card-close,.comment-thread-card-action{min-height:26px;color:var(--color-text-faint);font-size:var(--text-meta);transition:color var(--transition-interactive), background var(--transition-interactive), border-color var(--transition-interactive);background:0 0;border:1px solid #0000;padding-inline:7px}.comment-card-close:hover,.comment-thread-card-action:hover{color:var(--color-text);background:var(--surface-comment-offset-soft);border-color:oklch(from var(--color-comment) l c h / .16)}.comment-thread-card-action.is-active{border-color:oklch(from var(--color-comment) l c h / .2);background:var(--surface-comment-offset-active);color:var(--color-text)}.comment-thread-card-action.is-danger{color:var(--color-error)}.comment-card-quote,.comment-thread-card-excerpt{padding:var(--space-2) var(--space-3);border:0;border-left:2px solid var(--border-comment-active);background:var(--color-surface-offset);color:var(--color-text-muted);font-size:var(--text-label);border-radius:0}.comment-card-quote{overflow-wrap:anywhere;max-height:11rem;padding-bottom:calc(var(--space-3) + 2px);white-space:pre-wrap;word-break:break-word;scrollbar-width:thin;font-family:var(--font-mono);font-size:var(--text-code-sm);line-height:1.65;overflow:auto}.comment-card-form,.comment-reply-form{gap:var(--space-3);flex-direction:column;display:flex}.comment-card-actions{justify-content:flex-end}.ui-input.comment-card-input,.ui-input.comment-reply-input{padding:var(--space-2) var(--space-3);border-color:var(--border-comment-strong);background:var(--surface-comment-subtle);caret-color:var(--color-comment);line-height:1.5}.ui-input.comment-card-input:hover:not(:focus),.ui-input.comment-reply-input:hover:not(:focus){border-color:var(--border-comment-active)}.ui-input.comment-card-input:focus,.ui-input.comment-reply-input:focus{border-color:var(--color-comment);background:var(--surface-comment-elevated);box-shadow:var(--shadow-comment-outline), 0 0 0 3px var(--color-comment-soft)}.comment-card-input{resize:vertical;min-height:88px}.comment-thread-card{gap:var(--space-2);padding-top:var(--space-2);border-top:1px solid var(--color-divider);flex-direction:column;display:flex}.comment-message-card-author{font-size:var(--text-label);font-weight:700}.comment-message-card-time{color:var(--color-text-faint);font-size:var(--text-meta)}.comment-thread-card-actions{justify-content:flex-end;gap:var(--space-1);margin-left:auto}.comment-message-card{padding:var(--space-2) 0 0;border:0;border-top:1px solid var(--color-divider);background:0 0;border-radius:0}.comment-message-card.is-thread-start{border-top:0;padding-top:0}.comment-message-card-body{margin-top:var(--space-1);font-size:var(--text-label);line-height:1.55}.comment-reaction-bar{justify-content:space-between;align-items:flex-start;gap:var(--space-2);margin-top:var(--space-2);flex-wrap:wrap;display:flex}.comment-reaction-chips{gap:var(--space-1);flex-wrap:wrap;display:flex}.comment-reaction-actions{align-items:center;gap:var(--space-1);flex-wrap:wrap;display:flex}.comment-reaction-quick-add,.comment-reaction-picker-btn{border-radius:var(--radius-sm);width:30px;min-width:30px;min-height:30px;font-size:var(--text-title-sm)}.comment-reaction-chip-emoji,.comment-reaction-chip-count{line-height:1}.comment-reaction-picker-wrap{display:inline-flex;position:relative}.comment-reaction-picker{z-index:2;gap:var(--space-2);min-width:220px;padding:var(--space-3);border:1px solid var(--border-comment-strong);border-radius:var(--radius-lg);background:var(--surface-comment-elevated);box-shadow:var(--shadow-lg);scrollbar-width:thin;flex-direction:column;display:flex;position:absolute;top:calc(100% + 8px);right:0;overflow:auto}.comment-reaction-picker.is-upward{top:auto;bottom:calc(100% + 8px)}.comment-reaction-picker-grid{gap:var(--space-2);grid-template-columns:repeat(5,minmax(0,1fr));display:grid}@keyframes comment-card-in{0%{opacity:0;transform:translateY(6px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}.comment-markdown{color:var(--color-text);font-size:var(--text-label);line-height:1.65}.comment-markdown>:first-child{margin-top:0}.comment-markdown>:last-child{margin-bottom:0}.comment-markdown p,.comment-markdown ul,.comment-markdown ol,.comment-markdown blockquote,.comment-markdown pre,.comment-markdown .comment-markdown-table,.comment-markdown table{max-width:none}.comment-markdown p,.comment-markdown ul,.comment-markdown ol,.comment-markdown blockquote,.comment-markdown pre,.comment-markdown .comment-markdown-table{margin:var(--space-2) 0}.comment-markdown li+li{margin-top:4px}.comment-markdown ul,.comment-markdown ol{padding-left:var(--space-5)}.comment-markdown a{color:var(--color-primary);overflow-wrap:anywhere;text-decoration:underline}.comment-markdown blockquote{padding:var(--space-2) var(--space-3);border-left:3px solid oklch(from var(--color-comment) l c h / .45);border-radius:0 var(--radius-md) var(--radius-md) 0;background:var(--surface-comment-offset-strong);color:var(--color-text-muted)}.comment-markdown code{border-radius:var(--radius-sm);background:var(--surface-comment-offset-soft);color:var(--color-primary);font-family:var(--font-mono);padding:2px 6px;font-size:.9em}.comment-markdown pre{border:1px solid var(--border-comment-muted);border-radius:var(--radius-lg);background:var(--surface-comment-elevated);max-width:100%;overflow:auto}.comment-markdown pre code{width:max-content;min-width:100%;padding:var(--space-3);color:var(--color-text);white-space:pre;font-size:var(--text-label);background:0 0;line-height:1.6;display:block}.comment-markdown .comment-markdown-table{border:1px solid var(--border-comment-muted);border-radius:var(--radius-md);overflow:auto}.comment-markdown table{border-collapse:collapse;width:100%}.comment-markdown th,.comment-markdown td{padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--color-divider);text-align:left;font-size:var(--text-label)}.comment-markdown th{background:var(--surface-comment-offset)}.comment-markdown-preview>:not(pre):not(blockquote):not(.comment-markdown-table){-webkit-line-clamp:4;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.comment-markdown-preview pre code{width:100%;min-width:0;max-height:6.6rem;overflow:hidden}.comment-markdown-preview .comment-markdown-table{display:none}
@@ -0,0 +1 @@
1
+ .git-panel{flex-direction:column;flex:1;display:flex;overflow-y:auto}.git-panel.active{display:flex}.git-branch-bar{align-items:stretch;gap:var(--space-2);padding:var(--space-3);border-bottom:1px solid var(--color-divider);font-size:var(--text-xs);flex-direction:column;display:flex}.git-branch-meta{justify-content:space-between;align-items:center;gap:var(--space-3);width:100%;min-width:0;display:flex}.git-branch-name{border-radius:var(--radius-sm);background:var(--color-surface-offset);min-width:0;max-width:100%;color:var(--color-text);font-family:var(--font-mono);font-size:var(--text-label);align-items:center;gap:6px;padding:3px 8px;font-weight:500;display:inline-flex}.git-branch-name svg{color:var(--color-primary);flex-shrink:0}.git-sync-info{align-items:center;gap:var(--space-2);font-family:var(--font-mono);font-size:var(--text-meta);flex-shrink:0;display:inline-flex}.git-sync-metric{align-items:center;gap:2px;display:inline-flex}.git-sync-metric--ahead{color:var(--color-success)}.git-sync-metric--behind,.git-sync-info-muted{color:var(--color-text-faint)}.git-change-stats{align-items:center;gap:var(--space-2);font-family:var(--font-mono);font-size:var(--text-meta);flex-shrink:0;font-weight:600;display:inline-flex}.git-branch-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;width:100%;display:grid}.ui-segmented-control.git-panel-mode-switch{background:var(--color-surface-offset);grid-template-columns:repeat(2,minmax(0,1fr));gap:2px;display:inline-grid}.ui-segmented-control--pill.git-panel-mode-switch{border-radius:var(--radius-full);padding:3px}.ui-segmented-control.git-panel-mode-switch .git-panel-mode-btn{min-width:0;min-height:28px;padding:0 var(--space-3);border-radius:var(--radius-full);color:var(--color-text-muted);font-size:var(--text-meta);transition:background var(--transition-interactive), color var(--transition-interactive), box-shadow var(--transition-interactive);font-weight:700}.ui-segmented-control.git-panel-mode-switch .git-panel-mode-btn:hover{color:var(--color-text)}.ui-segmented-control.git-panel-mode-switch .git-panel-mode-btn.active,.ui-segmented-control.git-panel-mode-switch .git-panel-mode-btn[aria-selected=true]{background:var(--color-surface);color:var(--color-text);box-shadow:var(--shadow-sm)}.git-branch-actions .ui-action-pill{justify-content:center;width:100%}.git-branch-actions .ui-action-pill svg{flex-shrink:0}.git-change-add{color:var(--diff-add-text)}.git-change-del{color:var(--diff-del-text)}.git-panel-footer{padding:var(--space-3);border-top:1px solid var(--color-divider);margin-top:auto}.git-panel-footer-actions{gap:var(--space-2);flex-direction:column;display:flex}.git-panel-footer-actions .ui-action-button{width:100%}.git-footer-commit-btn{border:1px solid var(--border-accent-soft);background:var(--surface-accent-soft);width:100%;color:var(--color-primary)}.git-footer-commit-btn:hover:not(:disabled){background:var(--surface-accent-strong)}.git-panel-empty{padding:var(--space-4);color:var(--color-text-faint);text-align:center;font-size:var(--text-xs)}.git-section{border-bottom:1px solid var(--color-divider)}.git-section-header{width:100%;padding:var(--space-2) var(--space-3);color:var(--color-text-muted);font-size:var(--text-meta);letter-spacing:.05em;text-transform:uppercase;text-align:left;background:0 0;align-items:center;gap:6px;font-weight:600;display:flex}.git-section-header:hover{background:var(--color-surface-offset)}.git-section-count{min-height:20px}.git-section-chevron{color:var(--color-text-faint);transition:transform .15s}.git-section-chevron.collapsed{transform:rotate(-90deg)}.git-file-list{padding:var(--space-1) 0}.git-file-row{margin:0 var(--space-2) 2px;--ui-item-row-bg-hover:var(--color-surface-offset);--ui-item-row-bg-active:var(--color-primary-highlight)}.git-file-item{padding:var(--space-1) var(--space-2) var(--space-1) calc(var(--space-2) + 10px);border-radius:var(--radius-sm);color:var(--color-text-muted);text-align:left;transition:color var(--transition-interactive);background:0 0}.git-file-item:hover{color:var(--color-text)}.git-file-item.active{color:var(--color-primary)}.git-file-row.active .git-file-path{color:color-mix(in oklab, var(--color-primary) 56%, var(--color-text-muted))}.git-file-icon{opacity:.5;flex-shrink:0}.git-file-copy{min-width:0}.git-file-name{text-overflow:ellipsis;white-space:nowrap;font-size:var(--text-ui-sm);overflow:hidden}.git-file-path{color:var(--color-text-faint);text-overflow:ellipsis;white-space:nowrap;font-size:var(--text-meta);overflow:hidden}.git-file-actions{padding-right:4px}.git-file-actions .ui-action-icon{width:30px}.git-file-row.active .ui-action-icon--surface{background:var(--surface-accent-subtle);color:var(--color-text)}.git-history-list{gap:var(--space-1);padding:var(--space-3);flex-direction:column;display:flex}.git-history-row{--ui-record-padding:var(--space-2) var(--space-3);--ui-record-gap:4px;--ui-record-border:transparent;--ui-record-bg:transparent;--ui-record-border-hover:transparent;--ui-record-bg-hover:var(--color-surface-offset);--ui-record-border-active:transparent;--ui-record-bg-active:var(--color-surface-offset)}.git-history-subject{color:var(--color-text);font-size:var(--text-label);font-weight:700}.git-history-row-top,.git-history-row-meta,.git-history-row-stats{gap:var(--space-2)}.git-history-hash{flex-shrink:0}.git-history-row-meta{color:var(--color-text-faint);font-size:var(--text-caption)}.git-history-row-stats{font-family:var(--font-mono);font-size:var(--text-caption);font-weight:700}.git-history-footer{padding:0 var(--space-3) var(--space-3)}.git-history-load-more{width:100%}.file-history-shell{--file-history-shell-chrome-offset:calc(var(--toolbar-h) + var(--control-h-md) + (var(--space-2) * 2) + (var(--space-3) * 2) + 1px);box-sizing:border-box;align-items:start;gap:var(--space-3);width:100%;min-height:0;padding:var(--space-3);flex:1 0 auto;grid-template-columns:minmax(260px,320px) minmax(0,1fr);display:grid;overflow:visible}.file-history-sidebar,.file-history-detail{min-width:0}.file-history-sidebar{top:var(--space-4);align-self:start;gap:var(--space-3);max-height:calc(100dvh - var(--file-history-shell-chrome-offset));min-height:0;padding:var(--space-3);border:1px solid var(--color-divider);border-radius:var(--radius-lg);background:var(--color-surface);flex-direction:column;display:flex;position:sticky;overflow:hidden}.file-history-sidebar-header{gap:var(--space-2);display:grid}.file-history-sidebar-copy{color:var(--color-text-muted);font-size:var(--text-caption);margin:0;line-height:1.5}.file-history-kicker{color:var(--color-text-faint);font-size:var(--text-caption);letter-spacing:.1em;text-transform:uppercase;font-weight:700}.file-history-title{gap:var(--space-1);display:grid}.file-history-path{color:var(--color-text);font-size:var(--text-title-sm);font-weight:700}.file-history-dir{color:var(--color-text-muted);font-size:var(--text-caption)}.file-history-list{gap:var(--space-2);flex-direction:column;flex:auto;min-width:0;min-height:0;padding:0;display:flex;overflow:hidden auto}.file-history-item{--ui-record-padding:var(--space-3);--ui-record-gap:var(--space-2);--ui-record-border:transparent;--ui-record-bg:transparent;--ui-record-border-hover:transparent;--ui-record-bg-hover:var(--color-surface-offset);--ui-record-border-active:transparent;--ui-record-bg-active:var(--color-surface-offset);box-sizing:border-box;text-align:left;width:100%;max-width:100%;display:block}.file-history-item.active{border-color:#0000}.file-history-item-local{--ui-record-bg:var(--surface-accent-subtle)}.file-history-item-top,.file-history-item-copy{gap:var(--space-2);min-width:0;display:flex}.file-history-item-top{justify-content:space-between;align-items:flex-start}.file-history-item-copy{flex-direction:column;flex:1}.file-history-item-title{color:var(--color-text);text-overflow:ellipsis;white-space:nowrap;font-size:var(--text-label);font-weight:700;overflow:hidden}.file-history-item-meta{color:var(--color-text-faint);text-overflow:ellipsis;white-space:nowrap;font-size:var(--text-caption);overflow:hidden}.file-history-item-badge{flex-shrink:0}.file-history-item-stats{gap:var(--space-2);color:var(--color-text-faint);font-family:var(--font-mono);font-size:var(--text-caption);font-weight:700;display:inline-flex}.file-history-footer{padding:0}.file-history-detail{align-self:start;gap:var(--space-3);grid-template-rows:auto auto;min-width:0;min-height:0;display:grid}.file-history-detail-header{align-content:start;align-items:start;gap:var(--space-3) var(--space-4);padding:var(--space-4);border:1px solid var(--color-divider);border-radius:var(--radius-lg);background:var(--color-surface);grid-template-columns:minmax(0,1fr) auto;display:grid;overflow:hidden}.file-history-detail-copy{gap:var(--space-1);min-width:0;display:grid}.file-history-detail-kicker{color:var(--color-text-faint);font-size:var(--text-caption);letter-spacing:.08em;text-transform:uppercase;font-weight:700}.file-history-detail-title{color:var(--color-text);font-size:var(--text-title-md);margin:0;font-weight:700;line-height:1.3}.file-history-detail-meta{color:var(--color-text-muted);font-size:var(--text-label);margin:0;line-height:1.5}.file-history-detail-actions{justify-content:flex-end;gap:var(--space-2);flex-wrap:wrap;flex-shrink:0;align-self:start;display:flex}.file-history-detail-body{border:1px solid var(--color-divider);border-radius:var(--radius-lg);background:var(--color-surface);min-width:0;min-height:auto;overflow:auto hidden}.file-history-diff-block{width:max-content;min-width:100%;overflow:visible}.file-history-diff-block .diff-file-header,.file-history-diff-block .diff-hunk-header,.file-history-diff-block .diff-line,.file-history-diff-block .diff-split-hunk,.file-history-diff-block .diff-split-row{min-width:max-content}@media (width<=960px){.file-history-shell{flex:none;grid-template-columns:1fr;overflow:visible}.file-history-sidebar{max-height:none;position:static}}@media (width<=768px){.file-history-shell{padding:var(--space-3)}.file-history-detail-header{flex-direction:column}.file-history-detail-actions{justify-content:stretch;width:100%}.file-history-detail-actions .ui-button{flex:1}}.diff-toolbar{justify-content:space-between;align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-4);background:var(--color-surface);border-bottom:1px solid var(--color-divider);display:flex}.diff-toolbar-left,.diff-toolbar-right{align-items:center;gap:var(--space-3);display:flex}.diff-toolbar-actions,.diff-toolbar-actions-group{align-items:center;gap:var(--space-2);display:inline-flex}.diff-toolbar-actions-group-git{padding:var(--space-1);border-radius:var(--radius-md);background:var(--color-surface-offset);border:0}.diff-toolbar-actions-divider{width:1px;height:var(--control-h-xs);background:var(--color-divider);opacity:.9}.diff-open-editor-btn{min-width:116px}.diff-open-editor-btn:disabled{opacity:.45;cursor:not-allowed}.diff-back-btn{min-width:130px}.diff-file-nav{align-items:center;gap:var(--space-2);display:flex}.diff-file-nav .ui-icon-button--action:disabled{opacity:.3}.diff-file-indicator{color:var(--color-text-muted);font-size:var(--text-xs);font-variant-numeric:tabular-nums}.diff-stats{align-items:center;gap:var(--space-2);white-space:nowrap;display:inline-flex}.diff-scroll{flex:1;overflow:auto}.diff-content{min-width:fit-content;min-height:100%}.diff-content--history{width:100%;min-width:0;min-height:100%;display:flex}.diff-commit-header{gap:var(--space-2);padding:var(--space-4);border-bottom:1px solid var(--color-divider);background:var(--color-surface);flex-direction:column;display:flex}.diff-commit-subject{color:var(--color-text);font-size:var(--text-title-md);font-weight:700;line-height:1.3}.diff-commit-meta{align-items:center;gap:var(--space-2);color:var(--color-text-muted);font-size:var(--text-label);flex-wrap:wrap;display:flex}.diff-commit-meta-secondary{color:var(--color-text-faint);font-family:var(--font-mono);font-size:var(--text-meta)}.diff-commit-shell{grid-template-columns:minmax(210px,242px) minmax(0,1fr);align-items:start;gap:10px;padding:10px;display:grid}.diff-commit-index{top:var(--space-4);border:1px solid var(--color-divider);border-radius:var(--radius-lg);background:var(--color-surface);flex-direction:column;gap:8px;max-height:calc(100dvh - 220px);padding:8px;display:flex;position:sticky;overflow:hidden}.diff-commit-index-header{color:var(--color-text-faint);font-size:var(--text-caption);letter-spacing:.1em;text-transform:uppercase;padding-inline:1px;font-weight:700}.diff-commit-index-list{flex-direction:column;gap:5px;padding-block-end:2px;display:flex;overflow:hidden auto}.diff-index-item{--ui-record-padding:8px 9px;--ui-record-gap:4px;--ui-record-border:transparent;--ui-record-bg:transparent;--ui-record-border-hover:transparent;--ui-record-bg-hover:var(--color-surface-offset);--ui-record-border-active:transparent;--ui-record-bg-active:var(--color-surface-offset)}.diff-index-item-top,.diff-index-item-meta{gap:6px}.diff-index-item-name{font-size:var(--text-label);font-weight:700}.diff-index-item-path{font-size:var(--text-caption)}.diff-index-item-meta{font-family:var(--font-mono);font-size:var(--text-caption)}.diff-commit-main{min-width:0}.diff-commit-sections{flex-direction:column;gap:10px;display:flex}.diff-commit-section{border:1px solid var(--color-divider);border-radius:var(--radius-lg);background:var(--color-surface);overflow:hidden}.diff-commit-section.active{border-color:var(--border-accent-strong)}.diff-commit-section-header{justify-content:space-between;align-items:center;gap:var(--space-3);background:var(--color-surface);text-align:left;width:100%;padding:10px 14px;display:flex}.diff-commit-section-header:hover{background:var(--surface-fill-strong)}.diff-commit-section-main,.diff-commit-section-meta{align-items:center;gap:var(--space-2);min-width:0;display:flex}.diff-commit-section-main{flex:1}.diff-section-chevron{color:var(--color-text-faint);flex-shrink:0;transition:transform .15s}.diff-section-chevron.collapsed{transform:rotate(-90deg)}.diff-commit-section-copy{flex-direction:column;min-width:0;display:flex}.diff-commit-section-name{color:var(--color-text);text-overflow:ellipsis;white-space:nowrap;font-size:var(--text-ui-sm);font-weight:700;overflow:hidden}.diff-commit-section-path{color:var(--color-text-faint);text-overflow:ellipsis;white-space:nowrap;font-size:var(--text-meta);overflow:hidden}.diff-commit-section-meta{font-family:var(--font-mono);font-size:var(--text-meta);flex-wrap:wrap;flex-shrink:0;justify-content:flex-end;font-weight:700}.diff-commit-section-body{padding:0}.diff-commit-shell-focused .diff-commit-main .diff-file-block{border:1px solid var(--color-divider);border-radius:var(--radius-lg);overflow:hidden}.diff-file-block{margin-bottom:0}.diff-file-header{z-index:5;align-items:center;gap:var(--space-2);border-top:1px solid var(--color-divider);border-bottom:1px solid var(--color-divider);background:var(--color-surface-offset);padding:8px 14px;display:flex;position:sticky;top:0}.diff-file-header:first-child{border-top:none}.diff-file-path{color:var(--color-text);font-family:var(--font-mono);font-size:var(--text-label);font-weight:500}.diff-file-header-stats{gap:var(--space-2);font-family:var(--font-mono);font-size:var(--text-meta);margin-left:auto;display:inline-flex}.diff-binary-message,.diff-empty-state{padding:var(--space-4);color:var(--color-text-faint)}.diff-limit-card{align-items:flex-start;gap:var(--space-2);padding:var(--space-4);border-top:1px solid var(--color-divider);color:var(--color-text-muted);flex-direction:column;display:flex}.diff-limit-card strong{color:var(--color-text);font-size:var(--text-sm)}.diff-load-full-btn{margin-top:var(--space-1);font-size:var(--text-label);font-weight:600}.diff-hunk-header,.diff-split-hunk{background:var(--diff-hunk-bg);color:var(--diff-hunk-text);font-family:var(--font-mono);font-size:var(--text-label);padding:4px 14px 4px 84px}.diff-line{min-height:20px;font-family:var(--font-mono);font-size:var(--text-ui-sm);align-items:stretch;line-height:20px;display:flex}.diff-line-numbers{-webkit-user-select:none;user-select:none;flex-shrink:0;display:flex}.diff-line-num{border-right:1px solid var(--color-divider);width:40px;color:var(--diff-gutter);text-align:right;font-size:var(--text-label);padding:0 8px}.diff-line-num:first-child{border-right:none}.diff-line-prefix{-webkit-user-select:none;user-select:none;flex-shrink:0;width:20px;padding-left:8px;font-weight:500}.diff-line-content{white-space:pre;tab-size:4;flex:1;padding:0 10px}.diff-line.addition{background:var(--diff-add-bg)}.diff-line.addition .diff-line-num{background:var(--diff-add-line-bg);color:var(--diff-add-text)}.diff-line.addition .diff-line-prefix{color:var(--diff-add-text)}.diff-line.deletion{background:var(--diff-del-bg)}.diff-line.deletion .diff-line-num{background:var(--diff-del-line-bg);color:var(--diff-del-text)}.diff-line.deletion .diff-line-prefix{color:var(--diff-del-text)}.diff-line.note{background:var(--color-surface-offset);color:var(--color-text-faint)}.diff-highlight-add{border-radius:var(--radius-2xs);background:var(--diff-add-line-bg);padding:0 1px}.diff-highlight-del{border-radius:var(--radius-2xs);background:var(--diff-del-line-bg);padding:0 1px}.diff-split{display:block}.diff-split-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr);display:grid}.diff-split-pane-header{display:none}.diff-split-line{min-height:20px;font-family:var(--font-mono);font-size:var(--text-ui-sm);line-height:20px;display:flex}.diff-split-line:first-child{border-right:1px solid var(--color-divider)}.diff-split-num{border-right:1px solid var(--color-divider);width:44px;color:var(--diff-gutter);text-align:right;font-size:var(--text-label);padding:0 8px}.diff-split-content{white-space:pre;tab-size:4;flex:1;padding:0 10px}.diff-split-line.addition{background:var(--diff-add-bg)}.diff-split-line.addition .diff-split-num{background:var(--diff-add-line-bg);color:var(--diff-add-text)}.diff-split-line.deletion{background:var(--diff-del-bg)}.diff-split-line.deletion .diff-split-num{background:var(--diff-del-line-bg);color:var(--diff-del-text)}.diff-split-line.empty{background:var(--color-surface-offset);opacity:.45}.diff-special{padding:var(--space-4);border-top:1px solid var(--color-divider);background:var(--color-surface)}.diff-special-header{justify-content:space-between;align-items:flex-start;gap:var(--space-3);margin-bottom:var(--space-3);display:flex}.diff-special-eyebrow{color:var(--color-primary);font-size:var(--text-meta);letter-spacing:.08em;text-transform:uppercase;margin-bottom:3px;font-weight:700;display:block}.diff-special-title{color:var(--color-text);font-size:var(--text-ui-sm);margin:0;font-weight:700}.diff-special-note,.diff-special-footnote{color:var(--color-text-faint);font-size:var(--text-meta)}.diff-special-note{font-family:var(--font-mono);flex-shrink:0}.diff-special-footnote{margin:var(--space-3) 0 0}.diff-media-grid,.diff-excalidraw-grid,.diff-drawio-grid{gap:var(--space-3);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.diff-media-pane,.diff-excalidraw-pane,.diff-drawio-pane{border:1px solid var(--color-divider);border-radius:var(--radius-md);background:var(--color-surface-offset);min-width:0;overflow:hidden}.diff-media-pane-header,.diff-excalidraw-pane-header,.diff-drawio-pane-header{justify-content:space-between;align-items:center;gap:var(--space-2);min-height:34px;padding:0 var(--space-3);border-bottom:1px solid var(--color-divider);display:flex}.diff-media-pane-label{color:var(--color-text);font-size:var(--text-label);font-weight:700}.diff-media-pane-meta{color:var(--color-text-faint);font-family:var(--font-mono);font-size:var(--text-meta);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.diff-media-canvas{min-height:280px;padding:var(--space-4);background-color:var(--color-surface);background-image:linear-gradient(45deg, color-mix(in oklab, var(--color-text) 5%, transparent) 25%, transparent 25%, transparent 75%, color-mix(in oklab, var(--color-text) 5%, transparent) 75%), linear-gradient(45deg, color-mix(in oklab, var(--color-text) 5%, transparent) 25%, transparent 25%, transparent 75%, color-mix(in oklab, var(--color-text) 5%, transparent) 75%);background-position:0 0,8px 8px;background-size:16px 16px;justify-content:center;align-items:center;display:flex}.diff-media-image{object-fit:contain;border-radius:var(--radius-sm);width:auto;max-width:100%;max-height:380px;box-shadow:var(--shadow-md);display:block}.diff-media-empty{align-items:center;gap:var(--space-2);color:var(--color-text-faint);font-size:var(--text-meta);text-align:center;flex-direction:column;display:flex}.diff-media-empty-icon{border:1px solid var(--color-divider);width:30px;height:30px;color:var(--color-text-muted);font-size:var(--text-title-md);border-radius:50%;place-items:center;display:grid}.diff-file-header-kind{color:var(--color-text-muted);font-family:var(--font-mono);font-size:var(--text-meta);margin-left:auto}.diff-scene-summary{gap:var(--space-2);margin-bottom:var(--space-3);flex-wrap:wrap;display:flex}.diff-scene-stat{border-radius:var(--radius-sm);background:var(--color-surface-offset);font-family:var(--font-mono);font-size:var(--text-meta);align-items:baseline;gap:5px;padding:5px 8px;display:inline-flex}.diff-scene-stat strong{font-size:var(--text-ui-sm)}.diff-scene-stat--add strong{color:var(--diff-add-text)}.diff-scene-stat--update strong{color:var(--color-primary)}.diff-scene-stat--remove strong{color:var(--diff-del-text)}.diff-excalidraw-preview{min-height:220px;padding:var(--space-3);background:var(--surface-embed-canvas);justify-content:center;align-items:center;display:flex}.diff-excalidraw-preview svg{width:100%;height:220px;display:block}.diff-excalidraw-preview-loading,.diff-excalidraw-preview--empty,.diff-excalidraw-preview.is-error{color:var(--color-text-faint);font-size:var(--text-meta)}.diff-excalidraw-preview.is-error{background:var(--color-surface-offset)}.diff-excalidraw-source{border-top:1px solid var(--color-divider)}.diff-excalidraw-source summary{padding:8px var(--space-3);color:var(--color-text-muted);cursor:pointer;font-size:var(--text-meta);font-weight:600}.diff-excalidraw-source summary:hover{color:var(--color-text)}.diff-excalidraw-source pre{max-height:300px;padding:var(--space-3);border-top:1px solid var(--color-divider);color:var(--color-text-muted);font-family:var(--font-mono);font-size:var(--text-meta);white-space:pre;margin:0;line-height:1.55;overflow:auto}.diff-excalidraw-diff .diff-load-full-btn{margin-top:var(--space-3)}.diff-drawio-preview{background:var(--surface-embed-canvas);justify-content:center;align-items:stretch;min-height:280px;display:flex;overflow:hidden}.diff-drawio-preview .drawio-viewer-frame{cursor:default;min-height:280px}.diff-drawio-preview-loading,.diff-drawio-preview--empty,.diff-drawio-preview.is-error{width:100%;color:var(--color-text-faint);font-size:var(--text-meta);justify-content:center;align-items:center}.diff-drawio-preview.is-error{background:var(--color-surface-offset)}.diff-drawio-source{border-top:1px solid var(--color-divider)}.diff-drawio-source summary{padding:8px var(--space-3);color:var(--color-text-muted);cursor:pointer;font-size:var(--text-meta);font-weight:600}.diff-drawio-source summary:hover{color:var(--color-text)}.diff-drawio-source pre{max-height:300px;padding:var(--space-3);border-top:1px solid var(--color-divider);color:var(--color-text-muted);font-family:var(--font-mono);font-size:var(--text-meta);white-space:pre;margin:0;line-height:1.55;overflow:auto}@media (width<=768px){.diff-media-grid,.diff-excalidraw-grid,.diff-drawio-grid{grid-template-columns:1fr}.diff-special-header{gap:var(--space-1);flex-direction:column}.diff-media-canvas{min-height:220px}}