orbitchat 2.12.1 → 2.13.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (67) hide show
  1. package/README.md +2 -1
  2. package/dist/assets/_baseUniq-BRKsqoH--BnZ8jILn.js +1 -0
  3. package/dist/assets/api-C90fNFdj.js +2 -0
  4. package/dist/assets/api-Dg2si9TY.js +2 -0
  5. package/dist/assets/arc-pab_su9s-DFq3JYvb.js +1 -0
  6. package/dist/assets/{architectureDiagram-VXUJARFQ-BiqZtsDe-DEqYIsMJ.js → architectureDiagram-VXUJARFQ-DqQ8r_6g-ejnypLyO.js} +3 -3
  7. package/dist/assets/{blockDiagram-VD42YOAC-zcRIdFTD-COzt4CrQ.js → blockDiagram-VD42YOAC-B-dKfcH3-Bgo8FU6J.js} +5 -5
  8. package/dist/assets/{c4Diagram-YG6GDRKO-DYXNcDX4-DEfH_pWV.js → c4Diagram-YG6GDRKO-DMUPaBEl-CX9lx-UK.js} +4 -4
  9. package/dist/assets/channel-HKsfPa5q-i-PY3wcB.js +1 -0
  10. package/dist/assets/{chunk-4BX2VUAB-DAh9ktmY-DZD2PcPU.js → chunk-4BX2VUAB-CX67kh_B-Dm2c-Lyy.js} +1 -1
  11. package/dist/assets/{chunk-55IACEB6-Cza7pcpr-D7bYvLOe.js → chunk-55IACEB6-BocSyyvr-lclbFu9j.js} +1 -1
  12. package/dist/assets/{chunk-B4BG7PRW-BTUSpeKy-DZ4MZ_E6.js → chunk-B4BG7PRW-CO8QAyfE-CvvrZ063.js} +4 -4
  13. package/dist/assets/{chunk-DI55MBZ5-DKt4WII7-CRJMRJL2.js → chunk-DI55MBZ5-Dw1L6Eos-BuD2OREa.js} +3 -3
  14. package/dist/assets/{chunk-FMBD7UC4-DdcCR8w3-BdR2euO8.js → chunk-FMBD7UC4-dPK7Boav-D0ZlDI-s.js} +1 -1
  15. package/dist/assets/chunk-QN33PNHL-vP2PqfVG-DqaIoebO.js +1 -0
  16. package/dist/assets/{chunk-QZHKN3VN-DVJOrqBZ-C9ZYfK0u.js → chunk-QZHKN3VN-Bcidzu63-DG8agfQA.js} +1 -1
  17. package/dist/assets/{chunk-TZMSLE5B-G2jJHqli-DkiaNM8K.js → chunk-TZMSLE5B-BtljMjlg-B6xEnbcW.js} +1 -1
  18. package/dist/assets/classDiagram-2ON5EDUG-C7cYN9hv-Dd-YCt5Q.js +1 -0
  19. package/dist/assets/classDiagram-v2-WZHVMYZB-C7cYN9hv-Dd-YCt5Q.js +1 -0
  20. package/dist/assets/clone-DoPb9X13-DxnBl06F.js +1 -0
  21. package/dist/assets/{cose-bilkent-S5V4N54A-BRr2Y6dg-BnmYaVJO.js → cose-bilkent-S5V4N54A-BGzO4EsH-BMVWyh_a.js} +1 -1
  22. package/dist/assets/{dagre-6UL2VRFP-DX8gNHmJ-CAKfI7ue.js → dagre-6UL2VRFP-TzNvXCds-CbmhexaH.js} +2 -2
  23. package/dist/assets/{diagram-PSM6KHXK-DNX818To-BVRku9GT.js → diagram-PSM6KHXK-BqY4RpUg-BqmtaKLy.js} +1 -1
  24. package/dist/assets/{diagram-QEK2KX5R-BDO6hKtm-Do05QIIv.js → diagram-QEK2KX5R-CTjgBsne-Dbl2BvQJ.js} +2 -2
  25. package/dist/assets/diagram-S2PKOQOG-BqrhTIpA-DnNkr8UG.js +24 -0
  26. package/dist/assets/{erDiagram-Q2GNP2WA-DbLpN8Jp-D20O9tro.js → erDiagram-Q2GNP2WA-B2hsi_Tl-r9lLCSiy.js} +4 -4
  27. package/dist/assets/{flowDiagram-NV44I4VS-pJlHae8Y-lUaSqWx3.js → flowDiagram-NV44I4VS-C03vtt_F-Bj1MoEwx.js} +6 -6
  28. package/dist/assets/{ganttDiagram-JELNMOA3-J0Tkq5TR-YEip1L2N.js → ganttDiagram-JELNMOA3-B3hAg964-CCnbkzn3.js} +3 -3
  29. package/dist/assets/{gitGraphDiagram-NY62KEGX-DgYonpsZ-DT4KwRyD.js → gitGraphDiagram-NY62KEGX-ByhMH0yZ-YRu-SLHD.js} +10 -10
  30. package/dist/assets/{graph-BpcfrHXY-DYpG7xUC.js → graph-BmNkcFEM-dUEThWgx.js} +1 -1
  31. package/dist/assets/{index-Cw6P01hg.js → index-BTk6gbYa.js} +372 -349
  32. package/dist/assets/index-BXexqYFc-6FZAvmAF.js +134 -0
  33. package/dist/assets/index-BjgS88qB.css +1 -0
  34. package/dist/assets/infoDiagram-WHAUD3N6-is6Ho4-T-BLBpQ0kq.js +2 -0
  35. package/dist/assets/{journeyDiagram-XKPGCS4Q-CfjB2Qdf-C_qkhWdK.js → journeyDiagram-XKPGCS4Q-CRTOL26C-BslRBPzU.js} +5 -5
  36. package/dist/assets/{kanban-definition-3W4ZIXB7-CrW8yVmd-B6fYzGBV.js → kanban-definition-3W4ZIXB7-CNnO_t6O-C2MPRjuS.js} +8 -8
  37. package/dist/assets/{layout-bsfAhWjc-C1rzXVdU.js → layout-C0kZPebx-DBUyCsod.js} +1 -1
  38. package/dist/assets/min-7Gb0pNxh-9FduVVTw.js +1 -0
  39. package/dist/assets/{mindmap-definition-VGOIOE7T-Dj37RkY_-B-MSOG_W.js → mindmap-definition-VGOIOE7T-CJZ2wTTa-DP1XV6kP.js} +5 -5
  40. package/dist/assets/pieDiagram-ADFJNKIX-C9OSknjr-BdkTw8nn.js +30 -0
  41. package/dist/assets/{quadrantDiagram-AYHSOK5B-D4b-YFzI-BpKtsd64.js → quadrantDiagram-AYHSOK5B-CW8yuAqv-BcCv0sYD.js} +5 -5
  42. package/dist/assets/{requirementDiagram-UZGBJVZJ-km07nlVd-C0Saflm6.js → requirementDiagram-UZGBJVZJ-nGPhruO1-CZD7Xw4s.js} +4 -4
  43. package/dist/assets/{sankeyDiagram-TZEHDZUN-LfuSRRbf-3o7pZAx1.js → sankeyDiagram-TZEHDZUN-CmL90u-m-BicoH15o.js} +5 -5
  44. package/dist/assets/{sequenceDiagram-WL72ISMW-CQ4J-0_7-C5Oigyo8.js → sequenceDiagram-WL72ISMW-B02VRcnM-CvY3TSCC.js} +7 -7
  45. package/dist/assets/{stateDiagram-FKZM4ZOC-JtogJwt6-DviZJ6bb.js → stateDiagram-FKZM4ZOC-DjoyLUdz-Cy3GdNKr.js} +1 -1
  46. package/dist/assets/stateDiagram-v2-4FDKWEC3-Bq76BTB7-BTj88h18.js +1 -0
  47. package/dist/assets/{timeline-definition-IT6M3QCI-Cs3NnF2M-ryO-tulk.js → timeline-definition-IT6M3QCI-CTn0Gm3T-BPnEK60y.js} +6 -6
  48. package/dist/assets/{treemap-KMMF4GRG-CkW25-tn-m5M8hNY7.js → treemap-KMMF4GRG-BjgLKKyi-Dpn6IoCt.js} +22 -22
  49. package/dist/assets/{xychartDiagram-PRI3JC2R-JzAaXa5z-CuQ82mrU.js → xychartDiagram-PRI3JC2R-Cgg6Uija-B3NNTn5p.js} +5 -5
  50. package/dist/index.html +2 -2
  51. package/package.json +8 -8
  52. package/dist/assets/_baseUniq-BPMphbq5-BsZUreLv.js +0 -1
  53. package/dist/assets/api-BHF9IxKN.js +0 -1
  54. package/dist/assets/api-CC5Fa9iw.js +0 -2
  55. package/dist/assets/arc-D9rhTKV0-DLiAsvqE.js +0 -1
  56. package/dist/assets/channel-CUIutAfm-BdnLPaGJ.js +0 -1
  57. package/dist/assets/chunk-QN33PNHL-v6AkzOl1-DSTLtLnU.js +0 -1
  58. package/dist/assets/classDiagram-2ON5EDUG-CxmgTanh-DtNyPKo-.js +0 -1
  59. package/dist/assets/classDiagram-v2-WZHVMYZB-CxmgTanh-DtNyPKo-.js +0 -1
  60. package/dist/assets/clone-CsNB4mMi-BhAiEJbG.js +0 -1
  61. package/dist/assets/diagram-S2PKOQOG-IEqaDwzi-BT3WtzNq.js +0 -24
  62. package/dist/assets/index-Cox333Kd.css +0 -1
  63. package/dist/assets/index-DvNpGWs7-CcXCVSGr.js +0 -134
  64. package/dist/assets/infoDiagram-WHAUD3N6-C3JLOAnb-J4AwmRbq.js +0 -2
  65. package/dist/assets/min-C2aDz5ZK-D52L_GQq.js +0 -1
  66. package/dist/assets/pieDiagram-ADFJNKIX-BiQvDx8I-DGCRxIx5.js +0 -30
  67. package/dist/assets/stateDiagram-v2-4FDKWEC3-DuQ7UaeU-Cwqub320.js +0 -1
@@ -1,7 +1,7 @@
1
- import{Q as a,e as gi,p as ui,E as Xt,v as xi,h as di,B as pi,s as Nt,am as fi,f as yi,F as mi,L as St,X as Vt,T as bi,at as Ai,Y as wi,au as Si,av as $t,Z as Bt,aw as zt}from"./index-Cw6P01hg.js";var mt=function(){var t=a(function(v,h,c,g){for(c=c||{},g=v.length;g--;c[v[g]]=h);return c},"o"),i=[1,10,12,14,16,18,19,21,23],e=[2,6],s=[1,3],l=[1,5],p=[1,6],u=[1,7],m=[1,5,10,12,14,16,18,19,21,23,34,35,36],L=[1,25],z=[1,26],I=[1,28],R=[1,29],P=[1,30],F=[1,31],W=[1,32],T=[1,33],M=[1,34],d=[1,35],A=[1,36],r=[1,37],$=[1,43],B=[1,42],U=[1,47],N=[1,50],o=[1,10,12,14,16,18,19,21,23,34,35,36],C=[1,10,12,14,16,18,19,21,23,24,26,27,28,34,35,36],b=[1,10,12,14,16,18,19,21,23,24,26,27,28,34,35,36,41,42,43,44,45,46,47,48,49,50],w=[1,64],j={trace:a(function(){},"trace"),yy:{},symbols_:{error:2,start:3,eol:4,XYCHART:5,chartConfig:6,document:7,CHART_ORIENTATION:8,statement:9,title:10,text:11,X_AXIS:12,parseXAxis:13,Y_AXIS:14,parseYAxis:15,LINE:16,plotData:17,BAR:18,acc_title:19,acc_title_value:20,acc_descr:21,acc_descr_value:22,acc_descr_multiline_value:23,SQUARE_BRACES_START:24,commaSeparatedNumbers:25,SQUARE_BRACES_END:26,NUMBER_WITH_DECIMAL:27,COMMA:28,xAxisData:29,bandData:30,ARROW_DELIMITER:31,commaSeparatedTexts:32,yAxisData:33,NEWLINE:34,SEMI:35,EOF:36,alphaNum:37,STR:38,MD_STR:39,alphaNumToken:40,AMP:41,NUM:42,ALPHA:43,PLUS:44,EQUALS:45,MULT:46,DOT:47,BRKT:48,MINUS:49,UNDERSCORE:50,$accept:0,$end:1},terminals_:{2:"error",5:"XYCHART",8:"CHART_ORIENTATION",10:"title",12:"X_AXIS",14:"Y_AXIS",16:"LINE",18:"BAR",19:"acc_title",20:"acc_title_value",21:"acc_descr",22:"acc_descr_value",23:"acc_descr_multiline_value",24:"SQUARE_BRACES_START",26:"SQUARE_BRACES_END",27:"NUMBER_WITH_DECIMAL",28:"COMMA",31:"ARROW_DELIMITER",34:"NEWLINE",35:"SEMI",36:"EOF",38:"STR",39:"MD_STR",41:"AMP",42:"NUM",43:"ALPHA",44:"PLUS",45:"EQUALS",46:"MULT",47:"DOT",48:"BRKT",49:"MINUS",50:"UNDERSCORE"},productions_:[0,[3,2],[3,3],[3,2],[3,1],[6,1],[7,0],[7,2],[9,2],[9,2],[9,2],[9,2],[9,2],[9,3],[9,2],[9,3],[9,2],[9,2],[9,1],[17,3],[25,3],[25,1],[13,1],[13,2],[13,1],[29,1],[29,3],[30,3],[32,3],[32,1],[15,1],[15,2],[15,1],[33,3],[4,1],[4,1],[4,1],[11,1],[11,1],[11,1],[37,1],[37,2],[40,1],[40,1],[40,1],[40,1],[40,1],[40,1],[40,1],[40,1],[40,1],[40,1]],performAction:a(function(v,h,c,g,y,n,k){var x=n.length-1;switch(y){case 5:g.setOrientation(n[x]);break;case 9:g.setDiagramTitle(n[x].text.trim());break;case 12:g.setLineData({text:"",type:"text"},n[x]);break;case 13:g.setLineData(n[x-1],n[x]);break;case 14:g.setBarData({text:"",type:"text"},n[x]);break;case 15:g.setBarData(n[x-1],n[x]);break;case 16:this.$=n[x].trim(),g.setAccTitle(this.$);break;case 17:case 18:this.$=n[x].trim(),g.setAccDescription(this.$);break;case 19:this.$=n[x-1];break;case 20:this.$=[Number(n[x-2]),...n[x]];break;case 21:this.$=[Number(n[x])];break;case 22:g.setXAxisTitle(n[x]);break;case 23:g.setXAxisTitle(n[x-1]);break;case 24:g.setXAxisTitle({type:"text",text:""});break;case 25:g.setXAxisBand(n[x]);break;case 26:g.setXAxisRangeData(Number(n[x-2]),Number(n[x]));break;case 27:this.$=n[x-1];break;case 28:this.$=[n[x-2],...n[x]];break;case 29:this.$=[n[x]];break;case 30:g.setYAxisTitle(n[x]);break;case 31:g.setYAxisTitle(n[x-1]);break;case 32:g.setYAxisTitle({type:"text",text:""});break;case 33:g.setYAxisRangeData(Number(n[x-2]),Number(n[x]));break;case 37:this.$={text:n[x],type:"text"};break;case 38:this.$={text:n[x],type:"text"};break;case 39:this.$={text:n[x],type:"markdown"};break;case 40:this.$=n[x];break;case 41:this.$=n[x-1]+""+n[x];break}},"anonymous"),table:[t(i,e,{3:1,4:2,7:4,5:s,34:l,35:p,36:u}),{1:[3]},t(i,e,{4:2,7:4,3:8,5:s,34:l,35:p,36:u}),t(i,e,{4:2,7:4,6:9,3:10,5:s,8:[1,11],34:l,35:p,36:u}),{1:[2,4],9:12,10:[1,13],12:[1,14],14:[1,15],16:[1,16],18:[1,17],19:[1,18],21:[1,19],23:[1,20]},t(m,[2,34]),t(m,[2,35]),t(m,[2,36]),{1:[2,1]},t(i,e,{4:2,7:4,3:21,5:s,34:l,35:p,36:u}),{1:[2,3]},t(m,[2,5]),t(i,[2,7],{4:22,34:l,35:p,36:u}),{11:23,37:24,38:L,39:z,40:27,41:I,42:R,43:P,44:F,45:W,46:T,47:M,48:d,49:A,50:r},{11:39,13:38,24:$,27:B,29:40,30:41,37:24,38:L,39:z,40:27,41:I,42:R,43:P,44:F,45:W,46:T,47:M,48:d,49:A,50:r},{11:45,15:44,27:U,33:46,37:24,38:L,39:z,40:27,41:I,42:R,43:P,44:F,45:W,46:T,47:M,48:d,49:A,50:r},{11:49,17:48,24:N,37:24,38:L,39:z,40:27,41:I,42:R,43:P,44:F,45:W,46:T,47:M,48:d,49:A,50:r},{11:52,17:51,24:N,37:24,38:L,39:z,40:27,41:I,42:R,43:P,44:F,45:W,46:T,47:M,48:d,49:A,50:r},{20:[1,53]},{22:[1,54]},t(o,[2,18]),{1:[2,2]},t(o,[2,8]),t(o,[2,9]),t(C,[2,37],{40:55,41:I,42:R,43:P,44:F,45:W,46:T,47:M,48:d,49:A,50:r}),t(C,[2,38]),t(C,[2,39]),t(b,[2,40]),t(b,[2,42]),t(b,[2,43]),t(b,[2,44]),t(b,[2,45]),t(b,[2,46]),t(b,[2,47]),t(b,[2,48]),t(b,[2,49]),t(b,[2,50]),t(b,[2,51]),t(o,[2,10]),t(o,[2,22],{30:41,29:56,24:$,27:B}),t(o,[2,24]),t(o,[2,25]),{31:[1,57]},{11:59,32:58,37:24,38:L,39:z,40:27,41:I,42:R,43:P,44:F,45:W,46:T,47:M,48:d,49:A,50:r},t(o,[2,11]),t(o,[2,30],{33:60,27:U}),t(o,[2,32]),{31:[1,61]},t(o,[2,12]),{17:62,24:N},{25:63,27:w},t(o,[2,14]),{17:65,24:N},t(o,[2,16]),t(o,[2,17]),t(b,[2,41]),t(o,[2,23]),{27:[1,66]},{26:[1,67]},{26:[2,29],28:[1,68]},t(o,[2,31]),{27:[1,69]},t(o,[2,13]),{26:[1,70]},{26:[2,21],28:[1,71]},t(o,[2,15]),t(o,[2,26]),t(o,[2,27]),{11:59,32:72,37:24,38:L,39:z,40:27,41:I,42:R,43:P,44:F,45:W,46:T,47:M,48:d,49:A,50:r},t(o,[2,33]),t(o,[2,19]),{25:73,27:w},{26:[2,28]},{26:[2,20]}],defaultActions:{8:[2,1],10:[2,3],21:[2,2],72:[2,28],73:[2,20]},parseError:a(function(v,h){if(h.recoverable)this.trace(v);else{var c=new Error(v);throw c.hash=h,c}},"parseError"),parse:a(function(v){var h=this,c=[0],g=[],y=[null],n=[],k=this.table,x="",q=0,vt=0,oi=2,Et=1,ri=n.slice.call(arguments,1),S=Object.create(this.lexer),O={yy:{}};for(var at in this.yy)Object.prototype.hasOwnProperty.call(this.yy,at)&&(O.yy[at]=this.yy[at]);S.setInput(v,O.yy),O.yy.lexer=S,O.yy.parser=this,typeof S.yylloc>"u"&&(S.yylloc={});var nt=S.yylloc;n.push(nt);var li=S.options&&S.options.ranges;typeof O.yy.parseError=="function"?this.parseError=O.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function ci(D){c.length=c.length-2*D,y.length=y.length-D,n.length=n.length-D}a(ci,"popStack");function It(){var D;return D=g.pop()||S.lex()||Et,typeof D!="number"&&(D instanceof Array&&(g=D,D=g.pop()),D=h.symbols_[D]||D),D}a(It,"lex");for(var _,Y,E,ht,H={},tt,X,Mt,it;;){if(Y=c[c.length-1],this.defaultActions[Y]?E=this.defaultActions[Y]:((_===null||typeof _>"u")&&(_=It()),E=k[Y]&&k[Y][_]),typeof E>"u"||!E.length||!E[0]){var ot="";it=[];for(tt in k[Y])this.terminals_[tt]&&tt>oi&&it.push("'"+this.terminals_[tt]+"'");S.showPosition?ot="Parse error on line "+(q+1)+`:
2
- `+S.showPosition()+`
3
- Expecting `+it.join(", ")+", got '"+(this.terminals_[_]||_)+"'":ot="Parse error on line "+(q+1)+": Unexpected "+(_==Et?"end of input":"'"+(this.terminals_[_]||_)+"'"),this.parseError(ot,{text:S.match,token:this.terminals_[_]||_,line:S.yylineno,loc:nt,expected:it})}if(E[0]instanceof Array&&E.length>1)throw new Error("Parse Error: multiple actions possible at state: "+Y+", token: "+_);switch(E[0]){case 1:c.push(_),y.push(S.yytext),n.push(S.yylloc),c.push(E[1]),_=null,vt=S.yyleng,x=S.yytext,q=S.yylineno,nt=S.yylloc;break;case 2:if(X=this.productions_[E[1]][1],H.$=y[y.length-X],H._$={first_line:n[n.length-(X||1)].first_line,last_line:n[n.length-1].last_line,first_column:n[n.length-(X||1)].first_column,last_column:n[n.length-1].last_column},li&&(H._$.range=[n[n.length-(X||1)].range[0],n[n.length-1].range[1]]),ht=this.performAction.apply(H,[x,vt,q,O.yy,E[1],y,n].concat(ri)),typeof ht<"u")return ht;X&&(c=c.slice(0,-1*X*2),y=y.slice(0,-1*X),n=n.slice(0,-1*X)),c.push(this.productions_[E[1]][0]),y.push(H.$),n.push(H._$),Mt=k[c[c.length-2]][c[c.length-1]],c.push(Mt);break;case 3:return!0}}return!0},"parse")},Z=function(){var v={EOF:1,parseError:a(function(h,c){if(this.yy.parser)this.yy.parser.parseError(h,c);else throw new Error(h)},"parseError"),setInput:a(function(h,c){return this.yy=c||this.yy||{},this._input=h,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:a(function(){var h=this._input[0];this.yytext+=h,this.yyleng++,this.offset++,this.match+=h,this.matched+=h;var c=h.match(/(?:\r\n?|\n).*/g);return c?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),h},"input"),unput:a(function(h){var c=h.length,g=h.split(/(?:\r\n?|\n)/g);this._input=h+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-c),this.offset-=c;var y=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),g.length-1&&(this.yylineno-=g.length-1);var n=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:g?(g.length===y.length?this.yylloc.first_column:0)+y[y.length-g.length].length-g[0].length:this.yylloc.first_column-c},this.options.ranges&&(this.yylloc.range=[n[0],n[0]+this.yyleng-c]),this.yyleng=this.yytext.length,this},"unput"),more:a(function(){return this._more=!0,this},"more"),reject:a(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).
1
+ import{e as gi,f as ui,t as Wt,s as xi,g as di,h as pi,M as a,a as Xt,am as fi,i as yi,N as mi,Q as wt,j as bi,K as Ot,P as Ai,at as Si,au as wi,av as It,$ as Bt,aw as zt}from"./index-BTk6gbYa.js";var mt=function(){var t=a(function(v,h,c,g){for(c=c||{},g=v.length;g--;c[v[g]]=h);return c},"o"),i=[1,10,12,14,16,18,19,21,23],e=[2,6],s=[1,3],l=[1,5],p=[1,6],u=[1,7],m=[1,5,10,12,14,16,18,19,21,23,34,35,36],L=[1,25],z=[1,26],$=[1,28],R=[1,29],P=[1,30],F=[1,31],N=[1,32],T=[1,33],M=[1,34],d=[1,35],A=[1,36],r=[1,37],I=[1,43],B=[1,42],U=[1,47],X=[1,50],o=[1,10,12,14,16,18,19,21,23,34,35,36],C=[1,10,12,14,16,18,19,21,23,24,26,27,28,34,35,36],b=[1,10,12,14,16,18,19,21,23,24,26,27,28,34,35,36,41,42,43,44,45,46,47,48,49,50],S=[1,64],G={trace:a(function(){},"trace"),yy:{},symbols_:{error:2,start:3,eol:4,XYCHART:5,chartConfig:6,document:7,CHART_ORIENTATION:8,statement:9,title:10,text:11,X_AXIS:12,parseXAxis:13,Y_AXIS:14,parseYAxis:15,LINE:16,plotData:17,BAR:18,acc_title:19,acc_title_value:20,acc_descr:21,acc_descr_value:22,acc_descr_multiline_value:23,SQUARE_BRACES_START:24,commaSeparatedNumbers:25,SQUARE_BRACES_END:26,NUMBER_WITH_DECIMAL:27,COMMA:28,xAxisData:29,bandData:30,ARROW_DELIMITER:31,commaSeparatedTexts:32,yAxisData:33,NEWLINE:34,SEMI:35,EOF:36,alphaNum:37,STR:38,MD_STR:39,alphaNumToken:40,AMP:41,NUM:42,ALPHA:43,PLUS:44,EQUALS:45,MULT:46,DOT:47,BRKT:48,MINUS:49,UNDERSCORE:50,$accept:0,$end:1},terminals_:{2:"error",5:"XYCHART",8:"CHART_ORIENTATION",10:"title",12:"X_AXIS",14:"Y_AXIS",16:"LINE",18:"BAR",19:"acc_title",20:"acc_title_value",21:"acc_descr",22:"acc_descr_value",23:"acc_descr_multiline_value",24:"SQUARE_BRACES_START",26:"SQUARE_BRACES_END",27:"NUMBER_WITH_DECIMAL",28:"COMMA",31:"ARROW_DELIMITER",34:"NEWLINE",35:"SEMI",36:"EOF",38:"STR",39:"MD_STR",41:"AMP",42:"NUM",43:"ALPHA",44:"PLUS",45:"EQUALS",46:"MULT",47:"DOT",48:"BRKT",49:"MINUS",50:"UNDERSCORE"},productions_:[0,[3,2],[3,3],[3,2],[3,1],[6,1],[7,0],[7,2],[9,2],[9,2],[9,2],[9,2],[9,2],[9,3],[9,2],[9,3],[9,2],[9,2],[9,1],[17,3],[25,3],[25,1],[13,1],[13,2],[13,1],[29,1],[29,3],[30,3],[32,3],[32,1],[15,1],[15,2],[15,1],[33,3],[4,1],[4,1],[4,1],[11,1],[11,1],[11,1],[37,1],[37,2],[40,1],[40,1],[40,1],[40,1],[40,1],[40,1],[40,1],[40,1],[40,1],[40,1]],performAction:a(function(v,h,c,g,y,n,k){var x=n.length-1;switch(y){case 5:g.setOrientation(n[x]);break;case 9:g.setDiagramTitle(n[x].text.trim());break;case 12:g.setLineData({text:"",type:"text"},n[x]);break;case 13:g.setLineData(n[x-1],n[x]);break;case 14:g.setBarData({text:"",type:"text"},n[x]);break;case 15:g.setBarData(n[x-1],n[x]);break;case 16:this.$=n[x].trim(),g.setAccTitle(this.$);break;case 17:case 18:this.$=n[x].trim(),g.setAccDescription(this.$);break;case 19:this.$=n[x-1];break;case 20:this.$=[Number(n[x-2]),...n[x]];break;case 21:this.$=[Number(n[x])];break;case 22:g.setXAxisTitle(n[x]);break;case 23:g.setXAxisTitle(n[x-1]);break;case 24:g.setXAxisTitle({type:"text",text:""});break;case 25:g.setXAxisBand(n[x]);break;case 26:g.setXAxisRangeData(Number(n[x-2]),Number(n[x]));break;case 27:this.$=n[x-1];break;case 28:this.$=[n[x-2],...n[x]];break;case 29:this.$=[n[x]];break;case 30:g.setYAxisTitle(n[x]);break;case 31:g.setYAxisTitle(n[x-1]);break;case 32:g.setYAxisTitle({type:"text",text:""});break;case 33:g.setYAxisRangeData(Number(n[x-2]),Number(n[x]));break;case 37:this.$={text:n[x],type:"text"};break;case 38:this.$={text:n[x],type:"text"};break;case 39:this.$={text:n[x],type:"markdown"};break;case 40:this.$=n[x];break;case 41:this.$=n[x-1]+""+n[x];break}},"anonymous"),table:[t(i,e,{3:1,4:2,7:4,5:s,34:l,35:p,36:u}),{1:[3]},t(i,e,{4:2,7:4,3:8,5:s,34:l,35:p,36:u}),t(i,e,{4:2,7:4,6:9,3:10,5:s,8:[1,11],34:l,35:p,36:u}),{1:[2,4],9:12,10:[1,13],12:[1,14],14:[1,15],16:[1,16],18:[1,17],19:[1,18],21:[1,19],23:[1,20]},t(m,[2,34]),t(m,[2,35]),t(m,[2,36]),{1:[2,1]},t(i,e,{4:2,7:4,3:21,5:s,34:l,35:p,36:u}),{1:[2,3]},t(m,[2,5]),t(i,[2,7],{4:22,34:l,35:p,36:u}),{11:23,37:24,38:L,39:z,40:27,41:$,42:R,43:P,44:F,45:N,46:T,47:M,48:d,49:A,50:r},{11:39,13:38,24:I,27:B,29:40,30:41,37:24,38:L,39:z,40:27,41:$,42:R,43:P,44:F,45:N,46:T,47:M,48:d,49:A,50:r},{11:45,15:44,27:U,33:46,37:24,38:L,39:z,40:27,41:$,42:R,43:P,44:F,45:N,46:T,47:M,48:d,49:A,50:r},{11:49,17:48,24:X,37:24,38:L,39:z,40:27,41:$,42:R,43:P,44:F,45:N,46:T,47:M,48:d,49:A,50:r},{11:52,17:51,24:X,37:24,38:L,39:z,40:27,41:$,42:R,43:P,44:F,45:N,46:T,47:M,48:d,49:A,50:r},{20:[1,53]},{22:[1,54]},t(o,[2,18]),{1:[2,2]},t(o,[2,8]),t(o,[2,9]),t(C,[2,37],{40:55,41:$,42:R,43:P,44:F,45:N,46:T,47:M,48:d,49:A,50:r}),t(C,[2,38]),t(C,[2,39]),t(b,[2,40]),t(b,[2,42]),t(b,[2,43]),t(b,[2,44]),t(b,[2,45]),t(b,[2,46]),t(b,[2,47]),t(b,[2,48]),t(b,[2,49]),t(b,[2,50]),t(b,[2,51]),t(o,[2,10]),t(o,[2,22],{30:41,29:56,24:I,27:B}),t(o,[2,24]),t(o,[2,25]),{31:[1,57]},{11:59,32:58,37:24,38:L,39:z,40:27,41:$,42:R,43:P,44:F,45:N,46:T,47:M,48:d,49:A,50:r},t(o,[2,11]),t(o,[2,30],{33:60,27:U}),t(o,[2,32]),{31:[1,61]},t(o,[2,12]),{17:62,24:X},{25:63,27:S},t(o,[2,14]),{17:65,24:X},t(o,[2,16]),t(o,[2,17]),t(b,[2,41]),t(o,[2,23]),{27:[1,66]},{26:[1,67]},{26:[2,29],28:[1,68]},t(o,[2,31]),{27:[1,69]},t(o,[2,13]),{26:[1,70]},{26:[2,21],28:[1,71]},t(o,[2,15]),t(o,[2,26]),t(o,[2,27]),{11:59,32:72,37:24,38:L,39:z,40:27,41:$,42:R,43:P,44:F,45:N,46:T,47:M,48:d,49:A,50:r},t(o,[2,33]),t(o,[2,19]),{25:73,27:S},{26:[2,28]},{26:[2,20]}],defaultActions:{8:[2,1],10:[2,3],21:[2,2],72:[2,28],73:[2,20]},parseError:a(function(v,h){if(h.recoverable)this.trace(v);else{var c=new Error(v);throw c.hash=h,c}},"parseError"),parse:a(function(v){var h=this,c=[0],g=[],y=[null],n=[],k=this.table,x="",q=0,vt=0,oi=2,Et=1,ri=n.slice.call(arguments,1),w=Object.create(this.lexer),V={yy:{}};for(var at in this.yy)Object.prototype.hasOwnProperty.call(this.yy,at)&&(V.yy[at]=this.yy[at]);w.setInput(v,V.yy),V.yy.lexer=w,V.yy.parser=this,typeof w.yylloc>"u"&&(w.yylloc={});var nt=w.yylloc;n.push(nt);var li=w.options&&w.options.ranges;typeof V.yy.parseError=="function"?this.parseError=V.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function ci(D){c.length=c.length-2*D,y.length=y.length-D,n.length=n.length-D}a(ci,"popStack");function $t(){var D;return D=g.pop()||w.lex()||Et,typeof D!="number"&&(D instanceof Array&&(g=D,D=g.pop()),D=h.symbols_[D]||D),D}a($t,"lex");for(var _,Y,E,ht,H={},tt,W,Mt,it;;){if(Y=c[c.length-1],this.defaultActions[Y]?E=this.defaultActions[Y]:((_===null||typeof _>"u")&&(_=$t()),E=k[Y]&&k[Y][_]),typeof E>"u"||!E.length||!E[0]){var ot="";it=[];for(tt in k[Y])this.terminals_[tt]&&tt>oi&&it.push("'"+this.terminals_[tt]+"'");w.showPosition?ot="Parse error on line "+(q+1)+`:
2
+ `+w.showPosition()+`
3
+ Expecting `+it.join(", ")+", got '"+(this.terminals_[_]||_)+"'":ot="Parse error on line "+(q+1)+": Unexpected "+(_==Et?"end of input":"'"+(this.terminals_[_]||_)+"'"),this.parseError(ot,{text:w.match,token:this.terminals_[_]||_,line:w.yylineno,loc:nt,expected:it})}if(E[0]instanceof Array&&E.length>1)throw new Error("Parse Error: multiple actions possible at state: "+Y+", token: "+_);switch(E[0]){case 1:c.push(_),y.push(w.yytext),n.push(w.yylloc),c.push(E[1]),_=null,vt=w.yyleng,x=w.yytext,q=w.yylineno,nt=w.yylloc;break;case 2:if(W=this.productions_[E[1]][1],H.$=y[y.length-W],H._$={first_line:n[n.length-(W||1)].first_line,last_line:n[n.length-1].last_line,first_column:n[n.length-(W||1)].first_column,last_column:n[n.length-1].last_column},li&&(H._$.range=[n[n.length-(W||1)].range[0],n[n.length-1].range[1]]),ht=this.performAction.apply(H,[x,vt,q,V.yy,E[1],y,n].concat(ri)),typeof ht<"u")return ht;W&&(c=c.slice(0,-1*W*2),y=y.slice(0,-1*W),n=n.slice(0,-1*W)),c.push(this.productions_[E[1]][0]),y.push(H.$),n.push(H._$),Mt=k[c[c.length-2]][c[c.length-1]],c.push(Mt);break;case 3:return!0}}return!0},"parse")},Z=function(){var v={EOF:1,parseError:a(function(h,c){if(this.yy.parser)this.yy.parser.parseError(h,c);else throw new Error(h)},"parseError"),setInput:a(function(h,c){return this.yy=c||this.yy||{},this._input=h,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:a(function(){var h=this._input[0];this.yytext+=h,this.yyleng++,this.offset++,this.match+=h,this.matched+=h;var c=h.match(/(?:\r\n?|\n).*/g);return c?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),h},"input"),unput:a(function(h){var c=h.length,g=h.split(/(?:\r\n?|\n)/g);this._input=h+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-c),this.offset-=c;var y=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),g.length-1&&(this.yylineno-=g.length-1);var n=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:g?(g.length===y.length?this.yylloc.first_column:0)+y[y.length-g.length].length-g[0].length:this.yylloc.first_column-c},this.options.ranges&&(this.yylloc.range=[n[0],n[0]+this.yyleng-c]),this.yyleng=this.yytext.length,this},"unput"),more:a(function(){return this._more=!0,this},"more"),reject:a(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
4
  `+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},"reject"),less:a(function(h){this.unput(this.match.slice(h))},"less"),pastInput:a(function(){var h=this.matched.substr(0,this.matched.length-this.match.length);return(h.length>20?"...":"")+h.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:a(function(){var h=this.match;return h.length<20&&(h+=this._input.substr(0,20-h.length)),(h.substr(0,20)+(h.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:a(function(){var h=this.pastInput(),c=new Array(h.length+1).join("-");return h+this.upcomingInput()+`
5
5
  `+c+"^"},"showPosition"),test_match:a(function(h,c){var g,y,n;if(this.options.backtrack_lexer&&(n={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&&(n.yylloc.range=this.yylloc.range.slice(0))),y=h[0].match(/(?:\r\n?|\n).*/g),y&&(this.yylineno+=y.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:y?y[y.length-1].length-y[y.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+h[0].length},this.yytext+=h[0],this.match+=h[0],this.matches=h,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(h[0].length),this.matched+=h[0],g=this.performAction.call(this,this.yy,this,c,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),g)return g;if(this._backtrack){for(var k in n)this[k]=n[k];return!1}return!1},"test_match"),next:a(function(){if(this.done)return this.EOF;this._input||(this.done=!0);var h,c,g,y;this._more||(this.yytext="",this.match="");for(var n=this._currentRules(),k=0;k<n.length;k++)if(g=this._input.match(this.rules[n[k]]),g&&(!c||g[0].length>c[0].length)){if(c=g,y=k,this.options.backtrack_lexer){if(h=this.test_match(g,n[k]),h!==!1)return h;if(this._backtrack){c=!1;continue}else return!1}else if(!this.options.flex)break}return c?(h=this.test_match(c,n[y]),h!==!1?h:!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:a(function(){var h=this.next();return h||this.lex()},"lex"),begin:a(function(h){this.conditionStack.push(h)},"begin"),popState:a(function(){var h=this.conditionStack.length-1;return h>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:a(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:a(function(h){return h=this.conditionStack.length-1-Math.abs(h||0),h>=0?this.conditionStack[h]:"INITIAL"},"topState"),pushState:a(function(h){this.begin(h)},"pushState"),stateStackSize:a(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:a(function(h,c,g,y){switch(g){case 0:break;case 1:break;case 2:return this.popState(),34;case 3:return this.popState(),34;case 4:return 34;case 5:break;case 6:return 10;case 7:return this.pushState("acc_title"),19;case 8:return this.popState(),"acc_title_value";case 9:return this.pushState("acc_descr"),21;case 10:return this.popState(),"acc_descr_value";case 11:this.pushState("acc_descr_multiline");break;case 12:this.popState();break;case 13:return"acc_descr_multiline_value";case 14:return 5;case 15:return 5;case 16:return 8;case 17:return this.pushState("axis_data"),"X_AXIS";case 18:return this.pushState("axis_data"),"Y_AXIS";case 19:return this.pushState("axis_band_data"),24;case 20:return 31;case 21:return this.pushState("data"),16;case 22:return this.pushState("data"),18;case 23:return this.pushState("data_inner"),24;case 24:return 27;case 25:return this.popState(),26;case 26:this.popState();break;case 27:this.pushState("string");break;case 28:this.popState();break;case 29:return"STR";case 30:return 24;case 31:return 26;case 32:return 43;case 33:return"COLON";case 34:return 44;case 35:return 28;case 36:return 45;case 37:return 46;case 38:return 48;case 39:return 50;case 40:return 47;case 41:return 41;case 42:return 49;case 43:return 42;case 44:break;case 45:return 35;case 46:return 36}},"anonymous"),rules:[/^(?:%%(?!\{)[^\n]*)/i,/^(?:[^\}]%%[^\n]*)/i,/^(?:(\r?\n))/i,/^(?:(\r?\n))/i,/^(?:[\n\r]+)/i,/^(?:%%[^\n]*)/i,/^(?:title\b)/i,/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:\{)/i,/^(?:[^\}]*)/i,/^(?:xychart-beta\b)/i,/^(?:xychart\b)/i,/^(?:(?:vertical|horizontal))/i,/^(?:x-axis\b)/i,/^(?:y-axis\b)/i,/^(?:\[)/i,/^(?:-->)/i,/^(?:line\b)/i,/^(?:bar\b)/i,/^(?:\[)/i,/^(?:[+-]?(?:\d+(?:\.\d+)?|\.\d+))/i,/^(?:\])/i,/^(?:(?:`\) \{ this\.pushState\(md_string\); \}\n<md_string>\(\?:\(\?!`"\)\.\)\+ \{ return MD_STR; \}\n<md_string>\(\?:`))/i,/^(?:["])/i,/^(?:["])/i,/^(?:[^"]*)/i,/^(?:\[)/i,/^(?:\])/i,/^(?:[A-Za-z]+)/i,/^(?::)/i,/^(?:\+)/i,/^(?:,)/i,/^(?:=)/i,/^(?:\*)/i,/^(?:#)/i,/^(?:[\_])/i,/^(?:\.)/i,/^(?:&)/i,/^(?:-)/i,/^(?:[0-9]+)/i,/^(?:\s+)/i,/^(?:;)/i,/^(?:$)/i],conditions:{data_inner:{rules:[0,1,4,5,6,7,9,11,14,15,16,17,18,21,22,24,25,26,27,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46],inclusive:!0},data:{rules:[0,1,3,4,5,6,7,9,11,14,15,16,17,18,21,22,23,26,27,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46],inclusive:!0},axis_band_data:{rules:[0,1,4,5,6,7,9,11,14,15,16,17,18,21,22,25,26,27,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46],inclusive:!0},axis_data:{rules:[0,1,2,4,5,6,7,9,11,14,15,16,17,18,19,20,21,22,24,26,27,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46],inclusive:!0},acc_descr_multiline:{rules:[12,13],inclusive:!1},acc_descr:{rules:[10],inclusive:!1},acc_title:{rules:[8],inclusive:!1},title:{rules:[],inclusive:!1},md_string:{rules:[],inclusive:!1},string:{rules:[28,29],inclusive:!1},INITIAL:{rules:[0,1,4,5,6,7,9,11,14,15,16,17,18,21,22,26,27,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46],inclusive:!0}}};return v}();j.lexer=Z;function V(){this.yy={}}return a(V,"Parser"),V.prototype=j,j.Parser=V,new V}();mt.parser=mt;var Ci=mt;function bt(t){return t.type==="bar"}a(bt,"isBarPlot");function Ct(t){return t.type==="band"}a(Ct,"isBandAxisData");function G(t){return t.type==="linear"}a(G,"isLinearAxisData");var rt,Ot=(rt=class{constructor(t){this.parentGroup=t}getMaxDimension(t,i){if(!this.parentGroup)return{width:t.reduce((l,p)=>Math.max(p.length,l),0)*i,height:i};const e={width:0,height:0},s=this.parentGroup.append("g").attr("visibility","hidden").attr("font-size",i);for(const l of t){const p=Si(s,1,l),u=p?p.width:l.length*i,m=p?p.height:i;e.width=Math.max(e.width,u),e.height=Math.max(e.height,m)}return s.remove(),e}},a(rt,"TextDimensionCalculatorWithFont"),rt),Ft=.7,Wt=.2,lt,Yt=(lt=class{constructor(t,i,e,s){this.axisConfig=t,this.title=i,this.textDimensionCalculator=e,this.axisThemeConfig=s,this.boundingRect={x:0,y:0,width:0,height:0},this.axisPosition="left",this.showTitle=!1,this.showLabel=!1,this.showTick=!1,this.showAxisLine=!1,this.outerPadding=0,this.titleTextHeight=0,this.labelTextHeight=0,this.range=[0,10],this.boundingRect={x:0,y:0,width:0,height:0},this.axisPosition="left"}setRange(t){this.range=t,this.axisPosition==="left"||this.axisPosition==="right"?this.boundingRect.height=t[1]-t[0]:this.boundingRect.width=t[1]-t[0],this.recalculateScale()}getRange(){return[this.range[0]+this.outerPadding,this.range[1]-this.outerPadding]}setAxisPosition(t){this.axisPosition=t,this.setRange(this.range)}getTickDistance(){const t=this.getRange();return Math.abs(t[0]-t[1])/this.getTickValues().length}getAxisOuterPadding(){return this.outerPadding}getLabelDimension(){return this.textDimensionCalculator.getMaxDimension(this.getTickValues().map(t=>t.toString()),this.axisConfig.labelFontSize)}recalculateOuterPaddingToDrawBar(){Ft*this.getTickDistance()>this.outerPadding*2&&(this.outerPadding=Math.floor(Ft*this.getTickDistance()/2)),this.recalculateScale()}calculateSpaceIfDrawnHorizontally(t){let i=t.height;if(this.axisConfig.showAxisLine&&i>this.axisConfig.axisLineWidth&&(i-=this.axisConfig.axisLineWidth,this.showAxisLine=!0),this.axisConfig.showLabel){const e=this.getLabelDimension(),s=Wt*t.width;this.outerPadding=Math.min(e.width/2,s);const l=e.height+this.axisConfig.labelPadding*2;this.labelTextHeight=e.height,l<=i&&(i-=l,this.showLabel=!0)}if(this.axisConfig.showTick&&i>=this.axisConfig.tickLength&&(this.showTick=!0,i-=this.axisConfig.tickLength),this.axisConfig.showTitle&&this.title){const e=this.textDimensionCalculator.getMaxDimension([this.title],this.axisConfig.titleFontSize),s=e.height+this.axisConfig.titlePadding*2;this.titleTextHeight=e.height,s<=i&&(i-=s,this.showTitle=!0)}this.boundingRect.width=t.width,this.boundingRect.height=t.height-i}calculateSpaceIfDrawnVertical(t){let i=t.width;if(this.axisConfig.showAxisLine&&i>this.axisConfig.axisLineWidth&&(i-=this.axisConfig.axisLineWidth,this.showAxisLine=!0),this.axisConfig.showLabel){const e=this.getLabelDimension(),s=Wt*t.height;this.outerPadding=Math.min(e.height/2,s);const l=e.width+this.axisConfig.labelPadding*2;l<=i&&(i-=l,this.showLabel=!0)}if(this.axisConfig.showTick&&i>=this.axisConfig.tickLength&&(this.showTick=!0,i-=this.axisConfig.tickLength),this.axisConfig.showTitle&&this.title){const e=this.textDimensionCalculator.getMaxDimension([this.title],this.axisConfig.titleFontSize),s=e.height+this.axisConfig.titlePadding*2;this.titleTextHeight=e.height,s<=i&&(i-=s,this.showTitle=!0)}this.boundingRect.width=t.width-i,this.boundingRect.height=t.height}calculateSpace(t){return this.axisPosition==="left"||this.axisPosition==="right"?this.calculateSpaceIfDrawnVertical(t):this.calculateSpaceIfDrawnHorizontally(t),this.recalculateScale(),{width:this.boundingRect.width,height:this.boundingRect.height}}setBoundingBoxXY(t){this.boundingRect.x=t.x,this.boundingRect.y=t.y}getDrawableElementsForLeftAxis(){const t=[];if(this.showAxisLine){const i=this.boundingRect.x+this.boundingRect.width-this.axisConfig.axisLineWidth/2;t.push({type:"path",groupTexts:["left-axis","axisl-line"],data:[{path:`M ${i},${this.boundingRect.y} L ${i},${this.boundingRect.y+this.boundingRect.height} `,strokeFill:this.axisThemeConfig.axisLineColor,strokeWidth:this.axisConfig.axisLineWidth}]})}if(this.showLabel&&t.push({type:"text",groupTexts:["left-axis","label"],data:this.getTickValues().map(i=>({text:i.toString(),x:this.boundingRect.x+this.boundingRect.width-(this.showLabel?this.axisConfig.labelPadding:0)-(this.showTick?this.axisConfig.tickLength:0)-(this.showAxisLine?this.axisConfig.axisLineWidth:0),y:this.getScaleValue(i),fill:this.axisThemeConfig.labelColor,fontSize:this.axisConfig.labelFontSize,rotation:0,verticalPos:"middle",horizontalPos:"right"}))}),this.showTick){const i=this.boundingRect.x+this.boundingRect.width-(this.showAxisLine?this.axisConfig.axisLineWidth:0);t.push({type:"path",groupTexts:["left-axis","ticks"],data:this.getTickValues().map(e=>({path:`M ${i},${this.getScaleValue(e)} L ${i-this.axisConfig.tickLength},${this.getScaleValue(e)}`,strokeFill:this.axisThemeConfig.tickColor,strokeWidth:this.axisConfig.tickWidth}))})}return this.showTitle&&t.push({type:"text",groupTexts:["left-axis","title"],data:[{text:this.title,x:this.boundingRect.x+this.axisConfig.titlePadding,y:this.boundingRect.y+this.boundingRect.height/2,fill:this.axisThemeConfig.titleColor,fontSize:this.axisConfig.titleFontSize,rotation:270,verticalPos:"top",horizontalPos:"center"}]}),t}getDrawableElementsForBottomAxis(){const t=[];if(this.showAxisLine){const i=this.boundingRect.y+this.axisConfig.axisLineWidth/2;t.push({type:"path",groupTexts:["bottom-axis","axis-line"],data:[{path:`M ${this.boundingRect.x},${i} L ${this.boundingRect.x+this.boundingRect.width},${i}`,strokeFill:this.axisThemeConfig.axisLineColor,strokeWidth:this.axisConfig.axisLineWidth}]})}if(this.showLabel&&t.push({type:"text",groupTexts:["bottom-axis","label"],data:this.getTickValues().map(i=>({text:i.toString(),x:this.getScaleValue(i),y:this.boundingRect.y+this.axisConfig.labelPadding+(this.showTick?this.axisConfig.tickLength:0)+(this.showAxisLine?this.axisConfig.axisLineWidth:0),fill:this.axisThemeConfig.labelColor,fontSize:this.axisConfig.labelFontSize,rotation:0,verticalPos:"top",horizontalPos:"center"}))}),this.showTick){const i=this.boundingRect.y+(this.showAxisLine?this.axisConfig.axisLineWidth:0);t.push({type:"path",groupTexts:["bottom-axis","ticks"],data:this.getTickValues().map(e=>({path:`M ${this.getScaleValue(e)},${i} L ${this.getScaleValue(e)},${i+this.axisConfig.tickLength}`,strokeFill:this.axisThemeConfig.tickColor,strokeWidth:this.axisConfig.tickWidth}))})}return this.showTitle&&t.push({type:"text",groupTexts:["bottom-axis","title"],data:[{text:this.title,x:this.range[0]+(this.range[1]-this.range[0])/2,y:this.boundingRect.y+this.boundingRect.height-this.axisConfig.titlePadding-this.titleTextHeight,fill:this.axisThemeConfig.titleColor,fontSize:this.axisConfig.titleFontSize,rotation:0,verticalPos:"top",horizontalPos:"center"}]}),t}getDrawableElementsForTopAxis(){const t=[];if(this.showAxisLine){const i=this.boundingRect.y+this.boundingRect.height-this.axisConfig.axisLineWidth/2;t.push({type:"path",groupTexts:["top-axis","axis-line"],data:[{path:`M ${this.boundingRect.x},${i} L ${this.boundingRect.x+this.boundingRect.width},${i}`,strokeFill:this.axisThemeConfig.axisLineColor,strokeWidth:this.axisConfig.axisLineWidth}]})}if(this.showLabel&&t.push({type:"text",groupTexts:["top-axis","label"],data:this.getTickValues().map(i=>({text:i.toString(),x:this.getScaleValue(i),y:this.boundingRect.y+(this.showTitle?this.titleTextHeight+this.axisConfig.titlePadding*2:0)+this.axisConfig.labelPadding,fill:this.axisThemeConfig.labelColor,fontSize:this.axisConfig.labelFontSize,rotation:0,verticalPos:"top",horizontalPos:"center"}))}),this.showTick){const i=this.boundingRect.y;t.push({type:"path",groupTexts:["top-axis","ticks"],data:this.getTickValues().map(e=>({path:`M ${this.getScaleValue(e)},${i+this.boundingRect.height-(this.showAxisLine?this.axisConfig.axisLineWidth:0)} L ${this.getScaleValue(e)},${i+this.boundingRect.height-this.axisConfig.tickLength-(this.showAxisLine?this.axisConfig.axisLineWidth:0)}`,strokeFill:this.axisThemeConfig.tickColor,strokeWidth:this.axisConfig.tickWidth}))})}return this.showTitle&&t.push({type:"text",groupTexts:["top-axis","title"],data:[{text:this.title,x:this.boundingRect.x+this.boundingRect.width/2,y:this.boundingRect.y+this.axisConfig.titlePadding,fill:this.axisThemeConfig.titleColor,fontSize:this.axisConfig.titleFontSize,rotation:0,verticalPos:"top",horizontalPos:"center"}]}),t}getDrawableElements(){if(this.axisPosition==="left")return this.getDrawableElementsForLeftAxis();if(this.axisPosition==="right")throw Error("Drawing of right axis is not implemented");return this.axisPosition==="bottom"?this.getDrawableElementsForBottomAxis():this.axisPosition==="top"?this.getDrawableElementsForTopAxis():[]}},a(lt,"BaseAxis"),lt),ct,ki=(ct=class extends Yt{constructor(t,i,e,s,l){super(t,s,l,i),this.categories=e,this.scale=$t().domain(this.categories).range(this.getRange())}setRange(t){super.setRange(t)}recalculateScale(){this.scale=$t().domain(this.categories).range(this.getRange()).paddingInner(1).paddingOuter(0).align(.5),Nt.trace("BandAxis axis final categories, range: ",this.categories,this.getRange())}getTickValues(){return this.categories}getScaleValue(t){return this.scale(t)??this.getRange()[0]}},a(ct,"BandAxis"),ct),gt,_i=(gt=class extends Yt{constructor(t,i,e,s,l){super(t,s,l,i),this.domain=e,this.scale=Bt().domain(this.domain).range(this.getRange())}getTickValues(){return this.scale.ticks()}recalculateScale(){const t=[...this.domain];this.axisPosition==="left"&&t.reverse(),this.scale=Bt().domain(t).range(this.getRange())}getScaleValue(t){return this.scale(t)}},a(gt,"LinearAxis"),gt);function At(t,i,e,s){const l=new Ot(s);return Ct(t)?new ki(i,e,t.categories,t.title,l):new _i(i,e,[t.min,t.max],t.title,l)}a(At,"getAxis");var ut,Ri=(ut=class{constructor(t,i,e,s){this.textDimensionCalculator=t,this.chartConfig=i,this.chartData=e,this.chartThemeConfig=s,this.boundingRect={x:0,y:0,width:0,height:0},this.showChartTitle=!1}setBoundingBoxXY(t){this.boundingRect.x=t.x,this.boundingRect.y=t.y}calculateSpace(t){const i=this.textDimensionCalculator.getMaxDimension([this.chartData.title],this.chartConfig.titleFontSize),e=Math.max(i.width,t.width),s=i.height+2*this.chartConfig.titlePadding;return i.width<=e&&i.height<=s&&this.chartConfig.showTitle&&this.chartData.title&&(this.boundingRect.width=e,this.boundingRect.height=s,this.showChartTitle=!0),{width:this.boundingRect.width,height:this.boundingRect.height}}getDrawableElements(){const t=[];return this.showChartTitle&&t.push({groupTexts:["chart-title"],type:"text",data:[{fontSize:this.chartConfig.titleFontSize,text:this.chartData.title,verticalPos:"middle",horizontalPos:"center",x:this.boundingRect.x+this.boundingRect.width/2,y:this.boundingRect.y+this.boundingRect.height/2,fill:this.chartThemeConfig.titleColor,rotation:0}]}),t}},a(ut,"ChartTitle"),ut);function Ut(t,i,e,s){const l=new Ot(s);return new Ri(l,t,i,e)}a(Ut,"getChartTitleComponent");var xt,Ti=(xt=class{constructor(t,i,e,s,l){this.plotData=t,this.xAxis=i,this.yAxis=e,this.orientation=s,this.plotIndex=l}getDrawableElement(){const t=this.plotData.data.map(e=>[this.xAxis.getScaleValue(e[0]),this.yAxis.getScaleValue(e[1])]);let i;return this.orientation==="horizontal"?i=zt().y(e=>e[0]).x(e=>e[1])(t):i=zt().x(e=>e[0]).y(e=>e[1])(t),i?[{groupTexts:["plot",`line-plot-${this.plotIndex}`],type:"path",data:[{path:i,strokeFill:this.plotData.strokeFill,strokeWidth:this.plotData.strokeWidth}]}]:[]}},a(xt,"LinePlot"),xt),dt,Di=(dt=class{constructor(t,i,e,s,l,p){this.barData=t,this.boundingRect=i,this.xAxis=e,this.yAxis=s,this.orientation=l,this.plotIndex=p}getDrawableElement(){const t=this.barData.data.map(s=>[this.xAxis.getScaleValue(s[0]),this.yAxis.getScaleValue(s[1])]),i=Math.min(this.xAxis.getAxisOuterPadding()*2,this.xAxis.getTickDistance())*(1-.05),e=i/2;return this.orientation==="horizontal"?[{groupTexts:["plot",`bar-plot-${this.plotIndex}`],type:"rect",data:t.map(s=>({x:this.boundingRect.x,y:s[0]-e,height:i,width:s[1]-this.boundingRect.x,fill:this.barData.fill,strokeWidth:0,strokeFill:this.barData.fill}))}]:[{groupTexts:["plot",`bar-plot-${this.plotIndex}`],type:"rect",data:t.map(s=>({x:s[0]-e,y:s[1],width:i,height:this.boundingRect.y+this.boundingRect.height-s[1],fill:this.barData.fill,strokeWidth:0,strokeFill:this.barData.fill}))}]}},a(dt,"BarPlot"),dt),pt,Li=(pt=class{constructor(t,i,e){this.chartConfig=t,this.chartData=i,this.chartThemeConfig=e,this.boundingRect={x:0,y:0,width:0,height:0}}setAxes(t,i){this.xAxis=t,this.yAxis=i}setBoundingBoxXY(t){this.boundingRect.x=t.x,this.boundingRect.y=t.y}calculateSpace(t){return this.boundingRect.width=t.width,this.boundingRect.height=t.height,{width:this.boundingRect.width,height:this.boundingRect.height}}getDrawableElements(){if(!(this.xAxis&&this.yAxis))throw Error("Axes must be passed to render Plots");const t=[];for(const[i,e]of this.chartData.plots.entries())switch(e.type){case"line":{const s=new Ti(e,this.xAxis,this.yAxis,this.chartConfig.chartOrientation,i);t.push(...s.getDrawableElement())}break;case"bar":{const s=new Di(e,this.boundingRect,this.xAxis,this.yAxis,this.chartConfig.chartOrientation,i);t.push(...s.getDrawableElement())}break}return t}},a(pt,"BasePlot"),pt);function Ht(t,i,e){return new Li(t,i,e)}a(Ht,"getPlotComponent");var ft,Pi=(ft=class{constructor(t,i,e,s){this.chartConfig=t,this.chartData=i,this.componentStore={title:Ut(t,i,e,s),plot:Ht(t,i,e),xAxis:At(i.xAxis,t.xAxis,{titleColor:e.xAxisTitleColor,labelColor:e.xAxisLabelColor,tickColor:e.xAxisTickColor,axisLineColor:e.xAxisLineColor},s),yAxis:At(i.yAxis,t.yAxis,{titleColor:e.yAxisTitleColor,labelColor:e.yAxisLabelColor,tickColor:e.yAxisTickColor,axisLineColor:e.yAxisLineColor},s)}}calculateVerticalSpace(){let t=this.chartConfig.width,i=this.chartConfig.height,e=0,s=0,l=Math.floor(t*this.chartConfig.plotReservedSpacePercent/100),p=Math.floor(i*this.chartConfig.plotReservedSpacePercent/100),u=this.componentStore.plot.calculateSpace({width:l,height:p});t-=u.width,i-=u.height,u=this.componentStore.title.calculateSpace({width:this.chartConfig.width,height:i}),s=u.height,i-=u.height,this.componentStore.xAxis.setAxisPosition("bottom"),u=this.componentStore.xAxis.calculateSpace({width:t,height:i}),i-=u.height,this.componentStore.yAxis.setAxisPosition("left"),u=this.componentStore.yAxis.calculateSpace({width:t,height:i}),e=u.width,t-=u.width,t>0&&(l+=t,t=0),i>0&&(p+=i,i=0),this.componentStore.plot.calculateSpace({width:l,height:p}),this.componentStore.plot.setBoundingBoxXY({x:e,y:s}),this.componentStore.xAxis.setRange([e,e+l]),this.componentStore.xAxis.setBoundingBoxXY({x:e,y:s+p}),this.componentStore.yAxis.setRange([s,s+p]),this.componentStore.yAxis.setBoundingBoxXY({x:0,y:s}),this.chartData.plots.some(m=>bt(m))&&this.componentStore.xAxis.recalculateOuterPaddingToDrawBar()}calculateHorizontalSpace(){let t=this.chartConfig.width,i=this.chartConfig.height,e=0,s=0,l=0,p=Math.floor(t*this.chartConfig.plotReservedSpacePercent/100),u=Math.floor(i*this.chartConfig.plotReservedSpacePercent/100),m=this.componentStore.plot.calculateSpace({width:p,height:u});t-=m.width,i-=m.height,m=this.componentStore.title.calculateSpace({width:this.chartConfig.width,height:i}),e=m.height,i-=m.height,this.componentStore.xAxis.setAxisPosition("left"),m=this.componentStore.xAxis.calculateSpace({width:t,height:i}),t-=m.width,s=m.width,this.componentStore.yAxis.setAxisPosition("top"),m=this.componentStore.yAxis.calculateSpace({width:t,height:i}),i-=m.height,l=e+m.height,t>0&&(p+=t,t=0),i>0&&(u+=i,i=0),this.componentStore.plot.calculateSpace({width:p,height:u}),this.componentStore.plot.setBoundingBoxXY({x:s,y:l}),this.componentStore.yAxis.setRange([s,s+p]),this.componentStore.yAxis.setBoundingBoxXY({x:s,y:e}),this.componentStore.xAxis.setRange([l,l+u]),this.componentStore.xAxis.setBoundingBoxXY({x:0,y:l}),this.chartData.plots.some(L=>bt(L))&&this.componentStore.xAxis.recalculateOuterPaddingToDrawBar()}calculateSpace(){this.chartConfig.chartOrientation==="horizontal"?this.calculateHorizontalSpace():this.calculateVerticalSpace()}getDrawableElement(){this.calculateSpace();const t=[];this.componentStore.plot.setAxes(this.componentStore.xAxis,this.componentStore.yAxis);for(const i of Object.values(this.componentStore))t.push(...i.getDrawableElements());return t}},a(ft,"Orchestrator"),ft),yt,vi=(yt=class{static build(t,i,e,s){return new Pi(t,i,e,s).getDrawableElement()}},a(yt,"XYChartBuilder"),yt),Q=0,Gt,J=Rt(),K=_t(),f=Tt(),wt=K.plotColorPalette.split(",").map(t=>t.trim()),et=!1,kt=!1;function _t(){const t=Ai(),i=St();return Vt(t.xyChart,i.themeVariables.xyChart)}a(_t,"getChartDefaultThemeConfig");function Rt(){const t=St();return Vt(bi.xyChart,t.xyChart)}a(Rt,"getChartDefaultConfig");function Tt(){return{yAxis:{type:"linear",title:"",min:1/0,max:-1/0},xAxis:{type:"band",title:"",categories:[]},title:"",plots:[]}}a(Tt,"getChartDefaultData");function st(t){const i=St();return wi(t.trim(),i)}a(st,"textSanitizer");function jt(t){Gt=t}a(jt,"setTmpSVGG");function Qt(t){t==="horizontal"?J.chartOrientation="horizontal":J.chartOrientation="vertical"}a(Qt,"setOrientation");function Jt(t){f.xAxis.title=st(t.text)}a(Jt,"setXAxisTitle");function Dt(t,i){f.xAxis={type:"linear",title:f.xAxis.title,min:t,max:i},et=!0}a(Dt,"setXAxisRangeData");function Kt(t){f.xAxis={type:"band",title:f.xAxis.title,categories:t.map(i=>st(i.text))},et=!0}a(Kt,"setXAxisBand");function Zt(t){f.yAxis.title=st(t.text)}a(Zt,"setYAxisTitle");function qt(t,i){f.yAxis={type:"linear",title:f.yAxis.title,min:t,max:i},kt=!0}a(qt,"setYAxisRangeData");function ti(t){const i=Math.min(...t),e=Math.max(...t),s=G(f.yAxis)?f.yAxis.min:1/0,l=G(f.yAxis)?f.yAxis.max:-1/0;f.yAxis={type:"linear",title:f.yAxis.title,min:Math.min(s,i),max:Math.max(l,e)}}a(ti,"setYAxisRangeFromPlotData");function Lt(t){let i=[];if(t.length===0)return i;if(!et){const e=G(f.xAxis)?f.xAxis.min:1/0,s=G(f.xAxis)?f.xAxis.max:-1/0;Dt(Math.min(e,1),Math.max(s,t.length))}if(kt||ti(t),Ct(f.xAxis)&&(i=f.xAxis.categories.map((e,s)=>[e,t[s]])),G(f.xAxis)){const e=f.xAxis.min,s=f.xAxis.max,l=(s-e)/(t.length-1),p=[];for(let u=e;u<=s;u+=l)p.push(`${u}`);i=p.map((u,m)=>[u,t[m]])}return i}a(Lt,"transformDataWithoutCategory");function Pt(t){return wt[t===0?0:t%wt.length]}a(Pt,"getPlotColorFromPalette");function ii(t,i){const e=Lt(i);f.plots.push({type:"line",strokeFill:Pt(Q),strokeWidth:2,data:e}),Q++}a(ii,"setLineData");function ei(t,i){const e=Lt(i);f.plots.push({type:"bar",fill:Pt(Q),data:e}),Q++}a(ei,"setBarData");function si(){if(f.plots.length===0)throw Error("No Plot to render, please provide a plot with some data");return f.title=Xt(),vi.build(J,f,K,Gt)}a(si,"getDrawableElem");function ai(){return K}a(ai,"getChartThemeConfig");function ni(){return J}a(ni,"getChartConfig");function hi(){return f}a(hi,"getXYChartData");var Ei=a(function(){mi(),Q=0,J=Rt(),f=Tt(),K=_t(),wt=K.plotColorPalette.split(",").map(t=>t.trim()),et=!1,kt=!1},"clear"),Ii={getDrawableElem:si,clear:Ei,setAccTitle:pi,getAccTitle:di,setDiagramTitle:xi,getDiagramTitle:Xt,getAccDescription:ui,setAccDescription:gi,setOrientation:Qt,setXAxisTitle:Jt,setXAxisRangeData:Dt,setXAxisBand:Kt,setYAxisTitle:Zt,setYAxisRangeData:qt,setLineData:ii,setBarData:ei,setTmpSVGG:jt,getChartThemeConfig:ai,getChartConfig:ni,getXYChartData:hi},Mi=a((t,i,e,s)=>{const l=s.db,p=l.getChartThemeConfig(),u=l.getChartConfig(),m=l.getXYChartData().plots[0].data.map(d=>d[1]);function L(d){return d==="top"?"text-before-edge":"middle"}a(L,"getDominantBaseLine");function z(d){return d==="left"?"start":d==="right"?"end":"middle"}a(z,"getTextAnchor");function I(d){return`translate(${d.x}, ${d.y}) rotate(${d.rotation||0})`}a(I,"getTextTransformation"),Nt.debug(`Rendering xychart chart
7
- `+t);const R=fi(i),P=R.append("g").attr("class","main"),F=P.append("rect").attr("width",u.width).attr("height",u.height).attr("class","background");yi(R,u.height,u.width,!0),R.attr("viewBox",`0 0 ${u.width} ${u.height}`),F.attr("fill",p.backgroundColor),l.setTmpSVGG(R.append("g").attr("class","mermaid-tmp-group"));const W=l.getDrawableElem(),T={};function M(d){let A=P,r="";for(const[$]of d.entries()){let B=P;$>0&&T[r]&&(B=T[r]),r+=d[$],A=T[r],A||(A=T[r]=B.append("g").attr("class",d[$]))}return A}a(M,"getGroup");for(const d of W){if(d.data.length===0)continue;const A=M(d.groupTexts);switch(d.type){case"rect":if(A.selectAll("rect").data(d.data).enter().append("rect").attr("x",r=>r.x).attr("y",r=>r.y).attr("width",r=>r.width).attr("height",r=>r.height).attr("fill",r=>r.fill).attr("stroke",r=>r.strokeFill).attr("stroke-width",r=>r.strokeWidth),u.showDataLabel)if(u.chartOrientation==="horizontal"){let r=function(o,C){const{data:b,label:w}=o;return C*w.length*$<=b.width-10};a(r,"fitsHorizontally");const $=.7,B=d.data.map((o,C)=>({data:o,label:m[C].toString()})).filter(o=>o.data.width>0&&o.data.height>0),U=B.map(o=>{const{data:C}=o;let b=C.height*.7;for(;!r(o,b)&&b>0;)b-=1;return b}),N=Math.floor(Math.min(...U));A.selectAll("text").data(B).enter().append("text").attr("x",o=>o.data.x+o.data.width-10).attr("y",o=>o.data.y+o.data.height/2).attr("text-anchor","end").attr("dominant-baseline","middle").attr("fill","black").attr("font-size",`${N}px`).text(o=>o.label)}else{let r=function(o,C,b){const{data:w,label:j}=o,Z=C*j.length*.7,V=w.x+w.width/2,v=V-Z/2,h=V+Z/2,c=v>=w.x&&h<=w.x+w.width,g=w.y+b+C<=w.y+w.height;return c&&g};a(r,"fitsInBar");const $=10,B=d.data.map((o,C)=>({data:o,label:m[C].toString()})).filter(o=>o.data.width>0&&o.data.height>0),U=B.map(o=>{const{data:C,label:b}=o;let w=C.width/(b.length*.7);for(;!r(o,w,$)&&w>0;)w-=1;return w}),N=Math.floor(Math.min(...U));A.selectAll("text").data(B).enter().append("text").attr("x",o=>o.data.x+o.data.width/2).attr("y",o=>o.data.y+$).attr("text-anchor","middle").attr("dominant-baseline","hanging").attr("fill","black").attr("font-size",`${N}px`).text(o=>o.label)}break;case"text":A.selectAll("text").data(d.data).enter().append("text").attr("x",0).attr("y",0).attr("fill",r=>r.fill).attr("font-size",r=>r.fontSize).attr("dominant-baseline",r=>L(r.verticalPos)).attr("text-anchor",r=>z(r.horizontalPos)).attr("transform",r=>I(r)).text(r=>r.text);break;case"path":A.selectAll("path").data(d.data).enter().append("path").attr("d",r=>r.path).attr("fill",r=>r.fill?r.fill:"none").attr("stroke",r=>r.strokeFill).attr("stroke-width",r=>r.strokeWidth);break}}},"draw"),$i={draw:Mi},zi={parser:Ci,db:Ii,renderer:$i};export{zi as diagram};
6
+ `+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:a(function(){var h=this.next();return h||this.lex()},"lex"),begin:a(function(h){this.conditionStack.push(h)},"begin"),popState:a(function(){var h=this.conditionStack.length-1;return h>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:a(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:a(function(h){return h=this.conditionStack.length-1-Math.abs(h||0),h>=0?this.conditionStack[h]:"INITIAL"},"topState"),pushState:a(function(h){this.begin(h)},"pushState"),stateStackSize:a(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:a(function(h,c,g,y){switch(g){case 0:break;case 1:break;case 2:return this.popState(),34;case 3:return this.popState(),34;case 4:return 34;case 5:break;case 6:return 10;case 7:return this.pushState("acc_title"),19;case 8:return this.popState(),"acc_title_value";case 9:return this.pushState("acc_descr"),21;case 10:return this.popState(),"acc_descr_value";case 11:this.pushState("acc_descr_multiline");break;case 12:this.popState();break;case 13:return"acc_descr_multiline_value";case 14:return 5;case 15:return 5;case 16:return 8;case 17:return this.pushState("axis_data"),"X_AXIS";case 18:return this.pushState("axis_data"),"Y_AXIS";case 19:return this.pushState("axis_band_data"),24;case 20:return 31;case 21:return this.pushState("data"),16;case 22:return this.pushState("data"),18;case 23:return this.pushState("data_inner"),24;case 24:return 27;case 25:return this.popState(),26;case 26:this.popState();break;case 27:this.pushState("string");break;case 28:this.popState();break;case 29:return"STR";case 30:return 24;case 31:return 26;case 32:return 43;case 33:return"COLON";case 34:return 44;case 35:return 28;case 36:return 45;case 37:return 46;case 38:return 48;case 39:return 50;case 40:return 47;case 41:return 41;case 42:return 49;case 43:return 42;case 44:break;case 45:return 35;case 46:return 36}},"anonymous"),rules:[/^(?:%%(?!\{)[^\n]*)/i,/^(?:[^\}]%%[^\n]*)/i,/^(?:(\r?\n))/i,/^(?:(\r?\n))/i,/^(?:[\n\r]+)/i,/^(?:%%[^\n]*)/i,/^(?:title\b)/i,/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:\{)/i,/^(?:[^\}]*)/i,/^(?:xychart-beta\b)/i,/^(?:xychart\b)/i,/^(?:(?:vertical|horizontal))/i,/^(?:x-axis\b)/i,/^(?:y-axis\b)/i,/^(?:\[)/i,/^(?:-->)/i,/^(?:line\b)/i,/^(?:bar\b)/i,/^(?:\[)/i,/^(?:[+-]?(?:\d+(?:\.\d+)?|\.\d+))/i,/^(?:\])/i,/^(?:(?:`\) \{ this\.pushState\(md_string\); \}\n<md_string>\(\?:\(\?!`"\)\.\)\+ \{ return MD_STR; \}\n<md_string>\(\?:`))/i,/^(?:["])/i,/^(?:["])/i,/^(?:[^"]*)/i,/^(?:\[)/i,/^(?:\])/i,/^(?:[A-Za-z]+)/i,/^(?::)/i,/^(?:\+)/i,/^(?:,)/i,/^(?:=)/i,/^(?:\*)/i,/^(?:#)/i,/^(?:[\_])/i,/^(?:\.)/i,/^(?:&)/i,/^(?:-)/i,/^(?:[0-9]+)/i,/^(?:\s+)/i,/^(?:;)/i,/^(?:$)/i],conditions:{data_inner:{rules:[0,1,4,5,6,7,9,11,14,15,16,17,18,21,22,24,25,26,27,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46],inclusive:!0},data:{rules:[0,1,3,4,5,6,7,9,11,14,15,16,17,18,21,22,23,26,27,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46],inclusive:!0},axis_band_data:{rules:[0,1,4,5,6,7,9,11,14,15,16,17,18,21,22,25,26,27,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46],inclusive:!0},axis_data:{rules:[0,1,2,4,5,6,7,9,11,14,15,16,17,18,19,20,21,22,24,26,27,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46],inclusive:!0},acc_descr_multiline:{rules:[12,13],inclusive:!1},acc_descr:{rules:[10],inclusive:!1},acc_title:{rules:[8],inclusive:!1},title:{rules:[],inclusive:!1},md_string:{rules:[],inclusive:!1},string:{rules:[28,29],inclusive:!1},INITIAL:{rules:[0,1,4,5,6,7,9,11,14,15,16,17,18,21,22,26,27,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46],inclusive:!0}}};return v}();G.lexer=Z;function O(){this.yy={}}return a(O,"Parser"),O.prototype=G,G.Parser=O,new O}();mt.parser=mt;var Ci=mt;function bt(t){return t.type==="bar"}a(bt,"isBarPlot");function Ct(t){return t.type==="band"}a(Ct,"isBandAxisData");function j(t){return t.type==="linear"}a(j,"isLinearAxisData");var rt,Vt=(rt=class{constructor(t){this.parentGroup=t}getMaxDimension(t,i){if(!this.parentGroup)return{width:t.reduce((l,p)=>Math.max(p.length,l),0)*i,height:i};const e={width:0,height:0},s=this.parentGroup.append("g").attr("visibility","hidden").attr("font-size",i);for(const l of t){const p=wi(s,1,l),u=p?p.width:l.length*i,m=p?p.height:i;e.width=Math.max(e.width,u),e.height=Math.max(e.height,m)}return s.remove(),e}},a(rt,"TextDimensionCalculatorWithFont"),rt),Ft=.7,Nt=.2,lt,Yt=(lt=class{constructor(t,i,e,s){this.axisConfig=t,this.title=i,this.textDimensionCalculator=e,this.axisThemeConfig=s,this.boundingRect={x:0,y:0,width:0,height:0},this.axisPosition="left",this.showTitle=!1,this.showLabel=!1,this.showTick=!1,this.showAxisLine=!1,this.outerPadding=0,this.titleTextHeight=0,this.labelTextHeight=0,this.range=[0,10],this.boundingRect={x:0,y:0,width:0,height:0},this.axisPosition="left"}setRange(t){this.range=t,this.axisPosition==="left"||this.axisPosition==="right"?this.boundingRect.height=t[1]-t[0]:this.boundingRect.width=t[1]-t[0],this.recalculateScale()}getRange(){return[this.range[0]+this.outerPadding,this.range[1]-this.outerPadding]}setAxisPosition(t){this.axisPosition=t,this.setRange(this.range)}getTickDistance(){const t=this.getRange();return Math.abs(t[0]-t[1])/this.getTickValues().length}getAxisOuterPadding(){return this.outerPadding}getLabelDimension(){return this.textDimensionCalculator.getMaxDimension(this.getTickValues().map(t=>t.toString()),this.axisConfig.labelFontSize)}recalculateOuterPaddingToDrawBar(){Ft*this.getTickDistance()>this.outerPadding*2&&(this.outerPadding=Math.floor(Ft*this.getTickDistance()/2)),this.recalculateScale()}calculateSpaceIfDrawnHorizontally(t){let i=t.height;if(this.axisConfig.showAxisLine&&i>this.axisConfig.axisLineWidth&&(i-=this.axisConfig.axisLineWidth,this.showAxisLine=!0),this.axisConfig.showLabel){const e=this.getLabelDimension(),s=Nt*t.width;this.outerPadding=Math.min(e.width/2,s);const l=e.height+this.axisConfig.labelPadding*2;this.labelTextHeight=e.height,l<=i&&(i-=l,this.showLabel=!0)}if(this.axisConfig.showTick&&i>=this.axisConfig.tickLength&&(this.showTick=!0,i-=this.axisConfig.tickLength),this.axisConfig.showTitle&&this.title){const e=this.textDimensionCalculator.getMaxDimension([this.title],this.axisConfig.titleFontSize),s=e.height+this.axisConfig.titlePadding*2;this.titleTextHeight=e.height,s<=i&&(i-=s,this.showTitle=!0)}this.boundingRect.width=t.width,this.boundingRect.height=t.height-i}calculateSpaceIfDrawnVertical(t){let i=t.width;if(this.axisConfig.showAxisLine&&i>this.axisConfig.axisLineWidth&&(i-=this.axisConfig.axisLineWidth,this.showAxisLine=!0),this.axisConfig.showLabel){const e=this.getLabelDimension(),s=Nt*t.height;this.outerPadding=Math.min(e.height/2,s);const l=e.width+this.axisConfig.labelPadding*2;l<=i&&(i-=l,this.showLabel=!0)}if(this.axisConfig.showTick&&i>=this.axisConfig.tickLength&&(this.showTick=!0,i-=this.axisConfig.tickLength),this.axisConfig.showTitle&&this.title){const e=this.textDimensionCalculator.getMaxDimension([this.title],this.axisConfig.titleFontSize),s=e.height+this.axisConfig.titlePadding*2;this.titleTextHeight=e.height,s<=i&&(i-=s,this.showTitle=!0)}this.boundingRect.width=t.width-i,this.boundingRect.height=t.height}calculateSpace(t){return this.axisPosition==="left"||this.axisPosition==="right"?this.calculateSpaceIfDrawnVertical(t):this.calculateSpaceIfDrawnHorizontally(t),this.recalculateScale(),{width:this.boundingRect.width,height:this.boundingRect.height}}setBoundingBoxXY(t){this.boundingRect.x=t.x,this.boundingRect.y=t.y}getDrawableElementsForLeftAxis(){const t=[];if(this.showAxisLine){const i=this.boundingRect.x+this.boundingRect.width-this.axisConfig.axisLineWidth/2;t.push({type:"path",groupTexts:["left-axis","axisl-line"],data:[{path:`M ${i},${this.boundingRect.y} L ${i},${this.boundingRect.y+this.boundingRect.height} `,strokeFill:this.axisThemeConfig.axisLineColor,strokeWidth:this.axisConfig.axisLineWidth}]})}if(this.showLabel&&t.push({type:"text",groupTexts:["left-axis","label"],data:this.getTickValues().map(i=>({text:i.toString(),x:this.boundingRect.x+this.boundingRect.width-(this.showLabel?this.axisConfig.labelPadding:0)-(this.showTick?this.axisConfig.tickLength:0)-(this.showAxisLine?this.axisConfig.axisLineWidth:0),y:this.getScaleValue(i),fill:this.axisThemeConfig.labelColor,fontSize:this.axisConfig.labelFontSize,rotation:0,verticalPos:"middle",horizontalPos:"right"}))}),this.showTick){const i=this.boundingRect.x+this.boundingRect.width-(this.showAxisLine?this.axisConfig.axisLineWidth:0);t.push({type:"path",groupTexts:["left-axis","ticks"],data:this.getTickValues().map(e=>({path:`M ${i},${this.getScaleValue(e)} L ${i-this.axisConfig.tickLength},${this.getScaleValue(e)}`,strokeFill:this.axisThemeConfig.tickColor,strokeWidth:this.axisConfig.tickWidth}))})}return this.showTitle&&t.push({type:"text",groupTexts:["left-axis","title"],data:[{text:this.title,x:this.boundingRect.x+this.axisConfig.titlePadding,y:this.boundingRect.y+this.boundingRect.height/2,fill:this.axisThemeConfig.titleColor,fontSize:this.axisConfig.titleFontSize,rotation:270,verticalPos:"top",horizontalPos:"center"}]}),t}getDrawableElementsForBottomAxis(){const t=[];if(this.showAxisLine){const i=this.boundingRect.y+this.axisConfig.axisLineWidth/2;t.push({type:"path",groupTexts:["bottom-axis","axis-line"],data:[{path:`M ${this.boundingRect.x},${i} L ${this.boundingRect.x+this.boundingRect.width},${i}`,strokeFill:this.axisThemeConfig.axisLineColor,strokeWidth:this.axisConfig.axisLineWidth}]})}if(this.showLabel&&t.push({type:"text",groupTexts:["bottom-axis","label"],data:this.getTickValues().map(i=>({text:i.toString(),x:this.getScaleValue(i),y:this.boundingRect.y+this.axisConfig.labelPadding+(this.showTick?this.axisConfig.tickLength:0)+(this.showAxisLine?this.axisConfig.axisLineWidth:0),fill:this.axisThemeConfig.labelColor,fontSize:this.axisConfig.labelFontSize,rotation:0,verticalPos:"top",horizontalPos:"center"}))}),this.showTick){const i=this.boundingRect.y+(this.showAxisLine?this.axisConfig.axisLineWidth:0);t.push({type:"path",groupTexts:["bottom-axis","ticks"],data:this.getTickValues().map(e=>({path:`M ${this.getScaleValue(e)},${i} L ${this.getScaleValue(e)},${i+this.axisConfig.tickLength}`,strokeFill:this.axisThemeConfig.tickColor,strokeWidth:this.axisConfig.tickWidth}))})}return this.showTitle&&t.push({type:"text",groupTexts:["bottom-axis","title"],data:[{text:this.title,x:this.range[0]+(this.range[1]-this.range[0])/2,y:this.boundingRect.y+this.boundingRect.height-this.axisConfig.titlePadding-this.titleTextHeight,fill:this.axisThemeConfig.titleColor,fontSize:this.axisConfig.titleFontSize,rotation:0,verticalPos:"top",horizontalPos:"center"}]}),t}getDrawableElementsForTopAxis(){const t=[];if(this.showAxisLine){const i=this.boundingRect.y+this.boundingRect.height-this.axisConfig.axisLineWidth/2;t.push({type:"path",groupTexts:["top-axis","axis-line"],data:[{path:`M ${this.boundingRect.x},${i} L ${this.boundingRect.x+this.boundingRect.width},${i}`,strokeFill:this.axisThemeConfig.axisLineColor,strokeWidth:this.axisConfig.axisLineWidth}]})}if(this.showLabel&&t.push({type:"text",groupTexts:["top-axis","label"],data:this.getTickValues().map(i=>({text:i.toString(),x:this.getScaleValue(i),y:this.boundingRect.y+(this.showTitle?this.titleTextHeight+this.axisConfig.titlePadding*2:0)+this.axisConfig.labelPadding,fill:this.axisThemeConfig.labelColor,fontSize:this.axisConfig.labelFontSize,rotation:0,verticalPos:"top",horizontalPos:"center"}))}),this.showTick){const i=this.boundingRect.y;t.push({type:"path",groupTexts:["top-axis","ticks"],data:this.getTickValues().map(e=>({path:`M ${this.getScaleValue(e)},${i+this.boundingRect.height-(this.showAxisLine?this.axisConfig.axisLineWidth:0)} L ${this.getScaleValue(e)},${i+this.boundingRect.height-this.axisConfig.tickLength-(this.showAxisLine?this.axisConfig.axisLineWidth:0)}`,strokeFill:this.axisThemeConfig.tickColor,strokeWidth:this.axisConfig.tickWidth}))})}return this.showTitle&&t.push({type:"text",groupTexts:["top-axis","title"],data:[{text:this.title,x:this.boundingRect.x+this.boundingRect.width/2,y:this.boundingRect.y+this.axisConfig.titlePadding,fill:this.axisThemeConfig.titleColor,fontSize:this.axisConfig.titleFontSize,rotation:0,verticalPos:"top",horizontalPos:"center"}]}),t}getDrawableElements(){if(this.axisPosition==="left")return this.getDrawableElementsForLeftAxis();if(this.axisPosition==="right")throw Error("Drawing of right axis is not implemented");return this.axisPosition==="bottom"?this.getDrawableElementsForBottomAxis():this.axisPosition==="top"?this.getDrawableElementsForTopAxis():[]}},a(lt,"BaseAxis"),lt),ct,ki=(ct=class extends Yt{constructor(t,i,e,s,l){super(t,s,l,i),this.categories=e,this.scale=It().domain(this.categories).range(this.getRange())}setRange(t){super.setRange(t)}recalculateScale(){this.scale=It().domain(this.categories).range(this.getRange()).paddingInner(1).paddingOuter(0).align(.5),Xt.trace("BandAxis axis final categories, range: ",this.categories,this.getRange())}getTickValues(){return this.categories}getScaleValue(t){return this.scale(t)??this.getRange()[0]}},a(ct,"BandAxis"),ct),gt,_i=(gt=class extends Yt{constructor(t,i,e,s,l){super(t,s,l,i),this.domain=e,this.scale=Bt().domain(this.domain).range(this.getRange())}getTickValues(){return this.scale.ticks()}recalculateScale(){const t=[...this.domain];this.axisPosition==="left"&&t.reverse(),this.scale=Bt().domain(t).range(this.getRange())}getScaleValue(t){return this.scale(t)}},a(gt,"LinearAxis"),gt);function At(t,i,e,s){const l=new Vt(s);return Ct(t)?new ki(i,e,t.categories,t.title,l):new _i(i,e,[t.min,t.max],t.title,l)}a(At,"getAxis");var ut,Ri=(ut=class{constructor(t,i,e,s){this.textDimensionCalculator=t,this.chartConfig=i,this.chartData=e,this.chartThemeConfig=s,this.boundingRect={x:0,y:0,width:0,height:0},this.showChartTitle=!1}setBoundingBoxXY(t){this.boundingRect.x=t.x,this.boundingRect.y=t.y}calculateSpace(t){const i=this.textDimensionCalculator.getMaxDimension([this.chartData.title],this.chartConfig.titleFontSize),e=Math.max(i.width,t.width),s=i.height+2*this.chartConfig.titlePadding;return i.width<=e&&i.height<=s&&this.chartConfig.showTitle&&this.chartData.title&&(this.boundingRect.width=e,this.boundingRect.height=s,this.showChartTitle=!0),{width:this.boundingRect.width,height:this.boundingRect.height}}getDrawableElements(){const t=[];return this.showChartTitle&&t.push({groupTexts:["chart-title"],type:"text",data:[{fontSize:this.chartConfig.titleFontSize,text:this.chartData.title,verticalPos:"middle",horizontalPos:"center",x:this.boundingRect.x+this.boundingRect.width/2,y:this.boundingRect.y+this.boundingRect.height/2,fill:this.chartThemeConfig.titleColor,rotation:0}]}),t}},a(ut,"ChartTitle"),ut);function Ut(t,i,e,s){const l=new Vt(s);return new Ri(l,t,i,e)}a(Ut,"getChartTitleComponent");var xt,Ti=(xt=class{constructor(t,i,e,s,l){this.plotData=t,this.xAxis=i,this.yAxis=e,this.orientation=s,this.plotIndex=l}getDrawableElement(){const t=this.plotData.data.map(e=>[this.xAxis.getScaleValue(e[0]),this.yAxis.getScaleValue(e[1])]);let i;return this.orientation==="horizontal"?i=zt().y(e=>e[0]).x(e=>e[1])(t):i=zt().x(e=>e[0]).y(e=>e[1])(t),i?[{groupTexts:["plot",`line-plot-${this.plotIndex}`],type:"path",data:[{path:i,strokeFill:this.plotData.strokeFill,strokeWidth:this.plotData.strokeWidth}]}]:[]}},a(xt,"LinePlot"),xt),dt,Di=(dt=class{constructor(t,i,e,s,l,p){this.barData=t,this.boundingRect=i,this.xAxis=e,this.yAxis=s,this.orientation=l,this.plotIndex=p}getDrawableElement(){const t=this.barData.data.map(s=>[this.xAxis.getScaleValue(s[0]),this.yAxis.getScaleValue(s[1])]),i=Math.min(this.xAxis.getAxisOuterPadding()*2,this.xAxis.getTickDistance())*(1-.05),e=i/2;return this.orientation==="horizontal"?[{groupTexts:["plot",`bar-plot-${this.plotIndex}`],type:"rect",data:t.map(s=>({x:this.boundingRect.x,y:s[0]-e,height:i,width:s[1]-this.boundingRect.x,fill:this.barData.fill,strokeWidth:0,strokeFill:this.barData.fill}))}]:[{groupTexts:["plot",`bar-plot-${this.plotIndex}`],type:"rect",data:t.map(s=>({x:s[0]-e,y:s[1],width:i,height:this.boundingRect.y+this.boundingRect.height-s[1],fill:this.barData.fill,strokeWidth:0,strokeFill:this.barData.fill}))}]}},a(dt,"BarPlot"),dt),pt,Li=(pt=class{constructor(t,i,e){this.chartConfig=t,this.chartData=i,this.chartThemeConfig=e,this.boundingRect={x:0,y:0,width:0,height:0}}setAxes(t,i){this.xAxis=t,this.yAxis=i}setBoundingBoxXY(t){this.boundingRect.x=t.x,this.boundingRect.y=t.y}calculateSpace(t){return this.boundingRect.width=t.width,this.boundingRect.height=t.height,{width:this.boundingRect.width,height:this.boundingRect.height}}getDrawableElements(){if(!(this.xAxis&&this.yAxis))throw Error("Axes must be passed to render Plots");const t=[];for(const[i,e]of this.chartData.plots.entries())switch(e.type){case"line":{const s=new Ti(e,this.xAxis,this.yAxis,this.chartConfig.chartOrientation,i);t.push(...s.getDrawableElement())}break;case"bar":{const s=new Di(e,this.boundingRect,this.xAxis,this.yAxis,this.chartConfig.chartOrientation,i);t.push(...s.getDrawableElement())}break}return t}},a(pt,"BasePlot"),pt);function Ht(t,i,e){return new Li(t,i,e)}a(Ht,"getPlotComponent");var ft,Pi=(ft=class{constructor(t,i,e,s){this.chartConfig=t,this.chartData=i,this.componentStore={title:Ut(t,i,e,s),plot:Ht(t,i,e),xAxis:At(i.xAxis,t.xAxis,{titleColor:e.xAxisTitleColor,labelColor:e.xAxisLabelColor,tickColor:e.xAxisTickColor,axisLineColor:e.xAxisLineColor},s),yAxis:At(i.yAxis,t.yAxis,{titleColor:e.yAxisTitleColor,labelColor:e.yAxisLabelColor,tickColor:e.yAxisTickColor,axisLineColor:e.yAxisLineColor},s)}}calculateVerticalSpace(){let t=this.chartConfig.width,i=this.chartConfig.height,e=0,s=0,l=Math.floor(t*this.chartConfig.plotReservedSpacePercent/100),p=Math.floor(i*this.chartConfig.plotReservedSpacePercent/100),u=this.componentStore.plot.calculateSpace({width:l,height:p});t-=u.width,i-=u.height,u=this.componentStore.title.calculateSpace({width:this.chartConfig.width,height:i}),s=u.height,i-=u.height,this.componentStore.xAxis.setAxisPosition("bottom"),u=this.componentStore.xAxis.calculateSpace({width:t,height:i}),i-=u.height,this.componentStore.yAxis.setAxisPosition("left"),u=this.componentStore.yAxis.calculateSpace({width:t,height:i}),e=u.width,t-=u.width,t>0&&(l+=t,t=0),i>0&&(p+=i,i=0),this.componentStore.plot.calculateSpace({width:l,height:p}),this.componentStore.plot.setBoundingBoxXY({x:e,y:s}),this.componentStore.xAxis.setRange([e,e+l]),this.componentStore.xAxis.setBoundingBoxXY({x:e,y:s+p}),this.componentStore.yAxis.setRange([s,s+p]),this.componentStore.yAxis.setBoundingBoxXY({x:0,y:s}),this.chartData.plots.some(m=>bt(m))&&this.componentStore.xAxis.recalculateOuterPaddingToDrawBar()}calculateHorizontalSpace(){let t=this.chartConfig.width,i=this.chartConfig.height,e=0,s=0,l=0,p=Math.floor(t*this.chartConfig.plotReservedSpacePercent/100),u=Math.floor(i*this.chartConfig.plotReservedSpacePercent/100),m=this.componentStore.plot.calculateSpace({width:p,height:u});t-=m.width,i-=m.height,m=this.componentStore.title.calculateSpace({width:this.chartConfig.width,height:i}),e=m.height,i-=m.height,this.componentStore.xAxis.setAxisPosition("left"),m=this.componentStore.xAxis.calculateSpace({width:t,height:i}),t-=m.width,s=m.width,this.componentStore.yAxis.setAxisPosition("top"),m=this.componentStore.yAxis.calculateSpace({width:t,height:i}),i-=m.height,l=e+m.height,t>0&&(p+=t,t=0),i>0&&(u+=i,i=0),this.componentStore.plot.calculateSpace({width:p,height:u}),this.componentStore.plot.setBoundingBoxXY({x:s,y:l}),this.componentStore.yAxis.setRange([s,s+p]),this.componentStore.yAxis.setBoundingBoxXY({x:s,y:e}),this.componentStore.xAxis.setRange([l,l+u]),this.componentStore.xAxis.setBoundingBoxXY({x:0,y:l}),this.chartData.plots.some(L=>bt(L))&&this.componentStore.xAxis.recalculateOuterPaddingToDrawBar()}calculateSpace(){this.chartConfig.chartOrientation==="horizontal"?this.calculateHorizontalSpace():this.calculateVerticalSpace()}getDrawableElement(){this.calculateSpace();const t=[];this.componentStore.plot.setAxes(this.componentStore.xAxis,this.componentStore.yAxis);for(const i of Object.values(this.componentStore))t.push(...i.getDrawableElements());return t}},a(ft,"Orchestrator"),ft),yt,vi=(yt=class{static build(t,i,e,s){return new Pi(t,i,e,s).getDrawableElement()}},a(yt,"XYChartBuilder"),yt),Q=0,jt,K=Rt(),J=_t(),f=Tt(),St=J.plotColorPalette.split(",").map(t=>t.trim()),et=!1,kt=!1;function _t(){const t=Si(),i=wt();return Ot(t.xyChart,i.themeVariables.xyChart)}a(_t,"getChartDefaultThemeConfig");function Rt(){const t=wt();return Ot(Ai.xyChart,t.xyChart)}a(Rt,"getChartDefaultConfig");function Tt(){return{yAxis:{type:"linear",title:"",min:1/0,max:-1/0},xAxis:{type:"band",title:"",categories:[]},title:"",plots:[]}}a(Tt,"getChartDefaultData");function st(t){const i=wt();return bi(t.trim(),i)}a(st,"textSanitizer");function Gt(t){jt=t}a(Gt,"setTmpSVGG");function Qt(t){t==="horizontal"?K.chartOrientation="horizontal":K.chartOrientation="vertical"}a(Qt,"setOrientation");function Kt(t){f.xAxis.title=st(t.text)}a(Kt,"setXAxisTitle");function Dt(t,i){f.xAxis={type:"linear",title:f.xAxis.title,min:t,max:i},et=!0}a(Dt,"setXAxisRangeData");function Jt(t){f.xAxis={type:"band",title:f.xAxis.title,categories:t.map(i=>st(i.text))},et=!0}a(Jt,"setXAxisBand");function Zt(t){f.yAxis.title=st(t.text)}a(Zt,"setYAxisTitle");function qt(t,i){f.yAxis={type:"linear",title:f.yAxis.title,min:t,max:i},kt=!0}a(qt,"setYAxisRangeData");function ti(t){const i=Math.min(...t),e=Math.max(...t),s=j(f.yAxis)?f.yAxis.min:1/0,l=j(f.yAxis)?f.yAxis.max:-1/0;f.yAxis={type:"linear",title:f.yAxis.title,min:Math.min(s,i),max:Math.max(l,e)}}a(ti,"setYAxisRangeFromPlotData");function Lt(t){let i=[];if(t.length===0)return i;if(!et){const e=j(f.xAxis)?f.xAxis.min:1/0,s=j(f.xAxis)?f.xAxis.max:-1/0;Dt(Math.min(e,1),Math.max(s,t.length))}if(kt||ti(t),Ct(f.xAxis)&&(i=f.xAxis.categories.map((e,s)=>[e,t[s]])),j(f.xAxis)){const e=f.xAxis.min,s=f.xAxis.max,l=(s-e)/(t.length-1),p=[];for(let u=e;u<=s;u+=l)p.push(`${u}`);i=p.map((u,m)=>[u,t[m]])}return i}a(Lt,"transformDataWithoutCategory");function Pt(t){return St[t===0?0:t%St.length]}a(Pt,"getPlotColorFromPalette");function ii(t,i){const e=Lt(i);f.plots.push({type:"line",strokeFill:Pt(Q),strokeWidth:2,data:e}),Q++}a(ii,"setLineData");function ei(t,i){const e=Lt(i);f.plots.push({type:"bar",fill:Pt(Q),data:e}),Q++}a(ei,"setBarData");function si(){if(f.plots.length===0)throw Error("No Plot to render, please provide a plot with some data");return f.title=Wt(),vi.build(K,f,J,jt)}a(si,"getDrawableElem");function ai(){return J}a(ai,"getChartThemeConfig");function ni(){return K}a(ni,"getChartConfig");function hi(){return f}a(hi,"getXYChartData");var Ei=a(function(){mi(),Q=0,K=Rt(),f=Tt(),J=_t(),St=J.plotColorPalette.split(",").map(t=>t.trim()),et=!1,kt=!1},"clear"),$i={getDrawableElem:si,clear:Ei,setAccTitle:pi,getAccTitle:di,setDiagramTitle:xi,getDiagramTitle:Wt,getAccDescription:ui,setAccDescription:gi,setOrientation:Qt,setXAxisTitle:Kt,setXAxisRangeData:Dt,setXAxisBand:Jt,setYAxisTitle:Zt,setYAxisRangeData:qt,setLineData:ii,setBarData:ei,setTmpSVGG:Gt,getChartThemeConfig:ai,getChartConfig:ni,getXYChartData:hi},Mi=a((t,i,e,s)=>{const l=s.db,p=l.getChartThemeConfig(),u=l.getChartConfig(),m=l.getXYChartData().plots[0].data.map(d=>d[1]);function L(d){return d==="top"?"text-before-edge":"middle"}a(L,"getDominantBaseLine");function z(d){return d==="left"?"start":d==="right"?"end":"middle"}a(z,"getTextAnchor");function $(d){return`translate(${d.x}, ${d.y}) rotate(${d.rotation||0})`}a($,"getTextTransformation"),Xt.debug(`Rendering xychart chart
7
+ `+t);const R=fi(i),P=R.append("g").attr("class","main"),F=P.append("rect").attr("width",u.width).attr("height",u.height).attr("class","background");yi(R,u.height,u.width,!0),R.attr("viewBox",`0 0 ${u.width} ${u.height}`),F.attr("fill",p.backgroundColor),l.setTmpSVGG(R.append("g").attr("class","mermaid-tmp-group"));const N=l.getDrawableElem(),T={};function M(d){let A=P,r="";for(const[I]of d.entries()){let B=P;I>0&&T[r]&&(B=T[r]),r+=d[I],A=T[r],A||(A=T[r]=B.append("g").attr("class",d[I]))}return A}a(M,"getGroup");for(const d of N){if(d.data.length===0)continue;const A=M(d.groupTexts);switch(d.type){case"rect":if(A.selectAll("rect").data(d.data).enter().append("rect").attr("x",r=>r.x).attr("y",r=>r.y).attr("width",r=>r.width).attr("height",r=>r.height).attr("fill",r=>r.fill).attr("stroke",r=>r.strokeFill).attr("stroke-width",r=>r.strokeWidth),u.showDataLabel)if(u.chartOrientation==="horizontal"){let r=function(o,C){const{data:b,label:S}=o;return C*S.length*I<=b.width-10};a(r,"fitsHorizontally");const I=.7,B=d.data.map((o,C)=>({data:o,label:m[C].toString()})).filter(o=>o.data.width>0&&o.data.height>0),U=B.map(o=>{const{data:C}=o;let b=C.height*.7;for(;!r(o,b)&&b>0;)b-=1;return b}),X=Math.floor(Math.min(...U));A.selectAll("text").data(B).enter().append("text").attr("x",o=>o.data.x+o.data.width-10).attr("y",o=>o.data.y+o.data.height/2).attr("text-anchor","end").attr("dominant-baseline","middle").attr("fill","black").attr("font-size",`${X}px`).text(o=>o.label)}else{let r=function(o,C,b){const{data:S,label:G}=o,Z=C*G.length*.7,O=S.x+S.width/2,v=O-Z/2,h=O+Z/2,c=v>=S.x&&h<=S.x+S.width,g=S.y+b+C<=S.y+S.height;return c&&g};a(r,"fitsInBar");const I=10,B=d.data.map((o,C)=>({data:o,label:m[C].toString()})).filter(o=>o.data.width>0&&o.data.height>0),U=B.map(o=>{const{data:C,label:b}=o;let S=C.width/(b.length*.7);for(;!r(o,S,I)&&S>0;)S-=1;return S}),X=Math.floor(Math.min(...U));A.selectAll("text").data(B).enter().append("text").attr("x",o=>o.data.x+o.data.width/2).attr("y",o=>o.data.y+I).attr("text-anchor","middle").attr("dominant-baseline","hanging").attr("fill","black").attr("font-size",`${X}px`).text(o=>o.label)}break;case"text":A.selectAll("text").data(d.data).enter().append("text").attr("x",0).attr("y",0).attr("fill",r=>r.fill).attr("font-size",r=>r.fontSize).attr("dominant-baseline",r=>L(r.verticalPos)).attr("text-anchor",r=>z(r.horizontalPos)).attr("transform",r=>$(r)).text(r=>r.text);break;case"path":A.selectAll("path").data(d.data).enter().append("path").attr("d",r=>r.path).attr("fill",r=>r.fill?r.fill:"none").attr("stroke",r=>r.strokeFill).attr("stroke-width",r=>r.strokeWidth);break}}},"draw"),Ii={draw:Mi},zi={parser:Ci,db:$i,renderer:Ii};export{zi as diagram};
package/dist/index.html CHANGED
@@ -21,8 +21,8 @@
21
21
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
22
22
  }
23
23
  </style>
24
- <script type="module" crossorigin src="/assets/index-Cw6P01hg.js"></script>
25
- <link rel="stylesheet" crossorigin href="/assets/index-Cox333Kd.css">
24
+ <script type="module" crossorigin src="/assets/index-BTk6gbYa.js"></script>
25
+ <link rel="stylesheet" crossorigin href="/assets/index-BjgS88qB.css">
26
26
  </head>
27
27
  <body>
28
28
  <div id="root"></div>
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "orbitchat",
3
3
  "private": false,
4
- "version": "2.12.1",
4
+ "version": "2.13.1",
5
5
  "type": "module",
6
6
  "bin": {
7
7
  "orbitchat": "./bin/orbitchat.js"
@@ -25,15 +25,15 @@
25
25
  "prepublishOnly": "npm run build"
26
26
  },
27
27
  "dependencies": {
28
- "@schmitech/chatbot-api": "^2.1.6",
29
- "@schmitech/markdown-renderer": "^0.7.4",
28
+ "@schmitech/chatbot-api": "^2.2.0",
29
+ "@schmitech/markdown-renderer": "^0.8.0",
30
30
  "express": "^5.0.1",
31
31
  "http-proxy-middleware": "^3.0.5",
32
32
  "js-yaml": "^4.1.1",
33
- "lucide-react": "^0.344.0",
33
+ "lucide-react": "^0.469.0",
34
34
  "path": "^0.12.7",
35
- "react": "^18.2.0",
36
- "react-dom": "^18.2.0",
35
+ "react": "^19.0.0",
36
+ "react-dom": "^19.0.0",
37
37
  "vite-plugin-dts": "^4.5.4",
38
38
  "zustand": "^5.0.5"
39
39
  },
@@ -42,8 +42,8 @@
42
42
  "@types/express": "^5.0.1",
43
43
  "@types/js-yaml": "^4.0.9",
44
44
  "@types/node": "^24.0.1",
45
- "@types/react": "^18.2.66",
46
- "@types/react-dom": "^18.2.22",
45
+ "@types/react": "^19.0.0",
46
+ "@types/react-dom": "^19.0.0",
47
47
  "@vitejs/plugin-react": "^4.2.1",
48
48
  "autoprefixer": "^10.4.19",
49
49
  "eslint": "^9.0.0",
@@ -1 +0,0 @@
1
- import{bI as cr,bJ as ir,aT as Z,aL as h,aM as U,bK as A,bL as lr,aQ as sr,bx as k,bs as P,bM as vr,bN as br,aR as hr,bO as X,bo as K,bp as N,bP as gr,bz as _,aH as pr,bQ as R,bR as yr,aU as dr}from"./index-Cw6P01hg.js";var jr="[object Symbol]";function z(r){return typeof r=="symbol"||k(r)&&vr(r)==jr}function _r(r,t){for(var e=-1,n=r==null?0:r.length,a=Array(n);++e<n;)a[e]=t(r[e],e,r);return a}var D=_?_.prototype:void 0,E=D?D.toString:void 0;function V(r){if(typeof r=="string")return r;if(h(r))return _r(r,V)+"";if(z(r))return E?E.call(r):"";var t=r+"";return t=="0"&&1/r==-1/0?"-0":t}function mr(){}function wr(r,t){for(var e=-1,n=r==null?0:r.length;++e<n&&t(r[e],e,r)!==!1;);return r}function Or(r,t,e,n){for(var a=r.length,u=e+-1;++u<a;)if(t(r[u],u,r))return u;return-1}function Lr(r){return r!==r}function Pr(r,t,e){for(var n=e-1,a=r.length;++n<a;)if(r[n]===t)return n;return-1}function Sr(r,t,e){return t===t?Pr(r,t,e):Or(r,Lr,e)}function Ar(r,t){var e=r==null?0:r.length;return!!e&&Sr(r,t,0)>-1}function M(r){return Z(r)?cr(r):ir(r)}var Br=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,kr=/^\w*$/;function $(r,t){if(h(r))return!1;var e=typeof r;return e=="number"||e=="symbol"||e=="boolean"||r==null||z(r)?!0:kr.test(r)||!Br.test(r)||t!=null&&r in Object(t)}var zr=500;function Mr(r){var t=yr(r,function(n){return e.size===zr&&e.clear(),n}),e=t.cache;return t}var $r=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,xr=/\\(\\)?/g,Cr=Mr(function(r){var t=[];return r.charCodeAt(0)===46&&t.push(""),r.replace($r,function(e,n,a,u){t.push(a?u.replace(xr,"$1"):n||e)}),t});function Fr(r){return r==null?"":V(r)}function W(r,t){return h(r)?r:$(r,t)?[r]:Cr(Fr(r))}function S(r){if(typeof r=="string"||z(r))return r;var t=r+"";return t=="0"&&1/r==-1/0?"-0":t}function rr(r,t){t=W(t,r);for(var e=0,n=t.length;r!=null&&e<n;)r=r[S(t[e++])];return e&&e==n?r:void 0}function Jr(r,t,e){var n=r==null?void 0:rr(r,t);return n===void 0?e:n}function tr(r,t){for(var e=-1,n=t.length,a=r.length;++e<n;)r[a+e]=t[e];return r}var H=_?_.isConcatSpreadable:void 0;function Kr(r){return h(r)||X(r)||!!(H&&r&&r[H])}function Et(r,t,e,n,a){var u=-1,o=r.length;for(e||(e=Kr),a||(a=[]);++u<o;){var f=r[u];e(f)?tr(a,f):n||(a[a.length]=f)}return a}function Nr(r,t,e,n){var a=-1,u=r==null?0:r.length;for(n&&u&&(e=r[++a]);++a<u;)e=t(e,r[a],a,r);return e}function er(r,t){for(var e=-1,n=r==null?0:r.length,a=0,u=[];++e<n;){var o=r[e];t(o,e,r)&&(u[a++]=o)}return u}function Rr(){return[]}var Dr=Object.prototype,Er=Dr.propertyIsEnumerable,I=Object.getOwnPropertySymbols,Hr=I?function(r){return r==null?[]:(r=Object(r),er(I(r),function(t){return Er.call(r,t)}))}:Rr;function Ir(r,t,e){var n=t(r);return h(r)?n:tr(n,e(r))}function T(r){return Ir(r,M,Hr)}var Tr="__lodash_hash_undefined__";function Yr(r){return this.__data__.set(r,Tr),this}function qr(r){return this.__data__.has(r)}function m(r){var t=-1,e=r==null?0:r.length;for(this.__data__=new lr;++t<e;)this.add(r[t])}m.prototype.add=m.prototype.push=Yr;m.prototype.has=qr;function Gr(r,t){for(var e=-1,n=r==null?0:r.length;++e<n;)if(t(r[e],e,r))return!0;return!1}function nr(r,t){return r.has(t)}var Qr=1,Zr=2;function ur(r,t,e,n,a,u){var o=e&Qr,f=r.length,c=t.length;if(f!=c&&!(o&&c>f))return!1;var v=u.get(r),l=u.get(t);if(v&&l)return v==t&&l==r;var i=-1,s=!0,p=e&Zr?new m:void 0;for(u.set(r,t),u.set(t,r);++i<f;){var b=r[i],g=t[i];if(n)var y=o?n(g,b,i,t,r,u):n(b,g,i,r,t,u);if(y!==void 0){if(y)continue;s=!1;break}if(p){if(!Gr(t,function(d,j){if(!nr(p,j)&&(b===d||a(b,d,e,n,u)))return p.push(j)})){s=!1;break}}else if(!(b===g||a(b,g,e,n,u))){s=!1;break}}return u.delete(r),u.delete(t),s}function Ur(r){var t=-1,e=Array(r.size);return r.forEach(function(n,a){e[++t]=[a,n]}),e}function x(r){var t=-1,e=Array(r.size);return r.forEach(function(n){e[++t]=n}),e}var Xr=1,Vr=2,Wr="[object Boolean]",rt="[object Date]",tt="[object Error]",et="[object Map]",nt="[object Number]",ut="[object RegExp]",at="[object Set]",ot="[object String]",ft="[object Symbol]",ct="[object ArrayBuffer]",it="[object DataView]",Y=_?_.prototype:void 0,B=Y?Y.valueOf:void 0;function lt(r,t,e,n,a,u,o){switch(e){case it:if(r.byteLength!=t.byteLength||r.byteOffset!=t.byteOffset)return!1;r=r.buffer,t=t.buffer;case ct:return!(r.byteLength!=t.byteLength||!u(new R(r),new R(t)));case Wr:case rt:case nt:return pr(+r,+t);case tt:return r.name==t.name&&r.message==t.message;case ut:case ot:return r==t+"";case et:var f=Ur;case at:var c=n&Xr;if(f||(f=x),r.size!=t.size&&!c)return!1;var v=o.get(r);if(v)return v==t;n|=Vr,o.set(r,t);var l=ur(f(r),f(t),n,a,u,o);return o.delete(r),l;case ft:if(B)return B.call(r)==B.call(t)}return!1}var st=1,vt=Object.prototype,bt=vt.hasOwnProperty;function ht(r,t,e,n,a,u){var o=e&st,f=T(r),c=f.length,v=T(t),l=v.length;if(c!=l&&!o)return!1;for(var i=c;i--;){var s=f[i];if(!(o?s in t:bt.call(t,s)))return!1}var p=u.get(r),b=u.get(t);if(p&&b)return p==t&&b==r;var g=!0;u.set(r,t),u.set(t,r);for(var y=o;++i<c;){s=f[i];var d=r[s],j=t[s];if(n)var J=o?n(j,d,s,t,r,u):n(d,j,s,r,t,u);if(!(J===void 0?d===j||a(d,j,e,n,u):J)){g=!1;break}y||(y=s=="constructor")}if(g&&!y){var w=r.constructor,O=t.constructor;w!=O&&"constructor"in r&&"constructor"in t&&!(typeof w=="function"&&w instanceof w&&typeof O=="function"&&O instanceof O)&&(g=!1)}return u.delete(r),u.delete(t),g}var gt=1,q="[object Arguments]",G="[object Array]",L="[object Object]",pt=Object.prototype,Q=pt.hasOwnProperty;function yt(r,t,e,n,a,u){var o=h(r),f=h(t),c=o?G:K(r),v=f?G:K(t);c=c==q?L:c,v=v==q?L:v;var l=c==L,i=v==L,s=c==v;if(s&&N(r)){if(!N(t))return!1;o=!0,l=!1}if(s&&!l)return u||(u=new P),o||gr(r)?ur(r,t,e,n,a,u):lt(r,t,c,e,n,a,u);if(!(e&gt)){var p=l&&Q.call(r,"__wrapped__"),b=i&&Q.call(t,"__wrapped__");if(p||b){var g=p?r.value():r,y=b?t.value():t;return u||(u=new P),a(g,y,e,n,u)}}return s?(u||(u=new P),ht(r,t,e,n,a,u)):!1}function C(r,t,e,n,a){return r===t?!0:r==null||t==null||!k(r)&&!k(t)?r!==r&&t!==t:yt(r,t,e,n,C,a)}var dt=1,jt=2;function _t(r,t,e,n){var a=e.length,u=a;if(r==null)return!u;for(r=Object(r);a--;){var o=e[a];if(o[2]?o[1]!==r[o[0]]:!(o[0]in r))return!1}for(;++a<u;){o=e[a];var f=o[0],c=r[f],v=o[1];if(o[2]){if(c===void 0&&!(f in r))return!1}else{var l=new P,i;if(!(i===void 0?C(v,c,dt|jt,n,l):i))return!1}}return!0}function ar(r){return r===r&&!sr(r)}function mt(r){for(var t=M(r),e=t.length;e--;){var n=t[e],a=r[n];t[e]=[n,a,ar(a)]}return t}function or(r,t){return function(e){return e==null?!1:e[r]===t&&(t!==void 0||r in Object(e))}}function wt(r){var t=mt(r);return t.length==1&&t[0][2]?or(t[0][0],t[0][1]):function(e){return e===r||_t(e,r,t)}}function Ot(r,t){return r!=null&&t in Object(r)}function Lt(r,t,e){t=W(t,r);for(var n=-1,a=t.length,u=!1;++n<a;){var o=S(t[n]);if(!(u=r!=null&&e(r,o)))break;r=r[o]}return u||++n!=a?u:(a=r==null?0:r.length,!!a&&br(a)&&hr(o,a)&&(h(r)||X(r)))}function Pt(r,t){return r!=null&&Lt(r,t,Ot)}var St=1,At=2;function Bt(r,t){return $(r)&&ar(t)?or(S(r),t):function(e){var n=Jr(e,r);return n===void 0&&n===t?Pt(e,r):C(t,n,St|At)}}function kt(r){return function(t){return t==null?void 0:t[r]}}function zt(r){return function(t){return rr(t,r)}}function Mt(r){return $(r)?kt(S(r)):zt(r)}function fr(r){return typeof r=="function"?r:r==null?U:typeof r=="object"?h(r)?Bt(r[0],r[1]):wt(r):Mt(r)}function $t(r,t){return r&&dr(r,t,M)}function xt(r,t){return function(e,n){if(e==null)return e;if(!Z(e))return r(e,n);for(var a=e.length,u=-1,o=Object(e);++u<a&&n(o[u],u,o)!==!1;);return e}}var F=xt($t);function Ct(r){return typeof r=="function"?r:U}function Ht(r,t){var e=h(r)?wr:F;return e(r,Ct(t))}function Ft(r,t){var e=[];return F(r,function(n,a,u){t(n,a,u)&&e.push(n)}),e}function It(r,t){var e=h(r)?er:Ft;return e(r,fr(t))}function Jt(r,t,e,n,a){return a(r,function(u,o,f){e=n?(n=!1,u):t(e,u,o,f)}),e}function Tt(r,t,e){var n=h(r)?Nr:Jt,a=arguments.length<3;return n(r,fr(t),e,a,F)}var Kt=1/0,Nt=A&&1/x(new A([,-0]))[1]==Kt?function(r){return new A(r)}:mr,Rt=200;function Yt(r,t,e){var n=-1,a=Ar,u=r.length,o=!0,f=[],c=f;if(u>=Rt){var v=t?null:Nt(r);if(v)return x(v);o=!1,a=nr,c=new m}else c=t?[]:f;r:for(;++n<u;){var l=r[n],i=t?t(l):l;if(l=l!==0?l:0,o&&i===i){for(var s=c.length;s--;)if(c[s]===i)continue r;t&&c.push(i),f.push(l)}else a(c,i,e)||(c!==f&&c.push(i),f.push(l))}return f}export{$t as $,Et as B,wr as E,Ct as F,Fr as G,S as I,Yt as J,Rr as K,M,Lt as T,Tt as Y,It as Z,fr as a,Pt as b,Or as c,T as d,Hr as e,Ir as f,F as g,W as j,rr as n,Ht as q,tr as r,_r as v,z as x};
@@ -1 +0,0 @@
1
- const r=()=>{throw new Error("Local API stub loaded while VITE_USE_LOCAL_API=false.")},e=async function*(){throw new Error("Local API stub loaded while VITE_USE_LOCAL_API=false.")};class t{constructor(){throw new Error("Local API stub loaded while VITE_USE_LOCAL_API=false.")}}export{t as ApiClient,r as configureApi,e as streamChat};
@@ -1,2 +0,0 @@
1
- import{_ as O}from"./index-Cw6P01hg.js";var j=Object.defineProperty,D=(l,r,e)=>r in l?j(l,r,{enumerable:!0,configurable:!0,writable:!0,value:e}):l[r]=e,m=(l,r,e)=>D(l,typeof r!="symbol"?r+"":r,e);let $=null,T=null;typeof window>"u"&&Promise.all([O(()=>import("./__vite-browser-external-BIHI7g3E.js"),[]).catch(()=>null),O(()=>import("./__vite-browser-external-BIHI7g3E.js"),[]).catch(()=>null)]).then(([l,r])=>{var e,t;(e=l==null?void 0:l.default)!=null&&e.Agent?$=new l.default.Agent({keepAlive:!0}):l!=null&&l.Agent&&($=new l.Agent({keepAlive:!0})),(t=r==null?void 0:r.default)!=null&&t.Agent?T=new r.default.Agent({keepAlive:!0}):r!=null&&r.Agent&&(T=new r.Agent({keepAlive:!0}))}).catch(l=>{console.warn("Failed to initialize HTTP agents:",l.message)});class L{constructor(r){if(m(this,"apiUrl"),m(this,"apiKey"),m(this,"adapterName"),m(this,"middlewareBaseUrl"),m(this,"middlewareMode"),m(this,"sessionId"),!r.apiUrl||typeof r.apiUrl!="string")throw new Error("API URL must be a valid string");if(r.apiKey!==void 0&&r.apiKey!==null&&typeof r.apiKey!="string")throw new Error("API key must be a valid string or null");if(r.sessionId!==void 0&&r.sessionId!==null&&typeof r.sessionId!="string")throw new Error("Session ID must be a valid string or null");if(r.adapterName!==void 0&&r.adapterName!==null&&typeof r.adapterName!="string")throw new Error("Adapter name must be a valid string or null");if(r.middlewareBaseUrl!==void 0&&r.middlewareBaseUrl!==null&&typeof r.middlewareBaseUrl!="string")throw new Error("Middleware base URL must be a valid string or null");this.apiUrl=r.apiUrl,this.apiKey=r.apiKey??null,this.sessionId=r.sessionId??null;const e=typeof r.adapterName=="string"?r.adapterName.trim():"";this.adapterName=e&&e.length>0?e:null;const t=typeof r.middlewareBaseUrl=="string"?r.middlewareBaseUrl.trim():"";this.middlewareBaseUrl=t.endsWith("/")?t.slice(0,-1):t;const s=r.useMiddleware??(!this.apiKey&&!!this.adapterName);this.middlewareMode=!!(this.adapterName&&s)}setSessionId(r){if(r!==null&&typeof r!="string")throw new Error("Session ID must be a valid string or null");this.sessionId=r}getSessionId(){return this.sessionId}async validateApiKey(){var r;if(!this.apiKey)throw new Error("API key is required for validation");try{const e=await fetch(`${this.apiUrl}/admin/api-keys/${this.apiKey}/status`,{...this.getFetchOptions({method:"GET"})}).catch(s=>{throw s.name==="TypeError"&&s.message.includes("Failed to fetch")?new Error("Could not connect to the server. Please check if the server is running."):s});if(!e.ok){let s="";try{s=await e.text()}catch{s=`HTTP ${e.status}`}let i,n;try{const o=JSON.parse(s);i=o.detail||o.message||s}catch{i=s||`HTTP ${e.status}`}switch(e.status){case 401:n="API key is invalid or expired";break;case 403:n="Access denied: API key does not have required permissions";break;case 404:n="API key not found";break;case 503:n="API key management is not available in inference-only mode";break;default:n=`Failed to validate API key: ${i}`;break}throw new Error(n)}const t=await e.json();if(!t.exists){const s="API key does not exist";throw new Error(s)}if(!t.active){const s="API key is inactive";throw new Error(s)}return t}catch(e){let t;throw e instanceof Error&&e.message?e.message.includes("API key")||e.message.includes("Access denied")||e.message.includes("invalid")||e.message.includes("expired")||e.message.includes("inactive")||e.message.includes("not found")||e.message.includes("Could not connect")?t=e.message:t=`API key validation failed: ${e.message}`:e.name==="TypeError"&&(r=e.message)!=null&&r.includes("Failed to fetch")?t="Could not connect to the server. Please check if the server is running.":t="API key validation failed. Please check your API key and try again.",console.warn(`[ApiClient] ${t}`),new Error(t)}}async getAdapterInfo(){var r;if(!this.apiKey)throw new Error("API key is required to get adapter information");try{const e=await fetch(`${this.apiUrl}/admin/adapters/info`,{...this.getFetchOptions({method:"GET"})}).catch(t=>{throw t.name==="TypeError"&&t.message.includes("Failed to fetch")?new Error("Could not connect to the server. Please check if the server is running."):t});if(!e.ok){let t="";try{t=await e.text()}catch{t=`HTTP ${e.status}`}let s,i;try{const n=JSON.parse(t);s=n.detail||n.message||t}catch{s=t||`HTTP ${e.status}`}switch(e.status){case 401:i="API key is invalid, disabled, or has no associated adapter";break;case 404:i="Adapter configuration not found";break;case 503:i="Service is not available";break;default:i=`Failed to get adapter info: ${s}`;break}throw new Error(i)}return await e.json()}catch(e){let t;throw e instanceof Error&&e.message?e.message.includes("API key")||e.message.includes("Adapter")||e.message.includes("invalid")||e.message.includes("disabled")||e.message.includes("not found")||e.message.includes("Could not connect")?t=e.message:t=`Failed to get adapter info: ${e.message}`:e.name==="TypeError"&&(r=e.message)!=null&&r.includes("Failed to fetch")?t="Could not connect to the server. Please check if the server is running.":t="Failed to get adapter information. Please try again.",console.warn(`[ApiClient] ${t}`),new Error(t)}}async getAutocompleteSuggestions(r,e=5){if(r.length<3)return{suggestions:[],query:r};const t=this.middlewareMode&&!!this.adapterName;if(!t&&!this.apiKey)return{suggestions:[],query:r};try{const s=new URLSearchParams;s.set("q",r),s.set("limit",String(e));let i,n;if(t){if(!this.middlewareBaseUrl&&typeof window>"u")throw new Error("middlewareBaseUrl must be set when using middleware outside the browser environment.");i=`${this.middlewareBaseUrl?this.middlewareBaseUrl:""}/api/v1/autocomplete?${s.toString()}`;const c={"X-Adapter-Name":this.adapterName,"X-Request-ID":Date.now().toString(36)+Math.random().toString(36).substring(2)};this.sessionId&&(c["X-Session-ID"]=this.sessionId),n={method:"GET",headers:c}}else{const c=new URL(`${this.apiUrl}/v1/autocomplete`);c.searchParams.set("q",r),c.searchParams.set("limit",String(e)),i=c.toString(),n={...this.getFetchOptions({method:"GET"})}}const o=await fetch(i,n);return o.ok?await o.json():(console.warn("[ApiClient] Autocomplete request failed:",o.status),{suggestions:[],query:r})}catch(s){return console.warn("[ApiClient] Autocomplete error:",s.message),{suggestions:[],query:r}}}getFetchOptions(r={}){const e={};if(typeof window>"u"){const s=this.apiUrl.startsWith("https:")?T:$;s&&(e.agent=s)}else e.headers={Connection:"keep-alive"};const t={"X-Request-ID":Date.now().toString(36)+Math.random().toString(36).substring(2)};if(e.headers&&Object.assign(t,e.headers),r.headers){const s=r.headers;for(const[i,n]of Object.entries(s))(i.toLowerCase()!=="x-api-key"||!this.apiKey)&&(t[i]=n)}return this.apiKey&&(t["X-API-Key"]=this.apiKey),this.sessionId&&(t["X-Session-ID"]=this.sessionId),{...r,...e,headers:t}}createChatRequest(r,e=!0,t,s,i,n,o,c,u,w,y){const d={messages:[{role:"user",content:r}],stream:e};return t&&t.length>0&&(d.file_ids=t),s&&(d.thread_id=s),i&&(d.audio_input=i),n&&(d.audio_format=n),o&&(d.language=o),c!==void 0&&(d.return_audio=c),u&&(d.tts_voice=u),w&&(d.source_language=w),y&&(d.target_language=y),d}async*streamChat(r,e=!0,t,s,i,n,o,c,u,w,y,d){var b,C,U;try{const p=new AbortController,S=setTimeout(()=>p.abort(),6e4);d&&d.addEventListener("abort",()=>p.abort());const v=await fetch(`${this.apiUrl}/v1/chat`,{...this.getFetchOptions({method:"POST",headers:{"Content-Type":"application/json",Accept:e?"text/event-stream":"application/json"},body:JSON.stringify(this.createChatRequest(r,e,t,s,i,n,o,c,u,w,y))}),signal:p.signal});if(clearTimeout(S),!v.ok){const g=await v.text();throw new Error(`Network response was not ok: ${v.status} ${g}`)}if(!e){const g=await v.json();g.response&&(yield{text:g.response,done:!0,audio:g.audio,audioFormat:g.audio_format});return}const I=(b=v.body)==null?void 0:b.getReader();if(!I)throw new Error("No reader available");const x=new TextDecoder;let f="",k=!1;try{for(;;){const{done:g,value:q}=await I.read();if(g)break;const N=x.decode(q,{stream:!0});f+=N;let P=0,F;for(;(F=f.indexOf(`
2
- `,P))!==-1;){const E=f.slice(P,F).trim();if(P=F+1,E&&E.startsWith("data: ")){const h=E.slice(6).trim();if(!h||h==="[DONE]"){yield{text:"",done:!0};return}try{const a=JSON.parse(h);if(a.error){const K=`Server error: ${((C=a.error)==null?void 0:C.message)||a.error||"Unknown server error"}`;throw console.warn(`[ApiClient] ${K}`),new Error(K)}if(a.request_id&&!a.response&&!a.done){yield{text:"",done:!1,request_id:a.request_id};continue}if(a.done===!0){k=!0,yield{text:"",done:!0,audio:a.audio,audioFormat:a.audio_format||a.audioFormat,threading:a.threading};return}const _=a.response||"";a.audio_chunk!==void 0&&(yield{text:"",done:!1,audio_chunk:a.audio_chunk,audioFormat:a.audioFormat||a.audio_format||"opus",chunk_index:a.chunk_index??0}),(_||a.audio)&&(k=!0,yield{text:_,done:a.done||!1,audio:a.audio,audioFormat:a.audio_format||a.audioFormat,threading:a.threading})}catch(a){if((U=a==null?void 0:a.message)!=null&&U.startsWith("Server error:"))throw a;console.warn("[ApiClient] Unable to parse server response. This may be a temporary issue."),console.warn("[ApiClient] Parse error details:",a==null?void 0:a.message),console.warn("[ApiClient] JSON text length:",h==null?void 0:h.length),console.warn("[ApiClient] JSON text preview (first 200 chars):",h==null?void 0:h.substring(0,200)),console.warn("[ApiClient] JSON text preview (last 200 chars):",h==null?void 0:h.substring(h.length-200))}}else E&&(k=!0,yield{text:E,done:!1})}f=f.slice(P),f.length>1e6&&(console.warn("[ApiClient] Buffer too large, truncating..."),f=f.slice(-5e5))}k&&(yield{text:"",done:!0})}finally{I.releaseLock()}}catch(p){throw p.name==="AbortError"?d!=null&&d.aborted?new Error("Stream cancelled by user"):new Error("Connection timed out. Please check if the server is running."):p.name==="TypeError"&&p.message.includes("Failed to fetch")?new Error("Could not connect to the server. Please check if the server is running."):p}}async stopChat(r,e){try{const t=await fetch(`${this.apiUrl}/v1/chat/stop`,{...this.getFetchOptions({method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({session_id:r,request_id:e})})});return t.ok?(await t.json()).status==="cancelled":(console.warn("[ApiClient] Failed to stop stream:",t.status),!1)}catch(t){return console.error("[ApiClient] Error stopping stream:",t),!1}}async getConversationHistory(r,e){const t=r||this.sessionId;if(!t)throw new Error("No session ID provided and no current session available");const s={};this.apiKey&&(s["X-API-Key"]=this.apiKey);try{const i=new URL(`${this.apiUrl}/admin/chat-history/${t}`);typeof e=="number"&&Number.isFinite(e)&&e>0&&i.searchParams.set("limit",String(Math.floor(e)));const n=await fetch(i.toString(),{...this.getFetchOptions({method:"GET",headers:s})});if(!n.ok){const w=await n.text();throw new Error(`Failed to fetch conversation history: ${n.status} ${w}`)}const o=await n.json(),c=Array.isArray(o==null?void 0:o.messages)?o.messages:[],u=typeof(o==null?void 0:o.count)=="number"?o.count:c.length;return{session_id:(o==null?void 0:o.session_id)||t,messages:c,count:u}}catch(i){throw i.name==="TypeError"&&i.message.includes("Failed to fetch")?new Error("Could not connect to the server. Please check if the server is running."):i}}async clearConversationHistory(r){const e=r||this.sessionId;if(!e)throw new Error("No session ID provided and no current session available");if(!this.apiKey)throw new Error("API key is required for clearing conversation history");const t={"Content-Type":"application/json","X-Session-ID":e,"X-API-Key":this.apiKey};try{const s=await fetch(`${this.apiUrl}/admin/chat-history/${e}`,{...this.getFetchOptions({method:"DELETE",headers:t})});if(!s.ok){const i=await s.text();throw new Error(`Failed to clear conversation history: ${s.status} ${i}`)}return await s.json()}catch(s){throw s.name==="TypeError"&&s.message.includes("Failed to fetch")?new Error("Could not connect to the server. Please check if the server is running."):s}}async deleteConversationWithFiles(r,e){const t=r||this.sessionId;if(!t)throw new Error("No session ID provided and no current session available");if(!this.apiKey)throw new Error("API key is required for deleting conversation");const s={"Content-Type":"application/json","X-Session-ID":t,"X-API-Key":this.apiKey},i=e&&e.length>0?`?file_ids=${e.join(",")}`:"",n=`${this.apiUrl}/admin/conversations/${t}${i}`;try{const o=await fetch(n,{...this.getFetchOptions({method:"DELETE",headers:s})});if(!o.ok){const c=await o.text();throw new Error(`Failed to delete conversation: ${o.status} ${c}`)}return await o.json()}catch(o){throw o.name==="TypeError"&&o.message.includes("Failed to fetch")?new Error("Could not connect to the server. Please check if the server is running."):o}}async createThread(r,e){if(!this.apiKey)throw new Error("API key is required for creating threads");const t={"Content-Type":"application/json","X-API-Key":this.apiKey};try{const s=await fetch(`${this.apiUrl}/api/threads`,{...this.getFetchOptions({method:"POST",headers:t,body:JSON.stringify({message_id:r,session_id:e})})});if(!s.ok){const i=await s.text();throw new Error(`Failed to create thread: ${s.status} ${i}`)}return await s.json()}catch(s){throw s.name==="TypeError"&&s.message.includes("Failed to fetch")?new Error("Could not connect to the server. Please check if the server is running."):s}}async getThreadInfo(r){if(!this.apiKey)throw new Error("API key is required for getting thread info");const e={"X-API-Key":this.apiKey};try{const t=await fetch(`${this.apiUrl}/api/threads/${r}`,{...this.getFetchOptions({method:"GET",headers:e})});if(!t.ok){const s=await t.text();throw new Error(`Failed to get thread info: ${t.status} ${s}`)}return await t.json()}catch(t){throw t.name==="TypeError"&&t.message.includes("Failed to fetch")?new Error("Could not connect to the server. Please check if the server is running."):t}}async deleteThread(r){if(!this.apiKey)throw new Error("API key is required for deleting threads");const e={"X-API-Key":this.apiKey};try{const t=await fetch(`${this.apiUrl}/api/threads/${r}`,{...this.getFetchOptions({method:"DELETE",headers:e})});if(!t.ok){const s=await t.text();throw new Error(`Failed to delete thread: ${t.status} ${s}`)}return await t.json()}catch(t){throw t.name==="TypeError"&&t.message.includes("Failed to fetch")?new Error("Could not connect to the server. Please check if the server is running."):t}}async uploadFile(r){if(!this.apiKey)throw new Error("API key is required for file upload");const e=new FormData;e.append("file",r);try{const t=await fetch(`${this.apiUrl}/api/files/upload`,{...this.getFetchOptions({method:"POST",body:e})});if(!t.ok){const s=await t.text();throw new Error(`Failed to upload file: ${t.status} ${s}`)}return await t.json()}catch(t){throw t.name==="TypeError"&&t.message.includes("Failed to fetch")?new Error("Could not connect to the server. Please check if the server is running."):t}}async listFiles(){if(!this.apiKey)throw new Error("API key is required for listing files");try{const r=await fetch(`${this.apiUrl}/api/files`,{...this.getFetchOptions({method:"GET"})});if(!r.ok){const e=await r.text();throw new Error(`Failed to list files: ${r.status} ${e}`)}return await r.json()}catch(r){throw r.name==="TypeError"&&r.message.includes("Failed to fetch")?new Error("Could not connect to the server. Please check if the server is running."):r}}async getFileInfo(r){if(!this.apiKey)throw new Error("API key is required for getting file info");try{const e=await fetch(`${this.apiUrl}/api/files/${r}`,{...this.getFetchOptions({method:"GET"})});if(!e.ok){const t=await e.text();throw new Error(`Failed to get file info: ${e.status} ${t}`)}return await e.json()}catch(e){throw e.name==="TypeError"&&e.message.includes("Failed to fetch")?new Error("Could not connect to the server. Please check if the server is running."):e}}async queryFile(r,e,t=10){if(!this.apiKey)throw new Error("API key is required for querying files");try{const s=await fetch(`${this.apiUrl}/api/files/${r}/query`,{...this.getFetchOptions({method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({query:e,max_results:t})})});if(!s.ok){const i=await s.text();throw new Error(`Failed to query file: ${s.status} ${i}`)}return await s.json()}catch(s){throw s.name==="TypeError"&&s.message.includes("Failed to fetch")?new Error("Could not connect to the server. Please check if the server is running."):s}}async deleteFile(r){if(!this.apiKey)throw new Error("API key is required for deleting files");const e=`${this.apiUrl}/api/files/${r}`,t=this.getFetchOptions({method:"DELETE"});try{const s=await fetch(e,t);if(!s.ok){const i=await s.text();let n;try{const o=JSON.parse(i);n=o.detail||o.message||`Failed to delete file (HTTP ${s.status})`}catch{n=`Failed to delete file (HTTP ${s.status})`}throw console.warn(`[ApiClient] ${n}`),new Error(n)}return await s.json()}catch(s){let i;throw s.name==="TypeError"&&s.message.includes("Failed to fetch")?i="Could not connect to the server. Please check if the server is running.":s.message&&!s.message.includes("Failed to delete file")?i=s.message:i="Failed to delete file. Please try again.",console.warn(`[ApiClient] ${i}`),new Error(i)}}}let A=null;const X=(l,r=null,e=null)=>{A=new L({apiUrl:l,apiKey:r,sessionId:e})};async function*B(l,r=!0,e,t,s,i,n,o,c,u,w,y){if(!A)throw new Error("API not configured. Please call configureApi() with your server URL before using any API functions.");yield*A.streamChat(l,r,e,t,s,i,n,o,c,u,w,y)}async function J(l,r){if(!A)throw new Error("API not configured. Please call configureApi() with your server URL before using any API functions.");return A.stopChat(l,r)}export{L as ApiClient,X as configureApi,J as stopChat,B as streamChat};
@@ -1 +0,0 @@
1
- import{b0 as sn,b1 as an,b2 as l,as as on,b3 as L,b4 as q,b5 as E,b6 as un,aq as D,b7 as cn,b8 as z,b9 as e,ba as rn,bb as en,bc as yn}from"./index-Cw6P01hg.js";function fn(i){return i.innerRadius}function ln(i){return i.outerRadius}function gn(i){return i.startAngle}function pn(i){return i.endAngle}function xn(i){return i&&i.padAngle}function mn(i,d,W,B,v,b,G,a){var C=W-i,r=B-d,n=G-v,p=a-b,u=p*C-n*r;if(!(u*u<l))return u=(n*(d-b)-p*(i-v))/u,[i+u*C,d+u*r]}function U(i,d,W,B,v,b,G){var a=i-W,C=d-B,r=(G?b:-b)/z(a*a+C*C),n=r*C,p=-r*a,u=i+n,s=d+p,y=W+n,f=B+p,H=(u+y)/2,o=(s+f)/2,x=y-u,g=f-s,T=x*x+g*g,A=v-b,O=u*f-y*s,J=(g<0?-1:1)*z(en(0,A*A*T-O*O)),P=(O*g-x*J)/T,_=(-O*x-g*J)/T,R=(O*g+x*J)/T,m=(-O*x+g*J)/T,h=P-H,t=_-o,c=R-H,I=m-o;return h*h+t*t>c*c+I*I&&(P=R,_=m),{cx:P,cy:_,x01:-n,y01:-p,x11:P*(v/A-1),y11:_*(v/A-1)}}function dn(){var i=fn,d=ln,W=D(0),B=null,v=gn,b=pn,G=xn,a=null,C=sn(r);function r(){var n,p,u=+i.apply(this,arguments),s=+d.apply(this,arguments),y=v.apply(this,arguments)-an,f=b.apply(this,arguments)-an,H=un(f-y),o=f>y;if(a||(a=n=C()),s<u&&(p=s,s=u,u=p),!(s>l))a.moveTo(0,0);else if(H>on-l)a.moveTo(s*L(y),s*q(y)),a.arc(0,0,s,y,f,!o),u>l&&(a.moveTo(u*L(f),u*q(f)),a.arc(0,0,u,f,y,o));else{var x=y,g=f,T=y,A=f,O=H,J=H,P=G.apply(this,arguments)/2,_=P>l&&(B?+B.apply(this,arguments):z(u*u+s*s)),R=E(un(s-u)/2,+W.apply(this,arguments)),m=R,h=R,t,c;if(_>l){var I=rn(_/u*q(P)),S=rn(_/s*q(P));(O-=I*2)>l?(I*=o?1:-1,T+=I,A-=I):(O=0,T=A=(y+f)/2),(J-=S*2)>l?(S*=o?1:-1,x+=S,g-=S):(J=0,x=g=(y+f)/2)}var $=s*L(x),j=s*q(x),X=u*L(A),Z=u*q(A);if(R>l){var k=s*L(g),N=s*q(g),V=u*L(T),Y=u*q(T),F;if(H<cn)if(F=mn($,j,V,Y,k,N,X,Z)){var K=$-F[0],M=j-F[1],Q=k-F[0],w=N-F[1],nn=1/q(yn((K*Q+M*w)/(z(K*K+M*M)*z(Q*Q+w*w)))/2),tn=z(F[0]*F[0]+F[1]*F[1]);m=E(R,(u-tn)/(nn-1)),h=E(R,(s-tn)/(nn+1))}else m=h=0}J>l?h>l?(t=U(V,Y,$,j,s,h,o),c=U(k,N,X,Z,s,h,o),a.moveTo(t.cx+t.x01,t.cy+t.y01),h<R?a.arc(t.cx,t.cy,h,e(t.y01,t.x01),e(c.y01,c.x01),!o):(a.arc(t.cx,t.cy,h,e(t.y01,t.x01),e(t.y11,t.x11),!o),a.arc(0,0,s,e(t.cy+t.y11,t.cx+t.x11),e(c.cy+c.y11,c.cx+c.x11),!o),a.arc(c.cx,c.cy,h,e(c.y11,c.x11),e(c.y01,c.x01),!o))):(a.moveTo($,j),a.arc(0,0,s,x,g,!o)):a.moveTo($,j),!(u>l)||!(O>l)?a.lineTo(X,Z):m>l?(t=U(X,Z,k,N,u,-m,o),c=U($,j,V,Y,u,-m,o),a.lineTo(t.cx+t.x01,t.cy+t.y01),m<R?a.arc(t.cx,t.cy,m,e(t.y01,t.x01),e(c.y01,c.x01),!o):(a.arc(t.cx,t.cy,m,e(t.y01,t.x01),e(t.y11,t.x11),!o),a.arc(0,0,u,e(t.cy+t.y11,t.cx+t.x11),e(c.cy+c.y11,c.cx+c.x11),o),a.arc(c.cx,c.cy,m,e(c.y11,c.x11),e(c.y01,c.x01),!o))):a.arc(0,0,u,A,T,o)}if(a.closePath(),n)return a=null,n+""||null}return r.centroid=function(){var n=(+i.apply(this,arguments)+ +d.apply(this,arguments))/2,p=(+v.apply(this,arguments)+ +b.apply(this,arguments))/2-cn/2;return[L(p)*n,q(p)*n]},r.innerRadius=function(n){return arguments.length?(i=typeof n=="function"?n:D(+n),r):i},r.outerRadius=function(n){return arguments.length?(d=typeof n=="function"?n:D(+n),r):d},r.cornerRadius=function(n){return arguments.length?(W=typeof n=="function"?n:D(+n),r):W},r.padRadius=function(n){return arguments.length?(B=n==null?null:typeof n=="function"?n:D(+n),r):B},r.startAngle=function(n){return arguments.length?(v=typeof n=="function"?n:D(+n),r):v},r.endAngle=function(n){return arguments.length?(b=typeof n=="function"?n:D(+n),r):b},r.padAngle=function(n){return arguments.length?(G=typeof n=="function"?n:D(+n),r):G},r.context=function(n){return arguments.length?(a=n??null,r):a},r}export{dn as h};
@@ -1 +0,0 @@
1
- import{bk as a,bl as s}from"./index-Cw6P01hg.js";const e=(o,r)=>a.lang.round(s.parse(o)[r]);export{e as t};
@@ -1 +0,0 @@
1
- import{Q as d,f as c,s as g}from"./index-Cw6P01hg.js";var l=d((i,t,o,e)=>{i.attr("class",o);const{width:h,height:r,x:a,y:n}=w(i,t);c(i,r,h,e);const s=x(a,n,h,r,t);i.attr("viewBox",s),g.debug(`viewBox configured: ${s} with padding: ${t}`)},"setupViewPortForSVG"),w=d((i,t)=>{var o;const e=((o=i.node())==null?void 0:o.getBBox())||{width:0,height:0,x:0,y:0};return{width:e.width+t*2,height:e.height+t*2,x:e.x,y:e.y}},"calculateDimensionsWithPadding"),x=d((i,t,o,e,h)=>`${i-h} ${t-h} ${o} ${e}`,"createViewBox");export{l as d};
@@ -1 +0,0 @@
1
- import{D as t,F as s,T as a,k as e}from"./chunk-B4BG7PRW-BTUSpeKy-DZ4MZ_E6.js";import{Q as o}from"./index-Cw6P01hg.js";import"./chunk-FMBD7UC4-DdcCR8w3-BdR2euO8.js";import"./chunk-55IACEB6-Cza7pcpr-D7bYvLOe.js";import"./chunk-QN33PNHL-v6AkzOl1-DSTLtLnU.js";var d={parser:a,get db(){return new e},renderer:s,styles:t,init:o(r=>{r.class||(r.class={}),r.class.arrowMarkerAbsolute=r.arrowMarkerAbsolute},"init")};export{d as diagram};
@@ -1 +0,0 @@
1
- import{D as t,F as s,T as a,k as e}from"./chunk-B4BG7PRW-BTUSpeKy-DZ4MZ_E6.js";import{Q as o}from"./index-Cw6P01hg.js";import"./chunk-FMBD7UC4-DdcCR8w3-BdR2euO8.js";import"./chunk-55IACEB6-Cza7pcpr-D7bYvLOe.js";import"./chunk-QN33PNHL-v6AkzOl1-DSTLtLnU.js";var d={parser:a,get db(){return new e},renderer:s,styles:t,init:o(r=>{r.class||(r.class={}),r.class.arrowMarkerAbsolute=r.arrowMarkerAbsolute},"init")};export{d as diagram};
@@ -1 +0,0 @@
1
- import{O as o}from"./graph-BpcfrHXY-DYpG7xUC.js";var t=4;function n(r){return o(r,t)}export{n as a};
@@ -1,24 +0,0 @@
1
- import{Q as f,X as w,am as v,f as C,s as m,B as P,h as E,v as z,E as F,p as S,e as T,L as W,T as D,F as A}from"./index-Cw6P01hg.js";import{m as j}from"./chunk-4BX2VUAB-DAh9ktmY-DZD2PcPU.js";import{j as L}from"./treemap-KMMF4GRG-CkW25-tn-m5M8hNY7.js";import"./min-C2aDz5ZK-D52L_GQq.js";import"./_baseUniq-BPMphbq5-BsZUreLv.js";var X=D.packet,u,y=(u=class{constructor(){this.packet=[],this.setAccTitle=P,this.getAccTitle=E,this.setDiagramTitle=z,this.getDiagramTitle=F,this.getAccDescription=S,this.setAccDescription=T}getConfig(){const t=w({...X,...W().packet});return t.showBits&&(t.paddingY+=10),t}getPacket(){return this.packet}pushWord(t){t.length>0&&this.packet.push(t)}clear(){A(),this.packet=[]}},f(u,"PacketDB"),u),Y=1e4,H=f((t,e)=>{j(t,e);let o=-1,r=[],l=1;const{bitsPerRow:n}=e.getConfig();for(let{start:a,end:s,bits:d,label:c}of t.blocks){if(a!==void 0&&s!==void 0&&s<a)throw new Error(`Packet block ${a} - ${s} is invalid. End must be greater than start.`);if(a??(a=o+1),a!==o+1)throw new Error(`Packet block ${a} - ${s??a} is not contiguous. It should start from ${o+1}.`);if(d===0)throw new Error(`Packet block ${a} is invalid. Cannot have a zero bit field.`);for(s??(s=a+(d??1)-1),d??(d=s-a+1),o=s,m.debug(`Packet block ${a} - ${o} with label ${c}`);r.length<=n+1&&e.getPacket().length<Y;){const[h,i]=M({start:a,end:s,bits:d,label:c},l,n);if(r.push(h),h.end+1===l*n&&(e.pushWord(r),r=[],l++),!i)break;({start:a,end:s,bits:d,label:c}=i)}}e.pushWord(r)},"populate"),M=f((t,e,o)=>{if(t.start===void 0)throw new Error("start should have been set during first phase");if(t.end===void 0)throw new Error("end should have been set during first phase");if(t.start>t.end)throw new Error(`Block start ${t.start} is greater than block end ${t.end}.`);if(t.end+1<=e*o)return[t,void 0];const r=e*o-1,l=e*o;return[{start:t.start,end:r,label:t.label,bits:r-t.start},{start:l,end:t.end,label:t.label,bits:t.end-l}]},"getNextFittingBlock"),x={parser:{yy:void 0},parse:f(async t=>{var e;const o=await L("packet",t),r=(e=x.parser)==null?void 0:e.yy;if(!(r instanceof y))throw new Error("parser.parser?.yy was not a PacketDB. This is due to a bug within Mermaid, please report this issue at https://github.com/mermaid-js/mermaid/issues.");m.debug(o),H(o,r)},"parse")},R=f((t,e,o,r)=>{const l=r.db,n=l.getConfig(),{rowHeight:a,paddingY:s,bitWidth:d,bitsPerRow:c}=n,h=l.getPacket(),i=l.getDiagramTitle(),b=a+s,p=b*(h.length+1)-(i?0:a),k=d*c+2,g=v(e);g.attr("viewbox",`0 0 ${k} ${p}`),C(g,p,k,n.useMaxWidth);for(const[$,B]of h.entries())I(g,B,$,n);g.append("text").text(i).attr("x",k/2).attr("y",p-b/2).attr("dominant-baseline","middle").attr("text-anchor","middle").attr("class","packetTitle")},"draw"),I=f((t,e,o,{rowHeight:r,paddingX:l,paddingY:n,bitWidth:a,bitsPerRow:s,showBits:d})=>{const c=t.append("g"),h=o*(r+n)+n;for(const i of e){const b=i.start%s*a+1,p=(i.end-i.start+1)*a-l;if(c.append("rect").attr("x",b).attr("y",h).attr("width",p).attr("height",r).attr("class","packetBlock"),c.append("text").attr("x",b+p/2).attr("y",h+r/2).attr("class","packetLabel").attr("dominant-baseline","middle").attr("text-anchor","middle").text(i.label),!d)continue;const k=i.end===i.start,g=h-2;c.append("text").attr("x",b+(k?p/2:0)).attr("y",g).attr("class","packetByte start").attr("dominant-baseline","auto").attr("text-anchor",k?"middle":"start").text(i.start),k||c.append("text").attr("x",b+p).attr("y",g).attr("class","packetByte end").attr("dominant-baseline","auto").attr("text-anchor","end").text(i.end)}},"drawWord"),J={draw:R},N={byteFontSize:"10px",startByteColor:"black",endByteColor:"black",labelColor:"black",labelFontSize:"12px",titleColor:"black",titleFontSize:"14px",blockStrokeColor:"black",blockStrokeWidth:"1",blockFillColor:"#efefef"},q=f(({packet:t}={})=>{const e=w(N,t);return`
2
- .packetByte {
3
- font-size: ${e.byteFontSize};
4
- }
5
- .packetByte.start {
6
- fill: ${e.startByteColor};
7
- }
8
- .packetByte.end {
9
- fill: ${e.endByteColor};
10
- }
11
- .packetLabel {
12
- fill: ${e.labelColor};
13
- font-size: ${e.labelFontSize};
14
- }
15
- .packetTitle {
16
- fill: ${e.titleColor};
17
- font-size: ${e.titleFontSize};
18
- }
19
- .packetBlock {
20
- stroke: ${e.blockStrokeColor};
21
- stroke-width: ${e.blockStrokeWidth};
22
- fill: ${e.blockFillColor};
23
- }
24
- `},"styles"),V={parser:x,get db(){return new y},renderer:J,styles:q};export{V as diagram};
@@ -1 +0,0 @@
1
- .orbit-gradient-logo{filter:brightness(0) saturate(100%);filter:drop-shadow(0 0 8px rgba(59,130,246,.5));background:linear-gradient(135deg,#3b82f6,#8b5cf6);-webkit-background-clip:text;background-clip:text;mix-blend-mode:screen}.message-list{--thread-panel-bg: #f6f7fb;--thread-panel-border: rgba(15, 23, 42, .08);--thread-panel-shadow: 0 30px 60px -38px rgba(15, 23, 42, .45);--thread-panel-heading: #1f2937;--thread-panel-button-border: rgba(15, 23, 42, .18);--thread-panel-button-text: #1f2937;--thread-panel-button-hover: rgba(15, 23, 42, .08);--thread-avatar-assistant-bg: #e7e9fb;--thread-avatar-assistant-text: #252c53;--thread-avatar-user-bg: #e6f4ef;--thread-avatar-user-text: #0f5f47;scroll-behavior:auto;overflow-anchor:auto}.dark .message-list{--thread-panel-bg: #1a1c24;--thread-panel-border: rgba(255, 255, 255, .12);--thread-panel-shadow: 0 35px 60px -40px rgba(0, 0, 0, .9);--thread-panel-heading: #eef1ff;--thread-panel-button-border: rgba(255, 255, 255, .2);--thread-panel-button-text: #eef1ff;--thread-panel-button-hover: rgba(255, 255, 255, .08);--thread-avatar-assistant-bg: rgba(83, 99, 164, .45);--thread-avatar-assistant-text: #e5e8ff;--thread-avatar-user-bg: rgba(16, 163, 127, .35);--thread-avatar-user-text: #d7fff3}.message-list :where(.thread-panel){background-color:var(--thread-panel-bg)!important;border-color:var(--thread-panel-border)!important;box-shadow:var(--thread-panel-shadow)!important;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.message-list :where(.thread-panel) .text-blue-900,.message-list :where(.thread-panel) .dark\:text-\[\#c5d7ff\]{color:var(--thread-panel-heading)!important}.message-list :where(.thread-panel) .border-blue-200\/80,.message-list :where(.thread-panel) .dark\:border-\[\#233449\]{border-color:var(--thread-panel-button-border)!important}.message-list :where(.thread-panel) button.inline-flex.items-center.gap-2.rounded-full.border{color:var(--thread-panel-button-text)!important;background-color:transparent;transition:background-color .2s ease,border-color .2s ease}.message-list :where(.thread-panel) button.inline-flex.items-center.gap-2.rounded-full.border:hover{background-color:var(--thread-panel-button-hover)!important}.message-list :where(.flex.h-7.w-7.flex-shrink-0.items-center.justify-center.rounded-full.bg-blue-100){background-color:var(--thread-avatar-assistant-bg)!important;color:var(--thread-avatar-assistant-text)!important}.message-list :where(.flex.h-7.w-7.flex-shrink-0.items-center.justify-center.rounded-full.bg-emerald-100){background-color:var(--thread-avatar-user-bg)!important;color:var(--thread-avatar-user-text)!important}.message-list .message-bubble{width:100%;max-width:960px}@media (min-width: 1280px){.message-list .message-bubble{max-width:900px}}.message-list .message-markdown{width:100%;max-width:100%;min-width:0;margin-left:auto;margin-right:auto;overflow-x:auto;-webkit-overflow-scrolling:touch}@media (max-width: 767px){.message-list .message-markdown{scrollbar-width:thin;scrollbar-color:rgba(128,128,128,.3) transparent}.message-list .message-markdown::-webkit-scrollbar{height:4px}.message-list .message-markdown::-webkit-scrollbar-track{background:transparent}.message-list .message-markdown::-webkit-scrollbar-thumb{background-color:#8080804d;border-radius:2px}.message-list .message-markdown pre,.message-list .message-markdown table,.message-list .message-markdown .recharts-wrapper,.message-list .message-markdown svg{max-width:100%;overflow-x:auto}.message-list .message-markdown .recharts-wrapper{min-width:300px}}@media (min-width: 768px){.message-list .message-markdown{max-width:840px;overflow-x:visible}}@media (min-width: 1280px){.message-list .message-markdown{max-width:880px}}.thread-markdown-wrapper{width:100%;min-width:0;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:thin;scrollbar-color:rgba(0,0,0,.3) transparent}.thread-markdown-wrapper::-webkit-scrollbar{height:6px}.thread-markdown-wrapper::-webkit-scrollbar-track{background:transparent;border-radius:3px}.thread-markdown-wrapper::-webkit-scrollbar-thumb{background-color:#0000004d;border-radius:3px}.dark .thread-markdown-wrapper::-webkit-scrollbar-thumb{background-color:#ffffff4d}.thread-markdown-wrapper table{display:block;overflow-x:auto;white-space:nowrap;-webkit-overflow-scrolling:touch}.thread-markdown-wrapper .prose{max-width:100%}*,: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:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol;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:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,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}*{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol;-webkit-tap-highlight-color:transparent}html{font-size:1rem;line-height:1.5rem;scroll-behavior:smooth;overscroll-behavior-y:contain}body{--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1));--tw-text-opacity: 1;color:rgb(53 55 64 / var(--tw-text-opacity, 1))}body:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(33 33 33 / var(--tw-bg-opacity, 1));--tw-text-opacity: 1;color:rgb(236 236 241 / var(--tw-text-opacity, 1))}body{line-height:1.75}#root{min-height:100vh;min-height:100dvh;display:flex;flex-direction:column}textarea{border:none!important;outline:none!important;box-shadow:none!important;-webkit-appearance:none!important;-moz-appearance:none!important;appearance:none!important}textarea:focus{border:none!important;outline:none!important;box-shadow:none!important;ring:none!important}.prose{--tw-text-opacity: 1;color:rgb(15 23 42 / var(--tw-text-opacity, 1))}.prose:is(.dark *){--tw-text-opacity: 1;color:rgb(241 245 249 / var(--tw-text-opacity, 1))}.prose p{font-weight:400;line-height:1.75rem;--tw-text-opacity: 1;color:rgb(53 55 64 / var(--tw-text-opacity, 1))}.prose p:is(.dark *){--tw-text-opacity: 1;color:rgb(236 236 241 / var(--tw-text-opacity, 1))}.prose p{font-size:15px;margin-top:.75rem;margin-bottom:.75rem}.prose p:first-child{margin-top:0}.prose p:last-child{margin-bottom:0}.prose h1,.prose h2,.prose h3,.prose h4,.prose h5,.prose h6{font-weight:600;--tw-text-opacity: 1;color:rgb(53 55 64 / var(--tw-text-opacity, 1))}.prose h1:is(.dark *),.prose h2:is(.dark *),.prose h3:is(.dark *),.prose h4:is(.dark *),.prose h5:is(.dark *),.prose h6:is(.dark *){--tw-text-opacity: 1;color:rgb(236 236 241 / var(--tw-text-opacity, 1))}.prose h1,.prose h2,.prose h3,.prose h4,.prose h5,.prose h6{margin-top:1.5rem;margin-bottom:.75rem}.prose h1{font-size:1.5rem;line-height:2rem}.prose h2{font-size:1.25rem;line-height:1.75rem}.prose h3{font-size:1.125rem;line-height:1.75rem}.prose ul,.prose ol{margin-top:1rem;margin-bottom:1rem;margin-left:1.5rem}.prose li{margin-top:.5rem;margin-bottom:.5rem;line-height:1.75rem;font-size:15px}.prose strong{font-weight:600}.prose em{font-style:italic}.prose a{--tw-text-opacity: 1;color:rgb(37 99 235 / var(--tw-text-opacity, 1));text-decoration-line:underline}.prose a:is(.dark *){--tw-text-opacity: 1;color:rgb(96 165 250 / var(--tw-text-opacity, 1))}.prose pre{border-radius:.5rem;--tw-bg-opacity: 1;background-color:rgb(243 244 246 / var(--tw-bg-opacity, 1));--tw-text-opacity: 1;color:rgb(53 55 64 / var(--tw-text-opacity, 1))}.prose pre:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(32 33 35 / var(--tw-bg-opacity, 1));--tw-text-opacity: 1;color:rgb(236 236 241 / var(--tw-text-opacity, 1))}.prose code{border-radius:.25rem;--tw-bg-opacity: 1;background-color:rgb(243 244 246 / var(--tw-bg-opacity, 1));padding:.125rem .375rem;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:.875rem;line-height:1.25rem;--tw-text-opacity: 1;color:rgb(53 55 64 / var(--tw-text-opacity, 1))}.prose code:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(32 33 35 / var(--tw-bg-opacity, 1));--tw-text-opacity: 1;color:rgb(236 236 241 / var(--tw-text-opacity, 1))}.prose blockquote{margin-top:1rem;margin-bottom:1rem;border-top-right-radius:.5rem;border-bottom-right-radius:.5rem;border-left-width:4px;--tw-border-opacity: 1;border-color:rgb(229 231 235 / var(--tw-border-opacity, 1));--tw-bg-opacity: 1;background-color:rgb(249 250 251 / var(--tw-bg-opacity, 1));padding-top:1rem;padding-bottom:1rem;padding-left:1.5rem;--tw-text-opacity: 1;color:rgb(53 55 64 / var(--tw-text-opacity, 1))}.prose blockquote:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(32 33 35 / var(--tw-bg-opacity, 1));--tw-text-opacity: 1;color:rgb(236 236 241 / var(--tw-text-opacity, 1))}.prose table{margin-top:1rem;margin-bottom:1rem;width:100%;border-collapse:collapse;font-size:.875rem;line-height:1.25rem;display:block;overflow-x:auto;-webkit-overflow-scrolling:touch}.prose thead{--tw-bg-opacity: 1;background-color:rgb(243 244 246 / var(--tw-bg-opacity, 1))}.prose thead:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(42 43 50 / var(--tw-bg-opacity, 1))}.prose th{border-width:1px;--tw-border-opacity: 1;border-color:rgb(229 231 235 / var(--tw-border-opacity, 1));padding:.5rem 1rem;text-align:left;font-weight:600;--tw-text-opacity: 1;color:rgb(53 55 64 / var(--tw-text-opacity, 1))}.prose th:is(.dark *){--tw-border-opacity: 1;border-color:rgb(60 63 74 / var(--tw-border-opacity, 1));--tw-text-opacity: 1;color:rgb(236 236 241 / var(--tw-text-opacity, 1))}.prose th{white-space:nowrap}.prose td{border-width:1px;--tw-border-opacity: 1;border-color:rgb(229 231 235 / var(--tw-border-opacity, 1));padding:.5rem 1rem;--tw-text-opacity: 1;color:rgb(53 55 64 / var(--tw-text-opacity, 1))}.prose td:is(.dark *){--tw-border-opacity: 1;border-color:rgb(60 63 74 / var(--tw-border-opacity, 1));--tw-text-opacity: 1;color:rgb(236 236 241 / var(--tw-text-opacity, 1))}.prose tbody tr:nth-child(2n){--tw-bg-opacity: 1;background-color:rgb(249 250 251 / var(--tw-bg-opacity, 1))}.prose tbody tr:nth-child(2n):is(.dark *){--tw-bg-opacity: 1;background-color:rgb(32 33 35 / var(--tw-bg-opacity, 1))}.prose tbody tr:hover{--tw-bg-opacity: 1;background-color:rgb(243 244 246 / var(--tw-bg-opacity, 1))}.prose tbody tr:hover:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(42 43 50 / var(--tw-bg-opacity, 1))}.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}.visible{visibility:visible}.invisible{visibility:hidden}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.inset-0{top:0;right:0;bottom:0;left:0}.inset-x-0{left:0;right:0}.-right-3{right:-.75rem}.bottom-0{bottom:0}.bottom-3{bottom:.75rem}.left-1\/2{left:50%}.left-3{left:.75rem}.right-2{right:.5rem}.top-0{top:0}.top-1\/2{top:50%}.top-\[max\(env\(safe-area-inset-top\)\,0\.75rem\)\]{top:max(env(safe-area-inset-top),.75rem)}.z-10{z-index:10}.z-20{z-index:20}.z-50{z-index:50}.order-1{order:1}.order-2{order:2}.-mx-4{margin-left:-1rem;margin-right:-1rem}.mx-auto{margin-left:auto;margin-right:auto}.-mt-2{margin-top:-.5rem}.mb-1{margin-bottom:.25rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}.ml-1{margin-left:.25rem}.ml-4{margin-left:1rem}.ml-auto{margin-left:auto}.mt-0\.5{margin-top:.125rem}.mt-1{margin-top:.25rem}.mt-2{margin-top:.5rem}.mt-3{margin-top:.75rem}.mt-4{margin-top:1rem}.mt-6{margin-top:1.5rem}.mt-auto{margin-top:auto}.line-clamp-3{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3}.block{display:block}.inline-block{display:inline-block}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.grid{display:grid}.hidden{display:none}.h-1\.5{height:.375rem}.h-10{height:2.5rem}.h-11{height:2.75rem}.h-14{height:3.5rem}.h-2{height:.5rem}.h-2\.5{height:.625rem}.h-3{height:.75rem}.h-3\.5{height:.875rem}.h-4{height:1rem}.h-5{height:1.25rem}.h-6{height:1.5rem}.h-7{height:1.75rem}.h-8{height:2rem}.h-\[96px\]{height:96px}.h-full{height:100%}.max-h-64{max-height:16rem}.max-h-72{max-height:18rem}.max-h-96{max-height:24rem}.max-h-\[90vh\]{max-height:90vh}.min-h-0{min-height:0px}.min-h-screen{min-height:100vh}.w-10{width:2.5rem}.w-11{width:2.75rem}.w-2{width:.5rem}.w-2\.5{width:.625rem}.w-3{width:.75rem}.w-3\.5{width:.875rem}.w-4{width:1rem}.w-5{width:1.25rem}.w-6{width:1.5rem}.w-7{width:1.75rem}.w-8{width:2rem}.w-\[min\(18rem\,85vw\)\]{width:min(18rem,85vw)}.w-full{width:100%}.min-w-0{min-width:0px}.max-w-3xl{max-width:48rem}.max-w-5xl{max-width:64rem}.max-w-\[150px\]{max-width:150px}.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}.flex-1{flex:1 1 0%}.flex-shrink{flex-shrink:1}.flex-shrink-0,.shrink-0{flex-shrink:0}.-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-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-1{--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))}.translate-x-6{--tw-translate-x: 1.5rem;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))}.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))}@keyframes bounce{0%,to{transform:translateY(-25%);animation-timing-function:cubic-bezier(.8,0,1,1)}50%{transform:none;animation-timing-function:cubic-bezier(0,0,.2,1)}}.animate-bounce{animation:bounce 1s 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-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.resize-none{resize:none}.resize{resize:both}.list-disc{list-style-type:disc}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-start{align-items:flex-start}.items-center{align-items:center}.items-stretch{align-items:stretch}.justify-start{justify-content:flex-start}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-0{gap:0px}.gap-1{gap:.25rem}.gap-1\.5{gap:.375rem}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-6{gap:1.5rem}.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-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-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))}.self-start{align-self:flex-start}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.scroll-smooth{scroll-behavior:smooth}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.whitespace-nowrap{white-space:nowrap}.whitespace-pre-wrap{white-space:pre-wrap}.break-words{overflow-wrap:break-word}.rounded{border-radius:.25rem}.rounded-2xl{border-radius:1rem}.rounded-3xl{border-radius:1.5rem}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:.5rem}.rounded-md{border-radius:.375rem}.rounded-xl{border-radius:.75rem}.rounded-b-2xl{border-bottom-right-radius:1rem;border-bottom-left-radius:1rem}.rounded-t-\[28px\]{border-top-left-radius:28px;border-top-right-radius:28px}.rounded-t-\[32px\]{border-top-left-radius:32px;border-top-right-radius:32px}.border{border-width:1px}.border-0{border-width:0px}.border-2{border-width:2px}.border-x{border-left-width:1px;border-right-width:1px}.border-b{border-bottom-width:1px}.border-r{border-right-width:1px}.border-t{border-top-width:1px}.border-dashed{border-style:dashed}.border-none{border-style:none}.border-\[\#343541\]{--tw-border-opacity: 1;border-color:rgb(52 53 65 / var(--tw-border-opacity, 1))}.border-amber-200{--tw-border-opacity: 1;border-color:rgb(253 230 138 / var(--tw-border-opacity, 1))}.border-blue-100{--tw-border-opacity: 1;border-color:rgb(219 234 254 / var(--tw-border-opacity, 1))}.border-blue-100\/80{border-color:#dbeafecc}.border-blue-200{--tw-border-opacity: 1;border-color:rgb(191 219 254 / var(--tw-border-opacity, 1))}.border-blue-200\/80{border-color:#bfdbfecc}.border-blue-500{--tw-border-opacity: 1;border-color:rgb(59 130 246 / var(--tw-border-opacity, 1))}.border-emerald-100{--tw-border-opacity: 1;border-color:rgb(209 250 229 / var(--tw-border-opacity, 1))}.border-emerald-500{--tw-border-opacity: 1;border-color:rgb(16 185 129 / var(--tw-border-opacity, 1))}.border-gray-100{--tw-border-opacity: 1;border-color:rgb(243 244 246 / var(--tw-border-opacity, 1))}.border-gray-200{--tw-border-opacity: 1;border-color:rgb(229 231 235 / var(--tw-border-opacity, 1))}.border-gray-300{--tw-border-opacity: 1;border-color:rgb(209 213 219 / var(--tw-border-opacity, 1))}.border-gray-400{--tw-border-opacity: 1;border-color:rgb(156 163 175 / var(--tw-border-opacity, 1))}.border-green-200{--tw-border-opacity: 1;border-color:rgb(187 247 208 / var(--tw-border-opacity, 1))}.border-red-100{--tw-border-opacity: 1;border-color:rgb(254 226 226 / var(--tw-border-opacity, 1))}.border-red-200{--tw-border-opacity: 1;border-color:rgb(254 202 202 / var(--tw-border-opacity, 1))}.border-red-300{--tw-border-opacity: 1;border-color:rgb(252 165 165 / var(--tw-border-opacity, 1))}.border-slate-200{--tw-border-opacity: 1;border-color:rgb(226 232 240 / var(--tw-border-opacity, 1))}.border-slate-200\/70{border-color:#e2e8f0b3}.border-slate-300{--tw-border-opacity: 1;border-color:rgb(203 213 225 / var(--tw-border-opacity, 1))}.border-transparent{border-color:transparent}.border-white{--tw-border-opacity: 1;border-color:rgb(255 255 255 / var(--tw-border-opacity, 1))}.border-white\/40{border-color:#fff6}.border-white\/50{border-color:#ffffff80}.border-white\/70{border-color:#ffffffb3}.border-white\/80{border-color:#fffc}.border-t-transparent{border-top-color:transparent}.bg-\[\#0f8f6f\]{--tw-bg-opacity: 1;background-color:rgb(15 143 111 / var(--tw-bg-opacity, 1))}.bg-\[\#10a37f\]{--tw-bg-opacity: 1;background-color:rgb(16 163 127 / var(--tw-bg-opacity, 1))}.bg-\[\#11121a\]\/90{background-color:#11121ae6}.bg-\[\#343541\]{--tw-bg-opacity: 1;background-color:rgb(52 53 65 / var(--tw-bg-opacity, 1))}.bg-amber-100{--tw-bg-opacity: 1;background-color:rgb(254 243 199 / var(--tw-bg-opacity, 1))}.bg-amber-50{--tw-bg-opacity: 1;background-color:rgb(255 251 235 / var(--tw-bg-opacity, 1))}.bg-amber-600{--tw-bg-opacity: 1;background-color:rgb(217 119 6 / var(--tw-bg-opacity, 1))}.bg-black{--tw-bg-opacity: 1;background-color:rgb(0 0 0 / var(--tw-bg-opacity, 1))}.bg-black\/50{background-color:#00000080}.bg-black\/60{background-color:#0009}.bg-black\/70{background-color:#000000b3}.bg-blue-100{--tw-bg-opacity: 1;background-color:rgb(219 234 254 / var(--tw-bg-opacity, 1))}.bg-blue-50{--tw-bg-opacity: 1;background-color:rgb(239 246 255 / var(--tw-bg-opacity, 1))}.bg-blue-50\/70{background-color:#eff6ffb3}.bg-blue-500{--tw-bg-opacity: 1;background-color:rgb(59 130 246 / var(--tw-bg-opacity, 1))}.bg-blue-600{--tw-bg-opacity: 1;background-color:rgb(37 99 235 / var(--tw-bg-opacity, 1))}.bg-emerald-100{--tw-bg-opacity: 1;background-color:rgb(209 250 229 / var(--tw-bg-opacity, 1))}.bg-emerald-50{--tw-bg-opacity: 1;background-color:rgb(236 253 245 / var(--tw-bg-opacity, 1))}.bg-emerald-600{--tw-bg-opacity: 1;background-color:rgb(5 150 105 / var(--tw-bg-opacity, 1))}.bg-gray-100{--tw-bg-opacity: 1;background-color:rgb(243 244 246 / var(--tw-bg-opacity, 1))}.bg-gray-200{--tw-bg-opacity: 1;background-color:rgb(229 231 235 / var(--tw-bg-opacity, 1))}.bg-gray-300{--tw-bg-opacity: 1;background-color:rgb(209 213 219 / var(--tw-bg-opacity, 1))}.bg-gray-400{--tw-bg-opacity: 1;background-color:rgb(156 163 175 / var(--tw-bg-opacity, 1))}.bg-gray-50{--tw-bg-opacity: 1;background-color:rgb(249 250 251 / var(--tw-bg-opacity, 1))}.bg-green-50{--tw-bg-opacity: 1;background-color:rgb(240 253 244 / var(--tw-bg-opacity, 1))}.bg-green-500{--tw-bg-opacity: 1;background-color:rgb(34 197 94 / var(--tw-bg-opacity, 1))}.bg-red-100{--tw-bg-opacity: 1;background-color:rgb(254 226 226 / var(--tw-bg-opacity, 1))}.bg-red-200{--tw-bg-opacity: 1;background-color:rgb(254 202 202 / var(--tw-bg-opacity, 1))}.bg-red-50{--tw-bg-opacity: 1;background-color:rgb(254 242 242 / var(--tw-bg-opacity, 1))}.bg-red-500{--tw-bg-opacity: 1;background-color:rgb(239 68 68 / var(--tw-bg-opacity, 1))}.bg-red-600{--tw-bg-opacity: 1;background-color:rgb(220 38 38 / var(--tw-bg-opacity, 1))}.bg-slate-100{--tw-bg-opacity: 1;background-color:rgb(241 245 249 / var(--tw-bg-opacity, 1))}.bg-slate-200{--tw-bg-opacity: 1;background-color:rgb(226 232 240 / var(--tw-bg-opacity, 1))}.bg-slate-50{--tw-bg-opacity: 1;background-color:rgb(248 250 252 / var(--tw-bg-opacity, 1))}.bg-slate-950{--tw-bg-opacity: 1;background-color:rgb(2 6 23 / var(--tw-bg-opacity, 1))}.bg-transparent{background-color:transparent}.bg-white{--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1))}.bg-white\/10{background-color:#ffffff1a}.bg-white\/40{background-color:#fff6}.bg-white\/60{background-color:#fff9}.bg-white\/70{background-color:#ffffffb3}.bg-white\/80{background-color:#fffc}.bg-white\/90{background-color:#ffffffe6}.bg-white\/95{background-color:#fffffff2}.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))}.from-blue-100{--tw-gradient-from: #dbeafe var(--tw-gradient-from-position);--tw-gradient-to: rgb(219 234 254 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-emerald-100{--tw-gradient-from: #d1fae5 var(--tw-gradient-from-position);--tw-gradient-to: rgb(209 250 229 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-transparent{--tw-gradient-from: transparent var(--tw-gradient-from-position);--tw-gradient-to: rgb(0 0 0 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-white{--tw-gradient-from: #fff var(--tw-gradient-from-position);--tw-gradient-to: rgb(255 255 255 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.via-gray-50{--tw-gradient-to: rgb(249 250 251 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), #f9fafb var(--tw-gradient-via-position), var(--tw-gradient-to)}.to-blue-200{--tw-gradient-to: #bfdbfe var(--tw-gradient-to-position)}.to-emerald-200{--tw-gradient-to: #a7f3d0 var(--tw-gradient-to-position)}.to-gray-100{--tw-gradient-to: #f3f4f6 var(--tw-gradient-to-position)}.to-white{--tw-gradient-to: #fff var(--tw-gradient-to-position)}.fill-current{fill:currentColor}.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-6{padding:1.5rem}.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-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-3\.5{padding-left:.875rem;padding-right:.875rem}.px-4{padding-left:1rem;padding-right:1rem}.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-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}.pb-3{padding-bottom:.75rem}.pb-4{padding-bottom:1rem}.pb-6{padding-bottom:1.5rem}.pb-\[max\(env\(safe-area-inset-bottom\)\,0\.75rem\)\]{padding-bottom:max(env(safe-area-inset-bottom),.75rem)}.pl-4{padding-left:1rem}.pl-9{padding-left:2.25rem}.pr-1{padding-right:.25rem}.pr-10{padding-right:2.5rem}.pr-3{padding-right:.75rem}.pt-2{padding-top:.5rem}.pt-3{padding-top:.75rem}.pt-4{padding-top:1rem}.pt-\[max\(env\(safe-area-inset-top\)\,1rem\)\]{padding-top:max(env(safe-area-inset-top),1rem)}.text-left{text-align:left}.text-center{text-align:center}.\!text-sm{font-size:.875rem!important;line-height:1.25rem!important}.text-2xl{font-size:1.5rem;line-height:2rem}.text-\[10px\]{font-size:10px}.text-\[11px\]{font-size:11px}.text-\[13px\]{font-size:13px}.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-semibold{font-weight:600!important}.font-bold{font-weight:700}.font-medium{font-weight:500}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.normal-case{text-transform:none}.leading-6{line-height:1.5rem}.leading-none{line-height:1}.leading-relaxed{line-height:1.625}.tracking-tight{letter-spacing:-.025em}.tracking-wide{letter-spacing:.025em}.tracking-wider{letter-spacing:.05em}.tracking-widest{letter-spacing:.1em}.\!text-gray-700{--tw-text-opacity: 1 !important;color:rgb(55 65 81 / var(--tw-text-opacity, 1))!important}.text-\[\#0f172a\]{--tw-text-opacity: 1;color:rgb(15 23 42 / var(--tw-text-opacity, 1))}.text-\[\#11111b\]{--tw-text-opacity: 1;color:rgb(17 17 27 / var(--tw-text-opacity, 1))}.text-\[\#11121a\]{--tw-text-opacity: 1;color:rgb(17 18 26 / var(--tw-text-opacity, 1))}.text-\[\#1c3226\]{--tw-text-opacity: 1;color:rgb(28 50 38 / var(--tw-text-opacity, 1))}.text-\[\#1f1f21\]{--tw-text-opacity: 1;color:rgb(31 31 33 / var(--tw-text-opacity, 1))}.text-\[\#1f2937\]{--tw-text-opacity: 1;color:rgb(31 41 55 / var(--tw-text-opacity, 1))}.text-\[\#353740\]{--tw-text-opacity: 1;color:rgb(53 55 64 / var(--tw-text-opacity, 1))}.text-\[\#4a4c5a\]{--tw-text-opacity: 1;color:rgb(74 76 90 / var(--tw-text-opacity, 1))}.text-amber-300{--tw-text-opacity: 1;color:rgb(252 211 77 / 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-amber-700{--tw-text-opacity: 1;color:rgb(180 83 9 / var(--tw-text-opacity, 1))}.text-amber-900{--tw-text-opacity: 1;color:rgb(120 53 15 / 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-blue-700{--tw-text-opacity: 1;color:rgb(29 78 216 / var(--tw-text-opacity, 1))}.text-blue-900{--tw-text-opacity: 1;color:rgb(30 58 138 / var(--tw-text-opacity, 1))}.text-blue-900\/70{color:#1e3a8ab3}.text-blue-900\/80{color:#1e3a8acc}.text-emerald-600{--tw-text-opacity: 1;color:rgb(5 150 105 / var(--tw-text-opacity, 1))}.text-emerald-700{--tw-text-opacity: 1;color:rgb(4 120 87 / var(--tw-text-opacity, 1))}.text-emerald-900{--tw-text-opacity: 1;color:rgb(6 78 59 / var(--tw-text-opacity, 1))}.text-gray-300{--tw-text-opacity: 1;color:rgb(209 213 219 / var(--tw-text-opacity, 1))}.text-gray-400{--tw-text-opacity: 1;color:rgb(156 163 175 / var(--tw-text-opacity, 1))}.text-gray-500{--tw-text-opacity: 1;color:rgb(107 114 128 / var(--tw-text-opacity, 1))}.text-gray-600{--tw-text-opacity: 1;color:rgb(75 85 99 / var(--tw-text-opacity, 1))}.text-gray-700{--tw-text-opacity: 1;color:rgb(55 65 81 / var(--tw-text-opacity, 1))}.text-gray-800{--tw-text-opacity: 1;color:rgb(31 41 55 / var(--tw-text-opacity, 1))}.text-gray-900{--tw-text-opacity: 1;color:rgb(17 24 39 / var(--tw-text-opacity, 1))}.text-green-700{--tw-text-opacity: 1;color:rgb(21 128 61 / var(--tw-text-opacity, 1))}.text-red-500{--tw-text-opacity: 1;color:rgb(239 68 68 / var(--tw-text-opacity, 1))}.text-red-600{--tw-text-opacity: 1;color:rgb(220 38 38 / var(--tw-text-opacity, 1))}.text-red-600\/60{color:#dc262699}.text-red-700{--tw-text-opacity: 1;color:rgb(185 28 28 / var(--tw-text-opacity, 1))}.text-slate-300{--tw-text-opacity: 1;color:rgb(203 213 225 / var(--tw-text-opacity, 1))}.text-slate-400{--tw-text-opacity: 1;color:rgb(148 163 184 / var(--tw-text-opacity, 1))}.text-slate-500{--tw-text-opacity: 1;color:rgb(100 116 139 / var(--tw-text-opacity, 1))}.text-slate-600{--tw-text-opacity: 1;color:rgb(71 85 105 / var(--tw-text-opacity, 1))}.text-slate-700{--tw-text-opacity: 1;color:rgb(51 65 85 / var(--tw-text-opacity, 1))}.text-slate-900{--tw-text-opacity: 1;color:rgb(15 23 42 / var(--tw-text-opacity, 1))}.text-white{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity, 1))}.text-white\/60{color:#fff9}.text-yellow-500{--tw-text-opacity: 1;color:rgb(234 179 8 / var(--tw-text-opacity, 1))}.placeholder-gray-400::-moz-placeholder{--tw-placeholder-opacity: 1;color:rgb(156 163 175 / var(--tw-placeholder-opacity, 1))}.placeholder-gray-400::placeholder{--tw-placeholder-opacity: 1;color:rgb(156 163 175 / var(--tw-placeholder-opacity, 1))}.placeholder-gray-500::-moz-placeholder{--tw-placeholder-opacity: 1;color:rgb(107 114 128 / var(--tw-placeholder-opacity, 1))}.placeholder-gray-500::placeholder{--tw-placeholder-opacity: 1;color:rgb(107 114 128 / var(--tw-placeholder-opacity, 1))}.placeholder-transparent::-moz-placeholder{color:transparent}.placeholder-transparent::placeholder{color:transparent}.accent-gray-600{accent-color:#4b5563}.opacity-0{opacity:0}.opacity-50{opacity:.5}.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_-12px_45px_rgba\(15\,23\,42\,0\.2\)\]{--tw-shadow: 0 -12px 45px rgba(15,23,42,.2);--tw-shadow-colored: 0 -12px 45px 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_12px_30px_-18px_rgba\(15\,52\,33\,0\.25\)\]{--tw-shadow: 0 12px 30px -18px rgba(15,52,33,.25);--tw-shadow-colored: 0 12px 30px -18px 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_15px_35px_-20px_rgba\(15\,23\,42\,0\.25\)\]{--tw-shadow: 0 15px 35px -20px rgba(15,23,42,.25);--tw-shadow-colored: 0 15px 35px -20px 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_25px_60px_rgba\(15\,23\,42\,0\.15\)\]{--tw-shadow: 0 25px 60px rgba(15,23,42,.15);--tw-shadow-colored: 0 25px 60px 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_2px_8px_rgba\(15\,23\,42\,0\.06\)\]{--tw-shadow: 0 2px 8px rgba(15,23,42,.06);--tw-shadow-colored: 0 2px 8px 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-inner{--tw-shadow: inset 0 2px 4px 0 rgb(0 0 0 / .05);--tw-shadow-colored: inset 0 2px 4px 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-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-1{--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)}.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-black\/5{--tw-ring-color: rgb(0 0 0 / .05)}.ring-blue-100\/60{--tw-ring-color: rgb(219 234 254 / .6)}.ring-white\/50{--tw-ring-color: rgb(255 255 255 / .5)}.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{--tw-backdrop-blur: blur(8px);-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)}.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)}.backdrop-blur-xl{--tw-backdrop-blur: blur(24px);-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-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-150{transition-duration:.15s}.duration-200{transition-duration:.2s}.duration-300{transition-duration:.3s}.line-clamp-3{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.katex{font-size:1em!important}.katex-display{margin:1em 0!important;text-align:center}.markdown-content .katex{overflow-x:auto;overflow-y:hidden}.markdown-content .katex-display{overflow-x:auto;overflow-y:hidden;padding:.5em 0}@media (prefers-color-scheme: dark){.katex{color:inherit!important}}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{border-radius:9999px;--tw-bg-opacity: 1;background-color:rgb(241 245 249 / var(--tw-bg-opacity, 1))}:is(.dark *)::-webkit-scrollbar-track{--tw-bg-opacity: 1;background-color:rgb(30 41 59 / var(--tw-bg-opacity, 1))}::-webkit-scrollbar-thumb{border-radius:9999px;--tw-bg-opacity: 1;background-color:rgb(203 213 225 / var(--tw-bg-opacity, 1))}:is(.dark *)::-webkit-scrollbar-thumb{--tw-bg-opacity: 1;background-color:rgb(71 85 105 / var(--tw-bg-opacity, 1))}::-webkit-scrollbar-thumb:hover{--tw-bg-opacity: 1;background-color:rgb(148 163 184 / var(--tw-bg-opacity, 1))}:is(.dark *)::-webkit-scrollbar-thumb:hover{--tw-bg-opacity: 1;background-color:rgb(100 116 139 / var(--tw-bg-opacity, 1))}.high-contrast{--tw-text-opacity: 1;--tw-bg-opacity: 1}.high-contrast .text-slate-500{--tw-text-opacity: 1;color:rgb(51 65 85 / var(--tw-text-opacity, 1))}.high-contrast .text-slate-500:is(.dark *){--tw-text-opacity: 1;color:rgb(203 213 225 / var(--tw-text-opacity, 1))}.high-contrast .text-slate-400{--tw-text-opacity: 1;color:rgb(71 85 105 / var(--tw-text-opacity, 1))}.high-contrast .text-slate-400:is(.dark *){--tw-text-opacity: 1;color:rgb(226 232 240 / var(--tw-text-opacity, 1))}.high-contrast .bg-slate-50{--tw-bg-opacity: 1;background-color:rgb(241 245 249 / var(--tw-bg-opacity, 1))}.high-contrast .bg-slate-50:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(30 41 59 / var(--tw-bg-opacity, 1))}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideIn{0%{transform:translate(-100%)}to{transform:translate(0)}}@keyframes shimmer{0%{background-position:-200px 0}to{background-position:200px 0}}.animate-fadeIn{animation:fadeIn .3s ease-out}.animate-slideIn{animation:slideIn .3s ease-out}.animate-shimmer{animation:shimmer 1.5s infinite;background:linear-gradient(90deg,transparent,rgba(255,255,255,.4),transparent);background-size:200px 100%}.message-input-container:focus-within{outline:2px solid transparent;outline-offset:2px}button:focus-visible,input:focus-visible,textarea:focus-visible{outline:2px solid transparent;outline-offset:2px;--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);--tw-ring-color: rgb(156 163 175 / .7);--tw-ring-offset-width: 0px}button:focus-visible:is(.dark *),input:focus-visible:is(.dark *),textarea:focus-visible:is(.dark *){--tw-ring-color: rgb(107 114 128 / .7)}@media (max-width: 768px){.prose,body{font-size:.875rem;line-height:1.25rem}button,a,[role=button]{touch-action:manipulation}.overflow-y-auto,.overflow-x-auto,.overflow-auto{-webkit-overflow-scrolling:touch;overscroll-behavior:contain}.message-list::-webkit-scrollbar,.overflow-y-auto::-webkit-scrollbar{display:none}.message-list,.overflow-y-auto{-ms-overflow-style:none;scrollbar-width:none}button,input,textarea,select,a{touch-action:manipulation}button,[role=button],a{min-height:44px;min-width:44px}.inline-btn,button.h-8,button.h-6{min-height:auto;min-width:auto}}@supports (-webkit-touch-callout: none){input[type=text],input[type=password],input[type=email],input[type=tel],input[type=number],input[type=search],textarea,select{font-size:16px!important}@media (min-width: 768px){input[type=text],input[type=password],input[type=email],input[type=tel],input[type=number],input[type=search],textarea,select{font-size:inherit!important}}.mobile-bottom-safe{padding-bottom:max(env(safe-area-inset-bottom),.75rem)}}@media (hover: none) and (pointer: coarse){button:active:not(:disabled),[role=button]:active:not(:disabled){transform:scale(.97);transition:transform .1s ease-out}.conversation-item:active{--tw-bg-opacity: 1;background-color:rgb(243 244 246 / var(--tw-bg-opacity, 1))}.conversation-item:active:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(60 63 74 / var(--tw-bg-opacity, 1))}}.hover\:-translate-y-0\.5:hover{--tw-translate-y: -.125rem;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\: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-blue-200:hover{--tw-border-opacity: 1;border-color:rgb(191 219 254 / var(--tw-border-opacity, 1))}.hover\:border-blue-300:hover{--tw-border-opacity: 1;border-color:rgb(147 197 253 / var(--tw-border-opacity, 1))}.hover\:border-emerald-400:hover{--tw-border-opacity: 1;border-color:rgb(52 211 153 / var(--tw-border-opacity, 1))}.hover\:border-gray-300:hover{--tw-border-opacity: 1;border-color:rgb(209 213 219 / var(--tw-border-opacity, 1))}.hover\:border-gray-400:hover{--tw-border-opacity: 1;border-color:rgb(156 163 175 / var(--tw-border-opacity, 1))}.hover\:border-red-400:hover{--tw-border-opacity: 1;border-color:rgb(248 113 113 / var(--tw-border-opacity, 1))}.hover\:bg-\[\#0c0d14\]:hover{--tw-bg-opacity: 1;background-color:rgb(12 13 20 / var(--tw-bg-opacity, 1))}.hover\:bg-\[\#0d765b\]:hover{--tw-bg-opacity: 1;background-color:rgb(13 118 91 / var(--tw-bg-opacity, 1))}.hover\:bg-\[\#0f8f6f\]:hover{--tw-bg-opacity: 1;background-color:rgb(15 143 111 / var(--tw-bg-opacity, 1))}.hover\:bg-\[\#282b32\]:hover{--tw-bg-opacity: 1;background-color:rgb(40 43 50 / var(--tw-bg-opacity, 1))}.hover\:bg-amber-700:hover{--tw-bg-opacity: 1;background-color:rgb(180 83 9 / var(--tw-bg-opacity, 1))}.hover\:bg-blue-600:hover{--tw-bg-opacity: 1;background-color:rgb(37 99 235 / var(--tw-bg-opacity, 1))}.hover\:bg-blue-700:hover{--tw-bg-opacity: 1;background-color:rgb(29 78 216 / var(--tw-bg-opacity, 1))}.hover\:bg-emerald-50\/30:hover{background-color:#ecfdf54d}.hover\:bg-gray-100:hover{--tw-bg-opacity: 1;background-color:rgb(243 244 246 / var(--tw-bg-opacity, 1))}.hover\:bg-gray-200:hover{--tw-bg-opacity: 1;background-color:rgb(229 231 235 / var(--tw-bg-opacity, 1))}.hover\:bg-gray-300:hover{--tw-bg-opacity: 1;background-color:rgb(209 213 219 / var(--tw-bg-opacity, 1))}.hover\:bg-gray-50:hover{--tw-bg-opacity: 1;background-color:rgb(249 250 251 / var(--tw-bg-opacity, 1))}.hover\:bg-gray-800:hover{--tw-bg-opacity: 1;background-color:rgb(31 41 55 / var(--tw-bg-opacity, 1))}.hover\:bg-green-600:hover{--tw-bg-opacity: 1;background-color:rgb(22 163 74 / var(--tw-bg-opacity, 1))}.hover\:bg-red-100:hover{--tw-bg-opacity: 1;background-color:rgb(254 226 226 / var(--tw-bg-opacity, 1))}.hover\:bg-red-50:hover{--tw-bg-opacity: 1;background-color:rgb(254 242 242 / var(--tw-bg-opacity, 1))}.hover\:bg-red-600:hover{--tw-bg-opacity: 1;background-color:rgb(220 38 38 / var(--tw-bg-opacity, 1))}.hover\:bg-red-700:hover{--tw-bg-opacity: 1;background-color:rgb(185 28 28 / var(--tw-bg-opacity, 1))}.hover\:bg-white:hover{--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1))}.hover\:bg-white\/70:hover{background-color:#ffffffb3}.hover\:bg-white\/80:hover{background-color:#fffc}.hover\:text-\[\#353740\]:hover{--tw-text-opacity: 1;color:rgb(53 55 64 / var(--tw-text-opacity, 1))}.hover\:text-blue-700:hover{--tw-text-opacity: 1;color:rgb(29 78 216 / var(--tw-text-opacity, 1))}.hover\:text-gray-700:hover{--tw-text-opacity: 1;color:rgb(55 65 81 / var(--tw-text-opacity, 1))}.hover\:text-gray-900:hover{--tw-text-opacity: 1;color:rgb(17 24 39 / var(--tw-text-opacity, 1))}.hover\:text-red-700:hover{--tw-text-opacity: 1;color:rgb(185 28 28 / var(--tw-text-opacity, 1))}.hover\:shadow-\[0_15px_45px_rgba\(15\,23\,42\,0\.12\)\]:hover{--tw-shadow: 0 15px 45px rgba(15,23,42,.12);--tw-shadow-colored: 0 15px 45px 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\:shadow-\[0_8px_20px_rgba\(15\,23\,42\,0\.12\)\]:hover{--tw-shadow: 0 8px 20px rgba(15,23,42,.12);--tw-shadow-colored: 0 8px 20px 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\:shadow-md:hover{--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)}.hover\:ring-blue-200:hover{--tw-ring-opacity: 1;--tw-ring-color: rgb(191 219 254 / var(--tw-ring-opacity, 1))}.focus\:border-gray-400:focus{--tw-border-opacity: 1;border-color:rgb(156 163 175 / var(--tw-border-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-amber-500:focus{--tw-ring-opacity: 1;--tw-ring-color: rgb(245 158 11 / var(--tw-ring-opacity, 1))}.focus\:ring-blue-500:focus{--tw-ring-opacity: 1;--tw-ring-color: rgb(59 130 246 / var(--tw-ring-opacity, 1))}.focus\:ring-gray-300:focus{--tw-ring-opacity: 1;--tw-ring-color: rgb(209 213 219 / var(--tw-ring-opacity, 1))}.focus\:ring-red-400:focus{--tw-ring-opacity: 1;--tw-ring-color: rgb(248 113 113 / var(--tw-ring-opacity, 1))}.focus\:ring-red-500:focus{--tw-ring-opacity: 1;--tw-ring-color: rgb(239 68 68 / var(--tw-ring-opacity, 1))}.focus\:ring-offset-2:focus{--tw-ring-offset-width: 2px}.focus\:ring-offset-white:focus{--tw-ring-offset-color: #fff}.focus-visible\:outline-none:focus-visible{outline:2px solid transparent;outline-offset:2px}.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-\[\#0f8f6f\]:focus-visible{--tw-ring-opacity: 1;--tw-ring-color: rgb(15 143 111 / var(--tw-ring-opacity, 1))}.focus-visible\:ring-blue-500:focus-visible{--tw-ring-opacity: 1;--tw-ring-color: rgb(59 130 246 / var(--tw-ring-opacity, 1))}.focus-visible\:ring-offset-2:focus-visible{--tw-ring-offset-width: 2px}.active\:scale-95:active{--tw-scale-x: .95;--tw-scale-y: .95;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))}.active\:scale-\[0\.97\]:active{--tw-scale-x: .97;--tw-scale-y: .97;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))}.disabled\:transform-none:disabled{transform:none}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-50:disabled{opacity:.5}.disabled\:opacity-60:disabled{opacity:.6}.group:hover .group-hover\:border-blue-100{--tw-border-opacity: 1;border-color:rgb(219 234 254 / var(--tw-border-opacity, 1))}.group:hover .group-hover\:bg-white{--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1))}.group:hover .group-hover\:text-blue-500{--tw-text-opacity: 1;color:rgb(59 130 246 / var(--tw-text-opacity, 1))}.group:hover .group-hover\:opacity-100{opacity:1}.dark\:border-\[\#1a2b21\]:is(.dark *){--tw-border-opacity: 1;border-color:rgb(26 43 33 / var(--tw-border-opacity, 1))}.dark\:border-\[\#1f2a36\]:is(.dark *){--tw-border-opacity: 1;border-color:rgb(31 42 54 / var(--tw-border-opacity, 1))}.dark\:border-\[\#2f303d\]:is(.dark *){--tw-border-opacity: 1;border-color:rgb(47 48 61 / var(--tw-border-opacity, 1))}.dark\:border-\[\#3b3c49\]:is(.dark *){--tw-border-opacity: 1;border-color:rgb(59 60 73 / var(--tw-border-opacity, 1))}.dark\:border-\[\#3c3f4a\]:is(.dark *){--tw-border-opacity: 1;border-color:rgb(60 63 74 / var(--tw-border-opacity, 1))}.dark\:border-\[\#40414f\]:is(.dark *){--tw-border-opacity: 1;border-color:rgb(64 65 79 / var(--tw-border-opacity, 1))}.dark\:border-\[\#444654\]:is(.dark *){--tw-border-opacity: 1;border-color:rgb(68 70 84 / var(--tw-border-opacity, 1))}.dark\:border-\[\#4a4b54\]:is(.dark *){--tw-border-opacity: 1;border-color:rgb(74 75 84 / var(--tw-border-opacity, 1))}.dark\:border-\[\#565869\]:is(.dark *){--tw-border-opacity: 1;border-color:rgb(86 88 105 / var(--tw-border-opacity, 1))}.dark\:border-\[\#6b6f7a\]:is(.dark *){--tw-border-opacity: 1;border-color:rgb(107 111 122 / var(--tw-border-opacity, 1))}.dark\:border-amber-500\/30:is(.dark *){border-color:#f59e0b4d}.dark\:border-amber-500\/40:is(.dark *){border-color:#f59e0b66}.dark\:border-amber-800:is(.dark *){--tw-border-opacity: 1;border-color:rgb(146 64 14 / var(--tw-border-opacity, 1))}.dark\:border-blue-800:is(.dark *){--tw-border-opacity: 1;border-color:rgb(30 64 175 / var(--tw-border-opacity, 1))}.dark\:border-emerald-400:is(.dark *){--tw-border-opacity: 1;border-color:rgb(52 211 153 / var(--tw-border-opacity, 1))}.dark\:border-gray-500:is(.dark *){--tw-border-opacity: 1;border-color:rgb(107 114 128 / var(--tw-border-opacity, 1))}.dark\:border-gray-600:is(.dark *){--tw-border-opacity: 1;border-color:rgb(75 85 99 / var(--tw-border-opacity, 1))}.dark\:border-gray-700:is(.dark *){--tw-border-opacity: 1;border-color:rgb(55 65 81 / var(--tw-border-opacity, 1))}.dark\:border-green-600\/40:is(.dark *){border-color:#16a34a66}.dark\:border-red-600\/40:is(.dark *){border-color:#dc262666}.dark\:border-red-700:is(.dark *){--tw-border-opacity: 1;border-color:rgb(185 28 28 / var(--tw-border-opacity, 1))}.dark\:border-red-800:is(.dark *){--tw-border-opacity: 1;border-color:rgb(153 27 27 / var(--tw-border-opacity, 1))}.dark\:border-red-900:is(.dark *){--tw-border-opacity: 1;border-color:rgb(127 29 29 / var(--tw-border-opacity, 1))}.dark\:border-slate-600:is(.dark *){--tw-border-opacity: 1;border-color:rgb(71 85 105 / var(--tw-border-opacity, 1))}.dark\:border-slate-700:is(.dark *){--tw-border-opacity: 1;border-color:rgb(51 65 85 / var(--tw-border-opacity, 1))}.dark\:border-slate-700\/60:is(.dark *){border-color:#33415599}.dark\:border-transparent:is(.dark *){border-color:transparent}.dark\:border-white\/10:is(.dark *){border-color:#ffffff1a}.dark\:border-white\/5:is(.dark *){border-color:#ffffff0d}.dark\:border-t-transparent:is(.dark *){border-top-color:transparent}.dark\:bg-\[\#1c1d23\]\/90:is(.dark *){background-color:#1c1d23e6}.dark\:bg-\[\#1c1d23\]\/95:is(.dark *){background-color:#1c1d23f2}.dark\:bg-\[\#1f1f24\]:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(31 31 36 / var(--tw-bg-opacity, 1))}.dark\:bg-\[\#1f2027\]:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(31 32 39 / var(--tw-bg-opacity, 1))}.dark\:bg-\[\#1f2a36\]:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(31 42 54 / var(--tw-bg-opacity, 1))}.dark\:bg-\[\#202123\]:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(32 33 35 / var(--tw-bg-opacity, 1))}.dark\:bg-\[\#212121\]:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(33 33 33 / var(--tw-bg-opacity, 1))}.dark\:bg-\[\#22232b\]:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(34 35 43 / var(--tw-bg-opacity, 1))}.dark\:bg-\[\#232430\]:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(35 36 48 / var(--tw-bg-opacity, 1))}.dark\:bg-\[\#232430\]\/80:is(.dark *){background-color:#232430cc}.dark\:bg-\[\#252830\]:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(37 40 48 / var(--tw-bg-opacity, 1))}.dark\:bg-\[\#2a2b34\]:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(42 43 52 / var(--tw-bg-opacity, 1))}.dark\:bg-\[\#2c2f36\]:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(44 47 54 / var(--tw-bg-opacity, 1))}.dark\:bg-\[\#2d2f39\]:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(45 47 57 / var(--tw-bg-opacity, 1))}.dark\:bg-\[\#2f2410\]:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(47 36 16 / var(--tw-bg-opacity, 1))}.dark\:bg-\[\#2f313a\]:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(47 49 58 / var(--tw-bg-opacity, 1))}.dark\:bg-\[\#343541\]:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(52 53 65 / var(--tw-bg-opacity, 1))}.dark\:bg-\[\#3c3f4a\]:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(60 63 74 / var(--tw-bg-opacity, 1))}.dark\:bg-\[\#4a4b54\]:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(74 75 84 / var(--tw-bg-opacity, 1))}.dark\:bg-\[\#565869\]:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(86 88 105 / var(--tw-bg-opacity, 1))}.dark\:bg-\[\#bfc2cd\]:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(191 194 205 / var(--tw-bg-opacity, 1))}.dark\:bg-amber-900\/20:is(.dark *){background-color:#78350f33}.dark\:bg-amber-900\/30:is(.dark *){background-color:#78350f4d}.dark\:bg-blue-900\/20:is(.dark *){background-color:#1e3a8a33}.dark\:bg-blue-900\/30:is(.dark *){background-color:#1e3a8a4d}.dark\:bg-blue-900\/40:is(.dark *){background-color:#1e3a8a66}.dark\:bg-emerald-400:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(52 211 153 / var(--tw-bg-opacity, 1))}.dark\:bg-emerald-900\/20:is(.dark *){background-color:#064e3b33}.dark\:bg-gray-600:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(75 85 99 / var(--tw-bg-opacity, 1))}.dark\:bg-gray-700:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(55 65 81 / var(--tw-bg-opacity, 1))}.dark\:bg-gray-800:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(31 41 55 / var(--tw-bg-opacity, 1))}.dark\:bg-gray-800\/50:is(.dark *){background-color:#1f293780}.dark\:bg-gray-900:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(17 24 39 / var(--tw-bg-opacity, 1))}.dark\:bg-green-900\/30:is(.dark *){background-color:#14532d4d}.dark\:bg-red-600:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(220 38 38 / var(--tw-bg-opacity, 1))}.dark\:bg-red-700:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(185 28 28 / var(--tw-bg-opacity, 1))}.dark\:bg-red-900\/20:is(.dark *){background-color:#7f1d1d33}.dark\:bg-red-900\/30:is(.dark *){background-color:#7f1d1d4d}.dark\:bg-red-900\/40:is(.dark *){background-color:#7f1d1d66}.dark\:bg-red-950\/30:is(.dark *){background-color:#450a0a4d}.dark\:bg-slate-700:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(51 65 85 / var(--tw-bg-opacity, 1))}.dark\:bg-slate-800:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(30 41 59 / var(--tw-bg-opacity, 1))}.dark\:bg-slate-800\/50:is(.dark *){background-color:#1e293b80}.dark\:bg-slate-900\/40:is(.dark *){background-color:#0f172a66}.dark\:bg-slate-900\/50:is(.dark *){background-color:#0f172a80}.dark\:bg-transparent:is(.dark *){background-color:transparent}.dark\:bg-white:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1))}.dark\:bg-white\/10:is(.dark *){background-color:#ffffff1a}.dark\:bg-white\/5:is(.dark *){background-color:#ffffff0d}.dark\:bg-white\/\[0\.035\]:is(.dark *){background-color:#ffffff09}.dark\:bg-white\/\[0\.04\]:is(.dark *){background-color:#ffffff0a}.dark\:bg-none:is(.dark *){background-image:none}.dark\:from-\[\#0f1f17\]:is(.dark *){--tw-gradient-from: #0f1f17 var(--tw-gradient-from-position);--tw-gradient-to: rgb(15 31 23 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.dark\:from-\[\#1f2a36\]:is(.dark *){--tw-gradient-from: #1f2a36 var(--tw-gradient-from-position);--tw-gradient-to: rgb(31 42 54 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.dark\:to-\[\#0b1712\]:is(.dark *){--tw-gradient-to: #0b1712 var(--tw-gradient-to-position)}.dark\:to-\[\#1a2230\]:is(.dark *){--tw-gradient-to: #1a2230 var(--tw-gradient-to-position)}.dark\:to-\[\#1c1d23\]:is(.dark *){--tw-gradient-to: #1c1d23 var(--tw-gradient-to-position)}.dark\:\!text-white:is(.dark *){--tw-text-opacity: 1 !important;color:rgb(255 255 255 / var(--tw-text-opacity, 1))!important}.dark\:text-\[\#4a4b54\]:is(.dark *){--tw-text-opacity: 1;color:rgb(74 75 84 / var(--tw-text-opacity, 1))}.dark\:text-\[\#6b6f7a\]:is(.dark *){--tw-text-opacity: 1;color:rgb(107 111 122 / var(--tw-text-opacity, 1))}.dark\:text-\[\#8e8ea0\]:is(.dark *){--tw-text-opacity: 1;color:rgb(142 142 160 / var(--tw-text-opacity, 1))}.dark\:text-\[\#8fb7ff\]:is(.dark *){--tw-text-opacity: 1;color:rgb(143 183 255 / var(--tw-text-opacity, 1))}.dark\:text-\[\#9ef0d5\]:is(.dark *){--tw-text-opacity: 1;color:rgb(158 240 213 / var(--tw-text-opacity, 1))}.dark\:text-\[\#a6acc5\]:is(.dark *){--tw-text-opacity: 1;color:rgb(166 172 197 / var(--tw-text-opacity, 1))}.dark\:text-\[\#b4c7ff\]:is(.dark *){--tw-text-opacity: 1;color:rgb(180 199 255 / var(--tw-text-opacity, 1))}.dark\:text-\[\#bfc2cd\]:is(.dark *){--tw-text-opacity: 1;color:rgb(191 194 205 / var(--tw-text-opacity, 1))}.dark\:text-\[\#c5d7ff\]:is(.dark *){--tw-text-opacity: 1;color:rgb(197 215 255 / var(--tw-text-opacity, 1))}.dark\:text-\[\#c7f5df\]:is(.dark *){--tw-text-opacity: 1;color:rgb(199 245 223 / var(--tw-text-opacity, 1))}.dark\:text-\[\#d1d5db\]:is(.dark *){--tw-text-opacity: 1;color:rgb(209 213 219 / var(--tw-text-opacity, 1))}.dark\:text-\[\#d4d7e2\]:is(.dark *){--tw-text-opacity: 1;color:rgb(212 215 226 / var(--tw-text-opacity, 1))}.dark\:text-\[\#dffbea\]:is(.dark *){--tw-text-opacity: 1;color:rgb(223 251 234 / var(--tw-text-opacity, 1))}.dark\:text-\[\#e1e8ff\]:is(.dark *){--tw-text-opacity: 1;color:rgb(225 232 255 / var(--tw-text-opacity, 1))}.dark\:text-\[\#e5e7f4\]:is(.dark *){--tw-text-opacity: 1;color:rgb(229 231 244 / var(--tw-text-opacity, 1))}.dark\:text-\[\#e5edff\]:is(.dark *){--tw-text-opacity: 1;color:rgb(229 237 255 / var(--tw-text-opacity, 1))}.dark\:text-\[\#ececf1\]:is(.dark *){--tw-text-opacity: 1;color:rgb(236 236 241 / var(--tw-text-opacity, 1))}.dark\:text-\[\#f1f5ff\]:is(.dark *){--tw-text-opacity: 1;color:rgb(241 245 255 / var(--tw-text-opacity, 1))}.dark\:text-amber-100:is(.dark *){--tw-text-opacity: 1;color:rgb(254 243 199 / var(--tw-text-opacity, 1))}.dark\:text-amber-300:is(.dark *){--tw-text-opacity: 1;color:rgb(252 211 77 / var(--tw-text-opacity, 1))}.dark\:text-amber-400:is(.dark *){--tw-text-opacity: 1;color:rgb(251 191 36 / var(--tw-text-opacity, 1))}.dark\:text-black:is(.dark *){--tw-text-opacity: 1;color:rgb(0 0 0 / var(--tw-text-opacity, 1))}.dark\:text-blue-200:is(.dark *){--tw-text-opacity: 1;color:rgb(191 219 254 / var(--tw-text-opacity, 1))}.dark\:text-blue-300:is(.dark *){--tw-text-opacity: 1;color:rgb(147 197 253 / var(--tw-text-opacity, 1))}.dark\:text-emerald-400:is(.dark *){--tw-text-opacity: 1;color:rgb(52 211 153 / var(--tw-text-opacity, 1))}.dark\:text-gray-100:is(.dark *){--tw-text-opacity: 1;color:rgb(243 244 246 / var(--tw-text-opacity, 1))}.dark\:text-gray-200:is(.dark *){--tw-text-opacity: 1;color:rgb(229 231 235 / var(--tw-text-opacity, 1))}.dark\:text-gray-300:is(.dark *){--tw-text-opacity: 1;color:rgb(209 213 219 / var(--tw-text-opacity, 1))}.dark\:text-gray-400:is(.dark *){--tw-text-opacity: 1;color:rgb(156 163 175 / var(--tw-text-opacity, 1))}.dark\:text-green-200:is(.dark *){--tw-text-opacity: 1;color:rgb(187 247 208 / var(--tw-text-opacity, 1))}.dark\:text-red-200:is(.dark *){--tw-text-opacity: 1;color:rgb(254 202 202 / var(--tw-text-opacity, 1))}.dark\:text-red-300:is(.dark *){--tw-text-opacity: 1;color:rgb(252 165 165 / var(--tw-text-opacity, 1))}.dark\:text-red-400:is(.dark *){--tw-text-opacity: 1;color:rgb(248 113 113 / var(--tw-text-opacity, 1))}.dark\:text-red-400\/60:is(.dark *){color:#f8717199}.dark\:text-slate-100:is(.dark *){--tw-text-opacity: 1;color:rgb(241 245 249 / var(--tw-text-opacity, 1))}.dark\:text-slate-300:is(.dark *){--tw-text-opacity: 1;color:rgb(203 213 225 / var(--tw-text-opacity, 1))}.dark\:text-slate-400:is(.dark *){--tw-text-opacity: 1;color:rgb(148 163 184 / var(--tw-text-opacity, 1))}.dark\:text-slate-500:is(.dark *){--tw-text-opacity: 1;color:rgb(100 116 139 / var(--tw-text-opacity, 1))}.dark\:text-slate-600:is(.dark *){--tw-text-opacity: 1;color:rgb(71 85 105 / var(--tw-text-opacity, 1))}.dark\:text-white:is(.dark *){--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity, 1))}.dark\:text-yellow-300:is(.dark *){--tw-text-opacity: 1;color:rgb(253 224 71 / var(--tw-text-opacity, 1))}.dark\:placeholder-\[\#8e8ea0\]:is(.dark *)::-moz-placeholder{--tw-placeholder-opacity: 1;color:rgb(142 142 160 / var(--tw-placeholder-opacity, 1))}.dark\:placeholder-\[\#8e8ea0\]:is(.dark *)::placeholder{--tw-placeholder-opacity: 1;color:rgb(142 142 160 / var(--tw-placeholder-opacity, 1))}.dark\:placeholder-transparent:is(.dark *)::-moz-placeholder{color:transparent}.dark\:placeholder-transparent:is(.dark *)::placeholder{color:transparent}.dark\:accent-\[\#bfc2cd\]:is(.dark *){accent-color:#bfc2cd}.dark\:shadow-lg:is(.dark *){--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)}.dark\:shadow-none:is(.dark *){--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)}.dark\:ring-white\/10:is(.dark *){--tw-ring-color: rgb(255 255 255 / .1)}.dark\:ring-white\/5:is(.dark *){--tw-ring-color: rgb(255 255 255 / .05)}.dark\:hover\:border-\[\#4a4b54\]:hover:is(.dark *){--tw-border-opacity: 1;border-color:rgb(74 75 84 / var(--tw-border-opacity, 1))}.dark\:hover\:border-\[\#6b6f7a\]:hover:is(.dark *){--tw-border-opacity: 1;border-color:rgb(107 111 122 / var(--tw-border-opacity, 1))}.dark\:hover\:border-blue-400\/50:hover:is(.dark *){border-color:#60a5fa80}.dark\:hover\:border-gray-500:hover:is(.dark *){--tw-border-opacity: 1;border-color:rgb(107 114 128 / var(--tw-border-opacity, 1))}.dark\:hover\:border-red-500\/60:hover:is(.dark *){border-color:#ef444499}.dark\:hover\:bg-\[\#2a2d35\]:hover:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(42 45 53 / var(--tw-bg-opacity, 1))}.dark\:hover\:bg-\[\#2f323c\]:hover:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(47 50 60 / var(--tw-bg-opacity, 1))}.dark\:hover\:bg-\[\#353740\]:hover:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(53 55 64 / var(--tw-bg-opacity, 1))}.dark\:hover\:bg-\[\#353947\]:hover:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(53 57 71 / var(--tw-bg-opacity, 1))}.dark\:hover\:bg-\[\#3c3f4a\]:hover:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(60 63 74 / var(--tw-bg-opacity, 1))}.dark\:hover\:bg-\[\#4a4b54\]:hover:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(74 75 84 / var(--tw-bg-opacity, 1))}.dark\:hover\:bg-\[\#565869\]:hover:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(86 88 105 / var(--tw-bg-opacity, 1))}.dark\:hover\:bg-\[\#6b6f7a\]:hover:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(107 111 122 / var(--tw-bg-opacity, 1))}.dark\:hover\:bg-emerald-900\/10:hover:is(.dark *){background-color:#064e3b1a}.dark\:hover\:bg-gray-200:hover:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(229 231 235 / var(--tw-bg-opacity, 1))}.dark\:hover\:bg-gray-600:hover:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(75 85 99 / var(--tw-bg-opacity, 1))}.dark\:hover\:bg-gray-700:hover:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(55 65 81 / var(--tw-bg-opacity, 1))}.dark\:hover\:bg-gray-800:hover:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(31 41 55 / var(--tw-bg-opacity, 1))}.dark\:hover\:bg-red-600:hover:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(220 38 38 / var(--tw-bg-opacity, 1))}.dark\:hover\:bg-red-700:hover:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(185 28 28 / var(--tw-bg-opacity, 1))}.dark\:hover\:bg-red-800\/40:hover:is(.dark *){background-color:#991b1b66}.dark\:hover\:bg-red-900\/20:hover:is(.dark *){background-color:#7f1d1d33}.dark\:hover\:bg-red-900\/30:hover:is(.dark *){background-color:#7f1d1d4d}.dark\:hover\:bg-slate-800\/60:hover:is(.dark *){background-color:#1e293b99}.dark\:hover\:bg-white\/\[0\.08\]:hover:is(.dark *){background-color:#ffffff14}.dark\:hover\:text-blue-200:hover:is(.dark *){--tw-text-opacity: 1;color:rgb(191 219 254 / var(--tw-text-opacity, 1))}.dark\:hover\:text-blue-300:hover:is(.dark *){--tw-text-opacity: 1;color:rgb(147 197 253 / var(--tw-text-opacity, 1))}.dark\:hover\:text-white:hover:is(.dark *){--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity, 1))}.dark\:focus\:border-\[\#6b6f7a\]:focus:is(.dark *){--tw-border-opacity: 1;border-color:rgb(107 111 122 / var(--tw-border-opacity, 1))}.dark\:focus\:border-\[\#8e8ea0\]:focus:is(.dark *){--tw-border-opacity: 1;border-color:rgb(142 142 160 / var(--tw-border-opacity, 1))}.dark\:focus\:ring-\[\#8e8ea0\]:focus:is(.dark *){--tw-ring-opacity: 1;--tw-ring-color: rgb(142 142 160 / var(--tw-ring-opacity, 1))}.dark\:focus\:ring-offset-gray-800:focus:is(.dark *){--tw-ring-offset-color: #1f2937}.dark\:focus-visible\:ring-blue-400:focus-visible:is(.dark *){--tw-ring-opacity: 1;--tw-ring-color: rgb(96 165 250 / var(--tw-ring-opacity, 1))}.dark\:focus-visible\:ring-offset-\[\#0f1821\]:focus-visible:is(.dark *){--tw-ring-offset-color: #0f1821}.dark\:disabled\:hover\:border-\[\#4a4b54\]:hover:disabled:is(.dark *){--tw-border-opacity: 1;border-color:rgb(74 75 84 / var(--tw-border-opacity, 1))}.dark\:disabled\:hover\:bg-transparent:hover:disabled:is(.dark *){background-color:transparent}.group:hover .dark\:group-hover\:border-blue-500\/40:is(.dark *){border-color:#3b82f666}.group:hover .dark\:group-hover\:bg-transparent:is(.dark *){background-color:transparent}.group:hover .dark\:group-hover\:text-blue-300:is(.dark *){--tw-text-opacity: 1;color:rgb(147 197 253 / var(--tw-text-opacity, 1))}@media (min-width: 640px){.sm\:order-1{order:1}.sm\:order-2{order:2}.sm\:-mt-3{margin-top:-.75rem}.sm\:ml-2{margin-left:.5rem}.sm\:mt-4{margin-top:1rem}.sm\:inline{display:inline}.sm\:h-3{height:.75rem}.sm\:h-4{height:1rem}.sm\:h-9{height:2.25rem}.sm\:w-3{width:.75rem}.sm\:w-4{width:1rem}.sm\:w-9{width:2.25rem}.sm\:w-auto{width:auto}.sm\:min-w-\[220px\]{min-width:220px}.sm\:flex-row{flex-direction:row}.sm\:items-start{align-items:flex-start}.sm\:items-end{align-items:flex-end}.sm\:items-center{align-items:center}.sm\:justify-end{justify-content:flex-end}.sm\:justify-between{justify-content:space-between}.sm\:gap-2{gap:.5rem}.sm\:gap-3{gap:.75rem}.sm\:gap-4{gap:1rem}.sm\:p-4{padding:1rem}.sm\:px-0{padding-left:0;padding-right:0}.sm\:px-3{padding-left:.75rem;padding-right:.75rem}.sm\:px-4{padding-left:1rem;padding-right:1rem}.sm\:px-6{padding-left:1.5rem;padding-right:1.5rem}.sm\:text-sm{font-size:.875rem;line-height:1.25rem}.sm\:text-xs{font-size:.75rem;line-height:1rem}}@media (min-width: 768px){.md\:static{position:static}.md\:absolute{position:absolute}.md\:bottom-full{bottom:100%}.md\:left-0{left:0}.md\:right-0{right:0}.md\:mx-0{margin-left:0;margin-right:0}.md\:mt-0{margin-top:0}.md\:flex{display:flex}.md\:hidden{display:none}.md\:h-2{height:.5rem}.md\:h-3{height:.75rem}.md\:h-4{height:1rem}.md\:h-8{height:2rem}.md\:min-h-screen{min-height:100vh}.md\:w-2{width:.5rem}.md\:w-3{width:.75rem}.md\:w-4{width:1rem}.md\:w-72{width:18rem}.md\:w-8{width:2rem}.md\:min-w-\[72px\]{min-width:72px}.md\:flex-none{flex:none}.md\:flex-shrink-0{flex-shrink:0}.md\:flex-row{flex-direction:row}.md\:flex-nowrap{flex-wrap:nowrap}.md\:items-center{align-items:center}.md\:justify-start{justify-content:flex-start}.md\:justify-end{justify-content:flex-end}.md\:gap-2{gap:.5rem}.md\:gap-3{gap:.75rem}.md\:overflow-visible{overflow:visible}.md\:rounded-lg{border-radius:.5rem}.md\:rounded-none{border-radius:0}.md\:border-0{border-width:0px}.md\:border-gray-200{--tw-border-opacity: 1;border-color:rgb(229 231 235 / var(--tw-border-opacity, 1))}.md\:border-transparent{border-color:transparent}.md\:bg-transparent{background-color:transparent}.md\:px-0{padding-left:0;padding-right:0}.md\:px-4{padding-left:1rem;padding-right:1rem}.md\:py-3{padding-top:.75rem;padding-bottom:.75rem}.md\:py-4{padding-top:1rem;padding-bottom:1rem}.md\:pb-0{padding-bottom:0}.md\:pb-6{padding-bottom:1.5rem}.md\:pt-0{padding-top:0}.md\:pt-6{padding-top:1.5rem}.md\:text-right{text-align:right}.md\:text-2xl{font-size:1.5rem;line-height:2rem}.md\:text-sm{font-size:.875rem;line-height:1.25rem}.md\:text-xs{font-size:.75rem;line-height:1rem}.md\: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)}.md\:backdrop-blur-0{--tw-backdrop-blur: blur(0);-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)}.md\:dark\:border-0:is(.dark *){border-width:0px}.md\:dark\:border-\[\#4a4b54\]:is(.dark *){--tw-border-opacity: 1;border-color:rgb(74 75 84 / var(--tw-border-opacity, 1))}.md\:dark\:border-transparent:is(.dark *){border-color:transparent}.md\:dark\:bg-transparent:is(.dark *){background-color:transparent}}.\[\&\>\:first-child\]\:mt-0>:first-child{margin-top:0}.\[\&\>\:last-child\]\:mb-0>:last-child{margin-bottom:0}.\[\&\>div\]\:rounded-t-\[28px\]>div{border-top-left-radius:28px;border-top-right-radius:28px}.\[\&\>div\]\:bg-transparent>div{background-color:transparent}@media (min-width: 768px){.md\:\[\&\>div\]\:rounded-none>div{border-radius:0}.md\:\[\&\>div\]\:px-0>div{padding-left:0;padding-right:0}}