@layers-app/editor 0.0.21 → 0.0.23

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 (242) hide show
  1. package/README.md +47 -2
  2. package/dist/index.cjs +2 -2
  3. package/dist/index.d.ts +195 -2
  4. package/dist/index.js +2 -2
  5. package/dist/layers.-RxAm5pH.js +795 -0
  6. package/dist/layers.-rS-aTo2.js +33 -0
  7. package/dist/layers.2ODaB2Pd.js +8 -0
  8. package/dist/layers.5BbX0Xoz.js +769 -0
  9. package/dist/layers.7JqFgE4-.js +15 -0
  10. package/dist/layers.9QK1wiQj.js +1 -0
  11. package/dist/layers.9pNaFvaX.js +1 -0
  12. package/dist/layers.B-6oGNjd.js +40 -0
  13. package/dist/layers.B-ie1_cm.js +6 -0
  14. package/dist/layers.B0EkntbT.js +32 -0
  15. package/dist/layers.B0pdr1hX.js +1619 -0
  16. package/dist/layers.B19hGmey.js +1 -0
  17. package/dist/layers.B39TZ2WV.js +11 -0
  18. package/dist/layers.B3odqoHb.js +9 -0
  19. package/dist/layers.B64g6Zx2.js +1 -0
  20. package/dist/layers.B6UkAKu5.js +434 -0
  21. package/dist/layers.B8i9d7Qz.js +192 -0
  22. package/dist/layers.B9NSFeaj.js +35 -0
  23. package/dist/layers.B9zrmkst.js +11 -0
  24. package/dist/layers.BAtv1CM7.js +1 -0
  25. package/dist/layers.BBB7YGK1.js +3 -0
  26. package/dist/layers.BBU3ik5q.js +51 -0
  27. package/dist/layers.BBwDvE6l.js +9122 -0
  28. package/dist/layers.BCFHxkpM.js +6 -0
  29. package/dist/layers.BD5uUnI2.js +1265 -0
  30. package/dist/layers.BDhuxbhX.js +44 -0
  31. package/dist/layers.BDxQSquK.js +10 -0
  32. package/dist/layers.BEE5yqs5.js +9 -0
  33. package/dist/layers.BFLg4UGe.js +8 -0
  34. package/dist/layers.BFOl7cA-.js +41 -0
  35. package/dist/layers.BHDiP2sq.js +21836 -0
  36. package/dist/layers.BIDnkNut.js +1510 -0
  37. package/dist/layers.BIVmclKv.js +41 -0
  38. package/dist/layers.BIeVwYKL.js +1 -0
  39. package/dist/layers.BJMMuP5r.js +9 -0
  40. package/dist/layers.BK01wvsE.js +10 -0
  41. package/dist/layers.BLB-feoT.js +8 -0
  42. package/dist/layers.BLSqqbWP.js +207 -0
  43. package/dist/layers.BO3dqWyO.js +10 -0
  44. package/dist/layers.BPe9NQzP.js +2963 -0
  45. package/dist/layers.BPnpanwd.js +39 -0
  46. package/dist/layers.BQLZhz6B.js +6 -0
  47. package/dist/layers.BST6tR9a.js +4 -0
  48. package/dist/layers.BSTBZrFn.js +1 -0
  49. package/dist/layers.BUSnd1Ro.js +5 -0
  50. package/dist/layers.BUkDq4ln.js +84 -0
  51. package/dist/layers.BUsBCyiL.js +202 -0
  52. package/dist/layers.BXGiOI1Z.js +7 -0
  53. package/dist/layers.BYVHkqLR.js +39 -0
  54. package/dist/layers.BYzN4Zxz.js +7 -0
  55. package/dist/layers.BZcZF6Ct.js +41 -0
  56. package/dist/layers.B_Hf0SF-.js +1359 -0
  57. package/dist/{layers.BYmCD0mp.js → layers.Ba97nTEK.js} +1 -1
  58. package/dist/layers.Bbl6qitU.js +40 -0
  59. package/dist/layers.BdanmQPF.js +11 -0
  60. package/dist/layers.Bfd5bOAD.js +37 -0
  61. package/dist/layers.BhM2iCwB.js +5 -0
  62. package/dist/layers.BjZInKjA.js +2 -0
  63. package/dist/layers.Bk2PdkMX.js +10 -0
  64. package/dist/layers.BkMfeJ9R.js +41 -0
  65. package/dist/layers.BkjjkAwW.js +2 -0
  66. package/dist/layers.Blho0qwc.js +1 -0
  67. package/dist/layers.BoabOlrX.js +36 -0
  68. package/dist/layers.BpXiFzvR.js +36 -0
  69. package/dist/layers.BpilXLfW.js +6 -0
  70. package/dist/layers.BuQ1nJmP.js +1 -0
  71. package/dist/layers.Bv0tGvGl.js +40 -0
  72. package/dist/layers.BvZFIFgz.js +9 -0
  73. package/dist/layers.BwfB_nzW.js +8 -0
  74. package/dist/layers.Bwpn7zKE.js +9 -0
  75. package/dist/layers.Bz0ApNUe.js +70 -0
  76. package/dist/layers.C-G7-Jg3.js +7 -0
  77. package/dist/layers.C0bumYdC.js +7 -0
  78. package/dist/layers.C1KhBpGU.js +7 -0
  79. package/dist/layers.C3K_Whht.js +42 -0
  80. package/dist/layers.C51kZnWr.js +37 -0
  81. package/dist/layers.C5rttXXy.js +10 -0
  82. package/dist/{layers.CKC0lJDn.js → layers.C5uR7AiN.js} +1 -1
  83. package/dist/layers.C6Rn8zoI.js +42 -0
  84. package/dist/layers.C7lIplJU.js +247 -0
  85. package/dist/layers.CBXpUMze.js +96 -0
  86. package/dist/layers.CCRe_IA7.js +36 -0
  87. package/dist/{layers.CFJiIrku.js → layers.CClfR9Rs.js} +14180 -12682
  88. package/dist/layers.CDLdte-o.js +9 -0
  89. package/dist/layers.CDzPpnhN.js +52 -0
  90. package/dist/layers.CEXVJbhn.js +8 -0
  91. package/dist/layers.CGX7Piy7.js +1 -0
  92. package/dist/layers.CGc04km7.js +42 -0
  93. package/dist/layers.CH23k4XD.js +6 -0
  94. package/dist/layers.CHHqQlm1.js +9 -0
  95. package/dist/layers.CHZsXQcr.js +1 -0
  96. package/dist/layers.CMS1o_sE.js +40 -0
  97. package/dist/layers.CO4NHmK3.js +40 -0
  98. package/dist/layers.COAF7f8g.js +1 -0
  99. package/dist/layers.CPV5PaJ7.js +33 -0
  100. package/dist/layers.CPqqkX8Z.js +23 -0
  101. package/dist/layers.CQXDzk5h.js +1 -0
  102. package/dist/layers.CQv0GMRl.js +1 -0
  103. package/dist/layers.CR10RAJi.js +116 -0
  104. package/dist/layers.CR4riLSc.js +2235 -0
  105. package/dist/layers.CSjWzlk9.js +1 -0
  106. package/dist/layers.CTmkjIN6.js +5 -0
  107. package/dist/layers.CZMy0ug4.js +6 -0
  108. package/dist/layers.CZh7NZyl.js +42 -0
  109. package/dist/layers.C_dOgKfE.js +10 -0
  110. package/dist/layers.CcJ28sUd.js +9 -0
  111. package/dist/layers.CeMe5scF.js +1 -0
  112. package/dist/layers.CeVpKhli.js +122 -0
  113. package/dist/layers.Ch7C0MR9.js +39 -0
  114. package/dist/layers.ChAMqLmE.js +160 -0
  115. package/dist/layers.ChJyurjQ.js +7 -0
  116. package/dist/layers.ChPHYv68.js +41 -0
  117. package/dist/layers.ChykDTOy.js +11 -0
  118. package/dist/layers.Ci0QS82_.js +1 -0
  119. package/dist/layers.Ci0x4aAi.js +139 -0
  120. package/dist/layers.CiNAQOA-.js +50 -0
  121. package/dist/layers.Ck0iJfoW.js +39 -0
  122. package/dist/layers.Ckbp-T9r.js +32 -0
  123. package/dist/layers.Cl9Tl2nd.js +1 -0
  124. package/dist/layers.ClQj75nc.js +11 -0
  125. package/dist/layers.ClaqpFnu.js +233 -0
  126. package/dist/layers.CmHSmrZm.js +40 -0
  127. package/dist/layers.Cn6OfRlw.js +40 -0
  128. package/dist/layers.CnD3z0eZ.js +8 -0
  129. package/dist/layers.CnloMtKN.js +268 -0
  130. package/dist/layers.Cp82yltX.js +32 -0
  131. package/dist/layers.CphCG076.js +6 -0
  132. package/dist/layers.CqM3rL4-.js +5 -0
  133. package/dist/layers.CqVTtuYm.js +6 -0
  134. package/dist/layers.CvJxfPxo.js +9 -0
  135. package/dist/layers.CwPFdFUT.js +34 -0
  136. package/dist/layers.Cx14IKzN.js +4 -0
  137. package/dist/layers.Cxmncz59.js +32 -0
  138. package/dist/layers.D-ZYFolm.js +1 -0
  139. package/dist/layers.D0zn4_Mx.js +1 -0
  140. package/dist/layers.D18RSmmQ.js +7 -0
  141. package/dist/layers.D1cZq8tq.js +373 -0
  142. package/dist/layers.D2q8ZYi2.js +425 -0
  143. package/dist/layers.D2vOkfMK.js +38 -0
  144. package/dist/layers.D3Hkinja.js +5 -0
  145. package/dist/layers.D4fGb2cV.js +1272 -0
  146. package/dist/layers.D68FZk66.js +39 -0
  147. package/dist/layers.D7HvMBb6.js +39 -0
  148. package/dist/layers.D7jGxypv.js +8 -0
  149. package/dist/layers.D90-hSDT.js +4 -0
  150. package/dist/layers.D9A031XO.js +803 -0
  151. package/dist/layers.DARK07JA.js +42 -0
  152. package/dist/layers.DAx0hT2g.js +32 -0
  153. package/dist/layers.DCvUAfE1.js +40 -0
  154. package/dist/layers.DDRgaMwu.js +10 -0
  155. package/dist/layers.DEfJs03Z.js +1 -0
  156. package/dist/layers.DElpVOY-.js +8 -0
  157. package/dist/layers.DFd9A85i.js +14 -0
  158. package/dist/layers.DGZUGztZ.js +220 -0
  159. package/dist/layers.DHbdkCCU.js +38 -0
  160. package/dist/layers.DIrkcLlA.js +790 -0
  161. package/dist/layers.DKPzrygv.js +1 -0
  162. package/dist/layers.DK_t52oS.js +1126 -0
  163. package/dist/layers.DLwuMfdd.js +84 -0
  164. package/dist/layers.DMkBISW1.js +1 -0
  165. package/dist/layers.DMvWe0pJ.js +7 -0
  166. package/dist/layers.DN9HoVxI.js +18 -0
  167. package/dist/layers.DO-G3uLL.js +8 -0
  168. package/dist/layers.DOrgOHBr.js +1 -0
  169. package/dist/layers.DQCPMqIN.js +9 -0
  170. package/dist/layers.DTDpNGfk.js +1 -0
  171. package/dist/layers.DXTPaWjN.js +37 -0
  172. package/dist/layers.DXaSAlDN.js +13 -0
  173. package/dist/layers.DYx3Ot6h.js +139 -0
  174. package/dist/layers.D_MU5WlI.js +40 -0
  175. package/dist/layers.DalYdEkL.js +19 -0
  176. package/dist/layers.DbaKVP5e.js +1 -0
  177. package/dist/layers.Dbuivk7d.js +36 -0
  178. package/dist/layers.DdTLZZKb.js +48146 -0
  179. package/dist/layers.DeB3waPT.js +8 -0
  180. package/dist/layers.Dg8Wbn90.js +35 -0
  181. package/dist/layers.DhiFm4jW.js +10 -0
  182. package/dist/layers.DhzTwBn5.js +37 -0
  183. package/dist/layers.DjUOC4st.js +16 -0
  184. package/dist/layers.Dk9dbz6F.js +118 -0
  185. package/dist/layers.Dklz2JqP.js +41 -0
  186. package/dist/layers.Dol0x5Jd.js +61 -0
  187. package/dist/layers.DrtkQKK7.js +1 -0
  188. package/dist/layers.Ds95POLS.js +1 -0
  189. package/dist/layers.DsAtBUs-.js +1283 -0
  190. package/dist/layers.DtoCH9Nn.js +1 -0
  191. package/dist/layers.DwLw5o0M.js +38 -0
  192. package/dist/layers.DxA6ocdw.js +70 -0
  193. package/dist/layers.DxGDxkXA.js +164 -0
  194. package/dist/layers.Dxrm0nEM.js +2479 -0
  195. package/dist/layers.Dy1naDTQ.js +14 -0
  196. package/dist/layers.Dyor8Hot.js +186 -0
  197. package/dist/layers.Dyqg_e4P.js +41 -0
  198. package/dist/layers.DzaH7mDC.js +65 -0
  199. package/dist/layers.Dzc83sE7.js +1 -0
  200. package/dist/layers.FstVqdQC.js +804 -0
  201. package/dist/layers.HcI9cOEd.js +1089 -0
  202. package/dist/layers.I-MG0ir4.js +21461 -0
  203. package/dist/layers.I5-pSyca.js +1 -0
  204. package/dist/layers.JWCLFILJ.js +1 -0
  205. package/dist/layers.LOjND5R4.js +320 -0
  206. package/dist/{layers.BKFthpnI.js → layers.L_XjkGw6.js} +24 -24
  207. package/dist/layers.Lhl12ohc.js +1 -0
  208. package/dist/layers.N4wL2Xyj.js +1083 -0
  209. package/dist/layers.OEP2K3db.js +4 -0
  210. package/dist/layers.PO65UmTA.js +10 -0
  211. package/dist/layers.PhLwHKUM.js +40 -0
  212. package/dist/layers.Tatx7z0m.js +55 -0
  213. package/dist/layers.UbqG2dp_.js +10 -0
  214. package/dist/layers.WsdOSV4y.js +2 -0
  215. package/dist/{layers.C99LCymA.js → layers.Y41CVpLS.js} +70 -70
  216. package/dist/layers.Ym7pRGM7.js +84 -0
  217. package/dist/layers.b0h5ZBmD.js +61 -0
  218. package/dist/layers.c_QDfgff.js +257 -0
  219. package/dist/layers.cp645rbn.js +7 -0
  220. package/dist/layers.dqI-yLmM.js +41 -0
  221. package/dist/layers.fTcEk1do.js +261 -0
  222. package/dist/layers.gRKbOYG-.js +960 -0
  223. package/dist/layers.gaT5_-NN.js +32 -0
  224. package/dist/layers.gzGcAwbO.js +904 -0
  225. package/dist/layers.h0tSRttU.js +1 -0
  226. package/dist/layers.hkFN-BS0.js +39 -0
  227. package/dist/layers.iw01AOuQ.js +931 -0
  228. package/dist/layers.k2UyvrHI.js +35 -0
  229. package/dist/layers.kY3ZYtED.js +1 -0
  230. package/dist/layers.kthR742N.js +39 -0
  231. package/dist/layers.lCpg7dOn.js +21 -0
  232. package/dist/layers.lLRqycMO.js +39 -0
  233. package/dist/layers.oFAtdeQ1.js +501 -0
  234. package/dist/layers.p9hSNB6N.js +1 -0
  235. package/dist/layers.paz6tc0L.js +1034 -0
  236. package/dist/layers.rRMBW9ET.js +1580 -0
  237. package/dist/layers.tbRLuldN.js +1 -0
  238. package/dist/layers.x6Qk2Mwl.js +8 -0
  239. package/dist/layers.x6ioP3u0.js +423 -0
  240. package/dist/layers.za1sylgg.js +11692 -0
  241. package/package.json +6 -5
  242. package/dist/layers.F7W7VvW1.js +0 -164
@@ -0,0 +1,40 @@
1
+ import "./layers.I-MG0ir4.js";
2
+ var u = { paste: "Вставить", pasteAsPlaintext: "Вставить как обычный текст", pasteCharts: "Вставить диаграммы", selectAll: "Выбрать всё", multiSelect: "Добавить элемент в выделенный фрагмент", moveCanvas: "Переместить холст", cut: "Вырезать", copy: "Копировать", copyAsPng: "Скопировать в буфер обмена как PNG", copyAsSvg: "Скопировать в буфер обмена как SVG", copyText: "Скопировать в буфер обмена как текст", copySource: "Копировать источник в буфер обмена", convertToCode: "Преобразовать в код", bringForward: "Переместить вперед", sendToBack: "На задний план", bringToFront: "На передний план", sendBackward: "Переместить назад", delete: "Удалить", copyStyles: "Скопировать стили", pasteStyles: "Вставить стили", stroke: "Обводка", background: "Фон", fill: "Заливка", strokeWidth: "Толщина штриха", strokeStyle: "Стиль обводки", strokeStyle_solid: "Сплошная", strokeStyle_dashed: "Пунктирная", strokeStyle_dotted: "Точечная", sloppiness: "Стиль обводки", opacity: "Непрозрачность", textAlign: "Выравнивание текста", edges: "Края", sharp: "Острые", round: "Скругленные", arrowheads: "Стрелка", arrowhead_none: "Нет", arrowhead_arrow: "Cтрелка", arrowhead_bar: "Черта", arrowhead_circle: "", arrowhead_circle_outline: "", arrowhead_triangle: "Треугольник", arrowhead_triangle_outline: "", arrowhead_diamond: "", arrowhead_diamond_outline: "", fontSize: "Размер шрифта", fontFamily: "Семейство шрифтов", addWatermark: "Добавить «Создано в Excalidraw»", handDrawn: "От руки", normal: "Обычный", code: "Код", small: "Малый", medium: "Средний", large: "Большой", veryLarge: "Очень большой", solid: "Однотонная", hachure: "Штрихованная", zigzag: "Зигзаг", crossHatch: "Перекрестная", thin: "Тонкая", bold: "Жирная", left: "Слева", center: "Центр", right: "Справа", extraBold: "Очень жирная", architect: "Архитектор", artist: "Художник", cartoonist: "Карикатурист", fileTitle: "Имя файла", colorPicker: "Выбор цвета", canvasColors: "Используется на холсте", canvasBackground: "Фон холста", drawingCanvas: "Полотно", layers: "Слои", actions: "Действия", language: "Язык", liveCollaboration: "Онлайн взаимодействие...", duplicateSelection: "Дубликат", untitled: "Безымянный", name: "Имя", yourName: "Ваше имя", madeWithExcalidraw: "Сделано в Excalidraw", group: "Сгруппировать выделение", ungroup: "Разделить выделение", collaborators: "Участники", showGrid: "Показать сетку", addToLibrary: "Добавить в библиотеку", removeFromLibrary: "Удалить из библиотеки", libraryLoadingMessage: "Загрузка библиотеки…", libraries: "Просмотреть библиотеки", loadingScene: "Загрузка сцены…", align: "Выровнять", alignTop: "Выровнять по верхнему краю", alignBottom: "Выровнять по нижнему краю", alignLeft: "Выровнять по левому краю", alignRight: "Выровнять по правому краю", centerVertically: "Центрировать по вертикали", centerHorizontally: "Центрировать по горизонтали", distributeHorizontally: "Распределить по горизонтали", distributeVertically: "Распределить по вертикали", flipHorizontal: "Переворот по горизонтали", flipVertical: "Переворот по вертикали", viewMode: "Вид", share: "Поделиться", showStroke: "Показать выбор цвета обводки", showBackground: "Показать выбор цвета фона", toggleTheme: "Переключить тему", personalLib: "Личная библиотека", excalidrawLib: "Библиотека Excalidraw", decreaseFontSize: "Уменьшить шрифт", increaseFontSize: "Увеличить шрифт", unbindText: "Отвязать текст", bindText: "Привязать текст к контейнеру", createContainerFromText: "Поместить текст в контейнер", link: { edit: "Редактировать ссылку", editEmbed: "", create: "Создать ссылку", createEmbed: "", label: "Ссылка", labelEmbed: "", empty: "" }, lineEditor: { edit: "Редактирование строки", exit: "Выход из редактора строки" }, elementLock: { lock: "Блокировать", unlock: "Разблокировать", lockAll: "Заблокировать все", unlockAll: "Разблокировать все" }, statusPublished: "Опубликовано", sidebarLock: "Держать боковую панель открытой", selectAllElementsInFrame: "", removeAllElementsFromFrame: "", eyeDropper: "Взять образец цвета с холста", textToDiagram: "Текст в диаграмму", prompt: "" }, E = { noItems: "Пока ничего не добавлено...", hint_emptyLibrary: "Выберите объект на холсте, чтобы добавить его сюда, или установите библиотеку из публичного репозитория ниже.", hint_emptyPrivateLibrary: "Выберите объект на холсте, чтобы добавить его сюда." }, D = { clearReset: "Очистить холст и сбросить цвет фона", exportJSON: "Сохранить в", exportImage: "Экспортировать изображение...", export: "Сохранить как...", copyToClipboard: "Скопировать в буфер обмена", save: "Сохранить в текущий файл", saveAs: "Сохранить как", load: "Открыть", getShareableLink: "Получить доступ по ссылке", close: "Закрыть", selectLanguage: "Выбрать язык", scrollBackToContent: "Вернуться к содержимому", zoomIn: "Увеличить", zoomOut: "Уменьшить", resetZoom: "Сбросить масштаб", menu: "Меню", done: "Готово", edit: "Изменить", undo: "Шаг назад", redo: "Шаг вперед", resetLibrary: "Сброс библиотеки", createNewRoom: "Создать новую комнату", fullScreen: "Полный экран", darkMode: "Темная тема", lightMode: "Светлая тема", zenMode: "Режим Дзен", objectsSnapMode: "Привязка к объектам", exitZenMode: "Выключить режим концентрации внимания", cancel: "Отменить", clear: "Очистить", remove: "Удалить", embed: "", publishLibrary: "Опубликовать", submit: "Отправить", confirm: "Подтвердить", embeddableInteractionButton: "" }, e = { clearReset: "Это очистит весь холст. Вы уверены?", couldNotCreateShareableLink: "Не удалось создать общедоступную ссылку.", couldNotCreateShareableLinkTooBig: "Нельзя создать ссылку, чтобы поделиться. Сцена слишком большая", couldNotLoadInvalidFile: "Не удалось загрузить недопустимый файл", importBackendFailed: "Не удалось импортировать из бэкэнда.", cannotExportEmptyCanvas: "Не может экспортировать пустой холст.", couldNotCopyToClipboard: "Не удалось скопировать в буфер обмена.", decryptFailed: "Не удалось расшифровать данные.", uploadedSecurly: "Загружаемые данные защищена сквозным шифрованием, что означает, что сервер Excalidraw и третьи стороны не могут прочитать содержимое.", loadSceneOverridePrompt: "Загрузка рисунка приведёт к замене имеющегося содержимого. Вы хотите продолжить?", collabStopOverridePrompt: `Остановка сессии перезапишет ваш предыдущий, локально сохранённый рисунок. Вы уверены?
3
+
4
+ (Если вы хотите оставить ваш локальный рисунок, просто закройте вкладку браузера)`, errorAddingToLibrary: "Не удалось добавить объект в библиотеку", errorRemovingFromLibrary: "Не удалось удалить объект из библиотеки", confirmAddLibrary: "Будет добавлено {{numShapes}} фигур в вашу библиотеку. Продолжить?", imageDoesNotContainScene: "Это изображение не содержит данных сцены. Вы включили встраивание сцены во время экспорта?", cannotRestoreFromImage: "Сцена не может быть восстановлена из этого изображения", invalidSceneUrl: "Невозможно импортировать сцену с предоставленного URL. Неверный формат, или не содержит верных Excalidraw JSON данных.", resetLibrary: "Это очистит вашу библиотеку. Вы уверены?", removeItemsFromsLibrary: "Удалить {{count}} объект(ов) из библиотеки?", invalidEncryptionKey: "Ключ шифрования должен состоять из 22 символов. Одновременное редактирование отключено.", collabOfflineWarning: `Отсутствует интернет-соединение.
5
+ Ваши изменения не будут сохранены!` }, B = { unsupportedFileType: "Неподдерживаемый тип файла.", imageInsertError: "Не удалось вставить изображение. Попробуйте позже...", fileTooBig: "Очень большой файл. Максимально разрешенный размер {{maxSize}}.", svgImageInsertError: "Не удалось вставить изображение SVG. Разметка SVG выглядит недействительной.", failedToFetchImage: "Не удалось получить изображение.", invalidSVGString: "Некорректный SVG.", cannotResolveCollabServer: "Не удалось подключиться к серверу совместного редактирования. Перезагрузите страницу и повторите попытку.", importLibraryError: "Не удалось загрузить библиотеку", collabSaveFailed: "Не удалось сохранить в базу данных. Если проблема повторится, нужно будет сохранить файл локально, чтобы быть уверенным, что вы не потеряете вашу работу.", collabSaveFailed_sizeExceeded: "Не удалось сохранить в базу данных. Похоже, что холст слишком большой. Нужно сохранить файл локально, чтобы быть уверенным, что вы не потеряете вашу работу.", imageToolNotSupported: "Изображения отключены.", brave_measure_text_error: { line1: "Похоже, вы используете браузер Brave с включенной опцией <bold>Агрессивно блокировать отслеживание</bold>.", line2: "Это может привести к поломке <bold>Текстовых объектов</bold> на рисунке.", line3: "Мы настоятельно рекомендуем отключить эту настройку. Для этого нужно выполнить <link>эти шаги</link>.", line4: "Если отключение этой настройки не исправит отображение текстовых объектов, создайте <issueLink>issue</issueLink> на нашем GitHub или напишите нам в <discordLink>Discord</discordLink>" }, libraryElementTypeError: { embeddable: "", iframe: "Элементы IFrame не могут быть добавлены в библиотеку.", image: "" }, asyncPasteFailedOnRead: "Не удалось вставить (невозможно прочитать из системного буфера обмена).", asyncPasteFailedOnParse: "Не удалось вставить.", copyToSystemClipboardFailed: "Не удалось скопировать в буфер обмена." }, C = { selection: "Выделение области", image: "Вставить изображение", rectangle: "Прямоугольник", diamond: "Ромб", ellipse: "Эллипс", arrow: "Cтрелка", line: "Линия", freedraw: "Чертить", text: "Текст", library: "Библиотека", lock: "Сохранять выбранный инструмент активным после рисования", penMode: "Режим пера - предотвращение касания", link: "Добавить/обновить ссылку для выбранной фигуры", eraser: "Ластик", frame: "", magicframe: "", embeddable: "", laser: "Лазерная указка", hand: "Рука (перемещение холста)", extraTools: "", mermaidToExcalidraw: "Из Mermaid в Excalidraw", magicSettings: "Параметры AI" }, a = { canvasActions: "Операции холста", selectedShapeActions: "Операции выбранной фигуры", shapes: "Фигуры" }, r = { canvasPanning: 'Чтобы двигать холст, удерживайте колесо мыши или пробел во время перетаскивания, или используйте инструмент "Рука"', linearElement: "Нажмите, чтобы начать несколько точек, перетащите для одной линии", freeDraw: "Нажмите и перетаскивайте, отпустите по завершении", text: "Совет: при выбранном инструменте выделения дважды щёлкните в любом месте, чтобы добавить текст", embeddable: "", text_selected: "Дважды щелкните мышью или нажмите ENTER, чтобы редактировать текст", text_editing: "Нажмите Escape либо Ctrl или Cmd + ENTER для завершения редактирования", linearElementMulti: "Кликните на последней точке или нажмите Escape или Enter чтобы закончить", lockAngle: "Вы можете ограничить угол удерживая SHIFT", resize: `Вы можете ограничить пропорции, удерживая SHIFT во время изменения размеров,
6
+ удерживайте ALT чтобы изменить размер из центра`, resizeImage: `Вы можете свободно изменять размеры, удерживая кнопку SHIFT,
7
+ удерживайте кнопку ALT, чтобы изменять размер относительно центра`, rotate: "Вы можете ограничить углы, удерживая SHIFT во время вращения", lineEditor_info: "Удерживайте CtrlOrCmd и дважды кликните или нажмите CtrlOrCmd + Enter для редактирования точек", lineEditor_pointSelected: `Нажмите Delete для удаления точки (точек),
8
+ Ctrl+D или Cmd+D для дублирования, перетащите для перемещения`, lineEditor_nothingSelected: `Выберите точку для редактирования (удерживайте SHIFT выбора нескольких точек),
9
+ или удерживайте Alt и кликните для добавления новых точек`, placeImage: "Щелкните, чтобы разместить изображение, или нажмите и перетащите, чтобы установить его размер вручную", publishLibrary: "Опубликовать свою собственную библиотеку", bindTextToElement: "Нажмите Enter для добавления текста", deepBoxSelect: "Удерживайте Ctrl или Cmd для глубокого выделения, чтобы предотвратить перетаскивание", eraserRevert: "Удерживайте Alt, чтобы вернуть элементы, отмеченные для удаления", firefox_clipboard_write: 'Эта функция может быть включена при изменении значения флага "dom.events.asyncClipboard.clipboardItem" на "true". Чтобы изменить флаги браузера в Firefox, посетите страницу "about:config".', disableSnapping: "" }, F = { cannotShowPreview: "Не удается отобразить предпросмотр", canvasTooBig: "Сцена слишком большая.", canvasTooBigTip: "Совет: попробуйте сблизить элементы рисунка." }, o = { headingMain: "Возникла ошибка. Попробуйте <button>перезагрузить страницу.</button>", clearCanvasMessage: "Если перезагрузка страницы не помогла, попробуйте <button>очистить холст.</button>", clearCanvasCaveat: " Текущая работа будет утеряна ", trackedToSentry: "Ошибка с идентификатором {{eventId}} отслеживается в нашей системе.", openIssueMessage: "Для безопасности информация о вашей сцене не включена в ошибку. Если в сцене нет ничего конфиденциального, пожалуйста следуйте нашим <button>баг трекере.</button> Пожалуйста, приложите информацию ниже, скопировав и вставив её, в issue GitHub.", sceneContent: "Содержание сцены:" }, t = { desc_intro: "Вы можете пригласить людей в текущую сцену для совместной работы.", desc_privacy: "Не беспокойтесь — во время сеанса используется сквозное шифрование. Всё, что вы нарисуете, останется конфиденциальным и не будет доступно даже нашему серверу.", button_startSession: "Начать сеанс", button_stopSession: "Завершить сеанс", desc_inProgressIntro: "Сеанс совместной работы запущен.", desc_shareLink: "Поделитесь этой ссылкой со всеми участниками:", desc_exitSession: "Завершив сеанс, вы выйдете из комнаты, но сможете продолжить работать с документом локально. Это не повлияет на работу других пользователей — они смогут продолжить совместную работу с их версией документа.", shareTitle: "Присоединиться к активной совместной сессии на Excalidraw" }, i = { title: "Ошибка" }, A = { disk_title: "Сохранить на диск", disk_details: "Экспортировать данные сцены в файл, из которого можно импортировать позже.", disk_button: "Сохранить в файл", link_title: "Поделитесь ссылкой", link_details: "Экспорт ссылки только для чтения.", link_button: "Экспорт в ссылку", excalidrawplus_description: "Сохраните сцену в ваше рабочее пространство Excalidraw+.", excalidrawplus_button: "Экспорт", excalidrawplus_exportError: "Не удалось экспортировать в Excalidraw+ на данный момент..." }, l = { blog: "Прочитайте наш блог", click: "нажать", deepSelect: "Глубокое выделение", deepBoxSelect: "Глубокое выделение рамкой, и предотвращение перетаскивания", curvedArrow: "Изогнутая стрелка", curvedLine: "Изогнутая линия", documentation: "Документация", doubleClick: "двойной клик", drag: "перетащить", editor: "Редактор", editLineArrowPoints: "Редактировать концы линий/стрелок", editText: "Редактировать текст / добавить метку", github: "Нашли проблему? Отправьте", howto: "Следуйте нашим инструкциям", or: "или", preventBinding: "Предотвращать привязку стрелок", tools: "Инструменты", shortcuts: "Горячие клавиши", textFinish: "Закончить редактирование (текстовый редактор)", textNewLine: "Добавить новую строку (текстовый редактор)", title: "Помощь", view: "Просмотр", zoomToFit: "Отмастштабировать, чтобы поместились все элементы", zoomToSelection: "Увеличить до выделенного", toggleElementLock: "Заблокировать/разблокировать выделение", movePageUpDown: "Сдвинуть страницу вверх/вниз", movePageLeftRight: "Сдвинуть страницу вправо/влево" }, n = { title: "Очистить холст" }, s = { title: "Опубликовать библиотеку", itemName: "Название объекта", authorName: "Имя автора", githubUsername: "Имя пользователя GitHub", twitterUsername: "Имя пользователя в Twitter", libraryName: "Название библиотеки", libraryDesc: "Описание библиотеки", website: "Веб-сайт", placeholder: { authorName: "Ваше имя или имя пользователя", libraryName: "Название вашей библиотеки", libraryDesc: "Описание вашей библиотеки, которое поможет людям понять её назначение", githubHandle: "Имя пользователя GitHub (необязательно), чтобы вы смогли редактировать библиотеку после её отправки на проверку", twitterHandle: "Имя пользователя в Twitter (необязательно), чтобы мы знали, кого упомянуть при продвижении в Twitter", website: "Ссылка на ваш личный или какой-то другой сайт (необязательно)" }, errors: { required: "Обязательно", website: "Введите допустимый URL-адрес" }, noteDescription: "Отправить вашу библиотеку для включения в <link>хранилище публичных библиотек</link>, чтобы другие люди могли использовать объекты из вашей библиотеки в своих рисунках.", noteGuidelines: "Библиотека должна быть подтверждена вручную. Пожалуйста, прочтите <link>рекомендации</link> перед отправкой. Вам понадобится учетная запись GitHub, чтобы общаться и вносить изменения при необходимости, но это не обязательно.", noteLicense: "Выполняя отправку, вы соглашаетесь с тем, что библиотека будет опубликована под <link>лицензией MIT, </link>, что, вкратце, означает, что каждый может использовать её без ограничений.", noteItems: "Каждый объект в библиотеке должен иметь свое собственное имя, чтобы по нему можно было фильтровать. Следующие объекты библиотеки будут включены:", atleastOneLibItem: "Пожалуйста, выберите хотя бы один объект в библиотеке, чтобы начать", republishWarning: "Примечание: некоторые из выбранных элементов помечены как уже опубликованные/отправленные. Вы должны повторно отправить элементы только при обновлении существующей библиотеки или сдаче работы." }, d = { title: "Библиотека отправлена", content: "Благодарим вас, {{authorName}}. Ваша библиотека была отправлена на проверку. Вы можете отслеживать статус<link>здесь</link>" }, c = { resetLibrary: "Сброс библиотеки", removeItemsFromLib: "Удалить выбранные объекты из библиотеки" }, m = { header: "Экспортировать изображение", label: { withBackground: "Фон", onlySelected: "Только выделенное", darkMode: "Темная тема", embedScene: "Встроить сцену", scale: "Масштаб", padding: "Отступ" }, tooltip: { embedScene: "Сцена будет сохранена в PNG/SVG файл так, чтобы всю сцену можно будет восстановить из этого файла. Это увеличит размер файла." }, title: { exportToPng: "Экспорт в PNG", exportToSvg: "Экспорт в SVG", copyPngToClipboard: "Скопировать PNG в буфер обмена" }, button: { exportToPng: "PNG", exportToSvg: "SVG", copyPngToClipboard: "Скопировать в буфер обмена" } }, p = { tooltip: "Ваши данные защищены сквозным (End-to-end) шифрованием. Серверы Excalidraw никогда не получат доступ к ним.", link: "Запись блога о сквозном шифровании в Excalidraw" }, b = { angle: "Угол", element: "Элемент", elements: "Элементы", height: "Высота", scene: "Сцены", selected: "Выбран", storage: "Хранилище", title: "Статистика для ботаников", total: "Всего", version: "Версия", versionCopy: "Копировать", versionNotAvailable: "Версия не доступна", width: "Ширина" }, g = { addedToLibrary: "Добавлено в библиотеку", copyStyles: "Скопированы стили.", copyToClipboard: "Скопировано в буфер обмена.", copyToClipboardAsPng: "{{exportSelection}} скопировано как PNG ({{exportColorScheme}})", fileSaved: "Файл сохранён.", fileSavedToFilename: "Сохранено в {filename}", canvas: "холст", selection: "выделение", pasteAsSingleElement: `Используйте {{shortcut}}, чтобы вставить один объект,
10
+ или вставьте в существующий текстовый редактор`, unableToEmbed: "", unrecognizedLinkFormat: "" }, h = { transparent: "Прозрачный", black: "Чёрный", white: "Белый", red: "Красный", pink: "Розовый", grape: "Виноградный", violet: "Фиолетовый", gray: "Серый", blue: "Синий", cyan: "Голубой", teal: "Бирюзовый", green: "Зелёный", yellow: "Жёлтый", orange: "Оранжевый", bronze: "Бронзовый" }, S = { app: { center_heading: "Все ваши данные сохраняются локально в вашем браузере.", center_heading_plus: "Хотите перейти на Excalidraw+?", menuHint: "Экспорт, настройки, языки, ..." }, defaults: { menuHint: "Экспорт, настройки и другое...", center_heading: "Диаграммы. Просто.", toolbarHint: "Выберите инструмент и начните рисовать!", helpHint: "Сочетания клавиш и помощь" } }, y = { mostUsedCustomColors: "Часто используемые пользовательские цвета", colors: "Цвета", shades: "Оттенки", hexCode: "Шестнадцатеричный код", noShades: "Нет доступных оттенков для этого цвета" }, w = { action: { exportToImage: { title: "Экспортировать как изображение", button: "Экспортировать как изображение", description: "" }, saveToDisk: { title: "Сохранить на диск", button: "Сохранить на диск", description: "" }, excalidrawPlus: { title: "Excalidraw+", button: "Экспорт в Excalidraw+", description: "" } }, modal: { loadFromFile: { title: "Загрузить из файла", button: "Загрузить из файла", description: "" }, shareableLink: { title: "Загрузить по ссылке", button: "", description: "" } } }, v = { title: "Из Mermaid в Excalidraw", button: "Вставить", description: "", syntax: "Синтаксис Mermaid", preview: "Предпросмотр" }, k = { labels: u, library: E, buttons: D, alerts: e, errors: B, toolBar: C, headings: a, hints: r, canvasError: F, errorSplash: o, roomDialog: t, errorDialog: i, exportDialog: A, helpDialog: l, clearCanvasDialog: n, publishDialog: s, publishSuccessDialog: d, confirmDialog: c, imageExportDialog: m, encrypted: p, stats: b, toast: g, colors: h, welcomeScreen: S, colorPicker: y, overwriteConfirm: w, mermaid: v };
11
+ export {
12
+ e as alerts,
13
+ D as buttons,
14
+ F as canvasError,
15
+ n as clearCanvasDialog,
16
+ y as colorPicker,
17
+ h as colors,
18
+ c as confirmDialog,
19
+ k as default,
20
+ p as encrypted,
21
+ i as errorDialog,
22
+ o as errorSplash,
23
+ B as errors,
24
+ A as exportDialog,
25
+ a as headings,
26
+ l as helpDialog,
27
+ r as hints,
28
+ m as imageExportDialog,
29
+ u as labels,
30
+ E as library,
31
+ v as mermaid,
32
+ w as overwriteConfirm,
33
+ s as publishDialog,
34
+ d as publishSuccessDialog,
35
+ t as roomDialog,
36
+ b as stats,
37
+ g as toast,
38
+ C as toolBar,
39
+ S as welcomeScreen
40
+ };
@@ -0,0 +1 @@
1
+ "use strict";const ae=require("lodash-es"),w=require("./layers.9QK1wiQj.js");function te(e){const n=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const r in e)if(r!=="default"){const a=Object.getOwnPropertyDescriptor(e,r);Object.defineProperty(n,r,a.get?a:{enumerable:!0,get:()=>e[r]})}}return n.default=e,Object.freeze(n)}const o=te(ae);class oe{constructor(){var n={};n._next=n._prev=n,this._sentinel=n}dequeue(){var n=this._sentinel,r=n._prev;if(r!==n)return P(r),r}enqueue(n){var r=this._sentinel;n._prev&&n._next&&P(n),n._next=r._next,r._next._prev=n,r._next=n,n._prev=r}toString(){for(var n=[],r=this._sentinel,a=r._prev;a!==r;)n.push(JSON.stringify(a,ie)),a=a._prev;return"["+n.join(", ")+"]"}}function P(e){e._prev._next=e._next,e._next._prev=e._prev,delete e._next,delete e._prev}function ie(e,n){if(e!=="_next"&&e!=="_prev")return n}var fe=o.constant(1);function ue(e,n){if(e.nodeCount()<=1)return[];var r=ce(e,n||fe),a=de(r.graph,r.buckets,r.zeroIdx);return o.flatten(o.map(a,function(t){return e.outEdges(t.v,t.w)}))}function de(e,n,r){for(var a=[],t=n[n.length-1],f=n[0],i;e.nodeCount();){for(;i=f.dequeue();)y(e,n,r,i);for(;i=t.dequeue();)y(e,n,r,i);if(e.nodeCount()){for(var u=n.length-2;u>0;--u)if(i=n[u].dequeue(),i){a=a.concat(y(e,n,r,i,!0));break}}}return a}function y(e,n,r,a,t){var f=t?[]:void 0;return o.forEach(e.inEdges(a.v),function(i){var u=e.edge(i),d=e.node(i.v);t&&f.push({v:i.v,w:i.w}),d.out-=u,R(n,r,d)}),o.forEach(e.outEdges(a.v),function(i){var u=e.edge(i),d=i.w,c=e.node(d);c.in-=u,R(n,r,c)}),e.removeNode(a.v),f}function ce(e,n){var r=new w.Graph,a=0,t=0;o.forEach(e.nodes(),function(u){r.setNode(u,{v:u,in:0,out:0})}),o.forEach(e.edges(),function(u){var d=r.edge(u.v,u.w)||0,c=n(u),s=d+c;r.setEdge(u.v,u.w,s),t=Math.max(t,r.node(u.v).out+=c),a=Math.max(a,r.node(u.w).in+=c)});var f=o.range(t+a+3).map(function(){return new oe}),i=a+1;return o.forEach(r.nodes(),function(u){R(f,i,r.node(u))}),{graph:r,buckets:f,zeroIdx:i}}function R(e,n,r){r.out?r.in?e[r.out-r.in+n].enqueue(r):e[e.length-1].enqueue(r):e[0].enqueue(r)}function se(e){var n=e.graph().acyclicer==="greedy"?ue(e,r(e)):he(e);o.forEach(n,function(a){var t=e.edge(a);e.removeEdge(a),t.forwardName=a.name,t.reversed=!0,e.setEdge(a.w,a.v,t,o.uniqueId("rev"))});function r(a){return function(t){return a.edge(t).weight}}}function he(e){var n=[],r={},a={};function t(f){o.has(a,f)||(a[f]=!0,r[f]=!0,o.forEach(e.outEdges(f),function(i){o.has(r,i.w)?n.push(i):t(i.w)}),delete r[f])}return o.forEach(e.nodes(),t),n}function le(e){o.forEach(e.edges(),function(n){var r=e.edge(n);if(r.reversed){e.removeEdge(n);var a=r.forwardName;delete r.reversed,delete r.forwardName,e.setEdge(n.w,n.v,r,a)}})}function b(e,n,r,a){var t;do t=o.uniqueId(a);while(e.hasNode(t));return r.dummy=n,e.setNode(t,r),t}function ve(e){var n=new w.Graph().setGraph(e.graph());return o.forEach(e.nodes(),function(r){n.setNode(r,e.node(r))}),o.forEach(e.edges(),function(r){var a=n.edge(r.v,r.w)||{weight:0,minlen:1},t=e.edge(r);n.setEdge(r.v,r.w,{weight:a.weight+t.weight,minlen:Math.max(a.minlen,t.minlen)})}),n}function q(e){var n=new w.Graph({multigraph:e.isMultigraph()}).setGraph(e.graph());return o.forEach(e.nodes(),function(r){e.children(r).length||n.setNode(r,e.node(r))}),o.forEach(e.edges(),function(r){n.setEdge(r,e.edge(r))}),n}function O(e,n){var r=e.x,a=e.y,t=n.x-r,f=n.y-a,i=e.width/2,u=e.height/2;if(!t&&!f)throw new Error("Not possible to find intersection inside of the rectangle");var d,c;return Math.abs(f)*i>Math.abs(t)*u?(f<0&&(u=-u),d=u*t/f,c=u):(t<0&&(i=-i),d=i,c=i*f/t),{x:r+d,y:a+c}}function x(e){var n=o.map(o.range(U(e)+1),function(){return[]});return o.forEach(e.nodes(),function(r){var a=e.node(r),t=a.rank;o.isUndefined(t)||(n[t][a.order]=r)}),n}function pe(e){var n=o.min(o.map(e.nodes(),function(r){return e.node(r).rank}));o.forEach(e.nodes(),function(r){var a=e.node(r);o.has(a,"rank")&&(a.rank-=n)})}function me(e){var n=o.min(o.map(e.nodes(),function(f){return e.node(f).rank})),r=[];o.forEach(e.nodes(),function(f){var i=e.node(f).rank-n;r[i]||(r[i]=[]),r[i].push(f)});var a=0,t=e.graph().nodeRankFactor;o.forEach(r,function(f,i){o.isUndefined(f)&&i%t!==0?--a:a&&o.forEach(f,function(u){e.node(u).rank+=a})})}function V(e,n,r,a){var t={width:0,height:0};return arguments.length>=4&&(t.rank=r,t.order=a),b(e,"border",t,n)}function U(e){return o.max(o.map(e.nodes(),function(n){var r=e.node(n).rank;if(!o.isUndefined(r))return r}))}function we(e,n){var r={lhs:[],rhs:[]};return o.forEach(e,function(a){n(a)?r.lhs.push(a):r.rhs.push(a)}),r}function Ee(e,n){return n()}function be(e){function n(r){var a=e.children(r),t=e.node(r);if(a.length&&o.forEach(a,n),o.has(t,"minRank")){t.borderLeft=[],t.borderRight=[];for(var f=t.minRank,i=t.maxRank+1;f<i;++f)B(e,"borderLeft","_bl",r,t,f),B(e,"borderRight","_br",r,t,f)}}o.forEach(e.children(),n)}function B(e,n,r,a,t,f){var i={width:0,height:0,rank:f,borderType:n},u=t[n][f-1],d=b(e,"border",i,r);t[n][f]=d,e.setParent(d,a),u&&e.setEdge(u,d,{weight:1})}function ge(e){var n=e.graph().rankdir.toLowerCase();(n==="lr"||n==="rl")&&W(e)}function ke(e){var n=e.graph().rankdir.toLowerCase();(n==="bt"||n==="rl")&&xe(e),(n==="lr"||n==="rl")&&(ye(e),W(e))}function W(e){o.forEach(e.nodes(),function(n){F(e.node(n))}),o.forEach(e.edges(),function(n){F(e.edge(n))})}function F(e){var n=e.width;e.width=e.height,e.height=n}function xe(e){o.forEach(e.nodes(),function(n){N(e.node(n))}),o.forEach(e.edges(),function(n){var r=e.edge(n);o.forEach(r.points,N),o.has(r,"y")&&N(r)})}function N(e){e.y=-e.y}function ye(e){o.forEach(e.nodes(),function(n){L(e.node(n))}),o.forEach(e.edges(),function(n){var r=e.edge(n);o.forEach(r.points,L),o.has(r,"x")&&L(r)})}function L(e){var n=e.x;e.x=e.y,e.y=n}function Ne(e){e.graph().dummyChains=[],o.forEach(e.edges(),function(n){Le(e,n)})}function Le(e,n){var r=n.v,a=e.node(r).rank,t=n.w,f=e.node(t).rank,i=n.name,u=e.edge(n),d=u.labelRank;if(f!==a+1){e.removeEdge(n);var c,s,h;for(h=0,++a;a<f;++h,++a)u.points=[],s={width:0,height:0,edgeLabel:u,edgeObj:n,rank:a},c=b(e,"edge",s,"_d"),a===d&&(s.width=u.width,s.height=u.height,s.dummy="edge-label",s.labelpos=u.labelpos),e.setEdge(r,c,{weight:u.weight},i),h===0&&e.graph().dummyChains.push(c),r=c;e.setEdge(r,t,{weight:u.weight},i)}}function Ie(e){o.forEach(e.graph().dummyChains,function(n){var r=e.node(n),a=r.edgeLabel,t;for(e.setEdge(r.edgeObj,a);r.dummy;)t=e.successors(n)[0],e.removeNode(n),a.points.push({x:r.x,y:r.y}),r.dummy==="edge-label"&&(a.x=r.x,a.y=r.y,a.width=r.width,a.height=r.height),n=t,r=e.node(n)})}function C(e){var n={};function r(a){var t=e.node(a);if(o.has(n,a))return t.rank;n[a]=!0;var f=o.min(o.map(e.outEdges(a),function(i){return r(i.w)-e.edge(i).minlen}));return(f===Number.POSITIVE_INFINITY||f===void 0||f===null)&&(f=0),t.rank=f}o.forEach(e.sources(),r)}function k(e,n){return e.node(n.w).rank-e.node(n.v).rank-e.edge(n).minlen}function $(e){var n=new w.Graph({directed:!1}),r=e.nodes()[0],a=e.nodeCount();n.setNode(r,{});for(var t,f;_e(n,e)<a;)t=Re(n,e),f=n.hasNode(t.v)?k(e,t):-k(e,t),Ce(n,e,f);return n}function _e(e,n){function r(a){o.forEach(n.nodeEdges(a),function(t){var f=t.v,i=a===f?t.w:f;!e.hasNode(i)&&!k(n,t)&&(e.setNode(i,{}),e.setEdge(a,i,{}),r(i))})}return o.forEach(e.nodes(),r),e.nodeCount()}function Re(e,n){return o.minBy(n.edges(),function(r){if(e.hasNode(r.v)!==e.hasNode(r.w))return k(n,r)})}function Ce(e,n,r){o.forEach(e.nodes(),function(a){n.node(a).rank+=r})}o.constant(1);o.constant(1);function Te(){}Te.prototype=new Error;function z(e,n,r){o.isArray(n)||(n=[n]);var a=(e.isDirected()?e.successors:e.neighbors).bind(e),t=[],f={};return o.each(n,function(i){if(!e.hasNode(i))throw new Error("Graph does not have node: "+i);X(e,i,r==="post",f,a,t)}),t}function X(e,n,r,a,t,f){o.has(a,n)||(a[n]=!0,r||f.push(n),o.each(t(n),function(i){X(e,i,r,a,t,f)}),r&&f.push(n))}function Se(e,n){return z(e,n,"post")}function Me(e,n){return z(e,n,"pre")}E.initLowLimValues=S;E.initCutValues=T;E.calcCutValue=H;E.leaveEdge=K;E.enterEdge=Q;E.exchangeEdges=Z;function E(e){e=ve(e),C(e);var n=$(e);S(n),T(n,e);for(var r,a;r=K(n);)a=Q(n,e,r),Z(n,e,r,a)}function T(e,n){var r=Se(e,e.nodes());r=r.slice(0,r.length-1),o.forEach(r,function(a){Pe(e,n,a)})}function Pe(e,n,r){var a=e.node(r),t=a.parent;e.edge(r,t).cutvalue=H(e,n,r)}function H(e,n,r){var a=e.node(r),t=a.parent,f=!0,i=n.edge(r,t),u=0;return i||(f=!1,i=n.edge(t,r)),u=i.weight,o.forEach(n.nodeEdges(r),function(d){var c=d.v===r,s=c?d.w:d.v;if(s!==t){var h=c===f,l=n.edge(d).weight;if(u+=h?l:-l,Ve(e,r,s)){var v=e.edge(r,s).cutvalue;u+=h?-v:v}}}),u}function S(e,n){arguments.length<2&&(n=e.nodes()[0]),J(e,{},1,n)}function J(e,n,r,a,t){var f=r,i=e.node(a);return n[a]=!0,o.forEach(e.neighbors(a),function(u){o.has(n,u)||(r=J(e,n,r,u,a))}),i.low=f,i.lim=r++,t?i.parent=t:delete i.parent,r}function K(e){return o.find(e.edges(),function(n){return e.edge(n).cutvalue<0})}function Q(e,n,r){var a=r.v,t=r.w;n.hasEdge(a,t)||(a=r.w,t=r.v);var f=e.node(a),i=e.node(t),u=f,d=!1;f.lim>i.lim&&(u=i,d=!0);var c=o.filter(n.edges(),function(s){return d===G(e,e.node(s.v),u)&&d!==G(e,e.node(s.w),u)});return o.minBy(c,function(s){return k(n,s)})}function Z(e,n,r,a){var t=r.v,f=r.w;e.removeEdge(t,f),e.setEdge(a.v,a.w,{}),S(e),T(e,n),Oe(e,n)}function Oe(e,n){var r=o.find(e.nodes(),function(t){return!n.node(t).parent}),a=Me(e,r);a=a.slice(1),o.forEach(a,function(t){var f=e.node(t).parent,i=n.edge(t,f),u=!1;i||(i=n.edge(f,t),u=!0),n.node(t).rank=n.node(f).rank+(u?i.minlen:-i.minlen)})}function Ve(e,n,r){return e.hasEdge(n,r)}function G(e,n,r){return r.low<=n.lim&&n.lim<=r.lim}function Be(e){switch(e.graph().ranker){case"network-simplex":D(e);break;case"tight-tree":Ge(e);break;case"longest-path":Fe(e);break;default:D(e)}}var Fe=C;function Ge(e){C(e),$(e)}function D(e){E(e)}function De(e){var n=b(e,"root",{},"_root"),r=Ae(e),a=o.max(o.values(r))-1,t=2*a+1;e.graph().nestingRoot=n,o.forEach(e.edges(),function(i){e.edge(i).minlen*=t});var f=Ye(e)+1;o.forEach(e.children(),function(i){ee(e,n,t,f,a,r,i)}),e.graph().nodeRankFactor=t}function ee(e,n,r,a,t,f,i){var u=e.children(i);if(!u.length){i!==n&&e.setEdge(n,i,{weight:0,minlen:r});return}var d=V(e,"_bt"),c=V(e,"_bb"),s=e.node(i);e.setParent(d,i),s.borderTop=d,e.setParent(c,i),s.borderBottom=c,o.forEach(u,function(h){ee(e,n,r,a,t,f,h);var l=e.node(h),v=l.borderTop?l.borderTop:h,p=l.borderBottom?l.borderBottom:h,m=l.borderTop?a:2*a,g=v!==p?1:t-f[i]+1;e.setEdge(d,v,{weight:m,minlen:g,nestingEdge:!0}),e.setEdge(p,c,{weight:m,minlen:g,nestingEdge:!0})}),e.parent(i)||e.setEdge(n,d,{weight:0,minlen:t+f[i]})}function Ae(e){var n={};function r(a,t){var f=e.children(a);f&&f.length&&o.forEach(f,function(i){r(i,t+1)}),n[a]=t}return o.forEach(e.children(),function(a){r(a,1)}),n}function Ye(e){return o.reduce(e.edges(),function(n,r){return n+e.edge(r).weight},0)}function je(e){var n=e.graph();e.removeNode(n.nestingRoot),delete n.nestingRoot,o.forEach(e.edges(),function(r){var a=e.edge(r);a.nestingEdge&&e.removeEdge(r)})}function qe(e,n,r){var a={},t;o.forEach(r,function(f){for(var i=e.parent(f),u,d;i;){if(u=e.parent(i),u?(d=a[u],a[u]=i):(d=t,t=i),d&&d!==i){n.setEdge(d,i);return}i=u}})}function Ue(e,n,r){var a=We(e),t=new w.Graph({compound:!0}).setGraph({root:a}).setDefaultNodeLabel(function(f){return e.node(f)});return o.forEach(e.nodes(),function(f){var i=e.node(f),u=e.parent(f);(i.rank===n||i.minRank<=n&&n<=i.maxRank)&&(t.setNode(f),t.setParent(f,u||a),o.forEach(e[r](f),function(d){var c=d.v===f?d.w:d.v,s=t.edge(c,f),h=o.isUndefined(s)?0:s.weight;t.setEdge(c,f,{weight:e.edge(d).weight+h})}),o.has(i,"minRank")&&t.setNode(f,{borderLeft:i.borderLeft[n],borderRight:i.borderRight[n]}))}),t}function We(e){for(var n;e.hasNode(n=o.uniqueId("_root")););return n}function $e(e,n){for(var r=0,a=1;a<n.length;++a)r+=ze(e,n[a-1],n[a]);return r}function ze(e,n,r){for(var a=o.zipObject(r,o.map(r,function(c,s){return s})),t=o.flatten(o.map(n,function(c){return o.sortBy(o.map(e.outEdges(c),function(s){return{pos:a[s.w],weight:e.edge(s).weight}}),"pos")})),f=1;f<r.length;)f<<=1;var i=2*f-1;f-=1;var u=o.map(new Array(i),function(){return 0}),d=0;return o.forEach(t.forEach(function(c){var s=c.pos+f;u[s]+=c.weight;for(var h=0;s>0;)s%2&&(h+=u[s+1]),s=s-1>>1,u[s]+=c.weight;d+=c.weight*h})),d}function Xe(e){var n={},r=o.filter(e.nodes(),function(u){return!e.children(u).length}),a=o.max(o.map(r,function(u){return e.node(u).rank})),t=o.map(o.range(a+1),function(){return[]});function f(u){if(!o.has(n,u)){n[u]=!0;var d=e.node(u);t[d.rank].push(u),o.forEach(e.successors(u),f)}}var i=o.sortBy(r,function(u){return e.node(u).rank});return o.forEach(i,f),t}function He(e,n){return o.map(n,function(r){var a=e.inEdges(r);if(a.length){var t=o.reduce(a,function(f,i){var u=e.edge(i),d=e.node(i.v);return{sum:f.sum+u.weight*d.order,weight:f.weight+u.weight}},{sum:0,weight:0});return{v:r,barycenter:t.sum/t.weight,weight:t.weight}}else return{v:r}})}function Je(e,n){var r={};o.forEach(e,function(t,f){var i=r[t.v]={indegree:0,in:[],out:[],vs:[t.v],i:f};o.isUndefined(t.barycenter)||(i.barycenter=t.barycenter,i.weight=t.weight)}),o.forEach(n.edges(),function(t){var f=r[t.v],i=r[t.w];!o.isUndefined(f)&&!o.isUndefined(i)&&(i.indegree++,f.out.push(r[t.w]))});var a=o.filter(r,function(t){return!t.indegree});return Ke(a)}function Ke(e){var n=[];function r(f){return function(i){i.merged||(o.isUndefined(i.barycenter)||o.isUndefined(f.barycenter)||i.barycenter>=f.barycenter)&&Qe(f,i)}}function a(f){return function(i){i.in.push(f),--i.indegree===0&&e.push(i)}}for(;e.length;){var t=e.pop();n.push(t),o.forEach(t.in.reverse(),r(t)),o.forEach(t.out,a(t))}return o.map(o.filter(n,function(f){return!f.merged}),function(f){return o.pick(f,["vs","i","barycenter","weight"])})}function Qe(e,n){var r=0,a=0;e.weight&&(r+=e.barycenter*e.weight,a+=e.weight),n.weight&&(r+=n.barycenter*n.weight,a+=n.weight),e.vs=n.vs.concat(e.vs),e.barycenter=r/a,e.weight=a,e.i=Math.min(n.i,e.i),n.merged=!0}function Ze(e,n){var r=we(e,function(s){return o.has(s,"barycenter")}),a=r.lhs,t=o.sortBy(r.rhs,function(s){return-s.i}),f=[],i=0,u=0,d=0;a.sort(en(!!n)),d=A(f,t,d),o.forEach(a,function(s){d+=s.vs.length,f.push(s.vs),i+=s.barycenter*s.weight,u+=s.weight,d=A(f,t,d)});var c={vs:o.flatten(f)};return u&&(c.barycenter=i/u,c.weight=u),c}function A(e,n,r){for(var a;n.length&&(a=o.last(n)).i<=r;)n.pop(),e.push(a.vs),r++;return r}function en(e){return function(n,r){return n.barycenter<r.barycenter?-1:n.barycenter>r.barycenter?1:e?r.i-n.i:n.i-r.i}}function ne(e,n,r,a){var t=e.children(n),f=e.node(n),i=f?f.borderLeft:void 0,u=f?f.borderRight:void 0,d={};i&&(t=o.filter(t,function(p){return p!==i&&p!==u}));var c=He(e,t);o.forEach(c,function(p){if(e.children(p.v).length){var m=ne(e,p.v,r,a);d[p.v]=m,o.has(m,"barycenter")&&rn(p,m)}});var s=Je(c,r);nn(s,d);var h=Ze(s,a);if(i&&(h.vs=o.flatten([i,h.vs,u]),e.predecessors(i).length)){var l=e.node(e.predecessors(i)[0]),v=e.node(e.predecessors(u)[0]);o.has(h,"barycenter")||(h.barycenter=0,h.weight=0),h.barycenter=(h.barycenter*h.weight+l.order+v.order)/(h.weight+2),h.weight+=2}return h}function nn(e,n){o.forEach(e,function(r){r.vs=o.flatten(r.vs.map(function(a){return n[a]?n[a].vs:a}))})}function rn(e,n){o.isUndefined(e.barycenter)?(e.barycenter=n.barycenter,e.weight=n.weight):(e.barycenter=(e.barycenter*e.weight+n.barycenter*n.weight)/(e.weight+n.weight),e.weight+=n.weight)}function an(e){var n=U(e),r=Y(e,o.range(1,n+1),"inEdges"),a=Y(e,o.range(n-1,-1,-1),"outEdges"),t=Xe(e);j(e,t);for(var f=Number.POSITIVE_INFINITY,i,u=0,d=0;d<4;++u,++d){tn(u%2?r:a,u%4>=2),t=x(e);var c=$e(e,t);c<f&&(d=0,i=o.cloneDeep(t),f=c)}j(e,i)}function Y(e,n,r){return o.map(n,function(a){return Ue(e,a,r)})}function tn(e,n){var r=new w.Graph;o.forEach(e,function(a){var t=a.graph().root,f=ne(a,t,r,n);o.forEach(f.vs,function(i,u){a.node(i).order=u}),qe(a,r,f.vs)})}function j(e,n){o.forEach(n,function(r){o.forEach(r,function(a,t){e.node(a).order=t})})}function on(e){var n=un(e);o.forEach(e.graph().dummyChains,function(r){for(var a=e.node(r),t=a.edgeObj,f=fn(e,n,t.v,t.w),i=f.path,u=f.lca,d=0,c=i[d],s=!0;r!==t.w;){if(a=e.node(r),s){for(;(c=i[d])!==u&&e.node(c).maxRank<a.rank;)d++;c===u&&(s=!1)}if(!s){for(;d<i.length-1&&e.node(c=i[d+1]).minRank<=a.rank;)d++;c=i[d]}e.setParent(r,c),r=e.successors(r)[0]}})}function fn(e,n,r,a){var t=[],f=[],i=Math.min(n[r].low,n[a].low),u=Math.max(n[r].lim,n[a].lim),d,c;d=r;do d=e.parent(d),t.push(d);while(d&&(n[d].low>i||u>n[d].lim));for(c=d,d=a;(d=e.parent(d))!==c;)f.push(d);return{path:t.concat(f.reverse()),lca:c}}function un(e){var n={},r=0;function a(t){var f=r;o.forEach(e.children(t),a),n[t]={low:f,lim:r++}}return o.forEach(e.children(),a),n}function dn(e,n){var r={};function a(t,f){var i=0,u=0,d=t.length,c=o.last(f);return o.forEach(f,function(s,h){var l=sn(e,s),v=l?e.node(l).order:d;(l||s===c)&&(o.forEach(f.slice(u,h+1),function(p){o.forEach(e.predecessors(p),function(m){var g=e.node(m),M=g.order;(M<i||v<M)&&!(g.dummy&&e.node(p).dummy)&&re(r,m,p)})}),u=h+1,i=v)}),f}return o.reduce(n,a),r}function cn(e,n){var r={};function a(f,i,u,d,c){var s;o.forEach(o.range(i,u),function(h){s=f[h],e.node(s).dummy&&o.forEach(e.predecessors(s),function(l){var v=e.node(l);v.dummy&&(v.order<d||v.order>c)&&re(r,l,s)})})}function t(f,i){var u=-1,d,c=0;return o.forEach(i,function(s,h){if(e.node(s).dummy==="border"){var l=e.predecessors(s);l.length&&(d=e.node(l[0]).order,a(i,c,h,u,d),c=h,u=d)}a(i,c,i.length,d,f.length)}),i}return o.reduce(n,t),r}function sn(e,n){if(e.node(n).dummy)return o.find(e.predecessors(n),function(r){return e.node(r).dummy})}function re(e,n,r){if(n>r){var a=n;n=r,r=a}var t=e[n];t||(e[n]=t={}),t[r]=!0}function hn(e,n,r){if(n>r){var a=n;n=r,r=a}return o.has(e[n],r)}function ln(e,n,r,a){var t={},f={},i={};return o.forEach(n,function(u){o.forEach(u,function(d,c){t[d]=d,f[d]=d,i[d]=c})}),o.forEach(n,function(u){var d=-1;o.forEach(u,function(c){var s=a(c);if(s.length){s=o.sortBy(s,function(m){return i[m]});for(var h=(s.length-1)/2,l=Math.floor(h),v=Math.ceil(h);l<=v;++l){var p=s[l];f[c]===c&&d<i[p]&&!hn(r,c,p)&&(f[p]=c,f[c]=t[c]=t[p],d=i[p])}}})}),{root:t,align:f}}function vn(e,n,r,a,t){var f={},i=pn(e,n,r,t),u=t?"borderLeft":"borderRight";function d(h,l){for(var v=i.nodes(),p=v.pop(),m={};p;)m[p]?h(p):(m[p]=!0,v.push(p),v=v.concat(l(p))),p=v.pop()}function c(h){f[h]=i.inEdges(h).reduce(function(l,v){return Math.max(l,f[v.v]+i.edge(v))},0)}function s(h){var l=i.outEdges(h).reduce(function(p,m){return Math.min(p,f[m.w]-i.edge(m))},Number.POSITIVE_INFINITY),v=e.node(h);l!==Number.POSITIVE_INFINITY&&v.borderType!==u&&(f[h]=Math.max(f[h],l))}return d(c,i.predecessors.bind(i)),d(s,i.successors.bind(i)),o.forEach(a,function(h){f[h]=f[r[h]]}),f}function pn(e,n,r,a){var t=new w.Graph,f=e.graph(),i=gn(f.nodesep,f.edgesep,a);return o.forEach(n,function(u){var d;o.forEach(u,function(c){var s=r[c];if(t.setNode(s),d){var h=r[d],l=t.edge(h,s);t.setEdge(h,s,Math.max(i(e,c,d),l||0))}d=c})}),t}function mn(e,n){return o.minBy(o.values(n),function(r){var a=Number.NEGATIVE_INFINITY,t=Number.POSITIVE_INFINITY;return o.forIn(r,function(f,i){var u=kn(e,i)/2;a=Math.max(f+u,a),t=Math.min(f-u,t)}),a-t})}function wn(e,n){var r=o.values(n),a=o.min(r),t=o.max(r);o.forEach(["u","d"],function(f){o.forEach(["l","r"],function(i){var u=f+i,d=e[u],c;if(d!==n){var s=o.values(d);c=i==="l"?a-o.min(s):t-o.max(s),c&&(e[u]=o.mapValues(d,function(h){return h+c}))}})})}function En(e,n){return o.mapValues(e.ul,function(r,a){if(n)return e[n.toLowerCase()][a];var t=o.sortBy(o.map(e,a));return(t[1]+t[2])/2})}function bn(e){var n=x(e),r=o.merge(dn(e,n),cn(e,n)),a={},t;o.forEach(["u","d"],function(i){t=i==="u"?n:o.values(n).reverse(),o.forEach(["l","r"],function(u){u==="r"&&(t=o.map(t,function(h){return o.values(h).reverse()}));var d=(i==="u"?e.predecessors:e.successors).bind(e),c=ln(e,t,r,d),s=vn(e,t,c.root,c.align,u==="r");u==="r"&&(s=o.mapValues(s,function(h){return-h})),a[i+u]=s})});var f=mn(e,a);return wn(a,f),En(a,e.graph().align)}function gn(e,n,r){return function(a,t,f){var i=a.node(t),u=a.node(f),d=0,c;if(d+=i.width/2,o.has(i,"labelpos"))switch(i.labelpos.toLowerCase()){case"l":c=-i.width/2;break;case"r":c=i.width/2;break}if(c&&(d+=r?c:-c),c=0,d+=(i.dummy?n:e)/2,d+=(u.dummy?n:e)/2,d+=u.width/2,o.has(u,"labelpos"))switch(u.labelpos.toLowerCase()){case"l":c=u.width/2;break;case"r":c=-u.width/2;break}return c&&(d+=r?c:-c),c=0,d}}function kn(e,n){return e.node(n).width}function xn(e){e=q(e),yn(e),o.forOwn(bn(e),function(n,r){e.node(r).x=n})}function yn(e){var n=x(e),r=e.graph().ranksep,a=0;o.forEach(n,function(t){var f=o.max(o.map(t,function(i){return e.node(i).height}));o.forEach(t,function(i){e.node(i).y=a+f/2}),a+=f+r})}function Nn(e,n){var r=Ee;r("layout",function(){var a=r(" buildLayoutGraph",function(){return Vn(e)});r(" runLayout",function(){Ln(a,r)}),r(" updateInputGraph",function(){In(e,a)})})}function Ln(e,n){n(" makeSpaceForEdgeLabels",function(){Bn(e)}),n(" removeSelfEdges",function(){Wn(e)}),n(" acyclic",function(){se(e)}),n(" nestingGraph.run",function(){De(e)}),n(" rank",function(){Be(q(e))}),n(" injectEdgeLabelProxies",function(){Fn(e)}),n(" removeEmptyRanks",function(){me(e)}),n(" nestingGraph.cleanup",function(){je(e)}),n(" normalizeRanks",function(){pe(e)}),n(" assignRankMinMax",function(){Gn(e)}),n(" removeEdgeLabelProxies",function(){Dn(e)}),n(" normalize.run",function(){Ne(e)}),n(" parentDummyChains",function(){on(e)}),n(" addBorderSegments",function(){be(e)}),n(" order",function(){an(e)}),n(" insertSelfEdges",function(){$n(e)}),n(" adjustCoordinateSystem",function(){ge(e)}),n(" position",function(){xn(e)}),n(" positionSelfEdges",function(){zn(e)}),n(" removeBorderNodes",function(){Un(e)}),n(" normalize.undo",function(){Ie(e)}),n(" fixupEdgeLabelCoords",function(){jn(e)}),n(" undoCoordinateSystem",function(){ke(e)}),n(" translateGraph",function(){An(e)}),n(" assignNodeIntersects",function(){Yn(e)}),n(" reversePoints",function(){qn(e)}),n(" acyclic.undo",function(){le(e)})}function In(e,n){o.forEach(e.nodes(),function(r){var a=e.node(r),t=n.node(r);a&&(a.x=t.x,a.y=t.y,n.children(r).length&&(a.width=t.width,a.height=t.height))}),o.forEach(e.edges(),function(r){var a=e.edge(r),t=n.edge(r);a.points=t.points,o.has(t,"x")&&(a.x=t.x,a.y=t.y)}),e.graph().width=n.graph().width,e.graph().height=n.graph().height}var _n=["nodesep","edgesep","ranksep","marginx","marginy"],Rn={ranksep:50,edgesep:20,nodesep:50,rankdir:"tb"},Cn=["acyclicer","ranker","rankdir","align"],Tn=["width","height"],Sn={width:0,height:0},Mn=["minlen","weight","width","height","labeloffset"],Pn={minlen:1,weight:1,width:0,height:0,labeloffset:10,labelpos:"r"},On=["labelpos"];function Vn(e){var n=new w.Graph({multigraph:!0,compound:!0}),r=_(e.graph());return n.setGraph(o.merge({},Rn,I(r,_n),o.pick(r,Cn))),o.forEach(e.nodes(),function(a){var t=_(e.node(a));n.setNode(a,o.defaults(I(t,Tn),Sn)),n.setParent(a,e.parent(a))}),o.forEach(e.edges(),function(a){var t=_(e.edge(a));n.setEdge(a,o.merge({},Pn,I(t,Mn),o.pick(t,On)))}),n}function Bn(e){var n=e.graph();n.ranksep/=2,o.forEach(e.edges(),function(r){var a=e.edge(r);a.minlen*=2,a.labelpos.toLowerCase()!=="c"&&(n.rankdir==="TB"||n.rankdir==="BT"?a.width+=a.labeloffset:a.height+=a.labeloffset)})}function Fn(e){o.forEach(e.edges(),function(n){var r=e.edge(n);if(r.width&&r.height){var a=e.node(n.v),t=e.node(n.w),f={rank:(t.rank-a.rank)/2+a.rank,e:n};b(e,"edge-proxy",f,"_ep")}})}function Gn(e){var n=0;o.forEach(e.nodes(),function(r){var a=e.node(r);a.borderTop&&(a.minRank=e.node(a.borderTop).rank,a.maxRank=e.node(a.borderBottom).rank,n=o.max(n,a.maxRank))}),e.graph().maxRank=n}function Dn(e){o.forEach(e.nodes(),function(n){var r=e.node(n);r.dummy==="edge-proxy"&&(e.edge(r.e).labelRank=r.rank,e.removeNode(n))})}function An(e){var n=Number.POSITIVE_INFINITY,r=0,a=Number.POSITIVE_INFINITY,t=0,f=e.graph(),i=f.marginx||0,u=f.marginy||0;function d(c){var s=c.x,h=c.y,l=c.width,v=c.height;n=Math.min(n,s-l/2),r=Math.max(r,s+l/2),a=Math.min(a,h-v/2),t=Math.max(t,h+v/2)}o.forEach(e.nodes(),function(c){d(e.node(c))}),o.forEach(e.edges(),function(c){var s=e.edge(c);o.has(s,"x")&&d(s)}),n-=i,a-=u,o.forEach(e.nodes(),function(c){var s=e.node(c);s.x-=n,s.y-=a}),o.forEach(e.edges(),function(c){var s=e.edge(c);o.forEach(s.points,function(h){h.x-=n,h.y-=a}),o.has(s,"x")&&(s.x-=n),o.has(s,"y")&&(s.y-=a)}),f.width=r-n+i,f.height=t-a+u}function Yn(e){o.forEach(e.edges(),function(n){var r=e.edge(n),a=e.node(n.v),t=e.node(n.w),f,i;r.points?(f=r.points[0],i=r.points[r.points.length-1]):(r.points=[],f=t,i=a),r.points.unshift(O(a,f)),r.points.push(O(t,i))})}function jn(e){o.forEach(e.edges(),function(n){var r=e.edge(n);if(o.has(r,"x"))switch((r.labelpos==="l"||r.labelpos==="r")&&(r.width-=r.labeloffset),r.labelpos){case"l":r.x-=r.width/2+r.labeloffset;break;case"r":r.x+=r.width/2+r.labeloffset;break}})}function qn(e){o.forEach(e.edges(),function(n){var r=e.edge(n);r.reversed&&r.points.reverse()})}function Un(e){o.forEach(e.nodes(),function(n){if(e.children(n).length){var r=e.node(n),a=e.node(r.borderTop),t=e.node(r.borderBottom),f=e.node(o.last(r.borderLeft)),i=e.node(o.last(r.borderRight));r.width=Math.abs(i.x-f.x),r.height=Math.abs(t.y-a.y),r.x=f.x+r.width/2,r.y=a.y+r.height/2}}),o.forEach(e.nodes(),function(n){e.node(n).dummy==="border"&&e.removeNode(n)})}function Wn(e){o.forEach(e.edges(),function(n){if(n.v===n.w){var r=e.node(n.v);r.selfEdges||(r.selfEdges=[]),r.selfEdges.push({e:n,label:e.edge(n)}),e.removeEdge(n)}})}function $n(e){var n=x(e);o.forEach(n,function(r){var a=0;o.forEach(r,function(t,f){var i=e.node(t);i.order=f+a,o.forEach(i.selfEdges,function(u){b(e,"selfedge",{width:u.label.width,height:u.label.height,rank:i.rank,order:f+ ++a,e:u.e,label:u.label},"_se")}),delete i.selfEdges})})}function zn(e){o.forEach(e.nodes(),function(n){var r=e.node(n);if(r.dummy==="selfedge"){var a=e.node(r.e.v),t=a.x+a.width/2,f=a.y,i=r.x-t,u=a.height/2;e.setEdge(r.e,r.label),e.removeNode(n),r.label.points=[{x:t+2*i/3,y:f-u},{x:t+5*i/6,y:f-u},{x:t+i,y:f},{x:t+5*i/6,y:f+u},{x:t+2*i/3,y:f+u}],r.label.x=r.x,r.label.y=r.y}})}function I(e,n){return o.mapValues(o.pick(e,n),Number)}function _(e){var n={};return o.forEach(e,function(r,a){n[a.toLowerCase()]=r}),n}exports.layout=Nn;
@@ -0,0 +1,33 @@
1
+ import "./layers.I-MG0ir4.js";
2
+ var u = { paste: "วาง", pasteAsPlaintext: "วางโดยไม่มีการจัดรูปแบบ", pasteCharts: "วางแผนภูมิ", selectAll: "เลือกทั้งหมด", multiSelect: "", moveCanvas: "", cut: "ตัด", copy: "คัดลอก", copyAsPng: "คัดลองไปยังคลิปบอร์ดเป็น PNG", copyAsSvg: "คัดลองไปยังคลิปบอร์ดเป็น SVG", copyText: "คัดลองไปยังคลิปบอร์ดเป็นข้อความ", copySource: "", convertToCode: "", bringForward: "นำขึ้นข้างบน", sendToBack: "ย้ายไปข้างล่าง", bringToFront: "นำขึ้นข้างหน้า", sendBackward: "ย้ายไปข้างหลัง", delete: "ลบ", copyStyles: "คัดลอกรูปแบบ", pasteStyles: "วางรูปแบบ", stroke: "เส้นขอบ", background: "พื้นหลัง", fill: "เติมสี", strokeWidth: "น้ำหนักเส้นขอบ", strokeStyle: "รูปแบบเส้น", strokeStyle_solid: "เส้นทึบ", strokeStyle_dashed: "เส้นประ", strokeStyle_dotted: "จุด", sloppiness: "ความเลอะเทอะ", opacity: "ความทึบแสง", textAlign: "จัดข้อความ", edges: "ขอบ", sharp: "", round: "", arrowheads: "หัวลูกศร", arrowhead_none: "ไม่มี", arrowhead_arrow: "ลูกศร", arrowhead_bar: "แถบ", arrowhead_circle: "", arrowhead_circle_outline: "", arrowhead_triangle: "สามเหลี่ยม", arrowhead_triangle_outline: "", arrowhead_diamond: "", arrowhead_diamond_outline: "", fontSize: "ขนาดตัวอักษร", fontFamily: "แบบตัวอักษร", addWatermark: 'เพิ่มลายน้ำ "สร้างด้วย Excalidraw"', handDrawn: "ลายมือ", normal: "ปกติ", code: "โค้ด", small: "เล็ก", medium: "กลาง", large: "ใหญ่", veryLarge: "ใหญ่มาก", solid: "", hachure: "", zigzag: "", crossHatch: "", thin: "บาง", bold: "หนา", left: "ซ้าย", center: "กลาง", right: "ขวา", extraBold: "หนาพิเศษ", architect: "", artist: "ศิลปิน", cartoonist: "", fileTitle: "ชื่อไฟล์", colorPicker: "เลือกสีที่กำหนดเอง", canvasColors: "", canvasBackground: "", drawingCanvas: "", layers: "", actions: "การกระทำ", language: "ภาษา", liveCollaboration: "", duplicateSelection: "ทำสำเนา", untitled: "ไม่มีชื่อ", name: "ชื่อ", yourName: "ชื่อของคุณ", madeWithExcalidraw: "", group: "จัดกลุ่ม", ungroup: "ยกเลิกการจัดกลุ่ม", collaborators: "", showGrid: "แสดงเส้นตาราง", addToLibrary: "เพิ่มไปในคลัง", removeFromLibrary: "นำออกจากคลัง", libraryLoadingMessage: "กำลังโหลดคลัง...", libraries: "", loadingScene: "กำลังโหลดฉาก", align: "จัดตำแหน่ง", alignTop: "จัดชิดด้านบน", alignBottom: "จัดชิดด้านล่าง", alignLeft: "จัดชิดซ้าย", alignRight: "จัดชิดขวา", centerVertically: "กึ่งกลางแนวตั้ง", centerHorizontally: "กึ่งกลางแนวนอน", distributeHorizontally: "กระจายแนวนอน", distributeVertically: "กระจายแนวตั้ง", flipHorizontal: "พลิกแนวนอน", flipVertical: "พลิกแนวตั้ง", viewMode: "โหมดมุมมอง", share: "แชร์", showStroke: "", showBackground: "", toggleTheme: "สลับธีม", personalLib: "คลังของฉัน", excalidrawLib: "คลังของ Excalidraw", decreaseFontSize: "ลดขนาดตัวอักษร", increaseFontSize: "เพิ่มขนาดตัวอักษร", unbindText: "ยกเลิกการผูกติด", bindText: "", createContainerFromText: "", link: { edit: "แก้ไขลิงก์", editEmbed: "แก้ไขลิงค์และการฝัง", create: "สร้างลิงค์", createEmbed: "สร้างลิงค์และการฝัง", label: "ลิงค์", labelEmbed: "ลิงค์และการฝัง", empty: "ไม่ได้ใส่ลิงค์" }, lineEditor: { edit: "แก้ไขเส้น", exit: "" }, elementLock: { lock: "ล็อก", unlock: "ปลดล็อก", lockAll: "ล็อกทั้งหมด", unlockAll: "ปลดล็อกทั้งหมด" }, statusPublished: "เผยแพร่", sidebarLock: "", selectAllElementsInFrame: "", removeAllElementsFromFrame: "", eyeDropper: "", textToDiagram: "", prompt: "" }, E = { noItems: "ยังไม่มีรายการที่เพิ่มเข้าไปได้", hint_emptyLibrary: "", hint_emptyPrivateLibrary: "" }, e = { clearReset: "รีเซ็ทผืนผ้าใบ", exportJSON: "ส่งออกไปยังไฟล์", exportImage: "ส่งออกเป็นรูปภาพ", export: "บันทึกไปยัง", copyToClipboard: "คัดลอกไปยังคลิปบอร์ด", save: "บันทึกเป็นไฟล์ปัจจุบัน", saveAs: "บันทึกเป็น", load: "เปิด", getShareableLink: "สร้างลิงค์ที่แชร์ได้", close: "ปิด", selectLanguage: "เลือกภาษา", scrollBackToContent: "เลื่อนกลับไปด้านบน", zoomIn: "ซูมเข้า", zoomOut: "ซูมออก", resetZoom: "รีเซ็ตการซูม", menu: "เมนู", done: "เสร็จสิ้น", edit: "แก้ไข", undo: "เลิกทำ", redo: "ทำซ้ำ", resetLibrary: "รีเซ็ตคลัง", createNewRoom: "สร้างห้องใหม่", fullScreen: "เต็มหน้าจอ", darkMode: "โหมดกลางคืน", lightMode: "โหมดกลางวัน", zenMode: "โหมด Zen", objectsSnapMode: "", exitZenMode: "ออกจากโหมด Zen", cancel: "ยกเลิก", clear: "เคลียร์", remove: "ลบ", embed: "สลับการฝัง", publishLibrary: "เผยแพร่", submit: "ตกลง", confirm: "ยืนยัน", embeddableInteractionButton: "คลิกเพื่อปฏิสัมพันธ์" }, a = { clearReset: "", couldNotCreateShareableLink: "ไม่สามารถสร้างลิงค์ได้", couldNotCreateShareableLinkTooBig: "", couldNotLoadInvalidFile: "ไม่สามารถโหลดไฟล์ที่ผิดพลาดได้", importBackendFailed: "เกิดข้อผิดพลาดจากการนำเข้าจากระบบหลังบ้าน", cannotExportEmptyCanvas: "ไม่สามารถนำออกจากผืนผ้าใบที่ว่างเปล่าได้", couldNotCopyToClipboard: "ไม่สามารถคัดลอกไปยังคลิปบอร์ดได้", decryptFailed: "ไม่สามารถถอดรหัสข้อมูลได้", uploadedSecurly: "การอัพโหลดได้ถูกเข้ารหัสแบบ end-to-end หมายความว่าเซิร์ฟเวอร์ของ Excalidraw และบุคคลอื่นไม่สามารถอ่านข้อมูลได้", loadSceneOverridePrompt: "", collabStopOverridePrompt: "", errorAddingToLibrary: "ไม่สามารถเพิ่มรายการเข้าไปในคลังได้", errorRemovingFromLibrary: "ไม่สามารถลบรายการนี้ออกจากคลังได้", confirmAddLibrary: "", imageDoesNotContainScene: "", cannotRestoreFromImage: "", invalidSceneUrl: "", resetLibrary: "", removeItemsFromsLibrary: "", invalidEncryptionKey: "", collabOfflineWarning: "" }, o = { unsupportedFileType: "ไม่รองรับชนิดของไฟล์นี้", imageInsertError: "ไม่สามารถเพิ่มรูปภาพได้ ลองอีกครั้งในภายหลัง", fileTooBig: "", svgImageInsertError: "", failedToFetchImage: "", invalidSVGString: "ไฟล์ SVG ผิดพลาด", cannotResolveCollabServer: "ไม่สามารถเชื่อต่อกับ collab เซิร์ฟเวอร์ได้ โปรดลองโหลดหน้านี้ใหม่และลองอีกครั้ง", importLibraryError: "", collabSaveFailed: "", collabSaveFailed_sizeExceeded: "", imageToolNotSupported: "", brave_measure_text_error: { line1: "", line2: "", line3: "", line4: "" }, libraryElementTypeError: { embeddable: "การเพิ่มองค์ประกอบที่ฝังยังไม่สามารถเพิ่มเข้าไปในไลบลารีได้", iframe: "", image: "การสนับสนุนสำหรับเพิ่มรูปภาพลงในไลบลารีจะมาในเร็ว ๆ นี้" }, asyncPasteFailedOnRead: "", asyncPasteFailedOnParse: "", copyToSystemClipboardFailed: "" }, r = { selection: "", image: "", rectangle: "สี่เหลี่ยมผืนผ้า", diamond: "", ellipse: "วงรี", arrow: "ลูกศร", line: "", freedraw: "", text: "ข้อความ", library: "คลัง", lock: "", penMode: "", link: "", eraser: "ยางลบ", frame: "", magicframe: "", embeddable: "ฝังเว็บ", laser: "", hand: "", extraTools: "เครื่องมืออื่นๆ", mermaidToExcalidraw: "", magicSettings: "" }, t = { canvasActions: "", selectedShapeActions: "", shapes: "รูปร่าง" }, i = { canvasPanning: "", linearElement: "", freeDraw: "", text: "", embeddable: "คลิกและลากเพื่อสร้างการฝังสำหรับเว็บไซต์", text_selected: "คลิกสองครั้งหรือกด ENTER เพื่อแก้ไขข้อความ", text_editing: "กดปุ่ม Esc หรือกด Ctrl, Cmd + Enter เพื่อเสร็จการแก้ไข", linearElementMulti: "คลิกที่จุดสุดท้ายหรือกด Escape หรือ Enter เพื่อเสร็จสิ้น", lockAngle: "", resize: "", resizeImage: "", rotate: "", lineEditor_info: "", lineEditor_pointSelected: `กดปุ่ม Delete เพื่อลบจุด
3
+ กด Ctrl หรือ Cmd + D เพื่อทำซ้ำหรือลากเพื่อเคลื่อนย้าย`, lineEditor_nothingSelected: "", placeImage: "", publishLibrary: "", bindTextToElement: "", deepBoxSelect: "", eraserRevert: "", firefox_clipboard_write: "", disableSnapping: "" }, l = { cannotShowPreview: "", canvasTooBig: "", canvasTooBigTip: "" }, n = { headingMain: "<button>กำลังรีโหลดหน้า</button>", clearCanvasMessage: "ถ้าโหลดไม่ได้ ให้ลอง <button>เคลียร์ผืนผ้าใบ</button>", clearCanvasCaveat: "", trackedToSentry: "", openIssueMessage: "", sceneContent: "" }, s = { desc_intro: "", desc_privacy: "", button_startSession: "เริ่มเซสชัน", button_stopSession: "หยุดเซสชัน", desc_inProgressIntro: "", desc_shareLink: "", desc_exitSession: "", shareTitle: "" }, d = { title: "" }, c = { disk_title: "", disk_details: "", disk_button: "", link_title: "", link_details: "", link_button: "", excalidrawplus_description: "", excalidrawplus_button: "", excalidrawplus_exportError: "ไม่สามารถส่งออกไปที่ Excalidraw+ ได้ในขณะนี้" }, D = { blog: "อ่านบล็อกของพวกเรา", click: "คลิก", deepSelect: "", deepBoxSelect: "", curvedArrow: "", curvedLine: "", documentation: "", doubleClick: "ดับเบิลคลิก", drag: "ลาก", editor: "", editLineArrowPoints: "", editText: "แก้ไขข้อความ / เพิ่มข้อความ", github: "", howto: "", or: "", preventBinding: "", tools: "", shortcuts: "", textFinish: "", textNewLine: "", title: "ช่วยเหลือ", view: "ดู", zoomToFit: "", zoomToSelection: "", toggleElementLock: "", movePageUpDown: "", movePageLeftRight: "ย้ายหน้าไปด้าน ซ้าย/ขวา" }, A = { title: "" }, B = { title: "", itemName: "", authorName: "ชื่อเจ้าของ", githubUsername: "ชื่อผู้ใช้ GitHub", twitterUsername: "ชื่อผู้ใช้ Twitter", libraryName: "", libraryDesc: "", website: "", placeholder: { authorName: "", libraryName: "", libraryDesc: "", githubHandle: "", twitterHandle: "", website: "" }, errors: { required: "", website: "" }, noteDescription: "", noteGuidelines: "", noteLicense: "", noteItems: "", atleastOneLibItem: "", republishWarning: "" }, m = { title: "", content: "" }, p = { resetLibrary: "", removeItemsFromLib: "" }, g = { header: "", label: { withBackground: "", onlySelected: "", darkMode: "โหมดกลางคืน", embedScene: "", scale: "", padding: "" }, tooltip: { embedScene: "" }, title: { exportToPng: "ส่งออกไปเป็น SVG", exportToSvg: "ส่งออกไปเป็น SVG", copyPngToClipboard: "คัดลอก PNG ไปยังคลิปบอร์ด" }, button: { exportToPng: "PNG", exportToSvg: "SVG", copyPngToClipboard: "คัดลอกไปยังคลิปบอร์ด" } }, b = { tooltip: "", link: "" }, C = { angle: "", element: "", elements: "", height: "", scene: "", selected: "", storage: "", title: "", total: "", version: "", versionCopy: "", versionNotAvailable: "", width: "" }, h = { addedToLibrary: "", copyStyles: "", copyToClipboard: "", copyToClipboardAsPng: "", fileSaved: "", fileSavedToFilename: "", canvas: "", selection: "", pasteAsSingleElement: "", unableToEmbed: "", unrecognizedLinkFormat: "" }, y = { transparent: "", black: "", white: "", red: "", pink: "", grape: "", violet: "", gray: "", blue: "", cyan: "", teal: "ฟ้าน้ำทะเล", green: "เขียว", yellow: "เหลือง", orange: "ส้ม", bronze: "ทองแดง" }, S = { app: { center_heading: "", center_heading_plus: "", menuHint: "" }, defaults: { menuHint: "", center_heading: "", toolbarHint: "", helpHint: "" } }, v = { mostUsedCustomColors: "", colors: "", shades: "", hexCode: "", noShades: "" }, w = { action: { exportToImage: { title: "", button: "", description: "" }, saveToDisk: { title: "", button: "", description: "" }, excalidrawPlus: { title: "", button: "", description: "" } }, modal: { loadFromFile: { title: "", button: "", description: "" }, shareableLink: { title: "", button: "", description: "" } } }, x = { title: "", button: "", description: "", syntax: "", preview: "" }, T = { labels: u, library: E, buttons: e, alerts: a, errors: o, toolBar: r, headings: t, hints: i, canvasError: l, errorSplash: n, roomDialog: s, errorDialog: d, exportDialog: c, helpDialog: D, clearCanvasDialog: A, publishDialog: B, publishSuccessDialog: m, confirmDialog: p, imageExportDialog: g, encrypted: b, stats: C, toast: h, colors: y, welcomeScreen: S, colorPicker: v, overwriteConfirm: w, mermaid: x };
4
+ export {
5
+ a as alerts,
6
+ e as buttons,
7
+ l as canvasError,
8
+ A as clearCanvasDialog,
9
+ v as colorPicker,
10
+ y as colors,
11
+ p as confirmDialog,
12
+ T as default,
13
+ b as encrypted,
14
+ d as errorDialog,
15
+ n as errorSplash,
16
+ o as errors,
17
+ c as exportDialog,
18
+ t as headings,
19
+ D as helpDialog,
20
+ i as hints,
21
+ g as imageExportDialog,
22
+ u as labels,
23
+ E as library,
24
+ x as mermaid,
25
+ w as overwriteConfirm,
26
+ B as publishDialog,
27
+ m as publishSuccessDialog,
28
+ s as roomDialog,
29
+ C as stats,
30
+ h as toast,
31
+ r as toolBar,
32
+ S as welcomeScreen
33
+ };
@@ -0,0 +1,23 @@
1
+ var w = async (n, e = {}) => {
2
+ Array.isArray(e) && (e = e[0]);
3
+ const t = document.createElement("a");
4
+ let r = n;
5
+ "body" in n && (r = await async function(s, u) {
6
+ const o = s.getReader(), i = new ReadableStream({ start: (l) => async function f() {
7
+ return o.read().then(({ done: b, value: p }) => {
8
+ if (!b) return l.enqueue(p), f();
9
+ l.close();
10
+ });
11
+ }() }), d = new Response(i), y = await d.blob();
12
+ return o.releaseLock(), new Blob([y], { type: u });
13
+ }(n.body, n.headers.get("content-type"))), t.download = e.fileName || "Untitled", t.href = URL.createObjectURL(await r);
14
+ const c = () => {
15
+ typeof a == "function" && a();
16
+ }, a = e.legacySetup && e.legacySetup(c, () => a(reject), t);
17
+ return t.addEventListener("click", () => {
18
+ setTimeout(() => URL.revokeObjectURL(t.href), 3e4), c();
19
+ }), t.click(), null;
20
+ };
21
+ export {
22
+ w as default
23
+ };
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./layers.Ym7pRGM7.js");require("./layers.B8i9d7Qz.js");exports.Commands=e.CB;exports.subsetToBase64=e.QB;exports.subsetToBinary=e.NQ;exports.toBase64=e.AI;
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const f=require("react/jsx-runtime"),r=require("react"),e=require("./layers.DxGDxkXA.js"),x=require("./layers.B8i9d7Qz.js"),o=e.e();function w(){const[t]=e.u(),[n,i]=r.useState(!1);r.useEffect(()=>{if(!t.hasNodes([e.ExcalidrawNode]))throw new Error("ExcalidrawPlugin: ExcalidrawNode not registered on editor");return t.registerCommand(o,()=>(i(!0),!0),e.Rs)},[t]);const s=()=>{i(!1)},l=()=>{i(!1)},c=(d,u,E)=>{t.update(()=>{const a=e.$createExcalidrawNode();a.setData(JSON.stringify({appState:u,elements:d,files:E})),e.createMediaComponent(a)}),i(!1)};return n?f.jsx(x.ExcalidrawModal,{initialElements:[],initialAppState:{},initialFiles:{},isShown:n,onDelete:l,onClose:s,onSave:c,closeOnClickOutside:!1}):null}exports.INSERT_EXCALIDRAW_COMMAND=o;exports.default=w;
@@ -0,0 +1,116 @@
1
+ "use strict";const G=require("./layers.9QK1wiQj.js"),r=require("./layers.CBXpUMze.js"),P=require("./layers.kY3ZYtED.js"),V=require("lodash-es"),j=require("./layers.DtoCH9Nn.js");function F(e){const n=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const i in e)if(i!=="default"){const a=Object.getOwnPropertyDescriptor(e,i);Object.defineProperty(n,i,a.get?a:{enumerable:!0,get:()=>e[i]})}}return n.default=e,Object.freeze(n)}const E=F(V);function N(e){return new r.Selection([document.querySelectorAll(e)],[document.documentElement])}function M(e,n){return!!e.children(n).length}function R(e){return _(e.v)+":"+_(e.w)+":"+_(e.name)}var H=/:/g;function _(e){return e?String(e).replace(H,"\\:"):""}function B(e,n){n&&e.attr("style",n)}function K(e,n,i){n&&e.attr("class",n).attr("class",i+" "+e.attr("class"))}function O(e,n){var i=n.graph();if(E.isPlainObject(i)){var a=i.transition;if(E.isFunction(a))return a(e)}return e}function D(e,n){var i=e.append("foreignObject").attr("width","100000"),a=i.append("xhtml:div");a.attr("xmlns","http://www.w3.org/1999/xhtml");var d=n.label;switch(typeof d){case"function":a.insert(d);break;case"object":a.insert(function(){return d});break;default:a.html(d)}B(a,n.labelStyle),a.style("display","inline-block"),a.style("white-space","nowrap");var f=a.node().getBoundingClientRect();return i.attr("width",f.width).attr("height",f.height),i}const I={},U=function(e){const n=Object.keys(e);for(const i of n)I[i]=e[i]},q=async function(e,n,i,a,d,f){const g=a.select(`[id="${i}"]`),s=Object.keys(e);for(const u of s){const l=e[u];let h="default";l.classes.length>0&&(h=l.classes.join(" ")),h=h+" flowchart-label";const w=r.getStylesFromArray(l.styles);let t=l.text!==void 0?l.text:l.id,c;if(r.log$1.info("vertex",l,l.labelType),l.labelType==="markdown")r.log$1.info("vertex",l,l.labelType);else if(r.evaluate(r.getConfig().flowchart.htmlLabels))c=D(g,{label:t}).node(),c.parentNode.removeChild(c);else{const k=d.createElementNS("http://www.w3.org/2000/svg","text");k.setAttribute("style",w.labelStyle.replace("color:","fill:"));const T=t.split(r.common$1.lineBreakRegex);for(const $ of T){const S=d.createElementNS("http://www.w3.org/2000/svg","tspan");S.setAttributeNS("http://www.w3.org/XML/1998/namespace","xml:space","preserve"),S.setAttribute("dy","1em"),S.setAttribute("x","1"),S.textContent=$,k.appendChild(S)}c=k}let p=0,o="";switch(l.type){case"round":p=5,o="rect";break;case"square":o="rect";break;case"diamond":o="question";break;case"hexagon":o="hexagon";break;case"odd":o="rect_left_inv_arrow";break;case"lean_right":o="lean_right";break;case"lean_left":o="lean_left";break;case"trapezoid":o="trapezoid";break;case"inv_trapezoid":o="inv_trapezoid";break;case"odd_right":o="rect_left_inv_arrow";break;case"circle":o="circle";break;case"ellipse":o="ellipse";break;case"stadium":o="stadium";break;case"subroutine":o="subroutine";break;case"cylinder":o="cylinder";break;case"group":o="rect";break;case"doublecircle":o="doublecircle";break;default:o="rect"}const v=await r.renderKatex(t,r.getConfig());n.setNode(l.id,{labelStyle:w.labelStyle,shape:o,labelText:v,labelType:l.labelType,rx:p,ry:p,class:h,style:w.style,id:l.id,link:l.link,linkTarget:l.linkTarget,tooltip:f.db.getTooltip(l.id)||"",domId:f.db.lookUpDomId(l.id),haveCallback:l.haveCallback,width:l.type==="group"?500:void 0,dir:l.dir,type:l.type,props:l.props,padding:r.getConfig().flowchart.padding}),r.log$1.info("setNode",{labelStyle:w.labelStyle,labelType:l.labelType,shape:o,labelText:v,rx:p,ry:p,class:h,style:w.style,id:l.id,domId:f.db.lookUpDomId(l.id),width:l.type==="group"?500:void 0,type:l.type,dir:l.dir,props:l.props,padding:r.getConfig().flowchart.padding})}},z=async function(e,n,i){r.log$1.info("abc78 edges = ",e);let a=0,d={},f,g;if(e.defaultStyle!==void 0){const s=r.getStylesFromArray(e.defaultStyle);f=s.style,g=s.labelStyle}for(const s of e){a++;const u="L-"+s.start+"-"+s.end;d[u]===void 0?(d[u]=0,r.log$1.info("abc78 new entry",u,d[u])):(d[u]++,r.log$1.info("abc78 new entry",u,d[u]));let l=u+"-"+d[u];r.log$1.info("abc78 new link id to be used is",u,l,d[u]);const h="LS-"+s.start,w="LE-"+s.end,t={style:"",labelStyle:""};switch(t.minlen=s.length||1,s.type==="arrow_open"?t.arrowhead="none":t.arrowhead="normal",t.arrowTypeStart="arrow_open",t.arrowTypeEnd="arrow_open",s.type){case"double_arrow_cross":t.arrowTypeStart="arrow_cross";case"arrow_cross":t.arrowTypeEnd="arrow_cross";break;case"double_arrow_point":t.arrowTypeStart="arrow_point";case"arrow_point":t.arrowTypeEnd="arrow_point";break;case"double_arrow_circle":t.arrowTypeStart="arrow_circle";case"arrow_circle":t.arrowTypeEnd="arrow_circle";break}let c="",p="";switch(s.stroke){case"normal":c="fill:none;",f!==void 0&&(c=f),g!==void 0&&(p=g),t.thickness="normal",t.pattern="solid";break;case"dotted":t.thickness="normal",t.pattern="dotted",t.style="fill:none;stroke-width:2px;stroke-dasharray:3;";break;case"thick":t.thickness="thick",t.pattern="solid",t.style="stroke-width: 3.5px;fill:none;";break;case"invisible":t.thickness="invisible",t.pattern="solid",t.style="stroke-width: 0;fill:none;";break}if(s.style!==void 0){const o=r.getStylesFromArray(s.style);c=o.style,p=o.labelStyle}t.style=t.style+=c,t.labelStyle=t.labelStyle+=p,s.interpolate!==void 0?t.curve=r.interpolateToCurve(s.interpolate,r.curveLinear):e.defaultInterpolate!==void 0?t.curve=r.interpolateToCurve(e.defaultInterpolate,r.curveLinear):t.curve=r.interpolateToCurve(I.curve,r.curveLinear),s.text===void 0?s.style!==void 0&&(t.arrowheadStyle="fill: #333"):(t.arrowheadStyle="fill: #333",t.labelpos="c"),t.labelType=s.labelType,t.label=await r.renderKatex(s.text.replace(r.common$1.lineBreakRegex,`
2
+ `),r.getConfig()),s.style===void 0&&(t.style=t.style||"stroke: #333; stroke-width: 1.5px;fill:none;"),t.labelStyle=t.labelStyle.replace("color:","fill:"),t.id=l,t.classes="flowchart-link "+h+" "+w,n.setEdge(s.start,s.end,t,a)}},W=function(e,n){return n.db.getClasses()},X=async function(e,n,i,a){r.log$1.info("Drawing flowchart");let d=a.db.getDirection();d===void 0&&(d="TD");const{securityLevel:f,flowchart:g}=r.getConfig(),s=g.nodeSpacing||50,u=g.rankSpacing||50;let l;f==="sandbox"&&(l=r.select("#i"+n));const h=f==="sandbox"?r.select(l.nodes()[0].contentDocument.body):r.select("body"),w=f==="sandbox"?l.nodes()[0].contentDocument:document,t=new G.Graph({multigraph:!0,compound:!0}).setGraph({rankdir:d,nodesep:s,ranksep:u,marginx:0,marginy:0}).setDefaultEdgeLabel(function(){return{}});let c;const p=a.db.getSubGraphs();r.log$1.info("Subgraphs - ",p);for(let b=p.length-1;b>=0;b--)c=p[b],r.log$1.info("Subgraph - ",c),a.db.addVertex(c.id,{text:c.title,type:c.labelType},"group",void 0,c.classes,c.dir);const o=a.db.getVertices(),v=a.db.getEdges();r.log$1.info("Edges",v);let k=0;for(k=p.length-1;k>=0;k--){c=p[k],N("cluster").append("text");for(let b=0;b<c.nodes.length;b++)r.log$1.info("Setting up subgraphs",c.nodes[b],c.id),t.setParent(c.nodes[b],c.id)}await q(o,t,n,h,w,a),await z(v,t);const T=h.select(`[id="${n}"]`),$=h.select("#"+n+" g");if(await P.render($,t,["point","circle","cross"],"flowchart",n),r.utils.insertTitle(T,"flowchartTitleText",g.titleTopMargin,a.db.getDiagramTitle()),r.setupGraphViewbox$1(t,T,g.diagramPadding,g.useMaxWidth),a.db.indexNodes("subGraph"+k),!g.htmlLabels){const b=w.querySelectorAll('[id="'+n+'"] .edgeLabel .label');for(const x of b){const m=x.getBBox(),y=w.createElementNS("http://www.w3.org/2000/svg","rect");y.setAttribute("rx",0),y.setAttribute("ry",0),y.setAttribute("width",m.width),y.setAttribute("height",m.height),x.insertBefore(y,x.firstChild)}}Object.keys(o).forEach(function(b){const x=o[b];if(x.link){const m=r.select("#"+n+' [id="'+b+'"]');if(m){const y=w.createElementNS("http://www.w3.org/2000/svg","a");y.setAttributeNS("http://www.w3.org/2000/svg","class",x.classes.join(" ")),y.setAttributeNS("http://www.w3.org/2000/svg","href",x.link),y.setAttributeNS("http://www.w3.org/2000/svg","rel","noopener"),f==="sandbox"?y.setAttributeNS("http://www.w3.org/2000/svg","target","_top"):x.linkTarget&&y.setAttributeNS("http://www.w3.org/2000/svg","target",x.linkTarget);const C=m.insert(function(){return y},":first-child"),L=m.select(".label-container");L&&C.append(function(){return L.node()});const A=m.select(".label");A&&C.append(function(){return A.node()})}}})},J={setConf:U,addVertices:q,addEdges:z,getClasses:W,draw:X},Q=(e,n)=>{const i=j.channel,a=i(e,"r"),d=i(e,"g"),f=i(e,"b");return r.rgba(a,d,f,n)},Y=e=>`.label {
3
+ font-family: ${e.fontFamily};
4
+ color: ${e.nodeTextColor||e.textColor};
5
+ }
6
+ .cluster-label text {
7
+ fill: ${e.titleColor};
8
+ }
9
+ .cluster-label span,p {
10
+ color: ${e.titleColor};
11
+ }
12
+
13
+ .label text,span,p {
14
+ fill: ${e.nodeTextColor||e.textColor};
15
+ color: ${e.nodeTextColor||e.textColor};
16
+ }
17
+
18
+ .node rect,
19
+ .node circle,
20
+ .node ellipse,
21
+ .node polygon,
22
+ .node path {
23
+ fill: ${e.mainBkg};
24
+ stroke: ${e.nodeBorder};
25
+ stroke-width: 1px;
26
+ }
27
+ .flowchart-label text {
28
+ text-anchor: middle;
29
+ }
30
+ // .flowchart-label .text-outer-tspan {
31
+ // text-anchor: middle;
32
+ // }
33
+ // .flowchart-label .text-inner-tspan {
34
+ // text-anchor: start;
35
+ // }
36
+
37
+ .node .katex path {
38
+ fill: #000;
39
+ stroke: #000;
40
+ stroke-width: 1px;
41
+ }
42
+
43
+ .node .label {
44
+ text-align: center;
45
+ }
46
+ .node.clickable {
47
+ cursor: pointer;
48
+ }
49
+
50
+ .arrowheadPath {
51
+ fill: ${e.arrowheadColor};
52
+ }
53
+
54
+ .edgePath .path {
55
+ stroke: ${e.lineColor};
56
+ stroke-width: 2.0px;
57
+ }
58
+
59
+ .flowchart-link {
60
+ stroke: ${e.lineColor};
61
+ fill: none;
62
+ }
63
+
64
+ .edgeLabel {
65
+ background-color: ${e.edgeLabelBackground};
66
+ rect {
67
+ opacity: 0.5;
68
+ background-color: ${e.edgeLabelBackground};
69
+ fill: ${e.edgeLabelBackground};
70
+ }
71
+ text-align: center;
72
+ }
73
+
74
+ /* For html labels only */
75
+ .labelBkg {
76
+ background-color: ${Q(e.edgeLabelBackground,.5)};
77
+ // background-color:
78
+ }
79
+
80
+ .cluster rect {
81
+ fill: ${e.clusterBkg};
82
+ stroke: ${e.clusterBorder};
83
+ stroke-width: 1px;
84
+ }
85
+
86
+ .cluster text {
87
+ fill: ${e.titleColor};
88
+ }
89
+
90
+ .cluster span,p {
91
+ color: ${e.titleColor};
92
+ }
93
+ /* .cluster div {
94
+ color: ${e.titleColor};
95
+ } */
96
+
97
+ div.mermaidTooltip {
98
+ position: absolute;
99
+ text-align: center;
100
+ max-width: 200px;
101
+ padding: 2px;
102
+ font-family: ${e.fontFamily};
103
+ font-size: 12px;
104
+ background: ${e.tertiaryColor};
105
+ border: 1px solid ${e.border2};
106
+ border-radius: 2px;
107
+ pointer-events: none;
108
+ z-index: 100;
109
+ }
110
+
111
+ .flowchartTitleText {
112
+ text-anchor: middle;
113
+ font-size: 18px;
114
+ fill: ${e.textColor};
115
+ }
116
+ `,Z=Y;exports.addHtmlLabel=D;exports.applyClass=K;exports.applyStyle=B;exports.applyTransition=O;exports.edgeToId=R;exports.flowRendererV2=J;exports.flowStyles=Z;exports.isSubgraph=M;exports.selectAll=N;