@ironmussa/funny 0.1.0 → 0.1.2

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 (159) hide show
  1. package/README.md +231 -214
  2. package/bin/funny.js +80 -80
  3. package/package.json +79 -59
  4. package/packages/client/dist/assets/AddProjectView-yopCTuKC.js +1 -0
  5. package/packages/client/dist/assets/AllThreadsView-vCQJYKkF.js +2 -0
  6. package/packages/client/dist/assets/AnalyticsView-vz1-NSOv.js +36 -0
  7. package/packages/client/dist/assets/App-BEFplUGa.js +2 -0
  8. package/packages/client/dist/assets/AutomationInboxView-Dj7f9gOu.js +1 -0
  9. package/packages/client/dist/assets/CircuitBreakerDialog-C76CZi4q.js +1 -0
  10. package/packages/client/dist/assets/CommandPalette-7Y8qqH7R.js +1 -0
  11. package/packages/client/dist/assets/LiveColumnsView-CSRiYBNg.js +1 -0
  12. package/packages/client/dist/assets/LoginPage-C61IUXzX.js +1 -0
  13. package/packages/client/dist/assets/MobilePage-B4kbWfE1.js +1 -0
  14. package/packages/client/dist/assets/MonacoEditorDialog-PPXTSIdX.js +1 -0
  15. package/packages/client/dist/assets/PreviewBrowser-Bo2zmDPh.js +2 -0
  16. package/packages/client/dist/assets/PromptInput-Cq_fXmwj.js +1 -0
  17. package/packages/client/dist/assets/ReviewPane-1r1cuH2I.js +10 -0
  18. package/packages/client/dist/assets/SettingsDetailView-D-J9TfZx.js +1 -0
  19. package/packages/client/dist/assets/SetupWizard-BbLWm6BX.js +1 -0
  20. package/packages/client/dist/assets/Sidebar-3Jd5JyAp.js +1 -0
  21. package/packages/client/dist/assets/SlideUpPrompt-_ulHi9sN.js +1 -0
  22. package/packages/client/dist/assets/TerminalPanel-BiLDlQZQ.js +4 -0
  23. package/packages/client/dist/assets/ThreadListView-DthHUodE.js +1 -0
  24. package/packages/client/dist/assets/ThreadView-DsqoxCXZ.js +16 -0
  25. package/packages/client/dist/assets/ToolCallGroup-BgROpRwn.js +22 -0
  26. package/packages/client/dist/assets/_basePickBy-BeHeP2rS.js +1 -0
  27. package/packages/client/dist/assets/_baseUniq-CZf5jOXa.js +1 -0
  28. package/packages/client/dist/assets/ansi_to_html-DYje8R53.js +3 -0
  29. package/packages/client/dist/assets/app-store-B3iAaYzj.js +1 -0
  30. package/packages/client/dist/assets/architectureDiagram-VXUJARFQ-CysgSV_T.js +36 -0
  31. package/packages/client/dist/assets/arrow-down-DQYiOM3D.js +1 -0
  32. package/packages/client/dist/assets/arrow-right-Bbusk4uX.js +1 -0
  33. package/packages/client/dist/assets/automation-store-DiFgwQi4.js +1 -0
  34. package/packages/client/dist/assets/badge-CrCqde50.js +1 -0
  35. package/packages/client/dist/assets/blockDiagram-VD42YOAC-DU32EjW8.js +122 -0
  36. package/packages/client/dist/assets/breadcrumb-BiY69_Mg.js +1 -0
  37. package/packages/client/dist/assets/button-D8qrc3hb.js +1 -0
  38. package/packages/client/dist/assets/c4Diagram-YG6GDRKO-D31N17G_.js +10 -0
  39. package/packages/client/dist/assets/check-Dj_ZR5Y7.js +1 -0
  40. package/packages/client/dist/assets/chevron-down-BJhJsMnL.js +1 -0
  41. package/packages/client/dist/assets/chevron-left-BVsM9RGq.js +1 -0
  42. package/packages/client/dist/assets/chevron-right-PEOnBrxM.js +1 -0
  43. package/packages/client/dist/assets/chevrons-up-down-Sa8XJRBx.js +1 -0
  44. package/packages/client/dist/assets/chunk-4BX2VUAB-CSqlINSL.js +1 -0
  45. package/packages/client/dist/assets/chunk-55IACEB6-D5_ai8AA.js +1 -0
  46. package/packages/client/dist/assets/chunk-B4BG7PRW-DKOAlNfo.js +165 -0
  47. package/packages/client/dist/assets/chunk-DI55MBZ5-BNwqKgG-.js +220 -0
  48. package/packages/client/dist/assets/chunk-FMBD7UC4-MKWtG46g.js +15 -0
  49. package/packages/client/dist/assets/chunk-QN33PNHL-BWGv-iLk.js +1 -0
  50. package/packages/client/dist/assets/chunk-QZHKN3VN-Brx07f_u.js +1 -0
  51. package/packages/client/dist/assets/chunk-TZMSLE5B-Cgz2v9ud.js +1 -0
  52. package/packages/client/dist/assets/circle-x-BNvrcCvx.js +1 -0
  53. package/packages/client/dist/assets/classDiagram-2ON5EDUG-Bi8VPWgp.js +1 -0
  54. package/packages/client/dist/assets/classDiagram-v2-WZHVMYZB-Bi8VPWgp.js +1 -0
  55. package/packages/client/dist/assets/clipboard-list-zkC7qTDO.js +1 -0
  56. package/packages/client/dist/assets/clone-CzE9L7Ig.js +1 -0
  57. package/packages/client/dist/assets/collapsible-DP3s_8s3.js +1 -0
  58. package/packages/client/dist/assets/columns-3-DhvlrNjA.js +1 -0
  59. package/packages/client/dist/assets/command-DOlrnbnh.js +1 -0
  60. package/packages/client/dist/assets/copy-DXKK6zMx.js +1 -0
  61. package/packages/client/dist/assets/cose-bilkent-S5V4N54A-DabFXskf.js +1 -0
  62. package/packages/client/dist/assets/createLucideIcon-CsWFljth.js +1 -0
  63. package/packages/client/dist/assets/cytoscape.esm-5J0xJHOV.js +321 -0
  64. package/packages/client/dist/assets/dagre-6UL2VRFP-BgQrFrWh.js +4 -0
  65. package/packages/client/dist/assets/diagram-PSM6KHXK-B0rQdwLC.js +24 -0
  66. package/packages/client/dist/assets/diagram-QEK2KX5R-aX13lt6A.js +43 -0
  67. package/packages/client/dist/assets/diagram-S2PKOQOG-cgHvdjCm.js +24 -0
  68. package/packages/client/dist/assets/dialog-DapeOKPE.js +1 -0
  69. package/packages/client/dist/assets/draft-store-DnVbStYY.js +1 -0
  70. package/packages/client/dist/assets/dropdown-menu-Bi54WPTK.js +1 -0
  71. package/packages/client/dist/assets/editor-utils-DgK9pIvP.js +2 -0
  72. package/packages/client/dist/assets/erDiagram-Q2GNP2WA-DwocRLhB.js +60 -0
  73. package/packages/client/dist/assets/external-link-Dg0Hq511.js +1 -0
  74. package/packages/client/dist/assets/eye-BAXsQYWt.js +1 -0
  75. package/packages/client/dist/assets/eye-off-ICXVwkI1.js +1 -0
  76. package/packages/client/dist/assets/flowDiagram-NV44I4VS-C0ldc02M.js +162 -0
  77. package/packages/client/dist/assets/folder-d8RRIu-j.js +1 -0
  78. package/packages/client/dist/assets/folder-open-BbwqJxUi.js +1 -0
  79. package/packages/client/dist/assets/ganttDiagram-JELNMOA3-DxdfUar4.js +267 -0
  80. package/packages/client/dist/assets/git-merge-CB0ebeXg.js +1 -0
  81. package/packages/client/dist/assets/gitGraphDiagram-V2S2FVAM-uM_Ec7JF.js +65 -0
  82. package/packages/client/dist/assets/github-DiENtmNz.js +1 -0
  83. package/packages/client/dist/assets/globe-B1hiCqlb.js +1 -0
  84. package/packages/client/dist/assets/graph-Qo1vygVG.js +1 -0
  85. package/packages/client/dist/assets/history-D7cvrs7x.js +1 -0
  86. package/packages/client/dist/assets/inbox-4g-W9WtW.js +1 -0
  87. package/packages/client/dist/assets/index-BplxL2Qj.js +1 -0
  88. package/packages/client/dist/assets/index-DmIp58b6.js +1 -0
  89. package/packages/client/dist/assets/index-Z_QI94Zg.js +18 -0
  90. package/packages/client/dist/assets/{index-B0nLATLY.js → index-cSW024sc.js} +1 -1
  91. package/packages/client/dist/assets/index-zxpgGDAW.css +1 -0
  92. package/packages/client/dist/assets/infoDiagram-HS3SLOUP-C-koF35b.js +2 -0
  93. package/packages/client/dist/assets/input-Dyxe5hqI.js +1 -0
  94. package/packages/client/dist/assets/internal-editor-store-CuhCMFlj.js +1 -0
  95. package/packages/client/dist/assets/journeyDiagram-XKPGCS4Q-DRqupubT.js +139 -0
  96. package/packages/client/dist/assets/kanban-definition-3W4ZIXB7-BvWguxdE.js +89 -0
  97. package/packages/client/dist/assets/katex-DhXJpUyf.js +261 -0
  98. package/packages/client/dist/assets/layout-UD4laNpY.js +1 -0
  99. package/packages/client/dist/assets/markdown-9_JKOUHQ.js +29 -0
  100. package/packages/client/dist/assets/maximize-2-DW-IsQiI.js +1 -0
  101. package/packages/client/dist/assets/mermaid-C0IQv4mH.js +250 -0
  102. package/packages/client/dist/assets/mindmap-definition-VGOIOE7T-C0fzBd6g.js +68 -0
  103. package/packages/client/dist/assets/minimize-2-CWn5BNKr.js +1 -0
  104. package/packages/client/dist/assets/monaco-CvC2RZDL.js +11 -0
  105. package/packages/client/dist/assets/{motion-DRu4QWVj.js → motion-Cyp39Uo1.js} +1 -1
  106. package/packages/client/dist/assets/pencil-pMey300q.js +1 -0
  107. package/packages/client/dist/assets/pieDiagram-ADFJNKIX-CUBE4hL3.js +30 -0
  108. package/packages/client/dist/assets/pin-off-DpiyTpTd.js +1 -0
  109. package/packages/client/dist/assets/pin-uzq68OVB.js +1 -0
  110. package/packages/client/dist/assets/plus-ChfperZy.js +1 -0
  111. package/packages/client/dist/assets/popover-CRZjc4jI.js +1 -0
  112. package/packages/client/dist/assets/project-chip-CkL3EaeE.js +5 -0
  113. package/packages/client/dist/assets/providers-Bv7fzJNY.js +1 -0
  114. package/packages/client/dist/assets/quadrantDiagram-AYHSOK5B-DF7I9OHz.js +7 -0
  115. package/packages/client/dist/assets/refresh-cw-Svvcff2v.js +1 -0
  116. package/packages/client/dist/assets/requirementDiagram-UZGBJVZJ-BBI4q-3_.js +64 -0
  117. package/packages/client/dist/assets/review-pane-store-CrK1Czq6.js +1 -0
  118. package/packages/client/dist/assets/rotate-ccw-DFiWNcpH.js +1 -0
  119. package/packages/client/dist/assets/sankeyDiagram-TZEHDZUN-lqpKxyZi.js +10 -0
  120. package/packages/client/dist/assets/scroll-area-Bj4yTRJP.js +1 -0
  121. package/packages/client/dist/assets/search-JGV9EPmW.js +1 -0
  122. package/packages/client/dist/assets/select-CkTnmILP.js +1 -0
  123. package/packages/client/dist/assets/sequenceDiagram-WL72ISMW-DHImpRwJ.js +145 -0
  124. package/packages/client/dist/assets/shallow-B0DA4RsP.js +1 -0
  125. package/packages/client/dist/assets/square-BqmNpRIH.js +1 -0
  126. package/packages/client/dist/assets/stateDiagram-FKZM4ZOC-C7L7Pt_V.js +1 -0
  127. package/packages/client/dist/assets/stateDiagram-v2-4FDKWEC3-FyYG2QfD.js +1 -0
  128. package/packages/client/dist/assets/{syntax-qKqB8BhQ.js → syntax-CG1UoaFw.js} +17 -17
  129. package/packages/client/dist/assets/terminal-CuAYwdh-.js +1 -0
  130. package/packages/client/dist/assets/timeline-definition-IT6M3QCI-BGABo1HM.js +61 -0
  131. package/packages/client/dist/assets/trash-2-QvY6JeI_.js +1 -0
  132. package/packages/client/dist/assets/treemap-GDKQZRPO-DZ7i2Nwu.js +160 -0
  133. package/packages/client/dist/assets/upload-DXXUmYu2.js +1 -0
  134. package/packages/client/dist/assets/use-minute-tick-BoS3Ec2H.js +1 -0
  135. package/packages/client/dist/assets/use-ws-BIe6kKa2.js +48 -0
  136. package/packages/client/dist/assets/utils-VDOOGGvU.js +2 -0
  137. package/packages/client/dist/assets/x-AprddF_b.js +1 -0
  138. package/packages/client/dist/assets/xychartDiagram-PRI3JC2R-D_bazwNo.js +7 -0
  139. package/packages/client/dist/index.html +9 -13
  140. package/packages/server/dist/index.js +117479 -69360
  141. package/packages/server/dist/index.js.map +682 -138
  142. package/packages/server/dist/pty-helper.mjs +115 -115
  143. package/packages/client/dist/assets/AddProjectView-CODm54MP.js +0 -1
  144. package/packages/client/dist/assets/AllThreadsView--Dd7YSK5.js +0 -1
  145. package/packages/client/dist/assets/AnalyticsView-eRhWGG3y.js +0 -36
  146. package/packages/client/dist/assets/AutomationInboxView-DwBaGJed.js +0 -1
  147. package/packages/client/dist/assets/CircuitBreakerDialog-C2iBwp5W.js +0 -1
  148. package/packages/client/dist/assets/CommandPalette-BXweSrdO.js +0 -1
  149. package/packages/client/dist/assets/ReviewPane-DxtlJNNu.js +0 -10
  150. package/packages/client/dist/assets/SettingsDetailView-BKh9OBM2.js +0 -1
  151. package/packages/client/dist/assets/SetupWizard-BekJX-tc.js +0 -1
  152. package/packages/client/dist/assets/TerminalPanel-DC4U0OTm.js +0 -4
  153. package/packages/client/dist/assets/ThreadListView-B6HvQ8NV.js +0 -1
  154. package/packages/client/dist/assets/arrow-right-3Bby9NNK.js +0 -1
  155. package/packages/client/dist/assets/command-B76T8z-A.js +0 -1
  156. package/packages/client/dist/assets/index-BRi6al6L.js +0 -99
  157. package/packages/client/dist/assets/index-DXO1sSe9.css +0 -1
  158. package/packages/client/dist/assets/markdown-B7CXSXYD.js +0 -29
  159. package/packages/client/dist/assets/review-pane-store-BLhxZHRI.js +0 -1
@@ -1,4 +1,4 @@
1
- import{g as gt,j as v,d as K}from"./markdown-B7CXSXYD.js";var ln={exports:{}};var Rn;function mt(){return Rn||(Rn=1,(function(e){(function(){var n={}.hasOwnProperty;function i(){for(var o="",l=0;l<arguments.length;l++){var s=arguments[l];s&&(o=r(o,t(s)))}return o}function t(o){if(typeof o=="string"||typeof o=="number")return o;if(typeof o!="object")return"";if(Array.isArray(o))return i.apply(null,o);if(o.toString!==Object.prototype.toString&&!o.toString.toString().includes("[native code]"))return o.toString();var l="";for(var s in o)n.call(o,s)&&o[s]&&(l=r(l,s));return l}function r(o,l){return l?o?o+" "+l:o+l:o}e.exports?(i.default=i,e.exports=i):window.classNames=i})()})(ln)),ln.exports}var vt=mt();const J=gt(vt);var Dn=Number.isNaN||function(n){return typeof n=="number"&&n!==n};function yt(e,n){return!!(e===n||Dn(e)&&Dn(n))}function xt(e,n){if(e.length!==n.length)return!1;for(var i=0;i<e.length;i++)if(!yt(e[i],n[i]))return!1;return!0}function wt(e,n){n===void 0&&(n=xt);var i=null;function t(){for(var r=[],o=0;o<arguments.length;o++)r[o]=arguments[o];if(i&&i.lastThis===this&&n(r,i.lastArgs))return i.lastResult;var l=e.apply(this,r);return i={lastResult:l,lastArgs:r,lastThis:this},l}return t.clear=function(){i=null},t}function bt(e,n,i){let t=0,r;const o={},l=[];return e.forEach((s,a)=>{const f=n.some(u=>u>=a-i&&u<=a+i);!f&&r===void 0?(r={index:t,startLine:a,endLine:a,lines:1},l.push(r),o[a]=r.index,t++):!f&&r?(r.endLine=a,r.lines++,o[a]=r.index):r=void 0}),{lineBlocks:o,blocks:l}}class re{diff(n,i,t={}){let r;typeof t=="function"?(r=t,t={}):"callback"in t&&(r=t.callback);const o=this.castInput(n,t),l=this.castInput(i,t),s=this.removeEmpty(this.tokenize(o,t)),a=this.removeEmpty(this.tokenize(l,t));return this.diffWithOptionsObj(s,a,t,r)}diffWithOptionsObj(n,i,t,r){var o;const l=m=>{if(m=this.postProcess(m,t),r){setTimeout(function(){r(m)},0);return}else return m},s=i.length,a=n.length;let f=1,u=s+a;t.maxEditLength!=null&&(u=Math.min(u,t.maxEditLength));const c=(o=t.timeout)!==null&&o!==void 0?o:1/0,d=Date.now()+c,h=[{oldPos:-1,lastComponent:void 0}];let p=this.extractCommon(h[0],i,n,0,t);if(h[0].oldPos+1>=a&&p+1>=s)return l(this.buildValues(h[0].lastComponent,i,n));let g=-1/0,y=1/0;const x=()=>{for(let m=Math.max(g,-f);m<=Math.min(y,f);m+=2){let w;const C=h[m-1],b=h[m+1];C&&(h[m-1]=void 0);let S=!1;if(b){const E=b.oldPos-m;S=b&&0<=E&&E<s}const A=C&&C.oldPos+1<a;if(!S&&!A){h[m]=void 0;continue}if(!A||S&&C.oldPos<b.oldPos?w=this.addToPath(b,!0,!1,0,t):w=this.addToPath(C,!1,!0,1,t),p=this.extractCommon(w,i,n,m,t),w.oldPos+1>=a&&p+1>=s)return l(this.buildValues(w.lastComponent,i,n))||!0;h[m]=w,w.oldPos+1>=a&&(y=Math.min(y,m-1)),p+1>=s&&(g=Math.max(g,m+1))}f++};if(r)(function m(){setTimeout(function(){if(f>u||Date.now()>d)return r(void 0);x()||m()},0)})();else for(;f<=u&&Date.now()<=d;){const m=x();if(m)return m}}addToPath(n,i,t,r,o){const l=n.lastComponent;return l&&!o.oneChangePerToken&&l.added===i&&l.removed===t?{oldPos:n.oldPos+r,lastComponent:{count:l.count+1,added:i,removed:t,previousComponent:l.previousComponent}}:{oldPos:n.oldPos+r,lastComponent:{count:1,added:i,removed:t,previousComponent:l}}}extractCommon(n,i,t,r,o){const l=i.length,s=t.length;let a=n.oldPos,f=a-r,u=0;for(;f+1<l&&a+1<s&&this.equals(t[a+1],i[f+1],o);)f++,a++,u++,o.oneChangePerToken&&(n.lastComponent={count:1,previousComponent:n.lastComponent,added:!1,removed:!1});return u&&!o.oneChangePerToken&&(n.lastComponent={count:u,previousComponent:n.lastComponent,added:!1,removed:!1}),n.oldPos=a,f}equals(n,i,t){return t.comparator?t.comparator(n,i):n===i||!!t.ignoreCase&&n.toLowerCase()===i.toLowerCase()}removeEmpty(n){const i=[];for(let t=0;t<n.length;t++)n[t]&&i.push(n[t]);return i}castInput(n,i){return n}tokenize(n,i){return Array.from(n)}join(n){return n.join("")}postProcess(n,i){return n}get useLongestToken(){return!1}buildValues(n,i,t){const r=[];let o;for(;n;)r.push(n),o=n.previousComponent,delete n.previousComponent,n=o;r.reverse();const l=r.length;let s=0,a=0,f=0;for(;s<l;s++){const u=r[s];if(u.removed)u.value=this.join(t.slice(f,f+u.count)),f+=u.count;else{if(!u.added&&this.useLongestToken){let c=i.slice(a,a+u.count);c=c.map(function(d,h){const p=t[f+h];return p.length>d.length?p:d}),u.value=this.join(c)}else u.value=this.join(i.slice(a,a+u.count));a+=u.count,u.added||(f+=u.count)}}return r}}class At extends re{}const di=new At;function Ct(e,n,i){return di.diff(e,n,i)}function _n(e,n){let i;for(i=0;i<e.length&&i<n.length;i++)if(e[i]!=n[i])return e.slice(0,i);return e.slice(0,i)}function Mn(e,n){let i;if(!e||!n||e[e.length-1]!=n[n.length-1])return"";for(i=0;i<e.length&&i<n.length;i++)if(e[e.length-(i+1)]!=n[n.length-(i+1)])return e.slice(-i);return e.slice(-i)}function fn(e,n,i){if(e.slice(0,n.length)!=n)throw Error(`string ${JSON.stringify(e)} doesn't start with prefix ${JSON.stringify(n)}; this is a bug`);return i+e.slice(n.length)}function dn(e,n,i){if(!n)return e+i;if(e.slice(-n.length)!=n)throw Error(`string ${JSON.stringify(e)} doesn't end with suffix ${JSON.stringify(n)}; this is a bug`);return e.slice(0,-n.length)+i}function be(e,n){return fn(e,n,"")}function _e(e,n){return dn(e,n,"")}function Wn(e,n){return n.slice(0,kt(e,n))}function kt(e,n){let i=0;e.length>n.length&&(i=e.length-n.length);let t=n.length;e.length<n.length&&(t=e.length);const r=Array(t);let o=0;r[0]=0;for(let l=1;l<t;l++){for(n[l]==n[o]?r[l]=r[o]:r[l]=o;o>0&&n[l]!=n[o];)o=r[o];n[l]==n[o]&&o++}o=0;for(let l=i;l<e.length;l++){for(;o>0&&e[l]!=n[o];)o=r[o];e[l]==n[o]&&o++}return o}function St(e){return e.includes(`\r
1
+ import{g as gt,j as v,r as K}from"./markdown-9_JKOUHQ.js";var ln={exports:{}};var Rn;function mt(){return Rn||(Rn=1,(function(e){(function(){var n={}.hasOwnProperty;function i(){for(var o="",l=0;l<arguments.length;l++){var s=arguments[l];s&&(o=r(o,t(s)))}return o}function t(o){if(typeof o=="string"||typeof o=="number")return o;if(typeof o!="object")return"";if(Array.isArray(o))return i.apply(null,o);if(o.toString!==Object.prototype.toString&&!o.toString.toString().includes("[native code]"))return o.toString();var l="";for(var s in o)n.call(o,s)&&o[s]&&(l=r(l,s));return l}function r(o,l){return l?o?o+" "+l:o+l:o}e.exports?(i.default=i,e.exports=i):window.classNames=i})()})(ln)),ln.exports}var vt=mt();const J=gt(vt);var Dn=Number.isNaN||function(n){return typeof n=="number"&&n!==n};function yt(e,n){return!!(e===n||Dn(e)&&Dn(n))}function xt(e,n){if(e.length!==n.length)return!1;for(var i=0;i<e.length;i++)if(!yt(e[i],n[i]))return!1;return!0}function wt(e,n){n===void 0&&(n=xt);var i=null;function t(){for(var r=[],o=0;o<arguments.length;o++)r[o]=arguments[o];if(i&&i.lastThis===this&&n(r,i.lastArgs))return i.lastResult;var l=e.apply(this,r);return i={lastResult:l,lastArgs:r,lastThis:this},l}return t.clear=function(){i=null},t}function bt(e,n,i){let t=0,r;const o={},l=[];return e.forEach((s,a)=>{const f=n.some(u=>u>=a-i&&u<=a+i);!f&&r===void 0?(r={index:t,startLine:a,endLine:a,lines:1},l.push(r),o[a]=r.index,t++):!f&&r?(r.endLine=a,r.lines++,o[a]=r.index):r=void 0}),{lineBlocks:o,blocks:l}}class re{diff(n,i,t={}){let r;typeof t=="function"?(r=t,t={}):"callback"in t&&(r=t.callback);const o=this.castInput(n,t),l=this.castInput(i,t),s=this.removeEmpty(this.tokenize(o,t)),a=this.removeEmpty(this.tokenize(l,t));return this.diffWithOptionsObj(s,a,t,r)}diffWithOptionsObj(n,i,t,r){var o;const l=m=>{if(m=this.postProcess(m,t),r){setTimeout(function(){r(m)},0);return}else return m},s=i.length,a=n.length;let f=1,u=s+a;t.maxEditLength!=null&&(u=Math.min(u,t.maxEditLength));const c=(o=t.timeout)!==null&&o!==void 0?o:1/0,d=Date.now()+c,h=[{oldPos:-1,lastComponent:void 0}];let p=this.extractCommon(h[0],i,n,0,t);if(h[0].oldPos+1>=a&&p+1>=s)return l(this.buildValues(h[0].lastComponent,i,n));let g=-1/0,y=1/0;const x=()=>{for(let m=Math.max(g,-f);m<=Math.min(y,f);m+=2){let w;const C=h[m-1],b=h[m+1];C&&(h[m-1]=void 0);let S=!1;if(b){const E=b.oldPos-m;S=b&&0<=E&&E<s}const A=C&&C.oldPos+1<a;if(!S&&!A){h[m]=void 0;continue}if(!A||S&&C.oldPos<b.oldPos?w=this.addToPath(b,!0,!1,0,t):w=this.addToPath(C,!1,!0,1,t),p=this.extractCommon(w,i,n,m,t),w.oldPos+1>=a&&p+1>=s)return l(this.buildValues(w.lastComponent,i,n))||!0;h[m]=w,w.oldPos+1>=a&&(y=Math.min(y,m-1)),p+1>=s&&(g=Math.max(g,m+1))}f++};if(r)(function m(){setTimeout(function(){if(f>u||Date.now()>d)return r(void 0);x()||m()},0)})();else for(;f<=u&&Date.now()<=d;){const m=x();if(m)return m}}addToPath(n,i,t,r,o){const l=n.lastComponent;return l&&!o.oneChangePerToken&&l.added===i&&l.removed===t?{oldPos:n.oldPos+r,lastComponent:{count:l.count+1,added:i,removed:t,previousComponent:l.previousComponent}}:{oldPos:n.oldPos+r,lastComponent:{count:1,added:i,removed:t,previousComponent:l}}}extractCommon(n,i,t,r,o){const l=i.length,s=t.length;let a=n.oldPos,f=a-r,u=0;for(;f+1<l&&a+1<s&&this.equals(t[a+1],i[f+1],o);)f++,a++,u++,o.oneChangePerToken&&(n.lastComponent={count:1,previousComponent:n.lastComponent,added:!1,removed:!1});return u&&!o.oneChangePerToken&&(n.lastComponent={count:u,previousComponent:n.lastComponent,added:!1,removed:!1}),n.oldPos=a,f}equals(n,i,t){return t.comparator?t.comparator(n,i):n===i||!!t.ignoreCase&&n.toLowerCase()===i.toLowerCase()}removeEmpty(n){const i=[];for(let t=0;t<n.length;t++)n[t]&&i.push(n[t]);return i}castInput(n,i){return n}tokenize(n,i){return Array.from(n)}join(n){return n.join("")}postProcess(n,i){return n}get useLongestToken(){return!1}buildValues(n,i,t){const r=[];let o;for(;n;)r.push(n),o=n.previousComponent,delete n.previousComponent,n=o;r.reverse();const l=r.length;let s=0,a=0,f=0;for(;s<l;s++){const u=r[s];if(u.removed)u.value=this.join(t.slice(f,f+u.count)),f+=u.count;else{if(!u.added&&this.useLongestToken){let c=i.slice(a,a+u.count);c=c.map(function(d,h){const p=t[f+h];return p.length>d.length?p:d}),u.value=this.join(c)}else u.value=this.join(i.slice(a,a+u.count));a+=u.count,u.added||(f+=u.count)}}return r}}class At extends re{}const di=new At;function Ct(e,n,i){return di.diff(e,n,i)}function _n(e,n){let i;for(i=0;i<e.length&&i<n.length;i++)if(e[i]!=n[i])return e.slice(0,i);return e.slice(0,i)}function Mn(e,n){let i;if(!e||!n||e[e.length-1]!=n[n.length-1])return"";for(i=0;i<e.length&&i<n.length;i++)if(e[e.length-(i+1)]!=n[n.length-(i+1)])return e.slice(-i);return e.slice(-i)}function fn(e,n,i){if(e.slice(0,n.length)!=n)throw Error(`string ${JSON.stringify(e)} doesn't start with prefix ${JSON.stringify(n)}; this is a bug`);return i+e.slice(n.length)}function dn(e,n,i){if(!n)return e+i;if(e.slice(-n.length)!=n)throw Error(`string ${JSON.stringify(e)} doesn't end with suffix ${JSON.stringify(n)}; this is a bug`);return e.slice(0,-n.length)+i}function be(e,n){return fn(e,n,"")}function _e(e,n){return dn(e,n,"")}function Wn(e,n){return n.slice(0,kt(e,n))}function kt(e,n){let i=0;e.length>n.length&&(i=e.length-n.length);let t=n.length;e.length<n.length&&(t=e.length);const r=Array(t);let o=0;r[0]=0;for(let l=1;l<t;l++){for(n[l]==n[o]?r[l]=r[o]:r[l]=o;o>0&&n[l]!=n[o];)o=r[o];n[l]==n[o]&&o++}o=0;for(let l=i;l<e.length;l++){for(;o>0&&e[l]!=n[o];)o=r[o];e[l]==n[o]&&o++}return o}function St(e){return e.includes(`\r
2
2
  `)&&!e.startsWith(`
3
3
  `)&&!e.match(/[^\r]\n/)}function Et(e){return!e.includes(`\r
4
4
  `)&&e.includes(`
@@ -0,0 +1 @@
1
+ @font-face{font-family:Geist Sans;font-style:normal;font-display:swap;font-weight:100;src:url(/assets/geist-sans-latin-100-normal-CdXtokqn.woff2) format("woff2"),url(/assets/geist-sans-latin-100-normal-CafeGBe6.woff) format("woff")}@font-face{font-family:Geist Sans;font-style:normal;font-display:swap;font-weight:200;src:url(/assets/geist-sans-latin-200-normal-C4oXjfQB.woff2) format("woff2"),url(/assets/geist-sans-latin-200-normal-CEPp-wnL.woff) format("woff")}@font-face{font-family:Geist Sans;font-style:normal;font-display:swap;font-weight:300;src:url(/assets/geist-sans-latin-300-normal-C3kkMBb6.woff2) format("woff2"),url(/assets/geist-sans-latin-300-normal-plFOEHCX.woff) format("woff")}@font-face{font-family:Geist Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/geist-sans-latin-400-normal-gapTbOY8.woff2) format("woff2"),url(/assets/geist-sans-latin-400-normal-BOaIZNA2.woff) format("woff")}@font-face{font-family:Geist Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/geist-sans-latin-500-normal-uokXdC-Q.woff2) format("woff2"),url(/assets/geist-sans-latin-500-normal-CN2lyvyL.woff) format("woff")}@font-face{font-family:Geist Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/geist-sans-latin-600-normal-DFOURf8L.woff2) format("woff2"),url(/assets/geist-sans-latin-600-normal-CA1yjETN.woff) format("woff")}@font-face{font-family:Geist Sans;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/geist-sans-latin-700-normal-BmN9tIp5.woff2) format("woff2"),url(/assets/geist-sans-latin-700-normal-CjScfYeH.woff) format("woff")}@font-face{font-family:Geist Sans;font-style:normal;font-display:swap;font-weight:800;src:url(/assets/geist-sans-latin-800-normal-EH2RlpXL.woff2) format("woff2"),url(/assets/geist-sans-latin-800-normal-XNjooQKs.woff) format("woff")}@font-face{font-family:Geist Sans;font-style:normal;font-display:swap;font-weight:900;src:url(/assets/geist-sans-latin-900-normal-yM37RqPD.woff2) format("woff2"),url(/assets/geist-sans-latin-900-normal-Bo3O536z.woff) format("woff")}@font-face{font-family:Geist Mono;font-style:normal;font-display:swap;font-weight:100;src:url(/assets/geist-mono-latin-100-normal-pdI6W8EE.woff2) format("woff2"),url(/assets/geist-mono-latin-100-normal-D3Rid1kg.woff) format("woff")}@font-face{font-family:Geist Mono;font-style:normal;font-display:swap;font-weight:200;src:url(/assets/geist-mono-latin-200-normal-DrTlUhvP.woff2) format("woff2"),url(/assets/geist-mono-latin-200-normal-D9Q7ibyz.woff) format("woff")}@font-face{font-family:Geist Mono;font-style:normal;font-display:swap;font-weight:300;src:url(/assets/geist-mono-latin-300-normal-DofeytYw.woff2) format("woff2"),url(/assets/geist-mono-latin-300-normal-63tOSYu7.woff) format("woff")}@font-face{font-family:Geist Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/geist-mono-latin-400-normal-LC9RFr9I.woff2) format("woff2"),url(/assets/geist-mono-latin-400-normal-CoULgQGM.woff) format("woff")}@font-face{font-family:Geist Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/geist-mono-latin-500-normal-D3o2eNa9.woff2) format("woff2"),url(/assets/geist-mono-latin-500-normal-DOxI7kZ4.woff) format("woff")}@font-face{font-family:Geist Mono;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/geist-mono-latin-600-normal-DQQBcVN0.woff2) format("woff2"),url(/assets/geist-mono-latin-600-normal-DsVeri3b.woff) format("woff")}@font-face{font-family:Geist Mono;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/geist-mono-latin-700-normal-D6izGJRP.woff2) format("woff2"),url(/assets/geist-mono-latin-700-normal-QGw08Lff.woff) format("woff")}@font-face{font-family:Geist Mono;font-style:normal;font-display:swap;font-weight:800;src:url(/assets/geist-mono-latin-800-normal-yoa1kcZw.woff2) format("woff2"),url(/assets/geist-mono-latin-800-normal-DvMqam8Z.woff) format("woff")}@font-face{font-family:Geist Mono;font-style:normal;font-display:swap;font-weight:900;src:url(/assets/geist-mono-latin-900-normal-Cu5MFKsu.woff2) format("woff2"),url(/assets/geist-mono-latin-900-normal-CmoKXrdK.woff) format("woff")}*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:Geist Sans,sans-serif;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:Geist Mono,ui-monospace,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}:root{--background: 0 0% 100%;--foreground: 240 10% 3.9%;--card: 0 0% 100%;--card-foreground: 240 10% 3.9%;--popover: 0 0% 100%;--popover-foreground: 240 10% 3.9%;--primary: 240 5.9% 10%;--primary-foreground: 0 0% 98%;--secondary: 240 4.8% 95.9%;--secondary-foreground: 240 5.9% 10%;--muted: 240 4.8% 95.9%;--muted-foreground: 240 3.8% 46.1%;--accent: 240 4.8% 95.9%;--accent-foreground: 240 5.9% 10%;--destructive: 0 84.2% 60.2%;--destructive-foreground: 0 0% 98%;--border: 240 5.9% 90%;--input: 240 6% 93%;--ring: 240 5.9% 10%;--radius: .5rem;--sidebar-background: 0 0% 98%;--sidebar-foreground: 240 5.3% 26.1%;--sidebar-primary: 240 5.9% 10%;--sidebar-primary-foreground: 0 0% 98%;--sidebar-accent: 240 4.8% 95.9%;--sidebar-accent-foreground: 240 5.9% 10%;--sidebar-border: 220 13% 91%;--sidebar-ring: 217.2 91.2% 59.8%;--status-success: 142 69% 58%;--status-error: 0 84% 60%;--status-warning: 38 92% 50%;--status-info: 217 91% 60%;--status-pending: 48 96% 53%;--status-interrupted: 25 95% 53%;--status-neutral: 220 9% 46%;--status-violet: 263 70% 50%;--diff-added: 142 76% 36%;--diff-removed: 0 84% 60%}.dark{--background: 0 0% 12.2%;--foreground: 0 0% 98%;--card: 240 5.9% 5.5%;--card-foreground: 0 0% 98%;--popover: 240 5.9% 5.5%;--popover-foreground: 0 0% 98%;--primary: 0 0% 98%;--primary-foreground: 240 5.9% 10%;--secondary: 240 3.7% 15.9%;--secondary-foreground: 0 0% 98%;--muted: 240 3.7% 15.9%;--muted-foreground: 240 5% 64.9%;--accent: 240 3.7% 15.9%;--accent-foreground: 0 0% 98%;--destructive: 0 62.8% 30.6%;--destructive-foreground: 0 0% 98%;--border: 240 3.7% 15.9%;--input: 240 4% 20%;--ring: 240 4.9% 83.9%;--radius: .5rem;--sidebar-background: 0 0% 9.4%;--sidebar-foreground: 240 4.8% 95.9%;--sidebar-primary: 224.3 76.3% 48%;--sidebar-primary-foreground: 0 0% 100%;--sidebar-accent: 240 3.7% 15.9%;--sidebar-accent-foreground: 240 4.8% 95.9%;--sidebar-border: 240 3.7% 15.9%;--sidebar-ring: 217.2 91.2% 59.8%;--status-success: 142 69% 58%;--status-error: 0 84% 60%;--status-warning: 38 92% 50%;--status-info: 217 91% 60%;--status-pending: 48 96% 53%;--status-interrupted: 25 95% 53%;--status-neutral: 220 9% 46%;--status-violet: 263 70% 50%;--diff-added: 142 76% 36%;--diff-removed: 0 84% 60%}.theme-one-dark{--background: 220 13% 18%;--foreground: 219 13.5% 71%;--card: 220 9.4% 12.5%;--card-foreground: 220 12.7% 86.1%;--popover: 220 9.4% 12.5%;--popover-foreground: 220 12.7% 86.1%;--primary: 219 13.5% 29%;--primary-foreground: 220 12.7% 86.1%;--secondary: 218.6 13.7% 20%;--secondary-foreground: 219 13.5% 71%;--muted: 218.6 13.7% 20%;--muted-foreground: 219 9.8% 40%;--accent: 218.6 13.7% 20%;--accent-foreground: 220 12.7% 86.1%;--destructive: 3.5 55.2% 49%;--destructive-foreground: 0 0% 98%;--border: 222 13.9% 28.2%;--input: 220 10% 24%;--ring: 220.2 100% 66.1%;--radius: .5rem;--sidebar-background: 216 13.2% 14.9%;--sidebar-foreground: 219 13.5% 71%;--sidebar-primary: 220.2 100% 66.1%;--sidebar-primary-foreground: 0 0% 100%;--sidebar-accent: 218.6 13.7% 20%;--sidebar-accent-foreground: 220 12.7% 86.1%;--sidebar-border: 222 13.9% 28.2%;--sidebar-ring: 220.2 100% 66.1%;--status-success: 142 69% 58%;--status-error: 3.5 55.2% 49%;--status-warning: 38 92% 50%;--status-info: 220.2 100% 66.1%;--status-pending: 48 96% 53%;--status-interrupted: 25 95% 53%;--status-neutral: 219 9.8% 40%;--status-violet: 263 70% 50%;--diff-added: 142 76% 36%;--diff-removed: 0 84% 60%}.theme-dracula{--background: 231.4 14.9% 18.4%;--foreground: 60 30% 96.1%;--card: 232.5 13.8% 11.4%;--card-foreground: 60 30% 96.1%;--popover: 232.5 13.8% 11.4%;--popover-foreground: 60 30% 96.1%;--primary: 325.5 100% 73.7%;--primary-foreground: 231.4 14.9% 18.4%;--secondary: 231.8 13.9% 31%;--secondary-foreground: 60 30% 96.1%;--muted: 231.8 13.9% 31%;--muted-foreground: 225.5 26.6% 51.4%;--accent: 231.8 13.9% 31%;--accent-foreground: 60 30% 96.1%;--destructive: 0 100% 66.7%;--destructive-foreground: 0 0% 98%;--border: 232.5 13.8% 11.4%;--input: 231.4 15% 26%;--ring: 264.7 89.5% 77.6%;--radius: .5rem;--sidebar-background: 234.5 14.3% 15.1%;--sidebar-foreground: 60 30% 96.1%;--sidebar-primary: 264.7 89.5% 77.6%;--sidebar-primary-foreground: 0 0% 100%;--sidebar-accent: 231.8 13.9% 31%;--sidebar-accent-foreground: 60 30% 96.1%;--sidebar-border: 232.5 13.8% 11.4%;--sidebar-ring: 264.7 89.5% 77.6%;--status-success: 135 94.4% 65.1%;--status-error: 0 100% 66.7%;--status-warning: 64.8 91.6% 76.1%;--status-info: 190.6 96.8% 79.6%;--status-pending: 31.1 100% 71.4%;--status-interrupted: 31.1 100% 71.4%;--status-neutral: 225.5 26.6% 51.4%;--status-violet: 264.7 89.5% 77.6%;--diff-added: 142 76% 36%;--diff-removed: 0 84% 60%}.theme-github-dark{--background: 216 27.8% 7.1%;--foreground: 207.7 35.1% 92.7%;--card: 215 15.4% 15.3%;--card-foreground: 207.7 35.1% 92.7%;--popover: 215 15.4% 15.3%;--popover-foreground: 207.7 35.1% 92.7%;--primary: 131.5 58.6% 33.1%;--primary-foreground: 0 0% 100%;--secondary: 215 21.4% 11%;--secondary-foreground: 207.7 35.1% 92.7%;--muted: 215 21.4% 11%;--muted-foreground: 214.7 7.9% 52.7%;--accent: 215 21.4% 11%;--accent-foreground: 207.7 35.1% 92.7%;--destructive: 2.7 92.6% 62.9%;--destructive-foreground: 0 0% 98%;--border: 212.3 11.9% 21.4%;--input: 215 21% 16%;--ring: 215.4 92.6% 57.6%;--radius: .5rem;--sidebar-background: 217.5 80% 2%;--sidebar-foreground: 207.7 35.1% 92.7%;--sidebar-primary: 215.4 92.6% 57.6%;--sidebar-primary-foreground: 0 0% 100%;--sidebar-accent: 215 21.4% 11%;--sidebar-accent-foreground: 207.7 35.1% 92.7%;--sidebar-border: 212.3 11.9% 21.4%;--sidebar-ring: 215.4 92.6% 57.6%;--status-success: 142 69% 58%;--status-error: 2.7 92.6% 62.9%;--status-warning: 38 92% 50%;--status-info: 215.4 92.6% 57.6%;--status-pending: 48 96% 53%;--status-interrupted: 25 95% 53%;--status-neutral: 214.7 7.9% 52.7%;--status-violet: 263 70% 50%;--diff-added: 142 76% 36%;--diff-removed: 0 84% 60%}.theme-night-owl{--background: 206.8 95% 7.8%;--foreground: 217.1 34.4% 88%;--card: 205.7 93.3% 5.9%;--card-foreground: 217.1 34.4% 88%;--popover: 205.7 93.3% 5.9%;--popover-foreground: 217.1 34.4% 88%;--primary: 261.9 46.7% 55.1%;--primary-foreground: 0 0% 100%;--secondary: 206.7 48.2% 22%;--secondary-foreground: 217.1 34.4% 88%;--muted: 206.7 48.2% 22%;--muted-foreground: 206.8 22.8% 48.2%;--accent: 206.7 48.2% 22%;--accent-foreground: 217.1 34.4% 88%;--destructive: 1.1 83.2% 62.5%;--destructive-foreground: 0 0% 98%;--border: 206.3 57.1% 16.5%;--input: 206.8 50% 18%;--ring: 261.9 46.7% 55.1%;--radius: .5rem;--sidebar-background: 205.7 93.3% 5.9%;--sidebar-foreground: 217.1 34.4% 88%;--sidebar-primary: 261.9 46.7% 55.1%;--sidebar-primary-foreground: 0 0% 100%;--sidebar-accent: 206.7 48.2% 22%;--sidebar-accent-foreground: 217.1 34.4% 88%;--sidebar-border: 206.3 57.1% 16.5%;--sidebar-ring: 261.9 46.7% 55.1%;--status-success: 142 69% 58%;--status-error: 1.1 83.2% 62.5%;--status-warning: 38 92% 50%;--status-info: 261.9 46.7% 55.1%;--status-pending: 48 96% 53%;--status-interrupted: 25 95% 53%;--status-neutral: 206.8 22.8% 48.2%;--status-violet: 261.9 46.7% 55.1%;--diff-added: 142 76% 36%;--diff-removed: 0 84% 60%}.theme-monochrome{--background: 0 0% 100%;--foreground: 0 0% 0%;--card: 0 0% 100%;--card-foreground: 0 0% 0%;--popover: 0 0% 100%;--popover-foreground: 0 0% 0%;--primary: 0 0% 0%;--primary-foreground: 0 0% 100%;--secondary: 0 0% 94%;--secondary-foreground: 0 0% 0%;--muted: 0 0% 94%;--muted-foreground: 0 0% 40%;--accent: 0 0% 94%;--accent-foreground: 0 0% 0%;--destructive: 0 0% 0%;--destructive-foreground: 0 0% 100%;--border: 0 0% 82%;--input: 0 0% 82%;--ring: 0 0% 0%;--radius: .5rem;--sidebar-background: 0 0% 97%;--sidebar-foreground: 0 0% 15%;--sidebar-primary: 0 0% 0%;--sidebar-primary-foreground: 0 0% 100%;--sidebar-accent: 0 0% 92%;--sidebar-accent-foreground: 0 0% 0%;--sidebar-border: 0 0% 85%;--sidebar-ring: 0 0% 0%;--status-success: 0 0% 30%;--status-error: 0 0% 0%;--status-warning: 0 0% 45%;--status-info: 0 0% 50%;--status-pending: 0 0% 55%;--status-interrupted: 0 0% 35%;--status-neutral: 0 0% 60%;--status-violet: 0 0% 40%;--diff-added: 142 76% 36%;--diff-removed: 0 84% 60%}.theme-monochrome-dark{--background: 0 0% 7%;--foreground: 0 0% 93%;--card: 0 0% 5%;--card-foreground: 0 0% 93%;--popover: 0 0% 5%;--popover-foreground: 0 0% 93%;--primary: 0 0% 93%;--primary-foreground: 0 0% 7%;--secondary: 0 0% 14%;--secondary-foreground: 0 0% 93%;--muted: 0 0% 14%;--muted-foreground: 0 0% 55%;--accent: 0 0% 14%;--accent-foreground: 0 0% 93%;--destructive: 0 0% 93%;--destructive-foreground: 0 0% 7%;--border: 0 0% 20%;--input: 0 0% 20%;--ring: 0 0% 93%;--radius: .5rem;--sidebar-background: 0 0% 5%;--sidebar-foreground: 0 0% 85%;--sidebar-primary: 0 0% 93%;--sidebar-primary-foreground: 0 0% 7%;--sidebar-accent: 0 0% 12%;--sidebar-accent-foreground: 0 0% 93%;--sidebar-border: 0 0% 18%;--sidebar-ring: 0 0% 93%;--status-success: 0 0% 70%;--status-error: 0 0% 93%;--status-warning: 0 0% 60%;--status-info: 0 0% 55%;--status-pending: 0 0% 50%;--status-interrupted: 0 0% 65%;--status-neutral: 0 0% 45%;--status-violet: 0 0% 60%;--diff-added: 142 76% 36%;--diff-removed: 0 84% 60%}.theme-catppuccin{--background: 240 21.1% 14.9%;--foreground: 226.2 63.9% 88%;--card: 240 22.7% 8.6%;--card-foreground: 226.2 63.9% 88%;--popover: 240 22.7% 8.6%;--popover-foreground: 226.2 63.9% 88%;--primary: 217.2 91.9% 75.9%;--primary-foreground: 240 22.7% 8.6%;--secondary: 236.8 16.2% 22.9%;--secondary-foreground: 226.2 63.9% 88%;--muted: 236.8 16.2% 22.9%;--muted-foreground: 227.6 23.6% 71.8%;--accent: 236.8 16.2% 22.9%;--accent-foreground: 226.2 63.9% 88%;--destructive: 343.3 81.2% 74.9%;--destructive-foreground: 240 22.7% 8.6%;--border: 234.3 13.2% 31.2%;--input: 237 16% 28%;--ring: 217.2 91.9% 75.9%;--radius: .5rem;--sidebar-background: 240 21.3% 12%;--sidebar-foreground: 226.2 63.9% 88%;--sidebar-primary: 217.2 91.9% 75.9%;--sidebar-primary-foreground: 240 22.7% 8.6%;--sidebar-accent: 236.8 16.2% 22.9%;--sidebar-accent-foreground: 226.2 63.9% 88%;--sidebar-border: 234.3 13.2% 31.2%;--sidebar-ring: 217.2 91.9% 75.9%;--status-success: 115 54.1% 76.1%;--status-error: 343.3 81.2% 74.9%;--status-warning: 40 62.1% 82%;--status-info: 217.2 91.9% 75.9%;--status-pending: 40 62.1% 82%;--status-interrupted: 21.2 85.5% 72.5%;--status-neutral: 227.6 23.6% 71.8%;--status-violet: 267.4 83.5% 80%;--diff-added: 142 76% 36%;--diff-removed: 0 84% 60%}*{border-color:hsl(var(--border))}body{font-family:Geist Sans,Geist Sans Fallback,sans-serif;background-color:hsl(var(--background));color:hsl(var(--foreground))}*{scrollbar-width:thin;scrollbar-color:hsl(var(--muted-foreground) / .25) transparent}*::-webkit-scrollbar{width:6px;height:6px}*::-webkit-scrollbar-track{background:transparent}*::-webkit-scrollbar-thumb{background-color:hsl(var(--muted-foreground) / .25);border-radius:3px}*::-webkit-scrollbar-thumb:hover{background-color:hsl(var(--muted-foreground) / .4)}*::-webkit-scrollbar-corner{background:transparent}pre{word-wrap:break-word;overflow-wrap:break-word}.prose h1,.prose h2,.prose h3,.prose h4{font-weight:600;margin-top:.75em;margin-bottom:.25em}.prose h1{font-size:1.15em}.prose h2{font-size:1.05em}.prose h3{font-size:1em}.prose p{margin:.35em 0}.prose ul,.prose ol{padding-left:1.25em;margin:.35em 0}.prose ul{list-style-type:disc}.prose ol{list-style-type:decimal}.prose li{margin:.15em 0}.prose strong{font-weight:600}.prose a{text-decoration:underline}.prose pre{margin:.5em 0}.prose code{font-family:ui-monospace,monospace}.prose table{width:100%;border-collapse:separate;border-spacing:0;margin:.5em 0;font-size:.85em;border:1px solid hsl(var(--muted-foreground) / .2);border-radius:.375rem;overflow:hidden}.prose th,.prose td{border-bottom:1px solid hsl(var(--muted-foreground) / .2);border-right:1px solid hsl(var(--muted-foreground) / .2);padding:.4em .75em;text-align:left}.prose th:last-child,.prose td:last-child{border-right:none}.prose tr:last-child td{border-bottom:none}.prose th{font-weight:600;background-color:hsl(var(--muted))}.prose tr:nth-child(2n){background-color:hsl(var(--muted) / .3)}.prose>*:first-child{margin-top:0}.prose>*:last-child{margin-bottom:0}[data-sonner-toaster]{--toast-close-button-start: unset;--toast-close-button-end: 0;--toast-close-button-transform: translate(0, 0)}[data-sonner-toast][data-styled=true] [data-close-button]{top:50%;right:8px;transform:translateY(-50%);border:none;background:transparent;color:inherit;opacity:.5;height:24px;width:24px}[data-sonner-toast][data-styled=true]:hover [data-close-button]:hover{opacity:1;background:transparent;border:none}[data-sonner-toast][data-styled=true]{padding-right:36px}.xterm{padding:4px}.container{width:100%}@media(min-width:640px){.container{max-width:640px}}@media(min-width:768px){.container{max-width:768px}}@media(min-width:1024px){.container{max-width:1024px}}@media(min-width:1280px){.container{max-width:1280px}}@media(min-width:1536px){.container{max-width:1536px}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.pointer-events-none{pointer-events:none}.pointer-events-auto{pointer-events:auto}.visible{visibility:visible}.collapse{visibility:collapse}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.inset-0{inset:0}.inset-x-0{left:0;right:0}.inset-y-0{top:0;bottom:0}.-right-1{right:-.25rem}.-top-1{top:-.25rem}.bottom-0{bottom:0}.bottom-4{bottom:1rem}.bottom-full{bottom:100%}.left-0{left:0}.left-1\/2{left:50%}.left-2{left:.5rem}.left-2\.5{left:.625rem}.left-3{left:.75rem}.left-4{left:1rem}.left-\[50\%\]{left:50%}.right-0{right:0}.right-1{right:.25rem}.right-1\.5{right:.375rem}.right-2{right:.5rem}.right-3{right:.75rem}.right-4{right:1rem}.top-0{top:0}.top-1\.5{top:.375rem}.top-1\/2{top:50%}.top-3\.5{top:.875rem}.top-4{top:1rem}.top-\[20\%\]{top:20%}.top-\[50\%\]{top:50%}.z-10{z-index:10}.z-20{z-index:20}.z-50{z-index:50}.z-\[100\]{z-index:100}.col-span-3{grid-column:span 3 / span 3}.col-start-1{grid-column-start:1}.row-start-1{grid-row-start:1}.-mx-1{margin-left:-.25rem;margin-right:-.25rem}.-mx-6{margin-left:-1.5rem;margin-right:-1.5rem}.mx-2{margin-left:.5rem;margin-right:.5rem}.mx-3\.5{margin-left:.875rem;margin-right:.875rem}.mx-4{margin-left:1rem;margin-right:1rem}.mx-auto{margin-left:auto;margin-right:auto}.my-1{margin-top:.25rem;margin-bottom:.25rem}.my-2{margin-top:.5rem;margin-bottom:.5rem}.my-4{margin-top:1rem;margin-bottom:1rem}.-mb-4{margin-bottom:-1rem}.-ml-1{margin-left:-.25rem}.-ml-2{margin-left:-.5rem}.-mt-0\.5{margin-top:-.125rem}.mb-0{margin-bottom:0}.mb-0\.5{margin-bottom:.125rem}.mb-1{margin-bottom:.25rem}.mb-1\.5{margin-bottom:.375rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}.mb-6{margin-bottom:1.5rem}.ml-0\.5{margin-left:.125rem}.ml-1{margin-left:.25rem}.ml-1\.5{margin-left:.375rem}.ml-2{margin-left:.5rem}.ml-3{margin-left:.75rem}.ml-4{margin-left:1rem}.ml-auto{margin-left:auto}.mr-1{margin-right:.25rem}.mr-1\.5{margin-right:.375rem}.mr-2{margin-right:.5rem}.mt-0\.5{margin-top:.125rem}.mt-1{margin-top:.25rem}.mt-1\.5{margin-top:.375rem}.mt-2{margin-top:.5rem}.mt-3{margin-top:.75rem}.mt-6{margin-top:1.5rem}.mt-auto{margin-top:auto}.line-clamp-2{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2}.line-clamp-3{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3}.line-clamp-5{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:5}.block{display:block}.inline-block{display:inline-block}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.grid{display:grid}.contents{display:contents}.hidden{display:none}.aspect-square{aspect-ratio:1 / 1}.size-4{width:1rem;height:1rem}.h-1{height:.25rem}.h-1\.5{height:.375rem}.h-10{height:2.5rem}.h-11{height:2.75rem}.h-12{height:3rem}.h-14{height:3.5rem}.h-16{height:4rem}.h-2{height:.5rem}.h-2\.5{height:.625rem}.h-20{height:5rem}.h-3{height:.75rem}.h-3\.5{height:.875rem}.h-32{height:8rem}.h-4{height:1rem}.h-5{height:1.25rem}.h-6{height:1.5rem}.h-7{height:1.75rem}.h-8{height:2rem}.h-9{height:2.25rem}.h-\[100dvh\]{height:100dvh}.h-\[100vh\]{height:100vh}.h-\[1px\]{height:1px}.h-\[2px\]{height:2px}.h-\[85vh\]{height:85vh}.h-\[var\(--radix-select-trigger-height\)\]{height:var(--radix-select-trigger-height)}.h-auto{height:auto}.h-full{height:100%}.h-px{height:1px}.h-screen{height:100vh}.h-svh{height:100svh}.max-h-32{max-height:8rem}.max-h-40{max-height:10rem}.max-h-48{max-height:12rem}.max-h-52{max-height:13rem}.max-h-60{max-height:15rem}.max-h-64{max-height:16rem}.max-h-80{max-height:20rem}.max-h-96{max-height:24rem}.max-h-\[100vh\]{max-height:100vh}.max-h-\[200px\]{max-height:200px}.max-h-\[300px\]{max-height:300px}.max-h-\[360px\]{max-height:360px}.max-h-\[40\%\]{max-height:40%}.max-h-\[500px\]{max-height:500px}.max-h-\[80vh\]{max-height:80vh}.max-h-\[85vh\]{max-height:85vh}.max-h-\[90vh\]{max-height:90vh}.min-h-0{min-height:0px}.min-h-\[100px\]{min-height:100px}.min-h-\[120px\]{min-height:120px}.min-h-\[16px\]{min-height:16px}.min-h-\[200px\]{min-height:200px}.min-h-\[36px\]{min-height:36px}.min-h-\[5rem\]{min-height:5rem}.min-h-\[60px\]{min-height:60px}.min-h-screen{min-height:100vh}.min-h-svh{min-height:100svh}.w-0{width:0px}.w-1\.5{width:.375rem}.w-1\/2{width:50%}.w-10{width:2.5rem}.w-11{width:2.75rem}.w-12{width:3rem}.w-14{width:3.5rem}.w-16{width:4rem}.w-2{width:.5rem}.w-2\.5{width:.625rem}.w-2\/3{width:66.666667%}.w-24{width:6rem}.w-3{width:.75rem}.w-3\.5{width:.875rem}.w-3\/4{width:75%}.w-3\/5{width:60%}.w-4{width:1rem}.w-4\/5{width:80%}.w-48{width:12rem}.w-5{width:1.25rem}.w-56{width:14rem}.w-6{width:1.5rem}.w-64{width:16rem}.w-7{width:1.75rem}.w-72{width:18rem}.w-8{width:2rem}.w-80{width:20rem}.w-9{width:2.25rem}.w-\[--sidebar-width\]{width:var(--sidebar-width)}.w-\[100vw\]{width:100vw}.w-\[120px\]{width:120px}.w-\[140px\]{width:140px}.w-\[160px\]{width:160px}.w-\[180px\]{width:180px}.w-\[1px\]{width:1px}.w-\[200px\]{width:200px}.w-\[28rem\]{width:28rem}.w-\[30rem\]{width:30rem}.w-\[352px\]{width:352px}.w-\[400px\]{width:400px}.w-\[90vw\]{width:90vw}.w-\[var\(--radix-popover-trigger-width\)\]{width:var(--radix-popover-trigger-width)}.w-auto{width:auto}.w-fit{width:-moz-fit-content;width:fit-content}.w-full{width:100%}.w-px{width:1px}.min-w-0{min-width:0px}.min-w-5{min-width:1.25rem}.min-w-\[140px\]{min-width:140px}.min-w-\[160px\]{min-width:160px}.min-w-\[180px\]{min-width:180px}.min-w-\[2\.5rem\]{min-width:2.5rem}.min-w-\[20rem\]{min-width:20rem}.min-w-\[220px\]{min-width:220px}.min-w-\[320px\]{min-width:320px}.min-w-\[8rem\]{min-width:8rem}.min-w-\[var\(--radix-select-trigger-width\)\]{min-width:var(--radix-select-trigger-width)}.max-w-2xl{max-width:42rem}.max-w-3xl{max-width:48rem}.max-w-48{max-width:12rem}.max-w-4xl{max-width:56rem}.max-w-5xl{max-width:64rem}.max-w-\[--skeleton-width\]{max-width:var(--skeleton-width)}.max-w-\[100vw\]{max-width:100vw}.max-w-\[120px\]{max-width:120px}.max-w-\[150px\]{max-width:150px}.max-w-\[200px\]{max-width:200px}.max-w-\[300px\]{max-width:300px}.max-w-\[400px\]{max-width:400px}.max-w-\[50\%\]{max-width:50%}.max-w-\[80\%\]{max-width:80%}.max-w-\[90\%\]{max-width:90%}.max-w-\[90vw\]{max-width:90vw}.max-w-full{max-width:100%}.max-w-lg{max-width:32rem}.max-w-md{max-width:28rem}.max-w-none{max-width:none}.max-w-sm{max-width:24rem}.max-w-xs{max-width:20rem}.flex-1{flex:1 1 0%}.flex-shrink-0,.shrink-0{flex-shrink:0}.flex-grow{flex-grow:1}.origin-\[--radix-tooltip-content-transform-origin\]{transform-origin:var(--radix-tooltip-content-transform-origin)}.-translate-x-1\/2{--tw-translate-x: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-translate-x-px{--tw-translate-x: -1px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-translate-y-1\/2{--tw-translate-y: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-x-\[-50\%\]{--tw-translate-x: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-x-px{--tw-translate-x: 1px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-y-\[-50\%\]{--tw-translate-y: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-rotate-90{--tw-rotate: -90deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.rotate-180{--tw-rotate: 180deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.rotate-45{--tw-rotate: 45deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.rotate-90{--tw-rotate: 90deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.scale-110{--tw-scale-x: 1.1;--tw-scale-y: 1.1;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.animate-\[thinking_1\.4s_ease-in-out_0\.2s_infinite\]{animation:thinking 1.4s ease-in-out .2s infinite}.animate-\[thinking_1\.4s_ease-in-out_0\.4s_infinite\]{animation:thinking 1.4s ease-in-out .4s infinite}@keyframes thinking{0%,80%,to{opacity:.3;transform:scale(.8)}40%{opacity:1;transform:scale(1)}}.animate-\[thinking_1\.4s_ease-in-out_infinite\]{animation:thinking 1.4s ease-in-out infinite}@keyframes pulse{50%{opacity:.5}}.animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}@keyframes spin{to{transform:rotate(360deg)}}.animate-spin{animation:spin 1s linear infinite}.cursor-col-resize{cursor:col-resize}.cursor-default{cursor:default}.cursor-grabbing{cursor:grabbing}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.cursor-row-resize{cursor:row-resize}.touch-none{touch-action:none}.select-none{-webkit-user-select:none;-moz-user-select:none;user-select:none}.resize-none{resize:none}.resize-y{resize:vertical}.resize{resize:both}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}.flex-row{flex-direction:row}.flex-col{flex-direction:column}.flex-col-reverse{flex-direction:column-reverse}.flex-wrap{flex-wrap:wrap}.place-content-center{place-content:center}.place-items-center{place-items:center}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.items-center{align-items:center}.items-baseline{align-items:baseline}.items-stretch{align-items:stretch}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.justify-items-center{justify-items:center}.gap-0{gap:0px}.gap-0\.5{gap:.125rem}.gap-1{gap:.25rem}.gap-1\.5{gap:.375rem}.gap-2{gap:.5rem}.gap-2\.5{gap:.625rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-5{gap:1.25rem}.gap-6{gap:1.5rem}.space-y-0\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.125rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.125rem * var(--tw-space-y-reverse))}.space-y-1>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.25rem * var(--tw-space-y-reverse))}.space-y-1\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.375rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.375rem * var(--tw-space-y-reverse))}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem * var(--tw-space-y-reverse))}.space-y-2\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.625rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.625rem * var(--tw-space-y-reverse))}.space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.75rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.75rem * var(--tw-space-y-reverse))}.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem * var(--tw-space-y-reverse))}.space-y-5>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.25rem * var(--tw-space-y-reverse))}.space-y-6>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.5rem * var(--tw-space-y-reverse))}.divide-y>:not([hidden])~:not([hidden]){--tw-divide-y-reverse: 0;border-top-width:calc(1px * calc(1 - var(--tw-divide-y-reverse)));border-bottom-width:calc(1px * var(--tw-divide-y-reverse))}.divide-border>:not([hidden])~:not([hidden]){border-color:hsl(var(--border))}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.overflow-x-hidden{overflow-x:hidden}.overscroll-contain{overscroll-behavior:contain}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.text-ellipsis{text-overflow:ellipsis}.whitespace-nowrap{white-space:nowrap}.whitespace-pre{white-space:pre}.whitespace-pre-wrap{white-space:pre-wrap}.break-words{overflow-wrap:break-word}.break-all{word-break:break-all}.rounded{border-radius:.25rem}.rounded-\[inherit\]{border-radius:inherit}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:var(--radius)}.rounded-md{border-radius:calc(var(--radius) - 2px)}.rounded-sm{border-radius:calc(var(--radius) - 4px)}.rounded-b-lg{border-bottom-right-radius:var(--radius);border-bottom-left-radius:var(--radius)}.border{border-width:1px}.border-0{border-width:0px}.border-2{border-width:2px}.border-b{border-bottom-width:1px}.border-b-2{border-bottom-width:2px}.border-l{border-left-width:1px}.border-l-0{border-left-width:0px}.border-r{border-right-width:1px}.border-t{border-top-width:1px}.border-t-0{border-top-width:0px}.border-accent-foreground\/20{border-color:hsl(var(--accent-foreground) / .2)}.border-amber-500\/20{border-color:#f59e0b33}.border-background\/20{border-color:hsl(var(--background) / .2)}.border-blue-500\/20{border-color:#3b82f633}.border-border{border-color:hsl(var(--border))}.border-border\/30{border-color:hsl(var(--border) / .3)}.border-border\/40{border-color:hsl(var(--border) / .4)}.border-border\/50{border-color:hsl(var(--border) / .5)}.border-input{border-color:hsl(var(--input))}.border-muted-foreground\/30{border-color:hsl(var(--muted-foreground) / .3)}.border-muted-foreground\/40{border-color:hsl(var(--muted-foreground) / .4)}.border-primary{border-color:hsl(var(--primary))}.border-primary-foreground\/20{border-color:hsl(var(--primary-foreground) / .2)}.border-primary\/50{border-color:hsl(var(--primary) / .5)}.border-purple-500\/20{border-color:#a855f733}.border-sidebar-border{border-color:hsl(var(--sidebar-border))}.border-status-info\/20{border-color:hsl(var(--status-info) / .2)}.border-status-interrupted\/20{border-color:hsl(var(--status-interrupted) / .2)}.border-status-success\/20{border-color:hsl(var(--status-success) / .2)}.border-status-warning\/20{border-color:hsl(var(--status-warning) / .2)}.border-status-warning\/30{border-color:hsl(var(--status-warning) / .3)}.border-status-warning\/40{border-color:hsl(var(--status-warning) / .4)}.border-transparent{border-color:transparent}.border-white\/20{border-color:#fff3}.border-yellow-500\/20{border-color:#eab30833}.border-l-transparent{border-left-color:transparent}.border-t-transparent{border-top-color:transparent}.bg-\[\#09090b\]{--tw-bg-opacity: 1;background-color:rgb(9 9 11 / var(--tw-bg-opacity, 1))}.bg-accent{background-color:hsl(var(--accent))}.bg-accent\/30{background-color:hsl(var(--accent) / .3)}.bg-accent\/50{background-color:hsl(var(--accent) / .5)}.bg-amber-500{--tw-bg-opacity: 1;background-color:rgb(245 158 11 / var(--tw-bg-opacity, 1))}.bg-amber-500\/5{background-color:#f59e0b0d}.bg-background{background-color:hsl(var(--background))}.bg-background\/10{background-color:hsl(var(--background) / .1)}.bg-background\/20{background-color:hsl(var(--background) / .2)}.bg-background\/50{background-color:hsl(var(--background) / .5)}.bg-background\/80{background-color:hsl(var(--background) / .8)}.bg-black\/50{background-color:#00000080}.bg-black\/60{background-color:#0009}.bg-black\/80{background-color:#000c}.bg-blue-500\/10{background-color:#3b82f61a}.bg-border{background-color:hsl(var(--border))}.bg-card{background-color:hsl(var(--card))}.bg-card\/95{background-color:hsl(var(--card) / .95)}.bg-destructive{background-color:hsl(var(--destructive))}.bg-destructive\/10{background-color:hsl(var(--destructive) / .1)}.bg-foreground{background-color:hsl(var(--foreground))}.bg-foreground\/95{background-color:hsl(var(--foreground) / .95)}.bg-input\/50{background-color:hsl(var(--input) / .5)}.bg-muted{background-color:hsl(var(--muted))}.bg-muted-foreground\/20{background-color:hsl(var(--muted-foreground) / .2)}.bg-muted-foreground\/25{background-color:hsl(var(--muted-foreground) / .25)}.bg-muted-foreground\/30{background-color:hsl(var(--muted-foreground) / .3)}.bg-muted-foreground\/60{background-color:hsl(var(--muted-foreground) / .6)}.bg-muted\/30{background-color:hsl(var(--muted) / .3)}.bg-muted\/40{background-color:hsl(var(--muted) / .4)}.bg-muted\/50{background-color:hsl(var(--muted) / .5)}.bg-muted\/80{background-color:hsl(var(--muted) / .8)}.bg-popover{background-color:hsl(var(--popover))}.bg-primary{background-color:hsl(var(--primary))}.bg-primary-foreground\/10{background-color:hsl(var(--primary-foreground) / .1)}.bg-primary\/10{background-color:hsl(var(--primary) / .1)}.bg-primary\/15{background-color:hsl(var(--primary) / .15)}.bg-primary\/30{background-color:hsl(var(--primary) / .3)}.bg-primary\/5{background-color:hsl(var(--primary) / .05)}.bg-primary\/50{background-color:hsl(var(--primary) / .5)}.bg-primary\/60{background-color:hsl(var(--primary) / .6)}.bg-purple-500\/10{background-color:#a855f71a}.bg-red-500{--tw-bg-opacity: 1;background-color:rgb(239 68 68 / var(--tw-bg-opacity, 1))}.bg-red-950\/30{background-color:#450a0a4d}.bg-secondary{background-color:hsl(var(--secondary))}.bg-secondary\/30{background-color:hsl(var(--secondary) / .3)}.bg-secondary\/50{background-color:hsl(var(--secondary) / .5)}.bg-sidebar{background-color:hsl(var(--sidebar-background))}.bg-sidebar-accent{background-color:hsl(var(--sidebar-accent))}.bg-sidebar-border{background-color:hsl(var(--sidebar-border))}.bg-sidebar\/50{background-color:hsl(var(--sidebar-background) / .5)}.bg-status-error{--tw-bg-opacity: 1;background-color:hsl(var(--status-error) / var(--tw-bg-opacity, 1))}.bg-status-error\/10{background-color:hsl(var(--status-error) / .1)}.bg-status-info{--tw-bg-opacity: 1;background-color:hsl(var(--status-info) / var(--tw-bg-opacity, 1))}.bg-status-info\/10{background-color:hsl(var(--status-info) / .1)}.bg-status-info\/5{background-color:hsl(var(--status-info) / .05)}.bg-status-info\/80{background-color:hsl(var(--status-info) / .8)}.bg-status-interrupted\/10{background-color:hsl(var(--status-interrupted) / .1)}.bg-status-interrupted\/5{background-color:hsl(var(--status-interrupted) / .05)}.bg-status-neutral\/10{background-color:hsl(var(--status-neutral) / .1)}.bg-status-pending\/10{background-color:hsl(var(--status-pending) / .1)}.bg-status-success\/10{background-color:hsl(var(--status-success) / .1)}.bg-status-success\/5{background-color:hsl(var(--status-success) / .05)}.bg-status-success\/80{background-color:hsl(var(--status-success) / .8)}.bg-status-violet\/10{background-color:hsl(var(--status-violet) / .1)}.bg-status-warning{--tw-bg-opacity: 1;background-color:hsl(var(--status-warning) / var(--tw-bg-opacity, 1))}.bg-status-warning\/10{background-color:hsl(var(--status-warning) / .1)}.bg-status-warning\/5{background-color:hsl(var(--status-warning) / .05)}.bg-transparent{background-color:transparent}.bg-white{--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1))}.bg-yellow-500\/10{background-color:#eab3081a}.bg-gradient-to-b{background-image:linear-gradient(to bottom,var(--tw-gradient-stops))}.bg-gradient-to-br{background-image:linear-gradient(to bottom right,var(--tw-gradient-stops))}.bg-gradient-to-t{background-image:linear-gradient(to top,var(--tw-gradient-stops))}.from-foreground{--tw-gradient-from: hsl(var(--foreground)) var(--tw-gradient-from-position);--tw-gradient-to: hsl(var(--foreground) / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-muted-foreground\/10{--tw-gradient-from: hsl(var(--muted-foreground) / .1) var(--tw-gradient-from-position);--tw-gradient-to: hsl(var(--muted-foreground) / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-muted-foreground\/20{--tw-gradient-from: hsl(var(--muted-foreground) / .2) var(--tw-gradient-from-position);--tw-gradient-to: hsl(var(--muted-foreground) / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-sidebar{--tw-gradient-from: hsl(var(--sidebar-background)) var(--tw-gradient-from-position);--tw-gradient-to: hsl(var(--sidebar-background) / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.to-muted-foreground\/30{--tw-gradient-to: hsl(var(--muted-foreground) / .3) var(--tw-gradient-to-position)}.to-muted-foreground\/40{--tw-gradient-to: hsl(var(--muted-foreground) / .4) var(--tw-gradient-to-position)}.to-transparent{--tw-gradient-to: transparent var(--tw-gradient-to-position)}.object-contain{-o-object-fit:contain;object-fit:contain}.object-cover{-o-object-fit:cover;object-fit:cover}.p-0{padding:0}.p-0\.5{padding:.125rem}.p-1{padding:.25rem}.p-1\.5{padding:.375rem}.p-2{padding:.5rem}.p-2\.5{padding:.625rem}.p-3{padding:.75rem}.p-4{padding:1rem}.p-5{padding:1.25rem}.p-6{padding:1.5rem}.p-8{padding:2rem}.p-\[1px\]{padding:1px}.px-0{padding-left:0;padding-right:0}.px-1{padding-left:.25rem;padding-right:.25rem}.px-1\.5{padding-left:.375rem;padding-right:.375rem}.px-10{padding-left:2.5rem;padding-right:2.5rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-2\.5{padding-left:.625rem;padding-right:.625rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.px-8{padding-left:2rem;padding-right:2rem}.px-px{padding-left:1px;padding-right:1px}.py-0{padding-top:0;padding-bottom:0}.py-0\.5{padding-top:.125rem;padding-bottom:.125rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-1\.5{padding-top:.375rem;padding-bottom:.375rem}.py-12{padding-top:3rem;padding-bottom:3rem}.py-16{padding-top:4rem;padding-bottom:4rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-2\.5{padding-top:.625rem;padding-bottom:.625rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.py-3\.5{padding-top:.875rem;padding-bottom:.875rem}.py-4{padding-top:1rem;padding-bottom:1rem}.py-6{padding-top:1.5rem;padding-bottom:1.5rem}.py-8{padding-top:2rem;padding-bottom:2rem}.py-px{padding-top:1px;padding-bottom:1px}.pb-0{padding-bottom:0}.pb-1{padding-bottom:.25rem}.pb-1\.5{padding-bottom:.375rem}.pb-2{padding-bottom:.5rem}.pb-3{padding-bottom:.75rem}.pb-4{padding-bottom:1rem}.pb-5{padding-bottom:1.25rem}.pl-1{padding-left:.25rem}.pl-2{padding-left:.5rem}.pl-4{padding-left:1rem}.pl-6{padding-left:1.5rem}.pl-7{padding-left:1.75rem}.pl-8{padding-left:2rem}.pl-9{padding-left:2.25rem}.pr-1\.5{padding-right:.375rem}.pr-10{padding-right:2.5rem}.pr-2{padding-right:.5rem}.pr-3{padding-right:.75rem}.pr-5{padding-right:1.25rem}.pr-7{padding-right:1.75rem}.pr-8{padding-right:2rem}.pt-0{padding-top:0}.pt-1{padding-top:.25rem}.pt-2{padding-top:.5rem}.pt-3{padding-top:.75rem}.pt-4{padding-top:1rem}.pt-6{padding-top:1.5rem}.text-left{text-align:left}.text-center{text-align:center}.font-mono{font-family:Geist Mono,ui-monospace,monospace}.font-sans{font-family:Geist Sans,sans-serif}.text-2xl{font-size:1.5rem;line-height:2rem}.text-4xl{font-size:2.25rem;line-height:2.5rem}.text-\[10px\]{font-size:10px}.text-\[11px\]{font-size:11px}.text-\[9px\]{font-size:9px}.text-base{font-size:1rem;line-height:1.5rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-xs{font-size:.75rem;line-height:1rem}.font-bold{font-weight:700}.font-medium{font-weight:500}.font-normal{font-weight:400}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.italic{font-style:italic}.tabular-nums{--tw-numeric-spacing: tabular-nums;font-variant-numeric:var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction)}.leading-4{line-height:1rem}.leading-none{line-height:1}.leading-relaxed{line-height:1.625}.leading-snug{line-height:1.375}.leading-tight{line-height:1.25}.tracking-tight{letter-spacing:-.025em}.tracking-wider{letter-spacing:.05em}.tracking-widest{letter-spacing:.1em}.text-\[\#fafafa\]{--tw-text-opacity: 1;color:rgb(250 250 250 / var(--tw-text-opacity, 1))}.text-accent-foreground{color:hsl(var(--accent-foreground))}.text-amber-400{--tw-text-opacity: 1;color:rgb(251 191 36 / var(--tw-text-opacity, 1))}.text-amber-500{--tw-text-opacity: 1;color:rgb(245 158 11 / var(--tw-text-opacity, 1))}.text-amber-600{--tw-text-opacity: 1;color:rgb(217 119 6 / var(--tw-text-opacity, 1))}.text-background{color:hsl(var(--background))}.text-background\/60{color:hsl(var(--background) / .6)}.text-background\/70{color:hsl(var(--background) / .7)}.text-blue-400{--tw-text-opacity: 1;color:rgb(96 165 250 / var(--tw-text-opacity, 1))}.text-blue-500{--tw-text-opacity: 1;color:rgb(59 130 246 / var(--tw-text-opacity, 1))}.text-blue-600{--tw-text-opacity: 1;color:rgb(37 99 235 / var(--tw-text-opacity, 1))}.text-card-foreground{color:hsl(var(--card-foreground))}.text-current{color:currentColor}.text-destructive{color:hsl(var(--destructive))}.text-destructive-foreground{color:hsl(var(--destructive-foreground))}.text-destructive\/80{color:hsl(var(--destructive) / .8)}.text-diff-added{--tw-text-opacity: 1;color:hsl(var(--diff-added) / var(--tw-text-opacity, 1))}.text-diff-removed{--tw-text-opacity: 1;color:hsl(var(--diff-removed) / var(--tw-text-opacity, 1))}.text-emerald-500{--tw-text-opacity: 1;color:rgb(16 185 129 / var(--tw-text-opacity, 1))}.text-foreground{color:hsl(var(--foreground))}.text-foreground\/80{color:hsl(var(--foreground) / .8)}.text-gray-400{--tw-text-opacity: 1;color:rgb(156 163 175 / var(--tw-text-opacity, 1))}.text-gray-900{--tw-text-opacity: 1;color:rgb(17 24 39 / var(--tw-text-opacity, 1))}.text-green-400{--tw-text-opacity: 1;color:rgb(74 222 128 / var(--tw-text-opacity, 1))}.text-green-500{--tw-text-opacity: 1;color:rgb(34 197 94 / var(--tw-text-opacity, 1))}.text-muted-foreground{color:hsl(var(--muted-foreground))}.text-muted-foreground\/40{color:hsl(var(--muted-foreground) / .4)}.text-muted-foreground\/50{color:hsl(var(--muted-foreground) / .5)}.text-muted-foreground\/60{color:hsl(var(--muted-foreground) / .6)}.text-muted-foreground\/70{color:hsl(var(--muted-foreground) / .7)}.text-orange-400{--tw-text-opacity: 1;color:rgb(251 146 60 / var(--tw-text-opacity, 1))}.text-popover-foreground{color:hsl(var(--popover-foreground))}.text-primary{color:hsl(var(--primary))}.text-primary-foreground{color:hsl(var(--primary-foreground))}.text-primary-foreground\/70{color:hsl(var(--primary-foreground) / .7)}.text-purple-500{--tw-text-opacity: 1;color:rgb(168 85 247 / var(--tw-text-opacity, 1))}.text-purple-600{--tw-text-opacity: 1;color:rgb(147 51 234 / var(--tw-text-opacity, 1))}.text-red-400{--tw-text-opacity: 1;color:rgb(248 113 113 / var(--tw-text-opacity, 1))}.text-red-500{--tw-text-opacity: 1;color:rgb(239 68 68 / var(--tw-text-opacity, 1))}.text-secondary-foreground{color:hsl(var(--secondary-foreground))}.text-sidebar-accent-foreground{color:hsl(var(--sidebar-accent-foreground))}.text-sidebar-foreground{color:hsl(var(--sidebar-foreground))}.text-sidebar-foreground\/70{color:hsl(var(--sidebar-foreground) / .7)}.text-status-error{--tw-text-opacity: 1;color:hsl(var(--status-error) / var(--tw-text-opacity, 1))}.text-status-error\/80{color:hsl(var(--status-error) / .8)}.text-status-info{--tw-text-opacity: 1;color:hsl(var(--status-info) / var(--tw-text-opacity, 1))}.text-status-info\/80{color:hsl(var(--status-info) / .8)}.text-status-interrupted\/80{color:hsl(var(--status-interrupted) / .8)}.text-status-neutral\/80{color:hsl(var(--status-neutral) / .8)}.text-status-pending{--tw-text-opacity: 1;color:hsl(var(--status-pending) / var(--tw-text-opacity, 1))}.text-status-pending\/80{color:hsl(var(--status-pending) / .8)}.text-status-success{--tw-text-opacity: 1;color:hsl(var(--status-success) / var(--tw-text-opacity, 1))}.text-status-success\/80{color:hsl(var(--status-success) / .8)}.text-status-violet\/80{color:hsl(var(--status-violet) / .8)}.text-status-warning{--tw-text-opacity: 1;color:hsl(var(--status-warning) / var(--tw-text-opacity, 1))}.text-status-warning\/80{color:hsl(var(--status-warning) / .8)}.text-violet-400{--tw-text-opacity: 1;color:rgb(167 139 250 / var(--tw-text-opacity, 1))}.text-white{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity, 1))}.text-yellow-400{--tw-text-opacity: 1;color:rgb(250 204 21 / var(--tw-text-opacity, 1))}.text-yellow-600{--tw-text-opacity: 1;color:rgb(202 138 4 / var(--tw-text-opacity, 1))}.underline{text-decoration-line:underline}.line-through{text-decoration-line:line-through}.underline-offset-4{text-underline-offset:4px}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.\!opacity-100{opacity:1!important}.opacity-0{opacity:0}.opacity-100{opacity:1}.opacity-40{opacity:.4}.opacity-50{opacity:.5}.opacity-60{opacity:.6}.opacity-70{opacity:.7}.shadow{--tw-shadow: 0 1px 3px 0 rgb(0 0 0 / .1), 0 1px 2px -1px rgb(0 0 0 / .1);--tw-shadow-colored: 0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-2xl{--tw-shadow: 0 25px 50px -12px rgb(0 0 0 / .25);--tw-shadow-colored: 0 25px 50px -12px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-\[0_0_0_1px_hsl\(var\(--sidebar-border\)\)\]{--tw-shadow: 0 0 0 1px hsl(var(--sidebar-border));--tw-shadow-colored: 0 0 0 1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-lg{--tw-shadow: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-md{--tw-shadow: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-none{--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-sm{--tw-shadow: 0 1px 2px 0 rgb(0 0 0 / .05);--tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-xl{--tw-shadow: 0 20px 25px -5px rgb(0 0 0 / .1), 0 8px 10px -6px rgb(0 0 0 / .1);--tw-shadow-colored: 0 20px 25px -5px var(--tw-shadow-color), 0 8px 10px -6px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.outline-none{outline:2px solid transparent;outline-offset:2px}.outline{outline-style:solid}.ring-0{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.ring-2{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.ring-primary\/20{--tw-ring-color: hsl(var(--primary) / .2)}.ring-ring{--tw-ring-color: hsl(var(--ring))}.ring-sidebar-ring{--tw-ring-color: hsl(var(--sidebar-ring))}.ring-offset-background{--tw-ring-offset-color: hsl(var(--background))}.blur{--tw-blur: blur(8px);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.backdrop-blur-sm{--tw-backdrop-blur: blur(4px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-\[border-color\,box-shadow\]{transition-property:border-color,box-shadow;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-\[color\,box-shadow\]{transition-property:color,box-shadow;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-\[left\,right\,width\]{transition-property:left,right,width;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-\[margin\,opacity\]{transition-property:margin,opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-\[opacity\,box-shadow\]{transition-property:opacity,box-shadow;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-\[width\,height\,padding\]{transition-property:width,height,padding;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-\[width\,opacity\]{transition-property:width,opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-\[width\]{transition-property:width;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-all{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-opacity{transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-transform{transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.\!duration-0{transition-duration:0s!important}.duration-150{transition-duration:.15s}.duration-200{transition-duration:.2s}.duration-300{transition-duration:.3s}.duration-500{transition-duration:.5s}.ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}.ease-linear{transition-timing-function:linear}.ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)}.contain-paint{--tw-contain-paint: paint;contain:var(--tw-contain-size) var(--tw-contain-layout) var(--tw-contain-paint) var(--tw-contain-style)}@keyframes enter{0%{opacity:var(--tw-enter-opacity, 1);transform:translate3d(var(--tw-enter-translate-x, 0),var(--tw-enter-translate-y, 0),0) scale3d(var(--tw-enter-scale, 1),var(--tw-enter-scale, 1),var(--tw-enter-scale, 1)) rotate(var(--tw-enter-rotate, 0))}}@keyframes exit{to{opacity:var(--tw-exit-opacity, 1);transform:translate3d(var(--tw-exit-translate-x, 0),var(--tw-exit-translate-y, 0),0) scale3d(var(--tw-exit-scale, 1),var(--tw-exit-scale, 1),var(--tw-exit-scale, 1)) rotate(var(--tw-exit-rotate, 0))}}.animate-in{animation-name:enter;animation-duration:.15s;--tw-enter-opacity: initial;--tw-enter-scale: initial;--tw-enter-rotate: initial;--tw-enter-translate-x: initial;--tw-enter-translate-y: initial}.fade-in-0{--tw-enter-opacity: 0}.zoom-in-95{--tw-enter-scale: .95}.\!duration-0{animation-duration:0s!important}.duration-150{animation-duration:.15s}.duration-200{animation-duration:.2s}.duration-300{animation-duration:.3s}.duration-500{animation-duration:.5s}.ease-in-out{animation-timing-function:cubic-bezier(.4,0,.2,1)}.ease-linear{animation-timing-function:linear}.ease-out{animation-timing-function:cubic-bezier(0,0,.2,1)}.\!running{animation-play-state:running!important}.running{animation-play-state:running}.no-scrollbar{-ms-overflow-style:none;scrollbar-width:none}.no-scrollbar::-webkit-scrollbar{display:none}.contain-paint{contain:paint}@font-face{font-family:Geist Sans Fallback;src:local("Arial");size-adjust:99.7%;ascent-override:99%;descent-override:22%;line-gap-override:0%}.thread-container{container-type:inline-size;container-name:thread}.thread-timeline{display:none}@container thread (min-width: 600px){.thread-timeline{display:block}}.code-viewer .shiki{background:transparent!important;padding:.5rem 0;margin:0;overflow:visible}.code-viewer .shiki code{display:block;font-family:Geist Mono,ui-monospace,monospace}.code-viewer .shiki code .line{display:inline-block;width:100%;padding-right:.75rem}.code-viewer .shiki code .line:before{counter-increment:line;content:counter(line);display:inline-block;width:3.5em;text-align:right;padding-right:1em;color:hsl(var(--muted-foreground) / .3);-webkit-user-select:none;-moz-user-select:none;user-select:none;flex-shrink:0}.file\:border-0::file-selector-button{border-width:0px}.file\:bg-transparent::file-selector-button{background-color:transparent}.file\:text-sm::file-selector-button{font-size:.875rem;line-height:1.25rem}.file\:font-medium::file-selector-button{font-weight:500}.file\:text-foreground::file-selector-button{color:hsl(var(--foreground))}.placeholder\:text-muted-foreground::-moz-placeholder{color:hsl(var(--muted-foreground))}.placeholder\:text-muted-foreground::placeholder{color:hsl(var(--muted-foreground))}.placeholder\:text-muted-foreground\/60::-moz-placeholder{color:hsl(var(--muted-foreground) / .6)}.placeholder\:text-muted-foreground\/60::placeholder{color:hsl(var(--muted-foreground) / .6)}.after\:absolute:after{content:var(--tw-content);position:absolute}.after\:-inset-2:after{content:var(--tw-content);inset:-.5rem}.after\:inset-y-0:after{content:var(--tw-content);top:0;bottom:0}.after\:left-1\/2:after{content:var(--tw-content);left:50%}.after\:w-\[2px\]:after{content:var(--tw-content);width:2px}.last\:border-b-0:last-child{border-bottom-width:0px}.focus-within\:border-ring:focus-within{border-color:hsl(var(--ring))}.focus-within\:ring-1:focus-within{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.focus-within\:ring-ring:focus-within{--tw-ring-color: hsl(var(--ring))}.hover\:scale-105:hover{--tw-scale-x: 1.05;--tw-scale-y: 1.05;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.hover\:border-border:hover{border-color:hsl(var(--border))}.hover\:border-destructive\/30:hover{border-color:hsl(var(--destructive) / .3)}.hover\:border-muted-foreground:hover{border-color:hsl(var(--muted-foreground))}.hover\:border-muted-foreground\/40:hover{border-color:hsl(var(--muted-foreground) / .4)}.hover\:bg-accent:hover{background-color:hsl(var(--accent))}.hover\:bg-accent\/30:hover{background-color:hsl(var(--accent) / .3)}.hover\:bg-accent\/50:hover{background-color:hsl(var(--accent) / .5)}.hover\:bg-black\/70:hover{background-color:#000000b3}.hover\:bg-destructive\/10:hover{background-color:hsl(var(--destructive) / .1)}.hover\:bg-destructive\/80:hover{background-color:hsl(var(--destructive) / .8)}.hover\:bg-destructive\/90:hover{background-color:hsl(var(--destructive) / .9)}.hover\:bg-foreground:hover{background-color:hsl(var(--foreground))}.hover\:bg-muted:hover{background-color:hsl(var(--muted))}.hover\:bg-muted\/30:hover{background-color:hsl(var(--muted) / .3)}.hover\:bg-muted\/50:hover{background-color:hsl(var(--muted) / .5)}.hover\:bg-primary\/10:hover{background-color:hsl(var(--primary) / .1)}.hover\:bg-primary\/20:hover{background-color:hsl(var(--primary) / .2)}.hover\:bg-primary\/25:hover{background-color:hsl(var(--primary) / .25)}.hover\:bg-primary\/80:hover{background-color:hsl(var(--primary) / .8)}.hover\:bg-primary\/90:hover{background-color:hsl(var(--primary) / .9)}.hover\:bg-secondary\/80:hover{background-color:hsl(var(--secondary) / .8)}.hover\:bg-sidebar-accent:hover{background-color:hsl(var(--sidebar-accent))}.hover\:bg-sidebar-accent\/50:hover{background-color:hsl(var(--sidebar-accent) / .5)}.hover\:bg-status-warning\/10:hover{background-color:hsl(var(--status-warning) / .1)}.hover\:text-accent-foreground:hover{color:hsl(var(--accent-foreground))}.hover\:text-background\/90:hover{color:hsl(var(--background) / .9)}.hover\:text-destructive:hover{color:hsl(var(--destructive))}.hover\:text-foreground:hover{color:hsl(var(--foreground))}.hover\:text-foreground\/80:hover{color:hsl(var(--foreground) / .8)}.hover\:text-primary:hover{color:hsl(var(--primary))}.hover\:text-sidebar-accent-foreground:hover{color:hsl(var(--sidebar-accent-foreground))}.hover\:text-status-error:hover{--tw-text-opacity: 1;color:hsl(var(--status-error) / var(--tw-text-opacity, 1))}.hover\:text-status-error\/80:hover{color:hsl(var(--status-error) / .8)}.hover\:text-status-info\/80:hover{color:hsl(var(--status-info) / .8)}.hover\:text-status-success:hover{--tw-text-opacity: 1;color:hsl(var(--status-success) / var(--tw-text-opacity, 1))}.hover\:text-status-success\/80:hover{color:hsl(var(--status-success) / .8)}.hover\:underline:hover{text-decoration-line:underline}.hover\:opacity-100:hover{opacity:1}.hover\:opacity-80:hover{opacity:.8}.hover\:shadow-\[0_0_0_1px_hsl\(var\(--sidebar-accent\)\)\]:hover{--tw-shadow: 0 0 0 1px hsl(var(--sidebar-accent));--tw-shadow-colored: 0 0 0 1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.hover\:after\:bg-sidebar-border:hover:after{content:var(--tw-content);background-color:hsl(var(--sidebar-border))}.focus\:border-primary\/50:focus{border-color:hsl(var(--primary) / .5)}.focus\:bg-accent:focus{background-color:hsl(var(--accent))}.focus\:text-accent-foreground:focus{color:hsl(var(--accent-foreground))}.focus\:text-destructive:focus{color:hsl(var(--destructive))}.focus\:text-status-error:focus{--tw-text-opacity: 1;color:hsl(var(--status-error) / var(--tw-text-opacity, 1))}.focus\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.focus\:ring-1:focus{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.focus\:ring-2:focus{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.focus\:ring-primary\/20:focus{--tw-ring-color: hsl(var(--primary) / .2)}.focus\:ring-ring:focus{--tw-ring-color: hsl(var(--ring))}.focus\:ring-offset-2:focus{--tw-ring-offset-width: 2px}.focus-visible\:border-ring:focus-visible{border-color:hsl(var(--ring))}.focus-visible\:outline-none:focus-visible{outline:2px solid transparent;outline-offset:2px}.focus-visible\:ring-0:focus-visible{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.focus-visible\:ring-2:focus-visible{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.focus-visible\:ring-\[3px\]:focus-visible{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.focus-visible\:ring-ring:focus-visible{--tw-ring-color: hsl(var(--ring))}.focus-visible\:ring-ring\/50:focus-visible{--tw-ring-color: hsl(var(--ring) / .5)}.focus-visible\:ring-sidebar-ring:focus-visible{--tw-ring-color: hsl(var(--sidebar-ring))}.focus-visible\:ring-offset-2:focus-visible{--tw-ring-offset-width: 2px}.focus-visible\:ring-offset-background:focus-visible{--tw-ring-offset-color: hsl(var(--background))}.active\:bg-accent\/80:active{background-color:hsl(var(--accent) / .8)}.active\:bg-primary\/80:active{background-color:hsl(var(--primary) / .8)}.active\:bg-sidebar-accent:active{background-color:hsl(var(--sidebar-accent))}.active\:text-sidebar-accent-foreground:active{color:hsl(var(--sidebar-accent-foreground))}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-50:disabled{opacity:.5}.group\/menu-item:focus-within .group-focus-within\/menu-item\:opacity-100{opacity:1}.group\/thread:hover .group-hover\/thread\:pointer-events-none{pointer-events:none}.group\/project:hover .group-hover\/project\:pointer-events-auto{pointer-events:auto}.group\/thread:hover .group-hover\/thread\:flex{display:flex}.group\/thread:hover .group-hover\/thread\:hidden{display:none}.group\/btn:hover .group-hover\/btn\:text-foreground{color:hsl(var(--foreground))}.group:hover .group-hover\:text-muted-foreground\/70{color:hsl(var(--muted-foreground) / .7)}.group:hover .group-hover\:text-primary{color:hsl(var(--primary))}.group\/card:hover .group-hover\/card\:opacity-100,.group\/cwd:hover .group-hover\/cwd\:opacity-100,.group\/header:hover .group-hover\/header\:opacity-100,.group\/item:hover .group-hover\/item\:opacity-100,.group\/menu-item:hover .group-hover\/menu-item\:opacity-100,.group\/project:hover .group-hover\/project\:opacity-100{opacity:1}.group\/thread:hover .group-hover\/thread\:opacity-0{opacity:0}.group\/thread:hover .group-hover\/thread\:opacity-100,.group:hover .group-hover\:opacity-100{opacity:1}.group.toaster .group-\[\.toaster\]\:border-border{border-color:hsl(var(--border))}.group.toast .group-\[\.toast\]\:bg-muted{background-color:hsl(var(--muted))}.group.toast .group-\[\.toast\]\:bg-primary{background-color:hsl(var(--primary))}.group.toaster .group-\[\.toaster\]\:bg-background{background-color:hsl(var(--background))}.group.toast .group-\[\.toast\]\:text-muted-foreground{color:hsl(var(--muted-foreground))}.group.toast .group-\[\.toast\]\:text-primary-foreground{color:hsl(var(--primary-foreground))}.group.toaster .group-\[\.toaster\]\:text-foreground{color:hsl(var(--foreground))}.group.toaster .group-\[\.toaster\]\:shadow-lg{--tw-shadow: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.peer\/menu-button:hover~.peer-hover\/menu-button\:text-sidebar-accent-foreground{color:hsl(var(--sidebar-accent-foreground))}.has-\[\[data-variant\=inset\]\]\:bg-sidebar:has([data-variant=inset]){background-color:hsl(var(--sidebar-background))}.group\/menu-item:has([data-sidebar=menu-action]) .group-has-\[\[data-sidebar\=menu-action\]\]\/menu-item\:pr-8{padding-right:2rem}.aria-disabled\:pointer-events-none[aria-disabled=true]{pointer-events:none}.aria-disabled\:opacity-50[aria-disabled=true]{opacity:.5}.data-\[disabled\=true\]\:pointer-events-none[data-disabled=true],.data-\[disabled\]\:pointer-events-none[data-disabled]{pointer-events:none}.data-\[side\=bottom\]\:translate-y-1[data-side=bottom]{--tw-translate-y: .25rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.data-\[side\=left\]\:-translate-x-1[data-side=left]{--tw-translate-x: -.25rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.data-\[side\=right\]\:translate-x-1[data-side=right]{--tw-translate-x: .25rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.data-\[side\=top\]\:-translate-y-1[data-side=top]{--tw-translate-y: -.25rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.data-\[state\=checked\]\:translate-x-5[data-state=checked]{--tw-translate-x: 1.25rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.data-\[state\=unchecked\]\:translate-x-0[data-state=unchecked]{--tw-translate-x: 0px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@keyframes fade-out{0%{opacity:1}to{opacity:0}}.data-\[state\=closed\]\:animate-fade-out[data-state=closed]{animation:fade-out .1s ease-in}@keyframes fade-in{0%{opacity:0}to{opacity:1}}.data-\[state\=open\]\:animate-fade-in[data-state=open]{animation:fade-in .15s ease-out}@keyframes slide-down{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.data-\[state\=open\]\:animate-slide-down[data-state=open]{animation:slide-down .15s ease-out}.data-\[active\=true\]\:bg-sidebar-accent[data-active=true]{background-color:hsl(var(--sidebar-accent))}.data-\[selected\=true\]\:bg-accent[data-selected=true]{background-color:hsl(var(--accent))}.data-\[state\=checked\]\:bg-primary[data-state=checked]{background-color:hsl(var(--primary))}.data-\[state\=open\]\:bg-accent[data-state=open]{background-color:hsl(var(--accent))}.data-\[state\=open\]\:bg-secondary[data-state=open]{background-color:hsl(var(--secondary))}.data-\[state\=unchecked\]\:bg-input[data-state=unchecked]{background-color:hsl(var(--input))}.data-\[active\=true\]\:font-medium[data-active=true]{font-weight:500}.data-\[active\=true\]\:text-sidebar-accent-foreground[data-active=true]{color:hsl(var(--sidebar-accent-foreground))}.data-\[selected\=true\]\:text-accent-foreground[data-selected=true]{color:hsl(var(--accent-foreground))}.data-\[state\=checked\]\:text-primary-foreground[data-state=checked]{color:hsl(var(--primary-foreground))}.data-\[state\=open\]\:text-muted-foreground[data-state=open]{color:hsl(var(--muted-foreground))}.data-\[disabled\=true\]\:opacity-50[data-disabled=true],.data-\[disabled\]\:opacity-50[data-disabled]{opacity:.5}.data-\[state\=open\]\:opacity-100[data-state=open]{opacity:1}.data-\[state\=closed\]\:duration-300[data-state=closed]{transition-duration:.3s}.data-\[state\=open\]\:duration-500[data-state=open]{transition-duration:.5s}.data-\[state\=open\]\:animate-in[data-state=open]{animation-name:enter;animation-duration:.15s;--tw-enter-opacity: initial;--tw-enter-scale: initial;--tw-enter-rotate: initial;--tw-enter-translate-x: initial;--tw-enter-translate-y: initial}.data-\[state\=closed\]\:animate-out[data-state=closed]{animation-name:exit;animation-duration:.15s;--tw-exit-opacity: initial;--tw-exit-scale: initial;--tw-exit-rotate: initial;--tw-exit-translate-x: initial;--tw-exit-translate-y: initial}.data-\[state\=closed\]\:fade-out-0[data-state=closed]{--tw-exit-opacity: 0}.data-\[state\=open\]\:fade-in-0[data-state=open]{--tw-enter-opacity: 0}.data-\[state\=closed\]\:zoom-out-95[data-state=closed]{--tw-exit-scale: .95}.data-\[state\=open\]\:zoom-in-95[data-state=open]{--tw-enter-scale: .95}.data-\[side\=bottom\]\:slide-in-from-top-2[data-side=bottom]{--tw-enter-translate-y: -.5rem}.data-\[side\=left\]\:slide-in-from-right-2[data-side=left]{--tw-enter-translate-x: .5rem}.data-\[side\=right\]\:slide-in-from-left-2[data-side=right]{--tw-enter-translate-x: -.5rem}.data-\[side\=top\]\:slide-in-from-bottom-2[data-side=top]{--tw-enter-translate-y: .5rem}.data-\[state\=closed\]\:slide-out-to-bottom[data-state=closed]{--tw-exit-translate-y: 100%}.data-\[state\=closed\]\:slide-out-to-left[data-state=closed]{--tw-exit-translate-x: -100%}.data-\[state\=closed\]\:slide-out-to-left-1\/2[data-state=closed]{--tw-exit-translate-x: -50%}.data-\[state\=closed\]\:slide-out-to-right[data-state=closed]{--tw-exit-translate-x: 100%}.data-\[state\=closed\]\:slide-out-to-top[data-state=closed]{--tw-exit-translate-y: -100%}.data-\[state\=closed\]\:slide-out-to-top-\[48\%\][data-state=closed]{--tw-exit-translate-y: -48%}.data-\[state\=open\]\:slide-in-from-bottom[data-state=open]{--tw-enter-translate-y: 100%}.data-\[state\=open\]\:slide-in-from-left[data-state=open]{--tw-enter-translate-x: -100%}.data-\[state\=open\]\:slide-in-from-left-1\/2[data-state=open]{--tw-enter-translate-x: -50%}.data-\[state\=open\]\:slide-in-from-right[data-state=open]{--tw-enter-translate-x: 100%}.data-\[state\=open\]\:slide-in-from-top[data-state=open]{--tw-enter-translate-y: -100%}.data-\[state\=open\]\:slide-in-from-top-\[48\%\][data-state=open]{--tw-enter-translate-y: -48%}.data-\[state\=closed\]\:duration-300[data-state=closed]{animation-duration:.3s}.data-\[state\=open\]\:duration-500[data-state=open]{animation-duration:.5s}.data-\[state\=open\]\:hover\:bg-sidebar-accent:hover[data-state=open]{background-color:hsl(var(--sidebar-accent))}.data-\[state\=open\]\:hover\:text-sidebar-accent-foreground:hover[data-state=open]{color:hsl(var(--sidebar-accent-foreground))}.group[data-collapsible=offcanvas] .group-data-\[collapsible\=offcanvas\]\:left-\[calc\(var\(--sidebar-width\)\*-1\)\]{left:calc(var(--sidebar-width) * -1)}.group[data-collapsible=offcanvas] .group-data-\[collapsible\=offcanvas\]\:right-\[calc\(var\(--sidebar-width\)\*-1\)\]{right:calc(var(--sidebar-width) * -1)}.group[data-side=left] .group-data-\[side\=left\]\:-right-4{right:-1rem}.group[data-side=right] .group-data-\[side\=right\]\:left-0{left:0}.group[data-collapsible=icon] .group-data-\[collapsible\=icon\]\:-mt-8{margin-top:-2rem}.group[data-collapsible=icon] .group-data-\[collapsible\=icon\]\:hidden{display:none}.group[data-state=collapsed] .group-data-\[state\=collapsed\]\:\!hidden{display:none!important}.group[data-collapsible=icon] .group-data-\[collapsible\=icon\]\:\!size-8{width:2rem!important;height:2rem!important}.group[data-collapsible=icon] .group-data-\[collapsible\=icon\]\:w-\[--sidebar-width-icon\]{width:var(--sidebar-width-icon)}.group[data-collapsible=icon] .group-data-\[collapsible\=icon\]\:w-\[calc\(var\(--sidebar-width-icon\)_\+_theme\(spacing\.4\)\)\]{width:calc(var(--sidebar-width-icon) + 1rem)}.group[data-collapsible=icon] .group-data-\[collapsible\=icon\]\:w-\[calc\(var\(--sidebar-width-icon\)_\+_theme\(spacing\.4\)_\+2px\)\]{width:calc(var(--sidebar-width-icon) + 1rem + 2px)}.group[data-collapsible=offcanvas] .group-data-\[collapsible\=offcanvas\]\:w-0{width:0px}.group[data-collapsible=offcanvas] .group-data-\[collapsible\=offcanvas\]\:translate-x-0{--tw-translate-x: 0px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group[data-side=right] .group-data-\[side\=right\]\:rotate-180{--tw-rotate: 180deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group[data-collapsible=icon] .group-data-\[collapsible\=icon\]\:overflow-hidden{overflow:hidden}.group[data-variant=floating] .group-data-\[variant\=floating\]\:rounded-lg{border-radius:var(--radius)}.group[data-variant=floating] .group-data-\[variant\=floating\]\:border{border-width:1px}.group[data-side=left] .group-data-\[side\=left\]\:border-r{border-right-width:1px}.group[data-side=right] .group-data-\[side\=right\]\:border-l{border-left-width:1px}.group[data-variant=floating] .group-data-\[variant\=floating\]\:border-sidebar-border{border-color:hsl(var(--sidebar-border))}.group[data-collapsible=icon] .group-data-\[collapsible\=icon\]\:\!p-0{padding:0!important}.group[data-collapsible=icon] .group-data-\[collapsible\=icon\]\:\!p-2{padding:.5rem!important}.group[data-collapsible=icon] .group-data-\[collapsible\=icon\]\:opacity-0{opacity:0}.group[data-variant=floating] .group-data-\[variant\=floating\]\:shadow{--tw-shadow: 0 1px 3px 0 rgb(0 0 0 / .1), 0 1px 2px -1px rgb(0 0 0 / .1);--tw-shadow-colored: 0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.group[data-collapsible=offcanvas] .group-data-\[collapsible\=offcanvas\]\:after\:left-full:after{content:var(--tw-content);left:100%}.group[data-collapsible=offcanvas] .group-data-\[collapsible\=offcanvas\]\:hover\:bg-sidebar:hover{background-color:hsl(var(--sidebar-background))}.peer\/menu-button[data-size=default]~.peer-data-\[size\=default\]\/menu-button\:top-1\.5{top:.375rem}.peer\/menu-button[data-size=lg]~.peer-data-\[size\=lg\]\/menu-button\:top-2\.5{top:.625rem}.peer\/menu-button[data-size=sm]~.peer-data-\[size\=sm\]\/menu-button\:top-1{top:.25rem}.peer\/menu-button[data-active=true]~.peer-data-\[active\=true\]\/menu-button\:text-sidebar-accent-foreground{color:hsl(var(--sidebar-accent-foreground))}.dark\:text-yellow-400:is(.dark *){--tw-text-opacity: 1;color:rgb(250 204 21 / var(--tw-text-opacity, 1))}@media(min-width:640px){.sm\:inline{display:inline}.sm\:flex{display:flex}.sm\:max-w-3xl{max-width:48rem}.sm\:max-w-sm{max-width:24rem}.sm\:flex-row{flex-direction:row}.sm\:justify-end{justify-content:flex-end}.sm\:gap-2\.5{gap:.625rem}.sm\:space-x-2>:not([hidden])~:not([hidden]){--tw-space-x-reverse: 0;margin-right:calc(.5rem * var(--tw-space-x-reverse));margin-left:calc(.5rem * calc(1 - var(--tw-space-x-reverse)))}.sm\:text-left{text-align:left}}@media(min-width:768px){.md\:block{display:block}.md\:flex{display:flex}.md\:text-sm{font-size:.875rem;line-height:1.25rem}.md\:text-xs{font-size:.75rem;line-height:1rem}.md\:opacity-0{opacity:0}.after\:md\:hidden:after{content:var(--tw-content);display:none}.peer[data-variant=inset]~.md\:peer-data-\[variant\=inset\]\:m-2{margin:.5rem}.peer[data-state=collapsed][data-variant=inset]~.md\:peer-data-\[state\=collapsed\]\:peer-data-\[variant\=inset\]\:ml-2{margin-left:.5rem}.peer[data-variant=inset]~.md\:peer-data-\[variant\=inset\]\:ml-0{margin-left:0}.peer[data-variant=inset]~.md\:peer-data-\[variant\=inset\]\:rounded-xl{border-radius:.75rem}.peer[data-variant=inset]~.md\:peer-data-\[variant\=inset\]\:shadow{--tw-shadow: 0 1px 3px 0 rgb(0 0 0 / .1), 0 1px 2px -1px rgb(0 0 0 / .1);--tw-shadow-colored: 0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}}@media(min-width:1024px){.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}}.\[\&\>button\:last-child\]\:hidden>button:last-child{display:none}.\[\&\>button\]\:hidden>button{display:none}.\[\&\>div\]\:\!block>div{display:block!important}.\[\&\>div\]\:\!min-w-0>div{min-width:0px!important}.\[\&\>span\:last-child\]\:truncate>span:last-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.\[\&\>span\]\:line-clamp-1>span{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:1}.\[\&\>span\]\:h-3>span{height:.75rem}.\[\&\>span\]\:w-3>span{width:.75rem}.\[\&\>span\]\:data-\[state\=checked\]\:translate-x-3[data-state=checked]>span{--tw-translate-x: .75rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.\[\&\>svg\]\:pointer-events-none>svg{pointer-events:none}.\[\&\>svg\]\:size-3>svg{width:.75rem;height:.75rem}.\[\&\>svg\]\:size-3\.5>svg{width:.875rem;height:.875rem}.\[\&\>svg\]\:size-4>svg{width:1rem;height:1rem}.\[\&\>svg\]\:h-3\.5>svg{height:.875rem}.\[\&\>svg\]\:w-3\.5>svg{width:.875rem}.\[\&\>svg\]\:max-w-full>svg{max-width:100%}.\[\&\>svg\]\:shrink-0>svg{flex-shrink:0}.\[\&\>svg\]\:text-sidebar-accent-foreground>svg{color:hsl(var(--sidebar-accent-foreground))}.\[\&_\.diff-container\]\:font-mono .diff-container{font-family:Geist Mono,ui-monospace,monospace}.\[\&_\.diff-container\]\:text-sm .diff-container{font-size:.875rem;line-height:1.25rem}.\[\&_\.shiki\]\:\!bg-transparent .shiki{background-color:transparent!important}.\[\&_\[cmdk-group-heading\]\]\:px-2 [cmdk-group-heading]{padding-left:.5rem;padding-right:.5rem}.\[\&_\[cmdk-group-heading\]\]\:py-1\.5 [cmdk-group-heading]{padding-top:.375rem;padding-bottom:.375rem}.\[\&_\[cmdk-group-heading\]\]\:text-xs [cmdk-group-heading]{font-size:.75rem;line-height:1rem}.\[\&_\[cmdk-group-heading\]\]\:font-medium [cmdk-group-heading]{font-weight:500}.\[\&_\[cmdk-group-heading\]\]\:text-muted-foreground [cmdk-group-heading]{color:hsl(var(--muted-foreground))}.\[\&_\[cmdk-group\]\:not\(\[hidden\]\)_\~\[cmdk-group\]\]\:pt-0 [cmdk-group]:not([hidden])~[cmdk-group]{padding-top:0}.\[\&_\[cmdk-input-wrapper\]_svg\]\:h-5 [cmdk-input-wrapper] svg{height:1.25rem}.\[\&_\[cmdk-input-wrapper\]_svg\]\:w-5 [cmdk-input-wrapper] svg{width:1.25rem}.\[\&_\[cmdk-input\]\]\:h-12 [cmdk-input]{height:3rem}.\[\&_\[cmdk-item\]\]\:px-2 [cmdk-item]{padding-left:.5rem;padding-right:.5rem}.\[\&_\[cmdk-item\]\]\:py-3 [cmdk-item]{padding-top:.75rem;padding-bottom:.75rem}.\[\&_\[data-radix-scroll-area-viewport\]\>div\]\:\!flex [data-radix-scroll-area-viewport]>div{display:flex!important}.\[\&_\[data-radix-scroll-area-viewport\]\>div\]\:min-h-full [data-radix-scroll-area-viewport]>div{min-height:100%}.\[\&_\[data-radix-scroll-area-viewport\]\>div\]\:\!flex-col [data-radix-scroll-area-viewport]>div{flex-direction:column!important}.\[\&_code\]\:\!p-0 code{padding:0!important}.\[\&_pre\]\:\!m-0 pre{margin:0!important}.\[\&_svg\]\:pointer-events-none svg{pointer-events:none}.\[\&_svg\]\:size-4 svg{width:1rem;height:1rem}.\[\&_svg\]\:shrink-0 svg{flex-shrink:0}.\[\&_table\]\:w-full table{width:100%}.\[\&_table\]\:w-max table{width:-moz-max-content;width:max-content}.\[\&_td\:last-child\]\:w-auto td:last-child{width:auto}.\[\&_td\:last-child\]\:min-w-0 td:last-child{min-width:0px}.\[\&_td\]\:overflow-hidden td{overflow:hidden}.\[\&_td\]\:text-ellipsis td{text-overflow:ellipsis}[data-side=left][data-collapsible=offcanvas] .\[\[data-side\=left\]\[data-collapsible\=offcanvas\]_\&\]\:-right-2{right:-.5rem}[data-side=right][data-collapsible=offcanvas] .\[\[data-side\=right\]\[data-collapsible\=offcanvas\]_\&\]\:-left-2{left:-.5rem}a.\[a\&\]\:hover\:bg-accent:hover{background-color:hsl(var(--accent))}a.\[a\&\]\:hover\:text-accent-foreground:hover{color:hsl(var(--accent-foreground))}
@@ -0,0 +1,2 @@
1
+ import{c as e,l as s,L as n,f as i,M as p}from"./mermaid-C0IQv4mH.js";import{p as g}from"./treemap-GDKQZRPO-DZ7i2Nwu.js";import"./markdown-9_JKOUHQ.js";import"./_baseUniq-CZf5jOXa.js";import"./_basePickBy-BeHeP2rS.js";import"./clone-CzE9L7Ig.js";var v={parse:e(async r=>{const a=await g("info",r);s.debug(a)},"parse")},d={version:p.version+""},m=e(()=>d.version,"getVersion"),c={getVersion:m},f=e((r,a,o)=>{s.debug(`rendering info diagram
2
+ `+r);const t=n(a);i(t,100,400,!0),t.append("g").append("text").attr("x",100).attr("y",40).attr("class","version").attr("font-size",32).style("text-anchor","middle").text(`v${o}`)},"draw"),l={draw:f},z={parser:v,db:c,renderer:l};export{z as diagram};
@@ -0,0 +1 @@
1
+ import{r as d,e as $,j as D}from"./markdown-9_JKOUHQ.js";import{I as J,J as X,c as Y}from"./index-Z_QI94Zg.js";const B=(e,t,r,u)=>{const f=[r,{code:t,...u||{}}];if(e?.services?.logger?.forward)return e.services.logger.forward(f,"warn","react-i18next::",!0);b(f[0])&&(f[0]=`react-i18next:: ${f[0]}`),e?.services?.logger?.warn?e.services.logger.warn(...f):console?.warn&&console.warn(...f)},P={},A=(e,t,r,u)=>{b(r)&&P[r]||(b(r)&&(P[r]=new Date),B(e,t,r,u))},F=(e,t)=>()=>{if(e.isInitialized)t();else{const r=()=>{setTimeout(()=>{e.off("initialized",r)},0),t()};e.on("initialized",r)}},j=(e,t,r)=>{e.loadNamespaces(t,F(e,r))},U=(e,t,r,u)=>{if(b(r)&&(r=[r]),e.options.preload&&e.options.preload.indexOf(t)>-1)return j(e,r,u);r.forEach(f=>{e.options.ns.indexOf(f)<0&&e.options.ns.push(f)}),e.loadLanguages(t,F(e,u))},H=(e,t,r={})=>!t.languages||!t.languages.length?(A(t,"NO_LANGUAGES","i18n.languages were undefined or empty",{languages:t.languages}),!0):t.hasLoadedNamespace(e,{lng:r.lng,precheck:(u,f)=>{if(r.bindI18n&&r.bindI18n.indexOf("languageChanging")>-1&&u.services.backendConnector.backend&&u.isLanguageChangingTo&&!f(u.isLanguageChangingTo,e))return!1}}),b=e=>typeof e=="string",K=e=>typeof e=="object"&&e!==null,Q=d.createContext();class V{constructor(){this.usedNamespaces={}}addUsedNamespaces(t){t.forEach(r=>{this.usedNamespaces[r]||(this.usedNamespaces[r]=!0)})}getUsedNamespaces(){return Object.keys(this.usedNamespaces)}}var O={exports:{}},L={};var z;function Z(){if(z)return L;z=1;var e=$();function t(a,l){return a===l&&(a!==0||1/a===1/l)||a!==a&&l!==l}var r=typeof Object.is=="function"?Object.is:t,u=e.useState,f=e.useEffect,n=e.useLayoutEffect,m=e.useDebugValue;function x(a,l){var p=l(),h=u({inst:{value:p,getSnapshot:l}}),g=h[0].inst,w=h[1];return n(function(){g.value=p,g.getSnapshot=l,S(g)&&w({inst:g})},[a,p,l]),f(function(){return S(g)&&w({inst:g}),a(function(){S(g)&&w({inst:g})})},[a]),m(p),p}function S(a){var l=a.getSnapshot;a=a.value;try{var p=l();return!r(a,p)}catch{return!0}}function v(a,l){return l()}var R=typeof window>"u"||typeof window.document>"u"||typeof window.document.createElement>"u"?v:x;return L.useSyncExternalStore=e.useSyncExternalStore!==void 0?e.useSyncExternalStore:R,L}var q;function ee(){return q||(q=1,O.exports=Z()),O.exports}var te=ee();const ne=(e,t)=>b(t)?t:K(t)&&b(t.defaultValue)?t.defaultValue:Array.isArray(e)?e[e.length-1]:e,re={t:ne,ready:!1},ae=()=>()=>{},ce=(e,t={})=>{const{i18n:r}=t,{i18n:u,defaultNS:f}=d.useContext(Q)||{},n=r||u||X();n&&!n.reportNamespaces&&(n.reportNamespaces=new V),n||A(n,"NO_I18NEXT_INSTANCE","useTranslation: You will need to pass in an i18next instance by using initReactI18next");const m=d.useMemo(()=>({...J(),...n?.options?.react,...t}),[n,t]),{useSuspense:x,keyPrefix:S}=m,v=f||n?.options?.defaultNS,R=b(v)?[v]:v||["translation"],a=d.useMemo(()=>R,R);n?.reportNamespaces?.addUsedNamespaces?.(a);const l=d.useRef(0),p=d.useCallback(o=>{if(!n)return ae;const{bindI18n:s,bindI18nStore:i}=m,c=()=>{l.current+=1,o()};return s&&n.on(s,c),i&&n.store.on(i,c),()=>{s&&s.split(" ").forEach(C=>n.off(C,c)),i&&i.split(" ").forEach(C=>n.store.off(C,c))}},[n,m]),h=d.useRef(),g=d.useCallback(()=>{if(!n)return re;const o=!!(n.isInitialized||n.initializedStoreOnce)&&a.every(W=>H(W,n,m)),s=t.lng||n.language,i=l.current,c=h.current;if(c&&c.ready===o&&c.lng===s&&c.keyPrefix===S&&c.revision===i)return c;const k={t:n.getFixedT(s,m.nsMode==="fallback"?a:a[0],S),ready:o,lng:s,keyPrefix:S,revision:i};return h.current=k,k},[n,a,S,m,t.lng]),[w,M]=d.useState(0),{t:_,ready:y}=te.useSyncExternalStore(p,g,g);d.useEffect(()=>{if(n&&!y&&!x){const o=()=>M(s=>s+1);t.lng?U(n,t.lng,a,o):j(n,a,o)}},[n,t.lng,a,y,x,w]);const N=n||{},E=d.useRef(null),I=d.useRef(),T=o=>{const s=Object.getOwnPropertyDescriptors(o);s.__original&&delete s.__original;const i=Object.create(Object.getPrototypeOf(o),s);if(!Object.prototype.hasOwnProperty.call(i,"__original"))try{Object.defineProperty(i,"__original",{value:o,writable:!1,enumerable:!1,configurable:!1})}catch{}return i},G=d.useMemo(()=>{const o=N,s=o?.language;let i=o;o&&(E.current&&E.current.__original===o?I.current!==s?(i=T(o),E.current=i,I.current=s):i=E.current:(i=T(o),E.current=i,I.current=s));const c=[_,i,y];return c.t=_,c.i18n=i,c.ready=y,c},[_,N,y,N.resolvedLanguage,N.language,N.languages]);if(n&&x&&!y)throw new Promise(o=>{const s=()=>o();t.lng?U(n,t.lng,a,s):j(n,a,s)});return G},se=d.forwardRef(({className:e,type:t,...r},u)=>D.jsx("input",{type:t,className:Y("flex h-10 w-full rounded-md border border-input bg-background px-3 py-2 text-base ring-offset-background file:border-0 file:bg-transparent file:text-sm file:font-medium file:text-foreground placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50 md:text-sm",e),ref:u,...r}));se.displayName="Input";export{se as I,ee as r,te as s,ce as u};
@@ -0,0 +1 @@
1
+ import{t as r}from"./use-ws-BIe6kKa2.js";import{f as n,b as o}from"./index-Z_QI94Zg.js";import"./createLucideIcon-CsWFljth.js";import"./markdown-9_JKOUHQ.js";import"./button-D8qrc3hb.js";import"./terminal-CuAYwdh-.js";import"./mermaid-C0IQv4mH.js";const c=n(e=>({isOpen:!1,filePath:null,initialContent:null,openFile:async i=>{const t=await o.readFile(i);if(t.isErr()){r.error("Failed to open file",{description:t.error.message});return}e({isOpen:!0,filePath:i,initialContent:t.value.content})},closeEditor:()=>e({isOpen:!1,filePath:null,initialContent:null})}));export{c as useInternalEditorStore};
@@ -0,0 +1,139 @@
1
+ import{a as gt,g as lt,f as mt,d as xt}from"./chunk-TZMSLE5B-Cgz2v9ud.js";import{g as kt}from"./chunk-FMBD7UC4-MKWtG46g.js";import{g as _t,s as vt,a as bt,b as wt,v as Tt,t as St,c as n,d as R,e as X,f as $t,A as Mt,O as et}from"./mermaid-C0IQv4mH.js";import"./markdown-9_JKOUHQ.js";var U=(function(){var t=n(function(h,i,a,l){for(a=a||{},l=h.length;l--;a[h[l]]=i);return a},"o"),e=[6,8,10,11,12,14,16,17,18],s=[1,9],c=[1,10],r=[1,11],f=[1,12],u=[1,13],y=[1,14],g={trace:n(function(){},"trace"),yy:{},symbols_:{error:2,start:3,journey:4,document:5,EOF:6,line:7,SPACE:8,statement:9,NEWLINE:10,title:11,acc_title:12,acc_title_value:13,acc_descr:14,acc_descr_value:15,acc_descr_multiline_value:16,section:17,taskName:18,taskData:19,$accept:0,$end:1},terminals_:{2:"error",4:"journey",6:"EOF",8:"SPACE",10:"NEWLINE",11:"title",12:"acc_title",13:"acc_title_value",14:"acc_descr",15:"acc_descr_value",16:"acc_descr_multiline_value",17:"section",18:"taskName",19:"taskData"},productions_:[0,[3,3],[5,0],[5,2],[7,2],[7,1],[7,1],[7,1],[9,1],[9,2],[9,2],[9,1],[9,1],[9,2]],performAction:n(function(i,a,l,d,p,o,b){var k=o.length-1;switch(p){case 1:return o[k-1];case 2:this.$=[];break;case 3:o[k-1].push(o[k]),this.$=o[k-1];break;case 4:case 5:this.$=o[k];break;case 6:case 7:this.$=[];break;case 8:d.setDiagramTitle(o[k].substr(6)),this.$=o[k].substr(6);break;case 9:this.$=o[k].trim(),d.setAccTitle(this.$);break;case 10:case 11:this.$=o[k].trim(),d.setAccDescription(this.$);break;case 12:d.addSection(o[k].substr(8)),this.$=o[k].substr(8);break;case 13:d.addTask(o[k-1],o[k]),this.$="task";break}},"anonymous"),table:[{3:1,4:[1,2]},{1:[3]},t(e,[2,2],{5:3}),{6:[1,4],7:5,8:[1,6],9:7,10:[1,8],11:s,12:c,14:r,16:f,17:u,18:y},t(e,[2,7],{1:[2,1]}),t(e,[2,3]),{9:15,11:s,12:c,14:r,16:f,17:u,18:y},t(e,[2,5]),t(e,[2,6]),t(e,[2,8]),{13:[1,16]},{15:[1,17]},t(e,[2,11]),t(e,[2,12]),{19:[1,18]},t(e,[2,4]),t(e,[2,9]),t(e,[2,10]),t(e,[2,13])],defaultActions:{},parseError:n(function(i,a){if(a.recoverable)this.trace(i);else{var l=new Error(i);throw l.hash=a,l}},"parseError"),parse:n(function(i){var a=this,l=[0],d=[],p=[null],o=[],b=this.table,k="",C=0,K=0,dt=2,Q=1,yt=o.slice.call(arguments,1),_=Object.create(this.lexer),I={yy:{}};for(var O in this.yy)Object.prototype.hasOwnProperty.call(this.yy,O)&&(I.yy[O]=this.yy[O]);_.setInput(i,I.yy),I.yy.lexer=_,I.yy.parser=this,typeof _.yylloc>"u"&&(_.yylloc={});var Y=_.yylloc;o.push(Y);var ft=_.options&&_.options.ranges;typeof I.yy.parseError=="function"?this.parseError=I.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function pt(w){l.length=l.length-2*w,p.length=p.length-w,o.length=o.length-w}n(pt,"popStack");function D(){var w;return w=d.pop()||_.lex()||Q,typeof w!="number"&&(w instanceof Array&&(d=w,w=d.pop()),w=a.symbols_[w]||w),w}n(D,"lex");for(var v,A,T,q,F={},N,M,tt,z;;){if(A=l[l.length-1],this.defaultActions[A]?T=this.defaultActions[A]:((v===null||typeof v>"u")&&(v=D()),T=b[A]&&b[A][v]),typeof T>"u"||!T.length||!T[0]){var H="";z=[];for(N in b[A])this.terminals_[N]&&N>dt&&z.push("'"+this.terminals_[N]+"'");_.showPosition?H="Parse error on line "+(C+1)+`:
2
+ `+_.showPosition()+`
3
+ Expecting `+z.join(", ")+", got '"+(this.terminals_[v]||v)+"'":H="Parse error on line "+(C+1)+": Unexpected "+(v==Q?"end of input":"'"+(this.terminals_[v]||v)+"'"),this.parseError(H,{text:_.match,token:this.terminals_[v]||v,line:_.yylineno,loc:Y,expected:z})}if(T[0]instanceof Array&&T.length>1)throw new Error("Parse Error: multiple actions possible at state: "+A+", token: "+v);switch(T[0]){case 1:l.push(v),p.push(_.yytext),o.push(_.yylloc),l.push(T[1]),v=null,K=_.yyleng,k=_.yytext,C=_.yylineno,Y=_.yylloc;break;case 2:if(M=this.productions_[T[1]][1],F.$=p[p.length-M],F._$={first_line:o[o.length-(M||1)].first_line,last_line:o[o.length-1].last_line,first_column:o[o.length-(M||1)].first_column,last_column:o[o.length-1].last_column},ft&&(F._$.range=[o[o.length-(M||1)].range[0],o[o.length-1].range[1]]),q=this.performAction.apply(F,[k,K,C,I.yy,T[1],p,o].concat(yt)),typeof q<"u")return q;M&&(l=l.slice(0,-1*M*2),p=p.slice(0,-1*M),o=o.slice(0,-1*M)),l.push(this.productions_[T[1]][0]),p.push(F.$),o.push(F._$),tt=b[l[l.length-2]][l[l.length-1]],l.push(tt);break;case 3:return!0}}return!0},"parse")},m=(function(){var h={EOF:1,parseError:n(function(a,l){if(this.yy.parser)this.yy.parser.parseError(a,l);else throw new Error(a)},"parseError"),setInput:n(function(i,a){return this.yy=a||this.yy||{},this._input=i,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:n(function(){var i=this._input[0];this.yytext+=i,this.yyleng++,this.offset++,this.match+=i,this.matched+=i;var a=i.match(/(?:\r\n?|\n).*/g);return a?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),i},"input"),unput:n(function(i){var a=i.length,l=i.split(/(?:\r\n?|\n)/g);this._input=i+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-a),this.offset-=a;var d=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),l.length-1&&(this.yylineno-=l.length-1);var p=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:l?(l.length===d.length?this.yylloc.first_column:0)+d[d.length-l.length].length-l[0].length:this.yylloc.first_column-a},this.options.ranges&&(this.yylloc.range=[p[0],p[0]+this.yyleng-a]),this.yyleng=this.yytext.length,this},"unput"),more:n(function(){return this._more=!0,this},"more"),reject:n(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:n(function(i){this.unput(this.match.slice(i))},"less"),pastInput:n(function(){var i=this.matched.substr(0,this.matched.length-this.match.length);return(i.length>20?"...":"")+i.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:n(function(){var i=this.match;return i.length<20&&(i+=this._input.substr(0,20-i.length)),(i.substr(0,20)+(i.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:n(function(){var i=this.pastInput(),a=new Array(i.length+1).join("-");return i+this.upcomingInput()+`
5
+ `+a+"^"},"showPosition"),test_match:n(function(i,a){var l,d,p;if(this.options.backtrack_lexer&&(p={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&&(p.yylloc.range=this.yylloc.range.slice(0))),d=i[0].match(/(?:\r\n?|\n).*/g),d&&(this.yylineno+=d.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:d?d[d.length-1].length-d[d.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+i[0].length},this.yytext+=i[0],this.match+=i[0],this.matches=i,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(i[0].length),this.matched+=i[0],l=this.performAction.call(this,this.yy,this,a,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),l)return l;if(this._backtrack){for(var o in p)this[o]=p[o];return!1}return!1},"test_match"),next:n(function(){if(this.done)return this.EOF;this._input||(this.done=!0);var i,a,l,d;this._more||(this.yytext="",this.match="");for(var p=this._currentRules(),o=0;o<p.length;o++)if(l=this._input.match(this.rules[p[o]]),l&&(!a||l[0].length>a[0].length)){if(a=l,d=o,this.options.backtrack_lexer){if(i=this.test_match(l,p[o]),i!==!1)return i;if(this._backtrack){a=!1;continue}else return!1}else if(!this.options.flex)break}return a?(i=this.test_match(a,p[d]),i!==!1?i:!1):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:n(function(){var a=this.next();return a||this.lex()},"lex"),begin:n(function(a){this.conditionStack.push(a)},"begin"),popState:n(function(){var a=this.conditionStack.length-1;return a>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:n(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:n(function(a){return a=this.conditionStack.length-1-Math.abs(a||0),a>=0?this.conditionStack[a]:"INITIAL"},"topState"),pushState:n(function(a){this.begin(a)},"pushState"),stateStackSize:n(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:n(function(a,l,d,p){switch(d){case 0:break;case 1:break;case 2:return 10;case 3:break;case 4:break;case 5:return 4;case 6:return 11;case 7:return this.begin("acc_title"),12;case 8:return this.popState(),"acc_title_value";case 9:return this.begin("acc_descr"),14;case 10:return this.popState(),"acc_descr_value";case 11:this.begin("acc_descr_multiline");break;case 12:this.popState();break;case 13:return"acc_descr_multiline_value";case 14:return 17;case 15:return 18;case 16:return 19;case 17:return":";case 18:return 6;case 19:return"INVALID"}},"anonymous"),rules:[/^(?:%(?!\{)[^\n]*)/i,/^(?:[^\}]%%[^\n]*)/i,/^(?:[\n]+)/i,/^(?:\s+)/i,/^(?:#[^\n]*)/i,/^(?:journey\b)/i,/^(?:title\s[^#\n;]+)/i,/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:[\}])/i,/^(?:[^\}]*)/i,/^(?:section\s[^#:\n;]+)/i,/^(?:[^#:\n;]+)/i,/^(?::[^#\n;]+)/i,/^(?::)/i,/^(?:$)/i,/^(?:.)/i],conditions:{acc_descr_multiline:{rules:[12,13],inclusive:!1},acc_descr:{rules:[10],inclusive:!1},acc_title:{rules:[8],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,5,6,7,9,11,14,15,16,17,18,19],inclusive:!0}}};return h})();g.lexer=m;function x(){this.yy={}}return n(x,"Parser"),x.prototype=g,g.Parser=x,new x})();U.parser=U;var Et=U,V="",Z=[],L=[],B=[],Ct=n(function(){Z.length=0,L.length=0,V="",B.length=0,Mt()},"clear"),Pt=n(function(t){V=t,Z.push(t)},"addSection"),It=n(function(){return Z},"getSections"),At=n(function(){let t=it();const e=100;let s=0;for(;!t&&s<e;)t=it(),s++;return L.push(...B),L},"getTasks"),Ft=n(function(){const t=[];return L.forEach(s=>{s.people&&t.push(...s.people)}),[...new Set(t)].sort()},"updateActors"),Vt=n(function(t,e){const s=e.substr(1).split(":");let c=0,r=[];s.length===1?(c=Number(s[0]),r=[]):(c=Number(s[0]),r=s[1].split(","));const f=r.map(y=>y.trim()),u={section:V,type:V,people:f,task:t,score:c};B.push(u)},"addTask"),Rt=n(function(t){const e={section:V,type:V,description:t,task:t,classes:[]};L.push(e)},"addTaskOrg"),it=n(function(){const t=n(function(s){return B[s].processed},"compileTask");let e=!0;for(const[s,c]of B.entries())t(s),e=e&&c.processed;return e},"compileTasks"),Lt=n(function(){return Ft()},"getActors"),rt={getConfig:n(()=>R().journey,"getConfig"),clear:Ct,setDiagramTitle:St,getDiagramTitle:Tt,setAccTitle:wt,getAccTitle:bt,setAccDescription:vt,getAccDescription:_t,addSection:Pt,getSections:It,getTasks:At,addTask:Vt,addTaskOrg:Rt,getActors:Lt},Bt=n(t=>`.label {
7
+ font-family: ${t.fontFamily};
8
+ color: ${t.textColor};
9
+ }
10
+ .mouth {
11
+ stroke: #666;
12
+ }
13
+
14
+ line {
15
+ stroke: ${t.textColor}
16
+ }
17
+
18
+ .legend {
19
+ fill: ${t.textColor};
20
+ font-family: ${t.fontFamily};
21
+ }
22
+
23
+ .label text {
24
+ fill: #333;
25
+ }
26
+ .label {
27
+ color: ${t.textColor}
28
+ }
29
+
30
+ .face {
31
+ ${t.faceColor?`fill: ${t.faceColor}`:"fill: #FFF8DC"};
32
+ stroke: #999;
33
+ }
34
+
35
+ .node rect,
36
+ .node circle,
37
+ .node ellipse,
38
+ .node polygon,
39
+ .node path {
40
+ fill: ${t.mainBkg};
41
+ stroke: ${t.nodeBorder};
42
+ stroke-width: 1px;
43
+ }
44
+
45
+ .node .label {
46
+ text-align: center;
47
+ }
48
+ .node.clickable {
49
+ cursor: pointer;
50
+ }
51
+
52
+ .arrowheadPath {
53
+ fill: ${t.arrowheadColor};
54
+ }
55
+
56
+ .edgePath .path {
57
+ stroke: ${t.lineColor};
58
+ stroke-width: 1.5px;
59
+ }
60
+
61
+ .flowchart-link {
62
+ stroke: ${t.lineColor};
63
+ fill: none;
64
+ }
65
+
66
+ .edgeLabel {
67
+ background-color: ${t.edgeLabelBackground};
68
+ rect {
69
+ opacity: 0.5;
70
+ }
71
+ text-align: center;
72
+ }
73
+
74
+ .cluster rect {
75
+ }
76
+
77
+ .cluster text {
78
+ fill: ${t.titleColor};
79
+ }
80
+
81
+ div.mermaidTooltip {
82
+ position: absolute;
83
+ text-align: center;
84
+ max-width: 200px;
85
+ padding: 2px;
86
+ font-family: ${t.fontFamily};
87
+ font-size: 12px;
88
+ background: ${t.tertiaryColor};
89
+ border: 1px solid ${t.border2};
90
+ border-radius: 2px;
91
+ pointer-events: none;
92
+ z-index: 100;
93
+ }
94
+
95
+ .task-type-0, .section-type-0 {
96
+ ${t.fillType0?`fill: ${t.fillType0}`:""};
97
+ }
98
+ .task-type-1, .section-type-1 {
99
+ ${t.fillType0?`fill: ${t.fillType1}`:""};
100
+ }
101
+ .task-type-2, .section-type-2 {
102
+ ${t.fillType0?`fill: ${t.fillType2}`:""};
103
+ }
104
+ .task-type-3, .section-type-3 {
105
+ ${t.fillType0?`fill: ${t.fillType3}`:""};
106
+ }
107
+ .task-type-4, .section-type-4 {
108
+ ${t.fillType0?`fill: ${t.fillType4}`:""};
109
+ }
110
+ .task-type-5, .section-type-5 {
111
+ ${t.fillType0?`fill: ${t.fillType5}`:""};
112
+ }
113
+ .task-type-6, .section-type-6 {
114
+ ${t.fillType0?`fill: ${t.fillType6}`:""};
115
+ }
116
+ .task-type-7, .section-type-7 {
117
+ ${t.fillType0?`fill: ${t.fillType7}`:""};
118
+ }
119
+
120
+ .actor-0 {
121
+ ${t.actor0?`fill: ${t.actor0}`:""};
122
+ }
123
+ .actor-1 {
124
+ ${t.actor1?`fill: ${t.actor1}`:""};
125
+ }
126
+ .actor-2 {
127
+ ${t.actor2?`fill: ${t.actor2}`:""};
128
+ }
129
+ .actor-3 {
130
+ ${t.actor3?`fill: ${t.actor3}`:""};
131
+ }
132
+ .actor-4 {
133
+ ${t.actor4?`fill: ${t.actor4}`:""};
134
+ }
135
+ .actor-5 {
136
+ ${t.actor5?`fill: ${t.actor5}`:""};
137
+ }
138
+ ${kt()}
139
+ `,"getStyles"),jt=Bt,J=n(function(t,e){return xt(t,e)},"drawRect"),Nt=n(function(t,e){const c=t.append("circle").attr("cx",e.cx).attr("cy",e.cy).attr("class","face").attr("r",15).attr("stroke-width",2).attr("overflow","visible"),r=t.append("g");r.append("circle").attr("cx",e.cx-15/3).attr("cy",e.cy-15/3).attr("r",1.5).attr("stroke-width",2).attr("fill","#666").attr("stroke","#666"),r.append("circle").attr("cx",e.cx+15/3).attr("cy",e.cy-15/3).attr("r",1.5).attr("stroke-width",2).attr("fill","#666").attr("stroke","#666");function f(g){const m=et().startAngle(Math.PI/2).endAngle(3*(Math.PI/2)).innerRadius(7.5).outerRadius(6.8181818181818175);g.append("path").attr("class","mouth").attr("d",m).attr("transform","translate("+e.cx+","+(e.cy+2)+")")}n(f,"smile");function u(g){const m=et().startAngle(3*Math.PI/2).endAngle(5*(Math.PI/2)).innerRadius(7.5).outerRadius(6.8181818181818175);g.append("path").attr("class","mouth").attr("d",m).attr("transform","translate("+e.cx+","+(e.cy+7)+")")}n(u,"sad");function y(g){g.append("line").attr("class","mouth").attr("stroke",2).attr("x1",e.cx-5).attr("y1",e.cy+7).attr("x2",e.cx+5).attr("y2",e.cy+7).attr("class","mouth").attr("stroke-width","1px").attr("stroke","#666")}return n(y,"ambivalent"),e.score>3?f(r):e.score<3?u(r):y(r),c},"drawFace"),ot=n(function(t,e){const s=t.append("circle");return s.attr("cx",e.cx),s.attr("cy",e.cy),s.attr("class","actor-"+e.pos),s.attr("fill",e.fill),s.attr("stroke",e.stroke),s.attr("r",e.r),s.class!==void 0&&s.attr("class",s.class),e.title!==void 0&&s.append("title").text(e.title),s},"drawCircle"),ct=n(function(t,e){return mt(t,e)},"drawText"),zt=n(function(t,e){function s(r,f,u,y,g){return r+","+f+" "+(r+u)+","+f+" "+(r+u)+","+(f+y-g)+" "+(r+u-g*1.2)+","+(f+y)+" "+r+","+(f+y)}n(s,"genPoints");const c=t.append("polygon");c.attr("points",s(e.x,e.y,50,20,7)),c.attr("class","labelBox"),e.y=e.y+e.labelMargin,e.x=e.x+.5*e.labelMargin,ct(t,e)},"drawLabel"),Wt=n(function(t,e,s){const c=t.append("g"),r=lt();r.x=e.x,r.y=e.y,r.fill=e.fill,r.width=s.width*e.taskCount+s.diagramMarginX*(e.taskCount-1),r.height=s.height,r.class="journey-section section-type-"+e.num,r.rx=3,r.ry=3,J(c,r),ht(s)(e.text,c,r.x,r.y,r.width,r.height,{class:"journey-section section-type-"+e.num},s,e.colour)},"drawSection"),nt=-1,Ot=n(function(t,e,s){const c=e.x+s.width/2,r=t.append("g");nt++,r.append("line").attr("id","task"+nt).attr("x1",c).attr("y1",e.y).attr("x2",c).attr("y2",450).attr("class","task-line").attr("stroke-width","1px").attr("stroke-dasharray","4 2").attr("stroke","#666"),Nt(r,{cx:c,cy:300+(5-e.score)*30,score:e.score});const u=lt();u.x=e.x,u.y=e.y,u.fill=e.fill,u.width=s.width,u.height=s.height,u.class="task task-type-"+e.num,u.rx=3,u.ry=3,J(r,u);let y=e.x+14;e.people.forEach(g=>{const m=e.actors[g].color,x={cx:y,cy:e.y,r:7,fill:m,stroke:"#000",title:g,pos:e.actors[g].position};ot(r,x),y+=10}),ht(s)(e.task,r,u.x,u.y,u.width,u.height,{class:"task"},s,e.colour)},"drawTask"),Yt=n(function(t,e){gt(t,e)},"drawBackgroundRect"),ht=(function(){function t(r,f,u,y,g,m,x,h){const i=f.append("text").attr("x",u+g/2).attr("y",y+m/2+5).style("font-color",h).style("text-anchor","middle").text(r);c(i,x)}n(t,"byText");function e(r,f,u,y,g,m,x,h,i){const{taskFontSize:a,taskFontFamily:l}=h,d=r.split(/<br\s*\/?>/gi);for(let p=0;p<d.length;p++){const o=p*a-a*(d.length-1)/2,b=f.append("text").attr("x",u+g/2).attr("y",y).attr("fill",i).style("text-anchor","middle").style("font-size",a).style("font-family",l);b.append("tspan").attr("x",u+g/2).attr("dy",o).text(d[p]),b.attr("y",y+m/2).attr("dominant-baseline","central").attr("alignment-baseline","central"),c(b,x)}}n(e,"byTspan");function s(r,f,u,y,g,m,x,h){const i=f.append("switch"),l=i.append("foreignObject").attr("x",u).attr("y",y).attr("width",g).attr("height",m).attr("position","fixed").append("xhtml:div").style("display","table").style("height","100%").style("width","100%");l.append("div").attr("class","label").style("display","table-cell").style("text-align","center").style("vertical-align","middle").text(r),e(r,i,u,y,g,m,x,h),c(l,x)}n(s,"byFo");function c(r,f){for(const u in f)u in f&&r.attr(u,f[u])}return n(c,"_setTextAttrs"),function(r){return r.textPlacement==="fo"?s:r.textPlacement==="old"?t:e}})(),qt=n(function(t){t.append("defs").append("marker").attr("id","arrowhead").attr("refX",5).attr("refY",2).attr("markerWidth",6).attr("markerHeight",4).attr("orient","auto").append("path").attr("d","M 0,0 V 4 L6,2 Z")},"initGraphics"),j={drawRect:J,drawCircle:ot,drawSection:Wt,drawText:ct,drawLabel:zt,drawTask:Ot,drawBackgroundRect:Yt,initGraphics:qt},Ht=n(function(t){Object.keys(t).forEach(function(s){$[s]=t[s]})},"setConf"),E={},W=0;function ut(t){const e=R().journey,s=e.maxLabelWidth;W=0;let c=60;Object.keys(E).forEach(r=>{const f=E[r].color,u={cx:20,cy:c,r:7,fill:f,stroke:"#000",pos:E[r].position};j.drawCircle(t,u);let y=t.append("text").attr("visibility","hidden").text(r);const g=y.node().getBoundingClientRect().width;y.remove();let m=[];if(g<=s)m=[r];else{const x=r.split(" ");let h="";y=t.append("text").attr("visibility","hidden"),x.forEach(i=>{const a=h?`${h} ${i}`:i;if(y.text(a),y.node().getBoundingClientRect().width>s){if(h&&m.push(h),h=i,y.text(i),y.node().getBoundingClientRect().width>s){let d="";for(const p of i)d+=p,y.text(d+"-"),y.node().getBoundingClientRect().width>s&&(m.push(d.slice(0,-1)+"-"),d=p);h=d}}else h=a}),h&&m.push(h),y.remove()}m.forEach((x,h)=>{const i={x:40,y:c+7+h*20,fill:"#666",text:x,textMargin:e.boxTextMargin??5},l=j.drawText(t,i).node().getBoundingClientRect().width;l>W&&l>e.leftMargin-l&&(W=l)}),c+=Math.max(20,m.length*20)})}n(ut,"drawActorLegend");var $=R().journey,P=0,Xt=n(function(t,e,s,c){const r=R(),f=r.journey.titleColor,u=r.journey.titleFontSize,y=r.journey.titleFontFamily,g=r.securityLevel;let m;g==="sandbox"&&(m=X("#i"+e));const x=g==="sandbox"?X(m.nodes()[0].contentDocument.body):X("body");S.init();const h=x.select("#"+e);j.initGraphics(h);const i=c.db.getTasks(),a=c.db.getDiagramTitle(),l=c.db.getActors();for(const C in E)delete E[C];let d=0;l.forEach(C=>{E[C]={color:$.actorColours[d%$.actorColours.length],position:d},d++}),ut(h),P=$.leftMargin+W,S.insert(0,0,P,Object.keys(E).length*50),Gt(h,i,0);const p=S.getBounds();a&&h.append("text").text(a).attr("x",P).attr("font-size",u).attr("font-weight","bold").attr("y",25).attr("fill",f).attr("font-family",y);const o=p.stopy-p.starty+2*$.diagramMarginY,b=P+p.stopx+2*$.diagramMarginX;$t(h,o,b,$.useMaxWidth),h.append("line").attr("x1",P).attr("y1",$.height*4).attr("x2",b-P-4).attr("y2",$.height*4).attr("stroke-width",4).attr("stroke","black").attr("marker-end","url(#arrowhead)");const k=a?70:0;h.attr("viewBox",`${p.startx} -25 ${b} ${o+k}`),h.attr("preserveAspectRatio","xMinYMin meet"),h.attr("height",o+k+25)},"draw"),S={data:{startx:void 0,stopx:void 0,starty:void 0,stopy:void 0},verticalPos:0,sequenceItems:[],init:n(function(){this.sequenceItems=[],this.data={startx:void 0,stopx:void 0,starty:void 0,stopy:void 0},this.verticalPos=0},"init"),updateVal:n(function(t,e,s,c){t[e]===void 0?t[e]=s:t[e]=c(s,t[e])},"updateVal"),updateBounds:n(function(t,e,s,c){const r=R().journey,f=this;let u=0;function y(g){return n(function(x){u++;const h=f.sequenceItems.length-u+1;f.updateVal(x,"starty",e-h*r.boxMargin,Math.min),f.updateVal(x,"stopy",c+h*r.boxMargin,Math.max),f.updateVal(S.data,"startx",t-h*r.boxMargin,Math.min),f.updateVal(S.data,"stopx",s+h*r.boxMargin,Math.max),g!=="activation"&&(f.updateVal(x,"startx",t-h*r.boxMargin,Math.min),f.updateVal(x,"stopx",s+h*r.boxMargin,Math.max),f.updateVal(S.data,"starty",e-h*r.boxMargin,Math.min),f.updateVal(S.data,"stopy",c+h*r.boxMargin,Math.max))},"updateItemBounds")}n(y,"updateFn"),this.sequenceItems.forEach(y())},"updateBounds"),insert:n(function(t,e,s,c){const r=Math.min(t,s),f=Math.max(t,s),u=Math.min(e,c),y=Math.max(e,c);this.updateVal(S.data,"startx",r,Math.min),this.updateVal(S.data,"starty",u,Math.min),this.updateVal(S.data,"stopx",f,Math.max),this.updateVal(S.data,"stopy",y,Math.max),this.updateBounds(r,u,f,y)},"insert"),bumpVerticalPos:n(function(t){this.verticalPos=this.verticalPos+t,this.data.stopy=this.verticalPos},"bumpVerticalPos"),getVerticalPos:n(function(){return this.verticalPos},"getVerticalPos"),getBounds:n(function(){return this.data},"getBounds")},G=$.sectionFills,st=$.sectionColours,Gt=n(function(t,e,s){const c=R().journey;let r="";const f=c.height*2+c.diagramMarginY,u=s+f;let y=0,g="#CCC",m="black",x=0;for(const[h,i]of e.entries()){if(r!==i.section){g=G[y%G.length],x=y%G.length,m=st[y%st.length];let l=0;const d=i.section;for(let o=h;o<e.length&&e[o].section==d;o++)l=l+1;const p={x:h*c.taskMargin+h*c.width+P,y:50,text:i.section,fill:g,num:x,colour:m,taskCount:l};j.drawSection(t,p,c),r=i.section,y++}const a=i.people.reduce((l,d)=>(E[d]&&(l[d]=E[d]),l),{});i.x=h*c.taskMargin+h*c.width+P,i.y=u,i.width=c.diagramMarginX,i.height=c.diagramMarginY,i.colour=m,i.fill=g,i.num=x,i.actors=a,j.drawTask(t,i,c),S.insert(i.x,i.y,i.x+i.width+c.taskMargin,450)}},"drawTasks"),at={setConf:Ht,draw:Xt},Qt={parser:Et,db:rt,renderer:at,styles:jt,init:n(t=>{at.setConf(t.journey),rt.clear()},"init")};export{Qt as diagram};
@@ -0,0 +1,89 @@
1
+ import{c as o,l as te,d as U,L as fe,a8 as ye,a9 as be,aa as me,a3 as Ee,H as K,j as F,x as _e,J as ke,a4 as Se,a5 as ce,a6 as le}from"./mermaid-C0IQv4mH.js";import{g as Ne}from"./chunk-FMBD7UC4-MKWtG46g.js";import"./markdown-9_JKOUHQ.js";var $=(function(){var e=o(function(O,i,n,r){for(n=n||{},r=O.length;r--;n[O[r]]=i);return n},"o"),u=[1,4],p=[1,13],s=[1,12],d=[1,15],_=[1,16],b=[1,20],l=[1,19],D=[6,7,8],I=[1,26],g=[1,24],w=[1,25],E=[6,7,11],G=[1,31],N=[6,7,11,24],V=[1,6,13,16,17,20,23],m=[1,35],A=[1,36],L=[1,6,7,11,13,16,17,20,23],H=[1,38],T={trace:o(function(){},"trace"),yy:{},symbols_:{error:2,start:3,mindMap:4,spaceLines:5,SPACELINE:6,NL:7,KANBAN:8,document:9,stop:10,EOF:11,statement:12,SPACELIST:13,node:14,shapeData:15,ICON:16,CLASS:17,nodeWithId:18,nodeWithoutId:19,NODE_DSTART:20,NODE_DESCR:21,NODE_DEND:22,NODE_ID:23,SHAPE_DATA:24,$accept:0,$end:1},terminals_:{2:"error",6:"SPACELINE",7:"NL",8:"KANBAN",11:"EOF",13:"SPACELIST",16:"ICON",17:"CLASS",20:"NODE_DSTART",21:"NODE_DESCR",22:"NODE_DEND",23:"NODE_ID",24:"SHAPE_DATA"},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,3],[12,2],[12,2],[12,2],[12,1],[12,2],[12,1],[12,1],[12,1],[12,1],[14,1],[14,1],[19,3],[18,1],[18,4],[15,2],[15,1]],performAction:o(function(i,n,r,a,h,t,M){var c=t.length-1;switch(h){case 6:case 7:return a;case 8:a.getLogger().trace("Stop NL ");break;case 9:a.getLogger().trace("Stop EOF ");break;case 11:a.getLogger().trace("Stop NL2 ");break;case 12:a.getLogger().trace("Stop EOF2 ");break;case 15:a.getLogger().info("Node: ",t[c-1].id),a.addNode(t[c-2].length,t[c-1].id,t[c-1].descr,t[c-1].type,t[c]);break;case 16:a.getLogger().info("Node: ",t[c].id),a.addNode(t[c-1].length,t[c].id,t[c].descr,t[c].type);break;case 17:a.getLogger().trace("Icon: ",t[c]),a.decorateNode({icon:t[c]});break;case 18:case 23:a.decorateNode({class:t[c]});break;case 19:a.getLogger().trace("SPACELIST");break;case 20:a.getLogger().trace("Node: ",t[c-1].id),a.addNode(0,t[c-1].id,t[c-1].descr,t[c-1].type,t[c]);break;case 21:a.getLogger().trace("Node: ",t[c].id),a.addNode(0,t[c].id,t[c].descr,t[c].type);break;case 22:a.decorateNode({icon:t[c]});break;case 27:a.getLogger().trace("node found ..",t[c-2]),this.$={id:t[c-1],descr:t[c-1],type:a.getType(t[c-2],t[c])};break;case 28:this.$={id:t[c],descr:t[c],type:0};break;case 29:a.getLogger().trace("node found ..",t[c-3]),this.$={id:t[c-3],descr:t[c-1],type:a.getType(t[c-2],t[c])};break;case 30:this.$=t[c-1]+t[c];break;case 31:this.$=t[c];break}},"anonymous"),table:[{3:1,4:2,5:3,6:[1,5],8:u},{1:[3]},{1:[2,1]},{4:6,6:[1,7],7:[1,8],8:u},{6:p,7:[1,10],9:9,12:11,13:s,14:14,16:d,17:_,18:17,19:18,20:b,23:l},e(D,[2,3]),{1:[2,2]},e(D,[2,4]),e(D,[2,5]),{1:[2,6],6:p,12:21,13:s,14:14,16:d,17:_,18:17,19:18,20:b,23:l},{6:p,9:22,12:11,13:s,14:14,16:d,17:_,18:17,19:18,20:b,23:l},{6:I,7:g,10:23,11:w},e(E,[2,24],{18:17,19:18,14:27,16:[1,28],17:[1,29],20:b,23:l}),e(E,[2,19]),e(E,[2,21],{15:30,24:G}),e(E,[2,22]),e(E,[2,23]),e(N,[2,25]),e(N,[2,26]),e(N,[2,28],{20:[1,32]}),{21:[1,33]},{6:I,7:g,10:34,11:w},{1:[2,7],6:p,12:21,13:s,14:14,16:d,17:_,18:17,19:18,20:b,23:l},e(V,[2,14],{7:m,11:A}),e(L,[2,8]),e(L,[2,9]),e(L,[2,10]),e(E,[2,16],{15:37,24:G}),e(E,[2,17]),e(E,[2,18]),e(E,[2,20],{24:H}),e(N,[2,31]),{21:[1,39]},{22:[1,40]},e(V,[2,13],{7:m,11:A}),e(L,[2,11]),e(L,[2,12]),e(E,[2,15],{24:H}),e(N,[2,30]),{22:[1,41]},e(N,[2,27]),e(N,[2,29])],defaultActions:{2:[2,1],6:[2,2]},parseError:o(function(i,n){if(n.recoverable)this.trace(i);else{var r=new Error(i);throw r.hash=n,r}},"parseError"),parse:o(function(i){var n=this,r=[0],a=[],h=[null],t=[],M=this.table,c="",W=0,se=0,ue=2,re=1,ge=t.slice.call(arguments,1),y=Object.create(this.lexer),R={yy:{}};for(var J in this.yy)Object.prototype.hasOwnProperty.call(this.yy,J)&&(R.yy[J]=this.yy[J]);y.setInput(i,R.yy),R.yy.lexer=y,R.yy.parser=this,typeof y.yylloc>"u"&&(y.yylloc={});var q=y.yylloc;t.push(q);var de=y.options&&y.options.ranges;typeof R.yy.parseError=="function"?this.parseError=R.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function pe(S){r.length=r.length-2*S,h.length=h.length-S,t.length=t.length-S}o(pe,"popStack");function ae(){var S;return S=a.pop()||y.lex()||re,typeof S!="number"&&(S instanceof Array&&(a=S,S=a.pop()),S=n.symbols_[S]||S),S}o(ae,"lex");for(var k,P,x,Q,j={},z,C,oe,X;;){if(P=r[r.length-1],this.defaultActions[P]?x=this.defaultActions[P]:((k===null||typeof k>"u")&&(k=ae()),x=M[P]&&M[P][k]),typeof x>"u"||!x.length||!x[0]){var Z="";X=[];for(z in M[P])this.terminals_[z]&&z>ue&&X.push("'"+this.terminals_[z]+"'");y.showPosition?Z="Parse error on line "+(W+1)+`:
2
+ `+y.showPosition()+`
3
+ Expecting `+X.join(", ")+", got '"+(this.terminals_[k]||k)+"'":Z="Parse error on line "+(W+1)+": Unexpected "+(k==re?"end of input":"'"+(this.terminals_[k]||k)+"'"),this.parseError(Z,{text:y.match,token:this.terminals_[k]||k,line:y.yylineno,loc:q,expected:X})}if(x[0]instanceof Array&&x.length>1)throw new Error("Parse Error: multiple actions possible at state: "+P+", token: "+k);switch(x[0]){case 1:r.push(k),h.push(y.yytext),t.push(y.yylloc),r.push(x[1]),k=null,se=y.yyleng,c=y.yytext,W=y.yylineno,q=y.yylloc;break;case 2:if(C=this.productions_[x[1]][1],j.$=h[h.length-C],j._$={first_line:t[t.length-(C||1)].first_line,last_line:t[t.length-1].last_line,first_column:t[t.length-(C||1)].first_column,last_column:t[t.length-1].last_column},de&&(j._$.range=[t[t.length-(C||1)].range[0],t[t.length-1].range[1]]),Q=this.performAction.apply(j,[c,se,W,R.yy,x[1],h,t].concat(ge)),typeof Q<"u")return Q;C&&(r=r.slice(0,-1*C*2),h=h.slice(0,-1*C),t=t.slice(0,-1*C)),r.push(this.productions_[x[1]][0]),h.push(j.$),t.push(j._$),oe=M[r[r.length-2]][r[r.length-1]],r.push(oe);break;case 3:return!0}}return!0},"parse")},Y=(function(){var O={EOF:1,parseError:o(function(n,r){if(this.yy.parser)this.yy.parser.parseError(n,r);else throw new Error(n)},"parseError"),setInput:o(function(i,n){return this.yy=n||this.yy||{},this._input=i,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:o(function(){var i=this._input[0];this.yytext+=i,this.yyleng++,this.offset++,this.match+=i,this.matched+=i;var n=i.match(/(?:\r\n?|\n).*/g);return n?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),i},"input"),unput:o(function(i){var n=i.length,r=i.split(/(?:\r\n?|\n)/g);this._input=i+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-n),this.offset-=n;var a=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),r.length-1&&(this.yylineno-=r.length-1);var h=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:r?(r.length===a.length?this.yylloc.first_column:0)+a[a.length-r.length].length-r[0].length:this.yylloc.first_column-n},this.options.ranges&&(this.yylloc.range=[h[0],h[0]+this.yyleng-n]),this.yyleng=this.yytext.length,this},"unput"),more:o(function(){return this._more=!0,this},"more"),reject:o(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:o(function(i){this.unput(this.match.slice(i))},"less"),pastInput:o(function(){var i=this.matched.substr(0,this.matched.length-this.match.length);return(i.length>20?"...":"")+i.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:o(function(){var i=this.match;return i.length<20&&(i+=this._input.substr(0,20-i.length)),(i.substr(0,20)+(i.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:o(function(){var i=this.pastInput(),n=new Array(i.length+1).join("-");return i+this.upcomingInput()+`
5
+ `+n+"^"},"showPosition"),test_match:o(function(i,n){var r,a,h;if(this.options.backtrack_lexer&&(h={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&&(h.yylloc.range=this.yylloc.range.slice(0))),a=i[0].match(/(?:\r\n?|\n).*/g),a&&(this.yylineno+=a.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:a?a[a.length-1].length-a[a.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+i[0].length},this.yytext+=i[0],this.match+=i[0],this.matches=i,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(i[0].length),this.matched+=i[0],r=this.performAction.call(this,this.yy,this,n,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),r)return r;if(this._backtrack){for(var t in h)this[t]=h[t];return!1}return!1},"test_match"),next:o(function(){if(this.done)return this.EOF;this._input||(this.done=!0);var i,n,r,a;this._more||(this.yytext="",this.match="");for(var h=this._currentRules(),t=0;t<h.length;t++)if(r=this._input.match(this.rules[h[t]]),r&&(!n||r[0].length>n[0].length)){if(n=r,a=t,this.options.backtrack_lexer){if(i=this.test_match(r,h[t]),i!==!1)return i;if(this._backtrack){n=!1;continue}else return!1}else if(!this.options.flex)break}return n?(i=this.test_match(n,h[a]),i!==!1?i:!1):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:o(function(){var n=this.next();return n||this.lex()},"lex"),begin:o(function(n){this.conditionStack.push(n)},"begin"),popState:o(function(){var n=this.conditionStack.length-1;return n>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:o(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:o(function(n){return n=this.conditionStack.length-1-Math.abs(n||0),n>=0?this.conditionStack[n]:"INITIAL"},"topState"),pushState:o(function(n){this.begin(n)},"pushState"),stateStackSize:o(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:o(function(n,r,a,h){switch(a){case 0:return this.pushState("shapeData"),r.yytext="",24;case 1:return this.pushState("shapeDataStr"),24;case 2:return this.popState(),24;case 3:const t=/\n\s*/g;return r.yytext=r.yytext.replace(t,"<br/>"),24;case 4:return 24;case 5:this.popState();break;case 6:return n.getLogger().trace("Found comment",r.yytext),6;case 7:return 8;case 8:this.begin("CLASS");break;case 9:return this.popState(),17;case 10:this.popState();break;case 11:n.getLogger().trace("Begin icon"),this.begin("ICON");break;case 12:return n.getLogger().trace("SPACELINE"),6;case 13:return 7;case 14:return 16;case 15:n.getLogger().trace("end icon"),this.popState();break;case 16:return n.getLogger().trace("Exploding node"),this.begin("NODE"),20;case 17:return n.getLogger().trace("Cloud"),this.begin("NODE"),20;case 18:return n.getLogger().trace("Explosion Bang"),this.begin("NODE"),20;case 19:return n.getLogger().trace("Cloud Bang"),this.begin("NODE"),20;case 20:return this.begin("NODE"),20;case 21:return this.begin("NODE"),20;case 22:return this.begin("NODE"),20;case 23:return this.begin("NODE"),20;case 24:return 13;case 25:return 23;case 26:return 11;case 27:this.begin("NSTR2");break;case 28:return"NODE_DESCR";case 29:this.popState();break;case 30:n.getLogger().trace("Starting NSTR"),this.begin("NSTR");break;case 31:return n.getLogger().trace("description:",r.yytext),"NODE_DESCR";case 32:this.popState();break;case 33:return this.popState(),n.getLogger().trace("node end ))"),"NODE_DEND";case 34:return this.popState(),n.getLogger().trace("node end )"),"NODE_DEND";case 35:return this.popState(),n.getLogger().trace("node end ...",r.yytext),"NODE_DEND";case 36:return this.popState(),n.getLogger().trace("node end (("),"NODE_DEND";case 37:return this.popState(),n.getLogger().trace("node end (-"),"NODE_DEND";case 38:return this.popState(),n.getLogger().trace("node end (-"),"NODE_DEND";case 39:return this.popState(),n.getLogger().trace("node end (("),"NODE_DEND";case 40:return this.popState(),n.getLogger().trace("node end (("),"NODE_DEND";case 41:return n.getLogger().trace("Long description:",r.yytext),21;case 42:return n.getLogger().trace("Long description:",r.yytext),21}},"anonymous"),rules:[/^(?:@\{)/i,/^(?:["])/i,/^(?:["])/i,/^(?:[^\"]+)/i,/^(?:[^}^"]+)/i,/^(?:\})/i,/^(?:\s*%%.*)/i,/^(?:kanban\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:{shapeDataEndBracket:{rules:[],inclusive:!1},shapeDataStr:{rules:[2,3],inclusive:!1},shapeData:{rules:[1,4,5],inclusive:!1},CLASS:{rules:[9,10],inclusive:!1},ICON:{rules:[14,15],inclusive:!1},NSTR2:{rules:[28,29],inclusive:!1},NSTR:{rules:[31,32],inclusive:!1},NODE:{rules:[27,30,33,34,35,36,37,38,39,40,41,42],inclusive:!1},INITIAL:{rules:[0,6,7,8,11,12,13,16,17,18,19,20,21,22,23,24,25,26],inclusive:!0}}};return O})();T.lexer=Y;function B(){this.yy={}}return o(B,"Parser"),B.prototype=T,T.Parser=B,new B})();$.parser=$;var xe=$,v=[],ne=[],ee=0,ie={},ve=o(()=>{v=[],ne=[],ee=0,ie={}},"clear"),De=o(e=>{if(v.length===0)return null;const u=v[0].level;let p=null;for(let s=v.length-1;s>=0;s--)if(v[s].level===u&&!p&&(p=v[s]),v[s].level<u)throw new Error('Items without section detected, found section ("'+v[s].label+'")');return e===p?.level?null:p},"getSection"),he=o(function(){return ne},"getSections"),Le=o(function(){const e=[],u=[],p=he(),s=U();for(const d of p){const _={id:d.id,label:F(d.label??"",s),isGroup:!0,ticket:d.ticket,shape:"kanbanSection",level:d.level,look:s.look};u.push(_);const b=v.filter(l=>l.parentId===d.id);for(const l of b){const D={id:l.id,parentId:d.id,label:F(l.label??"",s),isGroup:!1,ticket:l?.ticket,priority:l?.priority,assigned:l?.assigned,icon:l?.icon,shape:"kanbanItem",level:l.level,rx:5,ry:5,cssStyles:["text-align: left"]};u.push(D)}}return{nodes:u,edges:e,other:{},config:U()}},"getData"),Oe=o((e,u,p,s,d)=>{const _=U();let b=_.mindmap?.padding??K.mindmap.padding;switch(s){case f.ROUNDED_RECT:case f.RECT:case f.HEXAGON:b*=2}const l={id:F(u,_)||"kbn"+ee++,level:e,label:F(p,_),width:_.mindmap?.maxNodeWidth??K.mindmap.maxNodeWidth,padding:b,isGroup:!1};if(d!==void 0){let I;d.includes(`
7
+ `)?I=d+`
8
+ `:I=`{
9
+ `+d+`
10
+ }`;const g=_e(I,{schema:ke});if(g.shape&&(g.shape!==g.shape.toLowerCase()||g.shape.includes("_")))throw new Error(`No such shape: ${g.shape}. Shape names should be lowercase.`);g?.shape&&g.shape==="kanbanItem"&&(l.shape=g?.shape),g?.label&&(l.label=g?.label),g?.icon&&(l.icon=g?.icon.toString()),g?.assigned&&(l.assigned=g?.assigned.toString()),g?.ticket&&(l.ticket=g?.ticket.toString()),g?.priority&&(l.priority=g?.priority)}const D=De(e);D?l.parentId=D.id||"kbn"+ee++:ne.push(l),v.push(l)},"addNode"),f={DEFAULT:0,NO_BORDER:0,ROUNDED_RECT:1,RECT:2,CIRCLE:3,CLOUD:4,BANG:5,HEXAGON:6},Ie=o((e,u)=>{switch(te.debug("In get type",e,u),e){case"[":return f.RECT;case"(":return u===")"?f.ROUNDED_RECT:f.CLOUD;case"((":return f.CIRCLE;case")":return f.CLOUD;case"))":return f.BANG;case"{{":return f.HEXAGON;default:return f.DEFAULT}},"getType"),Ce=o((e,u)=>{ie[e]=u},"setElementForId"),we=o(e=>{if(!e)return;const u=U(),p=v[v.length-1];e.icon&&(p.icon=F(e.icon,u)),e.class&&(p.cssClasses=F(e.class,u))},"decorateNode"),Ae=o(e=>{switch(e){case f.DEFAULT:return"no-border";case f.RECT:return"rect";case f.ROUNDED_RECT:return"rounded-rect";case f.CIRCLE:return"circle";case f.CLOUD:return"cloud";case f.BANG:return"bang";case f.HEXAGON:return"hexgon";default:return"no-border"}},"type2Str"),Te=o(()=>te,"getLogger"),Re=o(e=>ie[e],"getElementById"),Pe={clear:ve,addNode:Oe,getSections:he,getData:Le,nodeType:f,getType:Ie,setElementForId:Ce,decorateNode:we,type2Str:Ae,getLogger:Te,getElementById:Re},Ve=Pe,Be=o(async(e,u,p,s)=>{te.debug(`Rendering kanban diagram
11
+ `+e);const _=s.db.getData(),b=U();b.htmlLabels=!1;const l=fe(u),D=l.append("g");D.attr("class","sections");const I=l.append("g");I.attr("class","items");const g=_.nodes.filter(m=>m.isGroup);let w=0;const E=10,G=[];let N=25;for(const m of g){const A=b?.kanban?.sectionWidth||200;w=w+1,m.x=A*w+(w-1)*E/2,m.width=A,m.y=0,m.height=A*3,m.rx=5,m.ry=5,m.cssClasses=m.cssClasses+" section-"+w;const L=await ye(D,m);N=Math.max(N,L?.labelBBox?.height),G.push(L)}let V=0;for(const m of g){const A=G[V];V=V+1;const L=b?.kanban?.sectionWidth||200,H=-L*3/2+N;let T=H;const Y=_.nodes.filter(i=>i.parentId===m.id);for(const i of Y){if(i.isGroup)throw new Error("Groups within groups are not allowed in Kanban diagrams");i.x=m.x,i.width=L-1.5*E;const r=(await be(I,i,{config:b})).node().getBBox();i.y=T+r.height/2,await me(i),T=i.y+r.height/2+E/2}const B=A.cluster.select("rect"),O=Math.max(T-H+3*E,50)+(N-25);B.attr("height",O)}Ee(void 0,l,b.mindmap?.padding??K.kanban.padding,b.mindmap?.useMaxWidth??K.kanban.useMaxWidth)},"draw"),je={draw:Be},Fe=o(e=>{let u="";for(let s=0;s<e.THEME_COLOR_LIMIT;s++)e["lineColor"+s]=e["lineColor"+s]||e["cScaleInv"+s],Se(e["lineColor"+s])?e["lineColor"+s]=ce(e["lineColor"+s],20):e["lineColor"+s]=le(e["lineColor"+s],20);const p=o((s,d)=>e.darkMode?le(s,d):ce(s,d),"adjuster");for(let s=0;s<e.THEME_COLOR_LIMIT;s++){const d=""+(17-3*s);u+=`
12
+ .section-${s-1} rect, .section-${s-1} path, .section-${s-1} circle, .section-${s-1} polygon, .section-${s-1} path {
13
+ fill: ${p(e["cScale"+s],10)};
14
+ stroke: ${p(e["cScale"+s],10)};
15
+
16
+ }
17
+ .section-${s-1} text {
18
+ fill: ${e["cScaleLabel"+s]};
19
+ }
20
+ .node-icon-${s-1} {
21
+ font-size: 40px;
22
+ color: ${e["cScaleLabel"+s]};
23
+ }
24
+ .section-edge-${s-1}{
25
+ stroke: ${e["cScale"+s]};
26
+ }
27
+ .edge-depth-${s-1}{
28
+ stroke-width: ${d};
29
+ }
30
+ .section-${s-1} line {
31
+ stroke: ${e["cScaleInv"+s]} ;
32
+ stroke-width: 3;
33
+ }
34
+
35
+ .disabled, .disabled circle, .disabled text {
36
+ fill: lightgray;
37
+ }
38
+ .disabled text {
39
+ fill: #efefef;
40
+ }
41
+
42
+ .node rect,
43
+ .node circle,
44
+ .node ellipse,
45
+ .node polygon,
46
+ .node path {
47
+ fill: ${e.background};
48
+ stroke: ${e.nodeBorder};
49
+ stroke-width: 1px;
50
+ }
51
+
52
+ .kanban-ticket-link {
53
+ fill: ${e.background};
54
+ stroke: ${e.nodeBorder};
55
+ text-decoration: underline;
56
+ }
57
+ `}return u},"genSections"),Ge=o(e=>`
58
+ .edge {
59
+ stroke-width: 3;
60
+ }
61
+ ${Fe(e)}
62
+ .section-root rect, .section-root path, .section-root circle, .section-root polygon {
63
+ fill: ${e.git0};
64
+ }
65
+ .section-root text {
66
+ fill: ${e.gitBranchLabel0};
67
+ }
68
+ .icon-container {
69
+ height:100%;
70
+ display: flex;
71
+ justify-content: center;
72
+ align-items: center;
73
+ }
74
+ .edge {
75
+ fill: none;
76
+ }
77
+ .cluster-label, .label {
78
+ color: ${e.textColor};
79
+ fill: ${e.textColor};
80
+ }
81
+ .kanban-label {
82
+ dy: 1em;
83
+ alignment-baseline: middle;
84
+ text-anchor: middle;
85
+ dominant-baseline: middle;
86
+ text-align: center;
87
+ }
88
+ ${Ne()}
89
+ `,"getStyles"),He=Ge,ze={db:Ve,renderer:je,parser:xe,styles:He};export{ze as diagram};