@hienlh/ppm 0.9.93 → 0.9.94

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 (218) hide show
  1. package/CHANGELOG.md +10 -0
  2. package/dist/web/assets/ai-settings-section-LMO_cfIW.js +1 -0
  3. package/dist/web/assets/api-client-o_6TmLGC.js +1 -0
  4. package/dist/web/assets/api-settings-CoKe_BdR.js +1 -0
  5. package/dist/web/assets/architecture-PBZL5I3N-CUZIB1Vq.js +1 -0
  6. package/dist/web/assets/arrow-up-Dtrfv490.js +1 -0
  7. package/dist/web/assets/chat-tab-DQNdrUvL.js +10 -0
  8. package/dist/web/assets/chevron-right-BzAdxJRG.js +1 -0
  9. package/dist/web/assets/code-CuravVys.js +1 -0
  10. package/dist/web/assets/code-editor-B4XNYHnl.js +8 -0
  11. package/dist/web/assets/columns-2-4fQcE4PF.js +1 -0
  12. package/dist/web/assets/conflict-editor-BcsRDSCw.js +19 -0
  13. package/dist/web/assets/createLucideIcon-BjHrJDVb.js +1 -0
  14. package/dist/web/assets/{csv-preview-BZRICDP0.js → csv-preview-BizIVMyb.js} +2 -2
  15. package/dist/web/assets/database-D4DIhgi-.js +1 -0
  16. package/dist/web/assets/database-viewer-CfzAAtm3.js +2 -0
  17. package/dist/web/assets/diff-viewer-DgA9z9Ux.js +4 -0
  18. package/dist/web/assets/dist-C5IgeqrV.js +1 -0
  19. package/dist/web/assets/dist-im4ynINo.js +11 -0
  20. package/dist/web/assets/esm-K1XIK4vc.js +2 -0
  21. package/dist/web/assets/extension-store-3yZYn07W.js +1 -0
  22. package/dist/web/assets/{extension-webview-C1d6fezE.js → extension-webview-gHGB2Nw2.js} +2 -2
  23. package/dist/web/assets/gitGraph-HDMCJU4V-CtOMUphQ.js +1 -0
  24. package/dist/web/assets/index-B4mGNywE.js +26 -0
  25. package/dist/web/assets/index-BZ4G-2BK.css +2 -0
  26. package/dist/web/assets/info-3K5VOQVL-BCrPCWGY.js +1 -0
  27. package/dist/web/assets/input-CHRMley8.js +1 -0
  28. package/dist/web/assets/keybindings-store-BAuymsWd.js +1 -0
  29. package/dist/web/assets/keybindings-store-BKyNIeFB.js +1 -0
  30. package/dist/web/assets/{lib-DSLzfeW0.js → lib-D_kRA9p6.js} +1 -1
  31. package/dist/web/assets/markdown-renderer-sIjU5LtB.js +3 -0
  32. package/dist/web/assets/packet-RMMSAZCW-D_OqB-zi.js +1 -0
  33. package/dist/web/assets/pie-UPGHQEXC-WUHpLNJz.js +1 -0
  34. package/dist/web/assets/plus-51UQ45rf.js +1 -0
  35. package/dist/web/assets/port-forwarding-tab-BMXnuRuI.js +1 -0
  36. package/dist/web/assets/postgres-viewer-B6Wj5xiN.js +3 -0
  37. package/dist/web/assets/project-store-Ciq-cK1O.js +1 -0
  38. package/dist/web/assets/radar-KQ55EAFF-HQIIecVM.js +1 -0
  39. package/dist/web/assets/react-GqWghJ-L.js +1 -0
  40. package/dist/web/assets/refresh-cw-CSFrDtiu.js +1 -0
  41. package/dist/web/assets/scroll-area-DwWF9FpN.js +1 -0
  42. package/dist/web/assets/settings-store-B470PCWf.js +2 -0
  43. package/dist/web/assets/settings-tab-BKQo79HU.js +1 -0
  44. package/dist/web/assets/{sql-query-editor-DaePHpQI.js → sql-query-editor-DZ9xskL8.js} +1 -1
  45. package/dist/web/assets/sqlite-viewer-CytNesG3.js +1 -0
  46. package/dist/web/assets/square-nsMa3iMk.js +1 -0
  47. package/dist/web/assets/tab-store-DZbiYk7y.js +1 -0
  48. package/dist/web/assets/table-Dq575bPF.js +1 -0
  49. package/dist/web/assets/terminal-tab-DjfxKMSB.js +1 -0
  50. package/dist/web/assets/text-wrap-Cn6BNQfq.js +1 -0
  51. package/dist/web/assets/trash-2-CJYoLw7Q.js +1 -0
  52. package/dist/web/assets/treemap-KZPCXAKY-0wLgUUTz.js +1 -0
  53. package/dist/web/assets/{use-monaco-theme-CM4IMROI.js → use-monaco-theme-OY18iXNi.js} +1 -1
  54. package/dist/web/assets/vendor-markdown-0Mxgxy0L.js +295 -0
  55. package/dist/web/assets/vendor-mermaid-B2SLgECS.js +2657 -0
  56. package/dist/web/assets/vendor-ui-B-T_damt.js +45 -0
  57. package/dist/web/assets/vendor-xterm-ejLe7-tK.js +36 -0
  58. package/dist/web/assets/x-DlFGzN8d.js +1 -0
  59. package/dist/web/index.html +26 -21
  60. package/dist/web/sw.js +1 -1
  61. package/docs/code-standards.md +56 -4
  62. package/docs/journals/260415-frontend-memory-optimization.md +73 -0
  63. package/docs/project-changelog.md +11 -1
  64. package/docs/system-architecture.md +36 -0
  65. package/package.json +1 -1
  66. package/src/web/components/chat/message-list.tsx +59 -22
  67. package/src/web/components/chat/tool-cards.tsx +11 -4
  68. package/src/web/components/database/data-grid.tsx +2 -1
  69. package/src/web/components/editor/code-editor.tsx +14 -8
  70. package/src/web/components/editor/conflict-editor.tsx +2 -1
  71. package/src/web/components/editor/diff-viewer.tsx +2 -1
  72. package/src/web/components/editor/editor-breadcrumb.tsx +2 -1
  73. package/src/web/components/explorer/file-tree.tsx +6 -5
  74. package/src/web/components/explorer/search-panel.tsx +2 -1
  75. package/src/web/components/git/git-status-panel.tsx +2 -1
  76. package/src/web/components/layout/add-project-form.tsx +2 -1
  77. package/src/web/components/layout/mobile-drawer.tsx +2 -1
  78. package/src/web/components/layout/mobile-nav.tsx +2 -1
  79. package/src/web/components/layout/panel-layout.tsx +3 -3
  80. package/src/web/components/layout/project-bar.tsx +7 -6
  81. package/src/web/components/layout/project-bottom-sheet.tsx +2 -1
  82. package/src/web/components/layout/sidebar.tsx +5 -4
  83. package/src/web/components/layout/status-bar.tsx +5 -4
  84. package/src/web/components/layout/tab-bar.tsx +3 -3
  85. package/src/web/components/layout/tab-content.tsx +2 -1
  86. package/src/web/components/postgres/postgres-viewer.tsx +7 -5
  87. package/src/web/components/settings/settings-tab.tsx +2 -1
  88. package/src/web/components/shared/markdown-code-block.tsx +10 -8
  89. package/src/web/components/terminal/terminal-tab.tsx +3 -3
  90. package/src/web/hooks/use-chat.ts +4 -1
  91. package/vite.config.ts +17 -0
  92. package/dist/web/assets/_basePickBy-Bj0dI1ei.js +0 -1
  93. package/dist/web/assets/_baseUniq-CyzdZeQH.js +0 -1
  94. package/dist/web/assets/ai-settings-section-Bo9lCaTd.js +0 -1
  95. package/dist/web/assets/api-client-BvxmRZUi.js +0 -1
  96. package/dist/web/assets/api-settings-CUxg9RE5.js +0 -1
  97. package/dist/web/assets/arc-CxgHJ7Z4.js +0 -1
  98. package/dist/web/assets/architecture-PBZL5I3N-DDFO_NKq.js +0 -1
  99. package/dist/web/assets/architectureDiagram-2XIMDMQ5-D16OotsC.js +0 -36
  100. package/dist/web/assets/array-BFDiaBgf.js +0 -1
  101. package/dist/web/assets/arrow-up-I9-21gkR.js +0 -1
  102. package/dist/web/assets/blockDiagram-WCTKOSBZ-Ct57Wtfk.js +0 -132
  103. package/dist/web/assets/c4Diagram-IC4MRINW-BIymcNsg.js +0 -10
  104. package/dist/web/assets/channel-wumTB1if.js +0 -1
  105. package/dist/web/assets/chat-tab-CC721_mQ.js +0 -10
  106. package/dist/web/assets/chevron-right-DY_wImxB.js +0 -1
  107. package/dist/web/assets/chunk-4BX2VUAB-CENmY7Kw.js +0 -1
  108. package/dist/web/assets/chunk-55IACEB6-DhZGI1l3.js +0 -1
  109. package/dist/web/assets/chunk-7E7YKBS2-DZcnC7Ow.js +0 -1
  110. package/dist/web/assets/chunk-7R4GIKGN-y8bfHEy-.js +0 -80
  111. package/dist/web/assets/chunk-C72U2L5F-BHPkfQj2.js +0 -1
  112. package/dist/web/assets/chunk-EGIJ26TM-nant2LXl.js +0 -1
  113. package/dist/web/assets/chunk-FMBD7UC4-Bog4cpN-.js +0 -15
  114. package/dist/web/assets/chunk-GEFDOKGD-86LFbsAC.js +0 -2
  115. package/dist/web/assets/chunk-GLR3WWYH-Re-5eSlQ.js +0 -2
  116. package/dist/web/assets/chunk-HHEYEP7N-C45i5G_3.js +0 -1
  117. package/dist/web/assets/chunk-JSJVCQXG-23eG9mgt.js +0 -1
  118. package/dist/web/assets/chunk-KX2RTZJC-CHj8TnTB.js +0 -1
  119. package/dist/web/assets/chunk-KYZI473N-gqRLpJ4w.js +0 -53
  120. package/dist/web/assets/chunk-L3YUKLVL-DnSMmNFC.js +0 -1
  121. package/dist/web/assets/chunk-MX3YWQON-B6g1ZH9X.js +0 -1
  122. package/dist/web/assets/chunk-NQ4KR5QH-DX32345Y.js +0 -220
  123. package/dist/web/assets/chunk-O4XLMI2P-Vp_V4P-b.js +0 -7
  124. package/dist/web/assets/chunk-OZEHJAEY-lKq2SWjA.js +0 -1
  125. package/dist/web/assets/chunk-PQ6SQG4A-Bik13fTV.js +0 -1
  126. package/dist/web/assets/chunk-PU5JKC2W-DD95Rx35.js +0 -70
  127. package/dist/web/assets/chunk-QZHKN3VN-N3VXx1VH.js +0 -1
  128. package/dist/web/assets/chunk-R5LLSJPH-dRhXRnrb.js +0 -1
  129. package/dist/web/assets/chunk-WL4C6EOR-B1iIvLOG.js +0 -189
  130. package/dist/web/assets/chunk-XIRO2GV7-DZBoNl1_.js +0 -1
  131. package/dist/web/assets/chunk-XPW4576I-CgLyyW03.js +0 -32
  132. package/dist/web/assets/chunk-XZSTWKYB-DjV8xl5A.js +0 -94
  133. package/dist/web/assets/chunk-YBOYWFTD-D_ILLe6_.js +0 -1
  134. package/dist/web/assets/classDiagram-VBA2DB6C-mr-Cb1me.js +0 -1
  135. package/dist/web/assets/classDiagram-v2-RAHNMMFH-BKe8_uda.js +0 -1
  136. package/dist/web/assets/clone--z5KLAuR.js +0 -1
  137. package/dist/web/assets/code-editor-BZ0xwZ4Z.js +0 -8
  138. package/dist/web/assets/columns-2-IeETSfON.js +0 -1
  139. package/dist/web/assets/conflict-editor-Bwls2-yk.js +0 -19
  140. package/dist/web/assets/cose-bilkent-S5V4N54A-BGNPFv3x.js +0 -1
  141. package/dist/web/assets/cytoscape.esm-C8i2jUzT.js +0 -321
  142. package/dist/web/assets/dagre-CkhlMHnx.js +0 -1
  143. package/dist/web/assets/dagre-KLK3FWXG-Cnp996VG.js +0 -4
  144. package/dist/web/assets/database-CgTomMxt.js +0 -1
  145. package/dist/web/assets/database-viewer-DiXWqOJH.js +0 -2
  146. package/dist/web/assets/defaultLocale-ZeknFqNe.js +0 -1
  147. package/dist/web/assets/diagram-E7M64L7V-BZF0tSOr.js +0 -24
  148. package/dist/web/assets/diagram-IFDJBPK2-nUcO8sN8.js +0 -43
  149. package/dist/web/assets/diagram-P4PSJMXO-CW0eCkwC.js +0 -24
  150. package/dist/web/assets/diff-viewer-CC-RmeV5.js +0 -4
  151. package/dist/web/assets/dist-CM0oD8tQ.js +0 -1
  152. package/dist/web/assets/dist-DZmJeHOA.js +0 -1
  153. package/dist/web/assets/erDiagram-INFDFZHY-DSkriYZ9.js +0 -70
  154. package/dist/web/assets/flowDiagram-PKNHOUZH-CFYAfZBx.js +0 -162
  155. package/dist/web/assets/ganttDiagram-A5KZAMGK-KSn4XAU4.js +0 -292
  156. package/dist/web/assets/gitGraph-HDMCJU4V-OkvBPi6H.js +0 -1
  157. package/dist/web/assets/gitGraphDiagram-K3NZZRJ6-BMgjjVys.js +0 -65
  158. package/dist/web/assets/graphlib-BWe1iK_s.js +0 -1
  159. package/dist/web/assets/index-BcIyrJiY.js +0 -26
  160. package/dist/web/assets/index-Chf0otez.css +0 -2
  161. package/dist/web/assets/info-3K5VOQVL-BDU2_bYD.js +0 -1
  162. package/dist/web/assets/infoDiagram-LFFYTUFH-Diq4Cyc3.js +0 -2
  163. package/dist/web/assets/init-0VJVrkRJ.js +0 -1
  164. package/dist/web/assets/input-BHj0veau.js +0 -45
  165. package/dist/web/assets/isArrayLikeObject-ClzWCpcm.js +0 -1
  166. package/dist/web/assets/isEmpty-BfLnxq-B.js +0 -1
  167. package/dist/web/assets/ishikawaDiagram-PHBUUO56-CiVEvp8o.js +0 -70
  168. package/dist/web/assets/journeyDiagram-4ABVD52K-CG_v5Aho.js +0 -139
  169. package/dist/web/assets/jsx-runtime-BRW_vwa9.js +0 -1
  170. package/dist/web/assets/kanban-definition-K7BYSVSG-miB0-_Zq.js +0 -89
  171. package/dist/web/assets/keybindings-store-BIufrOzJ.js +0 -1
  172. package/dist/web/assets/line-CSuSrJ9J.js +0 -1
  173. package/dist/web/assets/linear-DFN_MPsw.js +0 -1
  174. package/dist/web/assets/markdown-renderer-C5UPA1-7.js +0 -306
  175. package/dist/web/assets/math-CRc16Nj6.js +0 -1
  176. package/dist/web/assets/mermaid-parser.core-CFdP1Z5_.js +0 -4
  177. package/dist/web/assets/mindmap-definition-YRQLILUH-pYPWwASE.js +0 -68
  178. package/dist/web/assets/ordinal-DpFn432U.js +0 -1
  179. package/dist/web/assets/packet-RMMSAZCW-BwpIpYB3.js +0 -1
  180. package/dist/web/assets/path-INs8XTPH.js +0 -1
  181. package/dist/web/assets/pie-UPGHQEXC-BPgAfmes.js +0 -1
  182. package/dist/web/assets/pieDiagram-SKSYHLDU-Dovdlvhu.js +0 -30
  183. package/dist/web/assets/plus-DQGIb4mQ.js +0 -1
  184. package/dist/web/assets/port-forwarding-tab-DmifthYH.js +0 -1
  185. package/dist/web/assets/postgres-viewer-Bo7jEQfQ.js +0 -13
  186. package/dist/web/assets/preload-helper-mr3rCizq.js +0 -1
  187. package/dist/web/assets/quadrantDiagram-337W2JSQ-TXe6cU_F.js +0 -7
  188. package/dist/web/assets/radar-KQ55EAFF-TqxBkWx-.js +0 -1
  189. package/dist/web/assets/react-0tkk-ztn.js +0 -1
  190. package/dist/web/assets/react-dom-Bpkvzu3U.js +0 -1
  191. package/dist/web/assets/react-nm2Ru1Pt.js +0 -1
  192. package/dist/web/assets/refresh-cw-Clk8fdUD.js +0 -1
  193. package/dist/web/assets/requirementDiagram-Z7DCOOCP-CuiiuGS9.js +0 -73
  194. package/dist/web/assets/rough.esm-eLccZ4OJ.js +0 -1
  195. package/dist/web/assets/sankeyDiagram-WA2Y5GQK-BbRmhv0t.js +0 -10
  196. package/dist/web/assets/scroll-area-BpXCNme3.js +0 -1
  197. package/dist/web/assets/sequenceDiagram-2WXFIKYE-B2D8IQDb.js +0 -145
  198. package/dist/web/assets/settings-tab-D9GicyA9.js +0 -1
  199. package/dist/web/assets/sqlite-viewer-pacZlViY.js +0 -1
  200. package/dist/web/assets/square-vBdqj0bF.js +0 -1
  201. package/dist/web/assets/src-CqyWLlNZ.js +0 -1
  202. package/dist/web/assets/stateDiagram-RAJIS63D-ylr4HxPu.js +0 -1
  203. package/dist/web/assets/stateDiagram-v2-FVOUBMTO-D6zvxf3M.js +0 -1
  204. package/dist/web/assets/table-Bi27fEaN.js +0 -1
  205. package/dist/web/assets/terminal-tab-DpzE3yoD.js +0 -36
  206. package/dist/web/assets/text-wrap-D_OmSzhp.js +0 -1
  207. package/dist/web/assets/timeline-definition-YZTLITO2-pMv1grvM.js +0 -61
  208. package/dist/web/assets/trash-2-CNuB-htI.js +0 -1
  209. package/dist/web/assets/treemap-KZPCXAKY-Kck06FKU.js +0 -1
  210. package/dist/web/assets/vennDiagram-LZ73GAT5-C-rkIUbo.js +0 -34
  211. package/dist/web/assets/x-Dw3TjeY_.js +0 -1
  212. package/dist/web/assets/xychartDiagram-JWTSCODW-CtpjAakO.js +0 -7
  213. /package/dist/web/assets/{csv-parser-i7fjqP2H.js → csv-parser--2WJNgS7.js} +0 -0
  214. /package/dist/web/assets/{katex-DR0kdMDv.js → katex-CKoArbIw.js} +0 -0
  215. /package/dist/web/assets/{chunk-CFjPhJqf.js → rolldown-runtime-FhOqtrmT.js} +0 -0
  216. /package/dist/web/assets/{sql-completion-provider-B8uUWWej.js → sql-completion-provider-C3cq9j99.js} +0 -0
  217. /package/dist/web/assets/{utils-DX8jb5qv.js → utils-ChWX7pZv.js} +0 -0
  218. /package/dist/web/assets/{terminal-tab-BrP-ENHg.css → vendor-xterm-BrP-ENHg.css} +0 -0
@@ -1 +0,0 @@
1
- var e=Math.abs,t=Math.atan2,n=Math.cos,r=Math.max,i=Math.min,a=Math.sin,o=Math.sqrt,s=1e-12,c=Math.PI,l=c/2,u=2*c;function d(e){return e>1?0:e<-1?c:Math.acos(e)}function f(e){return e>=1?l:e<=-1?-l:Math.asin(e)}export{n as a,r as c,a as d,o as f,t as i,i as l,d as n,s as o,u as p,f as r,l as s,e as t,c as u};
@@ -1,4 +0,0 @@
1
- const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/info-3K5VOQVL-BDU2_bYD.js","assets/chunk-XZSTWKYB-DjV8xl5A.js","assets/chunk-CFjPhJqf.js","assets/isEmpty-BfLnxq-B.js","assets/isArrayLikeObject-ClzWCpcm.js","assets/_baseUniq-CyzdZeQH.js","assets/_basePickBy-Bj0dI1ei.js","assets/clone--z5KLAuR.js","assets/chunk-EGIJ26TM-nant2LXl.js","assets/packet-RMMSAZCW-BwpIpYB3.js","assets/chunk-C72U2L5F-BHPkfQj2.js","assets/pie-UPGHQEXC-BPgAfmes.js","assets/chunk-XIRO2GV7-DZBoNl1_.js","assets/architecture-PBZL5I3N-DDFO_NKq.js","assets/chunk-R5LLSJPH-dRhXRnrb.js","assets/gitGraph-HDMCJU4V-OkvBPi6H.js","assets/chunk-7E7YKBS2-DZcnC7Ow.js","assets/radar-KQ55EAFF-TqxBkWx-.js","assets/chunk-L3YUKLVL-DnSMmNFC.js","assets/treemap-KZPCXAKY-Kck06FKU.js","assets/chunk-OZEHJAEY-lKq2SWjA.js"])))=>i.map(i=>d[i]);
2
- import{t as e}from"./preload-helper-mr3rCizq.js";import{f as t}from"./chunk-XZSTWKYB-DjV8xl5A.js";var n={},r={info:t(async()=>{let{createInfoServices:t}=await e(async()=>{let{createInfoServices:e}=await import(`./info-3K5VOQVL-BDU2_bYD.js`);return{createInfoServices:e}},__vite__mapDeps([0,1,2,3,4,5,6,7,8]));n.info=t().Info.parser.LangiumParser},`info`),packet:t(async()=>{let{createPacketServices:t}=await e(async()=>{let{createPacketServices:e}=await import(`./packet-RMMSAZCW-BwpIpYB3.js`);return{createPacketServices:e}},__vite__mapDeps([9,1,2,3,4,5,6,7,10]));n.packet=t().Packet.parser.LangiumParser},`packet`),pie:t(async()=>{let{createPieServices:t}=await e(async()=>{let{createPieServices:e}=await import(`./pie-UPGHQEXC-BPgAfmes.js`);return{createPieServices:e}},__vite__mapDeps([11,1,2,3,4,5,6,7,12]));n.pie=t().Pie.parser.LangiumParser},`pie`),architecture:t(async()=>{let{createArchitectureServices:t}=await e(async()=>{let{createArchitectureServices:e}=await import(`./architecture-PBZL5I3N-DDFO_NKq.js`);return{createArchitectureServices:e}},__vite__mapDeps([13,1,2,3,4,5,6,7,14]));n.architecture=t().Architecture.parser.LangiumParser},`architecture`),gitGraph:t(async()=>{let{createGitGraphServices:t}=await e(async()=>{let{createGitGraphServices:e}=await import(`./gitGraph-HDMCJU4V-OkvBPi6H.js`);return{createGitGraphServices:e}},__vite__mapDeps([15,1,2,3,4,5,6,7,16]));n.gitGraph=t().GitGraph.parser.LangiumParser},`gitGraph`),radar:t(async()=>{let{createRadarServices:t}=await e(async()=>{let{createRadarServices:e}=await import(`./radar-KQ55EAFF-TqxBkWx-.js`);return{createRadarServices:e}},__vite__mapDeps([17,1,2,3,4,5,6,7,18]));n.radar=t().Radar.parser.LangiumParser},`radar`),treemap:t(async()=>{let{createTreemapServices:t}=await e(async()=>{let{createTreemapServices:e}=await import(`./treemap-KZPCXAKY-Kck06FKU.js`);return{createTreemapServices:e}},__vite__mapDeps([19,1,2,3,4,5,6,7,20]));n.treemap=t().Treemap.parser.LangiumParser},`treemap`)};async function i(e,t){let i=r[e];if(!i)throw Error(`Unknown diagram type: ${e}`);n[e]||await i();let o=n[e].parse(t);if(o.lexerErrors.length>0||o.parserErrors.length>0)throw new a(o);return o.value}t(i,`parse`);var a=class extends Error{constructor(e){let t=e.lexerErrors.map(e=>`Lexer error on line ${e.line!==void 0&&!isNaN(e.line)?e.line:`?`}, column ${e.column!==void 0&&!isNaN(e.column)?e.column:`?`}: ${e.message}`).join(`
3
- `),n=e.parserErrors.map(e=>`Parse error on line ${e.token.startLine!==void 0&&!isNaN(e.token.startLine)?e.token.startLine:`?`}, column ${e.token.startColumn!==void 0&&!isNaN(e.token.startColumn)?e.token.startColumn:`?`}: ${e.message}`).join(`
4
- `);super(`Parsing failed: ${t} ${n}`),this.result=e}static{t(this,`MermaidParseError`)}};export{i as t};
@@ -1,68 +0,0 @@
1
- import"./chunk-GEFDOKGD-86LFbsAC.js";import{g as e,h as t}from"./src-CqyWLlNZ.js";import{$ as n,L as r,O as i,Q as a,b as o,d as s,tt as c}from"./chunk-7R4GIKGN-y8bfHEy-.js";import"./dist-DZmJeHOA.js";import"./chunk-PU5JKC2W-DD95Rx35.js";import"./chunk-MX3YWQON-B6g1ZH9X.js";import"./chunk-YBOYWFTD-D_ILLe6_.js";import{t as l}from"./chunk-55IACEB6-DhZGI1l3.js";import{t as u}from"./chunk-KX2RTZJC-CHj8TnTB.js";import"./chunk-PQ6SQG4A-Bik13fTV.js";import"./chunk-KYZI473N-gqRLpJ4w.js";import"./chunk-O4XLMI2P-Vp_V4P-b.js";import{r as d,t as f}from"./chunk-GLR3WWYH-Re-5eSlQ.js";var p=[];for(let e=0;e<256;++e)p.push((e+256).toString(16).slice(1));function m(e,t=0){return(p[e[t+0]]+p[e[t+1]]+p[e[t+2]]+p[e[t+3]]+`-`+p[e[t+4]]+p[e[t+5]]+`-`+p[e[t+6]]+p[e[t+7]]+`-`+p[e[t+8]]+p[e[t+9]]+`-`+p[e[t+10]]+p[e[t+11]]+p[e[t+12]]+p[e[t+13]]+p[e[t+14]]+p[e[t+15]]).toLowerCase()}var h,g=new Uint8Array(16);function _(){if(!h){if(typeof crypto>`u`||!crypto.getRandomValues)throw Error(`crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported`);h=crypto.getRandomValues.bind(crypto)}return h(g)}var v={randomUUID:typeof crypto<`u`&&crypto.randomUUID&&crypto.randomUUID.bind(crypto)};function y(e,t,n){if(v.randomUUID&&!t&&!e)return v.randomUUID();e||={};let r=e.random??e.rng?.()??_();if(r.length<16)throw Error(`Random bytes length must be >= 16`);if(r[6]=r[6]&15|64,r[8]=r[8]&63|128,t){if(n||=0,n<0||n+16>t.length)throw RangeError(`UUID byte range ${n}:${n+15} is out of buffer bounds`);for(let e=0;e<16;++e)t[n+e]=r[e];return t}return m(r)}var b=(function(){var e=t(function(e,t,n,r){for(n||={},r=e.length;r--;n[e[r]]=t);return n},`o`),n=[1,4],r=[1,13],i=[1,12],a=[1,15],o=[1,16],s=[1,20],c=[1,19],l=[6,7,8],u=[1,26],d=[1,24],f=[1,25],p=[6,7,11],m=[1,6,13,15,16,19,22],h=[1,33],g=[1,34],_=[1,6,7,11,13,15,16,19,22],v={trace:t(function(){},`trace`),yy:{},symbols_:{error:2,start:3,mindMap:4,spaceLines:5,SPACELINE:6,NL:7,MINDMAP:8,document:9,stop:10,EOF:11,statement:12,SPACELIST:13,node:14,ICON:15,CLASS:16,nodeWithId:17,nodeWithoutId:18,NODE_DSTART:19,NODE_DESCR:20,NODE_DEND:21,NODE_ID:22,$accept:0,$end:1},terminals_:{2:`error`,6:`SPACELINE`,7:`NL`,8:`MINDMAP`,11:`EOF`,13:`SPACELIST`,15:`ICON`,16:`CLASS`,19:`NODE_DSTART`,20:`NODE_DESCR`,21:`NODE_DEND`,22:`NODE_ID`},productions_:[0,[3,1],[3,2],[5,1],[5,2],[5,2],[4,2],[4,3],[10,1],[10,1],[10,1],[10,2],[10,2],[9,3],[9,2],[12,2],[12,2],[12,2],[12,1],[12,1],[12,1],[12,1],[12,1],[14,1],[14,1],[18,3],[17,1],[17,4]],performAction:t(function(e,t,n,r,i,a,o){var s=a.length-1;switch(i){case 6:case 7:return r;case 8:r.getLogger().trace(`Stop NL `);break;case 9:r.getLogger().trace(`Stop EOF `);break;case 11:r.getLogger().trace(`Stop NL2 `);break;case 12:r.getLogger().trace(`Stop EOF2 `);break;case 15:r.getLogger().info(`Node: `,a[s].id),r.addNode(a[s-1].length,a[s].id,a[s].descr,a[s].type);break;case 16:r.getLogger().trace(`Icon: `,a[s]),r.decorateNode({icon:a[s]});break;case 17:case 21:r.decorateNode({class:a[s]});break;case 18:r.getLogger().trace(`SPACELIST`);break;case 19:r.getLogger().trace(`Node: `,a[s].id),r.addNode(0,a[s].id,a[s].descr,a[s].type);break;case 20:r.decorateNode({icon:a[s]});break;case 25:r.getLogger().trace(`node found ..`,a[s-2]),this.$={id:a[s-1],descr:a[s-1],type:r.getType(a[s-2],a[s])};break;case 26:this.$={id:a[s],descr:a[s],type:r.nodeType.DEFAULT};break;case 27:r.getLogger().trace(`node found ..`,a[s-3]),this.$={id:a[s-3],descr:a[s-1],type:r.getType(a[s-2],a[s])};break}},`anonymous`),table:[{3:1,4:2,5:3,6:[1,5],8:n},{1:[3]},{1:[2,1]},{4:6,6:[1,7],7:[1,8],8:n},{6:r,7:[1,10],9:9,12:11,13:i,14:14,15:a,16:o,17:17,18:18,19:s,22:c},e(l,[2,3]),{1:[2,2]},e(l,[2,4]),e(l,[2,5]),{1:[2,6],6:r,12:21,13:i,14:14,15:a,16:o,17:17,18:18,19:s,22:c},{6:r,9:22,12:11,13:i,14:14,15:a,16:o,17:17,18:18,19:s,22:c},{6:u,7:d,10:23,11:f},e(p,[2,22],{17:17,18:18,14:27,15:[1,28],16:[1,29],19:s,22:c}),e(p,[2,18]),e(p,[2,19]),e(p,[2,20]),e(p,[2,21]),e(p,[2,23]),e(p,[2,24]),e(p,[2,26],{19:[1,30]}),{20:[1,31]},{6:u,7:d,10:32,11:f},{1:[2,7],6:r,12:21,13:i,14:14,15:a,16:o,17:17,18:18,19:s,22:c},e(m,[2,14],{7:h,11:g}),e(_,[2,8]),e(_,[2,9]),e(_,[2,10]),e(p,[2,15]),e(p,[2,16]),e(p,[2,17]),{20:[1,35]},{21:[1,36]},e(m,[2,13],{7:h,11:g}),e(_,[2,11]),e(_,[2,12]),{21:[1,37]},e(p,[2,25]),e(p,[2,27])],defaultActions:{2:[2,1],6:[2,2]},parseError:t(function(e,t){if(t.recoverable)this.trace(e);else{var n=Error(e);throw n.hash=t,n}},`parseError`),parse:t(function(e){var n=this,r=[0],i=[],a=[null],o=[],s=this.table,c=``,l=0,u=0,d=0,f=2,p=1,m=o.slice.call(arguments,1),h=Object.create(this.lexer),g={yy:{}};for(var _ in this.yy)Object.prototype.hasOwnProperty.call(this.yy,_)&&(g.yy[_]=this.yy[_]);h.setInput(e,g.yy),g.yy.lexer=h,g.yy.parser=this,h.yylloc===void 0&&(h.yylloc={});var v=h.yylloc;o.push(v);var y=h.options&&h.options.ranges;typeof g.yy.parseError==`function`?this.parseError=g.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function b(e){r.length-=2*e,a.length-=e,o.length-=e}t(b,`popStack`);function x(){var e=i.pop()||h.lex()||p;return typeof e!=`number`&&(e instanceof Array&&(i=e,e=i.pop()),e=n.symbols_[e]||e),e}t(x,`lex`);for(var S,C,w,T,E,D={},O,k,A,j;;){if(w=r[r.length-1],this.defaultActions[w]?T=this.defaultActions[w]:(S??=x(),T=s[w]&&s[w][S]),T===void 0||!T.length||!T[0]){var M=``;for(O in j=[],s[w])this.terminals_[O]&&O>f&&j.push(`'`+this.terminals_[O]+`'`);M=h.showPosition?`Parse error on line `+(l+1)+`:
2
- `+h.showPosition()+`
3
- Expecting `+j.join(`, `)+`, got '`+(this.terminals_[S]||S)+`'`:`Parse error on line `+(l+1)+`: Unexpected `+(S==p?`end of input`:`'`+(this.terminals_[S]||S)+`'`),this.parseError(M,{text:h.match,token:this.terminals_[S]||S,line:h.yylineno,loc:v,expected:j})}if(T[0]instanceof Array&&T.length>1)throw Error(`Parse Error: multiple actions possible at state: `+w+`, token: `+S);switch(T[0]){case 1:r.push(S),a.push(h.yytext),o.push(h.yylloc),r.push(T[1]),S=null,C?(S=C,C=null):(u=h.yyleng,c=h.yytext,l=h.yylineno,v=h.yylloc,d>0&&d--);break;case 2:if(k=this.productions_[T[1]][1],D.$=a[a.length-k],D._$={first_line:o[o.length-(k||1)].first_line,last_line:o[o.length-1].last_line,first_column:o[o.length-(k||1)].first_column,last_column:o[o.length-1].last_column},y&&(D._$.range=[o[o.length-(k||1)].range[0],o[o.length-1].range[1]]),E=this.performAction.apply(D,[c,u,l,g.yy,T[1],a,o].concat(m)),E!==void 0)return E;k&&(r=r.slice(0,-1*k*2),a=a.slice(0,-1*k),o=o.slice(0,-1*k)),r.push(this.productions_[T[1]][0]),a.push(D.$),o.push(D._$),A=s[r[r.length-2]][r[r.length-1]],r.push(A);break;case 3:return!0}}return!0},`parse`)};v.lexer=(function(){return{EOF:1,parseError:t(function(e,t){if(this.yy.parser)this.yy.parser.parseError(e,t);else throw Error(e)},`parseError`),setInput:t(function(e,t){return this.yy=t||this.yy||{},this._input=e,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match=``,this.conditionStack=[`INITIAL`],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},`setInput`),input:t(function(){var e=this._input[0];return this.yytext+=e,this.yyleng++,this.offset++,this.match+=e,this.matched+=e,e.match(/(?:\r\n?|\n).*/g)?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),e},`input`),unput:t(function(e){var t=e.length,n=e.split(/(?:\r\n?|\n)/g);this._input=e+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-t),this.offset-=t;var r=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),n.length-1&&(this.yylineno-=n.length-1);var i=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:n?(n.length===r.length?this.yylloc.first_column:0)+r[r.length-n.length].length-n[0].length:this.yylloc.first_column-t},this.options.ranges&&(this.yylloc.range=[i[0],i[0]+this.yyleng-t]),this.yyleng=this.yytext.length,this},`unput`),more:t(function(){return this._more=!0,this},`more`),reject:t(function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError(`Lexical error on line `+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).
4
- `+this.showPosition(),{text:``,token:null,line:this.yylineno});return this},`reject`),less:t(function(e){this.unput(this.match.slice(e))},`less`),pastInput:t(function(){var e=this.matched.substr(0,this.matched.length-this.match.length);return(e.length>20?`...`:``)+e.substr(-20).replace(/\n/g,``)},`pastInput`),upcomingInput:t(function(){var e=this.match;return e.length<20&&(e+=this._input.substr(0,20-e.length)),(e.substr(0,20)+(e.length>20?`...`:``)).replace(/\n/g,``)},`upcomingInput`),showPosition:t(function(){var e=this.pastInput(),t=Array(e.length+1).join(`-`);return e+this.upcomingInput()+`
5
- `+t+`^`},`showPosition`),test_match:t(function(e,t){var n,r,i;if(this.options.backtrack_lexer&&(i={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(i.yylloc.range=this.yylloc.range.slice(0))),r=e[0].match(/(?:\r\n?|\n).*/g),r&&(this.yylineno+=r.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:r?r[r.length-1].length-r[r.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+e[0].length},this.yytext+=e[0],this.match+=e[0],this.matches=e,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(e[0].length),this.matched+=e[0],n=this.performAction.call(this,this.yy,this,t,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),n)return n;if(this._backtrack){for(var a in i)this[a]=i[a];return!1}return!1},`test_match`),next:t(function(){if(this.done)return this.EOF;this._input||(this.done=!0);var e,t,n,r;this._more||(this.yytext=``,this.match=``);for(var i=this._currentRules(),a=0;a<i.length;a++)if(n=this._input.match(this.rules[i[a]]),n&&(!t||n[0].length>t[0].length)){if(t=n,r=a,this.options.backtrack_lexer){if(e=this.test_match(n,i[a]),e!==!1)return e;if(this._backtrack){t=!1;continue}else return!1}else if(!this.options.flex)break}return t?(e=this.test_match(t,i[r]),e===!1?!1:e):this._input===``?this.EOF:this.parseError(`Lexical error on line `+(this.yylineno+1)+`. Unrecognized text.
6
- `+this.showPosition(),{text:``,token:null,line:this.yylineno})},`next`),lex:t(function(){return this.next()||this.lex()},`lex`),begin:t(function(e){this.conditionStack.push(e)},`begin`),popState:t(function(){return this.conditionStack.length-1>0?this.conditionStack.pop():this.conditionStack[0]},`popState`),_currentRules:t(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},`_currentRules`),topState:t(function(e){return e=this.conditionStack.length-1-Math.abs(e||0),e>=0?this.conditionStack[e]:`INITIAL`},`topState`),pushState:t(function(e){this.begin(e)},`pushState`),stateStackSize:t(function(){return this.conditionStack.length},`stateStackSize`),options:{"case-insensitive":!0},performAction:t(function(e,t,n,r){switch(n){case 0:return e.getLogger().trace(`Found comment`,t.yytext),6;case 1:return 8;case 2:this.begin(`CLASS`);break;case 3:return this.popState(),16;case 4:this.popState();break;case 5:e.getLogger().trace(`Begin icon`),this.begin(`ICON`);break;case 6:return e.getLogger().trace(`SPACELINE`),6;case 7:return 7;case 8:return 15;case 9:e.getLogger().trace(`end icon`),this.popState();break;case 10:return e.getLogger().trace(`Exploding node`),this.begin(`NODE`),19;case 11:return e.getLogger().trace(`Cloud`),this.begin(`NODE`),19;case 12:return e.getLogger().trace(`Explosion Bang`),this.begin(`NODE`),19;case 13:return e.getLogger().trace(`Cloud Bang`),this.begin(`NODE`),19;case 14:return this.begin(`NODE`),19;case 15:return this.begin(`NODE`),19;case 16:return this.begin(`NODE`),19;case 17:return this.begin(`NODE`),19;case 18:return 13;case 19:return 22;case 20:return 11;case 21:this.begin(`NSTR2`);break;case 22:return`NODE_DESCR`;case 23:this.popState();break;case 24:e.getLogger().trace(`Starting NSTR`),this.begin(`NSTR`);break;case 25:return e.getLogger().trace(`description:`,t.yytext),`NODE_DESCR`;case 26:this.popState();break;case 27:return this.popState(),e.getLogger().trace(`node end ))`),`NODE_DEND`;case 28:return this.popState(),e.getLogger().trace(`node end )`),`NODE_DEND`;case 29:return this.popState(),e.getLogger().trace(`node end ...`,t.yytext),`NODE_DEND`;case 30:return this.popState(),e.getLogger().trace(`node end ((`),`NODE_DEND`;case 31:return this.popState(),e.getLogger().trace(`node end (-`),`NODE_DEND`;case 32:return this.popState(),e.getLogger().trace(`node end (-`),`NODE_DEND`;case 33:return this.popState(),e.getLogger().trace(`node end ((`),`NODE_DEND`;case 34:return this.popState(),e.getLogger().trace(`node end ((`),`NODE_DEND`;case 35:return e.getLogger().trace(`Long description:`,t.yytext),20;case 36:return e.getLogger().trace(`Long description:`,t.yytext),20}},`anonymous`),rules:[/^(?:\s*%%.*)/i,/^(?:mindmap\b)/i,/^(?::::)/i,/^(?:.+)/i,/^(?:\n)/i,/^(?:::icon\()/i,/^(?:[\s]+[\n])/i,/^(?:[\n]+)/i,/^(?:[^\)]+)/i,/^(?:\))/i,/^(?:-\))/i,/^(?:\(-)/i,/^(?:\)\))/i,/^(?:\))/i,/^(?:\(\()/i,/^(?:\{\{)/i,/^(?:\()/i,/^(?:\[)/i,/^(?:[\s]+)/i,/^(?:[^\(\[\n\)\{\}]+)/i,/^(?:$)/i,/^(?:["][`])/i,/^(?:[^`"]+)/i,/^(?:[`]["])/i,/^(?:["])/i,/^(?:[^"]+)/i,/^(?:["])/i,/^(?:[\)]\))/i,/^(?:[\)])/i,/^(?:[\]])/i,/^(?:\}\})/i,/^(?:\(-)/i,/^(?:-\))/i,/^(?:\(\()/i,/^(?:\()/i,/^(?:[^\)\]\(\}]+)/i,/^(?:.+(?!\(\())/i],conditions:{CLASS:{rules:[3,4],inclusive:!1},ICON:{rules:[8,9],inclusive:!1},NSTR2:{rules:[22,23],inclusive:!1},NSTR:{rules:[25,26],inclusive:!1},NODE:{rules:[21,24,27,28,29,30,31,32,33,34,35,36],inclusive:!1},INITIAL:{rules:[0,1,2,5,6,7,10,11,12,13,14,15,16,17,18,19,20],inclusive:!0}}}})();function y(){this.yy={}}return t(y,`Parser`),y.prototype=v,v.Parser=y,new y})();b.parser=b;var x=b,S=12,C={DEFAULT:0,NO_BORDER:0,ROUNDED_RECT:1,RECT:2,CIRCLE:3,CLOUD:4,BANG:5,HEXAGON:6},w=class{constructor(){this.nodes=[],this.count=0,this.elements={},this.getLogger=this.getLogger.bind(this),this.nodeType=C,this.clear(),this.getType=this.getType.bind(this),this.getElementById=this.getElementById.bind(this),this.getParent=this.getParent.bind(this),this.getMindmap=this.getMindmap.bind(this),this.addNode=this.addNode.bind(this),this.decorateNode=this.decorateNode.bind(this)}static{t(this,`MindmapDB`)}clear(){this.nodes=[],this.count=0,this.elements={},this.baseLevel=void 0}getParent(e){for(let t=this.nodes.length-1;t>=0;t--)if(this.nodes[t].level<e)return this.nodes[t];return null}getMindmap(){return this.nodes.length>0?this.nodes[0]:null}addNode(t,n,i,a){e.info(`addNode`,t,n,i,a);let c=!1;this.nodes.length===0?(this.baseLevel=t,t=0,c=!0):this.baseLevel!==void 0&&(t-=this.baseLevel,c=!1);let l=o(),u=l.mindmap?.padding??s.mindmap.padding;switch(a){case this.nodeType.ROUNDED_RECT:case this.nodeType.RECT:case this.nodeType.HEXAGON:u*=2;break}let d={id:this.count++,nodeId:r(n,l),level:t,descr:r(i,l),type:a,children:[],width:l.mindmap?.maxNodeWidth??s.mindmap.maxNodeWidth,padding:u,isRoot:c},f=this.getParent(t);if(f)f.children.push(d),this.nodes.push(d);else if(c)this.nodes.push(d);else throw Error(`There can be only one root. No parent could be found for ("${d.descr}")`)}getType(t,n){switch(e.debug(`In get type`,t,n),t){case`[`:return this.nodeType.RECT;case`(`:return n===`)`?this.nodeType.ROUNDED_RECT:this.nodeType.CLOUD;case`((`:return this.nodeType.CIRCLE;case`)`:return this.nodeType.CLOUD;case`))`:return this.nodeType.BANG;case`{{`:return this.nodeType.HEXAGON;default:return this.nodeType.DEFAULT}}setElementForId(e,t){this.elements[e]=t}getElementById(e){return this.elements[e]}decorateNode(e){if(!e)return;let t=o(),n=this.nodes[this.nodes.length-1];e.icon&&(n.icon=r(e.icon,t)),e.class&&(n.class=r(e.class,t))}type2Str(e){switch(e){case this.nodeType.DEFAULT:return`no-border`;case this.nodeType.RECT:return`rect`;case this.nodeType.ROUNDED_RECT:return`rounded-rect`;case this.nodeType.CIRCLE:return`circle`;case this.nodeType.CLOUD:return`cloud`;case this.nodeType.BANG:return`bang`;case this.nodeType.HEXAGON:return`hexgon`;default:return`no-border`}}assignSections(e,t){if(e.level===0?e.section=void 0:e.section=t,e.children)for(let[n,r]of e.children.entries()){let i=e.level===0?n%(S-1):t;this.assignSections(r,i)}}flattenNodes(e,n){let r=[`mindmap-node`];e.isRoot===!0?r.push(`section-root`,`section--1`):e.section!==void 0&&r.push(`section-${e.section}`),e.class&&r.push(e.class);let i=r.join(` `),a=t(e=>{switch(e){case C.CIRCLE:return`mindmapCircle`;case C.RECT:return`rect`;case C.ROUNDED_RECT:return`rounded`;case C.CLOUD:return`cloud`;case C.BANG:return`bang`;case C.HEXAGON:return`hexagon`;case C.DEFAULT:return`defaultMindmapNode`;case C.NO_BORDER:default:return`rect`}},`getShapeFromType`),o={id:e.id.toString(),domId:`node_`+e.id.toString(),label:e.descr,labelType:`markdown`,isGroup:!1,shape:a(e.type),width:e.width,height:e.height??0,padding:e.padding,cssClasses:i,cssStyles:[],look:`default`,icon:e.icon,x:e.x,y:e.y,level:e.level,nodeId:e.nodeId,type:e.type,section:e.section};if(n.push(o),e.children)for(let t of e.children)this.flattenNodes(t,n)}generateEdges(e,t){if(e.children)for(let n of e.children){let r=`edge`;n.section!==void 0&&(r+=` section-edge-${n.section}`);let i=e.level+1;r+=` edge-depth-${i}`;let a={id:`edge_${e.id}_${n.id}`,start:e.id.toString(),end:n.id.toString(),type:`normal`,curve:`basis`,thickness:`normal`,look:`default`,classes:r,depth:e.level,section:n.section};t.push(a),this.generateEdges(n,t)}}getData(){let t=this.getMindmap(),n=o(),r=i().layout!==void 0,a=n;if(r||(a.layout=`cose-bilkent`),!t)return{nodes:[],edges:[],config:a};e.debug(`getData: mindmapRoot`,t,n),this.assignSections(t);let s=[],c=[];this.flattenNodes(t,s),this.generateEdges(t,c),e.debug(`getData: processed ${s.length} nodes and ${c.length} edges`);let l=new Map;for(let e of s)l.set(e.id,{shape:e.shape,width:e.width,height:e.height,padding:e.padding});return{nodes:s,edges:c,config:a,rootNode:t,markers:[`point`],direction:`TB`,nodeSpacing:50,rankSpacing:50,shapes:Object.fromEntries(l),type:`mindmap`,diagramId:`mindmap-`+y()}}getLogger(){return e}},T={draw:t(async(t,n,r,i)=>{e.debug(`Rendering mindmap diagram
7
- `+t);let a=i.db,o=a.getData(),c=l(n,o.config.securityLevel);o.type=i.type,o.layoutAlgorithm=f(o.config.layout,{fallback:`cose-bilkent`}),o.diagramId=n,a.getMindmap()&&(o.nodes.forEach(e=>{e.shape===`rounded`?(e.radius=15,e.taper=15,e.stroke=`none`,e.width=0,e.padding=15):e.shape===`circle`?e.padding=10:e.shape===`rect`&&(e.width=0,e.padding=10)}),await d(o,c),u(c,o.config.mindmap?.padding??s.mindmap.padding,`mindmapDiagram`,o.config.mindmap?.useMaxWidth??s.mindmap.useMaxWidth))},`draw`)},E=t(e=>{let t=``;for(let t=0;t<e.THEME_COLOR_LIMIT;t++)e[`lineColor`+t]=e[`lineColor`+t]||e[`cScaleInv`+t],c(e[`lineColor`+t])?e[`lineColor`+t]=n(e[`lineColor`+t],20):e[`lineColor`+t]=a(e[`lineColor`+t],20);for(let n=0;n<e.THEME_COLOR_LIMIT;n++){let r=``+(17-3*n);t+=`
8
- .section-${n-1} rect, .section-${n-1} path, .section-${n-1} circle, .section-${n-1} polygon, .section-${n-1} path {
9
- fill: ${e[`cScale`+n]};
10
- }
11
- .section-${n-1} text {
12
- fill: ${e[`cScaleLabel`+n]};
13
- }
14
- .node-icon-${n-1} {
15
- font-size: 40px;
16
- color: ${e[`cScaleLabel`+n]};
17
- }
18
- .section-edge-${n-1}{
19
- stroke: ${e[`cScale`+n]};
20
- }
21
- .edge-depth-${n-1}{
22
- stroke-width: ${r};
23
- }
24
- .section-${n-1} line {
25
- stroke: ${e[`cScaleInv`+n]} ;
26
- stroke-width: 3;
27
- }
28
-
29
- .disabled, .disabled circle, .disabled text {
30
- fill: lightgray;
31
- }
32
- .disabled text {
33
- fill: #efefef;
34
- }
35
- `}return t},`genSections`),D={get db(){return new w},renderer:T,parser:x,styles:t(e=>`
36
- .edge {
37
- stroke-width: 3;
38
- }
39
- ${E(e)}
40
- .section-root rect, .section-root path, .section-root circle, .section-root polygon {
41
- fill: ${e.git0};
42
- }
43
- .section-root text {
44
- fill: ${e.gitBranchLabel0};
45
- }
46
- .section-root span {
47
- color: ${e.gitBranchLabel0};
48
- }
49
- .section-2 span {
50
- color: ${e.gitBranchLabel0};
51
- }
52
- .icon-container {
53
- height:100%;
54
- display: flex;
55
- justify-content: center;
56
- align-items: center;
57
- }
58
- .edge {
59
- fill: none;
60
- }
61
- .mindmap-node-label {
62
- dy: 1em;
63
- alignment-baseline: middle;
64
- text-anchor: middle;
65
- dominant-baseline: middle;
66
- text-align: center;
67
- }
68
- `,`getStyles`)};export{D as diagram};
@@ -1 +0,0 @@
1
- import{t as e}from"./init-0VJVrkRJ.js";var t=class extends Map{constructor(e,t=a){if(super(),Object.defineProperties(this,{_intern:{value:new Map},_key:{value:t}}),e!=null)for(let[t,n]of e)this.set(t,n)}get(e){return super.get(n(this,e))}has(e){return super.has(n(this,e))}set(e,t){return super.set(r(this,e),t)}delete(e){return super.delete(i(this,e))}};function n({_intern:e,_key:t},n){let r=t(n);return e.has(r)?e.get(r):n}function r({_intern:e,_key:t},n){let r=t(n);return e.has(r)?e.get(r):(e.set(r,n),n)}function i({_intern:e,_key:t},n){let r=t(n);return e.has(r)&&(n=e.get(n),e.delete(r)),n}function a(e){return typeof e==`object`&&e?e.valueOf():e}var o=Symbol(`implicit`);function s(){var n=new t,r=[],i=[],a=o;function c(e){let t=n.get(e);if(t===void 0){if(a!==o)return a;n.set(e,t=r.push(e)-1)}return i[t%i.length]}return c.domain=function(e){if(!arguments.length)return r.slice();r=[],n=new t;for(let t of e)n.has(t)||n.set(t,r.push(t)-1);return c},c.range=function(e){return arguments.length?(i=Array.from(e),c):i.slice()},c.unknown=function(e){return arguments.length?(a=e,c):a},c.copy=function(){return s(r,i).unknown(a)},e.apply(c,arguments),c}export{s as t};
@@ -1 +0,0 @@
1
- import"./chunk-XZSTWKYB-DjV8xl5A.js";import{n as e}from"./chunk-C72U2L5F-BHPkfQj2.js";export{e as createPacketServices};
@@ -1 +0,0 @@
1
- var e=Math.PI,t=2*e,n=1e-6,r=t-n;function i(e){this._+=e[0];for(let t=1,n=e.length;t<n;++t)this._+=arguments[t]+e[t]}function a(e){let t=Math.floor(e);if(!(t>=0))throw Error(`invalid digits: ${e}`);if(t>15)return i;let n=10**t;return function(e){this._+=e[0];for(let t=1,r=e.length;t<r;++t)this._+=Math.round(arguments[t]*n)/n+e[t]}}var o=class{constructor(e){this._x0=this._y0=this._x1=this._y1=null,this._=``,this._append=e==null?i:a(e)}moveTo(e,t){this._append`M${this._x0=this._x1=+e},${this._y0=this._y1=+t}`}closePath(){this._x1!==null&&(this._x1=this._x0,this._y1=this._y0,this._append`Z`)}lineTo(e,t){this._append`L${this._x1=+e},${this._y1=+t}`}quadraticCurveTo(e,t,n,r){this._append`Q${+e},${+t},${this._x1=+n},${this._y1=+r}`}bezierCurveTo(e,t,n,r,i,a){this._append`C${+e},${+t},${+n},${+r},${this._x1=+i},${this._y1=+a}`}arcTo(t,r,i,a,o){if(t=+t,r=+r,i=+i,a=+a,o=+o,o<0)throw Error(`negative radius: ${o}`);let s=this._x1,c=this._y1,l=i-t,u=a-r,d=s-t,f=c-r,p=d*d+f*f;if(this._x1===null)this._append`M${this._x1=t},${this._y1=r}`;else if(p>n)if(!(Math.abs(f*l-u*d)>n)||!o)this._append`L${this._x1=t},${this._y1=r}`;else{let m=i-s,h=a-c,g=l*l+u*u,_=m*m+h*h,v=Math.sqrt(g),y=Math.sqrt(p),b=o*Math.tan((e-Math.acos((g+p-_)/(2*v*y)))/2),x=b/y,S=b/v;Math.abs(x-1)>n&&this._append`L${t+x*d},${r+x*f}`,this._append`A${o},${o},0,0,${+(f*m>d*h)},${this._x1=t+S*l},${this._y1=r+S*u}`}}arc(i,a,o,s,c,l){if(i=+i,a=+a,o=+o,l=!!l,o<0)throw Error(`negative radius: ${o}`);let u=o*Math.cos(s),d=o*Math.sin(s),f=i+u,p=a+d,m=1^l,h=l?s-c:c-s;this._x1===null?this._append`M${f},${p}`:(Math.abs(this._x1-f)>n||Math.abs(this._y1-p)>n)&&this._append`L${f},${p}`,o&&(h<0&&(h=h%t+t),h>r?this._append`A${o},${o},0,1,${m},${i-u},${a-d}A${o},${o},0,1,${m},${this._x1=f},${this._y1=p}`:h>n&&this._append`A${o},${o},0,${+(h>=e)},${m},${this._x1=i+o*Math.cos(c)},${this._y1=a+o*Math.sin(c)}`)}rect(e,t,n,r){this._append`M${this._x0=this._x1=+e},${this._y0=this._y1=+t}h${n=+n}v${+r}h${-n}Z`}toString(){return this._}};function s(){return new o}s.prototype=o.prototype;function c(e){return function(){return e}}function l(e){let t=3;return e.digits=function(n){if(!arguments.length)return t;if(n==null)t=null;else{let e=Math.floor(n);if(!(e>=0))throw RangeError(`invalid digits: ${n}`);t=e}return e},()=>new o(t)}export{c as n,l as t};
@@ -1 +0,0 @@
1
- import"./chunk-XZSTWKYB-DjV8xl5A.js";import{n as e}from"./chunk-XIRO2GV7-DZBoNl1_.js";export{e as createPieServices};
@@ -1,30 +0,0 @@
1
- import"./chunk-XZSTWKYB-DjV8xl5A.js";import{f as e,r as t}from"./chunk-GEFDOKGD-86LFbsAC.js";import"./chunk-R5LLSJPH-dRhXRnrb.js";import"./chunk-7E7YKBS2-DZcnC7Ow.js";import"./chunk-EGIJ26TM-nant2LXl.js";import"./chunk-C72U2L5F-BHPkfQj2.js";import"./chunk-XIRO2GV7-DZBoNl1_.js";import"./chunk-L3YUKLVL-DnSMmNFC.js";import"./chunk-OZEHJAEY-lKq2SWjA.js";import{g as n,h as r}from"./src-CqyWLlNZ.js";import{B as i,C as a,V as o,W as s,_ as c,a as l,b as u,c as d,d as f,v as p}from"./chunk-7R4GIKGN-y8bfHEy-.js";import{t as m}from"./ordinal-DpFn432U.js";import{n as h}from"./path-INs8XTPH.js";import{p as g}from"./math-CRc16Nj6.js";import{t as _}from"./arc-CxgHJ7Z4.js";import{t as v}from"./array-BFDiaBgf.js";import{t as y}from"./chunk-HHEYEP7N-C45i5G_3.js";import"./dist-DZmJeHOA.js";import{t as b}from"./chunk-4BX2VUAB-CENmY7Kw.js";import{t as x}from"./mermaid-parser.core-CFdP1Z5_.js";function S(e,t){return t<e?-1:t>e?1:t>=e?0:NaN}function C(e){return e}function w(){var e=C,t=S,n=null,r=h(0),i=h(g),a=h(0);function o(o){var s,c=(o=v(o)).length,l,u,d=0,f=Array(c),p=Array(c),m=+r.apply(this,arguments),h=Math.min(g,Math.max(-g,i.apply(this,arguments)-m)),_,y=Math.min(Math.abs(h)/c,a.apply(this,arguments)),b=y*(h<0?-1:1),x;for(s=0;s<c;++s)(x=p[f[s]=s]=+e(o[s],s,o))>0&&(d+=x);for(t==null?n!=null&&f.sort(function(e,t){return n(o[e],o[t])}):f.sort(function(e,n){return t(p[e],p[n])}),s=0,u=d?(h-c*b)/d:0;s<c;++s,m=_)l=f[s],x=p[l],_=m+(x>0?x*u:0)+b,p[l]={data:o[l],index:s,value:x,startAngle:m,endAngle:_,padAngle:y};return p}return o.value=function(t){return arguments.length?(e=typeof t==`function`?t:h(+t),o):e},o.sortValues=function(e){return arguments.length?(t=e,n=null,o):t},o.sort=function(e){return arguments.length?(n=e,t=null,o):n},o.startAngle=function(e){return arguments.length?(r=typeof e==`function`?e:h(+e),o):r},o.endAngle=function(e){return arguments.length?(i=typeof e==`function`?e:h(+e),o):i},o.padAngle=function(e){return arguments.length?(a=typeof e==`function`?e:h(+e),o):a},o}var T=f.pie,E={sections:new Map,showData:!1,config:T},D=E.sections,O=E.showData,k=structuredClone(T),A={getConfig:r(()=>structuredClone(k),`getConfig`),clear:r(()=>{D=new Map,O=E.showData,l()},`clear`),setDiagramTitle:s,getDiagramTitle:a,setAccTitle:o,getAccTitle:p,setAccDescription:i,getAccDescription:c,addSection:r(({label:e,value:t})=>{if(t<0)throw Error(`"${e}" has invalid value: ${t}. Negative values are not allowed in pie charts. All slice values must be >= 0.`);D.has(e)||(D.set(e,t),n.debug(`added new section: ${e}, with value: ${t}`))},`addSection`),getSections:r(()=>D,`getSections`),setShowData:r(e=>{O=e},`setShowData`),getShowData:r(()=>O,`getShowData`)},j=r((e,t)=>{b(e,t),t.setShowData(e.showData),e.sections.map(t.addSection)},`populateDb`),M={parse:r(async e=>{let t=await x(`pie`,e);n.debug(t),j(t,A)},`parse`)},N=r(e=>`
2
- .pieCircle{
3
- stroke: ${e.pieStrokeColor};
4
- stroke-width : ${e.pieStrokeWidth};
5
- opacity : ${e.pieOpacity};
6
- }
7
- .pieOuterCircle{
8
- stroke: ${e.pieOuterStrokeColor};
9
- stroke-width: ${e.pieOuterStrokeWidth};
10
- fill: none;
11
- }
12
- .pieTitleText {
13
- text-anchor: middle;
14
- font-size: ${e.pieTitleTextSize};
15
- fill: ${e.pieTitleTextColor};
16
- font-family: ${e.fontFamily};
17
- }
18
- .slice {
19
- font-family: ${e.fontFamily};
20
- fill: ${e.pieSectionTextColor};
21
- font-size:${e.pieSectionTextSize};
22
- // fill: white;
23
- }
24
- .legend text {
25
- fill: ${e.pieLegendTextColor};
26
- font-family: ${e.fontFamily};
27
- font-size: ${e.pieLegendTextSize};
28
- }
29
- `,`getStyles`),P=r(e=>{let t=[...e.values()].reduce((e,t)=>e+t,0),n=[...e.entries()].map(([e,t])=>({label:e,value:t})).filter(e=>e.value/t*100>=1).sort((e,t)=>t.value-e.value);return w().value(e=>e.value)(n)},`createPieArcs`),F={parser:M,db:A,renderer:{draw:r((r,i,a,o)=>{n.debug(`rendering pie chart
30
- `+r);let s=o.db,c=u(),l=t(s.getConfig(),c.pie),f=y(i),p=f.append(`g`);p.attr(`transform`,`translate(225,225)`);let{themeVariables:h}=c,[g]=e(h.pieOuterStrokeWidth);g??=2;let v=l.textPosition,b=_().innerRadius(0).outerRadius(185),x=_().innerRadius(185*v).outerRadius(185*v);p.append(`circle`).attr(`cx`,0).attr(`cy`,0).attr(`r`,185+g/2).attr(`class`,`pieOuterCircle`);let S=s.getSections(),C=P(S),w=[h.pie1,h.pie2,h.pie3,h.pie4,h.pie5,h.pie6,h.pie7,h.pie8,h.pie9,h.pie10,h.pie11,h.pie12],T=0;S.forEach(e=>{T+=e});let E=C.filter(e=>(e.data.value/T*100).toFixed(0)!==`0`),D=m(w);p.selectAll(`mySlices`).data(E).enter().append(`path`).attr(`d`,b).attr(`fill`,e=>D(e.data.label)).attr(`class`,`pieCircle`),p.selectAll(`mySlices`).data(E).enter().append(`text`).text(e=>(e.data.value/T*100).toFixed(0)+`%`).attr(`transform`,e=>`translate(`+x.centroid(e)+`)`).style(`text-anchor`,`middle`).attr(`class`,`slice`),p.append(`text`).text(s.getDiagramTitle()).attr(`x`,0).attr(`y`,-400/2).attr(`class`,`pieTitleText`);let O=[...S.entries()].map(([e,t])=>({label:e,value:t})),k=p.selectAll(`.legend`).data(O).enter().append(`g`).attr(`class`,`legend`).attr(`transform`,(e,t)=>{let n=22*O.length/2;return`translate(216,`+(t*22-n)+`)`});k.append(`rect`).attr(`width`,18).attr(`height`,18).style(`fill`,e=>D(e.label)).style(`stroke`,e=>D(e.label)),k.append(`text`).attr(`x`,22).attr(`y`,14).text(e=>s.getShowData()?`${e.label} [${e.value}]`:e.label);let A=512+Math.max(...k.selectAll(`text`).nodes().map(e=>e?.getBoundingClientRect().width??0));f.attr(`viewBox`,`0 0 ${A} 450`),d(f,450,A,l.useMaxWidth)},`draw`)},styles:N};export{F as diagram};
@@ -1 +0,0 @@
1
- import{n as e}from"./jsx-runtime-BRW_vwa9.js";var t=e(`chevron-down`,[[`path`,{d:`m6 9 6 6 6-6`,key:`qrunsl`}]]),n=e(`chevron-up`,[[`path`,{d:`m18 15-6-6-6 6`,key:`153udz`}]]),r=e(`plus`,[[`path`,{d:`M5 12h14`,key:`1ays0h`}],[`path`,{d:`M12 5v14`,key:`s699le`}]]);export{n,t as r,r as t};
@@ -1 +0,0 @@
1
- import{o as e}from"./chunk-CFjPhJqf.js";import{t}from"./react-nm2Ru1Pt.js";import"./react-dom-Bpkvzu3U.js";import{n,t as r}from"./jsx-runtime-BRW_vwa9.js";import{i,n as a,r as o}from"./dist-CM0oD8tQ.js";import{t as s}from"./square-vBdqj0bF.js";import{t as c}from"./api-client-BvxmRZUi.js";import{B as l,J as u,Y as d}from"./index-BcIyrJiY.js";var f=n(`wifi`,[[`path`,{d:`M12 20h.01`,key:`zekei9`}],[`path`,{d:`M2 8.82a15 15 0 0 1 20 0`,key:`dnpr2z`}],[`path`,{d:`M5 12.859a10 10 0 0 1 14 0`,key:`1x1e6c`}],[`path`,{d:`M8.5 16.429a5 5 0 0 1 7 0`,key:`1bycff`}]]),p=e(t(),1),m=r();function h(){let[e,t]=(0,p.useState)(``),[n,r]=(0,p.useState)([]),[h,g]=(0,p.useState)(!1),[_,v]=(0,p.useState)(null),[y,b]=(0,p.useState)(null),x=(0,p.useCallback)(async()=>{try{r(await c.get(`/api/preview/tunnels`))}catch(e){console.warn(`[ports] failed to fetch tunnels`,e)}},[]);(0,p.useEffect)(()=>{x();let e=setInterval(x,1e4);return()=>clearInterval(e)},[x]);let S=async e=>{let r=n.find(t=>t.port===e);if(r){window.open(r.url,`_blank`),t(``);return}g(!0),v(null);try{let n=await c.post(`/api/preview/tunnel`,{port:e});window.open(n.url,`_blank`),t(``),await x()}catch(t){v(t.message||`Failed to start tunnel for port ${e}`)}finally{g(!1)}},C=async e=>{try{await c.del(`/api/preview/tunnel/${e}`),await x()}catch(t){a.error(t.message||`Failed to stop tunnel for port ${e}`)}},w=(e,t)=>{navigator.clipboard.writeText(t).then(()=>{b(e),a.success(`URL copied`),setTimeout(()=>b(null),2e3)}).catch(()=>{a.error(`Failed to copy URL`)})};return(0,m.jsxs)(`div`,{className:`flex flex-col h-full w-full bg-background`,children:[(0,m.jsxs)(`div`,{className:`p-4 md:p-6 border-b border-border bg-surface`,children:[(0,m.jsxs)(`div`,{className:`flex items-center gap-2 mb-3`,children:[(0,m.jsx)(f,{className:`size-5 text-primary`}),(0,m.jsx)(`h2`,{className:`text-base font-medium text-text-primary`,children:`Port Forwarding`})]}),(0,m.jsxs)(`form`,{onSubmit:t=>{t.preventDefault();let n=parseInt(e,10);n>=1&&n<=65535?S(n):v(`Port must be 1-65535`)},className:`flex items-center gap-2`,children:[(0,m.jsxs)(`div`,{className:`flex-1 flex items-center gap-2 px-3 py-2.5 rounded-lg bg-background border border-border focus-within:border-primary/50 transition-colors`,children:[(0,m.jsx)(`span`,{className:`text-sm text-text-subtle shrink-0`,children:`localhost:`}),(0,m.jsx)(`input`,{type:`number`,value:e,onChange:e=>{t(e.target.value),v(null)},placeholder:`3000`,min:1,max:65535,className:`flex-1 bg-transparent text-sm text-text-primary outline-none placeholder:text-text-subtle min-w-0 [appearance:textfield] [&::-webkit-inner-spin-button]:appearance-none [&::-webkit-outer-spin-button]:appearance-none`})]}),(0,m.jsx)(`button`,{type:`submit`,disabled:h||!e,className:`px-4 py-2.5 rounded-lg bg-primary text-primary-foreground text-sm font-medium hover:bg-primary/90 disabled:opacity-50 transition-colors shrink-0 min-w-[72px] flex items-center justify-center`,children:h?(0,m.jsx)(l,{className:`size-4 animate-spin`}):`Forward`})]}),_&&(0,m.jsx)(`p`,{className:`text-sm text-red-400 mt-2`,children:_}),h&&(0,m.jsxs)(`div`,{className:`flex items-center gap-2 text-sm text-text-secondary mt-2`,children:[(0,m.jsx)(l,{className:`size-3.5 animate-spin`}),(0,m.jsx)(`span`,{children:`Starting tunnel...`})]})]}),(0,m.jsx)(`div`,{className:`flex-1 overflow-y-auto p-4 md:p-6`,children:n.length===0?(0,m.jsxs)(`div`,{className:`flex flex-col items-center justify-center h-full gap-3 text-center`,children:[(0,m.jsx)(o,{className:`size-10 text-text-subtle`}),(0,m.jsx)(`p`,{className:`text-sm text-text-secondary max-w-xs`,children:`No active ports. Forward a port to access your local dev server from anywhere.`})]}):(0,m.jsx)(`div`,{className:`space-y-2`,children:n.map(e=>(0,m.jsxs)(`div`,{className:`flex items-center gap-3 p-3 rounded-lg bg-surface border border-border`,children:[(0,m.jsxs)(`div`,{className:`shrink-0 px-2 py-1 rounded bg-primary/10 text-primary text-xs font-mono font-medium`,children:[`:`,e.port]}),(0,m.jsx)(`span`,{className:`flex-1 text-xs text-text-secondary truncate min-w-0`,children:e.url}),(0,m.jsxs)(`div`,{className:`flex items-center shrink-0`,children:[(0,m.jsx)(`button`,{onClick:()=>window.open(e.url,`_blank`),className:`p-2.5 rounded-md hover:bg-surface-elevated transition-colors`,title:`Open in browser`,children:(0,m.jsx)(u,{className:`size-4 text-text-secondary`})}),(0,m.jsx)(`button`,{onClick:()=>w(e.port,e.url),className:`p-2.5 rounded-md hover:bg-surface-elevated transition-colors`,title:`Copy URL`,children:y===e.port?(0,m.jsx)(i,{className:`size-4 text-green-400`}):(0,m.jsx)(d,{className:`size-4 text-text-secondary`})}),(0,m.jsx)(`button`,{onClick:()=>C(e.port),className:`p-2.5 rounded-md hover:bg-red-500/10 transition-colors`,title:`Stop tunnel`,children:(0,m.jsx)(s,{className:`size-4 text-red-400`})})]})]},e.port))})})]})}export{h as PortForwardingTab};