agentstudio 0.1.20 → 0.1.21

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 (164) hide show
  1. package/index.d.ts.map +1 -1
  2. package/index.js +5 -0
  3. package/index.js.map +1 -1
  4. package/package.json +1 -1
  5. package/public/assets/{AgentsPage-CKTz2ND6.js → AgentsPage-Nvg2xu6K.js} +2 -2
  6. package/public/assets/{Button-Dg6ni5Yl.js → Button-Co56C389.js} +1 -1
  7. package/public/assets/{ChatPage-DkO3kzY2.js → ChatPage-D6sol0ad.js} +5 -5
  8. package/public/assets/{CommandForm-CIfw9mVj.js → CommandForm-Bk7F_HU8.js} +1 -1
  9. package/public/assets/{CommandsPage-BgN0E41K.js → CommandsPage-DZHyOdKd.js} +1 -1
  10. package/public/assets/{DashboardPage-Duu6pBON.js → DashboardPage-29qC7Ev1.js} +2 -2
  11. package/public/assets/{FileBrowser-Bnm7ZyGT.js → FileBrowser-BYweUPH4.js} +4 -4
  12. package/public/assets/FileExplorer-DNYj6Tsx.js +1 -0
  13. package/public/assets/{GeneralSettingsPage-BJTiwSqP.js → GeneralSettingsPage-D9Xa7Nd8.js} +1 -1
  14. package/public/assets/LandingPage-CjnT-cvO.js +1 -0
  15. package/public/assets/{LoginPage-DCI_RABC.js → LoginPage-DcaGNCXH.js} +3 -3
  16. package/public/assets/McpAdminSettingsPage-DgR3E2Bd.js +7 -0
  17. package/public/assets/{McpPage-Dj4bE6a2.js → McpPage-CtWf1CoL.js} +1 -1
  18. package/public/assets/{MemorySettingsPage-v7kI6DEB.js → MemorySettingsPage-JTry4Ccp.js} +1 -1
  19. package/public/assets/PluginsPage-D-BHjQ3P.js +1 -0
  20. package/public/assets/{ProjectSelector-DKkhmVGz.js → ProjectSelector-DSXOjMQC.js} +1 -1
  21. package/public/assets/{ProjectsPage-6nGz1v6U.js → ProjectsPage-lLUk4-Xa.js} +5 -5
  22. package/public/assets/ScheduledTasksPage-5hPbd9Vs.js +1 -0
  23. package/public/assets/{SettingsLayout-stXQCl6u.js → SettingsLayout-DGJspXLp.js} +1 -1
  24. package/public/assets/SkillsPage-DBw0m7D2.js +18 -0
  25. package/public/assets/{SubagentForm-iYJ0l9vh.js → SubagentForm-BdUK1U4y.js} +1 -1
  26. package/public/assets/{SubagentsPage-ksh-LWAC.js → SubagentsPage-Dnq70IFd.js} +1 -1
  27. package/public/assets/{ToastTestPage-pxyInZeD.js → ToastTestPage-BfJQRFIm.js} +1 -1
  28. package/public/assets/{ToolsList-CWZLcBx2.js → ToolsList-Dl5F2fWk.js} +1 -1
  29. package/public/assets/UnifiedToolSelector-CNbPsiuq.js +1 -0
  30. package/public/assets/{VersionSettingsPage-ClLBqAIC.js → VersionSettingsPage-BfoCcham.js} +1 -1
  31. package/public/assets/{_basePickBy-Ce1_TuBk.js → _basePickBy-7C_e0Xv1.js} +1 -1
  32. package/public/assets/{_baseUniq-Dt6C4BgZ.js → _baseUniq-eGJNLBzx.js} +1 -1
  33. package/public/assets/{agents-C4aCwcCz.js → agents-ChrA1R0y.js} +1 -1
  34. package/public/assets/arc-CuA752eE.js +1 -0
  35. package/public/assets/{architectureDiagram-VXUJARFQ-rnurJGX4.js → architectureDiagram-VXUJARFQ-BnPYh1OW.js} +1 -1
  36. package/public/assets/{blockDiagram-VD42YOAC-CM33sjhb.js → blockDiagram-VD42YOAC-72nsMt_i.js} +1 -1
  37. package/public/assets/{c4Diagram-YG6GDRKO-B1tJjciL.js → c4Diagram-YG6GDRKO-BNJSAXcg.js} +1 -1
  38. package/public/assets/channel-CIunGC5m.js +1 -0
  39. package/public/assets/{chunk-4BX2VUAB-vbzk_8Ta.js → chunk-4BX2VUAB-RPxkCWhH.js} +1 -1
  40. package/public/assets/{chunk-55IACEB6-CNXjTgeK.js → chunk-55IACEB6-3ePDt0kp.js} +1 -1
  41. package/public/assets/{chunk-B4BG7PRW-CykotMKj.js → chunk-B4BG7PRW-CBg_BBfl.js} +1 -1
  42. package/public/assets/{chunk-DI55MBZ5-DbZodDrP.js → chunk-DI55MBZ5-DIh69TUJ.js} +1 -1
  43. package/public/assets/{chunk-FMBD7UC4-u0h-4JXb.js → chunk-FMBD7UC4-BbjwhyTe.js} +1 -1
  44. package/public/assets/{chunk-QN33PNHL-B7VLbRpC.js → chunk-QN33PNHL-BpH-o_YR.js} +1 -1
  45. package/public/assets/{chunk-QZHKN3VN-DfcZEdwM.js → chunk-QZHKN3VN-DYB7rh5Q.js} +1 -1
  46. package/public/assets/{chunk-TZMSLE5B-BP4O9iGm.js → chunk-TZMSLE5B-DPCYEVb3.js} +1 -1
  47. package/public/assets/classDiagram-2ON5EDUG-aUQHFsTA.js +1 -0
  48. package/public/assets/classDiagram-v2-WZHVMYZB-aUQHFsTA.js +1 -0
  49. package/public/assets/clone-Ckf7tA1V.js +1 -0
  50. package/public/assets/{cose-bilkent-S5V4N54A-CSV8iDOr.js → cose-bilkent-S5V4N54A-CnpfmL-Y.js} +1 -1
  51. package/public/assets/{dagre-6UL2VRFP-S5vHkFwY.js → dagre-6UL2VRFP-DR9x77Xf.js} +1 -1
  52. package/public/assets/{diagram-PSM6KHXK-Bl4NbJsm.js → diagram-PSM6KHXK-SONPsQNx.js} +1 -1
  53. package/public/assets/{diagram-QEK2KX5R-D-6ipdkt.js → diagram-QEK2KX5R-BKYFSfC1.js} +1 -1
  54. package/public/assets/{diagram-S2PKOQOG-DBuN3kfb.js → diagram-S2PKOQOG-CkM0APZj.js} +1 -1
  55. package/public/assets/{erDiagram-Q2GNP2WA-DEhlyUw1.js → erDiagram-Q2GNP2WA-BX1DpOGx.js} +1 -1
  56. package/public/assets/{flowDiagram-NV44I4VS-PsSk5-Xf.js → flowDiagram-NV44I4VS-HAAlzNbq.js} +1 -1
  57. package/public/assets/{ganttDiagram-LVOFAZNH-PfD-vtKp.js → ganttDiagram-LVOFAZNH-BqzWexqa.js} +1 -1
  58. package/public/assets/{gitGraphDiagram-NY62KEGX-CUq51Mt1.js → gitGraphDiagram-NY62KEGX-CIPmSp43.js} +1 -1
  59. package/public/assets/{graph-Bc5M3bvZ.js → graph-m515btDj.js} +1 -1
  60. package/public/assets/{index-ImPzdvfG.js → index-Bn3v3S9-.js} +47 -47
  61. package/public/assets/index-DWieeYj4.css +1 -0
  62. package/public/assets/infoDiagram-F6ZHWCRC-Pn4yNWrF.js +2 -0
  63. package/public/assets/{journeyDiagram-XKPGCS4Q-CTyau8Sh.js → journeyDiagram-XKPGCS4Q-BfzTomS0.js} +1 -1
  64. package/public/assets/{kanban-definition-3W4ZIXB7-2R3dHQq1.js → kanban-definition-3W4ZIXB7-Cgju7b-L.js} +1 -1
  65. package/public/assets/{layout-BCktuL_6.js → layout-BKQfQSxJ.js} +1 -1
  66. package/public/assets/{linear-lHuinZOC.js → linear-DigtLz3B.js} +1 -1
  67. package/public/assets/{mindmap-definition-VGOIOE7T-Dl8qR3zk.js → mindmap-definition-VGOIOE7T-qopraVFy.js} +1 -1
  68. package/public/assets/{pieDiagram-ADFJNKIX-Bqcukh_c.js → pieDiagram-ADFJNKIX-BcoaAI-L.js} +2 -2
  69. package/public/assets/{quadrantDiagram-AYHSOK5B-C_uML1JV.js → quadrantDiagram-AYHSOK5B-D-DwcoSd.js} +1 -1
  70. package/public/assets/{requirementDiagram-UZGBJVZJ-QUbH9ShO.js → requirementDiagram-UZGBJVZJ-DbQCpx77.js} +1 -1
  71. package/public/assets/{sankeyDiagram-TZEHDZUN-CEomXpQ1.js → sankeyDiagram-TZEHDZUN-BVk8387S.js} +1 -1
  72. package/public/assets/{sequenceDiagram-WL72ISMW-DNsDMjTd.js → sequenceDiagram-WL72ISMW-BdzICjxO.js} +1 -1
  73. package/public/assets/{stateDiagram-FKZM4ZOC-BA_Narwp.js → stateDiagram-FKZM4ZOC-CYY-uUvJ.js} +1 -1
  74. package/public/assets/stateDiagram-v2-4FDKWEC3-Dh2Kvomq.js +1 -0
  75. package/public/assets/{tabManager-CkNKjP4G.js → tabManager-B2LQO_Ll.js} +1 -1
  76. package/public/assets/{table-CSWCaVuS.js → table-D0L2RL5i.js} +1 -1
  77. package/public/assets/{timeline-definition-IT6M3QCI-DeEgHBeI.js → timeline-definition-IT6M3QCI-BAvjPYvX.js} +1 -1
  78. package/public/assets/{tools-C7xmF_rB.js → tools-IcPNZlPj.js} +1 -1
  79. package/public/assets/{treemap-KMMF4GRG-5HQSTjk6.js → treemap-KMMF4GRG-DtkpVA56.js} +1 -1
  80. package/public/assets/{ui-components-BNdpaz32.js → ui-components-D1St49qC.js} +129 -119
  81. package/public/assets/{useAgents-C9aEFOWD.js → useAgents-BnDTkOG8.js} +1 -1
  82. package/public/assets/{useClaudeVersions-CcFqpR2o.js → useClaudeVersions-CD59tFWM.js} +1 -1
  83. package/public/assets/{useCommands-BadxYHf2.js → useCommands-mvMu3mMD.js} +1 -1
  84. package/public/assets/{useProjects-Dgk7ldPq.js → useProjects-YXOjaOwL.js} +1 -1
  85. package/public/assets/{xychartDiagram-PRI3JC2R-C7BNHmgo.js → xychartDiagram-PRI3JC2R-ByBTDWE2.js} +1 -1
  86. package/public/index.html +5 -5
  87. package/routes/mcp.d.ts +23 -0
  88. package/routes/mcp.d.ts.map +1 -1
  89. package/routes/mcp.js +21 -18
  90. package/routes/mcp.js.map +1 -1
  91. package/routes/mcpAdmin.d.ts +16 -0
  92. package/routes/mcpAdmin.d.ts.map +1 -0
  93. package/routes/mcpAdmin.js +308 -0
  94. package/routes/mcpAdmin.js.map +1 -0
  95. package/routes/mcpAdminManagement.d.ts +17 -0
  96. package/routes/mcpAdminManagement.d.ts.map +1 -0
  97. package/routes/mcpAdminManagement.js +345 -0
  98. package/routes/mcpAdminManagement.js.map +1 -0
  99. package/services/mcpAdmin/__tests__/adminApiKeyService.test.d.ts +5 -0
  100. package/services/mcpAdmin/__tests__/adminApiKeyService.test.d.ts.map +1 -0
  101. package/services/mcpAdmin/__tests__/adminApiKeyService.test.js +289 -0
  102. package/services/mcpAdmin/__tests__/adminApiKeyService.test.js.map +1 -0
  103. package/services/mcpAdmin/__tests__/mcpAdminRoutes.test.d.ts +5 -0
  104. package/services/mcpAdmin/__tests__/mcpAdminRoutes.test.d.ts.map +1 -0
  105. package/services/mcpAdmin/__tests__/mcpAdminRoutes.test.js +345 -0
  106. package/services/mcpAdmin/__tests__/mcpAdminRoutes.test.js.map +1 -0
  107. package/services/mcpAdmin/__tests__/mcpAdminServer.test.d.ts +5 -0
  108. package/services/mcpAdmin/__tests__/mcpAdminServer.test.d.ts.map +1 -0
  109. package/services/mcpAdmin/__tests__/mcpAdminServer.test.js +453 -0
  110. package/services/mcpAdmin/__tests__/mcpAdminServer.test.js.map +1 -0
  111. package/services/mcpAdmin/__tests__/tools.test.d.ts +5 -0
  112. package/services/mcpAdmin/__tests__/tools.test.d.ts.map +1 -0
  113. package/services/mcpAdmin/__tests__/tools.test.js +371 -0
  114. package/services/mcpAdmin/__tests__/tools.test.js.map +1 -0
  115. package/services/mcpAdmin/adminApiKeyService.d.ts +61 -0
  116. package/services/mcpAdmin/adminApiKeyService.d.ts.map +1 -0
  117. package/services/mcpAdmin/adminApiKeyService.js +270 -0
  118. package/services/mcpAdmin/adminApiKeyService.js.map +1 -0
  119. package/services/mcpAdmin/index.d.ts +10 -0
  120. package/services/mcpAdmin/index.d.ts.map +1 -0
  121. package/services/mcpAdmin/index.js +43 -0
  122. package/services/mcpAdmin/index.js.map +1 -0
  123. package/services/mcpAdmin/mcpAdminServer.d.ts +76 -0
  124. package/services/mcpAdmin/mcpAdminServer.d.ts.map +1 -0
  125. package/services/mcpAdmin/mcpAdminServer.js +243 -0
  126. package/services/mcpAdmin/mcpAdminServer.js.map +1 -0
  127. package/services/mcpAdmin/tools/agentTools.d.ts +27 -0
  128. package/services/mcpAdmin/tools/agentTools.d.ts.map +1 -0
  129. package/services/mcpAdmin/tools/agentTools.js +359 -0
  130. package/services/mcpAdmin/tools/agentTools.js.map +1 -0
  131. package/services/mcpAdmin/tools/index.d.ts +15 -0
  132. package/services/mcpAdmin/tools/index.d.ts.map +1 -0
  133. package/services/mcpAdmin/tools/index.js +30 -0
  134. package/services/mcpAdmin/tools/index.js.map +1 -0
  135. package/services/mcpAdmin/tools/mcpServerTools.d.ts +27 -0
  136. package/services/mcpAdmin/tools/mcpServerTools.d.ts.map +1 -0
  137. package/services/mcpAdmin/tools/mcpServerTools.js +334 -0
  138. package/services/mcpAdmin/tools/mcpServerTools.js.map +1 -0
  139. package/services/mcpAdmin/tools/projectTools.d.ts +27 -0
  140. package/services/mcpAdmin/tools/projectTools.d.ts.map +1 -0
  141. package/services/mcpAdmin/tools/projectTools.js +353 -0
  142. package/services/mcpAdmin/tools/projectTools.js.map +1 -0
  143. package/services/mcpAdmin/tools/systemTools.d.ts +23 -0
  144. package/services/mcpAdmin/tools/systemTools.d.ts.map +1 -0
  145. package/services/mcpAdmin/tools/systemTools.js +241 -0
  146. package/services/mcpAdmin/tools/systemTools.js.map +1 -0
  147. package/services/mcpAdmin/types.d.ts +124 -0
  148. package/services/mcpAdmin/types.d.ts.map +1 -0
  149. package/services/mcpAdmin/types.js +18 -0
  150. package/services/mcpAdmin/types.js.map +1 -0
  151. package/public/assets/FileExplorer-Dy8ZFDtK.js +0 -1
  152. package/public/assets/LandingPage-CCqtSDce.js +0 -1
  153. package/public/assets/PluginsPage-CQ08px0h.js +0 -1
  154. package/public/assets/ScheduledTasksPage-Dv8qPeLY.js +0 -1
  155. package/public/assets/SkillsPage-DlQPlwG5.js +0 -18
  156. package/public/assets/UnifiedToolSelector-A2UIt1Xn.js +0 -1
  157. package/public/assets/arc-c63c3GDw.js +0 -1
  158. package/public/assets/channel-6fK1csbi.js +0 -1
  159. package/public/assets/classDiagram-2ON5EDUG-PrDkNsdA.js +0 -1
  160. package/public/assets/classDiagram-v2-WZHVMYZB-PrDkNsdA.js +0 -1
  161. package/public/assets/clone-CXX9AxT7.js +0 -1
  162. package/public/assets/index-TEVaBQiv.css +0 -1
  163. package/public/assets/infoDiagram-F6ZHWCRC-BTR1hJCm.js +0 -2
  164. package/public/assets/stateDiagram-v2-4FDKWEC3-Cy5am68v.js +0 -1
@@ -1 +1 @@
1
- import{r as T}from"./monaco-editor-DHKm5-VF.js";import{j as f}from"./data-structures-C0h9Oap1.js";import{P as Ue,S as Ve,G as he,a as Be,B as Me,b as He,F as ze,c as _e,d as We,e as Je,C as X,f as Ge,g as Ye,h as Qe,i as Ce,A as Ze,T as Y,W as qe,L as Xe,j as H,k as et,l as tt,m as $e,n as st,Z as rt}from"./ui-components-BNdpaz32.js";const p=n=>typeof n=="string",B=()=>{let n,e;const t=new Promise((r,s)=>{n=r,e=s});return t.resolve=n,t.reject=e,t},ge=n=>n==null?"":""+n,it=(n,e,t)=>{n.forEach(r=>{e[r]&&(t[r]=e[r])})},nt=/###/g,pe=n=>n&&n.indexOf("###")>-1?n.replace(nt,"."):n,me=n=>!n||p(n),M=(n,e,t)=>{const r=p(e)?e.split("."):e;let s=0;for(;s<r.length-1;){if(me(n))return{};const i=pe(r[s]);!n[i]&&t&&(n[i]=new t),Object.prototype.hasOwnProperty.call(n,i)?n=n[i]:n={},++s}return me(n)?{}:{obj:n,k:pe(r[s])}},xe=(n,e,t)=>{const{obj:r,k:s}=M(n,e,Object);if(r!==void 0||e.length===1){r[s]=t;return}let i=e[e.length-1],a=e.slice(0,e.length-1),o=M(n,a,Object);for(;o.obj===void 0&&a.length;)i=`${a[a.length-1]}.${i}`,a=a.slice(0,a.length-1),o=M(n,a,Object),o?.obj&&typeof o.obj[`${o.k}.${i}`]<"u"&&(o.obj=void 0);o.obj[`${o.k}.${i}`]=t},at=(n,e,t,r)=>{const{obj:s,k:i}=M(n,e,Object);s[i]=s[i]||[],s[i].push(t)},Q=(n,e)=>{const{obj:t,k:r}=M(n,e);if(t&&Object.prototype.hasOwnProperty.call(t,r))return t[r]},ot=(n,e,t)=>{const r=Q(n,t);return r!==void 0?r:Q(e,t)},Pe=(n,e,t)=>{for(const r in e)r!=="__proto__"&&r!=="constructor"&&(r in n?p(n[r])||n[r]instanceof String||p(e[r])||e[r]instanceof String?t&&(n[r]=e[r]):Pe(n[r],e[r],t):n[r]=e[r]);return n},A=n=>n.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g,"\\$&");var lt={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;","/":"&#x2F;"};const ut=n=>p(n)?n.replace(/[&<>"'\/]/g,e=>lt[e]):n;class dt{constructor(e){this.capacity=e,this.regExpMap=new Map,this.regExpQueue=[]}getRegExp(e){const t=this.regExpMap.get(e);if(t!==void 0)return t;const r=new RegExp(e);return this.regExpQueue.length===this.capacity&&this.regExpMap.delete(this.regExpQueue.shift()),this.regExpMap.set(e,r),this.regExpQueue.push(e),r}}const ct=[" ",",","?","!",";"],ft=new dt(20),ht=(n,e,t)=>{e=e||"",t=t||"";const r=ct.filter(a=>e.indexOf(a)<0&&t.indexOf(a)<0);if(r.length===0)return!0;const s=ft.getRegExp(`(${r.map(a=>a==="?"?"\\?":a).join("|")})`);let i=!s.test(n);if(!i){const a=n.indexOf(t);a>0&&!s.test(n.substring(0,a))&&(i=!0)}return i},re=(n,e,t=".")=>{if(!n)return;if(n[e])return Object.prototype.hasOwnProperty.call(n,e)?n[e]:void 0;const r=e.split(t);let s=n;for(let i=0;i<r.length;){if(!s||typeof s!="object")return;let a,o="";for(let u=i;u<r.length;++u)if(u!==i&&(o+=t),o+=r[u],a=s[o],a!==void 0){if(["string","number","boolean"].indexOf(typeof a)>-1&&u<r.length-1)continue;i+=u-i+1;break}s=a}return s},z=n=>n?.replace("_","-"),gt={type:"logger",log(n){this.output("log",n)},warn(n){this.output("warn",n)},error(n){this.output("error",n)},output(n,e){console?.[n]?.apply?.(console,e)}};class Z{constructor(e,t={}){this.init(e,t)}init(e,t={}){this.prefix=t.prefix||"i18next:",this.logger=e||gt,this.options=t,this.debug=t.debug}log(...e){return this.forward(e,"log","",!0)}warn(...e){return this.forward(e,"warn","",!0)}error(...e){return this.forward(e,"error","")}deprecate(...e){return this.forward(e,"warn","WARNING DEPRECATED: ",!0)}forward(e,t,r,s){return s&&!this.debug?null:(p(e[0])&&(e[0]=`${r}${this.prefix} ${e[0]}`),this.logger[t](e))}create(e){return new Z(this.logger,{prefix:`${this.prefix}:${e}:`,...this.options})}clone(e){return e=e||this.options,e.prefix=e.prefix||this.prefix,new Z(this.logger,e)}}var E=new Z;class ee{constructor(){this.observers={}}on(e,t){return e.split(" ").forEach(r=>{this.observers[r]||(this.observers[r]=new Map);const s=this.observers[r].get(t)||0;this.observers[r].set(t,s+1)}),this}off(e,t){if(this.observers[e]){if(!t){delete this.observers[e];return}this.observers[e].delete(t)}}emit(e,...t){this.observers[e]&&Array.from(this.observers[e].entries()).forEach(([s,i])=>{for(let a=0;a<i;a++)s(...t)}),this.observers["*"]&&Array.from(this.observers["*"].entries()).forEach(([s,i])=>{for(let a=0;a<i;a++)s.apply(s,[e,...t])})}}class ye extends ee{constructor(e,t={ns:["translation"],defaultNS:"translation"}){super(),this.data=e||{},this.options=t,this.options.keySeparator===void 0&&(this.options.keySeparator="."),this.options.ignoreJSONStructure===void 0&&(this.options.ignoreJSONStructure=!0)}addNamespaces(e){this.options.ns.indexOf(e)<0&&this.options.ns.push(e)}removeNamespaces(e){const t=this.options.ns.indexOf(e);t>-1&&this.options.ns.splice(t,1)}getResource(e,t,r,s={}){const i=s.keySeparator!==void 0?s.keySeparator:this.options.keySeparator,a=s.ignoreJSONStructure!==void 0?s.ignoreJSONStructure:this.options.ignoreJSONStructure;let o;e.indexOf(".")>-1?o=e.split("."):(o=[e,t],r&&(Array.isArray(r)?o.push(...r):p(r)&&i?o.push(...r.split(i)):o.push(r)));const u=Q(this.data,o);return!u&&!t&&!r&&e.indexOf(".")>-1&&(e=o[0],t=o[1],r=o.slice(2).join(".")),u||!a||!p(r)?u:re(this.data?.[e]?.[t],r,i)}addResource(e,t,r,s,i={silent:!1}){const a=i.keySeparator!==void 0?i.keySeparator:this.options.keySeparator;let o=[e,t];r&&(o=o.concat(a?r.split(a):r)),e.indexOf(".")>-1&&(o=e.split("."),s=t,t=o[1]),this.addNamespaces(t),xe(this.data,o,s),i.silent||this.emit("added",e,t,r,s)}addResources(e,t,r,s={silent:!1}){for(const i in r)(p(r[i])||Array.isArray(r[i]))&&this.addResource(e,t,i,r[i],{silent:!0});s.silent||this.emit("added",e,t,r)}addResourceBundle(e,t,r,s,i,a={silent:!1,skipCopy:!1}){let o=[e,t];e.indexOf(".")>-1&&(o=e.split("."),s=r,r=t,t=o[1]),this.addNamespaces(t);let u=Q(this.data,o)||{};a.skipCopy||(r=JSON.parse(JSON.stringify(r))),s?Pe(u,r,i):u={...u,...r},xe(this.data,o,u),a.silent||this.emit("added",e,t,r)}removeResourceBundle(e,t){this.hasResourceBundle(e,t)&&delete this.data[e][t],this.removeNamespaces(t),this.emit("removed",e,t)}hasResourceBundle(e,t){return this.getResource(e,t)!==void 0}getResourceBundle(e,t){return t||(t=this.options.defaultNS),this.getResource(e,t)}getDataByLanguage(e){return this.data[e]}hasLanguageSomeTranslations(e){const t=this.getDataByLanguage(e);return!!(t&&Object.keys(t)||[]).find(s=>t[s]&&Object.keys(t[s]).length>0)}toJSON(){return this.data}}var Te={processors:{},addPostProcessor(n){this.processors[n.name]=n},handle(n,e,t,r,s){return n.forEach(i=>{e=this.processors[i]?.process(e,t,r,s)??e}),e}};const Ee=Symbol("i18next/PATH_KEY");function pt(){const n=[],e=Object.create(null);let t;return e.get=(r,s)=>(t?.revoke?.(),s===Ee?n:(n.push(s),t=Proxy.revocable(r,e),t.proxy)),Proxy.revocable(Object.create(null),e).proxy}function ie(n,e){const{[Ee]:t}=n(pt());return t.join(e?.keySeparator??".")}const be={},te=n=>!p(n)&&typeof n!="boolean"&&typeof n!="number";class q extends ee{constructor(e,t={}){super(),it(["resourceStore","languageUtils","pluralResolver","interpolator","backendConnector","i18nFormat","utils"],e,this),this.options=t,this.options.keySeparator===void 0&&(this.options.keySeparator="."),this.logger=E.create("translator")}changeLanguage(e){e&&(this.language=e)}exists(e,t={interpolation:{}}){const r={...t};if(e==null)return!1;const s=this.resolve(e,r);if(s?.res===void 0)return!1;const i=te(s.res);return!(r.returnObjects===!1&&i)}extractFromKey(e,t){let r=t.nsSeparator!==void 0?t.nsSeparator:this.options.nsSeparator;r===void 0&&(r=":");const s=t.keySeparator!==void 0?t.keySeparator:this.options.keySeparator;let i=t.ns||this.options.defaultNS||[];const a=r&&e.indexOf(r)>-1,o=!this.options.userDefinedKeySeparator&&!t.keySeparator&&!this.options.userDefinedNsSeparator&&!t.nsSeparator&&!ht(e,r,s);if(a&&!o){const u=e.match(this.interpolator.nestingRegexp);if(u&&u.length>0)return{key:e,namespaces:p(i)?[i]:i};const l=e.split(r);(r!==s||r===s&&this.options.ns.indexOf(l[0])>-1)&&(i=l.shift()),e=l.join(s)}return{key:e,namespaces:p(i)?[i]:i}}translate(e,t,r){let s=typeof t=="object"?{...t}:t;if(typeof s!="object"&&this.options.overloadTranslationOptionHandler&&(s=this.options.overloadTranslationOptionHandler(arguments)),typeof s=="object"&&(s={...s}),s||(s={}),e==null)return"";typeof e=="function"&&(e=ie(e,{...this.options,...s})),Array.isArray(e)||(e=[String(e)]);const i=s.returnDetails!==void 0?s.returnDetails:this.options.returnDetails,a=s.keySeparator!==void 0?s.keySeparator:this.options.keySeparator,{key:o,namespaces:u}=this.extractFromKey(e[e.length-1],s),l=u[u.length-1];let d=s.nsSeparator!==void 0?s.nsSeparator:this.options.nsSeparator;d===void 0&&(d=":");const c=s.lng||this.language,m=s.appendNamespaceToCIMode||this.options.appendNamespaceToCIMode;if(c?.toLowerCase()==="cimode")return m?i?{res:`${l}${d}${o}`,usedKey:o,exactUsedKey:o,usedLng:c,usedNS:l,usedParams:this.getUsedParamsDetails(s)}:`${l}${d}${o}`:i?{res:o,usedKey:o,exactUsedKey:o,usedLng:c,usedNS:l,usedParams:this.getUsedParamsDetails(s)}:o;const h=this.resolve(e,s);let g=h?.res;const b=h?.usedKey||o,S=h?.exactUsedKey||o,L=["[object Number]","[object Function]","[object RegExp]"],y=s.joinArrays!==void 0?s.joinArrays:this.options.joinArrays,v=!this.i18nFormat||this.i18nFormat.handleAsObject,x=s.count!==void 0&&!p(s.count),N=q.hasDefaultValue(s),k=x?this.pluralResolver.getSuffix(c,s.count,s):"",O=s.ordinal&&x?this.pluralResolver.getSuffix(c,s.count,{ordinal:!1}):"",ue=x&&!s.ordinal&&s.count===0,I=ue&&s[`defaultValue${this.options.pluralSeparator}zero`]||s[`defaultValue${k}`]||s[`defaultValue${O}`]||s.defaultValue;let C=g;v&&!g&&N&&(C=I);const Ke=te(C),Ae=Object.prototype.toString.apply(C);if(v&&C&&Ke&&L.indexOf(Ae)<0&&!(p(y)&&Array.isArray(C))){if(!s.returnObjects&&!this.options.returnObjects){this.options.returnedObjectHandler||this.logger.warn("accessing an object - but returnObjects options is not enabled!");const $=this.options.returnedObjectHandler?this.options.returnedObjectHandler(b,C,{...s,ns:u}):`key '${o} (${this.language})' returned an object instead of string.`;return i?(h.res=$,h.usedParams=this.getUsedParamsDetails(s),h):$}if(a){const $=Array.isArray(C),R=$?[]:{},de=$?S:b;for(const P in C)if(Object.prototype.hasOwnProperty.call(C,P)){const F=`${de}${a}${P}`;N&&!g?R[P]=this.translate(F,{...s,defaultValue:te(I)?I[P]:void 0,joinArrays:!1,ns:u}):R[P]=this.translate(F,{...s,joinArrays:!1,ns:u}),R[P]===F&&(R[P]=C[P])}g=R}}else if(v&&p(y)&&Array.isArray(g))g=g.join(y),g&&(g=this.extendTranslation(g,e,s,r));else{let $=!1,R=!1;!this.isValidLookup(g)&&N&&($=!0,g=I),this.isValidLookup(g)||(R=!0,g=o);const P=(s.missingKeyNoValueFallbackToKey||this.options.missingKeyNoValueFallbackToKey)&&R?void 0:g,F=N&&I!==g&&this.options.updateMissing;if(R||$||F){if(this.logger.log(F?"updateKey":"missingKey",c,l,o,F?I:g),a){const j=this.resolve(o,{...s,keySeparator:!1});j&&j.res&&this.logger.warn("Seems the loaded translations were in flat JSON format instead of nested. Either set keySeparator: false on init or make sure your translations are published in nested format.")}let U=[];const J=this.languageUtils.getFallbackCodes(this.options.fallbackLng,s.lng||this.language);if(this.options.saveMissingTo==="fallback"&&J&&J[0])for(let j=0;j<J.length;j++)U.push(J[j]);else this.options.saveMissingTo==="all"?U=this.languageUtils.toResolveHierarchy(s.lng||this.language):U.push(s.lng||this.language);const ce=(j,D,V)=>{const fe=N&&V!==g?V:P;this.options.missingKeyHandler?this.options.missingKeyHandler(j,l,D,fe,F,s):this.backendConnector?.saveMissing&&this.backendConnector.saveMissing(j,l,D,fe,F,s),this.emit("missingKey",j,l,D,g)};this.options.saveMissing&&(this.options.saveMissingPlurals&&x?U.forEach(j=>{const D=this.pluralResolver.getSuffixes(j,s);ue&&s[`defaultValue${this.options.pluralSeparator}zero`]&&D.indexOf(`${this.options.pluralSeparator}zero`)<0&&D.push(`${this.options.pluralSeparator}zero`),D.forEach(V=>{ce([j],o+V,s[`defaultValue${V}`]||I)})}):ce(U,o,I))}g=this.extendTranslation(g,e,s,h,r),R&&g===o&&this.options.appendNamespaceToMissingKey&&(g=`${l}${d}${o}`),(R||$)&&this.options.parseMissingKeyHandler&&(g=this.options.parseMissingKeyHandler(this.options.appendNamespaceToMissingKey?`${l}${d}${o}`:o,$?g:void 0,s))}return i?(h.res=g,h.usedParams=this.getUsedParamsDetails(s),h):g}extendTranslation(e,t,r,s,i){if(this.i18nFormat?.parse)e=this.i18nFormat.parse(e,{...this.options.interpolation.defaultVariables,...r},r.lng||this.language||s.usedLng,s.usedNS,s.usedKey,{resolved:s});else if(!r.skipInterpolation){r.interpolation&&this.interpolator.init({...r,interpolation:{...this.options.interpolation,...r.interpolation}});const u=p(e)&&(r?.interpolation?.skipOnVariables!==void 0?r.interpolation.skipOnVariables:this.options.interpolation.skipOnVariables);let l;if(u){const c=e.match(this.interpolator.nestingRegexp);l=c&&c.length}let d=r.replace&&!p(r.replace)?r.replace:r;if(this.options.interpolation.defaultVariables&&(d={...this.options.interpolation.defaultVariables,...d}),e=this.interpolator.interpolate(e,d,r.lng||this.language||s.usedLng,r),u){const c=e.match(this.interpolator.nestingRegexp),m=c&&c.length;l<m&&(r.nest=!1)}!r.lng&&s&&s.res&&(r.lng=this.language||s.usedLng),r.nest!==!1&&(e=this.interpolator.nest(e,(...c)=>i?.[0]===c[0]&&!r.context?(this.logger.warn(`It seems you are nesting recursively key: ${c[0]} in key: ${t[0]}`),null):this.translate(...c,t),r)),r.interpolation&&this.interpolator.reset()}const a=r.postProcess||this.options.postProcess,o=p(a)?[a]:a;return e!=null&&o?.length&&r.applyPostProcessor!==!1&&(e=Te.handle(o,e,t,this.options&&this.options.postProcessPassResolved?{i18nResolved:{...s,usedParams:this.getUsedParamsDetails(r)},...r}:r,this)),e}resolve(e,t={}){let r,s,i,a,o;return p(e)&&(e=[e]),e.forEach(u=>{if(this.isValidLookup(r))return;const l=this.extractFromKey(u,t),d=l.key;s=d;let c=l.namespaces;this.options.fallbackNS&&(c=c.concat(this.options.fallbackNS));const m=t.count!==void 0&&!p(t.count),h=m&&!t.ordinal&&t.count===0,g=t.context!==void 0&&(p(t.context)||typeof t.context=="number")&&t.context!=="",b=t.lngs?t.lngs:this.languageUtils.toResolveHierarchy(t.lng||this.language,t.fallbackLng);c.forEach(S=>{this.isValidLookup(r)||(o=S,!be[`${b[0]}-${S}`]&&this.utils?.hasLoadedNamespace&&!this.utils?.hasLoadedNamespace(o)&&(be[`${b[0]}-${S}`]=!0,this.logger.warn(`key "${s}" for languages "${b.join(", ")}" won't get resolved as namespace "${o}" was not yet loaded`,"This means something IS WRONG in your setup. You access the t function before i18next.init / i18next.loadNamespace / i18next.changeLanguage was done. Wait for the callback or Promise to resolve before accessing it!!!")),b.forEach(L=>{if(this.isValidLookup(r))return;a=L;const y=[d];if(this.i18nFormat?.addLookupKeys)this.i18nFormat.addLookupKeys(y,d,L,S,t);else{let x;m&&(x=this.pluralResolver.getSuffix(L,t.count,t));const N=`${this.options.pluralSeparator}zero`,k=`${this.options.pluralSeparator}ordinal${this.options.pluralSeparator}`;if(m&&(t.ordinal&&x.indexOf(k)===0&&y.push(d+x.replace(k,this.options.pluralSeparator)),y.push(d+x),h&&y.push(d+N)),g){const O=`${d}${this.options.contextSeparator||"_"}${t.context}`;y.push(O),m&&(t.ordinal&&x.indexOf(k)===0&&y.push(O+x.replace(k,this.options.pluralSeparator)),y.push(O+x),h&&y.push(O+N))}}let v;for(;v=y.pop();)this.isValidLookup(r)||(i=v,r=this.getResource(L,S,v,t))}))})}),{res:r,usedKey:s,exactUsedKey:i,usedLng:a,usedNS:o}}isValidLookup(e){return e!==void 0&&!(!this.options.returnNull&&e===null)&&!(!this.options.returnEmptyString&&e==="")}getResource(e,t,r,s={}){return this.i18nFormat?.getResource?this.i18nFormat.getResource(e,t,r,s):this.resourceStore.getResource(e,t,r,s)}getUsedParamsDetails(e={}){const t=["defaultValue","ordinal","context","replace","lng","lngs","fallbackLng","ns","keySeparator","nsSeparator","returnObjects","returnDetails","joinArrays","postProcess","interpolation"],r=e.replace&&!p(e.replace);let s=r?e.replace:e;if(r&&typeof e.count<"u"&&(s.count=e.count),this.options.interpolation.defaultVariables&&(s={...this.options.interpolation.defaultVariables,...s}),!r){s={...s};for(const i of t)delete s[i]}return s}static hasDefaultValue(e){const t="defaultValue";for(const r in e)if(Object.prototype.hasOwnProperty.call(e,r)&&t===r.substring(0,t.length)&&e[r]!==void 0)return!0;return!1}}class Se{constructor(e){this.options=e,this.supportedLngs=this.options.supportedLngs||!1,this.logger=E.create("languageUtils")}getScriptPartFromCode(e){if(e=z(e),!e||e.indexOf("-")<0)return null;const t=e.split("-");return t.length===2||(t.pop(),t[t.length-1].toLowerCase()==="x")?null:this.formatLanguageCode(t.join("-"))}getLanguagePartFromCode(e){if(e=z(e),!e||e.indexOf("-")<0)return e;const t=e.split("-");return this.formatLanguageCode(t[0])}formatLanguageCode(e){if(p(e)&&e.indexOf("-")>-1){let t;try{t=Intl.getCanonicalLocales(e)[0]}catch{}return t&&this.options.lowerCaseLng&&(t=t.toLowerCase()),t||(this.options.lowerCaseLng?e.toLowerCase():e)}return this.options.cleanCode||this.options.lowerCaseLng?e.toLowerCase():e}isSupportedCode(e){return(this.options.load==="languageOnly"||this.options.nonExplicitSupportedLngs)&&(e=this.getLanguagePartFromCode(e)),!this.supportedLngs||!this.supportedLngs.length||this.supportedLngs.indexOf(e)>-1}getBestMatchFromCodes(e){if(!e)return null;let t;return e.forEach(r=>{if(t)return;const s=this.formatLanguageCode(r);(!this.options.supportedLngs||this.isSupportedCode(s))&&(t=s)}),!t&&this.options.supportedLngs&&e.forEach(r=>{if(t)return;const s=this.getScriptPartFromCode(r);if(this.isSupportedCode(s))return t=s;const i=this.getLanguagePartFromCode(r);if(this.isSupportedCode(i))return t=i;t=this.options.supportedLngs.find(a=>{if(a===i)return a;if(!(a.indexOf("-")<0&&i.indexOf("-")<0)&&(a.indexOf("-")>0&&i.indexOf("-")<0&&a.substring(0,a.indexOf("-"))===i||a.indexOf(i)===0&&i.length>1))return a})}),t||(t=this.getFallbackCodes(this.options.fallbackLng)[0]),t}getFallbackCodes(e,t){if(!e)return[];if(typeof e=="function"&&(e=e(t)),p(e)&&(e=[e]),Array.isArray(e))return e;if(!t)return e.default||[];let r=e[t];return r||(r=e[this.getScriptPartFromCode(t)]),r||(r=e[this.formatLanguageCode(t)]),r||(r=e[this.getLanguagePartFromCode(t)]),r||(r=e.default),r||[]}toResolveHierarchy(e,t){const r=this.getFallbackCodes((t===!1?[]:t)||this.options.fallbackLng||[],e),s=[],i=a=>{a&&(this.isSupportedCode(a)?s.push(a):this.logger.warn(`rejecting language code not found in supportedLngs: ${a}`))};return p(e)&&(e.indexOf("-")>-1||e.indexOf("_")>-1)?(this.options.load!=="languageOnly"&&i(this.formatLanguageCode(e)),this.options.load!=="languageOnly"&&this.options.load!=="currentOnly"&&i(this.getScriptPartFromCode(e)),this.options.load!=="currentOnly"&&i(this.getLanguagePartFromCode(e))):p(e)&&i(this.formatLanguageCode(e)),r.forEach(a=>{s.indexOf(a)<0&&i(this.formatLanguageCode(a))}),s}}const Ne={zero:0,one:1,two:2,few:3,many:4,other:5},ke={select:n=>n===1?"one":"other",resolvedOptions:()=>({pluralCategories:["one","other"]})};class mt{constructor(e,t={}){this.languageUtils=e,this.options=t,this.logger=E.create("pluralResolver"),this.pluralRulesCache={}}addRule(e,t){this.rules[e]=t}clearCache(){this.pluralRulesCache={}}getRule(e,t={}){const r=z(e==="dev"?"en":e),s=t.ordinal?"ordinal":"cardinal",i=JSON.stringify({cleanedCode:r,type:s});if(i in this.pluralRulesCache)return this.pluralRulesCache[i];let a;try{a=new Intl.PluralRules(r,{type:s})}catch{if(!Intl)return this.logger.error("No Intl support, please use an Intl polyfill!"),ke;if(!e.match(/-|_/))return ke;const u=this.languageUtils.getLanguagePartFromCode(e);a=this.getRule(u,t)}return this.pluralRulesCache[i]=a,a}needsPlural(e,t={}){let r=this.getRule(e,t);return r||(r=this.getRule("dev",t)),r?.resolvedOptions().pluralCategories.length>1}getPluralFormsOfKey(e,t,r={}){return this.getSuffixes(e,r).map(s=>`${t}${s}`)}getSuffixes(e,t={}){let r=this.getRule(e,t);return r||(r=this.getRule("dev",t)),r?r.resolvedOptions().pluralCategories.sort((s,i)=>Ne[s]-Ne[i]).map(s=>`${this.options.prepend}${t.ordinal?`ordinal${this.options.prepend}`:""}${s}`):[]}getSuffix(e,t,r={}){const s=this.getRule(e,r);return s?`${this.options.prepend}${r.ordinal?`ordinal${this.options.prepend}`:""}${s.select(t)}`:(this.logger.warn(`no plural rule found for: ${e}`),this.getSuffix("dev",t,r))}}const Oe=(n,e,t,r=".",s=!0)=>{let i=ot(n,e,t);return!i&&s&&p(t)&&(i=re(n,t,r),i===void 0&&(i=re(e,t,r))),i},se=n=>n.replace(/\$/g,"$$$$");class xt{constructor(e={}){this.logger=E.create("interpolator"),this.options=e,this.format=e?.interpolation?.format||(t=>t),this.init(e)}init(e={}){e.interpolation||(e.interpolation={escapeValue:!0});const{escape:t,escapeValue:r,useRawValueToEscape:s,prefix:i,prefixEscaped:a,suffix:o,suffixEscaped:u,formatSeparator:l,unescapeSuffix:d,unescapePrefix:c,nestingPrefix:m,nestingPrefixEscaped:h,nestingSuffix:g,nestingSuffixEscaped:b,nestingOptionsSeparator:S,maxReplaces:L,alwaysFormat:y}=e.interpolation;this.escape=t!==void 0?t:ut,this.escapeValue=r!==void 0?r:!0,this.useRawValueToEscape=s!==void 0?s:!1,this.prefix=i?A(i):a||"{{",this.suffix=o?A(o):u||"}}",this.formatSeparator=l||",",this.unescapePrefix=d?"":c||"-",this.unescapeSuffix=this.unescapePrefix?"":d||"",this.nestingPrefix=m?A(m):h||A("$t("),this.nestingSuffix=g?A(g):b||A(")"),this.nestingOptionsSeparator=S||",",this.maxReplaces=L||1e3,this.alwaysFormat=y!==void 0?y:!1,this.resetRegExp()}reset(){this.options&&this.init(this.options)}resetRegExp(){const e=(t,r)=>t?.source===r?(t.lastIndex=0,t):new RegExp(r,"g");this.regexp=e(this.regexp,`${this.prefix}(.+?)${this.suffix}`),this.regexpUnescape=e(this.regexpUnescape,`${this.prefix}${this.unescapePrefix}(.+?)${this.unescapeSuffix}${this.suffix}`),this.nestingRegexp=e(this.nestingRegexp,`${this.nestingPrefix}((?:[^()"']+|"[^"]*"|'[^']*'|\\((?:[^()]|"[^"]*"|'[^']*')*\\))*?)${this.nestingSuffix}`)}interpolate(e,t,r,s){let i,a,o;const u=this.options&&this.options.interpolation&&this.options.interpolation.defaultVariables||{},l=h=>{if(h.indexOf(this.formatSeparator)<0){const L=Oe(t,u,h,this.options.keySeparator,this.options.ignoreJSONStructure);return this.alwaysFormat?this.format(L,void 0,r,{...s,...t,interpolationkey:h}):L}const g=h.split(this.formatSeparator),b=g.shift().trim(),S=g.join(this.formatSeparator).trim();return this.format(Oe(t,u,b,this.options.keySeparator,this.options.ignoreJSONStructure),S,r,{...s,...t,interpolationkey:b})};this.resetRegExp();const d=s?.missingInterpolationHandler||this.options.missingInterpolationHandler,c=s?.interpolation?.skipOnVariables!==void 0?s.interpolation.skipOnVariables:this.options.interpolation.skipOnVariables;return[{regex:this.regexpUnescape,safeValue:h=>se(h)},{regex:this.regexp,safeValue:h=>this.escapeValue?se(this.escape(h)):se(h)}].forEach(h=>{for(o=0;i=h.regex.exec(e);){const g=i[1].trim();if(a=l(g),a===void 0)if(typeof d=="function"){const S=d(e,i,s);a=p(S)?S:""}else if(s&&Object.prototype.hasOwnProperty.call(s,g))a="";else if(c){a=i[0];continue}else this.logger.warn(`missed to pass in variable ${g} for interpolating ${e}`),a="";else!p(a)&&!this.useRawValueToEscape&&(a=ge(a));const b=h.safeValue(a);if(e=e.replace(i[0],b),c?(h.regex.lastIndex+=a.length,h.regex.lastIndex-=i[0].length):h.regex.lastIndex=0,o++,o>=this.maxReplaces)break}}),e}nest(e,t,r={}){let s,i,a;const o=(u,l)=>{const d=this.nestingOptionsSeparator;if(u.indexOf(d)<0)return u;const c=u.split(new RegExp(`${d}[ ]*{`));let m=`{${c[1]}`;u=c[0],m=this.interpolate(m,a);const h=m.match(/'/g),g=m.match(/"/g);((h?.length??0)%2===0&&!g||g.length%2!==0)&&(m=m.replace(/'/g,'"'));try{a=JSON.parse(m),l&&(a={...l,...a})}catch(b){return this.logger.warn(`failed parsing options string in nesting for key ${u}`,b),`${u}${d}${m}`}return a.defaultValue&&a.defaultValue.indexOf(this.prefix)>-1&&delete a.defaultValue,u};for(;s=this.nestingRegexp.exec(e);){let u=[];a={...r},a=a.replace&&!p(a.replace)?a.replace:a,a.applyPostProcessor=!1,delete a.defaultValue;const l=/{.*}/.test(s[1])?s[1].lastIndexOf("}")+1:s[1].indexOf(this.formatSeparator);if(l!==-1&&(u=s[1].slice(l).split(this.formatSeparator).map(d=>d.trim()).filter(Boolean),s[1]=s[1].slice(0,l)),i=t(o.call(this,s[1].trim(),a),a),i&&s[0]===e&&!p(i))return i;p(i)||(i=ge(i)),i||(this.logger.warn(`missed to resolve ${s[1]} for nesting ${e}`),i=""),u.length&&(i=u.reduce((d,c)=>this.format(d,c,r.lng,{...r,interpolationkey:s[1].trim()}),i.trim())),e=e.replace(s[0],i),this.regexp.lastIndex=0}return e}}const yt=n=>{let e=n.toLowerCase().trim();const t={};if(n.indexOf("(")>-1){const r=n.split("(");e=r[0].toLowerCase().trim();const s=r[1].substring(0,r[1].length-1);e==="currency"&&s.indexOf(":")<0?t.currency||(t.currency=s.trim()):e==="relativetime"&&s.indexOf(":")<0?t.range||(t.range=s.trim()):s.split(";").forEach(a=>{if(a){const[o,...u]=a.split(":"),l=u.join(":").trim().replace(/^'+|'+$/g,""),d=o.trim();t[d]||(t[d]=l),l==="false"&&(t[d]=!1),l==="true"&&(t[d]=!0),isNaN(l)||(t[d]=parseInt(l,10))}})}return{formatName:e,formatOptions:t}},we=n=>{const e={};return(t,r,s)=>{let i=s;s&&s.interpolationkey&&s.formatParams&&s.formatParams[s.interpolationkey]&&s[s.interpolationkey]&&(i={...i,[s.interpolationkey]:void 0});const a=r+JSON.stringify(i);let o=e[a];return o||(o=n(z(r),s),e[a]=o),o(t)}},bt=n=>(e,t,r)=>n(z(t),r)(e);class St{constructor(e={}){this.logger=E.create("formatter"),this.options=e,this.init(e)}init(e,t={interpolation:{}}){this.formatSeparator=t.interpolation.formatSeparator||",";const r=t.cacheInBuiltFormats?we:bt;this.formats={number:r((s,i)=>{const a=new Intl.NumberFormat(s,{...i});return o=>a.format(o)}),currency:r((s,i)=>{const a=new Intl.NumberFormat(s,{...i,style:"currency"});return o=>a.format(o)}),datetime:r((s,i)=>{const a=new Intl.DateTimeFormat(s,{...i});return o=>a.format(o)}),relativetime:r((s,i)=>{const a=new Intl.RelativeTimeFormat(s,{...i});return o=>a.format(o,i.range||"day")}),list:r((s,i)=>{const a=new Intl.ListFormat(s,{...i});return o=>a.format(o)})}}add(e,t){this.formats[e.toLowerCase().trim()]=t}addCached(e,t){this.formats[e.toLowerCase().trim()]=we(t)}format(e,t,r,s={}){const i=t.split(this.formatSeparator);if(i.length>1&&i[0].indexOf("(")>1&&i[0].indexOf(")")<0&&i.find(o=>o.indexOf(")")>-1)){const o=i.findIndex(u=>u.indexOf(")")>-1);i[0]=[i[0],...i.splice(1,o)].join(this.formatSeparator)}return i.reduce((o,u)=>{const{formatName:l,formatOptions:d}=yt(u);if(this.formats[l]){let c=o;try{const m=s?.formatParams?.[s.interpolationkey]||{},h=m.locale||m.lng||s.locale||s.lng||r;c=this.formats[l](o,h,{...d,...s,...m})}catch(m){this.logger.warn(m)}return c}else this.logger.warn(`there was no format function for ${l}`);return o},e)}}const Nt=(n,e)=>{n.pending[e]!==void 0&&(delete n.pending[e],n.pendingCount--)};class kt extends ee{constructor(e,t,r,s={}){super(),this.backend=e,this.store=t,this.services=r,this.languageUtils=r.languageUtils,this.options=s,this.logger=E.create("backendConnector"),this.waitingReads=[],this.maxParallelReads=s.maxParallelReads||10,this.readingCalls=0,this.maxRetries=s.maxRetries>=0?s.maxRetries:5,this.retryTimeout=s.retryTimeout>=1?s.retryTimeout:350,this.state={},this.queue=[],this.backend?.init?.(r,s.backend,s)}queueLoad(e,t,r,s){const i={},a={},o={},u={};return e.forEach(l=>{let d=!0;t.forEach(c=>{const m=`${l}|${c}`;!r.reload&&this.store.hasResourceBundle(l,c)?this.state[m]=2:this.state[m]<0||(this.state[m]===1?a[m]===void 0&&(a[m]=!0):(this.state[m]=1,d=!1,a[m]===void 0&&(a[m]=!0),i[m]===void 0&&(i[m]=!0),u[c]===void 0&&(u[c]=!0)))}),d||(o[l]=!0)}),(Object.keys(i).length||Object.keys(a).length)&&this.queue.push({pending:a,pendingCount:Object.keys(a).length,loaded:{},errors:[],callback:s}),{toLoad:Object.keys(i),pending:Object.keys(a),toLoadLanguages:Object.keys(o),toLoadNamespaces:Object.keys(u)}}loaded(e,t,r){const s=e.split("|"),i=s[0],a=s[1];t&&this.emit("failedLoading",i,a,t),!t&&r&&this.store.addResourceBundle(i,a,r,void 0,void 0,{skipCopy:!0}),this.state[e]=t?-1:2,t&&r&&(this.state[e]=0);const o={};this.queue.forEach(u=>{at(u.loaded,[i],a),Nt(u,e),t&&u.errors.push(t),u.pendingCount===0&&!u.done&&(Object.keys(u.loaded).forEach(l=>{o[l]||(o[l]={});const d=u.loaded[l];d.length&&d.forEach(c=>{o[l][c]===void 0&&(o[l][c]=!0)})}),u.done=!0,u.errors.length?u.callback(u.errors):u.callback())}),this.emit("loaded",o),this.queue=this.queue.filter(u=>!u.done)}read(e,t,r,s=0,i=this.retryTimeout,a){if(!e.length)return a(null,{});if(this.readingCalls>=this.maxParallelReads){this.waitingReads.push({lng:e,ns:t,fcName:r,tried:s,wait:i,callback:a});return}this.readingCalls++;const o=(l,d)=>{if(this.readingCalls--,this.waitingReads.length>0){const c=this.waitingReads.shift();this.read(c.lng,c.ns,c.fcName,c.tried,c.wait,c.callback)}if(l&&d&&s<this.maxRetries){setTimeout(()=>{this.read.call(this,e,t,r,s+1,i*2,a)},i);return}a(l,d)},u=this.backend[r].bind(this.backend);if(u.length===2){try{const l=u(e,t);l&&typeof l.then=="function"?l.then(d=>o(null,d)).catch(o):o(null,l)}catch(l){o(l)}return}return u(e,t,o)}prepareLoading(e,t,r={},s){if(!this.backend)return this.logger.warn("No backend was added via i18next.use. Will not load resources."),s&&s();p(e)&&(e=this.languageUtils.toResolveHierarchy(e)),p(t)&&(t=[t]);const i=this.queueLoad(e,t,r,s);if(!i.toLoad.length)return i.pending.length||s(),null;i.toLoad.forEach(a=>{this.loadOne(a)})}load(e,t,r){this.prepareLoading(e,t,{},r)}reload(e,t,r){this.prepareLoading(e,t,{reload:!0},r)}loadOne(e,t=""){const r=e.split("|"),s=r[0],i=r[1];this.read(s,i,"read",void 0,void 0,(a,o)=>{a&&this.logger.warn(`${t}loading namespace ${i} for language ${s} failed`,a),!a&&o&&this.logger.log(`${t}loaded namespace ${i} for language ${s}`,o),this.loaded(e,a,o)})}saveMissing(e,t,r,s,i,a={},o=()=>{}){if(this.services?.utils?.hasLoadedNamespace&&!this.services?.utils?.hasLoadedNamespace(t)){this.logger.warn(`did not save key "${r}" as the namespace "${t}" was not yet loaded`,"This means something IS WRONG in your setup. You access the t function before i18next.init / i18next.loadNamespace / i18next.changeLanguage was done. Wait for the callback or Promise to resolve before accessing it!!!");return}if(!(r==null||r==="")){if(this.backend?.create){const u={...a,isUpdate:i},l=this.backend.create.bind(this.backend);if(l.length<6)try{let d;l.length===5?d=l(e,t,r,s,u):d=l(e,t,r,s),d&&typeof d.then=="function"?d.then(c=>o(null,c)).catch(o):o(null,d)}catch(d){o(d)}else l(e,t,r,s,o,u)}!e||!e[0]||this.store.addResource(e[0],t,r,s)}}}const Le=()=>({debug:!1,initAsync:!0,ns:["translation"],defaultNS:["translation"],fallbackLng:["dev"],fallbackNS:!1,supportedLngs:!1,nonExplicitSupportedLngs:!1,load:"all",preload:!1,simplifyPluralSuffix:!0,keySeparator:".",nsSeparator:":",pluralSeparator:"_",contextSeparator:"_",partialBundledLanguages:!1,saveMissing:!1,updateMissing:!1,saveMissingTo:"fallback",saveMissingPlurals:!0,missingKeyHandler:!1,missingInterpolationHandler:!1,postProcess:!1,postProcessPassResolved:!1,returnNull:!1,returnEmptyString:!0,returnObjects:!1,joinArrays:!1,returnedObjectHandler:!1,parseMissingKeyHandler:!1,appendNamespaceToMissingKey:!1,appendNamespaceToCIMode:!1,overloadTranslationOptionHandler:n=>{let e={};if(typeof n[1]=="object"&&(e=n[1]),p(n[1])&&(e.defaultValue=n[1]),p(n[2])&&(e.tDescription=n[2]),typeof n[2]=="object"||typeof n[3]=="object"){const t=n[3]||n[2];Object.keys(t).forEach(r=>{e[r]=t[r]})}return e},interpolation:{escapeValue:!0,format:n=>n,prefix:"{{",suffix:"}}",formatSeparator:",",unescapePrefix:"-",nestingPrefix:"$t(",nestingSuffix:")",nestingOptionsSeparator:",",maxReplaces:1e3,skipOnVariables:!0},cacheInBuiltFormats:!0}),ve=n=>(p(n.ns)&&(n.ns=[n.ns]),p(n.fallbackLng)&&(n.fallbackLng=[n.fallbackLng]),p(n.fallbackNS)&&(n.fallbackNS=[n.fallbackNS]),n.supportedLngs?.indexOf?.("cimode")<0&&(n.supportedLngs=n.supportedLngs.concat(["cimode"])),typeof n.initImmediate=="boolean"&&(n.initAsync=n.initImmediate),n),G=()=>{},Ot=n=>{Object.getOwnPropertyNames(Object.getPrototypeOf(n)).forEach(t=>{typeof n[t]=="function"&&(n[t]=n[t].bind(n))})};class _ extends ee{constructor(e={},t){if(super(),this.options=ve(e),this.services={},this.logger=E,this.modules={external:[]},Ot(this),t&&!this.isInitialized&&!e.isClone){if(!this.options.initAsync)return this.init(e,t),this;setTimeout(()=>{this.init(e,t)},0)}}init(e={},t){this.isInitializing=!0,typeof e=="function"&&(t=e,e={}),e.defaultNS==null&&e.ns&&(p(e.ns)?e.defaultNS=e.ns:e.ns.indexOf("translation")<0&&(e.defaultNS=e.ns[0]));const r=Le();this.options={...r,...this.options,...ve(e)},this.options.interpolation={...r.interpolation,...this.options.interpolation},e.keySeparator!==void 0&&(this.options.userDefinedKeySeparator=e.keySeparator),e.nsSeparator!==void 0&&(this.options.userDefinedNsSeparator=e.nsSeparator);const s=l=>l?typeof l=="function"?new l:l:null;if(!this.options.isClone){this.modules.logger?E.init(s(this.modules.logger),this.options):E.init(null,this.options);let l;this.modules.formatter?l=this.modules.formatter:l=St;const d=new Se(this.options);this.store=new ye(this.options.resources,this.options);const c=this.services;c.logger=E,c.resourceStore=this.store,c.languageUtils=d,c.pluralResolver=new mt(d,{prepend:this.options.pluralSeparator,simplifyPluralSuffix:this.options.simplifyPluralSuffix}),this.options.interpolation.format&&this.options.interpolation.format!==r.interpolation.format&&this.logger.deprecate("init: you are still using the legacy format function, please use the new approach: https://www.i18next.com/translation-function/formatting"),l&&(!this.options.interpolation.format||this.options.interpolation.format===r.interpolation.format)&&(c.formatter=s(l),c.formatter.init&&c.formatter.init(c,this.options),this.options.interpolation.format=c.formatter.format.bind(c.formatter)),c.interpolator=new xt(this.options),c.utils={hasLoadedNamespace:this.hasLoadedNamespace.bind(this)},c.backendConnector=new kt(s(this.modules.backend),c.resourceStore,c,this.options),c.backendConnector.on("*",(h,...g)=>{this.emit(h,...g)}),this.modules.languageDetector&&(c.languageDetector=s(this.modules.languageDetector),c.languageDetector.init&&c.languageDetector.init(c,this.options.detection,this.options)),this.modules.i18nFormat&&(c.i18nFormat=s(this.modules.i18nFormat),c.i18nFormat.init&&c.i18nFormat.init(this)),this.translator=new q(this.services,this.options),this.translator.on("*",(h,...g)=>{this.emit(h,...g)}),this.modules.external.forEach(h=>{h.init&&h.init(this)})}if(this.format=this.options.interpolation.format,t||(t=G),this.options.fallbackLng&&!this.services.languageDetector&&!this.options.lng){const l=this.services.languageUtils.getFallbackCodes(this.options.fallbackLng);l.length>0&&l[0]!=="dev"&&(this.options.lng=l[0])}!this.services.languageDetector&&!this.options.lng&&this.logger.warn("init: no languageDetector is used and no lng is defined"),["getResource","hasResourceBundle","getResourceBundle","getDataByLanguage"].forEach(l=>{this[l]=(...d)=>this.store[l](...d)}),["addResource","addResources","addResourceBundle","removeResourceBundle"].forEach(l=>{this[l]=(...d)=>(this.store[l](...d),this)});const o=B(),u=()=>{const l=(d,c)=>{this.isInitializing=!1,this.isInitialized&&!this.initializedStoreOnce&&this.logger.warn("init: i18next is already initialized. You should call init just once!"),this.isInitialized=!0,this.options.isClone||this.logger.log("initialized",this.options),this.emit("initialized",this.options),o.resolve(c),t(d,c)};if(this.languages&&!this.isInitialized)return l(null,this.t.bind(this));this.changeLanguage(this.options.lng,l)};return this.options.resources||!this.options.initAsync?u():setTimeout(u,0),o}loadResources(e,t=G){let r=t;const s=p(e)?e:this.language;if(typeof e=="function"&&(r=e),!this.options.resources||this.options.partialBundledLanguages){if(s?.toLowerCase()==="cimode"&&(!this.options.preload||this.options.preload.length===0))return r();const i=[],a=o=>{if(!o||o==="cimode")return;this.services.languageUtils.toResolveHierarchy(o).forEach(l=>{l!=="cimode"&&i.indexOf(l)<0&&i.push(l)})};s?a(s):this.services.languageUtils.getFallbackCodes(this.options.fallbackLng).forEach(u=>a(u)),this.options.preload?.forEach?.(o=>a(o)),this.services.backendConnector.load(i,this.options.ns,o=>{!o&&!this.resolvedLanguage&&this.language&&this.setResolvedLanguage(this.language),r(o)})}else r(null)}reloadResources(e,t,r){const s=B();return typeof e=="function"&&(r=e,e=void 0),typeof t=="function"&&(r=t,t=void 0),e||(e=this.languages),t||(t=this.options.ns),r||(r=G),this.services.backendConnector.reload(e,t,i=>{s.resolve(),r(i)}),s}use(e){if(!e)throw new Error("You are passing an undefined module! Please check the object you are passing to i18next.use()");if(!e.type)throw new Error("You are passing a wrong module! Please check the object you are passing to i18next.use()");return e.type==="backend"&&(this.modules.backend=e),(e.type==="logger"||e.log&&e.warn&&e.error)&&(this.modules.logger=e),e.type==="languageDetector"&&(this.modules.languageDetector=e),e.type==="i18nFormat"&&(this.modules.i18nFormat=e),e.type==="postProcessor"&&Te.addPostProcessor(e),e.type==="formatter"&&(this.modules.formatter=e),e.type==="3rdParty"&&this.modules.external.push(e),this}setResolvedLanguage(e){if(!(!e||!this.languages)&&!(["cimode","dev"].indexOf(e)>-1)){for(let t=0;t<this.languages.length;t++){const r=this.languages[t];if(!(["cimode","dev"].indexOf(r)>-1)&&this.store.hasLanguageSomeTranslations(r)){this.resolvedLanguage=r;break}}!this.resolvedLanguage&&this.languages.indexOf(e)<0&&this.store.hasLanguageSomeTranslations(e)&&(this.resolvedLanguage=e,this.languages.unshift(e))}}changeLanguage(e,t){this.isLanguageChangingTo=e;const r=B();this.emit("languageChanging",e);const s=o=>{this.language=o,this.languages=this.services.languageUtils.toResolveHierarchy(o),this.resolvedLanguage=void 0,this.setResolvedLanguage(o)},i=(o,u)=>{u?this.isLanguageChangingTo===e&&(s(u),this.translator.changeLanguage(u),this.isLanguageChangingTo=void 0,this.emit("languageChanged",u),this.logger.log("languageChanged",u)):this.isLanguageChangingTo=void 0,r.resolve((...l)=>this.t(...l)),t&&t(o,(...l)=>this.t(...l))},a=o=>{!e&&!o&&this.services.languageDetector&&(o=[]);const u=p(o)?o:o&&o[0],l=this.store.hasLanguageSomeTranslations(u)?u:this.services.languageUtils.getBestMatchFromCodes(p(o)?[o]:o);l&&(this.language||s(l),this.translator.language||this.translator.changeLanguage(l),this.services.languageDetector?.cacheUserLanguage?.(l)),this.loadResources(l,d=>{i(d,l)})};return!e&&this.services.languageDetector&&!this.services.languageDetector.async?a(this.services.languageDetector.detect()):!e&&this.services.languageDetector&&this.services.languageDetector.async?this.services.languageDetector.detect.length===0?this.services.languageDetector.detect().then(a):this.services.languageDetector.detect(a):a(e),r}getFixedT(e,t,r){const s=(i,a,...o)=>{let u;typeof a!="object"?u=this.options.overloadTranslationOptionHandler([i,a].concat(o)):u={...a},u.lng=u.lng||s.lng,u.lngs=u.lngs||s.lngs,u.ns=u.ns||s.ns,u.keyPrefix!==""&&(u.keyPrefix=u.keyPrefix||r||s.keyPrefix);const l=this.options.keySeparator||".";let d;return u.keyPrefix&&Array.isArray(i)?d=i.map(c=>(typeof c=="function"&&(c=ie(c,{...this.options,...a})),`${u.keyPrefix}${l}${c}`)):(typeof i=="function"&&(i=ie(i,{...this.options,...a})),d=u.keyPrefix?`${u.keyPrefix}${l}${i}`:i),this.t(d,u)};return p(e)?s.lng=e:s.lngs=e,s.ns=t,s.keyPrefix=r,s}t(...e){return this.translator?.translate(...e)}exists(...e){return this.translator?.exists(...e)}setDefaultNamespace(e){this.options.defaultNS=e}hasLoadedNamespace(e,t={}){if(!this.isInitialized)return this.logger.warn("hasLoadedNamespace: i18next was not initialized",this.languages),!1;if(!this.languages||!this.languages.length)return this.logger.warn("hasLoadedNamespace: i18n.languages were undefined or empty",this.languages),!1;const r=t.lng||this.resolvedLanguage||this.languages[0],s=this.options?this.options.fallbackLng:!1,i=this.languages[this.languages.length-1];if(r.toLowerCase()==="cimode")return!0;const a=(o,u)=>{const l=this.services.backendConnector.state[`${o}|${u}`];return l===-1||l===0||l===2};if(t.precheck){const o=t.precheck(this,a);if(o!==void 0)return o}return!!(this.hasResourceBundle(r,e)||!this.services.backendConnector.backend||this.options.resources&&!this.options.partialBundledLanguages||a(r,e)&&(!s||a(i,e)))}loadNamespaces(e,t){const r=B();return this.options.ns?(p(e)&&(e=[e]),e.forEach(s=>{this.options.ns.indexOf(s)<0&&this.options.ns.push(s)}),this.loadResources(s=>{r.resolve(),t&&t(s)}),r):(t&&t(),Promise.resolve())}loadLanguages(e,t){const r=B();p(e)&&(e=[e]);const s=this.options.preload||[],i=e.filter(a=>s.indexOf(a)<0&&this.services.languageUtils.isSupportedCode(a));return i.length?(this.options.preload=s.concat(i),this.loadResources(a=>{r.resolve(),t&&t(a)}),r):(t&&t(),Promise.resolve())}dir(e){if(e||(e=this.resolvedLanguage||(this.languages?.length>0?this.languages[0]:this.language)),!e)return"rtl";try{const s=new Intl.Locale(e);if(s&&s.getTextInfo){const i=s.getTextInfo();if(i&&i.direction)return i.direction}}catch{}const t=["ar","shu","sqr","ssh","xaa","yhd","yud","aao","abh","abv","acm","acq","acw","acx","acy","adf","ads","aeb","aec","afb","ajp","apc","apd","arb","arq","ars","ary","arz","auz","avl","ayh","ayl","ayn","ayp","bbz","pga","he","iw","ps","pbt","pbu","pst","prp","prd","ug","ur","ydd","yds","yih","ji","yi","hbo","men","xmn","fa","jpr","peo","pes","prs","dv","sam","ckb"],r=this.services?.languageUtils||new Se(Le());return e.toLowerCase().indexOf("-latn")>1?"ltr":t.indexOf(r.getLanguagePartFromCode(e))>-1||e.toLowerCase().indexOf("-arab")>1?"rtl":"ltr"}static createInstance(e={},t){return new _(e,t)}cloneInstance(e={},t=G){const r=e.forkResourceStore;r&&delete e.forkResourceStore;const s={...this.options,...e,isClone:!0},i=new _(s);if((e.debug!==void 0||e.prefix!==void 0)&&(i.logger=i.logger.clone(e)),["store","services","language"].forEach(o=>{i[o]=this[o]}),i.services={...this.services},i.services.utils={hasLoadedNamespace:i.hasLoadedNamespace.bind(i)},r){const o=Object.keys(this.store.data).reduce((u,l)=>(u[l]={...this.store.data[l]},u[l]=Object.keys(u[l]).reduce((d,c)=>(d[c]={...u[l][c]},d),u[l]),u),{});i.store=new ye(o,s),i.services.resourceStore=i.store}return i.translator=new q(i.services,s),i.translator.on("*",(o,...u)=>{i.emit(o,...u)}),i.init(s,t),i.translator.options=s,i.translator.backendConnector.services.utils={hasLoadedNamespace:i.hasLoadedNamespace.bind(i)},i}toJSON(){return{options:this.options,store:this.store,language:this.language,languages:this.languages,resolvedLanguage:this.resolvedLanguage}}}const w=_.createInstance();w.createInstance=_.createInstance;w.createInstance;w.dir;w.init;w.loadResources;w.reloadResources;w.use;w.changeLanguage;w.getFixedT;w.t;w.exists;w.setDefaultNamespace;w.hasLoadedNamespace;w.loadNamespaces;w.loadLanguages;const wt=(n,e,t,r)=>{const s=[t,{code:e,...r||{}}];if(n?.services?.logger?.forward)return n.services.logger.forward(s,"warn","react-i18next::",!0);K(s[0])&&(s[0]=`react-i18next:: ${s[0]}`),n?.services?.logger?.warn?n.services.logger.warn(...s):console?.warn&&console.warn(...s)},je={},ne=(n,e,t,r)=>{K(t)&&je[t]||(K(t)&&(je[t]=new Date),wt(n,e,t,r))},Fe=(n,e)=>()=>{if(n.isInitialized)e();else{const t=()=>{setTimeout(()=>{n.off("initialized",t)},0),e()};n.on("initialized",t)}},ae=(n,e,t)=>{n.loadNamespaces(e,Fe(n,t))},Re=(n,e,t,r)=>{if(K(t)&&(t=[t]),n.options.preload&&n.options.preload.indexOf(e)>-1)return ae(n,t,r);t.forEach(s=>{n.options.ns.indexOf(s)<0&&n.options.ns.push(s)}),n.loadLanguages(e,Fe(n,r))},Lt=(n,e,t={})=>!e.languages||!e.languages.length?(ne(e,"NO_LANGUAGES","i18n.languages were undefined or empty",{languages:e.languages}),!0):e.hasLoadedNamespace(n,{lng:t.lng,precheck:(r,s)=>{if(t.bindI18n&&t.bindI18n.indexOf("languageChanging")>-1&&r.services.backendConnector.backend&&r.isLanguageChangingTo&&!s(r.isLanguageChangingTo,n))return!1}}),K=n=>typeof n=="string",vt=n=>typeof n=="object"&&n!==null,jt=/&(?:amp|#38|lt|#60|gt|#62|apos|#39|quot|#34|nbsp|#160|copy|#169|reg|#174|hellip|#8230|#x2F|#47);/g,Rt={"&amp;":"&","&#38;":"&","&lt;":"<","&#60;":"<","&gt;":">","&#62;":">","&apos;":"'","&#39;":"'","&quot;":'"',"&#34;":'"',"&nbsp;":" ","&#160;":" ","&copy;":"©","&#169;":"©","&reg;":"®","&#174;":"®","&hellip;":"…","&#8230;":"…","&#x2F;":"/","&#47;":"/"},Ct=n=>Rt[n],$t=n=>n.replace(jt,Ct);let oe={bindI18n:"languageChanged",bindI18nStore:"",transEmptyNodeValue:"",transSupportBasicHtmlNodes:!0,transWrapTextNodes:"",transKeepBasicHtmlNodesFor:["br","strong","i","p"],useSuspense:!0,unescape:$t};const Pt=(n={})=>{oe={...oe,...n}},Tt=()=>oe;let Ie;const Et=n=>{Ie=n},Ft=()=>Ie,_t={type:"3rdParty",init(n){Pt(n.options.react),Et(n)}},It=T.createContext();class Dt{constructor(){this.usedNamespaces={}}addUsedNamespaces(e){e.forEach(t=>{this.usedNamespaces[t]||(this.usedNamespaces[t]=!0)})}getUsedNamespaces(){return Object.keys(this.usedNamespaces)}}const Kt=(n,e)=>{const t=T.useRef();return T.useEffect(()=>{t.current=n},[n,e]),t.current},De=(n,e,t,r)=>n.getFixedT(e,t,r),At=(n,e,t,r)=>T.useCallback(De(n,e,t,r),[n,e,t,r]),W=(n,e={})=>{const{i18n:t}=e,{i18n:r,defaultNS:s}=T.useContext(It)||{},i=t||r||Ft();if(i&&!i.reportNamespaces&&(i.reportNamespaces=new Dt),!i){ne(i,"NO_I18NEXT_INSTANCE","useTranslation: You will need to pass in an i18next instance by using initReactI18next");const x=(k,O)=>K(O)?O:vt(O)&&K(O.defaultValue)?O.defaultValue:Array.isArray(k)?k[k.length-1]:k,N=[x,{},!1];return N.t=x,N.i18n={},N.ready=!1,N}i.options.react?.wait&&ne(i,"DEPRECATED_OPTION","useTranslation: It seems you are still using the old wait option, you may migrate to the new useSuspense behaviour.");const a={...Tt(),...i.options.react,...e},{useSuspense:o,keyPrefix:u}=a;let l=n||s||i.options?.defaultNS;l=K(l)?[l]:l||["translation"],i.reportNamespaces.addUsedNamespaces?.(l);const d=(i.isInitialized||i.initializedStoreOnce)&&l.every(x=>Lt(x,i,a)),c=At(i,e.lng||null,a.nsMode==="fallback"?l:l[0],u),m=()=>c,h=()=>De(i,e.lng||null,a.nsMode==="fallback"?l:l[0],u),[g,b]=T.useState(m);let S=l.join();e.lng&&(S=`${e.lng}${S}`);const L=Kt(S),y=T.useRef(!0);T.useEffect(()=>{const{bindI18n:x,bindI18nStore:N}=a;y.current=!0,!d&&!o&&(e.lng?Re(i,e.lng,l,()=>{y.current&&b(h)}):ae(i,l,()=>{y.current&&b(h)})),d&&L&&L!==S&&y.current&&b(h);const k=()=>{y.current&&b(h)};return x&&i?.on(x,k),N&&i?.store.on(N,k),()=>{y.current=!1,i&&x&&x?.split(" ").forEach(O=>i.off(O,k)),N&&i&&N.split(" ").forEach(O=>i.store.off(O,k))}},[i,S]),T.useEffect(()=>{y.current&&d&&b(m)},[i,u,d]);const v=[g,i,d];if(v.t=g,v.i18n=i,v.ready=d,d||!d&&!o)return v;throw new Promise(x=>{e.lng?Re(i,e.lng,l,()=>x()):ae(i,l,()=>x())})},Ut={Task:qe,Bash:Y,BashOutput:Ze,KillBash:Ce,Glob:Qe,Grep:Ye,LS:Ge,exit_plan_mode:X,Read:Je,Edit:We,MultiEdit:_e,Write:ze,NotebookRead:He,NotebookEdit:Me,WebFetch:he,TodoWrite:Be,WebSearch:he,Skill:Ve},Vt={Task:"text-purple-600 dark:text-purple-400 bg-purple-100 dark:bg-purple-900/30",Bash:"text-gray-800 dark:text-gray-300 bg-gray-100 dark:bg-gray-700",BashOutput:"text-blue-700 dark:text-blue-400 bg-blue-50 dark:bg-blue-900/30",KillBash:"text-red-700 dark:text-red-400 bg-red-50 dark:bg-red-900/30",Glob:"text-blue-600 dark:text-blue-400 bg-blue-100 dark:bg-blue-900/30",Grep:"text-green-600 dark:text-green-400 bg-green-100 dark:bg-green-900/30",LS:"text-yellow-600 dark:text-yellow-400 bg-yellow-100 dark:bg-yellow-900/30",exit_plan_mode:"text-emerald-600 dark:text-emerald-400 bg-emerald-100 dark:bg-emerald-900/30",Read:"text-indigo-600 dark:text-indigo-400 bg-indigo-100 dark:bg-indigo-900/30",Edit:"text-orange-600 dark:text-orange-400 bg-orange-100 dark:bg-orange-900/30",MultiEdit:"text-red-600 dark:text-red-400 bg-red-100 dark:bg-red-900/30",Write:"text-cyan-600 dark:text-cyan-400 bg-cyan-100 dark:bg-cyan-900/30",NotebookRead:"text-pink-600 dark:text-pink-400 bg-pink-100 dark:bg-pink-900/30",NotebookEdit:"text-rose-600 dark:text-rose-400 bg-rose-100 dark:bg-rose-900/30",WebFetch:"text-teal-600 dark:text-teal-400 bg-teal-100 dark:bg-teal-900/30",TodoWrite:"text-violet-600 dark:text-violet-400 bg-violet-100 dark:bg-violet-900/30",WebSearch:"text-sky-600 dark:text-sky-400 bg-sky-100 dark:bg-sky-900/30",Skill:"text-fuchsia-600 dark:text-fuchsia-400 bg-fuchsia-100 dark:bg-fuchsia-900/30"},le=({execution:n,children:e,subtitle:t,showResult:r=!0,isMcpTool:s=!1,hideToolName:i=!0,customIcon:a,overrideToolName:o,defaultExpanded:u=!1})=>{const{t:l}=W(),[d,c]=T.useState(u),m=s?Ue:Ut[n.toolName]||Y,h=s?"text-blue-600 dark:text-blue-400 bg-blue-100 dark:bg-blue-900/30":Vt[n.toolName]||"text-gray-600 dark:text-gray-400 bg-gray-100 dark:bg-gray-700";return f.jsx(f.Fragment,{children:f.jsxs("div",{className:"border border-gray-200 dark:border-gray-700 rounded-lg bg-gray-50 dark:bg-gray-800 max-w-full",children:[f.jsxs("div",{className:`flex items-center justify-between cursor-pointer hover:bg-gray-100 dark:hover:bg-gray-700 transition-colors ${i?"p-2":"p-4"}`,onClick:()=>c(!d),children:[f.jsxs("div",{className:"flex items-center space-x-2 flex-1 min-w-0",children:[f.jsx("div",{className:`${i?"p-1.5":"p-2"} rounded-full ${n.isInterrupted?"text-orange-600 dark:text-orange-400 bg-orange-100 dark:bg-orange-900/30":h}`,children:n.isExecuting?f.jsx(Xe,{className:"w-4 h-4 animate-spin"}):n.isInterrupted?f.jsx(H,{className:"w-4 h-4"}):a||f.jsx(m,{className:"w-4 h-4"})}),f.jsxs("div",{className:"min-w-0 flex-1",children:[!i&&f.jsx("h4",{className:"text-sm font-semibold text-gray-800 dark:text-gray-200",children:o||n.toolName}),t&&f.jsx("p",{className:`text-xs truncate ${n.isInterrupted?"text-orange-600 dark:text-orange-400":"text-gray-500 dark:text-gray-400"}`,children:n.isInterrupted?l("baseToolComponent.interrupted"):t})]})]}),f.jsx("div",{className:"flex items-center shrink-0",children:d?f.jsx(et,{className:"w-4 h-4 text-gray-400 dark:text-gray-500"}):f.jsx(tt,{className:"w-4 h-4 text-gray-400 dark:text-gray-500"})})]}),d&&f.jsx("div",{className:"px-4 pb-4 border-t border-gray-200 dark:border-gray-700",children:f.jsxs("div",{className:"pt-3",children:[e,r&&n.toolResult&&!n.isError&&f.jsx(Bt,{result:n.toolResult})]})})]})})},Wt=({label:n,value:e,className:t="",isCode:r=!1})=>{if(e==null||e==="")return null;const s=typeof e=="object"?JSON.stringify(e,null,2):String(e);return f.jsxs("div",{className:`mb-2 ${t}`,children:[f.jsxs("span",{className:"text-xs font-medium text-gray-600 dark:text-gray-400",children:[n,":"]}),f.jsx("div",{className:`mt-1 ${r?"font-mono bg-gray-100 dark:bg-gray-700 p-2 rounded text-sm text-gray-800 dark:text-gray-200":"text-sm text-gray-800 dark:text-gray-200"}`,children:r?f.jsx("pre",{className:"whitespace-pre-wrap break-words",children:s}):f.jsx("span",{className:"break-words",children:s})})]})},Bt=({result:n,isError:e=!1,className:t=""})=>{const{t:r}=W("components");return n?f.jsxs("div",{className:`mt-3 ${t}`,children:[f.jsx("p",{className:"text-xs font-medium text-gray-600 dark:text-gray-400 mb-2",children:r("baseToolComponent.executionResult")}),f.jsx("div",{className:`p-3 rounded-md border text-sm font-mono whitespace-pre-wrap break-words ${e?"bg-red-50 dark:bg-red-900/30 border-red-200 dark:border-red-800 text-red-700 dark:text-red-300":"bg-green-50 dark:bg-green-900/30 border-green-200 dark:border-green-800 text-green-700 dark:text-green-300"}`,children:n})]}):null},Jt=({execution:n})=>{const{t:e}=W("components"),t=n.toolInput;console.log("🐚 [BashOutputTool] Rendering with execution:",{isExecuting:n.isExecuting,hasToolUseResult:!!n.toolUseResult,toolUseResultType:typeof n.toolUseResult,toolUseResult:n.toolUseResult,input:t});const s=(()=>{if(!n.toolUseResult)return console.log("🐚 [BashOutputTool] No toolUseResult, returning null"),null;if(typeof n.toolUseResult=="object")return n.toolUseResult;if(typeof n.toolUseResult=="string")try{return JSON.parse(n.toolUseResult)}catch{const o=n.toolUseResult.trim(),u=o.includes("running")?"running":o.includes("completed")?"completed":o.includes("killed")?"killed":o.includes("failed")?"failed":"running";return{shellId:t.bash_id,command:"",status:u,exitCode:null,stdout:"",stderr:"",stdoutLines:0,stderrLines:0,timestamp:new Date().toISOString()}}return null})(),i=()=>{const o=s?.shellId||t.bash_id;if(!o)return;let u=`${e("bashOutputTool.shellPrefix")} ${o}`;return s?.status&&(u+=` • ${s.status}`),u},a=o=>{switch(o){case"running":return{icon:f.jsx(Y,{className:"w-4 h-4"}),className:"bg-blue-100 text-blue-800 border-blue-200",text:e("bashOutputTool.status.running")};case"completed":return{icon:f.jsx(X,{className:"w-4 h-4"}),className:"bg-green-100 text-green-800 border-green-200",text:e("bashOutputTool.status.completed")};case"killed":return{icon:f.jsx(st,{className:"w-4 h-4"}),className:"bg-red-100 text-red-800 border-red-200",text:e("bashOutputTool.status.killed")};case"failed":return{icon:f.jsx(H,{className:"w-4 h-4"}),className:"bg-orange-100 text-orange-800 border-orange-200",text:e("bashOutputTool.status.failed")};default:return{icon:f.jsx($e,{className:"w-4 h-4"}),className:"bg-gray-100 text-gray-800 border-gray-200",text:o}}};return f.jsx(le,{execution:n,subtitle:i(),showResult:!1,hideToolName:!1,children:f.jsxs("div",{className:"space-y-4",children:[s&&f.jsxs(f.Fragment,{children:[f.jsxs("div",{className:"bg-gray-50 rounded-lg p-3 space-y-3",children:[f.jsxs("div",{className:`inline-flex items-center gap-2 px-3 py-1 rounded-full border text-sm font-medium ${a(s.status||"unknown").className}`,children:[a(s.status||"unknown").icon,a(s.status||"unknown").text]}),s.command&&f.jsxs("div",{className:"bg-white border rounded px-3 py-2 text-sm font-mono text-gray-800",children:[f.jsx("span",{className:"text-gray-500 mr-2",children:">"}),f.jsx("span",{className:"break-all",children:s.command})]}),(s.filterPattern||t.filter)&&f.jsxs("div",{className:"bg-white border rounded px-3 py-2 text-sm font-mono text-gray-800",children:[f.jsx("span",{className:"text-gray-500 mr-2",children:"filter:"}),f.jsx("span",{className:"break-all",children:s.filterPattern||t.filter})]}),f.jsxs("div",{className:"flex gap-4 text-xs text-gray-500 pt-2 border-t border-gray-200",children:[s.exitCode!==void 0&&s.exitCode!==null&&f.jsxs("span",{children:[e("bashOutputTool.exitCode"),": ",s.exitCode]}),s.timestamp&&f.jsx("span",{children:new Date(s.timestamp).toLocaleTimeString()})]})]}),s.stdout&&f.jsxs("div",{children:[f.jsxs("div",{className:"flex items-center gap-2 text-sm font-medium text-gray-700 mb-2",children:[f.jsx(Y,{className:"w-4 h-4"}),e("bashOutputTool.stdout")]}),f.jsx("pre",{className:"bg-gray-900 text-green-400 rounded-lg px-3 py-2 text-sm font-mono overflow-x-auto whitespace-pre-wrap border",children:s.stdout.trim()})]}),s.stderr&&f.jsxs("div",{children:[f.jsxs("div",{className:"flex items-center gap-2 text-sm font-medium text-red-700 mb-2",children:[f.jsx(H,{className:"w-4 h-4"}),e("bashOutputTool.stderr")]}),f.jsx("pre",{className:"bg-red-50 text-red-800 border border-red-200 rounded-lg px-3 py-2 text-sm font-mono overflow-x-auto whitespace-pre-wrap",children:s.stderr.trim()})]})]}),!s&&f.jsxs("div",{className:"text-sm text-gray-600",children:[e("bashOutputTool.fetchingOutput",{shellId:t.bash_id}),t.filter&&f.jsxs("div",{className:"mt-1 text-xs text-gray-500",children:[e("bashOutputTool.filterCondition"),": ",f.jsx("code",{className:"bg-gray-100 px-1 rounded",children:t.filter})]})]})]})})},Gt=({execution:n})=>{const{t:e}=W("components"),t=n.toolInput,s=(()=>{if(!n.toolResult)return null;try{return JSON.parse(n.toolResult)}catch{return{message:n.toolResult}}})(),i=()=>{if(!t.shell_id)return;const o=s?.message?.match(/\(([^)]+)\)/)?.[1]||"";return o?e("killBashTool.subtitleWithProcess",{shellId:t.shell_id,processName:o}):e("killBashTool.subtitle",{shellId:t.shell_id})},a=()=>n.isError?!1:!!(s?.success===!0||s?.message?.includes("killed")||s?.message?.includes("Successfully"));return f.jsx(le,{execution:n,subtitle:i(),showResult:!1,hideToolName:!1,children:f.jsxs("div",{className:"space-y-3",children:[f.jsxs("div",{className:"flex items-center gap-3",children:[f.jsx("div",{className:`p-2 rounded-full ${n.isExecuting?"bg-yellow-100":a()?"bg-green-100":n.isError?"bg-red-100":"bg-gray-100"}`,children:n.isExecuting?f.jsx(rt,{className:"w-5 h-5 text-yellow-600 animate-pulse"}):a()?f.jsx(X,{className:"w-5 h-5 text-green-600"}):n.isError?f.jsx(H,{className:"w-5 h-5 text-red-600"}):f.jsx(Ce,{className:"w-5 h-5 text-gray-600"})}),f.jsxs("div",{children:[f.jsx("div",{className:`font-medium ${n.isExecuting?"text-yellow-800":a()?"text-green-800":n.isError?"text-red-800":"text-gray-800"}`,children:n.isExecuting?e("killBashTool.status.terminating"):a()?e("killBashTool.status.success"):n.isError?e("killBashTool.status.failed"):e("killBashTool.status.ready")}),f.jsxs("div",{className:"text-sm text-gray-600 mt-1",children:[e("killBashTool.shellId"),": ",f.jsx("code",{className:"bg-gray-100 px-2 py-0.5 rounded text-xs",children:t.shell_id})]})]})]}),s&&s.message&&f.jsx("div",{className:`p-3 rounded-md text-sm font-mono ${a()?"bg-green-100 text-green-800 border border-green-200":n.isError?"bg-red-100 text-red-800 border border-red-200":"bg-gray-100 text-gray-800 border border-gray-200"}`,children:s.message})]})})},Yt=({execution:n})=>{const{t:e}=W("components"),t=n.toolInput,r=Array.isArray(t?.todos)?t.todos:[],s=l=>{switch(l){case"completed":return f.jsx(X,{className:"w-3 h-3 text-green-600 dark:text-green-400"});case"in_progress":return f.jsx($e,{className:"w-3 h-3 text-blue-600 dark:text-blue-400"});default:return f.jsx(H,{className:"w-3 h-3 text-gray-400 dark:text-gray-500"})}},i=r.filter(l=>l.status==="completed").length,a=r.length,o=r.find(l=>l.status==="in_progress")?.content,u=()=>i===a&&a>0?e("todoWriteTool.allTasksCompleted"):o?e("todoWriteTool.currentTaskProgress",{completed:i+1,total:a,task:o}):e("todoWriteTool.pendingTasks",{completed:i,total:a});return f.jsx(le,{execution:n,subtitle:u(),showResult:!1,hideToolName:!1,children:f.jsxs("div",{className:"space-y-1",children:[r.map((l,d)=>f.jsxs("div",{className:"flex items-center gap-2 text-sm py-1",children:[s(l.status),f.jsx("span",{className:`flex-1 ${l.status==="completed"?"text-gray-500 dark:text-gray-400 line-through":l.status==="in_progress"?"text-blue-700 dark:text-blue-300 font-medium":"text-gray-700 dark:text-gray-200"}`,children:l.content})]},d)),f.jsxs("div",{className:"flex gap-3 text-xs text-gray-500 dark:text-gray-400 pt-2 border-t border-gray-200 dark:border-gray-700 mt-2",children:[f.jsx("span",{children:e("todoWriteTool.completedCount",{count:r.filter(l=>l.status==="completed").length})}),f.jsx("span",{children:e("todoWriteTool.inProgressCount",{count:r.filter(l=>l.status==="in_progress").length})}),f.jsx("span",{children:e("todoWriteTool.pendingCount",{count:r.filter(l=>l.status==="pending").length})})]})]})})};export{le as B,Gt as K,Wt as T,_t as a,Yt as b,Jt as c,w as i,W as u};
1
+ import{r as T}from"./monaco-editor-DHKm5-VF.js";import{j as f}from"./data-structures-C0h9Oap1.js";import{P as Ue,S as Ve,G as he,a as Be,B as Me,b as He,F as ze,c as _e,d as We,e as Je,C as X,f as Ge,g as Ye,h as Qe,i as Ce,A as Ze,T as Y,W as qe,L as Xe,j as H,k as et,l as tt,m as $e,n as st,Z as rt}from"./ui-components-D1St49qC.js";const p=n=>typeof n=="string",B=()=>{let n,e;const t=new Promise((r,s)=>{n=r,e=s});return t.resolve=n,t.reject=e,t},ge=n=>n==null?"":""+n,it=(n,e,t)=>{n.forEach(r=>{e[r]&&(t[r]=e[r])})},nt=/###/g,pe=n=>n&&n.indexOf("###")>-1?n.replace(nt,"."):n,me=n=>!n||p(n),M=(n,e,t)=>{const r=p(e)?e.split("."):e;let s=0;for(;s<r.length-1;){if(me(n))return{};const i=pe(r[s]);!n[i]&&t&&(n[i]=new t),Object.prototype.hasOwnProperty.call(n,i)?n=n[i]:n={},++s}return me(n)?{}:{obj:n,k:pe(r[s])}},xe=(n,e,t)=>{const{obj:r,k:s}=M(n,e,Object);if(r!==void 0||e.length===1){r[s]=t;return}let i=e[e.length-1],a=e.slice(0,e.length-1),o=M(n,a,Object);for(;o.obj===void 0&&a.length;)i=`${a[a.length-1]}.${i}`,a=a.slice(0,a.length-1),o=M(n,a,Object),o?.obj&&typeof o.obj[`${o.k}.${i}`]<"u"&&(o.obj=void 0);o.obj[`${o.k}.${i}`]=t},at=(n,e,t,r)=>{const{obj:s,k:i}=M(n,e,Object);s[i]=s[i]||[],s[i].push(t)},Q=(n,e)=>{const{obj:t,k:r}=M(n,e);if(t&&Object.prototype.hasOwnProperty.call(t,r))return t[r]},ot=(n,e,t)=>{const r=Q(n,t);return r!==void 0?r:Q(e,t)},Pe=(n,e,t)=>{for(const r in e)r!=="__proto__"&&r!=="constructor"&&(r in n?p(n[r])||n[r]instanceof String||p(e[r])||e[r]instanceof String?t&&(n[r]=e[r]):Pe(n[r],e[r],t):n[r]=e[r]);return n},A=n=>n.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g,"\\$&");var lt={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;","/":"&#x2F;"};const ut=n=>p(n)?n.replace(/[&<>"'\/]/g,e=>lt[e]):n;class dt{constructor(e){this.capacity=e,this.regExpMap=new Map,this.regExpQueue=[]}getRegExp(e){const t=this.regExpMap.get(e);if(t!==void 0)return t;const r=new RegExp(e);return this.regExpQueue.length===this.capacity&&this.regExpMap.delete(this.regExpQueue.shift()),this.regExpMap.set(e,r),this.regExpQueue.push(e),r}}const ct=[" ",",","?","!",";"],ft=new dt(20),ht=(n,e,t)=>{e=e||"",t=t||"";const r=ct.filter(a=>e.indexOf(a)<0&&t.indexOf(a)<0);if(r.length===0)return!0;const s=ft.getRegExp(`(${r.map(a=>a==="?"?"\\?":a).join("|")})`);let i=!s.test(n);if(!i){const a=n.indexOf(t);a>0&&!s.test(n.substring(0,a))&&(i=!0)}return i},re=(n,e,t=".")=>{if(!n)return;if(n[e])return Object.prototype.hasOwnProperty.call(n,e)?n[e]:void 0;const r=e.split(t);let s=n;for(let i=0;i<r.length;){if(!s||typeof s!="object")return;let a,o="";for(let u=i;u<r.length;++u)if(u!==i&&(o+=t),o+=r[u],a=s[o],a!==void 0){if(["string","number","boolean"].indexOf(typeof a)>-1&&u<r.length-1)continue;i+=u-i+1;break}s=a}return s},z=n=>n?.replace("_","-"),gt={type:"logger",log(n){this.output("log",n)},warn(n){this.output("warn",n)},error(n){this.output("error",n)},output(n,e){console?.[n]?.apply?.(console,e)}};class Z{constructor(e,t={}){this.init(e,t)}init(e,t={}){this.prefix=t.prefix||"i18next:",this.logger=e||gt,this.options=t,this.debug=t.debug}log(...e){return this.forward(e,"log","",!0)}warn(...e){return this.forward(e,"warn","",!0)}error(...e){return this.forward(e,"error","")}deprecate(...e){return this.forward(e,"warn","WARNING DEPRECATED: ",!0)}forward(e,t,r,s){return s&&!this.debug?null:(p(e[0])&&(e[0]=`${r}${this.prefix} ${e[0]}`),this.logger[t](e))}create(e){return new Z(this.logger,{prefix:`${this.prefix}:${e}:`,...this.options})}clone(e){return e=e||this.options,e.prefix=e.prefix||this.prefix,new Z(this.logger,e)}}var E=new Z;class ee{constructor(){this.observers={}}on(e,t){return e.split(" ").forEach(r=>{this.observers[r]||(this.observers[r]=new Map);const s=this.observers[r].get(t)||0;this.observers[r].set(t,s+1)}),this}off(e,t){if(this.observers[e]){if(!t){delete this.observers[e];return}this.observers[e].delete(t)}}emit(e,...t){this.observers[e]&&Array.from(this.observers[e].entries()).forEach(([s,i])=>{for(let a=0;a<i;a++)s(...t)}),this.observers["*"]&&Array.from(this.observers["*"].entries()).forEach(([s,i])=>{for(let a=0;a<i;a++)s.apply(s,[e,...t])})}}class ye extends ee{constructor(e,t={ns:["translation"],defaultNS:"translation"}){super(),this.data=e||{},this.options=t,this.options.keySeparator===void 0&&(this.options.keySeparator="."),this.options.ignoreJSONStructure===void 0&&(this.options.ignoreJSONStructure=!0)}addNamespaces(e){this.options.ns.indexOf(e)<0&&this.options.ns.push(e)}removeNamespaces(e){const t=this.options.ns.indexOf(e);t>-1&&this.options.ns.splice(t,1)}getResource(e,t,r,s={}){const i=s.keySeparator!==void 0?s.keySeparator:this.options.keySeparator,a=s.ignoreJSONStructure!==void 0?s.ignoreJSONStructure:this.options.ignoreJSONStructure;let o;e.indexOf(".")>-1?o=e.split("."):(o=[e,t],r&&(Array.isArray(r)?o.push(...r):p(r)&&i?o.push(...r.split(i)):o.push(r)));const u=Q(this.data,o);return!u&&!t&&!r&&e.indexOf(".")>-1&&(e=o[0],t=o[1],r=o.slice(2).join(".")),u||!a||!p(r)?u:re(this.data?.[e]?.[t],r,i)}addResource(e,t,r,s,i={silent:!1}){const a=i.keySeparator!==void 0?i.keySeparator:this.options.keySeparator;let o=[e,t];r&&(o=o.concat(a?r.split(a):r)),e.indexOf(".")>-1&&(o=e.split("."),s=t,t=o[1]),this.addNamespaces(t),xe(this.data,o,s),i.silent||this.emit("added",e,t,r,s)}addResources(e,t,r,s={silent:!1}){for(const i in r)(p(r[i])||Array.isArray(r[i]))&&this.addResource(e,t,i,r[i],{silent:!0});s.silent||this.emit("added",e,t,r)}addResourceBundle(e,t,r,s,i,a={silent:!1,skipCopy:!1}){let o=[e,t];e.indexOf(".")>-1&&(o=e.split("."),s=r,r=t,t=o[1]),this.addNamespaces(t);let u=Q(this.data,o)||{};a.skipCopy||(r=JSON.parse(JSON.stringify(r))),s?Pe(u,r,i):u={...u,...r},xe(this.data,o,u),a.silent||this.emit("added",e,t,r)}removeResourceBundle(e,t){this.hasResourceBundle(e,t)&&delete this.data[e][t],this.removeNamespaces(t),this.emit("removed",e,t)}hasResourceBundle(e,t){return this.getResource(e,t)!==void 0}getResourceBundle(e,t){return t||(t=this.options.defaultNS),this.getResource(e,t)}getDataByLanguage(e){return this.data[e]}hasLanguageSomeTranslations(e){const t=this.getDataByLanguage(e);return!!(t&&Object.keys(t)||[]).find(s=>t[s]&&Object.keys(t[s]).length>0)}toJSON(){return this.data}}var Te={processors:{},addPostProcessor(n){this.processors[n.name]=n},handle(n,e,t,r,s){return n.forEach(i=>{e=this.processors[i]?.process(e,t,r,s)??e}),e}};const Ee=Symbol("i18next/PATH_KEY");function pt(){const n=[],e=Object.create(null);let t;return e.get=(r,s)=>(t?.revoke?.(),s===Ee?n:(n.push(s),t=Proxy.revocable(r,e),t.proxy)),Proxy.revocable(Object.create(null),e).proxy}function ie(n,e){const{[Ee]:t}=n(pt());return t.join(e?.keySeparator??".")}const be={},te=n=>!p(n)&&typeof n!="boolean"&&typeof n!="number";class q extends ee{constructor(e,t={}){super(),it(["resourceStore","languageUtils","pluralResolver","interpolator","backendConnector","i18nFormat","utils"],e,this),this.options=t,this.options.keySeparator===void 0&&(this.options.keySeparator="."),this.logger=E.create("translator")}changeLanguage(e){e&&(this.language=e)}exists(e,t={interpolation:{}}){const r={...t};if(e==null)return!1;const s=this.resolve(e,r);if(s?.res===void 0)return!1;const i=te(s.res);return!(r.returnObjects===!1&&i)}extractFromKey(e,t){let r=t.nsSeparator!==void 0?t.nsSeparator:this.options.nsSeparator;r===void 0&&(r=":");const s=t.keySeparator!==void 0?t.keySeparator:this.options.keySeparator;let i=t.ns||this.options.defaultNS||[];const a=r&&e.indexOf(r)>-1,o=!this.options.userDefinedKeySeparator&&!t.keySeparator&&!this.options.userDefinedNsSeparator&&!t.nsSeparator&&!ht(e,r,s);if(a&&!o){const u=e.match(this.interpolator.nestingRegexp);if(u&&u.length>0)return{key:e,namespaces:p(i)?[i]:i};const l=e.split(r);(r!==s||r===s&&this.options.ns.indexOf(l[0])>-1)&&(i=l.shift()),e=l.join(s)}return{key:e,namespaces:p(i)?[i]:i}}translate(e,t,r){let s=typeof t=="object"?{...t}:t;if(typeof s!="object"&&this.options.overloadTranslationOptionHandler&&(s=this.options.overloadTranslationOptionHandler(arguments)),typeof s=="object"&&(s={...s}),s||(s={}),e==null)return"";typeof e=="function"&&(e=ie(e,{...this.options,...s})),Array.isArray(e)||(e=[String(e)]);const i=s.returnDetails!==void 0?s.returnDetails:this.options.returnDetails,a=s.keySeparator!==void 0?s.keySeparator:this.options.keySeparator,{key:o,namespaces:u}=this.extractFromKey(e[e.length-1],s),l=u[u.length-1];let d=s.nsSeparator!==void 0?s.nsSeparator:this.options.nsSeparator;d===void 0&&(d=":");const c=s.lng||this.language,m=s.appendNamespaceToCIMode||this.options.appendNamespaceToCIMode;if(c?.toLowerCase()==="cimode")return m?i?{res:`${l}${d}${o}`,usedKey:o,exactUsedKey:o,usedLng:c,usedNS:l,usedParams:this.getUsedParamsDetails(s)}:`${l}${d}${o}`:i?{res:o,usedKey:o,exactUsedKey:o,usedLng:c,usedNS:l,usedParams:this.getUsedParamsDetails(s)}:o;const h=this.resolve(e,s);let g=h?.res;const b=h?.usedKey||o,S=h?.exactUsedKey||o,L=["[object Number]","[object Function]","[object RegExp]"],y=s.joinArrays!==void 0?s.joinArrays:this.options.joinArrays,v=!this.i18nFormat||this.i18nFormat.handleAsObject,x=s.count!==void 0&&!p(s.count),N=q.hasDefaultValue(s),k=x?this.pluralResolver.getSuffix(c,s.count,s):"",O=s.ordinal&&x?this.pluralResolver.getSuffix(c,s.count,{ordinal:!1}):"",ue=x&&!s.ordinal&&s.count===0,I=ue&&s[`defaultValue${this.options.pluralSeparator}zero`]||s[`defaultValue${k}`]||s[`defaultValue${O}`]||s.defaultValue;let C=g;v&&!g&&N&&(C=I);const Ke=te(C),Ae=Object.prototype.toString.apply(C);if(v&&C&&Ke&&L.indexOf(Ae)<0&&!(p(y)&&Array.isArray(C))){if(!s.returnObjects&&!this.options.returnObjects){this.options.returnedObjectHandler||this.logger.warn("accessing an object - but returnObjects options is not enabled!");const $=this.options.returnedObjectHandler?this.options.returnedObjectHandler(b,C,{...s,ns:u}):`key '${o} (${this.language})' returned an object instead of string.`;return i?(h.res=$,h.usedParams=this.getUsedParamsDetails(s),h):$}if(a){const $=Array.isArray(C),R=$?[]:{},de=$?S:b;for(const P in C)if(Object.prototype.hasOwnProperty.call(C,P)){const F=`${de}${a}${P}`;N&&!g?R[P]=this.translate(F,{...s,defaultValue:te(I)?I[P]:void 0,joinArrays:!1,ns:u}):R[P]=this.translate(F,{...s,joinArrays:!1,ns:u}),R[P]===F&&(R[P]=C[P])}g=R}}else if(v&&p(y)&&Array.isArray(g))g=g.join(y),g&&(g=this.extendTranslation(g,e,s,r));else{let $=!1,R=!1;!this.isValidLookup(g)&&N&&($=!0,g=I),this.isValidLookup(g)||(R=!0,g=o);const P=(s.missingKeyNoValueFallbackToKey||this.options.missingKeyNoValueFallbackToKey)&&R?void 0:g,F=N&&I!==g&&this.options.updateMissing;if(R||$||F){if(this.logger.log(F?"updateKey":"missingKey",c,l,o,F?I:g),a){const j=this.resolve(o,{...s,keySeparator:!1});j&&j.res&&this.logger.warn("Seems the loaded translations were in flat JSON format instead of nested. Either set keySeparator: false on init or make sure your translations are published in nested format.")}let U=[];const J=this.languageUtils.getFallbackCodes(this.options.fallbackLng,s.lng||this.language);if(this.options.saveMissingTo==="fallback"&&J&&J[0])for(let j=0;j<J.length;j++)U.push(J[j]);else this.options.saveMissingTo==="all"?U=this.languageUtils.toResolveHierarchy(s.lng||this.language):U.push(s.lng||this.language);const ce=(j,D,V)=>{const fe=N&&V!==g?V:P;this.options.missingKeyHandler?this.options.missingKeyHandler(j,l,D,fe,F,s):this.backendConnector?.saveMissing&&this.backendConnector.saveMissing(j,l,D,fe,F,s),this.emit("missingKey",j,l,D,g)};this.options.saveMissing&&(this.options.saveMissingPlurals&&x?U.forEach(j=>{const D=this.pluralResolver.getSuffixes(j,s);ue&&s[`defaultValue${this.options.pluralSeparator}zero`]&&D.indexOf(`${this.options.pluralSeparator}zero`)<0&&D.push(`${this.options.pluralSeparator}zero`),D.forEach(V=>{ce([j],o+V,s[`defaultValue${V}`]||I)})}):ce(U,o,I))}g=this.extendTranslation(g,e,s,h,r),R&&g===o&&this.options.appendNamespaceToMissingKey&&(g=`${l}${d}${o}`),(R||$)&&this.options.parseMissingKeyHandler&&(g=this.options.parseMissingKeyHandler(this.options.appendNamespaceToMissingKey?`${l}${d}${o}`:o,$?g:void 0,s))}return i?(h.res=g,h.usedParams=this.getUsedParamsDetails(s),h):g}extendTranslation(e,t,r,s,i){if(this.i18nFormat?.parse)e=this.i18nFormat.parse(e,{...this.options.interpolation.defaultVariables,...r},r.lng||this.language||s.usedLng,s.usedNS,s.usedKey,{resolved:s});else if(!r.skipInterpolation){r.interpolation&&this.interpolator.init({...r,interpolation:{...this.options.interpolation,...r.interpolation}});const u=p(e)&&(r?.interpolation?.skipOnVariables!==void 0?r.interpolation.skipOnVariables:this.options.interpolation.skipOnVariables);let l;if(u){const c=e.match(this.interpolator.nestingRegexp);l=c&&c.length}let d=r.replace&&!p(r.replace)?r.replace:r;if(this.options.interpolation.defaultVariables&&(d={...this.options.interpolation.defaultVariables,...d}),e=this.interpolator.interpolate(e,d,r.lng||this.language||s.usedLng,r),u){const c=e.match(this.interpolator.nestingRegexp),m=c&&c.length;l<m&&(r.nest=!1)}!r.lng&&s&&s.res&&(r.lng=this.language||s.usedLng),r.nest!==!1&&(e=this.interpolator.nest(e,(...c)=>i?.[0]===c[0]&&!r.context?(this.logger.warn(`It seems you are nesting recursively key: ${c[0]} in key: ${t[0]}`),null):this.translate(...c,t),r)),r.interpolation&&this.interpolator.reset()}const a=r.postProcess||this.options.postProcess,o=p(a)?[a]:a;return e!=null&&o?.length&&r.applyPostProcessor!==!1&&(e=Te.handle(o,e,t,this.options&&this.options.postProcessPassResolved?{i18nResolved:{...s,usedParams:this.getUsedParamsDetails(r)},...r}:r,this)),e}resolve(e,t={}){let r,s,i,a,o;return p(e)&&(e=[e]),e.forEach(u=>{if(this.isValidLookup(r))return;const l=this.extractFromKey(u,t),d=l.key;s=d;let c=l.namespaces;this.options.fallbackNS&&(c=c.concat(this.options.fallbackNS));const m=t.count!==void 0&&!p(t.count),h=m&&!t.ordinal&&t.count===0,g=t.context!==void 0&&(p(t.context)||typeof t.context=="number")&&t.context!=="",b=t.lngs?t.lngs:this.languageUtils.toResolveHierarchy(t.lng||this.language,t.fallbackLng);c.forEach(S=>{this.isValidLookup(r)||(o=S,!be[`${b[0]}-${S}`]&&this.utils?.hasLoadedNamespace&&!this.utils?.hasLoadedNamespace(o)&&(be[`${b[0]}-${S}`]=!0,this.logger.warn(`key "${s}" for languages "${b.join(", ")}" won't get resolved as namespace "${o}" was not yet loaded`,"This means something IS WRONG in your setup. You access the t function before i18next.init / i18next.loadNamespace / i18next.changeLanguage was done. Wait for the callback or Promise to resolve before accessing it!!!")),b.forEach(L=>{if(this.isValidLookup(r))return;a=L;const y=[d];if(this.i18nFormat?.addLookupKeys)this.i18nFormat.addLookupKeys(y,d,L,S,t);else{let x;m&&(x=this.pluralResolver.getSuffix(L,t.count,t));const N=`${this.options.pluralSeparator}zero`,k=`${this.options.pluralSeparator}ordinal${this.options.pluralSeparator}`;if(m&&(t.ordinal&&x.indexOf(k)===0&&y.push(d+x.replace(k,this.options.pluralSeparator)),y.push(d+x),h&&y.push(d+N)),g){const O=`${d}${this.options.contextSeparator||"_"}${t.context}`;y.push(O),m&&(t.ordinal&&x.indexOf(k)===0&&y.push(O+x.replace(k,this.options.pluralSeparator)),y.push(O+x),h&&y.push(O+N))}}let v;for(;v=y.pop();)this.isValidLookup(r)||(i=v,r=this.getResource(L,S,v,t))}))})}),{res:r,usedKey:s,exactUsedKey:i,usedLng:a,usedNS:o}}isValidLookup(e){return e!==void 0&&!(!this.options.returnNull&&e===null)&&!(!this.options.returnEmptyString&&e==="")}getResource(e,t,r,s={}){return this.i18nFormat?.getResource?this.i18nFormat.getResource(e,t,r,s):this.resourceStore.getResource(e,t,r,s)}getUsedParamsDetails(e={}){const t=["defaultValue","ordinal","context","replace","lng","lngs","fallbackLng","ns","keySeparator","nsSeparator","returnObjects","returnDetails","joinArrays","postProcess","interpolation"],r=e.replace&&!p(e.replace);let s=r?e.replace:e;if(r&&typeof e.count<"u"&&(s.count=e.count),this.options.interpolation.defaultVariables&&(s={...this.options.interpolation.defaultVariables,...s}),!r){s={...s};for(const i of t)delete s[i]}return s}static hasDefaultValue(e){const t="defaultValue";for(const r in e)if(Object.prototype.hasOwnProperty.call(e,r)&&t===r.substring(0,t.length)&&e[r]!==void 0)return!0;return!1}}class Se{constructor(e){this.options=e,this.supportedLngs=this.options.supportedLngs||!1,this.logger=E.create("languageUtils")}getScriptPartFromCode(e){if(e=z(e),!e||e.indexOf("-")<0)return null;const t=e.split("-");return t.length===2||(t.pop(),t[t.length-1].toLowerCase()==="x")?null:this.formatLanguageCode(t.join("-"))}getLanguagePartFromCode(e){if(e=z(e),!e||e.indexOf("-")<0)return e;const t=e.split("-");return this.formatLanguageCode(t[0])}formatLanguageCode(e){if(p(e)&&e.indexOf("-")>-1){let t;try{t=Intl.getCanonicalLocales(e)[0]}catch{}return t&&this.options.lowerCaseLng&&(t=t.toLowerCase()),t||(this.options.lowerCaseLng?e.toLowerCase():e)}return this.options.cleanCode||this.options.lowerCaseLng?e.toLowerCase():e}isSupportedCode(e){return(this.options.load==="languageOnly"||this.options.nonExplicitSupportedLngs)&&(e=this.getLanguagePartFromCode(e)),!this.supportedLngs||!this.supportedLngs.length||this.supportedLngs.indexOf(e)>-1}getBestMatchFromCodes(e){if(!e)return null;let t;return e.forEach(r=>{if(t)return;const s=this.formatLanguageCode(r);(!this.options.supportedLngs||this.isSupportedCode(s))&&(t=s)}),!t&&this.options.supportedLngs&&e.forEach(r=>{if(t)return;const s=this.getScriptPartFromCode(r);if(this.isSupportedCode(s))return t=s;const i=this.getLanguagePartFromCode(r);if(this.isSupportedCode(i))return t=i;t=this.options.supportedLngs.find(a=>{if(a===i)return a;if(!(a.indexOf("-")<0&&i.indexOf("-")<0)&&(a.indexOf("-")>0&&i.indexOf("-")<0&&a.substring(0,a.indexOf("-"))===i||a.indexOf(i)===0&&i.length>1))return a})}),t||(t=this.getFallbackCodes(this.options.fallbackLng)[0]),t}getFallbackCodes(e,t){if(!e)return[];if(typeof e=="function"&&(e=e(t)),p(e)&&(e=[e]),Array.isArray(e))return e;if(!t)return e.default||[];let r=e[t];return r||(r=e[this.getScriptPartFromCode(t)]),r||(r=e[this.formatLanguageCode(t)]),r||(r=e[this.getLanguagePartFromCode(t)]),r||(r=e.default),r||[]}toResolveHierarchy(e,t){const r=this.getFallbackCodes((t===!1?[]:t)||this.options.fallbackLng||[],e),s=[],i=a=>{a&&(this.isSupportedCode(a)?s.push(a):this.logger.warn(`rejecting language code not found in supportedLngs: ${a}`))};return p(e)&&(e.indexOf("-")>-1||e.indexOf("_")>-1)?(this.options.load!=="languageOnly"&&i(this.formatLanguageCode(e)),this.options.load!=="languageOnly"&&this.options.load!=="currentOnly"&&i(this.getScriptPartFromCode(e)),this.options.load!=="currentOnly"&&i(this.getLanguagePartFromCode(e))):p(e)&&i(this.formatLanguageCode(e)),r.forEach(a=>{s.indexOf(a)<0&&i(this.formatLanguageCode(a))}),s}}const Ne={zero:0,one:1,two:2,few:3,many:4,other:5},ke={select:n=>n===1?"one":"other",resolvedOptions:()=>({pluralCategories:["one","other"]})};class mt{constructor(e,t={}){this.languageUtils=e,this.options=t,this.logger=E.create("pluralResolver"),this.pluralRulesCache={}}addRule(e,t){this.rules[e]=t}clearCache(){this.pluralRulesCache={}}getRule(e,t={}){const r=z(e==="dev"?"en":e),s=t.ordinal?"ordinal":"cardinal",i=JSON.stringify({cleanedCode:r,type:s});if(i in this.pluralRulesCache)return this.pluralRulesCache[i];let a;try{a=new Intl.PluralRules(r,{type:s})}catch{if(!Intl)return this.logger.error("No Intl support, please use an Intl polyfill!"),ke;if(!e.match(/-|_/))return ke;const u=this.languageUtils.getLanguagePartFromCode(e);a=this.getRule(u,t)}return this.pluralRulesCache[i]=a,a}needsPlural(e,t={}){let r=this.getRule(e,t);return r||(r=this.getRule("dev",t)),r?.resolvedOptions().pluralCategories.length>1}getPluralFormsOfKey(e,t,r={}){return this.getSuffixes(e,r).map(s=>`${t}${s}`)}getSuffixes(e,t={}){let r=this.getRule(e,t);return r||(r=this.getRule("dev",t)),r?r.resolvedOptions().pluralCategories.sort((s,i)=>Ne[s]-Ne[i]).map(s=>`${this.options.prepend}${t.ordinal?`ordinal${this.options.prepend}`:""}${s}`):[]}getSuffix(e,t,r={}){const s=this.getRule(e,r);return s?`${this.options.prepend}${r.ordinal?`ordinal${this.options.prepend}`:""}${s.select(t)}`:(this.logger.warn(`no plural rule found for: ${e}`),this.getSuffix("dev",t,r))}}const Oe=(n,e,t,r=".",s=!0)=>{let i=ot(n,e,t);return!i&&s&&p(t)&&(i=re(n,t,r),i===void 0&&(i=re(e,t,r))),i},se=n=>n.replace(/\$/g,"$$$$");class xt{constructor(e={}){this.logger=E.create("interpolator"),this.options=e,this.format=e?.interpolation?.format||(t=>t),this.init(e)}init(e={}){e.interpolation||(e.interpolation={escapeValue:!0});const{escape:t,escapeValue:r,useRawValueToEscape:s,prefix:i,prefixEscaped:a,suffix:o,suffixEscaped:u,formatSeparator:l,unescapeSuffix:d,unescapePrefix:c,nestingPrefix:m,nestingPrefixEscaped:h,nestingSuffix:g,nestingSuffixEscaped:b,nestingOptionsSeparator:S,maxReplaces:L,alwaysFormat:y}=e.interpolation;this.escape=t!==void 0?t:ut,this.escapeValue=r!==void 0?r:!0,this.useRawValueToEscape=s!==void 0?s:!1,this.prefix=i?A(i):a||"{{",this.suffix=o?A(o):u||"}}",this.formatSeparator=l||",",this.unescapePrefix=d?"":c||"-",this.unescapeSuffix=this.unescapePrefix?"":d||"",this.nestingPrefix=m?A(m):h||A("$t("),this.nestingSuffix=g?A(g):b||A(")"),this.nestingOptionsSeparator=S||",",this.maxReplaces=L||1e3,this.alwaysFormat=y!==void 0?y:!1,this.resetRegExp()}reset(){this.options&&this.init(this.options)}resetRegExp(){const e=(t,r)=>t?.source===r?(t.lastIndex=0,t):new RegExp(r,"g");this.regexp=e(this.regexp,`${this.prefix}(.+?)${this.suffix}`),this.regexpUnescape=e(this.regexpUnescape,`${this.prefix}${this.unescapePrefix}(.+?)${this.unescapeSuffix}${this.suffix}`),this.nestingRegexp=e(this.nestingRegexp,`${this.nestingPrefix}((?:[^()"']+|"[^"]*"|'[^']*'|\\((?:[^()]|"[^"]*"|'[^']*')*\\))*?)${this.nestingSuffix}`)}interpolate(e,t,r,s){let i,a,o;const u=this.options&&this.options.interpolation&&this.options.interpolation.defaultVariables||{},l=h=>{if(h.indexOf(this.formatSeparator)<0){const L=Oe(t,u,h,this.options.keySeparator,this.options.ignoreJSONStructure);return this.alwaysFormat?this.format(L,void 0,r,{...s,...t,interpolationkey:h}):L}const g=h.split(this.formatSeparator),b=g.shift().trim(),S=g.join(this.formatSeparator).trim();return this.format(Oe(t,u,b,this.options.keySeparator,this.options.ignoreJSONStructure),S,r,{...s,...t,interpolationkey:b})};this.resetRegExp();const d=s?.missingInterpolationHandler||this.options.missingInterpolationHandler,c=s?.interpolation?.skipOnVariables!==void 0?s.interpolation.skipOnVariables:this.options.interpolation.skipOnVariables;return[{regex:this.regexpUnescape,safeValue:h=>se(h)},{regex:this.regexp,safeValue:h=>this.escapeValue?se(this.escape(h)):se(h)}].forEach(h=>{for(o=0;i=h.regex.exec(e);){const g=i[1].trim();if(a=l(g),a===void 0)if(typeof d=="function"){const S=d(e,i,s);a=p(S)?S:""}else if(s&&Object.prototype.hasOwnProperty.call(s,g))a="";else if(c){a=i[0];continue}else this.logger.warn(`missed to pass in variable ${g} for interpolating ${e}`),a="";else!p(a)&&!this.useRawValueToEscape&&(a=ge(a));const b=h.safeValue(a);if(e=e.replace(i[0],b),c?(h.regex.lastIndex+=a.length,h.regex.lastIndex-=i[0].length):h.regex.lastIndex=0,o++,o>=this.maxReplaces)break}}),e}nest(e,t,r={}){let s,i,a;const o=(u,l)=>{const d=this.nestingOptionsSeparator;if(u.indexOf(d)<0)return u;const c=u.split(new RegExp(`${d}[ ]*{`));let m=`{${c[1]}`;u=c[0],m=this.interpolate(m,a);const h=m.match(/'/g),g=m.match(/"/g);((h?.length??0)%2===0&&!g||g.length%2!==0)&&(m=m.replace(/'/g,'"'));try{a=JSON.parse(m),l&&(a={...l,...a})}catch(b){return this.logger.warn(`failed parsing options string in nesting for key ${u}`,b),`${u}${d}${m}`}return a.defaultValue&&a.defaultValue.indexOf(this.prefix)>-1&&delete a.defaultValue,u};for(;s=this.nestingRegexp.exec(e);){let u=[];a={...r},a=a.replace&&!p(a.replace)?a.replace:a,a.applyPostProcessor=!1,delete a.defaultValue;const l=/{.*}/.test(s[1])?s[1].lastIndexOf("}")+1:s[1].indexOf(this.formatSeparator);if(l!==-1&&(u=s[1].slice(l).split(this.formatSeparator).map(d=>d.trim()).filter(Boolean),s[1]=s[1].slice(0,l)),i=t(o.call(this,s[1].trim(),a),a),i&&s[0]===e&&!p(i))return i;p(i)||(i=ge(i)),i||(this.logger.warn(`missed to resolve ${s[1]} for nesting ${e}`),i=""),u.length&&(i=u.reduce((d,c)=>this.format(d,c,r.lng,{...r,interpolationkey:s[1].trim()}),i.trim())),e=e.replace(s[0],i),this.regexp.lastIndex=0}return e}}const yt=n=>{let e=n.toLowerCase().trim();const t={};if(n.indexOf("(")>-1){const r=n.split("(");e=r[0].toLowerCase().trim();const s=r[1].substring(0,r[1].length-1);e==="currency"&&s.indexOf(":")<0?t.currency||(t.currency=s.trim()):e==="relativetime"&&s.indexOf(":")<0?t.range||(t.range=s.trim()):s.split(";").forEach(a=>{if(a){const[o,...u]=a.split(":"),l=u.join(":").trim().replace(/^'+|'+$/g,""),d=o.trim();t[d]||(t[d]=l),l==="false"&&(t[d]=!1),l==="true"&&(t[d]=!0),isNaN(l)||(t[d]=parseInt(l,10))}})}return{formatName:e,formatOptions:t}},we=n=>{const e={};return(t,r,s)=>{let i=s;s&&s.interpolationkey&&s.formatParams&&s.formatParams[s.interpolationkey]&&s[s.interpolationkey]&&(i={...i,[s.interpolationkey]:void 0});const a=r+JSON.stringify(i);let o=e[a];return o||(o=n(z(r),s),e[a]=o),o(t)}},bt=n=>(e,t,r)=>n(z(t),r)(e);class St{constructor(e={}){this.logger=E.create("formatter"),this.options=e,this.init(e)}init(e,t={interpolation:{}}){this.formatSeparator=t.interpolation.formatSeparator||",";const r=t.cacheInBuiltFormats?we:bt;this.formats={number:r((s,i)=>{const a=new Intl.NumberFormat(s,{...i});return o=>a.format(o)}),currency:r((s,i)=>{const a=new Intl.NumberFormat(s,{...i,style:"currency"});return o=>a.format(o)}),datetime:r((s,i)=>{const a=new Intl.DateTimeFormat(s,{...i});return o=>a.format(o)}),relativetime:r((s,i)=>{const a=new Intl.RelativeTimeFormat(s,{...i});return o=>a.format(o,i.range||"day")}),list:r((s,i)=>{const a=new Intl.ListFormat(s,{...i});return o=>a.format(o)})}}add(e,t){this.formats[e.toLowerCase().trim()]=t}addCached(e,t){this.formats[e.toLowerCase().trim()]=we(t)}format(e,t,r,s={}){const i=t.split(this.formatSeparator);if(i.length>1&&i[0].indexOf("(")>1&&i[0].indexOf(")")<0&&i.find(o=>o.indexOf(")")>-1)){const o=i.findIndex(u=>u.indexOf(")")>-1);i[0]=[i[0],...i.splice(1,o)].join(this.formatSeparator)}return i.reduce((o,u)=>{const{formatName:l,formatOptions:d}=yt(u);if(this.formats[l]){let c=o;try{const m=s?.formatParams?.[s.interpolationkey]||{},h=m.locale||m.lng||s.locale||s.lng||r;c=this.formats[l](o,h,{...d,...s,...m})}catch(m){this.logger.warn(m)}return c}else this.logger.warn(`there was no format function for ${l}`);return o},e)}}const Nt=(n,e)=>{n.pending[e]!==void 0&&(delete n.pending[e],n.pendingCount--)};class kt extends ee{constructor(e,t,r,s={}){super(),this.backend=e,this.store=t,this.services=r,this.languageUtils=r.languageUtils,this.options=s,this.logger=E.create("backendConnector"),this.waitingReads=[],this.maxParallelReads=s.maxParallelReads||10,this.readingCalls=0,this.maxRetries=s.maxRetries>=0?s.maxRetries:5,this.retryTimeout=s.retryTimeout>=1?s.retryTimeout:350,this.state={},this.queue=[],this.backend?.init?.(r,s.backend,s)}queueLoad(e,t,r,s){const i={},a={},o={},u={};return e.forEach(l=>{let d=!0;t.forEach(c=>{const m=`${l}|${c}`;!r.reload&&this.store.hasResourceBundle(l,c)?this.state[m]=2:this.state[m]<0||(this.state[m]===1?a[m]===void 0&&(a[m]=!0):(this.state[m]=1,d=!1,a[m]===void 0&&(a[m]=!0),i[m]===void 0&&(i[m]=!0),u[c]===void 0&&(u[c]=!0)))}),d||(o[l]=!0)}),(Object.keys(i).length||Object.keys(a).length)&&this.queue.push({pending:a,pendingCount:Object.keys(a).length,loaded:{},errors:[],callback:s}),{toLoad:Object.keys(i),pending:Object.keys(a),toLoadLanguages:Object.keys(o),toLoadNamespaces:Object.keys(u)}}loaded(e,t,r){const s=e.split("|"),i=s[0],a=s[1];t&&this.emit("failedLoading",i,a,t),!t&&r&&this.store.addResourceBundle(i,a,r,void 0,void 0,{skipCopy:!0}),this.state[e]=t?-1:2,t&&r&&(this.state[e]=0);const o={};this.queue.forEach(u=>{at(u.loaded,[i],a),Nt(u,e),t&&u.errors.push(t),u.pendingCount===0&&!u.done&&(Object.keys(u.loaded).forEach(l=>{o[l]||(o[l]={});const d=u.loaded[l];d.length&&d.forEach(c=>{o[l][c]===void 0&&(o[l][c]=!0)})}),u.done=!0,u.errors.length?u.callback(u.errors):u.callback())}),this.emit("loaded",o),this.queue=this.queue.filter(u=>!u.done)}read(e,t,r,s=0,i=this.retryTimeout,a){if(!e.length)return a(null,{});if(this.readingCalls>=this.maxParallelReads){this.waitingReads.push({lng:e,ns:t,fcName:r,tried:s,wait:i,callback:a});return}this.readingCalls++;const o=(l,d)=>{if(this.readingCalls--,this.waitingReads.length>0){const c=this.waitingReads.shift();this.read(c.lng,c.ns,c.fcName,c.tried,c.wait,c.callback)}if(l&&d&&s<this.maxRetries){setTimeout(()=>{this.read.call(this,e,t,r,s+1,i*2,a)},i);return}a(l,d)},u=this.backend[r].bind(this.backend);if(u.length===2){try{const l=u(e,t);l&&typeof l.then=="function"?l.then(d=>o(null,d)).catch(o):o(null,l)}catch(l){o(l)}return}return u(e,t,o)}prepareLoading(e,t,r={},s){if(!this.backend)return this.logger.warn("No backend was added via i18next.use. Will not load resources."),s&&s();p(e)&&(e=this.languageUtils.toResolveHierarchy(e)),p(t)&&(t=[t]);const i=this.queueLoad(e,t,r,s);if(!i.toLoad.length)return i.pending.length||s(),null;i.toLoad.forEach(a=>{this.loadOne(a)})}load(e,t,r){this.prepareLoading(e,t,{},r)}reload(e,t,r){this.prepareLoading(e,t,{reload:!0},r)}loadOne(e,t=""){const r=e.split("|"),s=r[0],i=r[1];this.read(s,i,"read",void 0,void 0,(a,o)=>{a&&this.logger.warn(`${t}loading namespace ${i} for language ${s} failed`,a),!a&&o&&this.logger.log(`${t}loaded namespace ${i} for language ${s}`,o),this.loaded(e,a,o)})}saveMissing(e,t,r,s,i,a={},o=()=>{}){if(this.services?.utils?.hasLoadedNamespace&&!this.services?.utils?.hasLoadedNamespace(t)){this.logger.warn(`did not save key "${r}" as the namespace "${t}" was not yet loaded`,"This means something IS WRONG in your setup. You access the t function before i18next.init / i18next.loadNamespace / i18next.changeLanguage was done. Wait for the callback or Promise to resolve before accessing it!!!");return}if(!(r==null||r==="")){if(this.backend?.create){const u={...a,isUpdate:i},l=this.backend.create.bind(this.backend);if(l.length<6)try{let d;l.length===5?d=l(e,t,r,s,u):d=l(e,t,r,s),d&&typeof d.then=="function"?d.then(c=>o(null,c)).catch(o):o(null,d)}catch(d){o(d)}else l(e,t,r,s,o,u)}!e||!e[0]||this.store.addResource(e[0],t,r,s)}}}const Le=()=>({debug:!1,initAsync:!0,ns:["translation"],defaultNS:["translation"],fallbackLng:["dev"],fallbackNS:!1,supportedLngs:!1,nonExplicitSupportedLngs:!1,load:"all",preload:!1,simplifyPluralSuffix:!0,keySeparator:".",nsSeparator:":",pluralSeparator:"_",contextSeparator:"_",partialBundledLanguages:!1,saveMissing:!1,updateMissing:!1,saveMissingTo:"fallback",saveMissingPlurals:!0,missingKeyHandler:!1,missingInterpolationHandler:!1,postProcess:!1,postProcessPassResolved:!1,returnNull:!1,returnEmptyString:!0,returnObjects:!1,joinArrays:!1,returnedObjectHandler:!1,parseMissingKeyHandler:!1,appendNamespaceToMissingKey:!1,appendNamespaceToCIMode:!1,overloadTranslationOptionHandler:n=>{let e={};if(typeof n[1]=="object"&&(e=n[1]),p(n[1])&&(e.defaultValue=n[1]),p(n[2])&&(e.tDescription=n[2]),typeof n[2]=="object"||typeof n[3]=="object"){const t=n[3]||n[2];Object.keys(t).forEach(r=>{e[r]=t[r]})}return e},interpolation:{escapeValue:!0,format:n=>n,prefix:"{{",suffix:"}}",formatSeparator:",",unescapePrefix:"-",nestingPrefix:"$t(",nestingSuffix:")",nestingOptionsSeparator:",",maxReplaces:1e3,skipOnVariables:!0},cacheInBuiltFormats:!0}),ve=n=>(p(n.ns)&&(n.ns=[n.ns]),p(n.fallbackLng)&&(n.fallbackLng=[n.fallbackLng]),p(n.fallbackNS)&&(n.fallbackNS=[n.fallbackNS]),n.supportedLngs?.indexOf?.("cimode")<0&&(n.supportedLngs=n.supportedLngs.concat(["cimode"])),typeof n.initImmediate=="boolean"&&(n.initAsync=n.initImmediate),n),G=()=>{},Ot=n=>{Object.getOwnPropertyNames(Object.getPrototypeOf(n)).forEach(t=>{typeof n[t]=="function"&&(n[t]=n[t].bind(n))})};class _ extends ee{constructor(e={},t){if(super(),this.options=ve(e),this.services={},this.logger=E,this.modules={external:[]},Ot(this),t&&!this.isInitialized&&!e.isClone){if(!this.options.initAsync)return this.init(e,t),this;setTimeout(()=>{this.init(e,t)},0)}}init(e={},t){this.isInitializing=!0,typeof e=="function"&&(t=e,e={}),e.defaultNS==null&&e.ns&&(p(e.ns)?e.defaultNS=e.ns:e.ns.indexOf("translation")<0&&(e.defaultNS=e.ns[0]));const r=Le();this.options={...r,...this.options,...ve(e)},this.options.interpolation={...r.interpolation,...this.options.interpolation},e.keySeparator!==void 0&&(this.options.userDefinedKeySeparator=e.keySeparator),e.nsSeparator!==void 0&&(this.options.userDefinedNsSeparator=e.nsSeparator);const s=l=>l?typeof l=="function"?new l:l:null;if(!this.options.isClone){this.modules.logger?E.init(s(this.modules.logger),this.options):E.init(null,this.options);let l;this.modules.formatter?l=this.modules.formatter:l=St;const d=new Se(this.options);this.store=new ye(this.options.resources,this.options);const c=this.services;c.logger=E,c.resourceStore=this.store,c.languageUtils=d,c.pluralResolver=new mt(d,{prepend:this.options.pluralSeparator,simplifyPluralSuffix:this.options.simplifyPluralSuffix}),this.options.interpolation.format&&this.options.interpolation.format!==r.interpolation.format&&this.logger.deprecate("init: you are still using the legacy format function, please use the new approach: https://www.i18next.com/translation-function/formatting"),l&&(!this.options.interpolation.format||this.options.interpolation.format===r.interpolation.format)&&(c.formatter=s(l),c.formatter.init&&c.formatter.init(c,this.options),this.options.interpolation.format=c.formatter.format.bind(c.formatter)),c.interpolator=new xt(this.options),c.utils={hasLoadedNamespace:this.hasLoadedNamespace.bind(this)},c.backendConnector=new kt(s(this.modules.backend),c.resourceStore,c,this.options),c.backendConnector.on("*",(h,...g)=>{this.emit(h,...g)}),this.modules.languageDetector&&(c.languageDetector=s(this.modules.languageDetector),c.languageDetector.init&&c.languageDetector.init(c,this.options.detection,this.options)),this.modules.i18nFormat&&(c.i18nFormat=s(this.modules.i18nFormat),c.i18nFormat.init&&c.i18nFormat.init(this)),this.translator=new q(this.services,this.options),this.translator.on("*",(h,...g)=>{this.emit(h,...g)}),this.modules.external.forEach(h=>{h.init&&h.init(this)})}if(this.format=this.options.interpolation.format,t||(t=G),this.options.fallbackLng&&!this.services.languageDetector&&!this.options.lng){const l=this.services.languageUtils.getFallbackCodes(this.options.fallbackLng);l.length>0&&l[0]!=="dev"&&(this.options.lng=l[0])}!this.services.languageDetector&&!this.options.lng&&this.logger.warn("init: no languageDetector is used and no lng is defined"),["getResource","hasResourceBundle","getResourceBundle","getDataByLanguage"].forEach(l=>{this[l]=(...d)=>this.store[l](...d)}),["addResource","addResources","addResourceBundle","removeResourceBundle"].forEach(l=>{this[l]=(...d)=>(this.store[l](...d),this)});const o=B(),u=()=>{const l=(d,c)=>{this.isInitializing=!1,this.isInitialized&&!this.initializedStoreOnce&&this.logger.warn("init: i18next is already initialized. You should call init just once!"),this.isInitialized=!0,this.options.isClone||this.logger.log("initialized",this.options),this.emit("initialized",this.options),o.resolve(c),t(d,c)};if(this.languages&&!this.isInitialized)return l(null,this.t.bind(this));this.changeLanguage(this.options.lng,l)};return this.options.resources||!this.options.initAsync?u():setTimeout(u,0),o}loadResources(e,t=G){let r=t;const s=p(e)?e:this.language;if(typeof e=="function"&&(r=e),!this.options.resources||this.options.partialBundledLanguages){if(s?.toLowerCase()==="cimode"&&(!this.options.preload||this.options.preload.length===0))return r();const i=[],a=o=>{if(!o||o==="cimode")return;this.services.languageUtils.toResolveHierarchy(o).forEach(l=>{l!=="cimode"&&i.indexOf(l)<0&&i.push(l)})};s?a(s):this.services.languageUtils.getFallbackCodes(this.options.fallbackLng).forEach(u=>a(u)),this.options.preload?.forEach?.(o=>a(o)),this.services.backendConnector.load(i,this.options.ns,o=>{!o&&!this.resolvedLanguage&&this.language&&this.setResolvedLanguage(this.language),r(o)})}else r(null)}reloadResources(e,t,r){const s=B();return typeof e=="function"&&(r=e,e=void 0),typeof t=="function"&&(r=t,t=void 0),e||(e=this.languages),t||(t=this.options.ns),r||(r=G),this.services.backendConnector.reload(e,t,i=>{s.resolve(),r(i)}),s}use(e){if(!e)throw new Error("You are passing an undefined module! Please check the object you are passing to i18next.use()");if(!e.type)throw new Error("You are passing a wrong module! Please check the object you are passing to i18next.use()");return e.type==="backend"&&(this.modules.backend=e),(e.type==="logger"||e.log&&e.warn&&e.error)&&(this.modules.logger=e),e.type==="languageDetector"&&(this.modules.languageDetector=e),e.type==="i18nFormat"&&(this.modules.i18nFormat=e),e.type==="postProcessor"&&Te.addPostProcessor(e),e.type==="formatter"&&(this.modules.formatter=e),e.type==="3rdParty"&&this.modules.external.push(e),this}setResolvedLanguage(e){if(!(!e||!this.languages)&&!(["cimode","dev"].indexOf(e)>-1)){for(let t=0;t<this.languages.length;t++){const r=this.languages[t];if(!(["cimode","dev"].indexOf(r)>-1)&&this.store.hasLanguageSomeTranslations(r)){this.resolvedLanguage=r;break}}!this.resolvedLanguage&&this.languages.indexOf(e)<0&&this.store.hasLanguageSomeTranslations(e)&&(this.resolvedLanguage=e,this.languages.unshift(e))}}changeLanguage(e,t){this.isLanguageChangingTo=e;const r=B();this.emit("languageChanging",e);const s=o=>{this.language=o,this.languages=this.services.languageUtils.toResolveHierarchy(o),this.resolvedLanguage=void 0,this.setResolvedLanguage(o)},i=(o,u)=>{u?this.isLanguageChangingTo===e&&(s(u),this.translator.changeLanguage(u),this.isLanguageChangingTo=void 0,this.emit("languageChanged",u),this.logger.log("languageChanged",u)):this.isLanguageChangingTo=void 0,r.resolve((...l)=>this.t(...l)),t&&t(o,(...l)=>this.t(...l))},a=o=>{!e&&!o&&this.services.languageDetector&&(o=[]);const u=p(o)?o:o&&o[0],l=this.store.hasLanguageSomeTranslations(u)?u:this.services.languageUtils.getBestMatchFromCodes(p(o)?[o]:o);l&&(this.language||s(l),this.translator.language||this.translator.changeLanguage(l),this.services.languageDetector?.cacheUserLanguage?.(l)),this.loadResources(l,d=>{i(d,l)})};return!e&&this.services.languageDetector&&!this.services.languageDetector.async?a(this.services.languageDetector.detect()):!e&&this.services.languageDetector&&this.services.languageDetector.async?this.services.languageDetector.detect.length===0?this.services.languageDetector.detect().then(a):this.services.languageDetector.detect(a):a(e),r}getFixedT(e,t,r){const s=(i,a,...o)=>{let u;typeof a!="object"?u=this.options.overloadTranslationOptionHandler([i,a].concat(o)):u={...a},u.lng=u.lng||s.lng,u.lngs=u.lngs||s.lngs,u.ns=u.ns||s.ns,u.keyPrefix!==""&&(u.keyPrefix=u.keyPrefix||r||s.keyPrefix);const l=this.options.keySeparator||".";let d;return u.keyPrefix&&Array.isArray(i)?d=i.map(c=>(typeof c=="function"&&(c=ie(c,{...this.options,...a})),`${u.keyPrefix}${l}${c}`)):(typeof i=="function"&&(i=ie(i,{...this.options,...a})),d=u.keyPrefix?`${u.keyPrefix}${l}${i}`:i),this.t(d,u)};return p(e)?s.lng=e:s.lngs=e,s.ns=t,s.keyPrefix=r,s}t(...e){return this.translator?.translate(...e)}exists(...e){return this.translator?.exists(...e)}setDefaultNamespace(e){this.options.defaultNS=e}hasLoadedNamespace(e,t={}){if(!this.isInitialized)return this.logger.warn("hasLoadedNamespace: i18next was not initialized",this.languages),!1;if(!this.languages||!this.languages.length)return this.logger.warn("hasLoadedNamespace: i18n.languages were undefined or empty",this.languages),!1;const r=t.lng||this.resolvedLanguage||this.languages[0],s=this.options?this.options.fallbackLng:!1,i=this.languages[this.languages.length-1];if(r.toLowerCase()==="cimode")return!0;const a=(o,u)=>{const l=this.services.backendConnector.state[`${o}|${u}`];return l===-1||l===0||l===2};if(t.precheck){const o=t.precheck(this,a);if(o!==void 0)return o}return!!(this.hasResourceBundle(r,e)||!this.services.backendConnector.backend||this.options.resources&&!this.options.partialBundledLanguages||a(r,e)&&(!s||a(i,e)))}loadNamespaces(e,t){const r=B();return this.options.ns?(p(e)&&(e=[e]),e.forEach(s=>{this.options.ns.indexOf(s)<0&&this.options.ns.push(s)}),this.loadResources(s=>{r.resolve(),t&&t(s)}),r):(t&&t(),Promise.resolve())}loadLanguages(e,t){const r=B();p(e)&&(e=[e]);const s=this.options.preload||[],i=e.filter(a=>s.indexOf(a)<0&&this.services.languageUtils.isSupportedCode(a));return i.length?(this.options.preload=s.concat(i),this.loadResources(a=>{r.resolve(),t&&t(a)}),r):(t&&t(),Promise.resolve())}dir(e){if(e||(e=this.resolvedLanguage||(this.languages?.length>0?this.languages[0]:this.language)),!e)return"rtl";try{const s=new Intl.Locale(e);if(s&&s.getTextInfo){const i=s.getTextInfo();if(i&&i.direction)return i.direction}}catch{}const t=["ar","shu","sqr","ssh","xaa","yhd","yud","aao","abh","abv","acm","acq","acw","acx","acy","adf","ads","aeb","aec","afb","ajp","apc","apd","arb","arq","ars","ary","arz","auz","avl","ayh","ayl","ayn","ayp","bbz","pga","he","iw","ps","pbt","pbu","pst","prp","prd","ug","ur","ydd","yds","yih","ji","yi","hbo","men","xmn","fa","jpr","peo","pes","prs","dv","sam","ckb"],r=this.services?.languageUtils||new Se(Le());return e.toLowerCase().indexOf("-latn")>1?"ltr":t.indexOf(r.getLanguagePartFromCode(e))>-1||e.toLowerCase().indexOf("-arab")>1?"rtl":"ltr"}static createInstance(e={},t){return new _(e,t)}cloneInstance(e={},t=G){const r=e.forkResourceStore;r&&delete e.forkResourceStore;const s={...this.options,...e,isClone:!0},i=new _(s);if((e.debug!==void 0||e.prefix!==void 0)&&(i.logger=i.logger.clone(e)),["store","services","language"].forEach(o=>{i[o]=this[o]}),i.services={...this.services},i.services.utils={hasLoadedNamespace:i.hasLoadedNamespace.bind(i)},r){const o=Object.keys(this.store.data).reduce((u,l)=>(u[l]={...this.store.data[l]},u[l]=Object.keys(u[l]).reduce((d,c)=>(d[c]={...u[l][c]},d),u[l]),u),{});i.store=new ye(o,s),i.services.resourceStore=i.store}return i.translator=new q(i.services,s),i.translator.on("*",(o,...u)=>{i.emit(o,...u)}),i.init(s,t),i.translator.options=s,i.translator.backendConnector.services.utils={hasLoadedNamespace:i.hasLoadedNamespace.bind(i)},i}toJSON(){return{options:this.options,store:this.store,language:this.language,languages:this.languages,resolvedLanguage:this.resolvedLanguage}}}const w=_.createInstance();w.createInstance=_.createInstance;w.createInstance;w.dir;w.init;w.loadResources;w.reloadResources;w.use;w.changeLanguage;w.getFixedT;w.t;w.exists;w.setDefaultNamespace;w.hasLoadedNamespace;w.loadNamespaces;w.loadLanguages;const wt=(n,e,t,r)=>{const s=[t,{code:e,...r||{}}];if(n?.services?.logger?.forward)return n.services.logger.forward(s,"warn","react-i18next::",!0);K(s[0])&&(s[0]=`react-i18next:: ${s[0]}`),n?.services?.logger?.warn?n.services.logger.warn(...s):console?.warn&&console.warn(...s)},je={},ne=(n,e,t,r)=>{K(t)&&je[t]||(K(t)&&(je[t]=new Date),wt(n,e,t,r))},Fe=(n,e)=>()=>{if(n.isInitialized)e();else{const t=()=>{setTimeout(()=>{n.off("initialized",t)},0),e()};n.on("initialized",t)}},ae=(n,e,t)=>{n.loadNamespaces(e,Fe(n,t))},Re=(n,e,t,r)=>{if(K(t)&&(t=[t]),n.options.preload&&n.options.preload.indexOf(e)>-1)return ae(n,t,r);t.forEach(s=>{n.options.ns.indexOf(s)<0&&n.options.ns.push(s)}),n.loadLanguages(e,Fe(n,r))},Lt=(n,e,t={})=>!e.languages||!e.languages.length?(ne(e,"NO_LANGUAGES","i18n.languages were undefined or empty",{languages:e.languages}),!0):e.hasLoadedNamespace(n,{lng:t.lng,precheck:(r,s)=>{if(t.bindI18n&&t.bindI18n.indexOf("languageChanging")>-1&&r.services.backendConnector.backend&&r.isLanguageChangingTo&&!s(r.isLanguageChangingTo,n))return!1}}),K=n=>typeof n=="string",vt=n=>typeof n=="object"&&n!==null,jt=/&(?:amp|#38|lt|#60|gt|#62|apos|#39|quot|#34|nbsp|#160|copy|#169|reg|#174|hellip|#8230|#x2F|#47);/g,Rt={"&amp;":"&","&#38;":"&","&lt;":"<","&#60;":"<","&gt;":">","&#62;":">","&apos;":"'","&#39;":"'","&quot;":'"',"&#34;":'"',"&nbsp;":" ","&#160;":" ","&copy;":"©","&#169;":"©","&reg;":"®","&#174;":"®","&hellip;":"…","&#8230;":"…","&#x2F;":"/","&#47;":"/"},Ct=n=>Rt[n],$t=n=>n.replace(jt,Ct);let oe={bindI18n:"languageChanged",bindI18nStore:"",transEmptyNodeValue:"",transSupportBasicHtmlNodes:!0,transWrapTextNodes:"",transKeepBasicHtmlNodesFor:["br","strong","i","p"],useSuspense:!0,unescape:$t};const Pt=(n={})=>{oe={...oe,...n}},Tt=()=>oe;let Ie;const Et=n=>{Ie=n},Ft=()=>Ie,_t={type:"3rdParty",init(n){Pt(n.options.react),Et(n)}},It=T.createContext();class Dt{constructor(){this.usedNamespaces={}}addUsedNamespaces(e){e.forEach(t=>{this.usedNamespaces[t]||(this.usedNamespaces[t]=!0)})}getUsedNamespaces(){return Object.keys(this.usedNamespaces)}}const Kt=(n,e)=>{const t=T.useRef();return T.useEffect(()=>{t.current=n},[n,e]),t.current},De=(n,e,t,r)=>n.getFixedT(e,t,r),At=(n,e,t,r)=>T.useCallback(De(n,e,t,r),[n,e,t,r]),W=(n,e={})=>{const{i18n:t}=e,{i18n:r,defaultNS:s}=T.useContext(It)||{},i=t||r||Ft();if(i&&!i.reportNamespaces&&(i.reportNamespaces=new Dt),!i){ne(i,"NO_I18NEXT_INSTANCE","useTranslation: You will need to pass in an i18next instance by using initReactI18next");const x=(k,O)=>K(O)?O:vt(O)&&K(O.defaultValue)?O.defaultValue:Array.isArray(k)?k[k.length-1]:k,N=[x,{},!1];return N.t=x,N.i18n={},N.ready=!1,N}i.options.react?.wait&&ne(i,"DEPRECATED_OPTION","useTranslation: It seems you are still using the old wait option, you may migrate to the new useSuspense behaviour.");const a={...Tt(),...i.options.react,...e},{useSuspense:o,keyPrefix:u}=a;let l=n||s||i.options?.defaultNS;l=K(l)?[l]:l||["translation"],i.reportNamespaces.addUsedNamespaces?.(l);const d=(i.isInitialized||i.initializedStoreOnce)&&l.every(x=>Lt(x,i,a)),c=At(i,e.lng||null,a.nsMode==="fallback"?l:l[0],u),m=()=>c,h=()=>De(i,e.lng||null,a.nsMode==="fallback"?l:l[0],u),[g,b]=T.useState(m);let S=l.join();e.lng&&(S=`${e.lng}${S}`);const L=Kt(S),y=T.useRef(!0);T.useEffect(()=>{const{bindI18n:x,bindI18nStore:N}=a;y.current=!0,!d&&!o&&(e.lng?Re(i,e.lng,l,()=>{y.current&&b(h)}):ae(i,l,()=>{y.current&&b(h)})),d&&L&&L!==S&&y.current&&b(h);const k=()=>{y.current&&b(h)};return x&&i?.on(x,k),N&&i?.store.on(N,k),()=>{y.current=!1,i&&x&&x?.split(" ").forEach(O=>i.off(O,k)),N&&i&&N.split(" ").forEach(O=>i.store.off(O,k))}},[i,S]),T.useEffect(()=>{y.current&&d&&b(m)},[i,u,d]);const v=[g,i,d];if(v.t=g,v.i18n=i,v.ready=d,d||!d&&!o)return v;throw new Promise(x=>{e.lng?Re(i,e.lng,l,()=>x()):ae(i,l,()=>x())})},Ut={Task:qe,Bash:Y,BashOutput:Ze,KillBash:Ce,Glob:Qe,Grep:Ye,LS:Ge,exit_plan_mode:X,Read:Je,Edit:We,MultiEdit:_e,Write:ze,NotebookRead:He,NotebookEdit:Me,WebFetch:he,TodoWrite:Be,WebSearch:he,Skill:Ve},Vt={Task:"text-purple-600 dark:text-purple-400 bg-purple-100 dark:bg-purple-900/30",Bash:"text-gray-800 dark:text-gray-300 bg-gray-100 dark:bg-gray-700",BashOutput:"text-blue-700 dark:text-blue-400 bg-blue-50 dark:bg-blue-900/30",KillBash:"text-red-700 dark:text-red-400 bg-red-50 dark:bg-red-900/30",Glob:"text-blue-600 dark:text-blue-400 bg-blue-100 dark:bg-blue-900/30",Grep:"text-green-600 dark:text-green-400 bg-green-100 dark:bg-green-900/30",LS:"text-yellow-600 dark:text-yellow-400 bg-yellow-100 dark:bg-yellow-900/30",exit_plan_mode:"text-emerald-600 dark:text-emerald-400 bg-emerald-100 dark:bg-emerald-900/30",Read:"text-indigo-600 dark:text-indigo-400 bg-indigo-100 dark:bg-indigo-900/30",Edit:"text-orange-600 dark:text-orange-400 bg-orange-100 dark:bg-orange-900/30",MultiEdit:"text-red-600 dark:text-red-400 bg-red-100 dark:bg-red-900/30",Write:"text-cyan-600 dark:text-cyan-400 bg-cyan-100 dark:bg-cyan-900/30",NotebookRead:"text-pink-600 dark:text-pink-400 bg-pink-100 dark:bg-pink-900/30",NotebookEdit:"text-rose-600 dark:text-rose-400 bg-rose-100 dark:bg-rose-900/30",WebFetch:"text-teal-600 dark:text-teal-400 bg-teal-100 dark:bg-teal-900/30",TodoWrite:"text-violet-600 dark:text-violet-400 bg-violet-100 dark:bg-violet-900/30",WebSearch:"text-sky-600 dark:text-sky-400 bg-sky-100 dark:bg-sky-900/30",Skill:"text-fuchsia-600 dark:text-fuchsia-400 bg-fuchsia-100 dark:bg-fuchsia-900/30"},le=({execution:n,children:e,subtitle:t,showResult:r=!0,isMcpTool:s=!1,hideToolName:i=!0,customIcon:a,overrideToolName:o,defaultExpanded:u=!1})=>{const{t:l}=W(),[d,c]=T.useState(u),m=s?Ue:Ut[n.toolName]||Y,h=s?"text-blue-600 dark:text-blue-400 bg-blue-100 dark:bg-blue-900/30":Vt[n.toolName]||"text-gray-600 dark:text-gray-400 bg-gray-100 dark:bg-gray-700";return f.jsx(f.Fragment,{children:f.jsxs("div",{className:"border border-gray-200 dark:border-gray-700 rounded-lg bg-gray-50 dark:bg-gray-800 max-w-full",children:[f.jsxs("div",{className:`flex items-center justify-between cursor-pointer hover:bg-gray-100 dark:hover:bg-gray-700 transition-colors ${i?"p-2":"p-4"}`,onClick:()=>c(!d),children:[f.jsxs("div",{className:"flex items-center space-x-2 flex-1 min-w-0",children:[f.jsx("div",{className:`${i?"p-1.5":"p-2"} rounded-full ${n.isInterrupted?"text-orange-600 dark:text-orange-400 bg-orange-100 dark:bg-orange-900/30":h}`,children:n.isExecuting?f.jsx(Xe,{className:"w-4 h-4 animate-spin"}):n.isInterrupted?f.jsx(H,{className:"w-4 h-4"}):a||f.jsx(m,{className:"w-4 h-4"})}),f.jsxs("div",{className:"min-w-0 flex-1",children:[!i&&f.jsx("h4",{className:"text-sm font-semibold text-gray-800 dark:text-gray-200",children:o||n.toolName}),t&&f.jsx("p",{className:`text-xs truncate ${n.isInterrupted?"text-orange-600 dark:text-orange-400":"text-gray-500 dark:text-gray-400"}`,children:n.isInterrupted?l("baseToolComponent.interrupted"):t})]})]}),f.jsx("div",{className:"flex items-center shrink-0",children:d?f.jsx(et,{className:"w-4 h-4 text-gray-400 dark:text-gray-500"}):f.jsx(tt,{className:"w-4 h-4 text-gray-400 dark:text-gray-500"})})]}),d&&f.jsx("div",{className:"px-4 pb-4 border-t border-gray-200 dark:border-gray-700",children:f.jsxs("div",{className:"pt-3",children:[e,r&&n.toolResult&&!n.isError&&f.jsx(Bt,{result:n.toolResult})]})})]})})},Wt=({label:n,value:e,className:t="",isCode:r=!1})=>{if(e==null||e==="")return null;const s=typeof e=="object"?JSON.stringify(e,null,2):String(e);return f.jsxs("div",{className:`mb-2 ${t}`,children:[f.jsxs("span",{className:"text-xs font-medium text-gray-600 dark:text-gray-400",children:[n,":"]}),f.jsx("div",{className:`mt-1 ${r?"font-mono bg-gray-100 dark:bg-gray-700 p-2 rounded text-sm text-gray-800 dark:text-gray-200":"text-sm text-gray-800 dark:text-gray-200"}`,children:r?f.jsx("pre",{className:"whitespace-pre-wrap break-words",children:s}):f.jsx("span",{className:"break-words",children:s})})]})},Bt=({result:n,isError:e=!1,className:t=""})=>{const{t:r}=W("components");return n?f.jsxs("div",{className:`mt-3 ${t}`,children:[f.jsx("p",{className:"text-xs font-medium text-gray-600 dark:text-gray-400 mb-2",children:r("baseToolComponent.executionResult")}),f.jsx("div",{className:`p-3 rounded-md border text-sm font-mono whitespace-pre-wrap break-words ${e?"bg-red-50 dark:bg-red-900/30 border-red-200 dark:border-red-800 text-red-700 dark:text-red-300":"bg-green-50 dark:bg-green-900/30 border-green-200 dark:border-green-800 text-green-700 dark:text-green-300"}`,children:n})]}):null},Jt=({execution:n})=>{const{t:e}=W("components"),t=n.toolInput;console.log("🐚 [BashOutputTool] Rendering with execution:",{isExecuting:n.isExecuting,hasToolUseResult:!!n.toolUseResult,toolUseResultType:typeof n.toolUseResult,toolUseResult:n.toolUseResult,input:t});const s=(()=>{if(!n.toolUseResult)return console.log("🐚 [BashOutputTool] No toolUseResult, returning null"),null;if(typeof n.toolUseResult=="object")return n.toolUseResult;if(typeof n.toolUseResult=="string")try{return JSON.parse(n.toolUseResult)}catch{const o=n.toolUseResult.trim(),u=o.includes("running")?"running":o.includes("completed")?"completed":o.includes("killed")?"killed":o.includes("failed")?"failed":"running";return{shellId:t.bash_id,command:"",status:u,exitCode:null,stdout:"",stderr:"",stdoutLines:0,stderrLines:0,timestamp:new Date().toISOString()}}return null})(),i=()=>{const o=s?.shellId||t.bash_id;if(!o)return;let u=`${e("bashOutputTool.shellPrefix")} ${o}`;return s?.status&&(u+=` • ${s.status}`),u},a=o=>{switch(o){case"running":return{icon:f.jsx(Y,{className:"w-4 h-4"}),className:"bg-blue-100 text-blue-800 border-blue-200",text:e("bashOutputTool.status.running")};case"completed":return{icon:f.jsx(X,{className:"w-4 h-4"}),className:"bg-green-100 text-green-800 border-green-200",text:e("bashOutputTool.status.completed")};case"killed":return{icon:f.jsx(st,{className:"w-4 h-4"}),className:"bg-red-100 text-red-800 border-red-200",text:e("bashOutputTool.status.killed")};case"failed":return{icon:f.jsx(H,{className:"w-4 h-4"}),className:"bg-orange-100 text-orange-800 border-orange-200",text:e("bashOutputTool.status.failed")};default:return{icon:f.jsx($e,{className:"w-4 h-4"}),className:"bg-gray-100 text-gray-800 border-gray-200",text:o}}};return f.jsx(le,{execution:n,subtitle:i(),showResult:!1,hideToolName:!1,children:f.jsxs("div",{className:"space-y-4",children:[s&&f.jsxs(f.Fragment,{children:[f.jsxs("div",{className:"bg-gray-50 rounded-lg p-3 space-y-3",children:[f.jsxs("div",{className:`inline-flex items-center gap-2 px-3 py-1 rounded-full border text-sm font-medium ${a(s.status||"unknown").className}`,children:[a(s.status||"unknown").icon,a(s.status||"unknown").text]}),s.command&&f.jsxs("div",{className:"bg-white border rounded px-3 py-2 text-sm font-mono text-gray-800",children:[f.jsx("span",{className:"text-gray-500 mr-2",children:">"}),f.jsx("span",{className:"break-all",children:s.command})]}),(s.filterPattern||t.filter)&&f.jsxs("div",{className:"bg-white border rounded px-3 py-2 text-sm font-mono text-gray-800",children:[f.jsx("span",{className:"text-gray-500 mr-2",children:"filter:"}),f.jsx("span",{className:"break-all",children:s.filterPattern||t.filter})]}),f.jsxs("div",{className:"flex gap-4 text-xs text-gray-500 pt-2 border-t border-gray-200",children:[s.exitCode!==void 0&&s.exitCode!==null&&f.jsxs("span",{children:[e("bashOutputTool.exitCode"),": ",s.exitCode]}),s.timestamp&&f.jsx("span",{children:new Date(s.timestamp).toLocaleTimeString()})]})]}),s.stdout&&f.jsxs("div",{children:[f.jsxs("div",{className:"flex items-center gap-2 text-sm font-medium text-gray-700 mb-2",children:[f.jsx(Y,{className:"w-4 h-4"}),e("bashOutputTool.stdout")]}),f.jsx("pre",{className:"bg-gray-900 text-green-400 rounded-lg px-3 py-2 text-sm font-mono overflow-x-auto whitespace-pre-wrap border",children:s.stdout.trim()})]}),s.stderr&&f.jsxs("div",{children:[f.jsxs("div",{className:"flex items-center gap-2 text-sm font-medium text-red-700 mb-2",children:[f.jsx(H,{className:"w-4 h-4"}),e("bashOutputTool.stderr")]}),f.jsx("pre",{className:"bg-red-50 text-red-800 border border-red-200 rounded-lg px-3 py-2 text-sm font-mono overflow-x-auto whitespace-pre-wrap",children:s.stderr.trim()})]})]}),!s&&f.jsxs("div",{className:"text-sm text-gray-600",children:[e("bashOutputTool.fetchingOutput",{shellId:t.bash_id}),t.filter&&f.jsxs("div",{className:"mt-1 text-xs text-gray-500",children:[e("bashOutputTool.filterCondition"),": ",f.jsx("code",{className:"bg-gray-100 px-1 rounded",children:t.filter})]})]})]})})},Gt=({execution:n})=>{const{t:e}=W("components"),t=n.toolInput,s=(()=>{if(!n.toolResult)return null;try{return JSON.parse(n.toolResult)}catch{return{message:n.toolResult}}})(),i=()=>{if(!t.shell_id)return;const o=s?.message?.match(/\(([^)]+)\)/)?.[1]||"";return o?e("killBashTool.subtitleWithProcess",{shellId:t.shell_id,processName:o}):e("killBashTool.subtitle",{shellId:t.shell_id})},a=()=>n.isError?!1:!!(s?.success===!0||s?.message?.includes("killed")||s?.message?.includes("Successfully"));return f.jsx(le,{execution:n,subtitle:i(),showResult:!1,hideToolName:!1,children:f.jsxs("div",{className:"space-y-3",children:[f.jsxs("div",{className:"flex items-center gap-3",children:[f.jsx("div",{className:`p-2 rounded-full ${n.isExecuting?"bg-yellow-100":a()?"bg-green-100":n.isError?"bg-red-100":"bg-gray-100"}`,children:n.isExecuting?f.jsx(rt,{className:"w-5 h-5 text-yellow-600 animate-pulse"}):a()?f.jsx(X,{className:"w-5 h-5 text-green-600"}):n.isError?f.jsx(H,{className:"w-5 h-5 text-red-600"}):f.jsx(Ce,{className:"w-5 h-5 text-gray-600"})}),f.jsxs("div",{children:[f.jsx("div",{className:`font-medium ${n.isExecuting?"text-yellow-800":a()?"text-green-800":n.isError?"text-red-800":"text-gray-800"}`,children:n.isExecuting?e("killBashTool.status.terminating"):a()?e("killBashTool.status.success"):n.isError?e("killBashTool.status.failed"):e("killBashTool.status.ready")}),f.jsxs("div",{className:"text-sm text-gray-600 mt-1",children:[e("killBashTool.shellId"),": ",f.jsx("code",{className:"bg-gray-100 px-2 py-0.5 rounded text-xs",children:t.shell_id})]})]})]}),s&&s.message&&f.jsx("div",{className:`p-3 rounded-md text-sm font-mono ${a()?"bg-green-100 text-green-800 border border-green-200":n.isError?"bg-red-100 text-red-800 border border-red-200":"bg-gray-100 text-gray-800 border border-gray-200"}`,children:s.message})]})})},Yt=({execution:n})=>{const{t:e}=W("components"),t=n.toolInput,r=Array.isArray(t?.todos)?t.todos:[],s=l=>{switch(l){case"completed":return f.jsx(X,{className:"w-3 h-3 text-green-600 dark:text-green-400"});case"in_progress":return f.jsx($e,{className:"w-3 h-3 text-blue-600 dark:text-blue-400"});default:return f.jsx(H,{className:"w-3 h-3 text-gray-400 dark:text-gray-500"})}},i=r.filter(l=>l.status==="completed").length,a=r.length,o=r.find(l=>l.status==="in_progress")?.content,u=()=>i===a&&a>0?e("todoWriteTool.allTasksCompleted"):o?e("todoWriteTool.currentTaskProgress",{completed:i+1,total:a,task:o}):e("todoWriteTool.pendingTasks",{completed:i,total:a});return f.jsx(le,{execution:n,subtitle:u(),showResult:!1,hideToolName:!1,children:f.jsxs("div",{className:"space-y-1",children:[r.map((l,d)=>f.jsxs("div",{className:"flex items-center gap-2 text-sm py-1",children:[s(l.status),f.jsx("span",{className:`flex-1 ${l.status==="completed"?"text-gray-500 dark:text-gray-400 line-through":l.status==="in_progress"?"text-blue-700 dark:text-blue-300 font-medium":"text-gray-700 dark:text-gray-200"}`,children:l.content})]},d)),f.jsxs("div",{className:"flex gap-3 text-xs text-gray-500 dark:text-gray-400 pt-2 border-t border-gray-200 dark:border-gray-700 mt-2",children:[f.jsx("span",{children:e("todoWriteTool.completedCount",{count:r.filter(l=>l.status==="completed").length})}),f.jsx("span",{children:e("todoWriteTool.inProgressCount",{count:r.filter(l=>l.status==="in_progress").length})}),f.jsx("span",{children:e("todoWriteTool.pendingCount",{count:r.filter(l=>l.status==="pending").length})})]})]})})};export{le as B,Gt as K,Wt as T,_t as a,Yt as b,Jt as c,w as i,W as u};
@@ -1,4 +1,4 @@
1
- import{c as ft}from"./syntax-highlighting-CnREyncB.js";import{bA as wc,bB as _c,aU as xl,bk as Lc,aY as bc,aV as te,ar as Oc,as as ga,ba as Pc,bd as Sl,be as Il,bb as Mc,bp as ya,au as Et,av as D,aW as Ta,aQ as Dc}from"./ChatPage-DkO3kzY2.js";import{k as Xt,j as Us,g as rn,S as Fc,w as Gc,x as Uc,c as Cl,v as z,y as Nl,l as Bc,z as Vc,A as Kc,B as Wc,C as jc,a as wl,d as C,i as Ye,r as le,f as $e,D as Y}from"./_baseUniq-Dt6C4BgZ.js";import{j as Bs,m as $,d as Hc,f as Ne,g as Jt,h as N,i as Vs,l as Qt,e as zc}from"./_basePickBy-Ce1_TuBk.js";import{c as re}from"./clone-CXX9AxT7.js";var qc=Object.prototype,Yc=qc.hasOwnProperty,ke=wc(function(n,e){if(_c(e)||xl(e)){Lc(e,Xt(e),n);return}for(var t in e)Yc.call(e,t)&&bc(n,t,e[t])});function _l(n,e,t){var r=-1,i=n.length;e<0&&(e=-e>i?0:i+e),t=t>i?i:t,t<0&&(t+=i),i=e>t?0:t-e>>>0,e>>>=0;for(var s=Array(i);++r<i;)s[r]=n[r+e];return s}function Zn(n){for(var e=-1,t=n==null?0:n.length,r=0,i=[];++e<t;){var s=n[e];s&&(i[r++]=s)}return i}function Xc(n,e,t,r){for(var i=-1,s=n==null?0:n.length;++i<s;){var a=n[i];e(r,a,t(a),n)}return r}function Jc(n,e,t,r){return Us(n,function(i,s,a){e(r,i,t(i),a)}),r}function Qc(n,e){return function(t,r){var i=te(t)?Xc:Jc,s=e?e():{};return i(t,n,rn(r),s)}}var Zc=200;function ed(n,e,t,r){var i=-1,s=Gc,a=!0,o=n.length,l=[],u=e.length;if(!o)return l;e.length>=Zc&&(s=Uc,a=!1,e=new Fc(e));e:for(;++i<o;){var c=n[i],d=c;if(c=c!==0?c:0,a&&d===d){for(var h=u;h--;)if(e[h]===d)continue e;l.push(c)}else s(e,d,r)||l.push(c)}return l}var hi=Oc(function(n,e){return ga(n)?ed(n,Cl(e,1,ga,!0)):[]});function Q(n,e,t){var r=n==null?0:n.length;return r?(e=e===void 0?1:Bs(e),_l(n,e<0?0:e,r)):[]}function Yn(n,e,t){var r=n==null?0:n.length;return r?(e=e===void 0?1:Bs(e),e=r-e,_l(n,0,e<0?0:e)):[]}function td(n,e){for(var t=-1,r=n==null?0:n.length;++t<r;)if(!e(n[t],t,n))return!1;return!0}function nd(n,e){var t=!0;return Us(n,function(r,i,s){return t=!!e(r,i,s),t}),t}function Oe(n,e,t){var r=te(n)?td:nd;return r(n,rn(e))}function Pe(n){return n&&n.length?n[0]:void 0}function Ee(n,e){return Cl($(n,e))}var rd=Object.prototype,id=rd.hasOwnProperty,sd=Qc(function(n,e,t){id.call(n,t)?n[t].push(e):Pc(n,t,[e])}),ad="[object String]";function he(n){return typeof n=="string"||!te(n)&&Sl(n)&&Il(n)==ad}var od=Math.max;function de(n,e,t,r){n=xl(n)?n:z(n),t=t?Bs(t):0;var i=n.length;return t<0&&(t=od(i+t,0)),he(n)?t<=i&&n.indexOf(e,t)>-1:!!i&&Nl(n,e,t)>-1}function Ra(n,e,t){var r=n==null?0:n.length;if(!r)return-1;var i=0;return Nl(n,e,i)}var ld="[object RegExp]";function ud(n){return Sl(n)&&Il(n)==ld}var va=ya&&ya.isRegExp,Xe=va?Mc(va):ud,cd="Expected a function";function dd(n){if(typeof n!="function")throw new TypeError(cd);return function(){var e=arguments;switch(e.length){case 0:return!n.call(this);case 1:return!n.call(this,e[0]);case 2:return!n.call(this,e[0],e[1]);case 3:return!n.call(this,e[0],e[1],e[2])}return!n.apply(this,e)}}function Me(n,e){if(n==null)return{};var t=Bc(Vc(n),function(r){return[r]});return e=rn(e),Hc(n,t,function(r,i){return e(r,i[0])})}function pi(n,e){var t=te(n)?Kc:Wc;return t(n,dd(rn(e)))}function fd(n,e){var t;return Us(n,function(r,i,s){return t=e(r,i,s),!t}),!!t}function Ll(n,e,t){var r=te(n)?jc:fd;return r(n,rn(e))}function Ks(n){return n&&n.length?wl(n):[]}function hd(n,e){return n&&n.length?wl(n,rn(e)):[]}function ae(n){return typeof n=="object"&&n!==null&&typeof n.$type=="string"}function Ue(n){return typeof n=="object"&&n!==null&&typeof n.$refText=="string"}function pd(n){return typeof n=="object"&&n!==null&&typeof n.name=="string"&&typeof n.type=="string"&&typeof n.path=="string"}function Nr(n){return typeof n=="object"&&n!==null&&ae(n.container)&&Ue(n.reference)&&typeof n.message=="string"}class bl{constructor(){this.subtypes={},this.allSubtypes={}}isInstance(e,t){return ae(e)&&this.isSubtype(e.$type,t)}isSubtype(e,t){if(e===t)return!0;let r=this.subtypes[e];r||(r=this.subtypes[e]={});const i=r[t];if(i!==void 0)return i;{const s=this.computeIsSubtype(e,t);return r[t]=s,s}}getAllSubTypes(e){const t=this.allSubtypes[e];if(t)return t;{const r=this.getAllTypes(),i=[];for(const s of r)this.isSubtype(s,e)&&i.push(s);return this.allSubtypes[e]=i,i}}}function Xn(n){return typeof n=="object"&&n!==null&&Array.isArray(n.content)}function Ol(n){return typeof n=="object"&&n!==null&&typeof n.tokenType=="object"}function Pl(n){return Xn(n)&&typeof n.fullText=="string"}class Z{constructor(e,t){this.startFn=e,this.nextFn=t}iterator(){const e={state:this.startFn(),next:()=>this.nextFn(e.state),[Symbol.iterator]:()=>e};return e}[Symbol.iterator](){return this.iterator()}isEmpty(){return!!this.iterator().next().done}count(){const e=this.iterator();let t=0,r=e.next();for(;!r.done;)t++,r=e.next();return t}toArray(){const e=[],t=this.iterator();let r;do r=t.next(),r.value!==void 0&&e.push(r.value);while(!r.done);return e}toSet(){return new Set(this)}toMap(e,t){const r=this.map(i=>[e?e(i):i,t?t(i):i]);return new Map(r)}toString(){return this.join()}concat(e){return new Z(()=>({first:this.startFn(),firstDone:!1,iterator:e[Symbol.iterator]()}),t=>{let r;if(!t.firstDone){do if(r=this.nextFn(t.first),!r.done)return r;while(!r.done);t.firstDone=!0}do if(r=t.iterator.next(),!r.done)return r;while(!r.done);return ve})}join(e=","){const t=this.iterator();let r="",i,s=!1;do i=t.next(),i.done||(s&&(r+=e),r+=md(i.value)),s=!0;while(!i.done);return r}indexOf(e,t=0){const r=this.iterator();let i=0,s=r.next();for(;!s.done;){if(i>=t&&s.value===e)return i;s=r.next(),i++}return-1}every(e){const t=this.iterator();let r=t.next();for(;!r.done;){if(!e(r.value))return!1;r=t.next()}return!0}some(e){const t=this.iterator();let r=t.next();for(;!r.done;){if(e(r.value))return!0;r=t.next()}return!1}forEach(e){const t=this.iterator();let r=0,i=t.next();for(;!i.done;)e(i.value,r),i=t.next(),r++}map(e){return new Z(this.startFn,t=>{const{done:r,value:i}=this.nextFn(t);return r?ve:{done:!1,value:e(i)}})}filter(e){return new Z(this.startFn,t=>{let r;do if(r=this.nextFn(t),!r.done&&e(r.value))return r;while(!r.done);return ve})}nonNullable(){return this.filter(e=>e!=null)}reduce(e,t){const r=this.iterator();let i=t,s=r.next();for(;!s.done;)i===void 0?i=s.value:i=e(i,s.value),s=r.next();return i}reduceRight(e,t){return this.recursiveReduce(this.iterator(),e,t)}recursiveReduce(e,t,r){const i=e.next();if(i.done)return r;const s=this.recursiveReduce(e,t,r);return s===void 0?i.value:t(s,i.value)}find(e){const t=this.iterator();let r=t.next();for(;!r.done;){if(e(r.value))return r.value;r=t.next()}}findIndex(e){const t=this.iterator();let r=0,i=t.next();for(;!i.done;){if(e(i.value))return r;i=t.next(),r++}return-1}includes(e){const t=this.iterator();let r=t.next();for(;!r.done;){if(r.value===e)return!0;r=t.next()}return!1}flatMap(e){return new Z(()=>({this:this.startFn()}),t=>{do{if(t.iterator){const s=t.iterator.next();if(s.done)t.iterator=void 0;else return s}const{done:r,value:i}=this.nextFn(t.this);if(!r){const s=e(i);if(Wr(s))t.iterator=s[Symbol.iterator]();else return{done:!1,value:s}}}while(t.iterator);return ve})}flat(e){if(e===void 0&&(e=1),e<=0)return this;const t=e>1?this.flat(e-1):this;return new Z(()=>({this:t.startFn()}),r=>{do{if(r.iterator){const a=r.iterator.next();if(a.done)r.iterator=void 0;else return a}const{done:i,value:s}=t.nextFn(r.this);if(!i)if(Wr(s))r.iterator=s[Symbol.iterator]();else return{done:!1,value:s}}while(r.iterator);return ve})}head(){const t=this.iterator().next();if(!t.done)return t.value}tail(e=1){return new Z(()=>{const t=this.startFn();for(let r=0;r<e;r++)if(this.nextFn(t).done)return t;return t},this.nextFn)}limit(e){return new Z(()=>({size:0,state:this.startFn()}),t=>(t.size++,t.size>e?ve:this.nextFn(t.state)))}distinct(e){return new Z(()=>({set:new Set,internalState:this.startFn()}),t=>{let r;do if(r=this.nextFn(t.internalState),!r.done){const i=e?e(r.value):r.value;if(!t.set.has(i))return t.set.add(i),r}while(!r.done);return ve})}exclude(e,t){const r=new Set;for(const i of e){const s=t?t(i):i;r.add(s)}return this.filter(i=>{const s=t?t(i):i;return!r.has(s)})}}function md(n){return typeof n=="string"?n:typeof n>"u"?"undefined":typeof n.toString=="function"?n.toString():Object.prototype.toString.call(n)}function Wr(n){return!!n&&typeof n[Symbol.iterator]=="function"}const gd=new Z(()=>{},()=>ve),ve=Object.freeze({done:!0,value:void 0});function ee(...n){if(n.length===1){const e=n[0];if(e instanceof Z)return e;if(Wr(e))return new Z(()=>e[Symbol.iterator](),t=>t.next());if(typeof e.length=="number")return new Z(()=>({index:0}),t=>t.index<e.length?{done:!1,value:e[t.index++]}:ve)}return n.length>1?new Z(()=>({collIndex:0,arrIndex:0}),e=>{do{if(e.iterator){const t=e.iterator.next();if(!t.done)return t;e.iterator=void 0}if(e.array){if(e.arrIndex<e.array.length)return{done:!1,value:e.array[e.arrIndex++]};e.array=void 0,e.arrIndex=0}if(e.collIndex<n.length){const t=n[e.collIndex++];Wr(t)?e.iterator=t[Symbol.iterator]():t&&typeof t.length=="number"&&(e.array=t)}}while(e.iterator||e.array||e.collIndex<n.length);return ve}):gd}class Ws extends Z{constructor(e,t,r){super(()=>({iterators:r?.includeRoot?[[e][Symbol.iterator]()]:[t(e)[Symbol.iterator]()],pruned:!1}),i=>{for(i.pruned&&(i.iterators.pop(),i.pruned=!1);i.iterators.length>0;){const a=i.iterators[i.iterators.length-1].next();if(a.done)i.iterators.pop();else return i.iterators.push(t(a.value)[Symbol.iterator]()),a}return ve})}iterator(){const e={state:this.startFn(),next:()=>this.nextFn(e.state),prune:()=>{e.state.pruned=!0},[Symbol.iterator]:()=>e};return e}}var is;(function(n){function e(s){return s.reduce((a,o)=>a+o,0)}n.sum=e;function t(s){return s.reduce((a,o)=>a*o,0)}n.product=t;function r(s){return s.reduce((a,o)=>Math.min(a,o))}n.min=r;function i(s){return s.reduce((a,o)=>Math.max(a,o))}n.max=i})(is||(is={}));function ss(n){return new Ws(n,e=>Xn(e)?e.content:[],{includeRoot:!0})}function yd(n,e){for(;n.container;)if(n=n.container,n===e)return!0;return!1}function as(n){return{start:{character:n.startColumn-1,line:n.startLine-1},end:{character:n.endColumn,line:n.endLine-1}}}function jr(n){if(!n)return;const{offset:e,end:t,range:r}=n;return{range:r,offset:e,end:t,length:t-e}}var He;(function(n){n[n.Before=0]="Before",n[n.After=1]="After",n[n.OverlapFront=2]="OverlapFront",n[n.OverlapBack=3]="OverlapBack",n[n.Inside=4]="Inside",n[n.Outside=5]="Outside"})(He||(He={}));function Td(n,e){if(n.end.line<e.start.line||n.end.line===e.start.line&&n.end.character<=e.start.character)return He.Before;if(n.start.line>e.end.line||n.start.line===e.end.line&&n.start.character>=e.end.character)return He.After;const t=n.start.line>e.start.line||n.start.line===e.start.line&&n.start.character>=e.start.character,r=n.end.line<e.end.line||n.end.line===e.end.line&&n.end.character<=e.end.character;return t&&r?He.Inside:t?He.OverlapBack:r?He.OverlapFront:He.Outside}function Rd(n,e){return Td(n,e)>He.After}const vd=/^[\w\p{L}]$/u;function Ad(n,e){if(n){const t=Ed(n,!0);if(t&&Aa(t,e))return t;if(Pl(n)){const r=n.content.findIndex(i=>!i.hidden);for(let i=r-1;i>=0;i--){const s=n.content[i];if(Aa(s,e))return s}}}}function Aa(n,e){return Ol(n)&&e.includes(n.tokenType.name)}function Ed(n,e=!0){for(;n.container;){const t=n.container;let r=t.content.indexOf(n);for(;r>0;){r--;const i=t.content[r];if(e||!i.hidden)return i}n=t}}class Ml extends Error{constructor(e,t){super(e?`${t} at ${e.range.start.line}:${e.range.start.character}`:t)}}function er(n){throw new Error("Error! The input value was not handled.")}const or="AbstractRule",lr="AbstractType",wi="Condition",Ea="TypeDefinition",_i="ValueLiteral",fn="AbstractElement";function kd(n){return M.isInstance(n,fn)}const ur="ArrayLiteral",cr="ArrayType",hn="BooleanLiteral";function $d(n){return M.isInstance(n,hn)}const pn="Conjunction";function xd(n){return M.isInstance(n,pn)}const mn="Disjunction";function Sd(n){return M.isInstance(n,mn)}const dr="Grammar",Li="GrammarImport",gn="InferredType";function Dl(n){return M.isInstance(n,gn)}const yn="Interface";function Fl(n){return M.isInstance(n,yn)}const bi="NamedArgument",Tn="Negation";function Id(n){return M.isInstance(n,Tn)}const fr="NumberLiteral",hr="Parameter",Rn="ParameterReference";function Cd(n){return M.isInstance(n,Rn)}const vn="ParserRule";function we(n){return M.isInstance(n,vn)}const pr="ReferenceType",wr="ReturnType";function Nd(n){return M.isInstance(n,wr)}const An="SimpleType";function wd(n){return M.isInstance(n,An)}const mr="StringLiteral",Nt="TerminalRule";function kt(n){return M.isInstance(n,Nt)}const En="Type";function Gl(n){return M.isInstance(n,En)}const Oi="TypeAttribute",gr="UnionType",kn="Action";function mi(n){return M.isInstance(n,kn)}const $n="Alternatives";function Ul(n){return M.isInstance(n,$n)}const xn="Assignment";function gt(n){return M.isInstance(n,xn)}const Sn="CharacterRange";function _d(n){return M.isInstance(n,Sn)}const In="CrossReference";function js(n){return M.isInstance(n,In)}const Cn="EndOfFile";function Ld(n){return M.isInstance(n,Cn)}const Nn="Group";function Hs(n){return M.isInstance(n,Nn)}const wn="Keyword";function yt(n){return M.isInstance(n,wn)}const _n="NegatedToken";function bd(n){return M.isInstance(n,_n)}const Ln="RegexToken";function Od(n){return M.isInstance(n,Ln)}const bn="RuleCall";function Tt(n){return M.isInstance(n,bn)}const On="TerminalAlternatives";function Pd(n){return M.isInstance(n,On)}const Pn="TerminalGroup";function Md(n){return M.isInstance(n,Pn)}const Mn="TerminalRuleCall";function Dd(n){return M.isInstance(n,Mn)}const Dn="UnorderedGroup";function Bl(n){return M.isInstance(n,Dn)}const Fn="UntilToken";function Fd(n){return M.isInstance(n,Fn)}const Gn="Wildcard";function Gd(n){return M.isInstance(n,Gn)}class Vl extends bl{getAllTypes(){return[fn,or,lr,kn,$n,ur,cr,xn,hn,Sn,wi,pn,In,mn,Cn,dr,Li,Nn,gn,yn,wn,bi,_n,Tn,fr,hr,Rn,vn,pr,Ln,wr,bn,An,mr,On,Pn,Nt,Mn,En,Oi,Ea,gr,Dn,Fn,_i,Gn]}computeIsSubtype(e,t){switch(e){case kn:case $n:case xn:case Sn:case In:case Cn:case Nn:case wn:case _n:case Ln:case bn:case On:case Pn:case Mn:case Dn:case Fn:case Gn:return this.isSubtype(fn,t);case ur:case fr:case mr:return this.isSubtype(_i,t);case cr:case pr:case An:case gr:return this.isSubtype(Ea,t);case hn:return this.isSubtype(wi,t)||this.isSubtype(_i,t);case pn:case mn:case Tn:case Rn:return this.isSubtype(wi,t);case gn:case yn:case En:return this.isSubtype(lr,t);case vn:return this.isSubtype(or,t)||this.isSubtype(lr,t);case Nt:return this.isSubtype(or,t);default:return!1}}getReferenceType(e){const t=`${e.container.$type}:${e.property}`;switch(t){case"Action:type":case"CrossReference:type":case"Interface:superTypes":case"ParserRule:returnType":case"SimpleType:typeRef":return lr;case"Grammar:hiddenTokens":case"ParserRule:hiddenTokens":case"RuleCall:rule":return or;case"Grammar:usedGrammars":return dr;case"NamedArgument:parameter":case"ParameterReference:parameter":return hr;case"TerminalRuleCall:rule":return Nt;default:throw new Error(`${t} is not a valid reference id.`)}}getTypeMetaData(e){switch(e){case fn:return{name:fn,properties:[{name:"cardinality"},{name:"lookahead"}]};case ur:return{name:ur,properties:[{name:"elements",defaultValue:[]}]};case cr:return{name:cr,properties:[{name:"elementType"}]};case hn:return{name:hn,properties:[{name:"true",defaultValue:!1}]};case pn:return{name:pn,properties:[{name:"left"},{name:"right"}]};case mn:return{name:mn,properties:[{name:"left"},{name:"right"}]};case dr:return{name:dr,properties:[{name:"definesHiddenTokens",defaultValue:!1},{name:"hiddenTokens",defaultValue:[]},{name:"imports",defaultValue:[]},{name:"interfaces",defaultValue:[]},{name:"isDeclared",defaultValue:!1},{name:"name"},{name:"rules",defaultValue:[]},{name:"types",defaultValue:[]},{name:"usedGrammars",defaultValue:[]}]};case Li:return{name:Li,properties:[{name:"path"}]};case gn:return{name:gn,properties:[{name:"name"}]};case yn:return{name:yn,properties:[{name:"attributes",defaultValue:[]},{name:"name"},{name:"superTypes",defaultValue:[]}]};case bi:return{name:bi,properties:[{name:"calledByName",defaultValue:!1},{name:"parameter"},{name:"value"}]};case Tn:return{name:Tn,properties:[{name:"value"}]};case fr:return{name:fr,properties:[{name:"value"}]};case hr:return{name:hr,properties:[{name:"name"}]};case Rn:return{name:Rn,properties:[{name:"parameter"}]};case vn:return{name:vn,properties:[{name:"dataType"},{name:"definesHiddenTokens",defaultValue:!1},{name:"definition"},{name:"entry",defaultValue:!1},{name:"fragment",defaultValue:!1},{name:"hiddenTokens",defaultValue:[]},{name:"inferredType"},{name:"name"},{name:"parameters",defaultValue:[]},{name:"returnType"},{name:"wildcard",defaultValue:!1}]};case pr:return{name:pr,properties:[{name:"referenceType"}]};case wr:return{name:wr,properties:[{name:"name"}]};case An:return{name:An,properties:[{name:"primitiveType"},{name:"stringType"},{name:"typeRef"}]};case mr:return{name:mr,properties:[{name:"value"}]};case Nt:return{name:Nt,properties:[{name:"definition"},{name:"fragment",defaultValue:!1},{name:"hidden",defaultValue:!1},{name:"name"},{name:"type"}]};case En:return{name:En,properties:[{name:"name"},{name:"type"}]};case Oi:return{name:Oi,properties:[{name:"defaultValue"},{name:"isOptional",defaultValue:!1},{name:"name"},{name:"type"}]};case gr:return{name:gr,properties:[{name:"types",defaultValue:[]}]};case kn:return{name:kn,properties:[{name:"cardinality"},{name:"feature"},{name:"inferredType"},{name:"lookahead"},{name:"operator"},{name:"type"}]};case $n:return{name:$n,properties:[{name:"cardinality"},{name:"elements",defaultValue:[]},{name:"lookahead"}]};case xn:return{name:xn,properties:[{name:"cardinality"},{name:"feature"},{name:"lookahead"},{name:"operator"},{name:"terminal"}]};case Sn:return{name:Sn,properties:[{name:"cardinality"},{name:"left"},{name:"lookahead"},{name:"right"}]};case In:return{name:In,properties:[{name:"cardinality"},{name:"deprecatedSyntax",defaultValue:!1},{name:"lookahead"},{name:"terminal"},{name:"type"}]};case Cn:return{name:Cn,properties:[{name:"cardinality"},{name:"lookahead"}]};case Nn:return{name:Nn,properties:[{name:"cardinality"},{name:"elements",defaultValue:[]},{name:"guardCondition"},{name:"lookahead"}]};case wn:return{name:wn,properties:[{name:"cardinality"},{name:"lookahead"},{name:"value"}]};case _n:return{name:_n,properties:[{name:"cardinality"},{name:"lookahead"},{name:"terminal"}]};case Ln:return{name:Ln,properties:[{name:"cardinality"},{name:"lookahead"},{name:"regex"}]};case bn:return{name:bn,properties:[{name:"arguments",defaultValue:[]},{name:"cardinality"},{name:"lookahead"},{name:"rule"}]};case On:return{name:On,properties:[{name:"cardinality"},{name:"elements",defaultValue:[]},{name:"lookahead"}]};case Pn:return{name:Pn,properties:[{name:"cardinality"},{name:"elements",defaultValue:[]},{name:"lookahead"}]};case Mn:return{name:Mn,properties:[{name:"cardinality"},{name:"lookahead"},{name:"rule"}]};case Dn:return{name:Dn,properties:[{name:"cardinality"},{name:"elements",defaultValue:[]},{name:"lookahead"}]};case Fn:return{name:Fn,properties:[{name:"cardinality"},{name:"lookahead"},{name:"terminal"}]};case Gn:return{name:Gn,properties:[{name:"cardinality"},{name:"lookahead"}]};default:return{name:e,properties:[]}}}}const M=new Vl;function Ud(n){for(const[e,t]of Object.entries(n))e.startsWith("$")||(Array.isArray(t)?t.forEach((r,i)=>{ae(r)&&(r.$container=n,r.$containerProperty=e,r.$containerIndex=i)}):ae(t)&&(t.$container=n,t.$containerProperty=e))}function gi(n,e){let t=n;for(;t;){if(e(t))return t;t=t.$container}}function Ze(n){const t=os(n).$document;if(!t)throw new Error("AST node has no document.");return t}function os(n){for(;n.$container;)n=n.$container;return n}function zs(n,e){if(!n)throw new Error("Node must be an AstNode.");const t=e?.range;return new Z(()=>({keys:Object.keys(n),keyIndex:0,arrayIndex:0}),r=>{for(;r.keyIndex<r.keys.length;){const i=r.keys[r.keyIndex];if(!i.startsWith("$")){const s=n[i];if(ae(s)){if(r.keyIndex++,ka(s,t))return{done:!1,value:s}}else if(Array.isArray(s)){for(;r.arrayIndex<s.length;){const a=r.arrayIndex++,o=s[a];if(ae(o)&&ka(o,t))return{done:!1,value:o}}r.arrayIndex=0}}r.keyIndex++}return ve})}function tr(n,e){if(!n)throw new Error("Root node must be an AstNode.");return new Ws(n,t=>zs(t,e))}function _t(n,e){if(!n)throw new Error("Root node must be an AstNode.");return new Ws(n,t=>zs(t,e),{includeRoot:!0})}function ka(n,e){var t;if(!e)return!0;const r=(t=n.$cstNode)===null||t===void 0?void 0:t.range;return r?Rd(r,e):!1}function Kl(n){return new Z(()=>({keys:Object.keys(n),keyIndex:0,arrayIndex:0}),e=>{for(;e.keyIndex<e.keys.length;){const t=e.keys[e.keyIndex];if(!t.startsWith("$")){const r=n[t];if(Ue(r))return e.keyIndex++,{done:!1,value:{reference:r,container:n,property:t}};if(Array.isArray(r)){for(;e.arrayIndex<r.length;){const i=e.arrayIndex++,s=r[i];if(Ue(s))return{done:!1,value:{reference:s,container:n,property:t,index:i}}}e.arrayIndex=0}}e.keyIndex++}return ve})}function Bd(n,e){const t=n.getTypeMetaData(e.$type),r=e;for(const i of t.properties)i.defaultValue!==void 0&&r[i.name]===void 0&&(r[i.name]=Wl(i.defaultValue))}function Wl(n){return Array.isArray(n)?[...n.map(Wl)]:n}function w(n){return n.charCodeAt(0)}function Pi(n,e){Array.isArray(n)?n.forEach(function(t){e.push(t)}):e.push(n)}function un(n,e){if(n[e]===!0)throw"duplicate flag "+e;n[e],n[e]=!0}function Ct(n){if(n===void 0)throw Error("Internal Error - Should never get here!");return!0}function Vd(){throw Error("Internal Error - Should never get here!")}function $a(n){return n.type==="Character"}const Hr=[];for(let n=w("0");n<=w("9");n++)Hr.push(n);const zr=[w("_")].concat(Hr);for(let n=w("a");n<=w("z");n++)zr.push(n);for(let n=w("A");n<=w("Z");n++)zr.push(n);const xa=[w(" "),w("\f"),w(`
1
+ import{c as ft}from"./syntax-highlighting-CnREyncB.js";import{bA as wc,bB as _c,aU as xl,bk as Lc,aY as bc,aV as te,ar as Oc,as as ga,ba as Pc,bd as Sl,be as Il,bb as Mc,bp as ya,au as Et,av as D,aW as Ta,aQ as Dc}from"./ChatPage-D6sol0ad.js";import{k as Xt,j as Us,g as rn,S as Fc,w as Gc,x as Uc,c as Cl,v as z,y as Nl,l as Bc,z as Vc,A as Kc,B as Wc,C as jc,a as wl,d as C,i as Ye,r as le,f as $e,D as Y}from"./_baseUniq-eGJNLBzx.js";import{j as Bs,m as $,d as Hc,f as Ne,g as Jt,h as N,i as Vs,l as Qt,e as zc}from"./_basePickBy-7C_e0Xv1.js";import{c as re}from"./clone-Ckf7tA1V.js";var qc=Object.prototype,Yc=qc.hasOwnProperty,ke=wc(function(n,e){if(_c(e)||xl(e)){Lc(e,Xt(e),n);return}for(var t in e)Yc.call(e,t)&&bc(n,t,e[t])});function _l(n,e,t){var r=-1,i=n.length;e<0&&(e=-e>i?0:i+e),t=t>i?i:t,t<0&&(t+=i),i=e>t?0:t-e>>>0,e>>>=0;for(var s=Array(i);++r<i;)s[r]=n[r+e];return s}function Zn(n){for(var e=-1,t=n==null?0:n.length,r=0,i=[];++e<t;){var s=n[e];s&&(i[r++]=s)}return i}function Xc(n,e,t,r){for(var i=-1,s=n==null?0:n.length;++i<s;){var a=n[i];e(r,a,t(a),n)}return r}function Jc(n,e,t,r){return Us(n,function(i,s,a){e(r,i,t(i),a)}),r}function Qc(n,e){return function(t,r){var i=te(t)?Xc:Jc,s=e?e():{};return i(t,n,rn(r),s)}}var Zc=200;function ed(n,e,t,r){var i=-1,s=Gc,a=!0,o=n.length,l=[],u=e.length;if(!o)return l;e.length>=Zc&&(s=Uc,a=!1,e=new Fc(e));e:for(;++i<o;){var c=n[i],d=c;if(c=c!==0?c:0,a&&d===d){for(var h=u;h--;)if(e[h]===d)continue e;l.push(c)}else s(e,d,r)||l.push(c)}return l}var hi=Oc(function(n,e){return ga(n)?ed(n,Cl(e,1,ga,!0)):[]});function Q(n,e,t){var r=n==null?0:n.length;return r?(e=e===void 0?1:Bs(e),_l(n,e<0?0:e,r)):[]}function Yn(n,e,t){var r=n==null?0:n.length;return r?(e=e===void 0?1:Bs(e),e=r-e,_l(n,0,e<0?0:e)):[]}function td(n,e){for(var t=-1,r=n==null?0:n.length;++t<r;)if(!e(n[t],t,n))return!1;return!0}function nd(n,e){var t=!0;return Us(n,function(r,i,s){return t=!!e(r,i,s),t}),t}function Oe(n,e,t){var r=te(n)?td:nd;return r(n,rn(e))}function Pe(n){return n&&n.length?n[0]:void 0}function Ee(n,e){return Cl($(n,e))}var rd=Object.prototype,id=rd.hasOwnProperty,sd=Qc(function(n,e,t){id.call(n,t)?n[t].push(e):Pc(n,t,[e])}),ad="[object String]";function he(n){return typeof n=="string"||!te(n)&&Sl(n)&&Il(n)==ad}var od=Math.max;function de(n,e,t,r){n=xl(n)?n:z(n),t=t?Bs(t):0;var i=n.length;return t<0&&(t=od(i+t,0)),he(n)?t<=i&&n.indexOf(e,t)>-1:!!i&&Nl(n,e,t)>-1}function Ra(n,e,t){var r=n==null?0:n.length;if(!r)return-1;var i=0;return Nl(n,e,i)}var ld="[object RegExp]";function ud(n){return Sl(n)&&Il(n)==ld}var va=ya&&ya.isRegExp,Xe=va?Mc(va):ud,cd="Expected a function";function dd(n){if(typeof n!="function")throw new TypeError(cd);return function(){var e=arguments;switch(e.length){case 0:return!n.call(this);case 1:return!n.call(this,e[0]);case 2:return!n.call(this,e[0],e[1]);case 3:return!n.call(this,e[0],e[1],e[2])}return!n.apply(this,e)}}function Me(n,e){if(n==null)return{};var t=Bc(Vc(n),function(r){return[r]});return e=rn(e),Hc(n,t,function(r,i){return e(r,i[0])})}function pi(n,e){var t=te(n)?Kc:Wc;return t(n,dd(rn(e)))}function fd(n,e){var t;return Us(n,function(r,i,s){return t=e(r,i,s),!t}),!!t}function Ll(n,e,t){var r=te(n)?jc:fd;return r(n,rn(e))}function Ks(n){return n&&n.length?wl(n):[]}function hd(n,e){return n&&n.length?wl(n,rn(e)):[]}function ae(n){return typeof n=="object"&&n!==null&&typeof n.$type=="string"}function Ue(n){return typeof n=="object"&&n!==null&&typeof n.$refText=="string"}function pd(n){return typeof n=="object"&&n!==null&&typeof n.name=="string"&&typeof n.type=="string"&&typeof n.path=="string"}function Nr(n){return typeof n=="object"&&n!==null&&ae(n.container)&&Ue(n.reference)&&typeof n.message=="string"}class bl{constructor(){this.subtypes={},this.allSubtypes={}}isInstance(e,t){return ae(e)&&this.isSubtype(e.$type,t)}isSubtype(e,t){if(e===t)return!0;let r=this.subtypes[e];r||(r=this.subtypes[e]={});const i=r[t];if(i!==void 0)return i;{const s=this.computeIsSubtype(e,t);return r[t]=s,s}}getAllSubTypes(e){const t=this.allSubtypes[e];if(t)return t;{const r=this.getAllTypes(),i=[];for(const s of r)this.isSubtype(s,e)&&i.push(s);return this.allSubtypes[e]=i,i}}}function Xn(n){return typeof n=="object"&&n!==null&&Array.isArray(n.content)}function Ol(n){return typeof n=="object"&&n!==null&&typeof n.tokenType=="object"}function Pl(n){return Xn(n)&&typeof n.fullText=="string"}class Z{constructor(e,t){this.startFn=e,this.nextFn=t}iterator(){const e={state:this.startFn(),next:()=>this.nextFn(e.state),[Symbol.iterator]:()=>e};return e}[Symbol.iterator](){return this.iterator()}isEmpty(){return!!this.iterator().next().done}count(){const e=this.iterator();let t=0,r=e.next();for(;!r.done;)t++,r=e.next();return t}toArray(){const e=[],t=this.iterator();let r;do r=t.next(),r.value!==void 0&&e.push(r.value);while(!r.done);return e}toSet(){return new Set(this)}toMap(e,t){const r=this.map(i=>[e?e(i):i,t?t(i):i]);return new Map(r)}toString(){return this.join()}concat(e){return new Z(()=>({first:this.startFn(),firstDone:!1,iterator:e[Symbol.iterator]()}),t=>{let r;if(!t.firstDone){do if(r=this.nextFn(t.first),!r.done)return r;while(!r.done);t.firstDone=!0}do if(r=t.iterator.next(),!r.done)return r;while(!r.done);return ve})}join(e=","){const t=this.iterator();let r="",i,s=!1;do i=t.next(),i.done||(s&&(r+=e),r+=md(i.value)),s=!0;while(!i.done);return r}indexOf(e,t=0){const r=this.iterator();let i=0,s=r.next();for(;!s.done;){if(i>=t&&s.value===e)return i;s=r.next(),i++}return-1}every(e){const t=this.iterator();let r=t.next();for(;!r.done;){if(!e(r.value))return!1;r=t.next()}return!0}some(e){const t=this.iterator();let r=t.next();for(;!r.done;){if(e(r.value))return!0;r=t.next()}return!1}forEach(e){const t=this.iterator();let r=0,i=t.next();for(;!i.done;)e(i.value,r),i=t.next(),r++}map(e){return new Z(this.startFn,t=>{const{done:r,value:i}=this.nextFn(t);return r?ve:{done:!1,value:e(i)}})}filter(e){return new Z(this.startFn,t=>{let r;do if(r=this.nextFn(t),!r.done&&e(r.value))return r;while(!r.done);return ve})}nonNullable(){return this.filter(e=>e!=null)}reduce(e,t){const r=this.iterator();let i=t,s=r.next();for(;!s.done;)i===void 0?i=s.value:i=e(i,s.value),s=r.next();return i}reduceRight(e,t){return this.recursiveReduce(this.iterator(),e,t)}recursiveReduce(e,t,r){const i=e.next();if(i.done)return r;const s=this.recursiveReduce(e,t,r);return s===void 0?i.value:t(s,i.value)}find(e){const t=this.iterator();let r=t.next();for(;!r.done;){if(e(r.value))return r.value;r=t.next()}}findIndex(e){const t=this.iterator();let r=0,i=t.next();for(;!i.done;){if(e(i.value))return r;i=t.next(),r++}return-1}includes(e){const t=this.iterator();let r=t.next();for(;!r.done;){if(r.value===e)return!0;r=t.next()}return!1}flatMap(e){return new Z(()=>({this:this.startFn()}),t=>{do{if(t.iterator){const s=t.iterator.next();if(s.done)t.iterator=void 0;else return s}const{done:r,value:i}=this.nextFn(t.this);if(!r){const s=e(i);if(Wr(s))t.iterator=s[Symbol.iterator]();else return{done:!1,value:s}}}while(t.iterator);return ve})}flat(e){if(e===void 0&&(e=1),e<=0)return this;const t=e>1?this.flat(e-1):this;return new Z(()=>({this:t.startFn()}),r=>{do{if(r.iterator){const a=r.iterator.next();if(a.done)r.iterator=void 0;else return a}const{done:i,value:s}=t.nextFn(r.this);if(!i)if(Wr(s))r.iterator=s[Symbol.iterator]();else return{done:!1,value:s}}while(r.iterator);return ve})}head(){const t=this.iterator().next();if(!t.done)return t.value}tail(e=1){return new Z(()=>{const t=this.startFn();for(let r=0;r<e;r++)if(this.nextFn(t).done)return t;return t},this.nextFn)}limit(e){return new Z(()=>({size:0,state:this.startFn()}),t=>(t.size++,t.size>e?ve:this.nextFn(t.state)))}distinct(e){return new Z(()=>({set:new Set,internalState:this.startFn()}),t=>{let r;do if(r=this.nextFn(t.internalState),!r.done){const i=e?e(r.value):r.value;if(!t.set.has(i))return t.set.add(i),r}while(!r.done);return ve})}exclude(e,t){const r=new Set;for(const i of e){const s=t?t(i):i;r.add(s)}return this.filter(i=>{const s=t?t(i):i;return!r.has(s)})}}function md(n){return typeof n=="string"?n:typeof n>"u"?"undefined":typeof n.toString=="function"?n.toString():Object.prototype.toString.call(n)}function Wr(n){return!!n&&typeof n[Symbol.iterator]=="function"}const gd=new Z(()=>{},()=>ve),ve=Object.freeze({done:!0,value:void 0});function ee(...n){if(n.length===1){const e=n[0];if(e instanceof Z)return e;if(Wr(e))return new Z(()=>e[Symbol.iterator](),t=>t.next());if(typeof e.length=="number")return new Z(()=>({index:0}),t=>t.index<e.length?{done:!1,value:e[t.index++]}:ve)}return n.length>1?new Z(()=>({collIndex:0,arrIndex:0}),e=>{do{if(e.iterator){const t=e.iterator.next();if(!t.done)return t;e.iterator=void 0}if(e.array){if(e.arrIndex<e.array.length)return{done:!1,value:e.array[e.arrIndex++]};e.array=void 0,e.arrIndex=0}if(e.collIndex<n.length){const t=n[e.collIndex++];Wr(t)?e.iterator=t[Symbol.iterator]():t&&typeof t.length=="number"&&(e.array=t)}}while(e.iterator||e.array||e.collIndex<n.length);return ve}):gd}class Ws extends Z{constructor(e,t,r){super(()=>({iterators:r?.includeRoot?[[e][Symbol.iterator]()]:[t(e)[Symbol.iterator]()],pruned:!1}),i=>{for(i.pruned&&(i.iterators.pop(),i.pruned=!1);i.iterators.length>0;){const a=i.iterators[i.iterators.length-1].next();if(a.done)i.iterators.pop();else return i.iterators.push(t(a.value)[Symbol.iterator]()),a}return ve})}iterator(){const e={state:this.startFn(),next:()=>this.nextFn(e.state),prune:()=>{e.state.pruned=!0},[Symbol.iterator]:()=>e};return e}}var is;(function(n){function e(s){return s.reduce((a,o)=>a+o,0)}n.sum=e;function t(s){return s.reduce((a,o)=>a*o,0)}n.product=t;function r(s){return s.reduce((a,o)=>Math.min(a,o))}n.min=r;function i(s){return s.reduce((a,o)=>Math.max(a,o))}n.max=i})(is||(is={}));function ss(n){return new Ws(n,e=>Xn(e)?e.content:[],{includeRoot:!0})}function yd(n,e){for(;n.container;)if(n=n.container,n===e)return!0;return!1}function as(n){return{start:{character:n.startColumn-1,line:n.startLine-1},end:{character:n.endColumn,line:n.endLine-1}}}function jr(n){if(!n)return;const{offset:e,end:t,range:r}=n;return{range:r,offset:e,end:t,length:t-e}}var He;(function(n){n[n.Before=0]="Before",n[n.After=1]="After",n[n.OverlapFront=2]="OverlapFront",n[n.OverlapBack=3]="OverlapBack",n[n.Inside=4]="Inside",n[n.Outside=5]="Outside"})(He||(He={}));function Td(n,e){if(n.end.line<e.start.line||n.end.line===e.start.line&&n.end.character<=e.start.character)return He.Before;if(n.start.line>e.end.line||n.start.line===e.end.line&&n.start.character>=e.end.character)return He.After;const t=n.start.line>e.start.line||n.start.line===e.start.line&&n.start.character>=e.start.character,r=n.end.line<e.end.line||n.end.line===e.end.line&&n.end.character<=e.end.character;return t&&r?He.Inside:t?He.OverlapBack:r?He.OverlapFront:He.Outside}function Rd(n,e){return Td(n,e)>He.After}const vd=/^[\w\p{L}]$/u;function Ad(n,e){if(n){const t=Ed(n,!0);if(t&&Aa(t,e))return t;if(Pl(n)){const r=n.content.findIndex(i=>!i.hidden);for(let i=r-1;i>=0;i--){const s=n.content[i];if(Aa(s,e))return s}}}}function Aa(n,e){return Ol(n)&&e.includes(n.tokenType.name)}function Ed(n,e=!0){for(;n.container;){const t=n.container;let r=t.content.indexOf(n);for(;r>0;){r--;const i=t.content[r];if(e||!i.hidden)return i}n=t}}class Ml extends Error{constructor(e,t){super(e?`${t} at ${e.range.start.line}:${e.range.start.character}`:t)}}function er(n){throw new Error("Error! The input value was not handled.")}const or="AbstractRule",lr="AbstractType",wi="Condition",Ea="TypeDefinition",_i="ValueLiteral",fn="AbstractElement";function kd(n){return M.isInstance(n,fn)}const ur="ArrayLiteral",cr="ArrayType",hn="BooleanLiteral";function $d(n){return M.isInstance(n,hn)}const pn="Conjunction";function xd(n){return M.isInstance(n,pn)}const mn="Disjunction";function Sd(n){return M.isInstance(n,mn)}const dr="Grammar",Li="GrammarImport",gn="InferredType";function Dl(n){return M.isInstance(n,gn)}const yn="Interface";function Fl(n){return M.isInstance(n,yn)}const bi="NamedArgument",Tn="Negation";function Id(n){return M.isInstance(n,Tn)}const fr="NumberLiteral",hr="Parameter",Rn="ParameterReference";function Cd(n){return M.isInstance(n,Rn)}const vn="ParserRule";function we(n){return M.isInstance(n,vn)}const pr="ReferenceType",wr="ReturnType";function Nd(n){return M.isInstance(n,wr)}const An="SimpleType";function wd(n){return M.isInstance(n,An)}const mr="StringLiteral",Nt="TerminalRule";function kt(n){return M.isInstance(n,Nt)}const En="Type";function Gl(n){return M.isInstance(n,En)}const Oi="TypeAttribute",gr="UnionType",kn="Action";function mi(n){return M.isInstance(n,kn)}const $n="Alternatives";function Ul(n){return M.isInstance(n,$n)}const xn="Assignment";function gt(n){return M.isInstance(n,xn)}const Sn="CharacterRange";function _d(n){return M.isInstance(n,Sn)}const In="CrossReference";function js(n){return M.isInstance(n,In)}const Cn="EndOfFile";function Ld(n){return M.isInstance(n,Cn)}const Nn="Group";function Hs(n){return M.isInstance(n,Nn)}const wn="Keyword";function yt(n){return M.isInstance(n,wn)}const _n="NegatedToken";function bd(n){return M.isInstance(n,_n)}const Ln="RegexToken";function Od(n){return M.isInstance(n,Ln)}const bn="RuleCall";function Tt(n){return M.isInstance(n,bn)}const On="TerminalAlternatives";function Pd(n){return M.isInstance(n,On)}const Pn="TerminalGroup";function Md(n){return M.isInstance(n,Pn)}const Mn="TerminalRuleCall";function Dd(n){return M.isInstance(n,Mn)}const Dn="UnorderedGroup";function Bl(n){return M.isInstance(n,Dn)}const Fn="UntilToken";function Fd(n){return M.isInstance(n,Fn)}const Gn="Wildcard";function Gd(n){return M.isInstance(n,Gn)}class Vl extends bl{getAllTypes(){return[fn,or,lr,kn,$n,ur,cr,xn,hn,Sn,wi,pn,In,mn,Cn,dr,Li,Nn,gn,yn,wn,bi,_n,Tn,fr,hr,Rn,vn,pr,Ln,wr,bn,An,mr,On,Pn,Nt,Mn,En,Oi,Ea,gr,Dn,Fn,_i,Gn]}computeIsSubtype(e,t){switch(e){case kn:case $n:case xn:case Sn:case In:case Cn:case Nn:case wn:case _n:case Ln:case bn:case On:case Pn:case Mn:case Dn:case Fn:case Gn:return this.isSubtype(fn,t);case ur:case fr:case mr:return this.isSubtype(_i,t);case cr:case pr:case An:case gr:return this.isSubtype(Ea,t);case hn:return this.isSubtype(wi,t)||this.isSubtype(_i,t);case pn:case mn:case Tn:case Rn:return this.isSubtype(wi,t);case gn:case yn:case En:return this.isSubtype(lr,t);case vn:return this.isSubtype(or,t)||this.isSubtype(lr,t);case Nt:return this.isSubtype(or,t);default:return!1}}getReferenceType(e){const t=`${e.container.$type}:${e.property}`;switch(t){case"Action:type":case"CrossReference:type":case"Interface:superTypes":case"ParserRule:returnType":case"SimpleType:typeRef":return lr;case"Grammar:hiddenTokens":case"ParserRule:hiddenTokens":case"RuleCall:rule":return or;case"Grammar:usedGrammars":return dr;case"NamedArgument:parameter":case"ParameterReference:parameter":return hr;case"TerminalRuleCall:rule":return Nt;default:throw new Error(`${t} is not a valid reference id.`)}}getTypeMetaData(e){switch(e){case fn:return{name:fn,properties:[{name:"cardinality"},{name:"lookahead"}]};case ur:return{name:ur,properties:[{name:"elements",defaultValue:[]}]};case cr:return{name:cr,properties:[{name:"elementType"}]};case hn:return{name:hn,properties:[{name:"true",defaultValue:!1}]};case pn:return{name:pn,properties:[{name:"left"},{name:"right"}]};case mn:return{name:mn,properties:[{name:"left"},{name:"right"}]};case dr:return{name:dr,properties:[{name:"definesHiddenTokens",defaultValue:!1},{name:"hiddenTokens",defaultValue:[]},{name:"imports",defaultValue:[]},{name:"interfaces",defaultValue:[]},{name:"isDeclared",defaultValue:!1},{name:"name"},{name:"rules",defaultValue:[]},{name:"types",defaultValue:[]},{name:"usedGrammars",defaultValue:[]}]};case Li:return{name:Li,properties:[{name:"path"}]};case gn:return{name:gn,properties:[{name:"name"}]};case yn:return{name:yn,properties:[{name:"attributes",defaultValue:[]},{name:"name"},{name:"superTypes",defaultValue:[]}]};case bi:return{name:bi,properties:[{name:"calledByName",defaultValue:!1},{name:"parameter"},{name:"value"}]};case Tn:return{name:Tn,properties:[{name:"value"}]};case fr:return{name:fr,properties:[{name:"value"}]};case hr:return{name:hr,properties:[{name:"name"}]};case Rn:return{name:Rn,properties:[{name:"parameter"}]};case vn:return{name:vn,properties:[{name:"dataType"},{name:"definesHiddenTokens",defaultValue:!1},{name:"definition"},{name:"entry",defaultValue:!1},{name:"fragment",defaultValue:!1},{name:"hiddenTokens",defaultValue:[]},{name:"inferredType"},{name:"name"},{name:"parameters",defaultValue:[]},{name:"returnType"},{name:"wildcard",defaultValue:!1}]};case pr:return{name:pr,properties:[{name:"referenceType"}]};case wr:return{name:wr,properties:[{name:"name"}]};case An:return{name:An,properties:[{name:"primitiveType"},{name:"stringType"},{name:"typeRef"}]};case mr:return{name:mr,properties:[{name:"value"}]};case Nt:return{name:Nt,properties:[{name:"definition"},{name:"fragment",defaultValue:!1},{name:"hidden",defaultValue:!1},{name:"name"},{name:"type"}]};case En:return{name:En,properties:[{name:"name"},{name:"type"}]};case Oi:return{name:Oi,properties:[{name:"defaultValue"},{name:"isOptional",defaultValue:!1},{name:"name"},{name:"type"}]};case gr:return{name:gr,properties:[{name:"types",defaultValue:[]}]};case kn:return{name:kn,properties:[{name:"cardinality"},{name:"feature"},{name:"inferredType"},{name:"lookahead"},{name:"operator"},{name:"type"}]};case $n:return{name:$n,properties:[{name:"cardinality"},{name:"elements",defaultValue:[]},{name:"lookahead"}]};case xn:return{name:xn,properties:[{name:"cardinality"},{name:"feature"},{name:"lookahead"},{name:"operator"},{name:"terminal"}]};case Sn:return{name:Sn,properties:[{name:"cardinality"},{name:"left"},{name:"lookahead"},{name:"right"}]};case In:return{name:In,properties:[{name:"cardinality"},{name:"deprecatedSyntax",defaultValue:!1},{name:"lookahead"},{name:"terminal"},{name:"type"}]};case Cn:return{name:Cn,properties:[{name:"cardinality"},{name:"lookahead"}]};case Nn:return{name:Nn,properties:[{name:"cardinality"},{name:"elements",defaultValue:[]},{name:"guardCondition"},{name:"lookahead"}]};case wn:return{name:wn,properties:[{name:"cardinality"},{name:"lookahead"},{name:"value"}]};case _n:return{name:_n,properties:[{name:"cardinality"},{name:"lookahead"},{name:"terminal"}]};case Ln:return{name:Ln,properties:[{name:"cardinality"},{name:"lookahead"},{name:"regex"}]};case bn:return{name:bn,properties:[{name:"arguments",defaultValue:[]},{name:"cardinality"},{name:"lookahead"},{name:"rule"}]};case On:return{name:On,properties:[{name:"cardinality"},{name:"elements",defaultValue:[]},{name:"lookahead"}]};case Pn:return{name:Pn,properties:[{name:"cardinality"},{name:"elements",defaultValue:[]},{name:"lookahead"}]};case Mn:return{name:Mn,properties:[{name:"cardinality"},{name:"lookahead"},{name:"rule"}]};case Dn:return{name:Dn,properties:[{name:"cardinality"},{name:"elements",defaultValue:[]},{name:"lookahead"}]};case Fn:return{name:Fn,properties:[{name:"cardinality"},{name:"lookahead"},{name:"terminal"}]};case Gn:return{name:Gn,properties:[{name:"cardinality"},{name:"lookahead"}]};default:return{name:e,properties:[]}}}}const M=new Vl;function Ud(n){for(const[e,t]of Object.entries(n))e.startsWith("$")||(Array.isArray(t)?t.forEach((r,i)=>{ae(r)&&(r.$container=n,r.$containerProperty=e,r.$containerIndex=i)}):ae(t)&&(t.$container=n,t.$containerProperty=e))}function gi(n,e){let t=n;for(;t;){if(e(t))return t;t=t.$container}}function Ze(n){const t=os(n).$document;if(!t)throw new Error("AST node has no document.");return t}function os(n){for(;n.$container;)n=n.$container;return n}function zs(n,e){if(!n)throw new Error("Node must be an AstNode.");const t=e?.range;return new Z(()=>({keys:Object.keys(n),keyIndex:0,arrayIndex:0}),r=>{for(;r.keyIndex<r.keys.length;){const i=r.keys[r.keyIndex];if(!i.startsWith("$")){const s=n[i];if(ae(s)){if(r.keyIndex++,ka(s,t))return{done:!1,value:s}}else if(Array.isArray(s)){for(;r.arrayIndex<s.length;){const a=r.arrayIndex++,o=s[a];if(ae(o)&&ka(o,t))return{done:!1,value:o}}r.arrayIndex=0}}r.keyIndex++}return ve})}function tr(n,e){if(!n)throw new Error("Root node must be an AstNode.");return new Ws(n,t=>zs(t,e))}function _t(n,e){if(!n)throw new Error("Root node must be an AstNode.");return new Ws(n,t=>zs(t,e),{includeRoot:!0})}function ka(n,e){var t;if(!e)return!0;const r=(t=n.$cstNode)===null||t===void 0?void 0:t.range;return r?Rd(r,e):!1}function Kl(n){return new Z(()=>({keys:Object.keys(n),keyIndex:0,arrayIndex:0}),e=>{for(;e.keyIndex<e.keys.length;){const t=e.keys[e.keyIndex];if(!t.startsWith("$")){const r=n[t];if(Ue(r))return e.keyIndex++,{done:!1,value:{reference:r,container:n,property:t}};if(Array.isArray(r)){for(;e.arrayIndex<r.length;){const i=e.arrayIndex++,s=r[i];if(Ue(s))return{done:!1,value:{reference:s,container:n,property:t,index:i}}}e.arrayIndex=0}}e.keyIndex++}return ve})}function Bd(n,e){const t=n.getTypeMetaData(e.$type),r=e;for(const i of t.properties)i.defaultValue!==void 0&&r[i.name]===void 0&&(r[i.name]=Wl(i.defaultValue))}function Wl(n){return Array.isArray(n)?[...n.map(Wl)]:n}function w(n){return n.charCodeAt(0)}function Pi(n,e){Array.isArray(n)?n.forEach(function(t){e.push(t)}):e.push(n)}function un(n,e){if(n[e]===!0)throw"duplicate flag "+e;n[e],n[e]=!0}function Ct(n){if(n===void 0)throw Error("Internal Error - Should never get here!");return!0}function Vd(){throw Error("Internal Error - Should never get here!")}function $a(n){return n.type==="Character"}const Hr=[];for(let n=w("0");n<=w("9");n++)Hr.push(n);const zr=[w("_")].concat(Hr);for(let n=w("a");n<=w("z");n++)zr.push(n);for(let n=w("A");n<=w("Z");n++)zr.push(n);const xa=[w(" "),w("\f"),w(`
2
2
  `),w("\r"),w(" "),w("\v"),w(" "),w(" "),w(" "),w(" "),w(" "),w(" "),w(" "),w(" "),w(" "),w(" "),w(" "),w(" "),w(" "),w(" "),w("\u2028"),w("\u2029"),w(" "),w(" "),w(" "),w("\uFEFF")],Kd=/[0-9a-fA-F]/,yr=/[0-9]/,Wd=/[1-9]/;class jl{constructor(){this.idx=0,this.input="",this.groupIdx=0}saveState(){return{idx:this.idx,input:this.input,groupIdx:this.groupIdx}}restoreState(e){this.idx=e.idx,this.input=e.input,this.groupIdx=e.groupIdx}pattern(e){this.idx=0,this.input=e,this.groupIdx=0,this.consumeChar("/");const t=this.disjunction();this.consumeChar("/");const r={type:"Flags",loc:{begin:this.idx,end:e.length},global:!1,ignoreCase:!1,multiLine:!1,unicode:!1,sticky:!1};for(;this.isRegExpFlag();)switch(this.popChar()){case"g":un(r,"global");break;case"i":un(r,"ignoreCase");break;case"m":un(r,"multiLine");break;case"u":un(r,"unicode");break;case"y":un(r,"sticky");break}if(this.idx!==this.input.length)throw Error("Redundant input: "+this.input.substring(this.idx));return{type:"Pattern",flags:r,value:t,loc:this.loc(0)}}disjunction(){const e=[],t=this.idx;for(e.push(this.alternative());this.peekChar()==="|";)this.consumeChar("|"),e.push(this.alternative());return{type:"Disjunction",value:e,loc:this.loc(t)}}alternative(){const e=[],t=this.idx;for(;this.isTerm();)e.push(this.term());return{type:"Alternative",value:e,loc:this.loc(t)}}term(){return this.isAssertion()?this.assertion():this.atom()}assertion(){const e=this.idx;switch(this.popChar()){case"^":return{type:"StartAnchor",loc:this.loc(e)};case"$":return{type:"EndAnchor",loc:this.loc(e)};case"\\":switch(this.popChar()){case"b":return{type:"WordBoundary",loc:this.loc(e)};case"B":return{type:"NonWordBoundary",loc:this.loc(e)}}throw Error("Invalid Assertion Escape");case"(":this.consumeChar("?");let t;switch(this.popChar()){case"=":t="Lookahead";break;case"!":t="NegativeLookahead";break}Ct(t);const r=this.disjunction();return this.consumeChar(")"),{type:t,value:r,loc:this.loc(e)}}return Vd()}quantifier(e=!1){let t;const r=this.idx;switch(this.popChar()){case"*":t={atLeast:0,atMost:1/0};break;case"+":t={atLeast:1,atMost:1/0};break;case"?":t={atLeast:0,atMost:1};break;case"{":const i=this.integerIncludingZero();switch(this.popChar()){case"}":t={atLeast:i,atMost:i};break;case",":let s;this.isDigit()?(s=this.integerIncludingZero(),t={atLeast:i,atMost:s}):t={atLeast:i,atMost:1/0},this.consumeChar("}");break}if(e===!0&&t===void 0)return;Ct(t);break}if(!(e===!0&&t===void 0)&&Ct(t))return this.peekChar(0)==="?"?(this.consumeChar("?"),t.greedy=!1):t.greedy=!0,t.type="Quantifier",t.loc=this.loc(r),t}atom(){let e;const t=this.idx;switch(this.peekChar()){case".":e=this.dotAll();break;case"\\":e=this.atomEscape();break;case"[":e=this.characterClass();break;case"(":e=this.group();break}if(e===void 0&&this.isPatternCharacter()&&(e=this.patternCharacter()),Ct(e))return e.loc=this.loc(t),this.isQuantifier()&&(e.quantifier=this.quantifier()),e}dotAll(){return this.consumeChar("."),{type:"Set",complement:!0,value:[w(`
3
3
  `),w("\r"),w("\u2028"),w("\u2029")]}}atomEscape(){switch(this.consumeChar("\\"),this.peekChar()){case"1":case"2":case"3":case"4":case"5":case"6":case"7":case"8":case"9":return this.decimalEscapeAtom();case"d":case"D":case"s":case"S":case"w":case"W":return this.characterClassEscape();case"f":case"n":case"r":case"t":case"v":return this.controlEscapeAtom();case"c":return this.controlLetterEscapeAtom();case"0":return this.nulCharacterAtom();case"x":return this.hexEscapeSequenceAtom();case"u":return this.regExpUnicodeEscapeSequenceAtom();default:return this.identityEscapeAtom()}}decimalEscapeAtom(){return{type:"GroupBackReference",value:this.positiveInteger()}}characterClassEscape(){let e,t=!1;switch(this.popChar()){case"d":e=Hr;break;case"D":e=Hr,t=!0;break;case"s":e=xa;break;case"S":e=xa,t=!0;break;case"w":e=zr;break;case"W":e=zr,t=!0;break}if(Ct(e))return{type:"Set",value:e,complement:t}}controlEscapeAtom(){let e;switch(this.popChar()){case"f":e=w("\f");break;case"n":e=w(`
4
4
  `);break;case"r":e=w("\r");break;case"t":e=w(" ");break;case"v":e=w("\v");break}if(Ct(e))return{type:"Character",value:e}}controlLetterEscapeAtom(){this.consumeChar("c");const e=this.popChar();if(/[a-zA-Z]/.test(e)===!1)throw Error("Invalid ");return{type:"Character",value:e.toUpperCase().charCodeAt(0)-64}}nulCharacterAtom(){return this.consumeChar("0"),{type:"Character",value:w("\0")}}hexEscapeSequenceAtom(){return this.consumeChar("x"),this.parseHexDigits(2)}regExpUnicodeEscapeSequenceAtom(){return this.consumeChar("u"),this.parseHexDigits(4)}identityEscapeAtom(){const e=this.popChar();return{type:"Character",value:w(e)}}classPatternCharacterAtom(){switch(this.peekChar()){case`