@waniwani/sdk 0.15.2 → 0.17.0

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.
@@ -1,4 +1,4 @@
1
- import{a as yo,b as ku,c as Tu}from"../chunk-R6LESDWJ.js";import{b as Ft,c as It,d as Kr,e as Qr}from"../chunk-PYLRF5BB.js";import{a as Jr,b as Zr,c as Yr,d as en,e as tn,f as ba,g as an,h as on,i as rn,j as nn,k as bo,l as sn,m as St,n as yt,o as ka,p as bt,u as Dt}from"../chunk-YP6YTC7R.js";import{d as f}from"../chunk-LPD7BHH5.js";f();f();f();f();var Ta="text/html+skybridge",va="text/html;profile=mcp-app",ln=async(e,t)=>{let a=e.endsWith("/")?e.slice(0,-1):e;return await(await fetch(`${a}${t}`)).text()};function un(e){return{"openai/widgetDescription":e.description,"openai/widgetPrefersBorder":e.prefersBorder,"openai/widgetDomain":e.widgetDomain,...e.widgetCSP&&{"openai/widgetCSP":e.widgetCSP}}}function dn(e){let t=e.widgetCSP?{connectDomains:e.widgetCSP.connect_domains,resourceDomains:e.widgetCSP.resource_domains,frameDomains:e.widgetCSP.frame_domains,redirectDomains:e.widgetCSP.redirect_domains}:void 0;return{ui:{...t&&{csp:t},...e.prefersBorder!==void 0&&{prefersBorder:e.prefersBorder}}}}function ko(e){return{...e.openaiTemplateUri&&{"openai/outputTemplate":e.openaiTemplateUri},"openai/toolInvocation/invoking":e.invoking,"openai/toolInvocation/invoked":e.invoked,"openai/widgetAccessible":!0,"openai/resultCanProduceWidget":!0,...e.mcpTemplateUri&&{ui:{resourceUri:e.mcpTemplateUri,...e.autoHeight&&{autoHeight:!0}}},...e.mcpTemplateUri&&{"ui/resourceUri":e.mcpTemplateUri}}}function cn(e){let{id:t,title:a,description:o,baseUrl:r,htmlPath:n,widgetDomain:s,prefersBorder:i=!0,autoHeight:l=!0}=e,u=e.widgetCSP??{connect_domains:[r],resource_domains:[r]};if(process.env.NODE_ENV==="development")try{let{hostname:x}=new URL(r);(x==="localhost"||x==="127.0.0.1")&&(u={...u,connect_domains:[...u.connect_domains||[],`ws://${x}:*`,`wss://${x}:*`],resource_domains:[...u.resource_domains||[],`http://${x}:*`]})}catch{}let c=`ui://widgets/apps-sdk/${t}.html`,d=`ui://widgets/ext-apps/${t}.html`,p=null,m=()=>(p||(p=ln(r,n)),p),h=o;async function I(x){let S=await m();x.registerResource(`${t}-openai-widget`,c,{title:a,description:h,mimeType:Ta,_meta:{"openai/widgetDescription":h,"openai/widgetPrefersBorder":i}},async C=>({contents:[{uri:C.href,mimeType:Ta,text:S,_meta:un({description:h,prefersBorder:i,widgetDomain:s,widgetCSP:u})}]})),x.registerResource(`${t}-mcp-widget`,d,{title:a,description:h,mimeType:va,_meta:{ui:{prefersBorder:i}}},async C=>({contents:[{uri:C.href,mimeType:va,text:S,_meta:dn({description:h,prefersBorder:i,widgetCSP:u})}]}))}return{id:t,title:a,description:o,openaiUri:c,mcpUri:d,autoHeight:l,register:I}}f();f();f();var vu="waniwani/client";function fn(e){if(typeof e=="object"&&e!==null)return e[vu]}function Pu(e,t){let{resource:a,description:o,inputSchema:r,annotations:n,autoInjectResultText:s=!0}=e,i=e.id??a?.id,l=e.title??a?.title;if(!i)throw new Error("createTool: `id` is required when no resource is provided");if(!l)throw new Error("createTool: `title` is required when no resource is provided");let u=a?ko({openaiTemplateUri:a.openaiUri,mcpTemplateUri:a.mcpUri,invoking:e.invoking??"Loading...",invoked:e.invoked??"Loaded",autoHeight:a.autoHeight}):void 0;return{id:i,title:l,description:o,async register(c){c.registerTool(i,{title:l,description:o,inputSchema:r,annotations:n,...u&&{_meta:u}},(async(d,p)=>{let m=p,h=m._meta??{},I=fn(m),x=await t(d,{extra:{_meta:h},waniwani:I});return a&&x.data?{content:[{type:"text",text:x.text}],structuredContent:x.data,_meta:{...u,...h,...s===!1?{"waniwani/autoInjectResultText":!1}:{}}}:{content:[{type:"text",text:x.text}],...x.data?{structuredContent:x.data}:{},...s===!1?{_meta:{"waniwani/autoInjectResultText":!1}}:{}}}))}}}async function Au(e,t){await Promise.all(t.map(a=>a.register(e)))}f();f();import{Fragment as Du,jsx as Bt,jsxs as Bu}from"react/jsx-runtime";function Ru(){let e=window.innerBaseUrl,t=window.__wwPassthroughOrigins??[],a=document.documentElement;new MutationObserver(l=>{l.forEach(u=>{if(u.type==="attributes"&&u.target===a){let c=u.attributeName;c&&c!=="suppresshydrationwarning"&&c!=="lang"&&c!=="class"&&c!=="style"&&a.removeAttribute(c)}})}).observe(a,{attributes:!0,attributeOldValue:!0});let r=history.replaceState.bind(history);history.replaceState=(l,u,c)=>{try{let d=new URL(String(c??""),window.location.href);r(null,u,d.pathname+d.search+d.hash)}catch{}};let n=history.pushState.bind(history);history.pushState=(l,u,c)=>{try{let d=new URL(String(c??""),window.location.href);n(null,u,d.pathname+d.search+d.hash)}catch{}};let s=new URL(e).origin,i=window.self!==window.top;if(window.addEventListener("click",l=>{let u=l?.target?.closest("a");if(!u||!u.href)return;let c=new URL(u.href,window.location.href);if(c.origin!==window.location.origin&&c.origin!==s)try{window.openai&&(window.openai?.openExternal({href:u.href}),l.preventDefault())}catch{console.warn("openExternal failed, likely not in OpenAI client")}},!0),i&&window.location.origin!==s){let l=window.fetch;window.fetch=((p,m)=>{let h=typeof p=="string"&&!/^[a-z][a-z0-9+.-]*:/i.test(p)&&!p.startsWith("//"),I;if(typeof p=="string"||p instanceof URL?I=new URL(p,window.location.href):I=new URL(p.url,window.location.href),I.origin===s)return typeof p=="string"||p instanceof URL?p=I.toString():p=new Request(I.toString(),p),l.call(window,p,{...m,mode:"cors"});if(t.indexOf(I.origin)!==-1)return l.call(window,p,m);if(h&&I.origin===window.location.origin){let x=new URL(e);return x.pathname=I.pathname,x.search=I.search,x.hash=I.hash,I=x,p=I.toString(),l.call(window,p,{...m,mode:"cors"})}return l.call(window,p,m)});let u=s.replace(/^http/,"ws"),c=window.WebSocket,d=((p,m)=>{let h=new URL(String(p),window.location.href);if(h.origin===window.location.origin||h.origin===window.location.origin.replace(/^http/,"ws")){let I=new URL(u);return I.pathname=h.pathname,I.search=h.search,I.hash=h.hash,new c(I.toString(),m)}return new c(p,m)});d.prototype=c.prototype,Object.assign(d,{CONNECTING:c.CONNECTING,OPEN:c.OPEN,CLOSING:c.CLOSING,CLOSED:c.CLOSED}),window.WebSocket=d}}var Mu=`(${Ru.toString()})()`;function Fu({baseUrl:e,passthroughOrigins:t}){return Bu(Du,{children:[Bt("base",{href:e}),Bt("script",{children:`window.innerBaseUrl = ${JSON.stringify(e)}`}),Bt("script",{children:`window.__wwPassthroughOrigins = ${JSON.stringify(t??[])}`}),Bt("script",{children:'window.__isChatGptApp = typeof window.openai !== "undefined";'}),Bt("script",{children:Mu})]})}f();f();import{useCallback as $e,useEffect as kt,useRef as To,useState as He}from"react";f();var pn={theme:"dark",userAgent:{device:{type:"desktop"},capabilities:{hover:!0,touch:!1}},locale:"en",maxHeight:800,displayMode:"inline",safeArea:{insets:{top:0,bottom:0,left:0,right:0}},toolInput:{},toolOutput:null,toolResponseMetadata:null,widgetState:null},Et={...pn};function _t(e){typeof window>"u"||window.openai||(Et={...pn,toolOutput:e??null},window.openai={...Et,requestDisplayMode:async({mode:t})=>(st("displayMode",t),{mode:t}),callTool:async(t,a)=>(console.log(`[DevMode] callTool: ${t}`,a),{result:JSON.stringify({mock:!0,tool:t,args:a})}),sendFollowUpMessage:async({prompt:t})=>{console.log(`[DevMode] sendFollowUpMessage: ${t}`)},openExternal:({href:t})=>{console.log(`[DevMode] openExternal: ${t}`),window.open(t,"_blank")},setWidgetState:async t=>{st("widgetState",t)}},window.dispatchEvent(new Ft({globals:Et})))}function st(e,t){typeof window>"u"||!window.openai||(Et[e]=t,window.openai[e]=t,window.dispatchEvent(new Ft({globals:{[e]:t}})))}function Pa(){return{...Et}}function Nt(e){st("toolOutput",e)}function Ot(e){st("displayMode",e)}function Ut(e){st("theme",e)}import{Fragment as vo,jsx as E,jsxs as Q}from"react/jsx-runtime";var Aa=150;function mn({className:e}){return Q("svg",{className:e,viewBox:"0 0 24 24",fill:"none",role:"img","aria-label":"Dev Controls",children:[E("rect",{x:"4",y:"4",width:"10",height:"10",rx:"2",stroke:"currentColor",strokeWidth:"1.5"}),E("rect",{x:"10",y:"10",width:"10",height:"10",rx:"2",stroke:"currentColor",strokeWidth:"1.5",fill:"currentColor",fillOpacity:"0.15"})]})}function Eu({className:e}){return E("svg",{"aria-hidden":"true",className:e,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:E("path",{d:"M18 6L6 18M6 6l12 12"})})}function _u({className:e}){return E("svg",{"aria-hidden":"true",className:e,viewBox:"0 0 16 16",fill:"none",children:E("rect",{x:"2",y:"4",width:"12",height:"8",rx:"1.5",stroke:"currentColor",strokeWidth:"1.25"})})}function Nu({className:e}){return Q("svg",{"aria-hidden":"true",className:e,viewBox:"0 0 16 16",fill:"none",children:[E("rect",{x:"1.5",y:"3",width:"13",height:"10",rx:"1.5",stroke:"currentColor",strokeWidth:"1.25"}),E("rect",{x:"8.5",y:"7",width:"5",height:"4",rx:"0.75",fill:"currentColor"})]})}function Ou({className:e}){return E("svg",{"aria-hidden":"true",className:e,viewBox:"0 0 16 16",fill:"none",children:E("path",{d:"M2 5.5V3.5C2 2.95 2.45 2.5 3 2.5H5.5M10.5 2.5H13C13.55 2.5 14 2.95 14 3.5V5.5M14 10.5V12.5C14 13.05 13.55 13.5 13 13.5H10.5M5.5 13.5H3C2.45 13.5 2 13.05 2 12.5V10.5",stroke:"currentColor",strokeWidth:"1.25",strokeLinecap:"round",strokeLinejoin:"round"})})}function Uu({className:e}){return Q("svg",{"aria-hidden":"true",className:e,viewBox:"0 0 16 16",fill:"none",children:[E("circle",{cx:"8",cy:"8",r:"2.5",stroke:"currentColor",strokeWidth:"1.25"}),E("path",{d:"M8 2v1.5M8 12.5V14M2 8h1.5M12.5 8H14M4.11 4.11l1.06 1.06M10.83 10.83l1.06 1.06M4.11 11.89l1.06-1.06M10.83 5.17l1.06-1.06",stroke:"currentColor",strokeWidth:"1.25",strokeLinecap:"round"})]})}function Hu({className:e}){return E("svg",{"aria-hidden":"true",className:e,viewBox:"0 0 16 16",fill:"none",children:E("path",{d:"M13.5 9.5a5.5 5.5 0 01-7-7 5.5 5.5 0 107 7z",stroke:"currentColor",strokeWidth:"1.25",strokeLinecap:"round",strokeLinejoin:"round"})})}function qu({className:e}){return Q("svg",{"aria-hidden":"true",className:e,viewBox:"0 0 16 16",fill:"none",children:[E("path",{d:"M2.5 8a5.5 5.5 0 019.37-3.9M13.5 8a5.5 5.5 0 01-9.37 3.9",stroke:"currentColor",strokeWidth:"1.25",strokeLinecap:"round"}),E("path",{d:"M12.5 2v3h-3M3.5 14v-3h3",stroke:"currentColor",strokeWidth:"1.25",strokeLinecap:"round",strokeLinejoin:"round"})]})}var Wu=`
1
+ import{a as yo,b as ku,c as Tu}from"../chunk-R6LESDWJ.js";import{b as Ft,c as It,d as Kr,e as Qr}from"../chunk-PYLRF5BB.js";import{a as Jr,b as Yr,c as Zr,d as en,e as tn,f as ba,g as an,h as on,i as rn,j as nn,k as bo,l as sn,m as St,n as yt,o as ka,p as bt,u as Dt}from"../chunk-YP6YTC7R.js";import{d as f}from"../chunk-LPD7BHH5.js";f();f();f();f();var Ta="text/html+skybridge",va="text/html;profile=mcp-app",ln=async(e,t)=>{let a=e.endsWith("/")?e.slice(0,-1):e;return await(await fetch(`${a}${t}`)).text()};function un(e){return{"openai/widgetDescription":e.description,"openai/widgetPrefersBorder":e.prefersBorder,"openai/widgetDomain":e.widgetDomain,...e.widgetCSP&&{"openai/widgetCSP":e.widgetCSP}}}function dn(e){let t=e.widgetCSP?{connectDomains:e.widgetCSP.connect_domains,resourceDomains:e.widgetCSP.resource_domains,frameDomains:e.widgetCSP.frame_domains,redirectDomains:e.widgetCSP.redirect_domains}:void 0;return{ui:{...t&&{csp:t},...e.prefersBorder!==void 0&&{prefersBorder:e.prefersBorder}}}}function ko(e){return{...e.openaiTemplateUri&&{"openai/outputTemplate":e.openaiTemplateUri},"openai/toolInvocation/invoking":e.invoking,"openai/toolInvocation/invoked":e.invoked,"openai/widgetAccessible":!0,"openai/resultCanProduceWidget":!0,...e.mcpTemplateUri&&{ui:{resourceUri:e.mcpTemplateUri,...e.autoHeight&&{autoHeight:!0}}},...e.mcpTemplateUri&&{"ui/resourceUri":e.mcpTemplateUri}}}function cn(e){let{id:t,title:a,description:o,baseUrl:r,htmlPath:n,widgetDomain:s,prefersBorder:i=!0,autoHeight:l=!0}=e,u=e.widgetCSP??{connect_domains:[r],resource_domains:[r]};if(process.env.NODE_ENV==="development")try{let{hostname:x}=new URL(r);(x==="localhost"||x==="127.0.0.1")&&(u={...u,connect_domains:[...u.connect_domains||[],`ws://${x}:*`,`wss://${x}:*`],resource_domains:[...u.resource_domains||[],`http://${x}:*`]})}catch{}let c=`ui://widgets/apps-sdk/${t}.html`,d=`ui://widgets/ext-apps/${t}.html`,p=null,m=()=>(p||(p=ln(r,n)),p),h=o;async function I(x){let S=await m();x.registerResource(`${t}-openai-widget`,c,{title:a,description:h,mimeType:Ta,_meta:{"openai/widgetDescription":h,"openai/widgetPrefersBorder":i}},async L=>({contents:[{uri:L.href,mimeType:Ta,text:S,_meta:un({description:h,prefersBorder:i,widgetDomain:s,widgetCSP:u})}]})),x.registerResource(`${t}-mcp-widget`,d,{title:a,description:h,mimeType:va,_meta:{ui:{prefersBorder:i}}},async L=>({contents:[{uri:L.href,mimeType:va,text:S,_meta:dn({description:h,prefersBorder:i,widgetCSP:u})}]}))}return{id:t,title:a,description:o,openaiUri:c,mcpUri:d,autoHeight:l,register:I}}f();f();f();f();var vu="waniwani/client";function fn(e){if(typeof e=="object"&&e!==null)return e[vu]}function Pu(e,t){let{resource:a,description:o,inputSchema:r,annotations:n,autoInjectResultText:s=!0}=e,i=e.id??a?.id,l=e.title??a?.title;if(!i)throw new Error("createTool: `id` is required when no resource is provided");if(!l)throw new Error("createTool: `title` is required when no resource is provided");let u=a?ko({openaiTemplateUri:a.openaiUri,mcpTemplateUri:a.mcpUri,invoking:e.invoking??"Loading...",invoked:e.invoked??"Loaded",autoHeight:a.autoHeight}):void 0;return{id:i,title:l,description:o,async register(c){c.registerTool(i,{title:l,description:o,inputSchema:r,annotations:n,...u&&{_meta:u}},(async(d,p)=>{let m=p,h=m._meta??{},I=fn(m),x=await t(d,{extra:{_meta:h},waniwani:I});return a&&x.data?{content:[{type:"text",text:x.text}],structuredContent:x.data,_meta:{...u,...h,...s===!1?{"waniwani/autoInjectResultText":!1}:{}}}:{content:[{type:"text",text:x.text}],...x.data?{structuredContent:x.data}:{},...s===!1?{_meta:{"waniwani/autoInjectResultText":!1}}:{}}}))}}}async function Au(e,t){await Promise.all(t.map(a=>a.register(e)))}f();f();import{Fragment as Du,jsx as Bt,jsxs as Bu}from"react/jsx-runtime";function Ru(){let e=window.innerBaseUrl,t=window.__wwPassthroughOrigins??[],a=document.documentElement;new MutationObserver(l=>{l.forEach(u=>{if(u.type==="attributes"&&u.target===a){let c=u.attributeName;c&&c!=="suppresshydrationwarning"&&c!=="lang"&&c!=="class"&&c!=="style"&&a.removeAttribute(c)}})}).observe(a,{attributes:!0,attributeOldValue:!0});let r=history.replaceState.bind(history);history.replaceState=(l,u,c)=>{try{let d=new URL(String(c??""),window.location.href);r(null,u,d.pathname+d.search+d.hash)}catch{}};let n=history.pushState.bind(history);history.pushState=(l,u,c)=>{try{let d=new URL(String(c??""),window.location.href);n(null,u,d.pathname+d.search+d.hash)}catch{}};let s=new URL(e).origin,i=window.self!==window.top;if(window.addEventListener("click",l=>{let u=l?.target?.closest("a");if(!u||!u.href)return;let c=new URL(u.href,window.location.href);if(c.origin!==window.location.origin&&c.origin!==s)try{window.openai&&(window.openai?.openExternal({href:u.href}),l.preventDefault())}catch{console.warn("openExternal failed, likely not in OpenAI client")}},!0),i&&window.location.origin!==s){let l=window.fetch;window.fetch=((p,m)=>{let h=typeof p=="string"&&!/^[a-z][a-z0-9+.-]*:/i.test(p)&&!p.startsWith("//"),I;if(typeof p=="string"||p instanceof URL?I=new URL(p,window.location.href):I=new URL(p.url,window.location.href),I.origin===s)return typeof p=="string"||p instanceof URL?p=I.toString():p=new Request(I.toString(),p),l.call(window,p,{...m,mode:"cors"});if(t.indexOf(I.origin)!==-1)return l.call(window,p,m);if(h&&I.origin===window.location.origin){let x=new URL(e);return x.pathname=I.pathname,x.search=I.search,x.hash=I.hash,I=x,p=I.toString(),l.call(window,p,{...m,mode:"cors"})}return l.call(window,p,m)});let u=s.replace(/^http/,"ws"),c=window.WebSocket,d=((p,m)=>{let h=new URL(String(p),window.location.href);if(h.origin===window.location.origin||h.origin===window.location.origin.replace(/^http/,"ws")){let I=new URL(u);return I.pathname=h.pathname,I.search=h.search,I.hash=h.hash,new c(I.toString(),m)}return new c(p,m)});d.prototype=c.prototype,Object.assign(d,{CONNECTING:c.CONNECTING,OPEN:c.OPEN,CLOSING:c.CLOSING,CLOSED:c.CLOSED}),window.WebSocket=d}}var Mu=`(${Ru.toString()})()`;function Fu({baseUrl:e,passthroughOrigins:t}){return Bu(Du,{children:[Bt("base",{href:e}),Bt("script",{children:`window.innerBaseUrl = ${JSON.stringify(e)}`}),Bt("script",{children:`window.__wwPassthroughOrigins = ${JSON.stringify(t??[])}`}),Bt("script",{children:'window.__isChatGptApp = typeof window.openai !== "undefined";'}),Bt("script",{children:Mu})]})}f();f();import{useCallback as $e,useEffect as kt,useRef as To,useState as He}from"react";f();var pn={theme:"dark",userAgent:{device:{type:"desktop"},capabilities:{hover:!0,touch:!1}},locale:"en",maxHeight:800,displayMode:"inline",safeArea:{insets:{top:0,bottom:0,left:0,right:0}},toolInput:{},toolOutput:null,toolResponseMetadata:null,widgetState:null},Et={...pn};function _t(e){typeof window>"u"||window.openai||(Et={...pn,toolOutput:e??null},window.openai={...Et,requestDisplayMode:async({mode:t})=>(st("displayMode",t),{mode:t}),callTool:async(t,a)=>(console.log(`[DevMode] callTool: ${t}`,a),{result:JSON.stringify({mock:!0,tool:t,args:a})}),sendFollowUpMessage:async({prompt:t})=>{console.log(`[DevMode] sendFollowUpMessage: ${t}`)},openExternal:({href:t})=>{console.log(`[DevMode] openExternal: ${t}`),window.open(t,"_blank")},setWidgetState:async t=>{st("widgetState",t)}},window.dispatchEvent(new Ft({globals:Et})))}function st(e,t){typeof window>"u"||!window.openai||(Et[e]=t,window.openai[e]=t,window.dispatchEvent(new Ft({globals:{[e]:t}})))}function Pa(){return{...Et}}function Nt(e){st("toolOutput",e)}function Ot(e){st("displayMode",e)}function Ut(e){st("theme",e)}import{Fragment as vo,jsx as B,jsxs as J}from"react/jsx-runtime";var Aa=150;function mn({className:e}){return J("svg",{className:e,viewBox:"0 0 24 24",fill:"none",role:"img","aria-label":"Dev Controls",children:[B("rect",{x:"4",y:"4",width:"10",height:"10",rx:"2",stroke:"currentColor",strokeWidth:"1.5"}),B("rect",{x:"10",y:"10",width:"10",height:"10",rx:"2",stroke:"currentColor",strokeWidth:"1.5",fill:"currentColor",fillOpacity:"0.15"})]})}function Eu({className:e}){return B("svg",{"aria-hidden":"true",className:e,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:B("path",{d:"M18 6L6 18M6 6l12 12"})})}function _u({className:e}){return B("svg",{"aria-hidden":"true",className:e,viewBox:"0 0 16 16",fill:"none",children:B("rect",{x:"2",y:"4",width:"12",height:"8",rx:"1.5",stroke:"currentColor",strokeWidth:"1.25"})})}function Nu({className:e}){return J("svg",{"aria-hidden":"true",className:e,viewBox:"0 0 16 16",fill:"none",children:[B("rect",{x:"1.5",y:"3",width:"13",height:"10",rx:"1.5",stroke:"currentColor",strokeWidth:"1.25"}),B("rect",{x:"8.5",y:"7",width:"5",height:"4",rx:"0.75",fill:"currentColor"})]})}function Ou({className:e}){return B("svg",{"aria-hidden":"true",className:e,viewBox:"0 0 16 16",fill:"none",children:B("path",{d:"M2 5.5V3.5C2 2.95 2.45 2.5 3 2.5H5.5M10.5 2.5H13C13.55 2.5 14 2.95 14 3.5V5.5M14 10.5V12.5C14 13.05 13.55 13.5 13 13.5H10.5M5.5 13.5H3C2.45 13.5 2 13.05 2 12.5V10.5",stroke:"currentColor",strokeWidth:"1.25",strokeLinecap:"round",strokeLinejoin:"round"})})}function Uu({className:e}){return J("svg",{"aria-hidden":"true",className:e,viewBox:"0 0 16 16",fill:"none",children:[B("circle",{cx:"8",cy:"8",r:"2.5",stroke:"currentColor",strokeWidth:"1.25"}),B("path",{d:"M8 2v1.5M8 12.5V14M2 8h1.5M12.5 8H14M4.11 4.11l1.06 1.06M10.83 10.83l1.06 1.06M4.11 11.89l1.06-1.06M10.83 5.17l1.06-1.06",stroke:"currentColor",strokeWidth:"1.25",strokeLinecap:"round"})]})}function Hu({className:e}){return B("svg",{"aria-hidden":"true",className:e,viewBox:"0 0 16 16",fill:"none",children:B("path",{d:"M13.5 9.5a5.5 5.5 0 01-7-7 5.5 5.5 0 107 7z",stroke:"currentColor",strokeWidth:"1.25",strokeLinecap:"round",strokeLinejoin:"round"})})}function qu({className:e}){return J("svg",{"aria-hidden":"true",className:e,viewBox:"0 0 16 16",fill:"none",children:[B("path",{d:"M2.5 8a5.5 5.5 0 019.37-3.9M13.5 8a5.5 5.5 0 01-9.37 3.9",stroke:"currentColor",strokeWidth:"1.25",strokeLinecap:"round"}),B("path",{d:"M12.5 2v3h-3M3.5 14v-3h3",stroke:"currentColor",strokeWidth:"1.25",strokeLinecap:"round",strokeLinejoin:"round"})]})}var Wu=`
2
2
  @keyframes devPanelSlideIn {
3
3
  0% {
4
4
  opacity: 0;
@@ -46,28 +46,28 @@ import{a as yo,b as ku,c as Tu}from"../chunk-R6LESDWJ.js";import{b as Ft,c as It
46
46
  .dev-json-editor::-webkit-scrollbar-thumb:hover {
47
47
  background: rgba(255, 255, 255, 0.15);
48
48
  }
49
- `;function gn({defaultProps:e,widgetPaths:t,children:a}){let[o,r]=He(!1),[n,s]=He(!1);return kt(()=>{if(new URLSearchParams(window.location.search).get("platform")==="mcp-apps"){r(!0);return}if(t&&t.length>0){let l=window.location.pathname,u=t.some(c=>l===c||l.startsWith(`${c}/`));s(u),u&&_t(e)}else _t(e),s(!0);r(!0)},[e,t]),o?n?Q(vo,{children:[E(Gu,{children:a}),E(ju,{defaultProps:e})]}):E(vo,{children:a}):null}function Gu({children:e}){return E("div",{className:"min-h-screen bg-[#212121] flex items-center justify-center p-8",children:E("div",{className:"relative w-full max-w-md overflow-hidden rounded-2xl sm:rounded-3xl border border-[#414141]",style:{boxShadow:"0px 0px 0px 1px #414141, 0px 4px 14px rgba(0,0,0,0.24)"},children:e})})}function hn({options:e,value:t,onChange:a}){let o=e.findIndex(r=>r.value===t);return Q("div",{className:"relative flex p-0.5 rounded-lg",style:{background:"rgba(255, 255, 255, 0.04)",border:"1px solid rgba(255, 255, 255, 0.06)"},children:[E("div",{className:"absolute top-0.5 bottom-0.5 rounded-md transition-transform duration-150 ease-out",style:{width:`calc(${100/e.length}% - 2px)`,left:"2px",transform:`translateX(calc(${o*100}% + ${o*2}px))`,background:"rgba(255, 255, 255, 0.1)"}}),e.map(r=>Q("button",{type:"button",onClick:()=>a(r.value),className:`
49
+ `;function gn({defaultProps:e,widgetPaths:t,children:a}){let[o,r]=He(!1),[n,s]=He(!1);return kt(()=>{if(new URLSearchParams(window.location.search).get("platform")==="mcp-apps"){r(!0);return}if(t&&t.length>0){let l=window.location.pathname,u=t.some(c=>l===c||l.startsWith(`${c}/`));s(u),u&&_t(e)}else _t(e),s(!0);r(!0)},[e,t]),o?n?J(vo,{children:[B(Gu,{children:a}),B(ju,{defaultProps:e})]}):B(vo,{children:a}):null}function Gu({children:e}){return B("div",{className:"min-h-screen bg-[#212121] flex items-center justify-center p-8",children:B("div",{className:"relative w-full max-w-md overflow-hidden rounded-2xl sm:rounded-3xl border border-[#414141]",style:{boxShadow:"0px 0px 0px 1px #414141, 0px 4px 14px rgba(0,0,0,0.24)"},children:e})})}function hn({options:e,value:t,onChange:a}){let o=e.findIndex(r=>r.value===t);return J("div",{className:"relative flex p-0.5 rounded-lg",style:{background:"rgba(255, 255, 255, 0.04)",border:"1px solid rgba(255, 255, 255, 0.06)"},children:[B("div",{className:"absolute top-0.5 bottom-0.5 rounded-md transition-transform duration-150 ease-out",style:{width:`calc(${100/e.length}% - 2px)`,left:"2px",transform:`translateX(calc(${o*100}% + ${o*2}px))`,background:"rgba(255, 255, 255, 0.1)"}}),e.map(r=>J("button",{type:"button",onClick:()=>a(r.value),className:`
50
50
  relative z-10 flex-1 flex items-center justify-center gap-1.5 px-2 py-1.5
51
51
  text-xs font-medium rounded-md transition-colors duration-150
52
52
  ${t===r.value?"text-white":"text-gray-400 hover:text-gray-300"}
53
- `,children:[r.icon,E("span",{className:"capitalize",children:r.label})]},r.value))]})}function ju({defaultProps:e}){let[t,a]=He(()=>typeof window>"u"?!1:localStorage.getItem("dev-controls-open")==="true"),[o,r]=He(!1),[n,s]=He(t),[i,l]=He("inline"),[u,c]=He("dark"),[d,p]=He(!1),[m,h]=He(()=>JSON.stringify(e??{},null,2)),[I,x]=He(null),S=To(null),C=To(null),L=To(null);kt(()=>{let T=Pa();l(T.displayMode),c(T.theme)},[]),kt(()=>{typeof window>"u"||(window.openai||(window.openai={}),window.openai.safeArea={insets:{top:0,bottom:d?Aa:0,left:0,right:0}},window.dispatchEvent(new Ft({globals:{safeArea:window.openai.safeArea}})))},[d]),kt(()=>{localStorage.setItem("dev-controls-open",String(t))},[t]);let y=$e(()=>{s(!0),requestAnimationFrame(()=>{a(!0)})},[]),v=$e(()=>{r(!0),a(!1),setTimeout(()=>{s(!1),r(!1)},150)},[]),A=$e(()=>{t?v():y()},[t,y,v]);kt(()=>{let T=O=>{(O.metaKey||O.ctrlKey)&&O.shiftKey&&O.key==="d"&&(O.preventDefault(),A()),O.key==="Escape"&&t&&v()};return window.addEventListener("keydown",T),()=>window.removeEventListener("keydown",T)},[t,A,v]),kt(()=>{if(!t)return;let T=O=>{L.current&&!L.current.contains(O.target)&&v()};return document.addEventListener("mousedown",T),()=>document.removeEventListener("mousedown",T)},[t,v]);let M=$e(T=>{l(T),Ot(T)},[]),R=$e(T=>{c(T),Ut(T)},[]),_=$e(T=>{try{let O=JSON.parse(T);x(null),Nt(O)}catch{x("Invalid JSON")}},[]),D=$e(T=>{h(T),S.current&&clearTimeout(S.current),S.current=setTimeout(()=>{_(T)},500)},[_]),N=$e(()=>{S.current&&clearTimeout(S.current),_(m)},[_,m]),k=$e(()=>{let T=JSON.stringify(e??{},null,2);h(T),x(null),Nt(e??{}),l("inline"),Ot("inline"),c("dark"),Ut("dark")},[e]),B=[{value:"inline",label:"inline",icon:E(_u,{className:"w-3.5 h-3.5"})},{value:"pip",label:"pip",icon:E(Nu,{className:"w-3.5 h-3.5"})},{value:"fullscreen",label:"full",icon:E(Ou,{className:"w-3.5 h-3.5"})}],P=[{value:"light",label:"light",icon:E(Uu,{className:"w-3.5 h-3.5"})},{value:"dark",label:"dark",icon:E(Hu,{className:"w-3.5 h-3.5"})}];return Q(vo,{children:[E("style",{dangerouslySetInnerHTML:{__html:Wu}}),Q("div",{ref:L,className:"fixed bottom-4 right-4 z-[9999] font-['Inter',_system-ui,_sans-serif]",children:[Q("button",{type:"button",onClick:A,className:"group relative flex items-center justify-center w-11 h-11 rounded-xl transition-all duration-200 ease-out hover:scale-105 active:scale-95",style:{background:"rgba(14, 14, 16, 0.95)",backdropFilter:"blur(16px)",WebkitBackdropFilter:"blur(16px)",border:"1px solid rgba(255, 255, 255, 0.08)",boxShadow:`
53
+ `,children:[r.icon,B("span",{className:"capitalize",children:r.label})]},r.value))]})}function ju({defaultProps:e}){let[t,a]=He(()=>typeof window>"u"?!1:localStorage.getItem("dev-controls-open")==="true"),[o,r]=He(!1),[n,s]=He(t),[i,l]=He("inline"),[u,c]=He("dark"),[d,p]=He(!1),[m,h]=He(()=>JSON.stringify(e??{},null,2)),[I,x]=He(null),S=To(null),L=To(null),C=To(null);kt(()=>{let y=Pa();l(y.displayMode),c(y.theme)},[]),kt(()=>{typeof window>"u"||(window.openai||(window.openai={}),window.openai.safeArea={insets:{top:0,bottom:d?Aa:0,left:0,right:0}},window.dispatchEvent(new Ft({globals:{safeArea:window.openai.safeArea}})))},[d]),kt(()=>{localStorage.setItem("dev-controls-open",String(t))},[t]);let k=$e(()=>{s(!0),requestAnimationFrame(()=>{a(!0)})},[]),T=$e(()=>{r(!0),a(!1),setTimeout(()=>{s(!1),r(!1)},150)},[]),P=$e(()=>{t?T():k()},[t,k,T]);kt(()=>{let y=N=>{(N.metaKey||N.ctrlKey)&&N.shiftKey&&N.key==="d"&&(N.preventDefault(),P()),N.key==="Escape"&&t&&T()};return window.addEventListener("keydown",y),()=>window.removeEventListener("keydown",y)},[t,P,T]),kt(()=>{if(!t)return;let y=N=>{C.current&&!C.current.contains(N.target)&&T()};return document.addEventListener("mousedown",y),()=>document.removeEventListener("mousedown",y)},[t,T]);let M=$e(y=>{l(y),Ot(y)},[]),A=$e(y=>{c(y),Ut(y)},[]),E=$e(y=>{try{let N=JSON.parse(y);x(null),Nt(N)}catch{x("Invalid JSON")}},[]),F=$e(y=>{h(y),S.current&&clearTimeout(S.current),S.current=setTimeout(()=>{E(y)},500)},[E]),_=$e(()=>{S.current&&clearTimeout(S.current),E(m)},[E,m]),v=$e(()=>{let y=JSON.stringify(e??{},null,2);h(y),x(null),Nt(e??{}),l("inline"),Ot("inline"),c("dark"),Ut("dark")},[e]),D=[{value:"inline",label:"inline",icon:B(_u,{className:"w-3.5 h-3.5"})},{value:"pip",label:"pip",icon:B(Nu,{className:"w-3.5 h-3.5"})},{value:"fullscreen",label:"full",icon:B(Ou,{className:"w-3.5 h-3.5"})}],q=[{value:"light",label:"light",icon:B(Uu,{className:"w-3.5 h-3.5"})},{value:"dark",label:"dark",icon:B(Hu,{className:"w-3.5 h-3.5"})}];return J(vo,{children:[B("style",{dangerouslySetInnerHTML:{__html:Wu}}),J("div",{ref:C,className:"fixed bottom-4 right-4 z-[9999] font-['Inter',_system-ui,_sans-serif]",children:[J("button",{type:"button",onClick:P,className:"group relative flex items-center justify-center w-11 h-11 rounded-xl transition-all duration-200 ease-out hover:scale-105 active:scale-95",style:{background:"rgba(14, 14, 16, 0.95)",backdropFilter:"blur(16px)",WebkitBackdropFilter:"blur(16px)",border:"1px solid rgba(255, 255, 255, 0.08)",boxShadow:`
54
54
  0 4px 12px rgba(0, 0, 0, 0.4),
55
55
  0 0 0 1px rgba(255, 255, 255, 0.05),
56
56
  inset 0 1px 0 rgba(255, 255, 255, 0.04)
57
- `},"aria-label":"Toggle Dev Controls","aria-expanded":t,children:[E(mn,{className:`w-5 h-5 transition-all duration-200 ${t?"text-indigo-400 scale-110":"text-gray-300 group-hover:text-white"}`}),E("div",{className:"absolute inset-0 rounded-xl opacity-0 group-hover:opacity-100 transition-opacity duration-200 pointer-events-none",style:{background:"radial-gradient(circle at center, rgba(99, 102, 241, 0.15) 0%, transparent 70%)"}})]}),n&&Q("div",{ref:C,className:`absolute bottom-14 right-0 w-80 ${t&&!o?"dev-panel-enter":"dev-panel-exit"}`,style:{maxHeight:"calc(100vh - 120px)",background:"rgba(14, 14, 16, 0.92)",backdropFilter:"blur(24px)",WebkitBackdropFilter:"blur(24px)",border:"1px solid rgba(255, 255, 255, 0.06)",borderRadius:"16px",boxShadow:`
57
+ `},"aria-label":"Toggle Dev Controls","aria-expanded":t,children:[B(mn,{className:`w-5 h-5 transition-all duration-200 ${t?"text-indigo-400 scale-110":"text-gray-300 group-hover:text-white"}`}),B("div",{className:"absolute inset-0 rounded-xl opacity-0 group-hover:opacity-100 transition-opacity duration-200 pointer-events-none",style:{background:"radial-gradient(circle at center, rgba(99, 102, 241, 0.15) 0%, transparent 70%)"}})]}),n&&J("div",{ref:L,className:`absolute bottom-14 right-0 w-80 ${t&&!o?"dev-panel-enter":"dev-panel-exit"}`,style:{maxHeight:"calc(100vh - 120px)",background:"rgba(14, 14, 16, 0.92)",backdropFilter:"blur(24px)",WebkitBackdropFilter:"blur(24px)",border:"1px solid rgba(255, 255, 255, 0.06)",borderRadius:"16px",boxShadow:`
58
58
  0 25px 50px -12px rgba(0, 0, 0, 0.6),
59
59
  0 0 0 1px rgba(255, 255, 255, 0.05),
60
60
  inset 0 1px 0 rgba(255, 255, 255, 0.04)
61
- `},children:[Q("div",{className:"flex items-center justify-between px-4 py-3",style:{borderBottom:"1px solid rgba(255, 255, 255, 0.06)"},children:[Q("div",{className:"flex items-center gap-2",children:[E(mn,{className:"w-4 h-4 text-gray-400"}),E("span",{className:"text-sm font-medium text-white",children:"Dev Controls"})]}),Q("div",{className:"flex items-center gap-2",children:[E("span",{className:"text-[10px] font-medium text-gray-500 px-1.5 py-0.5 rounded",style:{background:"rgba(255, 255, 255, 0.04)",border:"1px solid rgba(255, 255, 255, 0.06)"},children:typeof navigator<"u"&&navigator.platform?.includes("Mac")?"\u2318\u21E7D":"Ctrl+Shift+D"}),E("button",{type:"button",onClick:v,className:"p-1 rounded-md text-gray-500 hover:text-gray-300 hover:bg-white/5 transition-colors",children:E(Eu,{className:"w-4 h-4"})})]})]}),Q("div",{className:"p-4 space-y-5 overflow-y-auto",style:{maxHeight:"calc(100vh - 200px)"},children:[Q("div",{children:[E("label",{htmlFor:"display-mode",className:"text-[11px] font-medium uppercase tracking-wider text-gray-500 block mb-2",children:"Display Mode"}),E(hn,{options:B,value:i,onChange:M})]}),Q("div",{children:[E("label",{htmlFor:"theme",className:"text-[11px] font-medium uppercase tracking-wider text-gray-500 block mb-2",children:"Theme"}),E(hn,{options:P,value:u,onChange:R})]}),Q("div",{children:[E("label",{htmlFor:"safe-area",className:"text-[11px] font-medium uppercase tracking-wider text-gray-500 block mb-2",children:"Safe Area (Chat Input)"}),Q("button",{type:"button",onClick:()=>p(!d),className:`w-full flex items-center justify-between px-3 py-2.5 rounded-lg text-xs font-medium transition-all duration-150 ${d?"text-emerald-400":"text-gray-400"}`,style:{background:d?"rgba(34, 197, 94, 0.1)":"rgba(255, 255, 255, 0.04)",border:d?"1px solid rgba(34, 197, 94, 0.3)":"1px solid rgba(255, 255, 255, 0.06)"},children:[E("span",{children:"Mock ChatGPT Input Bar"}),E("span",{className:`px-2 py-0.5 rounded text-[10px] font-semibold ${d?"bg-emerald-500/20 text-emerald-400":"bg-gray-500/20 text-gray-500"}`,children:d?"ON":"OFF"})]}),d&&Q("p",{className:"text-[10px] text-gray-500 mt-1.5",children:["bottom: ",Aa,"px"]})]}),Q("div",{children:[E("label",{htmlFor:"widget-props",className:"text-[11px] font-medium uppercase tracking-wider text-gray-500 block mb-2",children:"Widget Props"}),E("textarea",{value:m,onChange:T=>D(T.target.value),onBlur:N,className:"dev-json-editor w-full min-h-[160px] text-xs text-gray-200 p-3 rounded-lg resize-none focus:outline-none transition-colors",style:{background:"rgba(0, 0, 0, 0.3)",border:I?"1px solid rgba(239, 68, 68, 0.5)":"1px solid rgba(255, 255, 255, 0.06)",fontFamily:"'JetBrains Mono', 'SF Mono', 'Fira Code', monospace",lineHeight:1.6},onFocus:T=>{I||(T.target.style.borderColor="rgba(99, 102, 241, 0.5)")},onBlurCapture:T=>{I||(T.target.style.borderColor="rgba(255, 255, 255, 0.06)")},spellCheck:!1}),I&&Q("p",{className:"text-red-400 text-[11px] mt-1.5 flex items-center gap-1",children:[E("svg",{"aria-hidden":"true","aria-label":"Error",className:"w-3 h-3",viewBox:"0 0 16 16",fill:"currentColor",children:E("path",{d:"M8 1.5a6.5 6.5 0 100 13 6.5 6.5 0 000-13zM7 4.5h2v4H7v-4zm0 5h2v2H7v-2z"})}),I]})]}),Q("button",{type:"button",onClick:k,className:"w-full flex items-center justify-center gap-2 px-3 py-2 rounded-lg text-xs font-medium text-gray-400 transition-all duration-150 hover:text-gray-200",style:{background:"rgba(255, 255, 255, 0.04)",border:"1px solid rgba(255, 255, 255, 0.06)"},onMouseEnter:T=>{T.currentTarget.style.background="rgba(255, 255, 255, 0.08)",T.currentTarget.style.borderColor="rgba(255, 255, 255, 0.1)"},onMouseLeave:T=>{T.currentTarget.style.background="rgba(255, 255, 255, 0.04)",T.currentTarget.style.borderColor="rgba(255, 255, 255, 0.06)"},children:[E(qu,{className:"w-3.5 h-3.5"}),"Reset to Defaults"]})]})]})]}),d&&Q("div",{className:"fixed bottom-0 left-0 right-0 z-[9998] flex items-center justify-center pointer-events-none",style:{height:`${Aa}px`,background:"linear-gradient(to top, #1a1a1a 0%, #1a1a1a 80%, transparent 100%)"},children:[Q("div",{className:"w-full max-w-2xl mx-4 px-4 py-3 rounded-2xl bg-[#2f2f2f] border border-[#424242] flex items-center gap-3",children:[E("div",{className:"w-8 h-8 rounded-full bg-[#424242] flex items-center justify-center",children:E("svg",{"aria-hidden":"true",className:"w-4 h-4 text-gray-400",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",children:E("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M12 4v16m8-8H4"})})}),E("div",{className:"flex-1 text-gray-400 text-sm",children:"Ask me anything..."}),E("div",{className:"w-8 h-8 rounded-full bg-[#424242] flex items-center justify-center",children:E("svg",{"aria-hidden":"true",className:"w-4 h-4 text-gray-400",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",children:E("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M19 11a7 7 0 01-7 7m0 0a7 7 0 01-7-7m7 7v4m0 0H8m4 0h4m-4-8a3 3 0 01-3-3V5a3 3 0 116 0v6a3 3 0 01-3 3z"})})})]}),Q("div",{className:"absolute bottom-1 text-[10px] text-gray-600 font-mono",children:["Mock SafeArea: bottom=",Aa,"px"]})]})]})}f();f();import{useCallback as Vu,useContext as $u,useLayoutEffect as Xu,useMemo as Ku,useRef as wn}from"react";f();import{createContext as zu}from"react";var Ht=zu(null);import{Fragment as xn,jsx as Po}from"react/jsx-runtime";var Qu="waniwani:send-follow-up:advanced:",Ju=1e4;function Ln(e){return`${Qu}${e??"default"}`}function Zu(e){try{let t=globalThis.localStorage?.getItem(Ln(e));if(!t)return null;let a=JSON.parse(t);return typeof a?.at!="number"||typeof a?.byMountId!="string"?null:a}catch{return null}}function Yu(e,t){try{globalThis.localStorage?.setItem(Ln(e),JSON.stringify({at:Date.now(),byMountId:t}))}catch{}}function Ao(){return typeof window>"u"?!1:typeof window.openai=="object"}function ed(){return Ao()?window.openai:null}function td(){return Xu(()=>{let e=document.documentElement,t=document.body,a=e.getAttribute("style"),o=t.getAttribute("style"),r="margin:0!important;padding:0!important;border:0!important;background:transparent!important;background-color:transparent!important;height:0!important;min-height:0!important;max-height:0!important;overflow:hidden!important;";return e.setAttribute("style",r),t.setAttribute("style",r),()=>{a===null?e.removeAttribute("style"):e.setAttribute("style",a),o===null?t.removeAttribute("style"):t.setAttribute("style",o)}},[]),null}function Cn(e){let t=$u(Ht),a=wn(e);a.current=e;let o=t?.getToolResponseMetadata?.()??null,r=ed()?.toolResponseMetadata??null,n=o??r,s=n&&typeof n.viewUUID=="string"?n.viewUUID:void 0,i=wn("");i.current===""&&(i.current=crypto.randomUUID());let l=Vu((c,d)=>{Ao()&&Yu(s,i.current);try{Promise.resolve(a.current(c)).catch(p=>{console.error("[unstable_useSendFollowUpWithGhostGuard]",p)})}catch(p){console.error("[unstable_useSendFollowUpWithGhostGuard]",p)}},[s]),u=Ku(()=>{let c=i.current;return function({children:p}){if(!Ao())return Po(xn,{children:p});let m=Zu(s);return m&&m.byMountId!==c&&Date.now()-m.at<Ju?Po(td,{}):Po(xn,{children:p})}},[s]);return{sendFollowUp:l,Guard:u}}f();import{useCallback as rd}from"react";f();import qt,{useCallback as Sn,useContext as ad,useEffect as yn,useState as Ro,useSyncExternalStore as od}from"react";f();async function In(){let{detectPlatform:e}=await import("../platform-ZNBJH5XX.js");if(e()==="openai"){let{OpenAIWidgetClient:a}=await import("../openai-client-VRJPAPFR.js");return new a}else{let{MCPAppsWidgetClient:a}=await import("../mcp-apps-client-Z5ICFYSR.js");return new a}}function bn({children:e,loading:t=null,onError:a}){let[o,r]=Ro(null),[n,s]=Ro(null),[i,l]=Ro(!0);return yn(()=>{let u=!0,c=null;async function d(){try{let p=await In();await p.connect(),u?(c=p,r(p),l(!1)):p.close()}catch(p){u&&(console.error("error",p),s(p instanceof Error?p:new Error(String(p))),l(!1))}}return d(),()=>{u=!1,c?.close()}},[]),yn(()=>{if(!o)return;let u=c=>{document.documentElement.classList.toggle("dark",c==="dark"),document.documentElement.style.colorScheme=c==="dark"?"dark":"auto"};return u(o.getTheme()),o.onThemeChange(u)},[o]),n&&a?qt.createElement(qt.Fragment,null,a(n)):i||!o?qt.createElement(qt.Fragment,null,t):qt.createElement(Ht.Provider,{value:o},e)}function V(e){let t=ad(Ht);if(!t)throw new Error("useWidgetClient must be used within a WidgetProvider");let a=Sn(n=>e==="toolOutput"?t.onToolResult(()=>n()):e==="theme"?t.onThemeChange(()=>n()):e==="displayMode"?t.onDisplayModeChange(()=>n()):e==="safeArea"?t.onSafeAreaChange(()=>n()):e==="maxHeight"?t.onMaxHeightChange(()=>n()):e==="toolResponseMetadata"?t.onToolResponseMetadataChange(()=>n()):e==="widgetState"?t.onWidgetStateChange(()=>n()):()=>{},[t,e]),o=Sn(()=>e==="toolOutput"?t.getToolOutput():e==="theme"?t.getTheme():e==="displayMode"?t.getDisplayMode():e==="locale"?t.getLocale():e==="safeArea"?t.getSafeArea():e==="maxHeight"?t.getMaxHeight():e==="toolResponseMetadata"?t.getToolResponseMetadata():e==="widgetState"?t.getWidgetState():null,[t,e]),r=od(a,o,o);return e?r:t}function kn(){let e=V();return rd((t,a)=>e.callTool(t,a),[e])}f();function Tn(){return V("displayMode")}f();f();function Ra(){return V("toolOutput")}function vn(){return{data:Ra()}}f();import{useSyncExternalStore as nd}from"react";function Pn(){return nd(()=>()=>{},()=>typeof window>"u"?!1:window.__isChatGptApp===!0,()=>!1)}f();function An(){return V("locale")}f();function Rn(){return V("maxHeight")}f();import{useCallback as sd}from"react";function Mn(){let e=V();return sd(t=>e.openExternal(t),[e])}f();import{useCallback as id}from"react";function Fn(){let e=V();return id(t=>e.requestDisplayMode(t),[e])}f();function Dn(){return V("safeArea")}f();import{useCallback as ld}from"react";function Bn(){let e=V();return ld((t,a)=>{(async()=>{It(a?.modelContext)&&await Promise.resolve(e.updateModelContext(a.modelContext)),await Promise.resolve(e.sendFollowUp(t))})().catch(o=>{console.error("Failed to send follow-up message:",o)})},[e])}f();function En(){return V("theme")}f();function _n(){return V("toolResponseMetadata")}f();import{useCallback as ud}from"react";function Nn(){let e=V();return ud(async t=>{await Promise.resolve(e.updateModelContext(t))},[e])}f();import{useCallback as dd,useEffect as cd,useState as fd}from"react";function On(e){let t=V("widgetState"),[a,o]=fd(()=>t??(typeof e=="function"?e():e??null));cd(()=>{o(t)},[t]);let r=dd(n=>{o(s=>{let i=typeof n=="function"?n(s):n;return yo()==="openai"&&i!=null&&window.openai?.setWidgetState(i),i})},[]);return[a,r]}f();import{jsx as it,jsxs as Un}from"react/jsx-runtime";var pd=()=>Un("div",{className:"flex flex-col items-center justify-center h-full min-h-[120px] gap-4",children:[Un("div",{className:"flex gap-2",children:[it("div",{className:"w-3 h-3 rounded-full bg-gradient-to-r from-blue-400 to-cyan-400 animate-bounce [animation-delay:-0.3s]"}),it("div",{className:"w-3 h-3 rounded-full bg-gradient-to-r from-cyan-400 to-teal-400 animate-bounce [animation-delay:-0.15s]"}),it("div",{className:"w-3 h-3 rounded-full bg-gradient-to-r from-teal-400 to-emerald-400 animate-bounce"})]}),it("p",{className:"text-sm font-medium text-transparent bg-clip-text bg-gradient-to-r from-slate-400 via-slate-200 to-slate-400 bg-[length:200%_100%] animate-[shimmer_1.5s_ease-in-out_infinite]",children:"Loading widget..."}),it("div",{className:"absolute inset-0 flex items-center justify-center pointer-events-none",children:it("div",{className:"w-16 h-16 rounded-full border-2 border-blue-400/20 animate-ping"})}),it("style",{children:`
61
+ `},children:[J("div",{className:"flex items-center justify-between px-4 py-3",style:{borderBottom:"1px solid rgba(255, 255, 255, 0.06)"},children:[J("div",{className:"flex items-center gap-2",children:[B(mn,{className:"w-4 h-4 text-gray-400"}),B("span",{className:"text-sm font-medium text-white",children:"Dev Controls"})]}),J("div",{className:"flex items-center gap-2",children:[B("span",{className:"text-[10px] font-medium text-gray-500 px-1.5 py-0.5 rounded",style:{background:"rgba(255, 255, 255, 0.04)",border:"1px solid rgba(255, 255, 255, 0.06)"},children:typeof navigator<"u"&&navigator.platform?.includes("Mac")?"\u2318\u21E7D":"Ctrl+Shift+D"}),B("button",{type:"button",onClick:T,className:"p-1 rounded-md text-gray-500 hover:text-gray-300 hover:bg-white/5 transition-colors",children:B(Eu,{className:"w-4 h-4"})})]})]}),J("div",{className:"p-4 space-y-5 overflow-y-auto",style:{maxHeight:"calc(100vh - 200px)"},children:[J("div",{children:[B("label",{htmlFor:"display-mode",className:"text-[11px] font-medium uppercase tracking-wider text-gray-500 block mb-2",children:"Display Mode"}),B(hn,{options:D,value:i,onChange:M})]}),J("div",{children:[B("label",{htmlFor:"theme",className:"text-[11px] font-medium uppercase tracking-wider text-gray-500 block mb-2",children:"Theme"}),B(hn,{options:q,value:u,onChange:A})]}),J("div",{children:[B("label",{htmlFor:"safe-area",className:"text-[11px] font-medium uppercase tracking-wider text-gray-500 block mb-2",children:"Safe Area (Chat Input)"}),J("button",{type:"button",onClick:()=>p(!d),className:`w-full flex items-center justify-between px-3 py-2.5 rounded-lg text-xs font-medium transition-all duration-150 ${d?"text-emerald-400":"text-gray-400"}`,style:{background:d?"rgba(34, 197, 94, 0.1)":"rgba(255, 255, 255, 0.04)",border:d?"1px solid rgba(34, 197, 94, 0.3)":"1px solid rgba(255, 255, 255, 0.06)"},children:[B("span",{children:"Mock ChatGPT Input Bar"}),B("span",{className:`px-2 py-0.5 rounded text-[10px] font-semibold ${d?"bg-emerald-500/20 text-emerald-400":"bg-gray-500/20 text-gray-500"}`,children:d?"ON":"OFF"})]}),d&&J("p",{className:"text-[10px] text-gray-500 mt-1.5",children:["bottom: ",Aa,"px"]})]}),J("div",{children:[B("label",{htmlFor:"widget-props",className:"text-[11px] font-medium uppercase tracking-wider text-gray-500 block mb-2",children:"Widget Props"}),B("textarea",{value:m,onChange:y=>F(y.target.value),onBlur:_,className:"dev-json-editor w-full min-h-[160px] text-xs text-gray-200 p-3 rounded-lg resize-none focus:outline-none transition-colors",style:{background:"rgba(0, 0, 0, 0.3)",border:I?"1px solid rgba(239, 68, 68, 0.5)":"1px solid rgba(255, 255, 255, 0.06)",fontFamily:"'JetBrains Mono', 'SF Mono', 'Fira Code', monospace",lineHeight:1.6},onFocus:y=>{I||(y.target.style.borderColor="rgba(99, 102, 241, 0.5)")},onBlurCapture:y=>{I||(y.target.style.borderColor="rgba(255, 255, 255, 0.06)")},spellCheck:!1}),I&&J("p",{className:"text-red-400 text-[11px] mt-1.5 flex items-center gap-1",children:[B("svg",{"aria-hidden":"true","aria-label":"Error",className:"w-3 h-3",viewBox:"0 0 16 16",fill:"currentColor",children:B("path",{d:"M8 1.5a6.5 6.5 0 100 13 6.5 6.5 0 000-13zM7 4.5h2v4H7v-4zm0 5h2v2H7v-2z"})}),I]})]}),J("button",{type:"button",onClick:v,className:"w-full flex items-center justify-center gap-2 px-3 py-2 rounded-lg text-xs font-medium text-gray-400 transition-all duration-150 hover:text-gray-200",style:{background:"rgba(255, 255, 255, 0.04)",border:"1px solid rgba(255, 255, 255, 0.06)"},onMouseEnter:y=>{y.currentTarget.style.background="rgba(255, 255, 255, 0.08)",y.currentTarget.style.borderColor="rgba(255, 255, 255, 0.1)"},onMouseLeave:y=>{y.currentTarget.style.background="rgba(255, 255, 255, 0.04)",y.currentTarget.style.borderColor="rgba(255, 255, 255, 0.06)"},children:[B(qu,{className:"w-3.5 h-3.5"}),"Reset to Defaults"]})]})]})]}),d&&J("div",{className:"fixed bottom-0 left-0 right-0 z-[9998] flex items-center justify-center pointer-events-none",style:{height:`${Aa}px`,background:"linear-gradient(to top, #1a1a1a 0%, #1a1a1a 80%, transparent 100%)"},children:[J("div",{className:"w-full max-w-2xl mx-4 px-4 py-3 rounded-2xl bg-[#2f2f2f] border border-[#424242] flex items-center gap-3",children:[B("div",{className:"w-8 h-8 rounded-full bg-[#424242] flex items-center justify-center",children:B("svg",{"aria-hidden":"true",className:"w-4 h-4 text-gray-400",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",children:B("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M12 4v16m8-8H4"})})}),B("div",{className:"flex-1 text-gray-400 text-sm",children:"Ask me anything..."}),B("div",{className:"w-8 h-8 rounded-full bg-[#424242] flex items-center justify-center",children:B("svg",{"aria-hidden":"true",className:"w-4 h-4 text-gray-400",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",children:B("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M19 11a7 7 0 01-7 7m0 0a7 7 0 01-7-7m7 7v4m0 0H8m4 0h4m-4-8a3 3 0 01-3-3V5a3 3 0 116 0v6a3 3 0 01-3 3z"})})})]}),J("div",{className:"absolute bottom-1 text-[10px] text-gray-600 font-mono",children:["Mock SafeArea: bottom=",Aa,"px"]})]})]})}f();f();import{useCallback as Vu,useContext as $u,useLayoutEffect as Xu,useMemo as Ku,useRef as wn}from"react";f();import{createContext as zu}from"react";var Ht=zu(null);import{Fragment as xn,jsx as Po}from"react/jsx-runtime";var Qu="waniwani:send-follow-up:advanced:",Ju=1e4;function Cn(e){return`${Qu}${e??"default"}`}function Yu(e){try{let t=globalThis.localStorage?.getItem(Cn(e));if(!t)return null;let a=JSON.parse(t);return typeof a?.at!="number"||typeof a?.byMountId!="string"?null:a}catch{return null}}function Zu(e,t){try{globalThis.localStorage?.setItem(Cn(e),JSON.stringify({at:Date.now(),byMountId:t}))}catch{}}function Ao(){return typeof window>"u"?!1:typeof window.openai=="object"}function ed(){return Ao()?window.openai:null}function td(){return Xu(()=>{let e=document.documentElement,t=document.body,a=e.getAttribute("style"),o=t.getAttribute("style"),r="margin:0!important;padding:0!important;border:0!important;background:transparent!important;background-color:transparent!important;height:0!important;min-height:0!important;max-height:0!important;overflow:hidden!important;";return e.setAttribute("style",r),t.setAttribute("style",r),()=>{a===null?e.removeAttribute("style"):e.setAttribute("style",a),o===null?t.removeAttribute("style"):t.setAttribute("style",o)}},[]),null}function Ln(e){let t=$u(Ht),a=wn(e);a.current=e;let o=t?.getToolResponseMetadata?.()??null,r=ed()?.toolResponseMetadata??null,n=o??r,s=n&&typeof n.viewUUID=="string"?n.viewUUID:void 0,i=wn("");i.current===""&&(i.current=crypto.randomUUID());let l=Vu((c,d)=>{Ao()&&Zu(s,i.current);try{Promise.resolve(a.current(c)).catch(p=>{console.error("[unstable_useSendFollowUpWithGhostGuard]",p)})}catch(p){console.error("[unstable_useSendFollowUpWithGhostGuard]",p)}},[s]),u=Ku(()=>{let c=i.current;return function({children:p}){if(!Ao())return Po(xn,{children:p});let m=Yu(s);return m&&m.byMountId!==c&&Date.now()-m.at<Ju?Po(td,{}):Po(xn,{children:p})}},[s]);return{sendFollowUp:l,Guard:u}}f();import{useCallback as rd}from"react";f();import qt,{useCallback as Sn,useContext as ad,useEffect as yn,useState as Ro,useSyncExternalStore as od}from"react";f();async function In(){let{detectPlatform:e}=await import("../platform-ZNBJH5XX.js");if(e()==="openai"){let{OpenAIWidgetClient:a}=await import("../openai-client-VRJPAPFR.js");return new a}else{let{MCPAppsWidgetClient:a}=await import("../mcp-apps-client-Z5ICFYSR.js");return new a}}function bn({children:e,loading:t=null,onError:a}){let[o,r]=Ro(null),[n,s]=Ro(null),[i,l]=Ro(!0);return yn(()=>{let u=!0,c=null;async function d(){try{let p=await In();await p.connect(),u?(c=p,r(p),l(!1)):p.close()}catch(p){u&&(console.error("error",p),s(p instanceof Error?p:new Error(String(p))),l(!1))}}return d(),()=>{u=!1,c?.close()}},[]),yn(()=>{if(!o)return;let u=c=>{document.documentElement.classList.toggle("dark",c==="dark"),document.documentElement.style.colorScheme=c==="dark"?"dark":"auto"};return u(o.getTheme()),o.onThemeChange(u)},[o]),n&&a?qt.createElement(qt.Fragment,null,a(n)):i||!o?qt.createElement(qt.Fragment,null,t):qt.createElement(Ht.Provider,{value:o},e)}function $(e){let t=ad(Ht);if(!t)throw new Error("useWidgetClient must be used within a WidgetProvider");let a=Sn(n=>e==="toolOutput"?t.onToolResult(()=>n()):e==="theme"?t.onThemeChange(()=>n()):e==="displayMode"?t.onDisplayModeChange(()=>n()):e==="safeArea"?t.onSafeAreaChange(()=>n()):e==="maxHeight"?t.onMaxHeightChange(()=>n()):e==="toolResponseMetadata"?t.onToolResponseMetadataChange(()=>n()):e==="widgetState"?t.onWidgetStateChange(()=>n()):()=>{},[t,e]),o=Sn(()=>e==="toolOutput"?t.getToolOutput():e==="theme"?t.getTheme():e==="displayMode"?t.getDisplayMode():e==="locale"?t.getLocale():e==="safeArea"?t.getSafeArea():e==="maxHeight"?t.getMaxHeight():e==="toolResponseMetadata"?t.getToolResponseMetadata():e==="widgetState"?t.getWidgetState():null,[t,e]),r=od(a,o,o);return e?r:t}function kn(){let e=$();return rd((t,a)=>e.callTool(t,a),[e])}f();function Tn(){return $("displayMode")}f();f();function Ra(){return $("toolOutput")}function vn(){return{data:Ra()}}f();import{useSyncExternalStore as nd}from"react";function Pn(){return nd(()=>()=>{},()=>typeof window>"u"?!1:window.__isChatGptApp===!0,()=>!1)}f();function An(){return $("locale")}f();function Rn(){return $("maxHeight")}f();import{useCallback as sd}from"react";function Mn(){let e=$();return sd(t=>e.openExternal(t),[e])}f();import{useCallback as id}from"react";function Fn(){let e=$();return id(t=>e.requestDisplayMode(t),[e])}f();function Dn(){return $("safeArea")}f();import{useCallback as ld}from"react";function Bn(){let e=$();return ld((t,a)=>{(async()=>{It(a?.modelContext)&&await Promise.resolve(e.updateModelContext(a.modelContext)),await Promise.resolve(e.sendFollowUp(t))})().catch(o=>{console.error("Failed to send follow-up message:",o)})},[e])}f();function En(){return $("theme")}f();function _n(){return $("toolResponseMetadata")}f();import{useCallback as ud}from"react";function Nn(){let e=$();return ud(async t=>{await Promise.resolve(e.updateModelContext(t))},[e])}f();import{useCallback as dd,useEffect as cd,useState as fd}from"react";function On(e){let t=$("widgetState"),[a,o]=fd(()=>t??(typeof e=="function"?e():e??null));cd(()=>{o(t)},[t]);let r=dd(n=>{o(s=>{let i=typeof n=="function"?n(s):n;return yo()==="openai"&&i!=null&&window.openai?.setWidgetState(i),i})},[]);return[a,r]}f();import{jsx as it,jsxs as Un}from"react/jsx-runtime";var pd=()=>Un("div",{className:"flex flex-col items-center justify-center h-full min-h-[120px] gap-4",children:[Un("div",{className:"flex gap-2",children:[it("div",{className:"w-3 h-3 rounded-full bg-gradient-to-r from-blue-400 to-cyan-400 animate-bounce [animation-delay:-0.3s]"}),it("div",{className:"w-3 h-3 rounded-full bg-gradient-to-r from-cyan-400 to-teal-400 animate-bounce [animation-delay:-0.15s]"}),it("div",{className:"w-3 h-3 rounded-full bg-gradient-to-r from-teal-400 to-emerald-400 animate-bounce"})]}),it("p",{className:"text-sm font-medium text-transparent bg-clip-text bg-gradient-to-r from-slate-400 via-slate-200 to-slate-400 bg-[length:200%_100%] animate-[shimmer_1.5s_ease-in-out_infinite]",children:"Loading widget..."}),it("div",{className:"absolute inset-0 flex items-center justify-center pointer-events-none",children:it("div",{className:"w-16 h-16 rounded-full border-2 border-blue-400/20 animate-ping"})}),it("style",{children:`
62
62
  @keyframes shimmer {
63
63
  0% { background-position: 200% 0; }
64
64
  100% { background-position: -200% 0; }
65
65
  }
66
- `})]});f();f();f();var md={debug:0,warn:1,error:2,none:3};function hd(){let e=process.env.WANIWANI_LOG_LEVEL;return e&&e in md?e:process.env.WANIWANI_DEBUG?"debug":"none"}function qe(e,t){return t??hd()==="debug"?(...o)=>console.log(`[waniwani:${e}]`,...o):()=>{}}f();function Hn(e){if(e===!0)return{};if(!(e===!1||e===void 0))return e}f();function qn(){return function(t){return t.headers.set("Access-Control-Allow-Origin","*"),t.headers.set("Access-Control-Allow-Methods","GET, POST, PATCH, OPTIONS"),t.headers.set("Access-Control-Allow-Headers","Content-Type, Authorization, X-Session-Id, X-Client-User-Agent"),t.headers.set("Access-Control-Expose-Headers","X-Session-Id"),t}}function Wn(e){return function(a,o){return e(new Response(JSON.stringify(a),{headers:{"Content-Type":"application/json"},status:o}))}}f();f();var Te=class extends Error{constructor(a,o){super(a);this.status=o;this.name="WaniWaniError"}};f();function Gn(e){let t=e.headers,a=t.get("x-vercel-ip-city")??t.get("cf-ipcity")??void 0,o=a?gd(a):void 0,r=t.get("x-vercel-ip-country")??t.get("cf-ipcountry")??void 0,n=t.get("x-vercel-ip-country-region")??void 0,s=t.get("x-vercel-ip-latitude")??t.get("cf-iplatitude")??void 0,i=t.get("x-vercel-ip-longitude")??t.get("cf-iplongitude")??void 0,l=t.get("x-vercel-ip-timezone")??t.get("cf-iptimezone")??void 0,u=t.get("x-real-ip")??t.get("x-forwarded-for")?.split(",")[0]?.trim()??t.get("cf-connecting-ip")??void 0;return{city:o,country:r,countryRegion:n,latitude:s,longitude:i,timezone:l,ip:u}}function gd(e){try{return decodeURIComponent(e)}catch{return e}}f();function jn(e,t){if(!It(t))return e;let a=Qr(t);return a?[e,a].filter(Boolean).join(`
66
+ `})]});f();f();f();var md={debug:0,warn:1,error:2,none:3};function hd(){let e=process.env.WANIWANI_LOG_LEVEL;return e&&e in md?e:process.env.WANIWANI_DEBUG?"debug":"none"}function qe(e,t){return t??hd()==="debug"?(...o)=>console.log(`[waniwani:${e}]`,...o):()=>{}}f();function Hn(e){if(e===!0)return{};if(!(e===!1||e===void 0))return e}f();function qn(){return function(t){return t.headers.set("Access-Control-Allow-Origin","*"),t.headers.set("Access-Control-Allow-Methods","GET, POST, PATCH, OPTIONS"),t.headers.set("Access-Control-Allow-Headers","Content-Type, Authorization, X-Session-Id, X-Client-User-Agent"),t.headers.set("Access-Control-Expose-Headers","X-Session-Id"),t}}function Wn(e){return function(a,o){return e(new Response(JSON.stringify(a),{headers:{"Content-Type":"application/json"},status:o}))}}f();f();var Pe=class extends Error{constructor(a,o){super(a);this.status=o;this.name="WaniWaniError"}};f();function Gn(e){let t=e.headers,a=t.get("x-vercel-ip-city")??t.get("cf-ipcity")??void 0,o=a?gd(a):void 0,r=t.get("x-vercel-ip-country")??t.get("cf-ipcountry")??void 0,n=t.get("x-vercel-ip-country-region")??void 0,s=t.get("x-vercel-ip-latitude")??t.get("cf-iplatitude")??void 0,i=t.get("x-vercel-ip-longitude")??t.get("cf-iplongitude")??void 0,l=t.get("x-vercel-ip-timezone")??t.get("cf-iptimezone")??void 0,u=t.get("x-real-ip")??t.get("x-forwarded-for")?.split(",")[0]?.trim()??t.get("cf-connecting-ip")??void 0;return{city:o,country:r,countryRegion:n,latitude:s,longitude:i,timezone:l,ip:u}}function gd(e){try{return decodeURIComponent(e)}catch{return e}}f();function jn(e,t){if(!It(t))return e;let a=Qr(t);return a?[e,a].filter(Boolean).join(`
67
67
 
68
- `):e}function zn(e){let{apiKey:t,apiUrl:a,source:o,systemPrompt:r,maxSteps:n,beforeRequest:s,mcpServerUrl:i,resolveConfig:l,debug:u,webSearch:c}=e,d=qe("chat",u);return async function(m){d("\u2192 POST",m.url);try{let h=await m.json(),I=h.messages??[],x=h.sessionId,S=h.modelContext,C=r,L=typeof h.extra=="object"&&h.extra!==null&&!Array.isArray(h.extra)?h.extra:void 0,y=h.visitorContext??null,v=Gn(m),A={geo:v,client:y};if(d("body parsed \u2014 messages:",I.length,"sessionId:",x??"(none)","geo:",JSON.stringify(v)),s){d("running beforeRequest hook");try{let B=await s({messages:I,sessionId:x,modelContext:S,request:m,visitor:A});B&&(B.messages&&(I=B.messages),B.systemPrompt!==void 0&&(C=B.systemPrompt),B.sessionId!==void 0&&(x=B.sessionId),B.modelContext!==void 0&&(S=B.modelContext)),d("beforeRequest hook done \u2014 messages:",I.length,"sessionId:",x??"(none)")}catch(B){console.error("[waniwani:chat] beforeRequest hook error:",B);let P=B instanceof Te?B.status:400,T=B instanceof Error?B.message:"Request rejected";return d("\u2190 returning",P,"from hook error"),Response.json({error:T},{status:P})}}let M=i??(await l()).mcpServerUrl;d("mcpServerUrl:",M),C=jn(C,S);let R=`${a}/api/mcp/chat`;d("forwarding to",R);let _=m.headers.get("user-agent"),D=await fetch(R,{method:"POST",headers:{"Content-Type":"application/json","X-WaniWani-Stream-Protocol":"2",...t?{Authorization:`Bearer ${t}`}:{},..._?{"X-Client-User-Agent":_}:{}},body:JSON.stringify({messages:I,mcpServerUrl:M,sessionId:x,source:o,systemPrompt:C,maxSteps:n,visitor:A,webSearch:c,...L&&{extra:L}}),signal:m.signal});if(d("upstream response status:",D.status),!D.ok){let B=await D.text().catch(()=>"");return d("\u2190 returning",D.status,"upstream error:",B),new Response(B,{status:D.status,headers:{"Content-Type":D.headers.get("Content-Type")??"application/json"}})}let N=new Headers({"Content-Type":D.headers.get("Content-Type")??"text/event-stream"}),k=D.headers.get("x-session-id");return k&&N.set("x-session-id",k),d("\u2190 streaming response",D.status,"body null?",D.body===null),new Response(D.body,{status:D.status,headers:N})}catch(h){console.error("[waniwani:chat] handler error:",h);let I=h instanceof Error?h.message:"Unknown error occurred",x=h instanceof Te?h.status:500;return d("\u2190 returning",x,"from caught error"),Response.json({error:I},{status:x})}}}f();function Vn(e){let{mcpServerUrl:t,resolveConfig:a,debug:o}=e,r=qe("resource",o);return async function(s){r("\u2192 GET",s.toString());try{let i=s.searchParams.get("uri");if(r("uri:",i??"(missing)"),!i)return r("\u2190 400 missing uri"),Response.json({error:"Missing uri query parameter"},{status:400});let l=t??(await a()).mcpServerUrl;r("mcpServerUrl:",l);let u,c;try{[{createMCPClient:u},{StreamableHTTPClientTransport:c}]=await Promise.all([import("@ai-sdk/mcp"),import("@modelcontextprotocol/sdk/client/streamableHttp.js")]),r("MCP deps loaded")}catch(p){return console.error("[waniwani:resource] MCP deps import failed:",p),Response.json({error:"MCP resource handler requires @ai-sdk/mcp and @modelcontextprotocol/sdk. Install them to enable resource serving."},{status:501})}r("creating MCP client for",l);let d=await u({transport:new c(new URL(l))});try{r("reading resource:",i);let p=await d.readResource({uri:i});r("resource contents count:",p.contents.length);let m=p.contents[0];if(!m)return r("\u2190 404 resource not found"),Response.json({error:"Resource not found"},{status:404});let h;return"text"in m&&typeof m.text=="string"?h=m.text:"blob"in m&&typeof m.blob=="string"&&(h=atob(m.blob)),h?(r("\u2190 200 HTML length:",h.length),new Response(h,{headers:{"Content-Type":"text/html","Cache-Control":"private, max-age=300"}})):(r("\u2190 404 resource has no content, keys:",Object.keys(m)),Response.json({error:"Resource has no content"},{status:404}))}finally{await d.close(),r("MCP client closed")}}catch(i){console.error("[waniwani:resource] handler error:",i);let l=i instanceof Error?i.message:"Unknown error occurred",u=i instanceof Te?i.status:500;return r("\u2190 returning",u,"from caught error"),Response.json({error:l},{status:u})}}}f();function $n(e){let{mcpServerUrl:t,resolveConfig:a,debug:o,source:r}=e,n=qe("tool",o);return async function(i){n("\u2192 POST",i.url);try{let l=await i.json(),{name:u,arguments:c}=l,d=i.headers.get("x-session-id")?.trim();if(!u||typeof u!="string")return n("\u2190 400 missing tool name"),Response.json({error:"Missing tool name"},{status:400});n("tool:",u,"args:",JSON.stringify(c),"sessionId:",d||"(none)");let p=t??(await a()).mcpServerUrl;n("mcpServerUrl:",p);let m,h;try{[{Client:m},{StreamableHTTPClientTransport:h}]=await Promise.all([import("@modelcontextprotocol/sdk/client/index.js"),import("@modelcontextprotocol/sdk/client/streamableHttp.js")]),n("MCP deps loaded")}catch(S){return console.error("[waniwani:tool] MCP deps import failed:",S),Response.json({error:"MCP tool handler requires @modelcontextprotocol/sdk. Install it to enable tool calls."},{status:501})}n("creating MCP client for",p);let I=new h(new URL(p)),x=new m({name:"waniwani-tool-caller",version:"1.0.0"});await x.connect(I);try{n("calling tool:",u);let S={};d&&(S["waniwani/sessionId"]=d),r&&(S["waniwani/source"]=r);let C=await x.callTool({name:u,arguments:c??{},...Object.keys(S).length>0?{_meta:S}:{}});return n("tool result received"),Response.json({content:C.content,structuredContent:C.structuredContent,_meta:C._meta,isError:C.isError})}finally{await x.close(),n("MCP client closed")}}catch(l){console.error("[waniwani:tool] handler error:",l);let u=l instanceof Error?l.message:"Unknown error occurred",c=l instanceof Te?l.status:500;return n("\u2190 returning",c,"from caught error"),Response.json({error:u},{status:c})}}}f();function Xn(e){let{mcpServerUrl:t,resolveConfig:a,debug:o}=e,r=qe("tools-list",o);return async function(){r("\u2192 GET tools/list");try{let s=t??(await a()).mcpServerUrl;r("mcpServerUrl:",s);let i,l;try{[{createMCPClient:i},{StreamableHTTPClientTransport:l}]=await Promise.all([import("@ai-sdk/mcp"),import("@modelcontextprotocol/sdk/client/streamableHttp.js")]),r("MCP deps loaded")}catch(c){return console.error("[waniwani:tools-list] MCP deps import failed:",c),Response.json({error:"MCP tools list handler requires @ai-sdk/mcp and @modelcontextprotocol/sdk. Install them to enable tool discovery."},{status:501})}r("creating MCP client for",s);let u=await i({transport:new l(new URL(s))});try{r("listing tools");let c=await u.listTools();r("tools count:",c.tools.length);let d={tools:c.tools.map(p=>({name:p.name,...p.title!==void 0&&{title:p.title},...p.description!==void 0&&{description:p.description},...p.inputSchema!==void 0&&{inputSchema:p.inputSchema},...p.outputSchema!==void 0&&{outputSchema:p.outputSchema},...p.annotations!==void 0&&{annotations:p.annotations},...p._meta!==void 0&&{_meta:p._meta}})),...c.nextCursor!==void 0&&{nextCursor:c.nextCursor}};return r("\u2190 200"),Response.json(d,{headers:{"Cache-Control":"private, max-age=60"}})}finally{await u.close(),r("MCP client closed")}}catch(s){console.error("[waniwani:tools-list] handler error:",s);let i=s instanceof Error?s.message:"Unknown error occurred",l=s instanceof Te?s.status:500;return r("\u2190 returning",l,"from caught error"),Response.json({error:i},{status:l})}}}f();var wd=300*1e3;function Kn(e,t){let a=null,o=null;return async function(){if(a&&Date.now()<a.expiresAt)return a.config;if(o)return o;o=(async()=>{if(!t)throw new Te("WANIWANI_API_KEY is required for createChatHandler",401);let n=await fetch(`${e}/api/mcp/environments/config`,{method:"GET",headers:{Authorization:`Bearer ${t}`,"Content-Type":"application/json"}});if(!n.ok){let i=await n.text().catch(()=>"");throw new Te(`Failed to resolve MCP environment config: ${n.status} ${i}`,n.status)}let s=await n.json();return a={config:s,expiresAt:Date.now()+wd},s})();try{return await o}finally{o=null}}}var xd="https://app.waniwani.ai";function Qn(e={}){let{apiKey:t=process.env.WANIWANI_API_KEY,apiUrl:a=xd,source:o,systemPrompt:r,maxSteps:n=5,beforeRequest:s,mcpServerUrl:i,debug:l=!1,webSearch:u}=e,c=qe("router",l),d=qn(),p=Wn(d),m=Kn(a,t),h=zn({apiKey:t,apiUrl:a,source:o,systemPrompt:r,maxSteps:n,beforeRequest:s,mcpServerUrl:i,resolveConfig:m,debug:l,webSearch:Hn(u)}),I=Vn({mcpServerUrl:i,resolveConfig:m,debug:l}),x=Xn({mcpServerUrl:i,resolveConfig:m,debug:l}),S=$n({mcpServerUrl:i,resolveConfig:m,debug:l,source:o}),C=process.env.WANIWANI_EVAL==="1";async function L(M){c("\u2192 GET",M.url);try{let R=new URL(M.url),D=R.pathname.replace(/\/$/,"").split("/").filter(Boolean).at(-1);if(c("pathname:",R.pathname,"subRoute:",D),C&&D==="scenarios"){c("dispatching to scenarios handler (proxy to app API)");try{let k=await(await fetch(`${a}/api/mcp/scenarios`,{headers:{...t?{Authorization:`Bearer ${t}`}:{}}})).json();return p(k.data??k,200)}catch{return p([],200)}}if(D==="resource"){c("dispatching to resource handler");let N=await I(R);return c("\u2190 resource handler returned",N.status),d(N)}if(D==="config")return c("dispatching to config handler"),p({debug:l,eval:C},200);if(D==="tools"){c("dispatching to tools-list handler");let N=await x();return c("\u2190 tools-list handler returned",N.status),d(N)}return c("\u2190 404 no matching sub-route for",D),p({error:"Not found"},404)}catch(R){console.error("[waniwani:router] GET handler error:",R);let _=R instanceof Error?R.message:"Unknown error occurred";return c("\u2190 500 from caught error"),p({error:_},500)}}async function y(M){c("\u2192 POST",M.url);try{let R=new URL(M.url),D=R.pathname.replace(/\/$/,"").split("/").filter(Boolean).at(-1);if(c("pathname:",R.pathname,"subRoute:",D),C&&D==="scenarios"){c("dispatching to save-scenario handler (proxy to app API)");try{let k=await M.json(),B=await fetch(`${a}/api/mcp/scenarios`,{method:"POST",headers:{"Content-Type":"application/json",...t?{Authorization:`Bearer ${t}`}:{}},body:JSON.stringify(k)}),P=await B.json();return B.ok?p({ok:!0,scenario:P.data},200):p({error:P.message??"Failed to save scenario"},B.status)}catch(k){let B=k instanceof Error?k.message:"Failed to save scenario";return p({error:B},400)}}if(D==="tool"){c("dispatching to tool handler");let k=await S(M);return c("\u2190 tool handler returned",k.status),d(k)}c("dispatching to chat handler");let N=await h(M);return d(N)}catch(R){console.error("[waniwani:router] POST handler error:",R);let _=R instanceof Error?R.message:"Unknown error occurred";return c("\u2190 500 from caught error"),p({error:_},500)}}async function v(M){c("\u2192 PATCH",M.url);try{let R=new URL(M.url),_=R.pathname.replace(/\/$/,"").split("/").filter(Boolean),D=_.at(-1),N=_.at(-2);if(c("pathname:",R.pathname,"subRoute:",N,"id:",D),C&&N==="scenarios"&&D){c("dispatching to update-scenario handler (proxy to app API)");try{let k=await M.json(),B=await fetch(`${a}/api/mcp/scenarios/${D}`,{method:"PATCH",headers:{"Content-Type":"application/json",...t?{Authorization:`Bearer ${t}`}:{}},body:JSON.stringify(k)}),P=await B.json();return B.ok?p({ok:!0,scenario:P.data},200):p({error:P.message??"Failed to update scenario"},B.status)}catch(k){let B=k instanceof Error?k.message:"Failed to update scenario";return p({error:B},400)}}return c("\u2190 404 no matching sub-route for PATCH",N),p({error:"Not found"},404)}catch(R){console.error("[waniwani:router] PATCH handler error:",R);let _=R instanceof Error?R.message:"Unknown error occurred";return c("\u2190 500 from caught error"),p({error:_},500)}}function A(){return d(new Response(null,{status:204}))}return{handleChat:h,handleResource:I,handleTool:S,routeGet:L,routePost:y,routePatch:v,handleOptions:A}}var Jn=!1;function ML(e,t){!Jn&&process.env.NODE_ENV!=="test"&&(console.warn("[waniwani-sdk] toNextJsHandler is deprecated; switch to toExpressJsHandler from @waniwani/sdk/express-js. It will be removed in a follow-up release."),Jn=!0);let{apiKey:a,apiUrl:o}=e._config,r=t?.debug??process.env.WANIWANI_DEBUG==="1",n=Qn({...t?.chat,apiKey:a,apiUrl:o,source:t?.source,debug:r});return{POST:n.routePost,GET:n.routeGet,PATCH:n.routePatch,OPTIONS:()=>n.handleOptions()}}f();import{forwardRef as fg,useCallback as zr,useEffect as pg,useImperativeHandle as mg,useRef as hu,useState as gu}from"react";f();f();f();import{forwardRef as Cd,createElement as Id}from"react";f();var Ma=(...e)=>e.filter((t,a,o)=>!!t&&t.trim()!==""&&o.indexOf(t)===a).join(" ").trim();f();var Zn=e=>e.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase();f();f();var Yn=e=>e.replace(/^([A-Z])|[\s-_]+(\w)/g,(t,a,o)=>o?o.toUpperCase():a.toLowerCase());var Mo=e=>{let t=Yn(e);return t.charAt(0).toUpperCase()+t.slice(1)};f();import{forwardRef as Ld,createElement as as}from"react";f();var es={xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"};f();var ts=e=>{for(let t in e)if(t.startsWith("aria-")||t==="role"||t==="title")return!0;return!1};var os=Ld(({color:e="currentColor",size:t=24,strokeWidth:a=2,absoluteStrokeWidth:o,className:r="",children:n,iconNode:s,...i},l)=>as("svg",{ref:l,...es,width:t,height:t,stroke:e,strokeWidth:o?Number(a)*24/Number(t):a,className:Ma("lucide",r),...!n&&!ts(i)&&{"aria-hidden":"true"},...i},[...s.map(([u,c])=>as(u,c)),...Array.isArray(n)?n:[n]]));var G=(e,t)=>{let a=Cd(({className:o,...r},n)=>Id(os,{ref:n,iconNode:t,className:Ma(`lucide-${Zn(Mo(e))}`,`lucide-${e}`,o),...r}));return a.displayName=Mo(e),a};f();var Sd=[["path",{d:"M12 5v14",key:"s699le"}],["path",{d:"m19 12-7 7-7-7",key:"1idqje"}]],Wt=G("arrow-down",Sd);f();var yd=[["path",{d:"m5 12 7-7 7 7",key:"hav0vg"}],["path",{d:"M12 19V5",key:"x0mq9r"}]],Gt=G("arrow-up",yd);f();var bd=[["path",{d:"M20 6 9 17l-5-5",key:"1gmf2c"}]],jt=G("check",bd);f();var kd=[["path",{d:"m6 9 6 6 6-6",key:"qrunsl"}]],Ze=G("chevron-down",kd);f();var Td=[["path",{d:"m9 18 6-6-6-6",key:"mthhwq"}]],zt=G("chevron-right",Td);f();var vd=[["rect",{width:"8",height:"4",x:"8",y:"2",rx:"1",ry:"1",key:"tgr4d6"}],["path",{d:"M8 4H6a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-2",key:"4jdomd"}],["path",{d:"M16 4h2a2 2 0 0 1 2 2v4",key:"3hqy98"}],["path",{d:"M21 14H11",key:"1bme5i"}],["path",{d:"m15 10-4 4 4 4",key:"5dvupr"}]],Vt=G("clipboard-copy",vd);f();var Pd=[["path",{d:"M12 6v6l4 2",key:"mmk7yg"}],["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}]],Xe=G("clock",Pd);f();var Ad=[["path",{d:"M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z",key:"1oefj6"}],["path",{d:"M14 2v5a1 1 0 0 0 1 1h5",key:"wfsgrz"}]],$t=G("file",Ad);f();var Rd=[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M12 2a14.5 14.5 0 0 0 0 20 14.5 14.5 0 0 0 0-20",key:"13o1zl"}],["path",{d:"M2 12h20",key:"9i4pu4"}]],Xt=G("globe",Rd);f();var Md=[["path",{d:"M12 2v4",key:"3427ic"}],["path",{d:"m16.2 7.8 2.9-2.9",key:"r700ao"}],["path",{d:"M18 12h4",key:"wj9ykh"}],["path",{d:"m16.2 16.2 2.9 2.9",key:"1bxg5t"}],["path",{d:"M12 18v4",key:"jadmvz"}],["path",{d:"m4.9 19.1 2.9-2.9",key:"bwix9q"}],["path",{d:"M2 12h4",key:"j09sii"}],["path",{d:"m4.9 4.9 2.9 2.9",key:"giyufr"}]],Kt=G("loader",Md);f();var Fd=[["path",{d:"m16 6-8.414 8.586a2 2 0 0 0 2.829 2.829l8.414-8.586a4 4 0 1 0-5.657-5.657l-8.379 8.551a6 6 0 1 0 8.485 8.485l8.379-8.551",key:"1miecu"}]],Qt=G("paperclip",Fd);f();var Dd=[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}]],Jt=G("square",Dd);f();var Bd=[["path",{d:"M14.7 6.3a1 1 0 0 0 0 1.4l1.6 1.6a1 1 0 0 0 1.4 0l3.106-3.105c.32-.322.863-.22.983.218a6 6 0 0 1-8.259 7.057l-7.91 7.91a1 1 0 0 1-2.999-3l7.91-7.91a6 6 0 0 1 7.057-8.259c.438.12.54.662.219.984z",key:"1ngwbx"}]],lt=G("wrench",Bd);f();var Ed=[["path",{d:"M18 6 6 18",key:"1bl5f8"}],["path",{d:"m6 6 12 12",key:"d8bk6v"}]],ut=G("x",Ed);f();var _d=[["path",{d:"M4 14a1 1 0 0 1-.78-1.63l9.9-10.2a.5.5 0 0 1 .86.46l-1.92 6.02A1 1 0 0 0 13 10h7a1 1 0 0 1 .78 1.63l-9.9 10.2a.5.5 0 0 1-.86-.46l1.92-6.02A1 1 0 0 0 11 14z",key:"1xq2db"}]],Zt=G("zap",_d);import{useCallback as Yd}from"react";f();import{useCallback as Ye,useMemo as Nd,useRef as Od,useState as Fo}from"react";var Ud={damping:.7,stiffness:.05,mass:1.25},Hd=70,qd=1e3/60,Wd=350,Fa=!1;globalThis.document?.addEventListener("mousedown",()=>{Fa=!0});globalThis.document?.addEventListener("mouseup",()=>{Fa=!1});globalThis.document?.addEventListener("click",()=>{Fa=!1});var ns=(e={})=>{let[t,a]=Fo(!1),[o,r]=Fo(e.initial!==!1),[n,s]=Fo(!1),i=Od(null);i.current=e;let l=Ye(()=>{if(!Fa)return!1;let C=window.getSelection();if(!C||!C.rangeCount)return!1;let L=C.getRangeAt(0);return L.commonAncestorContainer.contains(x.current)||x.current?.contains(L.commonAncestorContainer)},[]),u=Ye(C=>{d.isAtBottom=C,r(C)},[]),c=Ye(C=>{d.escapedFromLock=C,a(C)},[]),d=Nd(()=>{let C;return{escapedFromLock:t,isAtBottom:o,resizeDifference:0,accumulated:0,velocity:0,listeners:new Set,get scrollTop(){return x.current?.scrollTop??0},set scrollTop(L){x.current&&(x.current.scrollTop=L,d.ignoreScrollToTop=x.current.scrollTop)},get targetScrollTop(){return!x.current||!S.current?0:x.current.scrollHeight-1-x.current.clientHeight},get calculatedTargetScrollTop(){if(!x.current||!S.current)return 0;let{targetScrollTop:L}=this;if(!e.targetScrollTop)return L;if(C?.targetScrollTop===L)return C.calculatedScrollTop;let y=Math.max(Math.min(e.targetScrollTop(L,{scrollElement:x.current,contentElement:S.current}),L),0);return C={targetScrollTop:L,calculatedScrollTop:y},requestAnimationFrame(()=>{C=void 0}),y},get scrollDifference(){return this.calculatedTargetScrollTop-this.scrollTop},get isNearBottom(){return this.scrollDifference<=Hd}}},[]),p=Ye((C={})=>{typeof C=="string"&&(C={animation:C}),C.preserveScrollPosition||u(!0);let L=Date.now()+(Number(C.wait)||0),y=Bo(i.current,C.animation),{ignoreEscapes:v=!1}=C,A,M=d.calculatedTargetScrollTop;C.duration instanceof Promise?C.duration.finally(()=>{A=Date.now()}):A=L+(C.duration??0);let R=async()=>{let _=new Promise(requestAnimationFrame).then(()=>{if(!d.isAtBottom)return d.animation=void 0,!1;let{scrollTop:D}=d,N=performance.now(),k=(N-(d.lastTick??N))/qd;if(d.animation||(d.animation={behavior:y,promise:_,ignoreEscapes:v}),d.animation.behavior===y&&(d.lastTick=N),l()||L>Date.now())return R();if(D<Math.min(M,d.calculatedTargetScrollTop)){if(d.animation?.behavior===y){if(y==="instant")return d.scrollTop=d.calculatedTargetScrollTop,R();d.velocity=(y.damping*d.velocity+y.stiffness*d.scrollDifference)/y.mass,d.accumulated+=d.velocity*k,d.scrollTop+=d.accumulated,d.scrollTop!==D&&(d.accumulated=0)}return R()}return A>Date.now()?(M=d.calculatedTargetScrollTop,R()):(d.animation=void 0,d.scrollTop<d.calculatedTargetScrollTop?p({animation:Bo(i.current,i.current.resize),ignoreEscapes:v,duration:Math.max(0,A-Date.now())||void 0}):d.isAtBottom)});return _.then(D=>(requestAnimationFrame(()=>{d.animation||(d.lastTick=void 0,d.velocity=0)}),D))};return C.wait!==!0&&(d.animation=void 0),d.animation?.behavior===y?d.animation.promise:R()},[u,l,d]),m=Ye(()=>{c(!0),u(!1)},[c,u]),h=Ye(({target:C})=>{if(C!==x.current)return;let{scrollTop:L,ignoreScrollToTop:y}=d,{lastScrollTop:v=L}=d;d.lastScrollTop=L,d.ignoreScrollToTop=void 0,y&&y>L&&(v=y),s(d.isNearBottom),setTimeout(()=>{if(d.resizeDifference||L===y)return;if(l()){c(!0),u(!1);return}let A=L>v,M=L<v;if(d.animation?.ignoreEscapes){d.scrollTop=v;return}M&&(c(!0),u(!1)),A&&c(!1),!d.escapedFromLock&&d.isNearBottom&&u(!0)},1)},[c,u,l,d]),I=Ye(({target:C,deltaY:L})=>{let y=C;for(;!["scroll","auto"].includes(getComputedStyle(y).overflow);){if(!y.parentElement)return;y=y.parentElement}y===x.current&&L<0&&x.current.scrollHeight>x.current.clientHeight&&!d.animation?.ignoreEscapes&&(c(!0),u(!1))},[c,u,d]),x=rs(C=>{x.current?.removeEventListener("scroll",h),x.current?.removeEventListener("wheel",I),C?.addEventListener("scroll",h,{passive:!0}),C?.addEventListener("wheel",I,{passive:!0})},[]),S=rs(C=>{if(d.resizeObserver?.disconnect(),!C)return;let L;d.resizeObserver=new ResizeObserver(([y])=>{let{height:v}=y.contentRect,A=v-(L??v);if(d.resizeDifference=A,d.scrollTop>d.targetScrollTop&&(d.scrollTop=d.targetScrollTop),s(d.isNearBottom),A>=0){let M=Bo(i.current,L?i.current.resize:i.current.initial);p({animation:M,wait:!0,preserveScrollPosition:!0,duration:M==="instant"?void 0:Wd})}else d.isNearBottom&&(c(!1),u(!0));L=v,requestAnimationFrame(()=>{setTimeout(()=>{d.resizeDifference===A&&(d.resizeDifference=0)},1)})}),d.resizeObserver?.observe(C)},[]);return{contentRef:S,scrollRef:x,scrollToBottom:p,stopScroll:m,isAtBottom:o||n,isNearBottom:n,escapedFromLock:t,state:d}};function rs(e,t){let a=Ye(o=>(a.current=o,e(o)),t);return a}var Do=new Map;function Bo(...e){let t={...Ud},a=!1;for(let r of e){if(r==="instant"){a=!0;continue}typeof r=="object"&&(a=!1,t.damping=r.damping??t.damping,t.stiffness=r.stiffness??t.stiffness,t.mass=r.mass??t.mass)}let o=JSON.stringify(t);return Do.has(o)||Do.set(o,Object.freeze(t)),a?"instant":Do.get(o)}f();import*as dt from"react";import{createContext as Gd,useContext as jd,useEffect as zd,useImperativeHandle as Vd,useLayoutEffect as $d,useMemo as Xd,useRef as Kd}from"react";var ss=Gd(null),Qd=typeof window<"u"?$d:zd;function Yt({instance:e,children:t,resize:a,initial:o,mass:r,damping:n,stiffness:s,targetScrollTop:i,contextRef:l,...u}){let c=Kd(null),d=dt.useCallback((v,A)=>(y?.targetScrollTop??i)?.(v,A)??v,[i]),p=ns({mass:r,damping:n,stiffness:s,resize:a,initial:o,targetScrollTop:d}),{scrollRef:m,contentRef:h,scrollToBottom:I,stopScroll:x,isAtBottom:S,escapedFromLock:C,state:L}=e??p,y=Xd(()=>({scrollToBottom:I,stopScroll:x,scrollRef:m,isAtBottom:S,escapedFromLock:C,contentRef:h,state:L,get targetScrollTop(){return c.current},set targetScrollTop(v){c.current=v}}),[I,S,h,m,x,C,L]);return Vd(l,()=>y,[y]),Qd(()=>{m.current&&getComputedStyle(m.current).overflow==="visible"&&(m.current.style.overflow="auto")},[]),dt.createElement(ss.Provider,{value:y},dt.createElement("div",{...u},typeof t=="function"?t(y):t))}(function(e){function t({children:a,scrollClassName:o,...r}){let n=Eo();return dt.createElement("div",{ref:n.scrollRef,style:{height:"100%",width:"100%",scrollbarGutter:"stable both-edges"},className:o},dt.createElement("div",{...r,ref:n.contentRef},typeof a=="function"?a(n):a))}e.Content=t})(Yt||(Yt={}));function Eo(){let e=jd(ss);if(!e)throw new Error("use-stick-to-bottom component context must be used within a StickToBottom component");return e}f();var Jd=Zr({prefix:"ww"});function F(...e){return Jd(Jr(e))}f();import{jsx as Zd}from"react/jsx-runtime";var We=({className:e,variant:t="default",size:a="default",type:o="button",...r})=>Zd("button",{type:o,className:F("ww:inline-flex ww:cursor-pointer ww:items-center ww:justify-center ww:rounded-md ww:font-medium ww:transition-colors ww:disabled:pointer-events-none ww:disabled:opacity-50",t==="default"&&"ww:bg-primary ww:text-primary-foreground ww:hover:bg-primary/90",t==="outline"&&"ww:border ww:border-border ww:bg-background ww:hover:bg-accent ww:hover:text-accent-foreground",t==="ghost"&&"ww:hover:bg-accent ww:hover:text-accent-foreground",a==="default"&&"ww:h-9 ww:px-4 ww:py-2 ww:text-sm",a==="sm"&&"ww:h-8 ww:px-3 ww:text-xs",a==="icon"&&"ww:size-9 ww:!rounded-full",a==="icon-sm"&&"ww:size-7 ww:!rounded-full",e),...r});import{jsx as Da}from"react/jsx-runtime";var is=({className:e,...t})=>Da(Yt,{className:F("ww:relative ww:flex-1 ww:overflow-y-hidden",e),initial:"smooth",resize:"smooth",role:"log",...t}),ls=({className:e,...t})=>Da(Yt.Content,{className:F("ww:flex ww:flex-col ww:gap-6 ww:px-4 ww:py-6 ww:mx-auto ww:w-full ww:max-w-3xl",e),...t}),us=({className:e,...t})=>{let{isAtBottom:a,scrollToBottom:o}=Eo(),r=Yd(()=>{o()},[o]);return!a&&Da(We,{className:F("ww:absolute ww:bottom-4 ww:left-[50%] ww:translate-x-[-50%] ww:rounded-full",e),onClick:r,size:"icon",variant:"outline",...t,children:Da(Wt,{className:"ww:size-4"})})};f();f();import cs from"crypto";f();var ds="useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict";var ec=128,ct,Tt,tc=e=>{!ct||ct.length<e?(ct=Buffer.allocUnsafe(e*ec),cs.randomFillSync(ct),Tt=0):Tt+e>ct.length&&(cs.randomFillSync(ct),Tt=0),Tt+=e};var ea=(e=21)=>{tc(e|=0);let t="";for(let a=Tt-e;a<Tt;a++)t+=ds[ct[a]&63];return t};import{createContext as ic,useCallback as Ke,useContext as lc,useEffect as Uo,useMemo as uc,useRef as Ho,useState as fs}from"react";f();f();import{createContext as rc,useContext as nc,useEffect as uS,useMemo as dS,useState as cS}from"react";f();f();f();f();var No={promptInput:{placeholder:"What would you like to know?",uploadFiles:"Upload files",stop:"Stop",submit:"Submit",removeAttachments:"Remove all attachments"},workingIndicator:{default:"On it\u2026"},reasoning:{thinking:"Thinking\u2026",thoughtBrief:"Thought for a few seconds",thoughtForSeconds:e=>`Thought for ${e} second${e===1?"":"s"}`},chainOfThought:{working:"Working on it\u2026",done:"Thought process"},tool:{copy:"Copy",copied:"Copied",request:"Request",response:"Response",error:"Error"},attachments:{attachmentFallback:"attachment",fileFallback:"file"},threadMenu:{newChat:"New chat",threadHistory:"Thread history",deleteThread:"Delete thread",noPreviousChats:"No previous chats yet.",hiddenThreads:e=>`${e} older thread${e===1?"":"s"} hidden`},chatQueue:{attachmentFallback:"(attachment)",removeFromQueue:"Remove from queue",queued:e=>`${e} queued`},poweredBy:{label:"AI agent powered by"},aiDisclaimer:{default:"can make mistakes"},exportSession:{saving:"saving...",saved:"saved",error:"error",export:"export",tooltip:"Save scenario to Waniwani"},widgetErrorBoundary:{failedToLoad:"Widget failed to load",retry:"Retry"},launcher:{prompt:"Ask anything\u2026",open:"Open chat",close:"Close chat",minimize:"Minimize"}};f();f();import{jsx as xS}from"react/jsx-runtime";var sc=rc(null);function z(){let e=nc(sc);return e||{locale:"en",t:No,ready:!0}}f();function Oo(e,t){let a=Date.now()-e;if(a<6e4)try{return new Intl.RelativeTimeFormat(t,{numeric:"auto",style:"narrow"}).format(0,"second")}catch{return"just now"}let o,r;a<60*6e4?(o=-Math.floor(a/6e4),r="minute"):a<1440*6e4?(o=-Math.floor(a/(60*6e4)),r="hour"):(o=-Math.floor(a/(1440*6e4)),r="day");try{return new Intl.RelativeTimeFormat(t,{numeric:"auto",style:"short"}).format(o,r)}catch{return`${Math.abs(o)}${r==="minute"?"m":r==="hour"?"h":"d"} ago`}}import{jsx as _e,jsxs as Ls}from"react/jsx-runtime";var dc=async e=>{try{let a=await(await fetch(e)).blob();return new Promise(o=>{let r=new FileReader;r.onloadend=()=>o(r.result),r.onerror=()=>o(null),r.readAsDataURL(a)})}catch{return null}},ps=ic(null),ms=()=>{let e=lc(ps);if(!e)throw new Error("usePromptInputAttachments must be used within a PromptInput");return e},hs=({className:e,accept:t,multiple:a,globalDrop:o,maxFiles:r,maxFileSize:n,onSubmit:s,children:i,...l})=>{let{t:u}=z(),c=Ho(null),d=Ho(null),[p,m]=fs([]),h=Ho(p);Uo(()=>{h.current=p},[p]);let I=Ke(()=>{c.current?.click()},[]),x=Ke(A=>{let M=[...A];if(M.length===0)return;let R=D=>n?D.size<=n:!0,_=M.filter(R);m(D=>{let N=typeof r=="number"?Math.max(0,r-D.length):void 0,k=typeof N=="number"?_.slice(0,N):_;return[...D,...k.map(B=>({filename:B.name,id:ea(),mediaType:B.type,type:"file",url:URL.createObjectURL(B)}))]})},[r,n]),S=Ke(A=>{m(M=>{let R=M.find(_=>_.id===A);return R?.url&&URL.revokeObjectURL(R.url),M.filter(_=>_.id!==A)})},[]),C=Ke(()=>{m(A=>{for(let M of A)M.url&&URL.revokeObjectURL(M.url);return[]})},[]);Uo(()=>()=>{for(let A of h.current)A.url&&URL.revokeObjectURL(A.url)},[]);let L=Ke(A=>{A.currentTarget.files&&x(A.currentTarget.files),A.currentTarget.value=""},[x]);Uo(()=>{if(!o)return;let A=R=>{R.dataTransfer?.types?.includes("Files")&&R.preventDefault()},M=R=>{R.dataTransfer?.types?.includes("Files")&&R.preventDefault(),R.dataTransfer?.files&&R.dataTransfer.files.length>0&&x(R.dataTransfer.files)};return document.addEventListener("dragover",A),document.addEventListener("drop",M),()=>{document.removeEventListener("dragover",A),document.removeEventListener("drop",M)}},[x,o]);let y=Ke(async A=>{A.preventDefault();let M=A.currentTarget,_=new FormData(M).get("message")||"";M.reset();let D=await Promise.all(p.map(async({id:N,...k})=>{if(k.url?.startsWith("blob:")){let B=await dc(k.url);return{...k,url:B??k.url}}return k}));try{let N=s({files:D,text:_},A);N instanceof Promise&&await N,C()}catch{}},[p,s,C]),v=uc(()=>({add:x,clear:C,files:p,openFileDialog:I,remove:S}),[p,x,S,C,I]);return Ls(ps.Provider,{value:v,children:[_e("input",{accept:t,"aria-label":u.promptInput.uploadFiles,className:"ww:hidden",multiple:a,onChange:L,ref:c,title:u.promptInput.uploadFiles,type:"file"}),_e("form",{className:F("ww:flex ww:w-full ww:flex-col ww:rounded-lg ww:border ww:border-border ww:bg-background",e),onSubmit:y,ref:d,...l,children:i})]})};var gs=({onChange:e,onKeyDown:t,className:a,placeholder:o,...r})=>{let{t:n}=z(),s=ms(),[i,l]=fs(!1),u=o??n.promptInput.placeholder,c=Ke(p=>{if(t?.(p),!p.defaultPrevented){if(p.key==="Enter"){if(i||p.nativeEvent.isComposing||p.shiftKey)return;p.preventDefault();let{form:m}=p.currentTarget;if(m?.querySelector('button[type="submit"]')?.disabled)return;m?.requestSubmit()}if(p.key==="Backspace"&&p.currentTarget.value===""&&s.files.length>0){p.preventDefault();let m=s.files.at(-1);m&&s.remove(m.id)}}},[t,i,s]),d=Ke(p=>{let m=p.clipboardData?.items;if(!m)return;let h=[];for(let I of m)if(I.kind==="file"){let x=I.getAsFile();x&&h.push(x)}h.length>0&&(p.preventDefault(),s.add(h))},[s]);return _e("textarea",{className:F("ww:field-sizing-content ww:max-h-48 ww:min-h-0 ww:w-full ww:resize-none ww:border-0 ww:bg-transparent ww:px-3 ww:py-2 ww:text-base ww:sm:text-sm ww:outline-none ww:placeholder:text-muted-foreground",a),name:"message",onCompositionEnd:()=>l(!1),onCompositionStart:()=>l(!0),onKeyDown:c,onPaste:d,placeholder:u,onChange:e,...r})},ws=({className:e,status:t,onStop:a,onClick:o,children:r,...n})=>{let{t:s}=z(),i=t==="submitted"||t==="streaming",l=_e(Gt,{className:"ww:size-4"});t==="submitted"?l=_e(Kt,{className:"ww:size-4 ww:animate-spin"}):t==="streaming"&&(l=_e(Jt,{className:"ww:size-4"}));let u=Ke(c=>{if(i&&a){c.preventDefault(),a();return}o?.(c)},[i,a,o]);return _e(We,{"aria-label":i?s.promptInput.stop:s.promptInput.submit,className:F("ww:bg-foreground ww:text-background ww:hover:bg-foreground ww:rounded-full",e),onClick:u,size:"icon-sm",type:i&&a?"button":"submit",variant:"ghost",...n,children:r??l})},xs=({className:e,children:t,...a})=>{let{t:o}=z(),r=ms();return r.files.length>0?Ls(We,{className:F("ww:group ww:relative",e),onClick:()=>r.clear(),size:"icon-sm",type:"button",variant:"ghost","aria-label":o.promptInput.removeAttachments,...a,children:[_e("span",{className:"ww:flex ww:size-5 ww:items-center ww:justify-center ww:rounded-full ww:bg-primary ww:text-[10px] ww:font-medium ww:text-primary-foreground ww:transition-opacity ww:group-hover:opacity-0",children:r.files.length}),_e(ut,{className:"ww:absolute ww:size-4 ww:opacity-0 ww:transition-opacity ww:group-hover:opacity-100"})]}):_e(We,{className:F(e),onClick:()=>r.openFileDialog(),size:"icon-sm",type:"button",variant:"ghost",...a,children:t??_e(Qt,{className:"ww:size-4"})})};f();import{memo as cc,useCallback as fc}from"react";f();import{jsx as vt}from"react/jsx-runtime";var Cs=({className:e,...t})=>vt("div",{className:F("ww:flex ww:flex-col ww:gap-1 ww:px-3 ww:py-2",e),...t}),Is=({className:e,...t})=>vt("li",{className:F("ww:group ww:flex ww:items-center ww:gap-2 ww:rounded-md ww:px-2 ww:py-1 ww:text-sm ww:transition-colors ww:hover:bg-muted",e),...t}),Ss=({className:e,...t})=>vt("span",{className:F("ww:inline-block ww:size-2 ww:shrink-0 ww:rounded-full ww:border ww:border-muted-foreground/50",e),...t}),ys=({className:e,...t})=>vt("span",{className:F("ww:line-clamp-1 ww:grow ww:break-words ww:text-muted-foreground",e),...t}),bs=({className:e,...t})=>vt("div",{className:F("ww:flex ww:shrink-0 ww:gap-1 ww:opacity-0 ww:transition-opacity ww:group-hover:opacity-100",e),...t}),ks=({className:e,...t})=>vt(We,{className:F("ww:size-auto ww:rounded ww:p-1 ww:text-muted-foreground ww:hover:bg-muted-foreground/10 ww:hover:text-foreground",e),size:"icon",type:"button",variant:"ghost",...t});import{jsx as et,jsxs as Ps}from"react/jsx-runtime";var Ts=cc(({message:e,onRemove:t})=>{let{t:a}=z(),o=fc(()=>t(e.id),[t,e.id]);return Ps(Is,{children:[et(Ss,{}),et(ys,{children:e.text||a.chatQueue.attachmentFallback}),et(bs,{children:et(ks,{"aria-label":a.chatQueue.removeFromQueue,onClick:o,children:et(ut,{className:"ww:size-3"})})})]})});Ts.displayName="ChatQueueItem";function vs({queuedMessages:e,onRemove:t,className:a}){let{t:o}=z();return e.length===0?null:Ps(Cs,{className:F("ww:border-t ww:border-border",a),children:[et("div",{className:"ww:text-[11px] ww:font-medium ww:text-muted-foreground ww:px-2",children:o.chatQueue.queued(e.length)}),et("ul",{children:e.map(r=>et(Ts,{message:r,onRemove:t},r.id))})]})}f();import{useState as As}from"react";import{jsx as pc}from"react/jsx-runtime";function Rs({messages:e,evalEnabled:t,api:a="/api/waniwani"}){let{t:o}=z(),[r,n]=As(!1),[s,i]=As(null),l=async()=>{let c={name:`session-${new Date().toISOString().slice(0,19)}`,type:"functional",messages:e,mode:"manual"};n(!0),i(null);try{let d=await fetch(`${a}/scenarios`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(c)});if(!d.ok)throw new Error(`${d.status}`);i("saved")}catch{i("error")}finally{n(!1),setTimeout(()=>i(null),2e3)}};if(!t||e.length===0)return null;let u=r?o.exportSession.saving:s==="saved"?o.exportSession.saved:s==="error"?o.exportSession.error:o.exportSession.export;return pc("button",{type:"button",onClick:l,disabled:r,title:o.exportSession.tooltip,className:"ww:ml-auto ww:text-[10px] ww:font-mono ww:uppercase ww:tracking-wider ww:text-muted-foreground hover:ww:text-foreground ww:cursor-pointer ww:transition-colors ww:disabled:opacity-40",children:u})}f();f();import{jsx as ta,jsxs as hc}from"react/jsx-runtime";var Ms=({files:e,className:t,...a})=>e.length===0?null:ta("div",{className:F("ww:flex ww:flex-wrap ww:gap-1.5",t),...a,children:e.map((o,r)=>ta(mc,{file:o},r))});function mc({file:e}){let{t}=z();return e.mediaType?.startsWith("image/")&&e.url?ta("img",{src:e.url,alt:e.filename??t.attachments.attachmentFallback,className:"ww:h-16 ww:max-w-32 ww:rounded ww:object-cover"}):hc("span",{className:"ww:inline-flex ww:items-center ww:gap-1.5 ww:rounded ww:bg-background/20 ww:px-2 ww:py-1 ww:text-xs",children:[ta($t,{className:"ww:size-3 ww:shrink-0"}),ta("span",{className:"ww:max-w-24 ww:truncate",children:e.filename??t.attachments.fileFallback})]})}f();import{createContext as vc,useCallback as Pc,useContext as Ac,useEffect as Rc,useMemo as Mc,useState as jo}from"react";f();import{createContext as Lc,memo as Go,useCallback as Cc,useContext as Ic,useEffect as qo,useMemo as Sc,useRef as Fs,useState as Wo}from"react";f();f();import{memo as gc}from"react";import{jsx as xc}from"react/jsx-runtime";var wc=({as:e="span",className:t,duration:a=2,style:o,children:r,...n})=>{let s={backgroundImage:"linear-gradient(90deg, var(--ww-color-muted-foreground) 0%, var(--ww-color-muted-foreground) 40%, var(--ww-color-foreground) 50%, var(--ww-color-muted-foreground) 60%, var(--ww-color-muted-foreground) 100%)",backgroundSize:"250% 100%",WebkitBackgroundClip:"text",backgroundClip:"text",color:"transparent",animation:`ww-shimmer ${a}s linear infinite`,...o};return xc(e,{"data-waniwani-shimmer":"",className:F("ww:inline-block",t),style:s,...n,children:r})},Ne=gc(wc);Ne.displayName="Shimmer";import{Fragment as kc,jsx as Oe,jsxs as Tc}from"react/jsx-runtime";var Ds=Lc(null);function Bs(){let e=Ic(Ds);if(!e)throw new Error("Reasoning components must be used within <Reasoning>");return e}var yc=1e3,bc=1e3,aa=Go(({className:e,isStreaming:t=!1,open:a,defaultOpen:o,onOpenChange:r,duration:n,children:s,...i})=>{let l=o??t,u=o===!1,c=a!==void 0,[d,p]=Wo(l),m=c?a:d,h=Cc(M=>{c||p(M),r?.(M)},[c,r]),[I,x]=Wo(void 0),S=n??I,C=Fs(t),[L,y]=Wo(!1),v=Fs(null);qo(()=>{t?(C.current=!0,v.current===null&&(v.current=Date.now())):v.current!==null&&(x(Math.ceil((Date.now()-v.current)/bc)),v.current=null)},[t]),qo(()=>{t&&!m&&!u&&h(!0)},[t,m,u,h]),qo(()=>{if(C.current&&!t&&m&&!L){let M=setTimeout(()=>{h(!1),y(!0)},yc);return()=>clearTimeout(M)}},[t,m,L,h]);let A=Sc(()=>({isStreaming:t,isOpen:m,setIsOpen:h,duration:S}),[t,m,h,S]);return Oe(Ds.Provider,{value:A,children:Oe("div",{className:F("ww:mb-4 ww:flex ww:flex-col ww:gap-2",e),"data-state":m?"open":"closed",style:{animation:"ww-fade-in 0.2s ease-out"},...i,children:s})})});aa.displayName="Reasoning";var oa=Go(({className:e,children:t,getThinkingMessage:a,hideIcon:o=!1,onClick:r,...n})=>{let{t:s}=z(),{isStreaming:i,isOpen:l,duration:u,setIsOpen:c}=Bs(),p=a??((m,h)=>m||h===0?Oe(Ne,{duration:1.6,children:s.reasoning.thinking}):h===void 0?Oe("span",{children:s.reasoning.thoughtBrief}):Oe("span",{children:s.reasoning.thoughtForSeconds(h)}));return Oe("button",{type:"button","aria-expanded":l,onClick:m=>{c(!l),r?.(m)},className:F("ww:flex ww:w-full ww:items-center ww:gap-2 ww:text-sm ww:text-muted-foreground ww:transition-colors ww:hover:text-foreground",e),...n,children:t??Tc(kc,{children:[!o&&Oe(Xe,{className:"ww:size-4 ww:shrink-0"}),p(i,u)]})})});oa.displayName="ReasoningTrigger";var ra=Go(({className:e,children:t,...a})=>{let{isOpen:o}=Bs();return Oe("div",{className:F("ww:grid ww:transition-[grid-template-rows,opacity] ww:duration-200 ww:ease-out",o?"ww:grid-rows-[1fr] ww:opacity-100":"ww:grid-rows-[0fr] ww:opacity-0"),children:Oe("div",{className:"ww:min-h-0 ww:overflow-hidden",children:Oe("div",{className:F("ww:text-sm ww:text-muted-foreground",e),...a,children:Oe(Dt,{children:t})})})})});ra.displayName="ReasoningContent";import{jsx as J,jsxs as tt}from"react/jsx-runtime";var Fc=500,Es=vc(null);function _s(){let e=Ac(Es);if(!e)throw new Error("ChainOfThought components must be used within <ChainOfThought>");return e}function Ns({className:e,isWorking:t=!1,activeStep:a,open:o,defaultOpen:r=!1,onOpenChange:n,children:s,...i}){let l=o!==void 0,[u,c]=jo(r),d=l?o:u,p=Pc(x=>{l||c(x),n?.(x)},[l,n]),[m,h]=jo(!t);Rc(()=>{if(t){h(!1);return}let x=setTimeout(()=>h(!0),Fc);return()=>clearTimeout(x)},[t]);let I=Mc(()=>({open:d,setOpen:p,isWorking:t,settled:m,activeStep:a}),[d,p,t,m,a]);return J(Es.Provider,{value:I,children:J("div",{className:F("ww:mb-4 ww:flex ww:flex-col ww:gap-2",e),"data-state":d?"open":"closed",style:{animation:"ww-fade-in 0.2s ease-out"},...i,children:s})})}function Os({className:e,label:t,workingLabel:a,children:o,...r}){let{open:n,setOpen:s,isWorking:i,settled:l,activeStep:u}=_s();if(!l){let c=u?.icon,d=u?.label??a??t??"";return J("div",{className:F("ww:flex ww:min-h-5 ww:w-full ww:items-center ww:gap-1.5 ww:text-sm ww:text-muted-foreground",e),children:tt("span",{className:"ww:flex ww:min-w-0 ww:items-center ww:gap-1.5",style:{animation:"ww-fade-in 0.25s ease-out"},children:[c&&J(c,{className:F("ww:size-4 ww:shrink-0",i&&"ww:animate-pulse")}),J("span",{className:"ww:truncate",children:i?J(Ne,{duration:2.6,children:d}):d})]},d)})}return tt("button",{type:"button",onClick:()=>s(!n),"aria-expanded":n,className:F("ww:flex ww:min-h-5 ww:w-full ww:items-center ww:gap-1.5 ww:text-sm ww:text-muted-foreground ww:transition-colors ww:hover:text-foreground",e),style:{animation:"ww-fade-in 0.25s ease-out"},...r,children:[J("span",{className:"ww:truncate",children:o??t}),J(Ze,{className:F("ww:size-4 ww:shrink-0 ww:transition-transform ww:duration-200",n&&"ww:rotate-180")})]})}function Us({className:e,children:t,...a}){let{open:o}=_s();return J("div",{className:F("ww:grid ww:transition-[grid-template-rows,opacity] ww:duration-200 ww:ease-out",o?"ww:grid-rows-[1fr] ww:opacity-100":"ww:grid-rows-[0fr] ww:opacity-0"),children:J("div",{className:"ww:min-h-0 ww:overflow-hidden",children:J("div",{className:F("ww:flex ww:flex-col",e),...a,children:t})})})}function Hs({icon:e,isLast:t,running:a,error:o}){return tt("div",{className:"ww:flex ww:flex-col ww:items-center ww:self-stretch",children:[J("span",{className:"ww:flex ww:h-5 ww:items-center",children:J(e,{className:F("ww:size-4 ww:shrink-0",o?"ww:text-destructive":a?"ww:animate-pulse ww:text-foreground":"ww:text-muted-foreground")})}),!t&&J("span",{className:"ww:w-px ww:flex-1 ww:bg-border"})]})}function zo({className:e,icon:t,title:a,state:o,isLast:r=!1,children:n,...s}){let i=o==="input-available"||o==="input-streaming",l=o==="output-error",u=n!=null,[c,d]=jo(!1),p=a??"",m=i?J(Ne,{duration:1.6,children:p}):J("span",{className:"ww:truncate",children:p});return tt("div",{className:F("ww:flex ww:gap-2",e),...s,children:[J(Hs,{icon:t,isLast:r,running:i,error:l}),tt("div",{className:F("ww:min-w-0 ww:flex-1",!r&&"ww:pb-3"),children:[u?tt("button",{type:"button",onClick:()=>d(h=>!h),"aria-expanded":c,className:"ww:flex ww:w-full ww:items-center ww:gap-1.5 ww:text-left ww:text-sm ww:text-muted-foreground ww:transition-colors ww:hover:text-foreground",children:[m,J(Ze,{className:F("ww:size-3.5 ww:shrink-0 ww:transition-transform ww:duration-200",c&&"ww:rotate-180")})]}):J("div",{className:"ww:flex ww:items-center ww:text-sm ww:text-muted-foreground",children:m}),u&&J("div",{className:F("ww:grid ww:transition-[grid-template-rows,opacity] ww:duration-200 ww:ease-out",c?"ww:grid-rows-[1fr] ww:opacity-100":"ww:grid-rows-[0fr] ww:opacity-0"),children:J("div",{className:"ww:min-h-0 ww:overflow-hidden",children:J("div",{className:"ww:mt-2 ww:space-y-3 ww:rounded-lg ww:border ww:border-border ww:bg-background ww:p-3",children:n})})})]})]})}function qs({isStreaming:e=!1,isLast:t=!1,children:a}){return tt("div",{className:"ww:flex ww:gap-2",children:[J(Hs,{icon:Xe,isLast:t,running:e}),J("div",{className:F("ww:min-w-0 ww:flex-1",!t&&"ww:pb-3"),children:tt(aa,{isStreaming:e,className:"ww:mb-0",children:[J(oa,{hideIcon:!0}),J(ra,{children:a})]})})]})}f();f();f();f();f();f();var we={carriageReturn:-5,lineFeed:-4,carriageReturnLineFeed:-3,horizontalTab:-2,virtualSpace:-1,eof:null,nul:0,soh:1,stx:2,etx:3,eot:4,enq:5,ack:6,bel:7,bs:8,ht:9,lf:10,vt:11,ff:12,cr:13,so:14,si:15,dle:16,dc1:17,dc2:18,dc3:19,dc4:20,nak:21,syn:22,etb:23,can:24,em:25,sub:26,esc:27,fs:28,gs:29,rs:30,us:31,space:32,exclamationMark:33,quotationMark:34,numberSign:35,dollarSign:36,percentSign:37,ampersand:38,apostrophe:39,leftParenthesis:40,rightParenthesis:41,asterisk:42,plusSign:43,comma:44,dash:45,dot:46,slash:47,digit0:48,digit1:49,digit2:50,digit3:51,digit4:52,digit5:53,digit6:54,digit7:55,digit8:56,digit9:57,colon:58,semicolon:59,lessThan:60,equalsTo:61,greaterThan:62,questionMark:63,atSign:64,uppercaseA:65,uppercaseB:66,uppercaseC:67,uppercaseD:68,uppercaseE:69,uppercaseF:70,uppercaseG:71,uppercaseH:72,uppercaseI:73,uppercaseJ:74,uppercaseK:75,uppercaseL:76,uppercaseM:77,uppercaseN:78,uppercaseO:79,uppercaseP:80,uppercaseQ:81,uppercaseR:82,uppercaseS:83,uppercaseT:84,uppercaseU:85,uppercaseV:86,uppercaseW:87,uppercaseX:88,uppercaseY:89,uppercaseZ:90,leftSquareBracket:91,backslash:92,rightSquareBracket:93,caret:94,underscore:95,graveAccent:96,lowercaseA:97,lowercaseB:98,lowercaseC:99,lowercaseD:100,lowercaseE:101,lowercaseF:102,lowercaseG:103,lowercaseH:104,lowercaseI:105,lowercaseJ:106,lowercaseK:107,lowercaseL:108,lowercaseM:109,lowercaseN:110,lowercaseO:111,lowercaseP:112,lowercaseQ:113,lowercaseR:114,lowercaseS:115,lowercaseT:116,lowercaseU:117,lowercaseV:118,lowercaseW:119,lowercaseX:120,lowercaseY:121,lowercaseZ:122,leftCurlyBrace:123,verticalBar:124,rightCurlyBrace:125,tilde:126,del:127,byteOrderMarker:65279,replacementCharacter:65533};f();var Ge={attentionSideAfter:2,attentionSideBefore:1,atxHeadingOpeningFenceSizeMax:6,autolinkDomainSizeMax:63,autolinkSchemeSizeMax:32,cdataOpeningString:"CDATA[",characterGroupPunctuation:2,characterGroupWhitespace:1,characterReferenceDecimalSizeMax:7,characterReferenceHexadecimalSizeMax:6,characterReferenceNamedSizeMax:31,codeFencedSequenceSizeMin:3,contentTypeContent:"content",contentTypeDocument:"document",contentTypeFlow:"flow",contentTypeString:"string",contentTypeText:"text",hardBreakPrefixSizeMin:2,htmlBasic:6,htmlCdata:5,htmlComment:2,htmlComplete:7,htmlDeclaration:4,htmlInstruction:3,htmlRawSizeMax:8,htmlRaw:1,linkResourceDestinationBalanceMax:32,linkReferenceSizeMax:999,listItemValueSizeMax:10,numericBaseDecimal:10,numericBaseHexadecimal:16,tabSize:4,thematicBreakMarkerCountMin:3,v8MaxSafeChunkSize:1e4};f();var ve={data:"data",whitespace:"whitespace",lineEnding:"lineEnding",lineEndingBlank:"lineEndingBlank",linePrefix:"linePrefix",lineSuffix:"lineSuffix",atxHeading:"atxHeading",atxHeadingSequence:"atxHeadingSequence",atxHeadingText:"atxHeadingText",autolink:"autolink",autolinkEmail:"autolinkEmail",autolinkMarker:"autolinkMarker",autolinkProtocol:"autolinkProtocol",characterEscape:"characterEscape",characterEscapeValue:"characterEscapeValue",characterReference:"characterReference",characterReferenceMarker:"characterReferenceMarker",characterReferenceMarkerNumeric:"characterReferenceMarkerNumeric",characterReferenceMarkerHexadecimal:"characterReferenceMarkerHexadecimal",characterReferenceValue:"characterReferenceValue",codeFenced:"codeFenced",codeFencedFence:"codeFencedFence",codeFencedFenceSequence:"codeFencedFenceSequence",codeFencedFenceInfo:"codeFencedFenceInfo",codeFencedFenceMeta:"codeFencedFenceMeta",codeFlowValue:"codeFlowValue",codeIndented:"codeIndented",codeText:"codeText",codeTextData:"codeTextData",codeTextPadding:"codeTextPadding",codeTextSequence:"codeTextSequence",content:"content",definition:"definition",definitionDestination:"definitionDestination",definitionDestinationLiteral:"definitionDestinationLiteral",definitionDestinationLiteralMarker:"definitionDestinationLiteralMarker",definitionDestinationRaw:"definitionDestinationRaw",definitionDestinationString:"definitionDestinationString",definitionLabel:"definitionLabel",definitionLabelMarker:"definitionLabelMarker",definitionLabelString:"definitionLabelString",definitionMarker:"definitionMarker",definitionTitle:"definitionTitle",definitionTitleMarker:"definitionTitleMarker",definitionTitleString:"definitionTitleString",emphasis:"emphasis",emphasisSequence:"emphasisSequence",emphasisText:"emphasisText",escapeMarker:"escapeMarker",hardBreakEscape:"hardBreakEscape",hardBreakTrailing:"hardBreakTrailing",htmlFlow:"htmlFlow",htmlFlowData:"htmlFlowData",htmlText:"htmlText",htmlTextData:"htmlTextData",image:"image",label:"label",labelText:"labelText",labelLink:"labelLink",labelImage:"labelImage",labelMarker:"labelMarker",labelImageMarker:"labelImageMarker",labelEnd:"labelEnd",link:"link",paragraph:"paragraph",reference:"reference",referenceMarker:"referenceMarker",referenceString:"referenceString",resource:"resource",resourceDestination:"resourceDestination",resourceDestinationLiteral:"resourceDestinationLiteral",resourceDestinationLiteralMarker:"resourceDestinationLiteralMarker",resourceDestinationRaw:"resourceDestinationRaw",resourceDestinationString:"resourceDestinationString",resourceMarker:"resourceMarker",resourceTitle:"resourceTitle",resourceTitleMarker:"resourceTitleMarker",resourceTitleString:"resourceTitleString",setextHeading:"setextHeading",setextHeadingText:"setextHeadingText",setextHeadingLine:"setextHeadingLine",setextHeadingLineSequence:"setextHeadingLineSequence",strong:"strong",strongSequence:"strongSequence",strongText:"strongText",thematicBreak:"thematicBreak",thematicBreakSequence:"thematicBreakSequence",blockQuote:"blockQuote",blockQuotePrefix:"blockQuotePrefix",blockQuoteMarker:"blockQuoteMarker",blockQuotePrefixWhitespace:"blockQuotePrefixWhitespace",listOrdered:"listOrdered",listUnordered:"listUnordered",listItemIndent:"listItemIndent",listItemMarker:"listItemMarker",listItemPrefix:"listItemPrefix",listItemPrefixWhitespace:"listItemPrefixWhitespace",listItemValue:"listItemValue",chunkDocument:"chunkDocument",chunkContent:"chunkContent",chunkFlow:"chunkFlow",chunkText:"chunkText",chunkString:"chunkString"};f();f();f();function Ws(e){return e===161||e===164||e===167||e===168||e===170||e===173||e===174||e>=176&&e<=180||e>=182&&e<=186||e>=188&&e<=191||e===198||e===208||e===215||e===216||e>=222&&e<=225||e===230||e>=232&&e<=234||e===236||e===237||e===240||e===242||e===243||e>=247&&e<=250||e===252||e===254||e===257||e===273||e===275||e===283||e===294||e===295||e===299||e>=305&&e<=307||e===312||e>=319&&e<=322||e===324||e>=328&&e<=331||e===333||e===338||e===339||e===358||e===359||e===363||e===462||e===464||e===466||e===468||e===470||e===472||e===474||e===476||e===593||e===609||e===708||e===711||e>=713&&e<=715||e===717||e===720||e>=728&&e<=731||e===733||e===735||e>=768&&e<=879||e>=913&&e<=929||e>=931&&e<=937||e>=945&&e<=961||e>=963&&e<=969||e===1025||e>=1040&&e<=1103||e===1105||e===8208||e>=8211&&e<=8214||e===8216||e===8217||e===8220||e===8221||e>=8224&&e<=8226||e>=8228&&e<=8231||e===8240||e===8242||e===8243||e===8245||e===8251||e===8254||e===8308||e===8319||e>=8321&&e<=8324||e===8364||e===8451||e===8453||e===8457||e===8467||e===8470||e===8481||e===8482||e===8486||e===8491||e===8531||e===8532||e>=8539&&e<=8542||e>=8544&&e<=8555||e>=8560&&e<=8569||e===8585||e>=8592&&e<=8601||e===8632||e===8633||e===8658||e===8660||e===8679||e===8704||e===8706||e===8707||e===8711||e===8712||e===8715||e===8719||e===8721||e===8725||e===8730||e>=8733&&e<=8736||e===8739||e===8741||e>=8743&&e<=8748||e===8750||e>=8756&&e<=8759||e===8764||e===8765||e===8776||e===8780||e===8786||e===8800||e===8801||e>=8804&&e<=8807||e===8810||e===8811||e===8814||e===8815||e===8834||e===8835||e===8838||e===8839||e===8853||e===8857||e===8869||e===8895||e===8978||e>=9312&&e<=9449||e>=9451&&e<=9547||e>=9552&&e<=9587||e>=9600&&e<=9615||e>=9618&&e<=9621||e===9632||e===9633||e>=9635&&e<=9641||e===9650||e===9651||e===9654||e===9655||e===9660||e===9661||e===9664||e===9665||e>=9670&&e<=9672||e===9675||e>=9678&&e<=9681||e>=9698&&e<=9701||e===9711||e===9733||e===9734||e===9737||e===9742||e===9743||e===9756||e===9758||e===9792||e===9794||e===9824||e===9825||e>=9827&&e<=9829||e>=9831&&e<=9834||e===9836||e===9837||e===9839||e===9886||e===9887||e===9919||e>=9926&&e<=9933||e>=9935&&e<=9939||e>=9941&&e<=9953||e===9955||e===9960||e===9961||e>=9963&&e<=9969||e===9972||e>=9974&&e<=9977||e===9979||e===9980||e===9982||e===9983||e===10045||e>=10102&&e<=10111||e>=11094&&e<=11097||e>=12872&&e<=12879||e>=57344&&e<=63743||e>=65024&&e<=65039||e===65533||e>=127232&&e<=127242||e>=127248&&e<=127277||e>=127280&&e<=127337||e>=127344&&e<=127373||e===127375||e===127376||e>=127387&&e<=127404||e>=917760&&e<=917999||e>=983040&&e<=1048573||e>=1048576&&e<=1114109}function Gs(e){return e===12288||e>=65281&&e<=65376||e>=65504&&e<=65510}function js(e){return e>=4352&&e<=4447||e===8986||e===8987||e===9001||e===9002||e>=9193&&e<=9196||e===9200||e===9203||e===9725||e===9726||e===9748||e===9749||e>=9776&&e<=9783||e>=9800&&e<=9811||e===9855||e>=9866&&e<=9871||e===9875||e===9889||e===9898||e===9899||e===9917||e===9918||e===9924||e===9925||e===9934||e===9940||e===9962||e===9970||e===9971||e===9973||e===9978||e===9981||e===9989||e===9994||e===9995||e===10024||e===10060||e===10062||e>=10067&&e<=10069||e===10071||e>=10133&&e<=10135||e===10160||e===10175||e===11035||e===11036||e===11088||e===11093||e>=11904&&e<=11929||e>=11931&&e<=12019||e>=12032&&e<=12245||e>=12272&&e<=12287||e>=12289&&e<=12350||e>=12353&&e<=12438||e>=12441&&e<=12543||e>=12549&&e<=12591||e>=12593&&e<=12686||e>=12688&&e<=12773||e>=12783&&e<=12830||e>=12832&&e<=12871||e>=12880&&e<=42124||e>=42128&&e<=42182||e>=43360&&e<=43388||e>=44032&&e<=55203||e>=63744&&e<=64255||e>=65040&&e<=65049||e>=65072&&e<=65106||e>=65108&&e<=65126||e>=65128&&e<=65131||e>=94176&&e<=94180||e>=94192&&e<=94198||e>=94208&&e<=101589||e>=101631&&e<=101662||e>=101760&&e<=101874||e>=110576&&e<=110579||e>=110581&&e<=110587||e===110589||e===110590||e>=110592&&e<=110882||e===110898||e>=110928&&e<=110930||e===110933||e>=110948&&e<=110951||e>=110960&&e<=111355||e>=119552&&e<=119638||e>=119648&&e<=119670||e===126980||e===127183||e===127374||e>=127377&&e<=127386||e>=127488&&e<=127490||e>=127504&&e<=127547||e>=127552&&e<=127560||e===127568||e===127569||e>=127584&&e<=127589||e>=127744&&e<=127776||e>=127789&&e<=127797||e>=127799&&e<=127868||e>=127870&&e<=127891||e>=127904&&e<=127946||e>=127951&&e<=127955||e>=127968&&e<=127984||e===127988||e>=127992&&e<=128062||e===128064||e>=128066&&e<=128252||e>=128255&&e<=128317||e>=128331&&e<=128334||e>=128336&&e<=128359||e===128378||e===128405||e===128406||e===128420||e>=128507&&e<=128591||e>=128640&&e<=128709||e===128716||e>=128720&&e<=128722||e>=128725&&e<=128728||e>=128732&&e<=128735||e===128747||e===128748||e>=128756&&e<=128764||e>=128992&&e<=129003||e===129008||e>=129292&&e<=129338||e>=129340&&e<=129349||e>=129351&&e<=129535||e>=129648&&e<=129660||e>=129664&&e<=129674||e>=129678&&e<=129734||e===129736||e>=129741&&e<=129756||e>=129759&&e<=129770||e>=129775&&e<=129784||e>=131072&&e<=196605||e>=196608&&e<=262141}function zs(e){return Ws(e)?"ambiguous":Gs(e)?"fullwidth":e===8361||e>=65377&&e<=65470||e>=65474&&e<=65479||e>=65482&&e<=65487||e>=65490&&e<=65495||e>=65498&&e<=65500||e>=65512&&e<=65518?"halfwidth":e>=32&&e<=126||e===162||e===163||e===165||e===166||e===172||e===175||e>=10214&&e<=10221||e===10629||e===10630?"narrow":js(e)?"wide":"neutral"}function Dc(e){if(!Number.isSafeInteger(e))throw new TypeError(`Expected a code point, got \`${typeof e}\`.`)}function Vs(e){return Dc(e),zs(e)}var Bc=Object.defineProperty,Ec=(e,t,a)=>t in e?Bc(e,t,{enumerable:!0,configurable:!0,writable:!0,value:a}):e[t]=a,_c=(e,t,a)=>Ec(e,typeof t!="symbol"?t+"":t,a);function Nc(e){return new RegExp("^\\p{Emoji_Presentation}","u").test(String.fromCodePoint(e))}function Oc(e){if(!e||e<4352)return!1;switch(Vs(e)){case"fullwidth":case"halfwidth":return!0;case"wide":return!Nc(e);case"narrow":return!1;case"ambiguous":return 917760<=e&&e<=917999?null:!1;case"neutral":return new RegExp("^\\p{sc=Hangul}","u").test(String.fromCodePoint(e))}}function Uc(e,t){return t!==65025||!e||e<8216?!1:e===8216||e===8217||e===8220||e===8221}function Hc(e){return e!==null&&e>=65024&&e<=65038}var qc=$s(new RegExp("\\p{P}|\\p{S}","u")),Wc=$s(/\s/);function $s(e){return t;function t(a){return a!==null&&a>-1&&e.test(String.fromCodePoint(a))}}var Pe;(e=>{e.spaceOrPunctuation=3,e.cjk=4096,e.cjkPunctuation=4098,e.ivs=8192,e.cjkOrIvs=12288,e.nonEmojiGeneralUseVS=16384,e.variationSelector=24576,e.ivsToCjkRightShift=1})(Pe||(Pe={}));function at(e){if(e===we.eof||sn(e)||Wc(e))return Ge.characterGroupWhitespace;let t=0;if(e>=4352){if(Hc(e))return Pe.nonEmojiGeneralUseVS;switch(Oc(e)){case null:return Pe.ivs;case!0:t|=Pe.cjk;break}}return qc(e)&&(t|=Ge.characterGroupPunctuation),t}function Ba(e,t,a){if(!jc(e))return e;let o=t(),r=at(o);return!o||ft(r)?e:Uc(o,a)?Pe.cjkPunctuation:Gc(r)}function Gc(e){return e&~Pe.ivs}function ft(e){return!!(e&Ge.characterGroupWhitespace)}function Pt(e){return(e&Pe.cjkPunctuation)===Ge.characterGroupPunctuation}function na(e){return!!(e&Pe.cjk)}function Xs(e){return e===Pe.ivs}function Ks(e){return!!(e&Pe.cjkOrIvs)}function jc(e){return e===Pe.nonEmojiGeneralUseVS}function Vo(e){return!!(e&Pe.spaceOrPunctuation)}function Ea(e){return!!(e&&e>=55296&&e<=56319)}function _a(e){return!!(e&&e>=56320&&e<=57343)}function Na(e,t,a){if(t._bufferIndex<2)return e;let r=a({start:{...t,_bufferIndex:t._bufferIndex-2},end:t}).codePointAt(0);return r&&r>=65536?r:e}function zc(e,t,a){let o=e>=65536?2:1;if(t._bufferIndex<1+o)return null;let r=t._bufferIndex-o-2,n=a({start:{...t,_bufferIndex:r>=0?r:0},end:{...t,_bufferIndex:t._bufferIndex-o}}),s=n.charCodeAt(n.length-1);if(Number.isNaN(s))return null;if(n.length<2||s<56320||57343<s)return s;let i=n.codePointAt(0);return i&&i>=65536?i:s}var Oa=class{constructor(e,t,a){this.previousCode=e,this.nowPoint=t,this.sliceSerialize=a,_c(this,"cachedValue")}value(){return this.cachedValue===void 0&&(this.cachedValue=zc(this.previousCode,this.nowPoint,this.sliceSerialize)),this.cachedValue}};function Ua(e,t,a){let o=a({start:t,end:{...t,_bufferIndex:t._bufferIndex+2}}).codePointAt(0);return o&&o>=65536?o:e}var $o={name:"attention",resolveAll:Vc,tokenize:$c};function Vc(e,t){let a=-1,o,r,n,s,i,l,u,c;for(;++a<e.length;)if(e[a][0]==="enter"&&e[a][1].type==="attentionSequence"&&e[a][1]._close){for(o=a;o--;)if(e[o][0]==="exit"&&e[o][1].type==="attentionSequence"&&e[o][1]._open&&t.sliceSerialize(e[o][1]).charCodeAt(0)===t.sliceSerialize(e[a][1]).charCodeAt(0)){if((e[o][1]._close||e[a][1]._open)&&(e[a][1].end.offset-e[a][1].start.offset)%3&&!((e[o][1].end.offset-e[o][1].start.offset+e[a][1].end.offset-e[a][1].start.offset)%3))continue;l=e[o][1].end.offset-e[o][1].start.offset>1&&e[a][1].end.offset-e[a][1].start.offset>1?2:1;let d={...e[o][1].end},p={...e[a][1].start};Qs(d,-l),Qs(p,l),s={type:l>1?ve.strongSequence:ve.emphasisSequence,start:d,end:{...e[o][1].end}},i={type:l>1?ve.strongSequence:ve.emphasisSequence,start:{...e[a][1].start},end:p},n={type:l>1?ve.strongText:ve.emphasisText,start:{...e[o][1].end},end:{...e[a][1].start}},r={type:l>1?ve.strong:ve.emphasis,start:{...s.start},end:{...i.end}},e[o][1].end={...s.start},e[a][1].start={...i.end},u=[],e[o][1].end.offset-e[o][1].start.offset&&(u=yt(u,[["enter",e[o][1],t],["exit",e[o][1],t]])),u=yt(u,[["enter",r,t],["enter",s,t],["exit",s,t],["enter",n,t]]),t.parser.constructs.insideSpan.null,u=yt(u,ka(t.parser.constructs.insideSpan.null,e.slice(o+1,a),t)),u=yt(u,[["exit",n,t],["enter",i,t],["exit",i,t],["exit",r,t]]),e[a][1].end.offset-e[a][1].start.offset?(c=2,u=yt(u,[["enter",e[a][1],t],["exit",e[a][1],t]])):c=0,St(e,o-1,a-o+3,u),a=o+u.length-c-2;break}}for(a=-1;++a<e.length;)e[a][1].type==="attentionSequence"&&(e[a][1].type="data");return e}function $c(e,t){let a=this.parser.constructs.attentionMarkers.null,{now:o,sliceSerialize:r,previous:n}=this,s=_a(n)?Na(n,o(),r):n,i=at(s),l=new Oa(s,o(),r),u=Ba(i,l.value.bind(l),s),c;return d;function d(m){return m===we.asterisk||we.underscore,c=m,e.enter("attentionSequence"),p(m)}function p(m){if(m===c)return e.consume(m),p;let h=e.exit("attentionSequence"),I=Ea(m)?Ua(m,o(),r):m,x=at(I);let S=Pt(u),C=S||ft(u),L=Pt(x),y=L||ft(x),v=Ks(u),A=!y||L&&(C||v)||a.includes(m),M=!C||S&&(y||na(x))||a.includes(s);return h._open=!!(c===we.asterisk?A:A&&(Vo(u)||!M)),h._close=!!(c===we.asterisk?M:M&&(Vo(x)||!A)),t(m)}}function Qs(e,t){e.column+=t,e.offset+=t,e._bufferIndex+=t}function Js(){return{text:{[we.asterisk]:$o,[we.underscore]:$o},insideSpan:{null:[$o]}}}function Zs(){let e=this.data();(e.micromarkExtensions||(e.micromarkExtensions=[])).push(Js())}f();f();function Ys(e){let a=(e||{}).singleTilde,o={name:"strikethrough",tokenize:n,resolveAll:r};return a==null&&(a=!0),{text:{[we.tilde]:o},insideSpan:{null:[o]},attentionMarkers:{null:[we.tilde]}};function r(s,i){let l=-1;for(;++l<s.length;)if(s[l][0]==="enter"&&s[l][1].type==="strikethroughSequenceTemporary"&&s[l][1]._close){let u=l;for(;u--;)if(s[u][0]==="exit"&&s[u][1].type==="strikethroughSequenceTemporary"&&s[u][1]._open&&s[l][1].end.offset-s[l][1].start.offset===s[u][1].end.offset-s[u][1].start.offset){s[l][1].type="strikethroughSequence",s[u][1].type="strikethroughSequence";let c={type:"strikethrough",start:Object.assign({},s[u][1].start),end:Object.assign({},s[l][1].end)},d={type:"strikethroughText",start:Object.assign({},s[u][1].end),end:Object.assign({},s[l][1].start)},p=[["enter",c,i],["enter",s[u][1],i],["exit",s[u][1],i],["enter",d,i]],m=i.parser.constructs.insideSpan.null;m&&St(p,p.length,0,ka(m,s.slice(u+1,l),i)),St(p,p.length,0,[["exit",d,i],["enter",s[l][1],i],["exit",s[l][1],i],["exit",c,i]]),St(s,u-1,l-u+3,p),l=u+p.length-2;break}}for(l=-1;++l<s.length;)s[l][1].type==="strikethroughSequenceTemporary"&&(s[l][1].type=ve.data);return s}function n(s,i,l){let{now:u,sliceSerialize:c,previous:d}=this,p=_a(d)?Na(d,u(),c):d,m=at(p),h=new Oa(p,u(),c),I=Ba(m,h.value.bind(h),p),x=this.events,S=0;return C;function C(y){return we.tilde,p===we.tilde&&x[x.length-1][1].type!==ve.characterEscape?l(y):(s.enter("strikethroughSequenceTemporary"),L(y))}function L(y){let v=at(p);if(y===we.tilde)return S>1?l(y):(s.consume(y),S++,L);if(S<2&&!a)return l(y);let A=s.exit("strikethroughSequenceTemporary"),M=Ea(y)?Ua(y,u(),c):y,R=at(M),D=Pt(I)||ft(I),k=Pt(R)||ft(R),B=na(I)||Xs(v);return A._open=!k||R===Ge.attentionSideAfter&&(D||B),A._close=!D||v===Ge.attentionSideAfter&&(k||na(R)),i(y)}}}function ei(e){let t=this.data();(t.micromarkExtensions||(t.micromarkExtensions=[])).push(Ys(e))}var Xc=new Set(["\u3002","\uFF0E","\uFF0C","\u3001","\uFF1F","\uFF01","\uFF1A","\uFF1B","\uFF08","\uFF09","\u3010","\u3011","\u300C","\u300D","\u300E","\u300F","\u3008","\u3009","\u300A","\u300B"]),Kc=/^(https?:\/\/|mailto:|www\.)/i,Qc=e=>{if(e.children.length!==1)return!1;let t=e.children[0];return t.type==="text"&&t.value===e.url},Jc=e=>{let t=0;for(let a of e){if(Xc.has(a))return t;t+=a.length}return null},Zc=(e,t)=>({...t,url:e,children:[{type:"text",value:e}]}),Yc=e=>({type:"text",value:e}),ef=()=>e=>{Yr(e,"link",(t,a,o)=>{if(!o||typeof a!="number"||!Qc(t)||!Kc.test(t.url))return;let r=Jc(t.url);if(r===null||r===0)return;let n=t.url.slice(0,r),s=t.url.slice(r),i=Zc(n,t),l=Yc(s);return o.children.splice(a,1,i,l),a+1})};function tf(){let e=[Zs],t=[ef,ei],a=[...e,...t];return{name:"cjk",type:"cjk",remarkPluginsBefore:e,remarkPluginsAfter:t,remarkPlugins:a}}var Xo=tf();f();f();f();f();f();var ae=class extends Error{constructor(t){super(t),this.name="ShikiError"}};f();function af(e){return rr(e)}function rr(e){return Array.isArray(e)?of(e):e instanceof RegExp?e:typeof e=="object"?rf(e):e}function of(e){let t=[];for(let a=0,o=e.length;a<o;a++)t[a]=rr(e[a]);return t}function rf(e){let t={};for(let a in e)t[a]=rr(e[a]);return t}function ui(e,...t){return t.forEach(a=>{for(let o in a)e[o]=a[o]}),e}function di(e){let t=~e.lastIndexOf("/")||~e.lastIndexOf("\\");return t===0?e:~t===e.length-1?di(e.substring(0,e.length-1)):e.substr(~t+1)}var Ko=/\$(\d+)|\${(\d+):\/(downcase|upcase)}/g,Ha=class{static hasCaptures(e){return e===null?!1:(Ko.lastIndex=0,Ko.test(e))}static replaceCaptures(e,t,a){return e.replace(Ko,(o,r,n,s)=>{let i=a[parseInt(r||n,10)];if(i){let l=t.substring(i.start,i.end);for(;l[0]===".";)l=l.substring(1);switch(s){case"downcase":return l.toLowerCase();case"upcase":return l.toUpperCase();default:return l}}else return o})}};function ci(e,t){return e<t?-1:e>t?1:0}function fi(e,t){if(e===null&&t===null)return 0;if(!e)return-1;if(!t)return 1;let a=e.length,o=t.length;if(a===o){for(let r=0;r<a;r++){let n=ci(e[r],t[r]);if(n!==0)return n}return 0}return a-o}function ti(e){return!!(/^#[0-9a-f]{6}$/i.test(e)||/^#[0-9a-f]{8}$/i.test(e)||/^#[0-9a-f]{3}$/i.test(e)||/^#[0-9a-f]{4}$/i.test(e))}function pi(e){return e.replace(/[\-\\\{\}\*\+\?\|\^\$\.\,\[\]\(\)\#\s]/g,"\\$&")}var mi=class{constructor(e){this.fn=e}cache=new Map;get(e){if(this.cache.has(e))return this.cache.get(e);let t=this.fn(e);return this.cache.set(e,t),t}},la=class{constructor(e,t,a){this._colorMap=e,this._defaults=t,this._root=a}static createFromRawTheme(e,t){return this.createFromParsedTheme(lf(e),t)}static createFromParsedTheme(e,t){return df(e,t)}_cachedMatchRoot=new mi(e=>this._root.match(e));getColorMap(){return this._colorMap.getColorMap()}getDefaults(){return this._defaults}match(e){if(e===null)return this._defaults;let t=e.scopeName,o=this._cachedMatchRoot.get(t).find(r=>nf(e.parent,r.parentScopes));return o?new hi(o.fontStyle,o.foreground,o.background):null}},Qo=class qa{constructor(t,a){this.parent=t,this.scopeName=a}static push(t,a){for(let o of a)t=new qa(t,o);return t}static from(...t){let a=null;for(let o=0;o<t.length;o++)a=new qa(a,t[o]);return a}push(t){return new qa(this,t)}getSegments(){let t=this,a=[];for(;t;)a.push(t.scopeName),t=t.parent;return a.reverse(),a}toString(){return this.getSegments().join(" ")}extends(t){return this===t?!0:this.parent===null?!1:this.parent.extends(t)}getExtensionIfDefined(t){let a=[],o=this;for(;o&&o!==t;)a.push(o.scopeName),o=o.parent;return o===t?a.reverse():void 0}};function nf(e,t){if(t.length===0)return!0;for(let a=0;a<t.length;a++){let o=t[a],r=!1;if(o===">"){if(a===t.length-1)return!1;o=t[++a],r=!0}for(;e&&!sf(e.scopeName,o);){if(r)return!1;e=e.parent}if(!e)return!1;e=e.parent}return!0}function sf(e,t){return t===e||e.startsWith(t)&&e[t.length]==="."}var hi=class{constructor(e,t,a){this.fontStyle=e,this.foregroundId=t,this.backgroundId=a}};function lf(e){if(!e)return[];if(!e.settings||!Array.isArray(e.settings))return[];let t=e.settings,a=[],o=0;for(let r=0,n=t.length;r<n;r++){let s=t[r];if(!s.settings)continue;let i;if(typeof s.scope=="string"){let d=s.scope;d=d.replace(/^[,]+/,""),d=d.replace(/[,]+$/,""),i=d.split(",")}else Array.isArray(s.scope)?i=s.scope:i=[""];let l=-1;if(typeof s.settings.fontStyle=="string"){l=0;let d=s.settings.fontStyle.split(" ");for(let p=0,m=d.length;p<m;p++)switch(d[p]){case"italic":l=l|1;break;case"bold":l=l|2;break;case"underline":l=l|4;break;case"strikethrough":l=l|8;break}}let u=null;typeof s.settings.foreground=="string"&&ti(s.settings.foreground)&&(u=s.settings.foreground);let c=null;typeof s.settings.background=="string"&&ti(s.settings.background)&&(c=s.settings.background);for(let d=0,p=i.length;d<p;d++){let h=i[d].trim().split(" "),I=h[h.length-1],x=null;h.length>1&&(x=h.slice(0,h.length-1),x.reverse()),a[o++]=new uf(I,x,r,l,u,c)}}return a}var uf=class{constructor(e,t,a,o,r,n){this.scope=e,this.parentScopes=t,this.index=a,this.fontStyle=o,this.foreground=r,this.background=n}},xe=(e=>(e[e.NotSet=-1]="NotSet",e[e.None=0]="None",e[e.Italic=1]="Italic",e[e.Bold=2]="Bold",e[e.Underline=4]="Underline",e[e.Strikethrough=8]="Strikethrough",e))(xe||{});function df(e,t){e.sort((l,u)=>{let c=ci(l.scope,u.scope);return c!==0||(c=fi(l.parentScopes,u.parentScopes),c!==0)?c:l.index-u.index});let a=0,o="#000000",r="#ffffff";for(;e.length>=1&&e[0].scope==="";){let l=e.shift();l.fontStyle!==-1&&(a=l.fontStyle),l.foreground!==null&&(o=l.foreground),l.background!==null&&(r=l.background)}let n=new cf(t),s=new hi(a,n.getId(o),n.getId(r)),i=new pf(new Zo(0,null,-1,0,0),[]);for(let l=0,u=e.length;l<u;l++){let c=e[l];i.insert(0,c.scope,c.parentScopes,c.fontStyle,n.getId(c.foreground),n.getId(c.background))}return new la(n,s,i)}var cf=class{_isFrozen;_lastColorId;_id2color;_color2id;constructor(e){if(this._lastColorId=0,this._id2color=[],this._color2id=Object.create(null),Array.isArray(e)){this._isFrozen=!0;for(let t=0,a=e.length;t<a;t++)this._color2id[e[t]]=t,this._id2color[t]=e[t]}else this._isFrozen=!1}getId(e){if(e===null)return 0;e=e.toUpperCase();let t=this._color2id[e];if(t)return t;if(this._isFrozen)throw new Error(`Missing color in color map - ${e}`);return t=++this._lastColorId,this._color2id[e]=t,this._id2color[t]=e,t}getColorMap(){return this._id2color.slice(0)}},ff=Object.freeze([]),Zo=class gi{scopeDepth;parentScopes;fontStyle;foreground;background;constructor(t,a,o,r,n){this.scopeDepth=t,this.parentScopes=a||ff,this.fontStyle=o,this.foreground=r,this.background=n}clone(){return new gi(this.scopeDepth,this.parentScopes,this.fontStyle,this.foreground,this.background)}static cloneArr(t){let a=[];for(let o=0,r=t.length;o<r;o++)a[o]=t[o].clone();return a}acceptOverwrite(t,a,o,r){this.scopeDepth>t?console.log("how did this happen?"):this.scopeDepth=t,a!==-1&&(this.fontStyle=a),o!==0&&(this.foreground=o),r!==0&&(this.background=r)}},pf=class Yo{constructor(t,a=[],o={}){this._mainRule=t,this._children=o,this._rulesWithParentScopes=a}_rulesWithParentScopes;static _cmpBySpecificity(t,a){if(t.scopeDepth!==a.scopeDepth)return a.scopeDepth-t.scopeDepth;let o=0,r=0;for(;t.parentScopes[o]===">"&&o++,a.parentScopes[r]===">"&&r++,!(o>=t.parentScopes.length||r>=a.parentScopes.length);){let n=a.parentScopes[r].length-t.parentScopes[o].length;if(n!==0)return n;o++,r++}return a.parentScopes.length-t.parentScopes.length}match(t){if(t!==""){let o=t.indexOf("."),r,n;if(o===-1?(r=t,n=""):(r=t.substring(0,o),n=t.substring(o+1)),this._children.hasOwnProperty(r))return this._children[r].match(n)}let a=this._rulesWithParentScopes.concat(this._mainRule);return a.sort(Yo._cmpBySpecificity),a}insert(t,a,o,r,n,s){if(a===""){this._doInsertHere(t,o,r,n,s);return}let i=a.indexOf("."),l,u;i===-1?(l=a,u=""):(l=a.substring(0,i),u=a.substring(i+1));let c;this._children.hasOwnProperty(l)?c=this._children[l]:(c=new Yo(this._mainRule.clone(),Zo.cloneArr(this._rulesWithParentScopes)),this._children[l]=c),c.insert(t+1,u,o,r,n,s)}_doInsertHere(t,a,o,r,n){if(a===null){this._mainRule.acceptOverwrite(t,o,r,n);return}for(let s=0,i=this._rulesWithParentScopes.length;s<i;s++){let l=this._rulesWithParentScopes[s];if(fi(l.parentScopes,a)===0){l.acceptOverwrite(t,o,r,n);return}}o===-1&&(o=this._mainRule.fontStyle),r===0&&(r=this._mainRule.foreground),n===0&&(n=this._mainRule.background),this._rulesWithParentScopes.push(new Zo(t,a,o,r,n))}},mt=class De{static toBinaryStr(t){return t.toString(2).padStart(32,"0")}static print(t){let a=De.getLanguageId(t),o=De.getTokenType(t),r=De.getFontStyle(t),n=De.getForeground(t),s=De.getBackground(t);console.log({languageId:a,tokenType:o,fontStyle:r,foreground:n,background:s})}static getLanguageId(t){return(t&255)>>>0}static getTokenType(t){return(t&768)>>>8}static containsBalancedBrackets(t){return(t&1024)!==0}static getFontStyle(t){return(t&30720)>>>11}static getForeground(t){return(t&16744448)>>>15}static getBackground(t){return(t&4278190080)>>>24}static set(t,a,o,r,n,s,i){let l=De.getLanguageId(t),u=De.getTokenType(t),c=De.containsBalancedBrackets(t)?1:0,d=De.getFontStyle(t),p=De.getForeground(t),m=De.getBackground(t);return a!==0&&(l=a),o!==8&&(u=o),r!==null&&(c=r?1:0),n!==-1&&(d=n),s!==0&&(p=s),i!==0&&(m=i),(l<<0|u<<8|c<<10|d<<11|p<<15|m<<24)>>>0}};function Ga(e,t){let a=[],o=mf(e),r=o.next();for(;r!==null;){let l=0;if(r.length===2&&r.charAt(1)===":"){switch(r.charAt(0)){case"R":l=1;break;case"L":l=-1;break;default:console.log(`Unknown priority ${r} in scope selector`)}r=o.next()}let u=s();if(a.push({matcher:u,priority:l}),r!==",")break;r=o.next()}return a;function n(){if(r==="-"){r=o.next();let l=n();return u=>!!l&&!l(u)}if(r==="("){r=o.next();let l=i();return r===")"&&(r=o.next()),l}if(ai(r)){let l=[];do l.push(r),r=o.next();while(ai(r));return u=>t(l,u)}return null}function s(){let l=[],u=n();for(;u;)l.push(u),u=n();return c=>l.every(d=>d(c))}function i(){let l=[],u=s();for(;u&&(l.push(u),r==="|"||r===",");){do r=o.next();while(r==="|"||r===",");u=s()}return c=>l.some(d=>d(c))}}function ai(e){return!!e&&!!e.match(/[\w\.:]+/)}function mf(e){let t=/([LR]:|[\w\.:][\w\.:\-]*|[\,\|\-\(\)])/g,a=t.exec(e);return{next:()=>{if(!a)return null;let o=a[0];return a=t.exec(e),o}}}function wi(e){typeof e.dispose=="function"&&e.dispose()}var ua=class{constructor(e){this.scopeName=e}toKey(){return this.scopeName}},hf=class{constructor(e,t){this.scopeName=e,this.ruleName=t}toKey(){return`${this.scopeName}#${this.ruleName}`}},gf=class{_references=[];_seenReferenceKeys=new Set;get references(){return this._references}visitedRule=new Set;add(e){let t=e.toKey();this._seenReferenceKeys.has(t)||(this._seenReferenceKeys.add(t),this._references.push(e))}},wf=class{constructor(e,t){this.repo=e,this.initialScopeName=t,this.seenFullScopeRequests.add(this.initialScopeName),this.Q=[new ua(this.initialScopeName)]}seenFullScopeRequests=new Set;seenPartialScopeRequests=new Set;Q;processQueue(){let e=this.Q;this.Q=[];let t=new gf;for(let a of e)xf(a,this.initialScopeName,this.repo,t);for(let a of t.references)if(a instanceof ua){if(this.seenFullScopeRequests.has(a.scopeName))continue;this.seenFullScopeRequests.add(a.scopeName),this.Q.push(a)}else{if(this.seenFullScopeRequests.has(a.scopeName)||this.seenPartialScopeRequests.has(a.toKey()))continue;this.seenPartialScopeRequests.add(a.toKey()),this.Q.push(a)}}};function xf(e,t,a,o){let r=a.lookup(e.scopeName);if(!r){if(e.scopeName===t)throw new Error(`No grammar provided for <${t}>`);return}let n=a.lookup(t);e instanceof ua?Wa({baseGrammar:n,selfGrammar:r},o):er(e.ruleName,{baseGrammar:n,selfGrammar:r,repository:r.repository},o);let s=a.injections(e.scopeName);if(s)for(let i of s)o.add(new ua(i))}function er(e,t,a){if(t.repository&&t.repository[e]){let o=t.repository[e];ja([o],t,a)}}function Wa(e,t){e.selfGrammar.patterns&&Array.isArray(e.selfGrammar.patterns)&&ja(e.selfGrammar.patterns,{...e,repository:e.selfGrammar.repository},t),e.selfGrammar.injections&&ja(Object.values(e.selfGrammar.injections),{...e,repository:e.selfGrammar.repository},t)}function ja(e,t,a){for(let o of e){if(a.visitedRule.has(o))continue;a.visitedRule.add(o);let r=o.repository?ui({},t.repository,o.repository):t.repository;Array.isArray(o.patterns)&&ja(o.patterns,{...t,repository:r},a);let n=o.include;if(!n)continue;let s=xi(n);switch(s.kind){case 0:Wa({...t,selfGrammar:t.baseGrammar},a);break;case 1:Wa(t,a);break;case 2:er(s.ruleName,{...t,repository:r},a);break;case 3:case 4:let i=s.scopeName===t.selfGrammar.scopeName?t.selfGrammar:s.scopeName===t.baseGrammar.scopeName?t.baseGrammar:void 0;if(i){let l={baseGrammar:t.baseGrammar,selfGrammar:i,repository:r};s.kind===4?er(s.ruleName,l,a):Wa(l,a)}else s.kind===4?a.add(new hf(s.scopeName,s.ruleName)):a.add(new ua(s.scopeName));break}}}var Lf=class{kind=0},Cf=class{kind=1},If=class{constructor(e){this.ruleName=e}kind=2},Sf=class{constructor(e){this.scopeName=e}kind=3},yf=class{constructor(e,t){this.scopeName=e,this.ruleName=t}kind=4};function xi(e){if(e==="$base")return new Lf;if(e==="$self")return new Cf;let t=e.indexOf("#");if(t===-1)return new Sf(e);if(t===0)return new If(e.substring(1));{let a=e.substring(0,t),o=e.substring(t+1);return new yf(a,o)}}var bf=/\\(\d+)/,oi=/\\(\d+)/g;var kf=-1,Li=-2;var fa=class{$location;id;_nameIsCapturing;_name;_contentNameIsCapturing;_contentName;constructor(e,t,a,o){this.$location=e,this.id=t,this._name=a||null,this._nameIsCapturing=Ha.hasCaptures(this._name),this._contentName=o||null,this._contentNameIsCapturing=Ha.hasCaptures(this._contentName)}get debugName(){let e=this.$location?`${di(this.$location.filename)}:${this.$location.line}`:"unknown";return`${this.constructor.name}#${this.id} @ ${e}`}getName(e,t){return!this._nameIsCapturing||this._name===null||e===null||t===null?this._name:Ha.replaceCaptures(this._name,e,t)}getContentName(e,t){return!this._contentNameIsCapturing||this._contentName===null?this._contentName:Ha.replaceCaptures(this._contentName,e,t)}},Tf=class extends fa{retokenizeCapturedWithRuleId;constructor(e,t,a,o,r){super(e,t,a,o),this.retokenizeCapturedWithRuleId=r}dispose(){}collectPatterns(e,t){throw new Error("Not supported!")}compile(e,t){throw new Error("Not supported!")}compileAG(e,t,a,o){throw new Error("Not supported!")}},vf=class extends fa{_match;captures;_cachedCompiledPatterns;constructor(e,t,a,o,r){super(e,t,a,null),this._match=new da(o,this.id),this.captures=r,this._cachedCompiledPatterns=null}dispose(){this._cachedCompiledPatterns&&(this._cachedCompiledPatterns.dispose(),this._cachedCompiledPatterns=null)}get debugMatchRegExp(){return`${this._match.source}`}collectPatterns(e,t){t.push(this._match)}compile(e,t){return this._getCachedCompiledPatterns(e).compile(e)}compileAG(e,t,a,o){return this._getCachedCompiledPatterns(e).compileAG(e,a,o)}_getCachedCompiledPatterns(e){return this._cachedCompiledPatterns||(this._cachedCompiledPatterns=new ca,this.collectPatterns(e,this._cachedCompiledPatterns)),this._cachedCompiledPatterns}},ri=class extends fa{hasMissingPatterns;patterns;_cachedCompiledPatterns;constructor(e,t,a,o,r){super(e,t,a,o),this.patterns=r.patterns,this.hasMissingPatterns=r.hasMissingPatterns,this._cachedCompiledPatterns=null}dispose(){this._cachedCompiledPatterns&&(this._cachedCompiledPatterns.dispose(),this._cachedCompiledPatterns=null)}collectPatterns(e,t){for(let a of this.patterns)e.getRule(a).collectPatterns(e,t)}compile(e,t){return this._getCachedCompiledPatterns(e).compile(e)}compileAG(e,t,a,o){return this._getCachedCompiledPatterns(e).compileAG(e,a,o)}_getCachedCompiledPatterns(e){return this._cachedCompiledPatterns||(this._cachedCompiledPatterns=new ca,this.collectPatterns(e,this._cachedCompiledPatterns)),this._cachedCompiledPatterns}},tr=class extends fa{_begin;beginCaptures;_end;endHasBackReferences;endCaptures;applyEndPatternLast;hasMissingPatterns;patterns;_cachedCompiledPatterns;constructor(e,t,a,o,r,n,s,i,l,u){super(e,t,a,o),this._begin=new da(r,this.id),this.beginCaptures=n,this._end=new da(s||"\uFFFF",-1),this.endHasBackReferences=this._end.hasBackReferences,this.endCaptures=i,this.applyEndPatternLast=l||!1,this.patterns=u.patterns,this.hasMissingPatterns=u.hasMissingPatterns,this._cachedCompiledPatterns=null}dispose(){this._cachedCompiledPatterns&&(this._cachedCompiledPatterns.dispose(),this._cachedCompiledPatterns=null)}get debugBeginRegExp(){return`${this._begin.source}`}get debugEndRegExp(){return`${this._end.source}`}getEndWithResolvedBackReferences(e,t){return this._end.resolveBackReferences(e,t)}collectPatterns(e,t){t.push(this._begin)}compile(e,t){return this._getCachedCompiledPatterns(e,t).compile(e)}compileAG(e,t,a,o){return this._getCachedCompiledPatterns(e,t).compileAG(e,a,o)}_getCachedCompiledPatterns(e,t){if(!this._cachedCompiledPatterns){this._cachedCompiledPatterns=new ca;for(let a of this.patterns)e.getRule(a).collectPatterns(e,this._cachedCompiledPatterns);this.applyEndPatternLast?this._cachedCompiledPatterns.push(this._end.hasBackReferences?this._end.clone():this._end):this._cachedCompiledPatterns.unshift(this._end.hasBackReferences?this._end.clone():this._end)}return this._end.hasBackReferences&&(this.applyEndPatternLast?this._cachedCompiledPatterns.setSource(this._cachedCompiledPatterns.length()-1,t):this._cachedCompiledPatterns.setSource(0,t)),this._cachedCompiledPatterns}},za=class extends fa{_begin;beginCaptures;whileCaptures;_while;whileHasBackReferences;hasMissingPatterns;patterns;_cachedCompiledPatterns;_cachedCompiledWhilePatterns;constructor(e,t,a,o,r,n,s,i,l){super(e,t,a,o),this._begin=new da(r,this.id),this.beginCaptures=n,this.whileCaptures=i,this._while=new da(s,Li),this.whileHasBackReferences=this._while.hasBackReferences,this.patterns=l.patterns,this.hasMissingPatterns=l.hasMissingPatterns,this._cachedCompiledPatterns=null,this._cachedCompiledWhilePatterns=null}dispose(){this._cachedCompiledPatterns&&(this._cachedCompiledPatterns.dispose(),this._cachedCompiledPatterns=null),this._cachedCompiledWhilePatterns&&(this._cachedCompiledWhilePatterns.dispose(),this._cachedCompiledWhilePatterns=null)}get debugBeginRegExp(){return`${this._begin.source}`}get debugWhileRegExp(){return`${this._while.source}`}getWhileWithResolvedBackReferences(e,t){return this._while.resolveBackReferences(e,t)}collectPatterns(e,t){t.push(this._begin)}compile(e,t){return this._getCachedCompiledPatterns(e).compile(e)}compileAG(e,t,a,o){return this._getCachedCompiledPatterns(e).compileAG(e,a,o)}_getCachedCompiledPatterns(e){if(!this._cachedCompiledPatterns){this._cachedCompiledPatterns=new ca;for(let t of this.patterns)e.getRule(t).collectPatterns(e,this._cachedCompiledPatterns)}return this._cachedCompiledPatterns}compileWhile(e,t){return this._getCachedCompiledWhilePatterns(e,t).compile(e)}compileWhileAG(e,t,a,o){return this._getCachedCompiledWhilePatterns(e,t).compileAG(e,a,o)}_getCachedCompiledWhilePatterns(e,t){return this._cachedCompiledWhilePatterns||(this._cachedCompiledWhilePatterns=new ca,this._cachedCompiledWhilePatterns.push(this._while.hasBackReferences?this._while.clone():this._while)),this._while.hasBackReferences&&this._cachedCompiledWhilePatterns.setSource(0,t||"\uFFFF"),this._cachedCompiledWhilePatterns}},Ci=class be{static createCaptureRule(t,a,o,r,n){return t.registerRule(s=>new Tf(a,s,o,r,n))}static getCompiledRuleId(t,a,o){return t.id||a.registerRule(r=>{if(t.id=r,t.match)return new vf(t.$vscodeTextmateLocation,t.id,t.name,t.match,be._compileCaptures(t.captures,a,o));if(typeof t.begin>"u"){t.repository&&(o=ui({},o,t.repository));let n=t.patterns;return typeof n>"u"&&t.include&&(n=[{include:t.include}]),new ri(t.$vscodeTextmateLocation,t.id,t.name,t.contentName,be._compilePatterns(n,a,o))}return t.while?new za(t.$vscodeTextmateLocation,t.id,t.name,t.contentName,t.begin,be._compileCaptures(t.beginCaptures||t.captures,a,o),t.while,be._compileCaptures(t.whileCaptures||t.captures,a,o),be._compilePatterns(t.patterns,a,o)):new tr(t.$vscodeTextmateLocation,t.id,t.name,t.contentName,t.begin,be._compileCaptures(t.beginCaptures||t.captures,a,o),t.end,be._compileCaptures(t.endCaptures||t.captures,a,o),t.applyEndPatternLast,be._compilePatterns(t.patterns,a,o))}),t.id}static _compileCaptures(t,a,o){let r=[];if(t){let n=0;for(let s in t){if(s==="$vscodeTextmateLocation")continue;let i=parseInt(s,10);i>n&&(n=i)}for(let s=0;s<=n;s++)r[s]=null;for(let s in t){if(s==="$vscodeTextmateLocation")continue;let i=parseInt(s,10),l=0;t[s].patterns&&(l=be.getCompiledRuleId(t[s],a,o)),r[i]=be.createCaptureRule(a,t[s].$vscodeTextmateLocation,t[s].name,t[s].contentName,l)}}return r}static _compilePatterns(t,a,o){let r=[];if(t)for(let n=0,s=t.length;n<s;n++){let i=t[n],l=-1;if(i.include){let u=xi(i.include);switch(u.kind){case 0:case 1:l=be.getCompiledRuleId(o[i.include],a,o);break;case 2:let c=o[u.ruleName];c&&(l=be.getCompiledRuleId(c,a,o));break;case 3:case 4:let d=u.scopeName,p=u.kind===4?u.ruleName:null,m=a.getExternalGrammar(d,o);if(m)if(p){let h=m.repository[p];h&&(l=be.getCompiledRuleId(h,a,m.repository))}else l=be.getCompiledRuleId(m.repository.$self,a,m.repository);break}}else l=be.getCompiledRuleId(i,a,o);if(l!==-1){let u=a.getRule(l),c=!1;if((u instanceof ri||u instanceof tr||u instanceof za)&&u.hasMissingPatterns&&u.patterns.length===0&&(c=!0),c)continue;r.push(l)}}return{patterns:r,hasMissingPatterns:(t?t.length:0)!==r.length}}},da=class Ii{source;ruleId;hasAnchor;hasBackReferences;_anchorCache;constructor(t,a){if(t&&typeof t=="string"){let o=t.length,r=0,n=[],s=!1;for(let i=0;i<o;i++)if(t.charAt(i)==="\\"&&i+1<o){let u=t.charAt(i+1);u==="z"?(n.push(t.substring(r,i)),n.push("$(?!\\n)(?<!\\n)"),r=i+2):(u==="A"||u==="G")&&(s=!0),i++}this.hasAnchor=s,r===0?this.source=t:(n.push(t.substring(r,o)),this.source=n.join(""))}else this.hasAnchor=!1,this.source=t;this.hasAnchor?this._anchorCache=this._buildAnchorCache():this._anchorCache=null,this.ruleId=a,typeof this.source=="string"?this.hasBackReferences=bf.test(this.source):this.hasBackReferences=!1}clone(){return new Ii(this.source,this.ruleId)}setSource(t){this.source!==t&&(this.source=t,this.hasAnchor&&(this._anchorCache=this._buildAnchorCache()))}resolveBackReferences(t,a){if(typeof this.source!="string")throw new Error("This method should only be called if the source is a string");let o=a.map(r=>t.substring(r.start,r.end));return oi.lastIndex=0,this.source.replace(oi,(r,n)=>pi(o[parseInt(n,10)]||""))}_buildAnchorCache(){if(typeof this.source!="string")throw new Error("This method should only be called if the source is a string");let t=[],a=[],o=[],r=[],n,s,i,l;for(n=0,s=this.source.length;n<s;n++)i=this.source.charAt(n),t[n]=i,a[n]=i,o[n]=i,r[n]=i,i==="\\"&&n+1<s&&(l=this.source.charAt(n+1),l==="A"?(t[n+1]="\uFFFF",a[n+1]="\uFFFF",o[n+1]="A",r[n+1]="A"):l==="G"?(t[n+1]="\uFFFF",a[n+1]="G",o[n+1]="\uFFFF",r[n+1]="G"):(t[n+1]=l,a[n+1]=l,o[n+1]=l,r[n+1]=l),n++);return{A0_G0:t.join(""),A0_G1:a.join(""),A1_G0:o.join(""),A1_G1:r.join("")}}resolveAnchors(t,a){return!this.hasAnchor||!this._anchorCache||typeof this.source!="string"?this.source:t?a?this._anchorCache.A1_G1:this._anchorCache.A1_G0:a?this._anchorCache.A0_G1:this._anchorCache.A0_G0}},ca=class{_items;_hasAnchors;_cached;_anchorCache;constructor(){this._items=[],this._hasAnchors=!1,this._cached=null,this._anchorCache={A0_G0:null,A0_G1:null,A1_G0:null,A1_G1:null}}dispose(){this._disposeCaches()}_disposeCaches(){this._cached&&(this._cached.dispose(),this._cached=null),this._anchorCache.A0_G0&&(this._anchorCache.A0_G0.dispose(),this._anchorCache.A0_G0=null),this._anchorCache.A0_G1&&(this._anchorCache.A0_G1.dispose(),this._anchorCache.A0_G1=null),this._anchorCache.A1_G0&&(this._anchorCache.A1_G0.dispose(),this._anchorCache.A1_G0=null),this._anchorCache.A1_G1&&(this._anchorCache.A1_G1.dispose(),this._anchorCache.A1_G1=null)}push(e){this._items.push(e),this._hasAnchors=this._hasAnchors||e.hasAnchor}unshift(e){this._items.unshift(e),this._hasAnchors=this._hasAnchors||e.hasAnchor}length(){return this._items.length}setSource(e,t){this._items[e].source!==t&&(this._disposeCaches(),this._items[e].setSource(t))}compile(e){if(!this._cached){let t=this._items.map(a=>a.source);this._cached=new ni(e,t,this._items.map(a=>a.ruleId))}return this._cached}compileAG(e,t,a){return this._hasAnchors?t?a?(this._anchorCache.A1_G1||(this._anchorCache.A1_G1=this._resolveAnchors(e,t,a)),this._anchorCache.A1_G1):(this._anchorCache.A1_G0||(this._anchorCache.A1_G0=this._resolveAnchors(e,t,a)),this._anchorCache.A1_G0):a?(this._anchorCache.A0_G1||(this._anchorCache.A0_G1=this._resolveAnchors(e,t,a)),this._anchorCache.A0_G1):(this._anchorCache.A0_G0||(this._anchorCache.A0_G0=this._resolveAnchors(e,t,a)),this._anchorCache.A0_G0):this.compile(e)}_resolveAnchors(e,t,a){let o=this._items.map(r=>r.resolveAnchors(t,a));return new ni(e,o,this._items.map(r=>r.ruleId))}},ni=class{constructor(e,t,a){this.regExps=t,this.rules=a,this.scanner=e.createOnigScanner(t)}scanner;dispose(){typeof this.scanner.dispose=="function"&&this.scanner.dispose()}toString(){let e=[];for(let t=0,a=this.rules.length;t<a;t++)e.push(" - "+this.rules[t]+": "+this.regExps[t]);return e.join(`
69
- `)}findNextMatchSync(e,t,a){let o=this.scanner.findNextMatchSync(e,t,a);return o?{ruleId:this.rules[o.index],captureIndices:o.captureIndices}:null}},Jo=class{constructor(e,t){this.languageId=e,this.tokenType=t}},Pf=class ar{_defaultAttributes;_embeddedLanguagesMatcher;constructor(t,a){this._defaultAttributes=new Jo(t,8),this._embeddedLanguagesMatcher=new Af(Object.entries(a||{}))}getDefaultAttributes(){return this._defaultAttributes}getBasicScopeAttributes(t){return t===null?ar._NULL_SCOPE_METADATA:this._getBasicScopeAttributes.get(t)}static _NULL_SCOPE_METADATA=new Jo(0,0);_getBasicScopeAttributes=new mi(t=>{let a=this._scopeToLanguage(t),o=this._toStandardTokenType(t);return new Jo(a,o)});_scopeToLanguage(t){return this._embeddedLanguagesMatcher.match(t)||0}_toStandardTokenType(t){let a=t.match(ar.STANDARD_TOKEN_TYPE_REGEXP);if(!a)return 8;switch(a[1]){case"comment":return 1;case"string":return 2;case"regex":return 3;case"meta.embedded":return 0}throw new Error("Unexpected match for standard token type!")}static STANDARD_TOKEN_TYPE_REGEXP=/\b(comment|string|regex|meta\.embedded)\b/},Af=class{values;scopesRegExp;constructor(e){if(e.length===0)this.values=null,this.scopesRegExp=null;else{this.values=new Map(e);let t=e.map(([a,o])=>pi(a));t.sort(),t.reverse(),this.scopesRegExp=new RegExp(`^((${t.join(")|(")}))($|\\.)`,"")}}match(e){if(!this.scopesRegExp)return;let t=e.match(this.scopesRegExp);if(t)return this.values.get(t[1])}},Bb={InDebugMode:typeof process<"u"&&!!process.env.VSCODE_TEXTMATE_DEBUG},Si=!1,si=class{constructor(e,t){this.stack=e,this.stoppedEarly=t}};function yi(e,t,a,o,r,n,s,i){let l=t.content.length,u=!1,c=-1;if(s){let m=Rf(e,t,a,o,r,n);r=m.stack,o=m.linePos,a=m.isFirstLine,c=m.anchorPosition}let d=Date.now();for(;!u;){if(i!==0&&Date.now()-d>i)return new si(r,!0);p()}return new si(r,!1);function p(){let m=Mf(e,t,a,o,r,c);if(!m){n.produce(r,l),u=!0;return}let h=m.captureIndices,I=m.matchedRuleId,x=h&&h.length>0?h[0].end>o:!1;if(I===kf){let S=r.getRule(e);n.produce(r,h[0].start),r=r.withContentNameScopesList(r.nameScopesList),sa(e,t,a,r,n,S.endCaptures,h),n.produce(r,h[0].end);let C=r;if(r=r.parent,c=C.getAnchorPos(),!x&&C.getEnterPos()===o){r=C,n.produce(r,l),u=!0;return}}else{let S=e.getRule(I);n.produce(r,h[0].start);let C=r,L=S.getName(t.content,h),y=r.contentNameScopesList.pushAttributed(L,e);if(r=r.push(I,o,c,h[0].end===l,null,y,y),S instanceof tr){let v=S;sa(e,t,a,r,n,v.beginCaptures,h),n.produce(r,h[0].end),c=h[0].end;let A=v.getContentName(t.content,h),M=y.pushAttributed(A,e);if(r=r.withContentNameScopesList(M),v.endHasBackReferences&&(r=r.withEndRule(v.getEndWithResolvedBackReferences(t.content,h))),!x&&C.hasSameRuleAs(r)){r=r.pop(),n.produce(r,l),u=!0;return}}else if(S instanceof za){let v=S;sa(e,t,a,r,n,v.beginCaptures,h),n.produce(r,h[0].end),c=h[0].end;let A=v.getContentName(t.content,h),M=y.pushAttributed(A,e);if(r=r.withContentNameScopesList(M),v.whileHasBackReferences&&(r=r.withEndRule(v.getWhileWithResolvedBackReferences(t.content,h))),!x&&C.hasSameRuleAs(r)){r=r.pop(),n.produce(r,l),u=!0;return}}else if(sa(e,t,a,r,n,S.captures,h),n.produce(r,h[0].end),r=r.pop(),!x){r=r.safePop(),n.produce(r,l),u=!0;return}}h[0].end>o&&(o=h[0].end,a=!1)}}function Rf(e,t,a,o,r,n){let s=r.beginRuleCapturedEOL?0:-1,i=[];for(let l=r;l;l=l.pop()){let u=l.getRule(e);u instanceof za&&i.push({rule:u,stack:l})}for(let l=i.pop();l;l=i.pop()){let{ruleScanner:u,findOptions:c}=Bf(l.rule,e,l.stack.endRule,a,o===s),d=u.findNextMatchSync(t,o,c);if(d){if(d.ruleId!==Li){r=l.stack.pop();break}d.captureIndices&&d.captureIndices.length&&(n.produce(l.stack,d.captureIndices[0].start),sa(e,t,a,l.stack,n,l.rule.whileCaptures,d.captureIndices),n.produce(l.stack,d.captureIndices[0].end),s=d.captureIndices[0].end,d.captureIndices[0].end>o&&(o=d.captureIndices[0].end,a=!1))}else{r=l.stack.pop();break}}return{stack:r,linePos:o,anchorPosition:s,isFirstLine:a}}function Mf(e,t,a,o,r,n){let s=Ff(e,t,a,o,r,n),i=e.getInjections();if(i.length===0)return s;let l=Df(i,e,t,a,o,r,n);if(!l)return s;if(!s)return l;let u=s.captureIndices[0].start,c=l.captureIndices[0].start;return c<u||l.priorityMatch&&c===u?l:s}function Ff(e,t,a,o,r,n){let s=r.getRule(e),{ruleScanner:i,findOptions:l}=bi(s,e,r.endRule,a,o===n),u=i.findNextMatchSync(t,o,l);return u?{captureIndices:u.captureIndices,matchedRuleId:u.ruleId}:null}function Df(e,t,a,o,r,n,s){let i=Number.MAX_VALUE,l=null,u,c=0,d=n.contentNameScopesList.getScopeNames();for(let p=0,m=e.length;p<m;p++){let h=e[p];if(!h.matcher(d))continue;let I=t.getRule(h.ruleId),{ruleScanner:x,findOptions:S}=bi(I,t,null,o,r===s),C=x.findNextMatchSync(a,r,S);if(!C)continue;let L=C.captureIndices[0].start;if(!(L>=i)&&(i=L,l=C.captureIndices,u=C.ruleId,c=h.priority,i===r))break}return l?{priorityMatch:c===-1,captureIndices:l,matchedRuleId:u}:null}function bi(e,t,a,o,r){if(Si){let s=e.compile(t,a),i=ki(o,r);return{ruleScanner:s,findOptions:i}}return{ruleScanner:e.compileAG(t,a,o,r),findOptions:0}}function Bf(e,t,a,o,r){if(Si){let s=e.compileWhile(t,a),i=ki(o,r);return{ruleScanner:s,findOptions:i}}return{ruleScanner:e.compileWhileAG(t,a,o,r),findOptions:0}}function ki(e,t){let a=0;return e||(a|=1),t||(a|=4),a}function sa(e,t,a,o,r,n,s){if(n.length===0)return;let i=t.content,l=Math.min(n.length,s.length),u=[],c=s[0].end;for(let d=0;d<l;d++){let p=n[d];if(p===null)continue;let m=s[d];if(m.length===0)continue;if(m.start>c)break;for(;u.length>0&&u[u.length-1].endPos<=m.start;)r.produceFromScopes(u[u.length-1].scopes,u[u.length-1].endPos),u.pop();if(u.length>0?r.produceFromScopes(u[u.length-1].scopes,m.start):r.produce(o,m.start),p.retokenizeCapturedWithRuleId){let I=p.getName(i,s),x=o.contentNameScopesList.pushAttributed(I,e),S=p.getContentName(i,s),C=x.pushAttributed(S,e),L=o.push(p.retokenizeCapturedWithRuleId,m.start,-1,!1,null,x,C),y=e.createOnigString(i.substring(0,m.end));yi(e,y,a&&m.start===0,m.start,L,r,!1,0),wi(y);continue}let h=p.getName(i,s);if(h!==null){let x=(u.length>0?u[u.length-1].scopes:o.contentNameScopesList).pushAttributed(h,e);u.push(new Ef(x,m.end))}}for(;u.length>0;)r.produceFromScopes(u[u.length-1].scopes,u[u.length-1].endPos),u.pop()}var Ef=class{scopes;endPos;constructor(e,t){this.scopes=e,this.endPos=t}};function _f(e,t,a,o,r,n,s,i){return new Of(e,t,a,o,r,n,s,i)}function ii(e,t,a,o,r){let n=Ga(t,Va),s=Ci.getCompiledRuleId(a,o,r.repository);for(let i of n)e.push({debugSelector:t,matcher:i.matcher,ruleId:s,grammar:r,priority:i.priority})}function Va(e,t){if(t.length<e.length)return!1;let a=0;return e.every(o=>{for(let r=a;r<t.length;r++)if(Nf(t[r],o))return a=r+1,!0;return!1})}function Nf(e,t){if(!e)return!1;if(e===t)return!0;let a=t.length;return e.length>a&&e.substr(0,a)===t&&e[a]==="."}var Of=class{constructor(e,t,a,o,r,n,s,i){if(this._rootScopeName=e,this.balancedBracketSelectors=n,this._onigLib=i,this._basicScopeAttributesProvider=new Pf(a,o),this._rootId=-1,this._lastRuleId=0,this._ruleId2desc=[null],this._includedGrammars={},this._grammarRepository=s,this._grammar=li(t,null),this._injections=null,this._tokenTypeMatchers=[],r)for(let l of Object.keys(r)){let u=Ga(l,Va);for(let c of u)this._tokenTypeMatchers.push({matcher:c.matcher,type:r[l]})}}_rootId;_lastRuleId;_ruleId2desc;_includedGrammars;_grammarRepository;_grammar;_injections;_basicScopeAttributesProvider;_tokenTypeMatchers;get themeProvider(){return this._grammarRepository}dispose(){for(let e of this._ruleId2desc)e&&e.dispose()}createOnigScanner(e){return this._onigLib.createOnigScanner(e)}createOnigString(e){return this._onigLib.createOnigString(e)}getMetadataForScope(e){return this._basicScopeAttributesProvider.getBasicScopeAttributes(e)}_collectInjections(){let e={lookup:r=>r===this._rootScopeName?this._grammar:this.getExternalGrammar(r),injections:r=>this._grammarRepository.injections(r)},t=[],a=this._rootScopeName,o=e.lookup(a);if(o){let r=o.injections;if(r)for(let s in r)ii(t,s,r[s],this,o);let n=this._grammarRepository.injections(a);n&&n.forEach(s=>{let i=this.getExternalGrammar(s);if(i){let l=i.injectionSelector;l&&ii(t,l,i,this,i)}})}return t.sort((r,n)=>r.priority-n.priority),t}getInjections(){return this._injections===null&&(this._injections=this._collectInjections()),this._injections}registerRule(e){let t=++this._lastRuleId,a=e(t);return this._ruleId2desc[t]=a,a}getRule(e){return this._ruleId2desc[e]}getExternalGrammar(e,t){if(this._includedGrammars[e])return this._includedGrammars[e];if(this._grammarRepository){let a=this._grammarRepository.lookup(e);if(a)return this._includedGrammars[e]=li(a,t&&t.$base),this._includedGrammars[e]}}tokenizeLine(e,t,a=0){let o=this._tokenize(e,t,!1,a);return{tokens:o.lineTokens.getResult(o.ruleStack,o.lineLength),ruleStack:o.ruleStack,stoppedEarly:o.stoppedEarly}}tokenizeLine2(e,t,a=0){let o=this._tokenize(e,t,!0,a);return{tokens:o.lineTokens.getBinaryResult(o.ruleStack,o.lineLength),ruleStack:o.ruleStack,stoppedEarly:o.stoppedEarly}}_tokenize(e,t,a,o){this._rootId===-1&&(this._rootId=Ci.getCompiledRuleId(this._grammar.repository.$self,this,this._grammar.repository),this.getInjections());let r;if(!t||t===or.NULL){r=!0;let u=this._basicScopeAttributesProvider.getDefaultAttributes(),c=this.themeProvider.getDefaults(),d=mt.set(0,u.languageId,u.tokenType,null,c.fontStyle,c.foregroundId,c.backgroundId),p=this.getRule(this._rootId).getName(null,null),m;p?m=ia.createRootAndLookUpScopeName(p,d,this):m=ia.createRoot("unknown",d),t=new or(null,this._rootId,-1,-1,!1,null,m,m)}else r=!1,t.reset();e=e+`
70
- `;let n=this.createOnigString(e),s=n.content.length,i=new Hf(a,e,this._tokenTypeMatchers,this.balancedBracketSelectors),l=yi(this,n,r,0,t,i,!0,o);return wi(n),{lineLength:s,lineTokens:i,ruleStack:l.stack,stoppedEarly:l.stoppedEarly}}};function li(e,t){return e=af(e),e.repository=e.repository||{},e.repository.$self={$vscodeTextmateLocation:e.$vscodeTextmateLocation,patterns:e.patterns,name:e.scopeName},e.repository.$base=t||e.repository.$self,e}var ia=class je{constructor(t,a,o){this.parent=t,this.scopePath=a,this.tokenAttributes=o}static fromExtension(t,a){let o=t,r=t?.scopePath??null;for(let n of a)r=Qo.push(r,n.scopeNames),o=new je(o,r,n.encodedTokenAttributes);return o}static createRoot(t,a){return new je(null,new Qo(null,t),a)}static createRootAndLookUpScopeName(t,a,o){let r=o.getMetadataForScope(t),n=new Qo(null,t),s=o.themeProvider.themeMatch(n),i=je.mergeAttributes(a,r,s);return new je(null,n,i)}get scopeName(){return this.scopePath.scopeName}toString(){return this.getScopeNames().join(" ")}equals(t){return je.equals(this,t)}static equals(t,a){do{if(t===a||!t&&!a)return!0;if(!t||!a||t.scopeName!==a.scopeName||t.tokenAttributes!==a.tokenAttributes)return!1;t=t.parent,a=a.parent}while(!0)}static mergeAttributes(t,a,o){let r=-1,n=0,s=0;return o!==null&&(r=o.fontStyle,n=o.foregroundId,s=o.backgroundId),mt.set(t,a.languageId,a.tokenType,null,r,n,s)}pushAttributed(t,a){if(t===null)return this;if(t.indexOf(" ")===-1)return je._pushAttributed(this,t,a);let o=t.split(/ /g),r=this;for(let n of o)r=je._pushAttributed(r,n,a);return r}static _pushAttributed(t,a,o){let r=o.getMetadataForScope(a),n=t.scopePath.push(a),s=o.themeProvider.themeMatch(n),i=je.mergeAttributes(t.tokenAttributes,r,s);return new je(t,n,i)}getScopeNames(){return this.scopePath.getSegments()}getExtensionIfDefined(t){let a=[],o=this;for(;o&&o!==t;)a.push({encodedTokenAttributes:o.tokenAttributes,scopeNames:o.scopePath.getExtensionIfDefined(o.parent?.scopePath??null)}),o=o.parent;return o===t?a.reverse():void 0}},or=class pt{constructor(t,a,o,r,n,s,i,l){this.parent=t,this.ruleId=a,this.beginRuleCapturedEOL=n,this.endRule=s,this.nameScopesList=i,this.contentNameScopesList=l,this.depth=this.parent?this.parent.depth+1:1,this._enterPos=o,this._anchorPos=r}_stackElementBrand=void 0;static NULL=new pt(null,0,0,0,!1,null,null,null);_enterPos;_anchorPos;depth;equals(t){return t===null?!1:pt._equals(this,t)}static _equals(t,a){return t===a?!0:this._structuralEquals(t,a)?ia.equals(t.contentNameScopesList,a.contentNameScopesList):!1}static _structuralEquals(t,a){do{if(t===a||!t&&!a)return!0;if(!t||!a||t.depth!==a.depth||t.ruleId!==a.ruleId||t.endRule!==a.endRule)return!1;t=t.parent,a=a.parent}while(!0)}clone(){return this}static _reset(t){for(;t;)t._enterPos=-1,t._anchorPos=-1,t=t.parent}reset(){pt._reset(this)}pop(){return this.parent}safePop(){return this.parent?this.parent:this}push(t,a,o,r,n,s,i){return new pt(this,t,a,o,r,n,s,i)}getEnterPos(){return this._enterPos}getAnchorPos(){return this._anchorPos}getRule(t){return t.getRule(this.ruleId)}toString(){let t=[];return this._writeString(t,0),"["+t.join(",")+"]"}_writeString(t,a){return this.parent&&(a=this.parent._writeString(t,a)),t[a++]=`(${this.ruleId}, ${this.nameScopesList?.toString()}, ${this.contentNameScopesList?.toString()})`,a}withContentNameScopesList(t){return this.contentNameScopesList===t?this:this.parent.push(this.ruleId,this._enterPos,this._anchorPos,this.beginRuleCapturedEOL,this.endRule,this.nameScopesList,t)}withEndRule(t){return this.endRule===t?this:new pt(this.parent,this.ruleId,this._enterPos,this._anchorPos,this.beginRuleCapturedEOL,t,this.nameScopesList,this.contentNameScopesList)}hasSameRuleAs(t){let a=this;for(;a&&a._enterPos===t._enterPos;){if(a.ruleId===t.ruleId)return!0;a=a.parent}return!1}toStateStackFrame(){return{ruleId:this.ruleId,beginRuleCapturedEOL:this.beginRuleCapturedEOL,endRule:this.endRule,nameScopesList:this.nameScopesList?.getExtensionIfDefined(this.parent?.nameScopesList??null)??[],contentNameScopesList:this.contentNameScopesList?.getExtensionIfDefined(this.nameScopesList)??[]}}static pushFrame(t,a){let o=ia.fromExtension(t?.nameScopesList??null,a.nameScopesList);return new pt(t,a.ruleId,a.enterPos??-1,a.anchorPos??-1,a.beginRuleCapturedEOL,a.endRule,o,ia.fromExtension(o,a.contentNameScopesList))}},Uf=class{balancedBracketScopes;unbalancedBracketScopes;allowAny=!1;constructor(e,t){this.balancedBracketScopes=e.flatMap(a=>a==="*"?(this.allowAny=!0,[]):Ga(a,Va).map(o=>o.matcher)),this.unbalancedBracketScopes=t.flatMap(a=>Ga(a,Va).map(o=>o.matcher))}get matchesAlways(){return this.allowAny&&this.unbalancedBracketScopes.length===0}get matchesNever(){return this.balancedBracketScopes.length===0&&!this.allowAny}match(e){for(let t of this.unbalancedBracketScopes)if(t(e))return!1;for(let t of this.balancedBracketScopes)if(t(e))return!0;return this.allowAny}},Hf=class{constructor(e,t,a,o){this.balancedBracketSelectors=o,this._emitBinaryTokens=e,this._tokenTypeOverrides=a,this._lineText=null,this._tokens=[],this._binaryTokens=[],this._lastTokenEndIndex=0}_emitBinaryTokens;_lineText;_tokens;_binaryTokens;_lastTokenEndIndex;_tokenTypeOverrides;produce(e,t){this.produceFromScopes(e.contentNameScopesList,t)}produceFromScopes(e,t){if(this._lastTokenEndIndex>=t)return;if(this._emitBinaryTokens){let o=e?.tokenAttributes??0,r=!1;if(this.balancedBracketSelectors?.matchesAlways&&(r=!0),this._tokenTypeOverrides.length>0||this.balancedBracketSelectors&&!this.balancedBracketSelectors.matchesAlways&&!this.balancedBracketSelectors.matchesNever){let n=e?.getScopeNames()??[];for(let s of this._tokenTypeOverrides)s.matcher(n)&&(o=mt.set(o,0,s.type,null,-1,0,0));this.balancedBracketSelectors&&(r=this.balancedBracketSelectors.match(n))}if(r&&(o=mt.set(o,0,8,r,-1,0,0)),this._binaryTokens.length>0&&this._binaryTokens[this._binaryTokens.length-1]===o){this._lastTokenEndIndex=t;return}this._binaryTokens.push(this._lastTokenEndIndex),this._binaryTokens.push(o),this._lastTokenEndIndex=t;return}let a=e?.getScopeNames()??[];this._tokens.push({startIndex:this._lastTokenEndIndex,endIndex:t,scopes:a}),this._lastTokenEndIndex=t}getResult(e,t){return this._tokens.length>0&&this._tokens[this._tokens.length-1].startIndex===t-1&&this._tokens.pop(),this._tokens.length===0&&(this._lastTokenEndIndex=-1,this.produce(e,t),this._tokens[this._tokens.length-1].startIndex=0),this._tokens}getBinaryResult(e,t){this._binaryTokens.length>0&&this._binaryTokens[this._binaryTokens.length-2]===t-1&&(this._binaryTokens.pop(),this._binaryTokens.pop()),this._binaryTokens.length===0&&(this._lastTokenEndIndex=-1,this.produce(e,t),this._binaryTokens[this._binaryTokens.length-2]=0);let a=new Uint32Array(this._binaryTokens.length);for(let o=0,r=this._binaryTokens.length;o<r;o++)a[o]=this._binaryTokens[o];return a}},qf=class{constructor(e,t){this._onigLib=t,this._theme=e}_grammars=new Map;_rawGrammars=new Map;_injectionGrammars=new Map;_theme;dispose(){for(let e of this._grammars.values())e.dispose()}setTheme(e){this._theme=e}getColorMap(){return this._theme.getColorMap()}addGrammar(e,t){this._rawGrammars.set(e.scopeName,e),t&&this._injectionGrammars.set(e.scopeName,t)}lookup(e){return this._rawGrammars.get(e)}injections(e){return this._injectionGrammars.get(e)}getDefaults(){return this._theme.getDefaults()}themeMatch(e){return this._theme.match(e)}grammarForScopeName(e,t,a,o,r){if(!this._grammars.has(e)){let n=this._rawGrammars.get(e);if(!n)return null;this._grammars.set(e,_f(e,n,t,a,o,r,this,this._onigLib))}return this._grammars.get(e)}},Ti=class{_options;_syncRegistry;_ensureGrammarCache;constructor(e){this._options=e,this._syncRegistry=new qf(la.createFromRawTheme(e.theme,e.colorMap),e.onigLib),this._ensureGrammarCache=new Map}dispose(){this._syncRegistry.dispose()}setTheme(e,t){this._syncRegistry.setTheme(la.createFromRawTheme(e,t))}getColorMap(){return this._syncRegistry.getColorMap()}loadGrammarWithEmbeddedLanguages(e,t,a){return this.loadGrammarWithConfiguration(e,t,{embeddedLanguages:a})}loadGrammarWithConfiguration(e,t,a){return this._loadGrammar(e,t,a.embeddedLanguages,a.tokenTypes,new Uf(a.balancedBracketSelectors||[],a.unbalancedBracketSelectors||[]))}loadGrammar(e){return this._loadGrammar(e,0,null,null,null)}_loadGrammar(e,t,a,o,r){let n=new wf(this._syncRegistry,e);for(;n.Q.length>0;)n.Q.map(s=>this._loadSingleGrammar(s.scopeName)),n.processQueue();return this._grammarForScopeName(e,t,a,o,r)}_loadSingleGrammar(e){this._ensureGrammarCache.has(e)||(this._doLoadSingleGrammar(e),this._ensureGrammarCache.set(e,!0))}_doLoadSingleGrammar(e){let t=this._options.loadGrammar(e);if(t){let a=typeof this._options.getInjections=="function"?this._options.getInjections(e):void 0;this._syncRegistry.addGrammar(t,a)}}addGrammar(e,t=[],a=0,o=null){return this._syncRegistry.addGrammar(e,t),this._grammarForScopeName(e.scopeName,a,o)}_grammarForScopeName(e,t=0,a=null,o=null,r=null){return this._syncRegistry.grammarForScopeName(e,t,a,o,r)}},$a=or.NULL;f();f();f();f();f();f();var Wf=/["&'<>`]/g,Gf=/[\uD800-\uDBFF][\uDC00-\uDFFF]/g,jf=/[\x01-\t\v\f\x0E-\x1F\x7F\x81\x8D\x8F\x90\x9D\xA0-\uFFFF]/g,zf=/[|\\{}()[\]^$+*?.]/g,vi=new WeakMap;function Pi(e,t){if(e=e.replace(t.subset?Vf(t.subset):Wf,o),t.subset||t.escapeOnly)return e;return e.replace(Gf,a).replace(jf,o);function a(r,n,s){return t.format((r.charCodeAt(0)-55296)*1024+r.charCodeAt(1)-56320+65536,s.charCodeAt(n+2),t)}function o(r,n,s){return t.format(r.charCodeAt(0),s.charCodeAt(n+1),t)}}function Vf(e){let t=vi.get(e);return t||(t=$f(e),vi.set(e,t)),t}function $f(e){let t=[],a=-1;for(;++a<e.length;)t.push(e[a].replace(zf,"\\$&"));return new RegExp("(?:"+t.join("|")+")","g")}f();f();var Xf=/[\dA-Fa-f]/;function Ai(e,t,a){let o="&#x"+e.toString(16).toUpperCase();return a&&t&&!Xf.test(String.fromCharCode(t))?o:o+";"}f();var Kf=/\d/;function Ri(e,t,a){let o="&#"+String(e);return a&&t&&!Kf.test(String.fromCharCode(t))?o:o+";"}f();f();var Mi=["AElig","AMP","Aacute","Acirc","Agrave","Aring","Atilde","Auml","COPY","Ccedil","ETH","Eacute","Ecirc","Egrave","Euml","GT","Iacute","Icirc","Igrave","Iuml","LT","Ntilde","Oacute","Ocirc","Ograve","Oslash","Otilde","Ouml","QUOT","REG","THORN","Uacute","Ucirc","Ugrave","Uuml","Yacute","aacute","acirc","acute","aelig","agrave","amp","aring","atilde","auml","brvbar","ccedil","cedil","cent","copy","curren","deg","divide","eacute","ecirc","egrave","eth","euml","frac12","frac14","frac34","gt","iacute","icirc","iexcl","igrave","iquest","iuml","laquo","lt","macr","micro","middot","nbsp","not","ntilde","oacute","ocirc","ograve","ordf","ordm","oslash","otilde","ouml","para","plusmn","pound","quot","raquo","reg","sect","shy","sup1","sup2","sup3","szlig","thorn","times","uacute","ucirc","ugrave","uml","uuml","yacute","yen","yuml"];f();var Xa={nbsp:"\xA0",iexcl:"\xA1",cent:"\xA2",pound:"\xA3",curren:"\xA4",yen:"\xA5",brvbar:"\xA6",sect:"\xA7",uml:"\xA8",copy:"\xA9",ordf:"\xAA",laquo:"\xAB",not:"\xAC",shy:"\xAD",reg:"\xAE",macr:"\xAF",deg:"\xB0",plusmn:"\xB1",sup2:"\xB2",sup3:"\xB3",acute:"\xB4",micro:"\xB5",para:"\xB6",middot:"\xB7",cedil:"\xB8",sup1:"\xB9",ordm:"\xBA",raquo:"\xBB",frac14:"\xBC",frac12:"\xBD",frac34:"\xBE",iquest:"\xBF",Agrave:"\xC0",Aacute:"\xC1",Acirc:"\xC2",Atilde:"\xC3",Auml:"\xC4",Aring:"\xC5",AElig:"\xC6",Ccedil:"\xC7",Egrave:"\xC8",Eacute:"\xC9",Ecirc:"\xCA",Euml:"\xCB",Igrave:"\xCC",Iacute:"\xCD",Icirc:"\xCE",Iuml:"\xCF",ETH:"\xD0",Ntilde:"\xD1",Ograve:"\xD2",Oacute:"\xD3",Ocirc:"\xD4",Otilde:"\xD5",Ouml:"\xD6",times:"\xD7",Oslash:"\xD8",Ugrave:"\xD9",Uacute:"\xDA",Ucirc:"\xDB",Uuml:"\xDC",Yacute:"\xDD",THORN:"\xDE",szlig:"\xDF",agrave:"\xE0",aacute:"\xE1",acirc:"\xE2",atilde:"\xE3",auml:"\xE4",aring:"\xE5",aelig:"\xE6",ccedil:"\xE7",egrave:"\xE8",eacute:"\xE9",ecirc:"\xEA",euml:"\xEB",igrave:"\xEC",iacute:"\xED",icirc:"\xEE",iuml:"\xEF",eth:"\xF0",ntilde:"\xF1",ograve:"\xF2",oacute:"\xF3",ocirc:"\xF4",otilde:"\xF5",ouml:"\xF6",divide:"\xF7",oslash:"\xF8",ugrave:"\xF9",uacute:"\xFA",ucirc:"\xFB",uuml:"\xFC",yacute:"\xFD",thorn:"\xFE",yuml:"\xFF",fnof:"\u0192",Alpha:"\u0391",Beta:"\u0392",Gamma:"\u0393",Delta:"\u0394",Epsilon:"\u0395",Zeta:"\u0396",Eta:"\u0397",Theta:"\u0398",Iota:"\u0399",Kappa:"\u039A",Lambda:"\u039B",Mu:"\u039C",Nu:"\u039D",Xi:"\u039E",Omicron:"\u039F",Pi:"\u03A0",Rho:"\u03A1",Sigma:"\u03A3",Tau:"\u03A4",Upsilon:"\u03A5",Phi:"\u03A6",Chi:"\u03A7",Psi:"\u03A8",Omega:"\u03A9",alpha:"\u03B1",beta:"\u03B2",gamma:"\u03B3",delta:"\u03B4",epsilon:"\u03B5",zeta:"\u03B6",eta:"\u03B7",theta:"\u03B8",iota:"\u03B9",kappa:"\u03BA",lambda:"\u03BB",mu:"\u03BC",nu:"\u03BD",xi:"\u03BE",omicron:"\u03BF",pi:"\u03C0",rho:"\u03C1",sigmaf:"\u03C2",sigma:"\u03C3",tau:"\u03C4",upsilon:"\u03C5",phi:"\u03C6",chi:"\u03C7",psi:"\u03C8",omega:"\u03C9",thetasym:"\u03D1",upsih:"\u03D2",piv:"\u03D6",bull:"\u2022",hellip:"\u2026",prime:"\u2032",Prime:"\u2033",oline:"\u203E",frasl:"\u2044",weierp:"\u2118",image:"\u2111",real:"\u211C",trade:"\u2122",alefsym:"\u2135",larr:"\u2190",uarr:"\u2191",rarr:"\u2192",darr:"\u2193",harr:"\u2194",crarr:"\u21B5",lArr:"\u21D0",uArr:"\u21D1",rArr:"\u21D2",dArr:"\u21D3",hArr:"\u21D4",forall:"\u2200",part:"\u2202",exist:"\u2203",empty:"\u2205",nabla:"\u2207",isin:"\u2208",notin:"\u2209",ni:"\u220B",prod:"\u220F",sum:"\u2211",minus:"\u2212",lowast:"\u2217",radic:"\u221A",prop:"\u221D",infin:"\u221E",ang:"\u2220",and:"\u2227",or:"\u2228",cap:"\u2229",cup:"\u222A",int:"\u222B",there4:"\u2234",sim:"\u223C",cong:"\u2245",asymp:"\u2248",ne:"\u2260",equiv:"\u2261",le:"\u2264",ge:"\u2265",sub:"\u2282",sup:"\u2283",nsub:"\u2284",sube:"\u2286",supe:"\u2287",oplus:"\u2295",otimes:"\u2297",perp:"\u22A5",sdot:"\u22C5",lceil:"\u2308",rceil:"\u2309",lfloor:"\u230A",rfloor:"\u230B",lang:"\u2329",rang:"\u232A",loz:"\u25CA",spades:"\u2660",clubs:"\u2663",hearts:"\u2665",diams:"\u2666",quot:'"',amp:"&",lt:"<",gt:">",OElig:"\u0152",oelig:"\u0153",Scaron:"\u0160",scaron:"\u0161",Yuml:"\u0178",circ:"\u02C6",tilde:"\u02DC",ensp:"\u2002",emsp:"\u2003",thinsp:"\u2009",zwnj:"\u200C",zwj:"\u200D",lrm:"\u200E",rlm:"\u200F",ndash:"\u2013",mdash:"\u2014",lsquo:"\u2018",rsquo:"\u2019",sbquo:"\u201A",ldquo:"\u201C",rdquo:"\u201D",bdquo:"\u201E",dagger:"\u2020",Dagger:"\u2021",permil:"\u2030",lsaquo:"\u2039",rsaquo:"\u203A",euro:"\u20AC"};f();var Fi=["cent","copy","divide","gt","lt","not","para","times"];var Di={}.hasOwnProperty,nr={},Ka;for(Ka in Xa)Di.call(Xa,Ka)&&(nr[Xa[Ka]]=Ka);var Qf=/[^\dA-Za-z]/;function Bi(e,t,a,o){let r=String.fromCharCode(e);if(Di.call(nr,r)){let n=nr[r],s="&"+n;return a&&Mi.includes(n)&&!Fi.includes(n)&&(!o||t&&t!==61&&Qf.test(String.fromCharCode(t)))?s:s+";"}return""}function Ei(e,t,a){let o=Ai(e,t,a.omitOptionalSemicolons),r;if((a.useNamedReferences||a.useShortestReferences)&&(r=Bi(e,t,a.omitOptionalSemicolons,a.attribute)),(a.useShortestReferences||!r)&&a.useShortestReferences){let n=Ri(e,t,a.omitOptionalSemicolons);n.length<o.length&&(o=n)}return r&&(!a.useShortestReferences||r.length<o.length)?r:o}function Qe(e,t){return Pi(e,Object.assign({format:Ei},t))}var Jf=/^>|^->|<!--|-->|--!>|<!-$/g,Zf=[">"],Yf=["<",">"];function _i(e,t,a,o){return o.settings.bogusComments?"<?"+Qe(e.value,Object.assign({},o.settings.characterReferences,{subset:Zf}))+">":"<!--"+e.value.replace(Jf,r)+"-->";function r(n){return Qe(n,Object.assign({},o.settings.characterReferences,{subset:Yf}))}}f();function Ni(e,t,a,o){return"<!"+(o.settings.upperDoctype?"DOCTYPE":"doctype")+(o.settings.tightDoctype?"":" ")+"html>"}f();f();f();var ie=Oi(1),sr=Oi(-1),ep=[];function Oi(e){return t;function t(a,o,r){let n=a?a.children:ep,s=(o||0)+e,i=n[s];if(!r)for(;i&&bt(i);)s+=e,i=n[s];return i}}f();var tp={}.hasOwnProperty;function Qa(e){return t;function t(a,o,r){return tp.call(e,a.tagName)&&e[a.tagName](a,o,r)}}var pa=Qa({body:op,caption:ir,colgroup:ir,dd:ip,dt:sp,head:ir,html:ap,li:np,optgroup:lp,option:up,p:rp,rp:Ui,rt:Ui,tbody:cp,td:Hi,tfoot:fp,th:Hi,thead:dp,tr:pp});function ir(e,t,a){let o=ie(a,t,!0);return!o||o.type!=="comment"&&!(o.type==="text"&&bt(o.value.charAt(0)))}function ap(e,t,a){let o=ie(a,t);return!o||o.type!=="comment"}function op(e,t,a){let o=ie(a,t);return!o||o.type!=="comment"}function rp(e,t,a){let o=ie(a,t);return o?o.type==="element"&&(o.tagName==="address"||o.tagName==="article"||o.tagName==="aside"||o.tagName==="blockquote"||o.tagName==="details"||o.tagName==="div"||o.tagName==="dl"||o.tagName==="fieldset"||o.tagName==="figcaption"||o.tagName==="figure"||o.tagName==="footer"||o.tagName==="form"||o.tagName==="h1"||o.tagName==="h2"||o.tagName==="h3"||o.tagName==="h4"||o.tagName==="h5"||o.tagName==="h6"||o.tagName==="header"||o.tagName==="hgroup"||o.tagName==="hr"||o.tagName==="main"||o.tagName==="menu"||o.tagName==="nav"||o.tagName==="ol"||o.tagName==="p"||o.tagName==="pre"||o.tagName==="section"||o.tagName==="table"||o.tagName==="ul"):!a||!(a.type==="element"&&(a.tagName==="a"||a.tagName==="audio"||a.tagName==="del"||a.tagName==="ins"||a.tagName==="map"||a.tagName==="noscript"||a.tagName==="video"))}function np(e,t,a){let o=ie(a,t);return!o||o.type==="element"&&o.tagName==="li"}function sp(e,t,a){let o=ie(a,t);return!!(o&&o.type==="element"&&(o.tagName==="dt"||o.tagName==="dd"))}function ip(e,t,a){let o=ie(a,t);return!o||o.type==="element"&&(o.tagName==="dt"||o.tagName==="dd")}function Ui(e,t,a){let o=ie(a,t);return!o||o.type==="element"&&(o.tagName==="rp"||o.tagName==="rt")}function lp(e,t,a){let o=ie(a,t);return!o||o.type==="element"&&o.tagName==="optgroup"}function up(e,t,a){let o=ie(a,t);return!o||o.type==="element"&&(o.tagName==="option"||o.tagName==="optgroup")}function dp(e,t,a){let o=ie(a,t);return!!(o&&o.type==="element"&&(o.tagName==="tbody"||o.tagName==="tfoot"))}function cp(e,t,a){let o=ie(a,t);return!o||o.type==="element"&&(o.tagName==="tbody"||o.tagName==="tfoot")}function fp(e,t,a){return!ie(a,t)}function pp(e,t,a){let o=ie(a,t);return!o||o.type==="element"&&o.tagName==="tr"}function Hi(e,t,a){let o=ie(a,t);return!o||o.type==="element"&&(o.tagName==="td"||o.tagName==="th")}f();var qi=Qa({body:gp,colgroup:wp,head:hp,html:mp,tbody:xp});function mp(e){let t=ie(e,-1);return!t||t.type!=="comment"}function hp(e){let t=new Set;for(let o of e.children)if(o.type==="element"&&(o.tagName==="base"||o.tagName==="title")){if(t.has(o.tagName))return!1;t.add(o.tagName)}let a=e.children[0];return!a||a.type==="element"}function gp(e){let t=ie(e,-1,!0);return!t||t.type!=="comment"&&!(t.type==="text"&&bt(t.value.charAt(0)))&&!(t.type==="element"&&(t.tagName==="meta"||t.tagName==="link"||t.tagName==="script"||t.tagName==="style"||t.tagName==="template"))}function wp(e,t,a){let o=sr(a,t),r=ie(e,-1,!0);return a&&o&&o.type==="element"&&o.tagName==="colgroup"&&pa(o,a.children.indexOf(o),a)?!1:!!(r&&r.type==="element"&&r.tagName==="col")}function xp(e,t,a){let o=sr(a,t),r=ie(e,-1);return a&&o&&o.type==="element"&&(o.tagName==="thead"||o.tagName==="tbody")&&pa(o,a.children.indexOf(o),a)?!1:!!(r&&r.type==="element"&&r.tagName==="tr")}var Ja={name:[[`
68
+ `):e}function zn(e){let{apiKey:t,apiUrl:a,source:o,systemPrompt:r,maxSteps:n,beforeRequest:s,mcpServerUrl:i,resolveConfig:l,debug:u,webSearch:c}=e,d=qe("chat",u);return async function(m){d("\u2192 POST",m.url);try{let h=await m.json(),I=h.messages??[],x=h.sessionId,S=h.modelContext,L=r,C=typeof h.extra=="object"&&h.extra!==null&&!Array.isArray(h.extra)?h.extra:void 0,k=h.visitorContext??null,T=Gn(m),P={geo:T,client:k};if(d("body parsed \u2014 messages:",I.length,"sessionId:",x??"(none)","geo:",JSON.stringify(T)),s){d("running beforeRequest hook");try{let D=await s({messages:I,sessionId:x,modelContext:S,request:m,visitor:P});D&&(D.messages&&(I=D.messages),D.systemPrompt!==void 0&&(L=D.systemPrompt),D.sessionId!==void 0&&(x=D.sessionId),D.modelContext!==void 0&&(S=D.modelContext)),d("beforeRequest hook done \u2014 messages:",I.length,"sessionId:",x??"(none)")}catch(D){console.error("[waniwani:chat] beforeRequest hook error:",D);let q=D instanceof Pe?D.status:400,y=D instanceof Error?D.message:"Request rejected";return d("\u2190 returning",q,"from hook error"),Response.json({error:y},{status:q})}}let M=i??(await l()).mcpServerUrl;d("mcpServerUrl:",M),L=jn(L,S);let A=`${a}/api/mcp/chat`;d("forwarding to",A);let E=m.headers.get("user-agent"),F=await fetch(A,{method:"POST",headers:{"Content-Type":"application/json","X-WaniWani-Stream-Protocol":"2",...t?{Authorization:`Bearer ${t}`}:{},...E?{"X-Client-User-Agent":E}:{}},body:JSON.stringify({messages:I,mcpServerUrl:M,sessionId:x,source:o,systemPrompt:L,maxSteps:n,visitor:P,webSearch:c,...C&&{extra:C}}),signal:m.signal});if(d("upstream response status:",F.status),!F.ok){let D=await F.text().catch(()=>"");return d("\u2190 returning",F.status,"upstream error:",D),new Response(D,{status:F.status,headers:{"Content-Type":F.headers.get("Content-Type")??"application/json"}})}let _=new Headers({"Content-Type":F.headers.get("Content-Type")??"text/event-stream"}),v=F.headers.get("x-session-id");return v&&_.set("x-session-id",v),d("\u2190 streaming response",F.status,"body null?",F.body===null),new Response(F.body,{status:F.status,headers:_})}catch(h){console.error("[waniwani:chat] handler error:",h);let I=h instanceof Error?h.message:"Unknown error occurred",x=h instanceof Pe?h.status:500;return d("\u2190 returning",x,"from caught error"),Response.json({error:I},{status:x})}}}f();function Vn(e){let{mcpServerUrl:t,resolveConfig:a,debug:o}=e,r=qe("resource",o);return async function(s){r("\u2192 GET",s.toString());try{let i=s.searchParams.get("uri");if(r("uri:",i??"(missing)"),!i)return r("\u2190 400 missing uri"),Response.json({error:"Missing uri query parameter"},{status:400});let l=t??(await a()).mcpServerUrl;r("mcpServerUrl:",l);let u,c;try{[{createMCPClient:u},{StreamableHTTPClientTransport:c}]=await Promise.all([import("@ai-sdk/mcp"),import("@modelcontextprotocol/sdk/client/streamableHttp.js")]),r("MCP deps loaded")}catch(p){return console.error("[waniwani:resource] MCP deps import failed:",p),Response.json({error:"MCP resource handler requires @ai-sdk/mcp and @modelcontextprotocol/sdk. Install them to enable resource serving."},{status:501})}r("creating MCP client for",l);let d=await u({transport:new c(new URL(l))});try{r("reading resource:",i);let p=await d.readResource({uri:i});r("resource contents count:",p.contents.length);let m=p.contents[0];if(!m)return r("\u2190 404 resource not found"),Response.json({error:"Resource not found"},{status:404});let h;return"text"in m&&typeof m.text=="string"?h=m.text:"blob"in m&&typeof m.blob=="string"&&(h=atob(m.blob)),h?(r("\u2190 200 HTML length:",h.length),new Response(h,{headers:{"Content-Type":"text/html","Cache-Control":"private, max-age=300"}})):(r("\u2190 404 resource has no content, keys:",Object.keys(m)),Response.json({error:"Resource has no content"},{status:404}))}finally{await d.close(),r("MCP client closed")}}catch(i){console.error("[waniwani:resource] handler error:",i);let l=i instanceof Error?i.message:"Unknown error occurred",u=i instanceof Pe?i.status:500;return r("\u2190 returning",u,"from caught error"),Response.json({error:l},{status:u})}}}f();function $n(e){let{mcpServerUrl:t,resolveConfig:a,debug:o,source:r}=e,n=qe("tool",o);return async function(i){n("\u2192 POST",i.url);try{let l=await i.json(),{name:u,arguments:c}=l,d=i.headers.get("x-session-id")?.trim();if(!u||typeof u!="string")return n("\u2190 400 missing tool name"),Response.json({error:"Missing tool name"},{status:400});n("tool:",u,"args:",JSON.stringify(c),"sessionId:",d||"(none)");let p=t??(await a()).mcpServerUrl;n("mcpServerUrl:",p);let m,h;try{[{Client:m},{StreamableHTTPClientTransport:h}]=await Promise.all([import("@modelcontextprotocol/sdk/client/index.js"),import("@modelcontextprotocol/sdk/client/streamableHttp.js")]),n("MCP deps loaded")}catch(S){return console.error("[waniwani:tool] MCP deps import failed:",S),Response.json({error:"MCP tool handler requires @modelcontextprotocol/sdk. Install it to enable tool calls."},{status:501})}n("creating MCP client for",p);let I=new h(new URL(p)),x=new m({name:"waniwani-tool-caller",version:"1.0.0"});await x.connect(I);try{n("calling tool:",u);let S={};d&&(S["waniwani/sessionId"]=d),r&&(S["waniwani/source"]=r);let L=await x.callTool({name:u,arguments:c??{},...Object.keys(S).length>0?{_meta:S}:{}});return n("tool result received"),Response.json({content:L.content,structuredContent:L.structuredContent,_meta:L._meta,isError:L.isError})}finally{await x.close(),n("MCP client closed")}}catch(l){console.error("[waniwani:tool] handler error:",l);let u=l instanceof Error?l.message:"Unknown error occurred",c=l instanceof Pe?l.status:500;return n("\u2190 returning",c,"from caught error"),Response.json({error:u},{status:c})}}}f();function Xn(e){let{mcpServerUrl:t,resolveConfig:a,debug:o}=e,r=qe("tools-list",o);return async function(){r("\u2192 GET tools/list");try{let s=t??(await a()).mcpServerUrl;r("mcpServerUrl:",s);let i,l;try{[{createMCPClient:i},{StreamableHTTPClientTransport:l}]=await Promise.all([import("@ai-sdk/mcp"),import("@modelcontextprotocol/sdk/client/streamableHttp.js")]),r("MCP deps loaded")}catch(c){return console.error("[waniwani:tools-list] MCP deps import failed:",c),Response.json({error:"MCP tools list handler requires @ai-sdk/mcp and @modelcontextprotocol/sdk. Install them to enable tool discovery."},{status:501})}r("creating MCP client for",s);let u=await i({transport:new l(new URL(s))});try{r("listing tools");let c=await u.listTools();r("tools count:",c.tools.length);let d={tools:c.tools.map(p=>({name:p.name,...p.title!==void 0&&{title:p.title},...p.description!==void 0&&{description:p.description},...p.inputSchema!==void 0&&{inputSchema:p.inputSchema},...p.outputSchema!==void 0&&{outputSchema:p.outputSchema},...p.annotations!==void 0&&{annotations:p.annotations},...p._meta!==void 0&&{_meta:p._meta}})),...c.nextCursor!==void 0&&{nextCursor:c.nextCursor}};return r("\u2190 200"),Response.json(d,{headers:{"Cache-Control":"private, max-age=60"}})}finally{await u.close(),r("MCP client closed")}}catch(s){console.error("[waniwani:tools-list] handler error:",s);let i=s instanceof Error?s.message:"Unknown error occurred",l=s instanceof Pe?s.status:500;return r("\u2190 returning",l,"from caught error"),Response.json({error:i},{status:l})}}}f();var wd=300*1e3;function Kn(e,t){let a=null,o=null;return async function(){if(a&&Date.now()<a.expiresAt)return a.config;if(o)return o;o=(async()=>{if(!t)throw new Pe("WANIWANI_API_KEY is required for createChatHandler",401);let n=await fetch(`${e}/api/mcp/environments/config`,{method:"GET",headers:{Authorization:`Bearer ${t}`,"Content-Type":"application/json"}});if(!n.ok){let i=await n.text().catch(()=>"");throw new Pe(`Failed to resolve MCP environment config: ${n.status} ${i}`,n.status)}let s=await n.json();return a={config:s,expiresAt:Date.now()+wd},s})();try{return await o}finally{o=null}}}var xd="https://app.waniwani.ai";function Qn(e={}){let{apiKey:t=process.env.WANIWANI_API_KEY,apiUrl:a=xd,source:o,systemPrompt:r,maxSteps:n=5,beforeRequest:s,mcpServerUrl:i,debug:l=!1,webSearch:u}=e,c=qe("router",l),d=qn(),p=Wn(d),m=Kn(a,t),h=zn({apiKey:t,apiUrl:a,source:o,systemPrompt:r,maxSteps:n,beforeRequest:s,mcpServerUrl:i,resolveConfig:m,debug:l,webSearch:Hn(u)}),I=Vn({mcpServerUrl:i,resolveConfig:m,debug:l}),x=Xn({mcpServerUrl:i,resolveConfig:m,debug:l}),S=$n({mcpServerUrl:i,resolveConfig:m,debug:l,source:o}),L=process.env.WANIWANI_EVAL==="1";async function C(M){c("\u2192 GET",M.url);try{let A=new URL(M.url),F=A.pathname.replace(/\/$/,"").split("/").filter(Boolean).at(-1);if(c("pathname:",A.pathname,"subRoute:",F),L&&F==="scenarios"){c("dispatching to scenarios handler (proxy to app API)");try{let v=await(await fetch(`${a}/api/mcp/scenarios`,{headers:{...t?{Authorization:`Bearer ${t}`}:{}}})).json();return p(v.data??v,200)}catch{return p([],200)}}if(F==="resource"){c("dispatching to resource handler");let _=await I(A);return c("\u2190 resource handler returned",_.status),d(_)}if(F==="config")return c("dispatching to config handler"),p({debug:l,eval:L},200);if(F==="tools"){c("dispatching to tools-list handler");let _=await x();return c("\u2190 tools-list handler returned",_.status),d(_)}return c("\u2190 404 no matching sub-route for",F),p({error:"Not found"},404)}catch(A){console.error("[waniwani:router] GET handler error:",A);let E=A instanceof Error?A.message:"Unknown error occurred";return c("\u2190 500 from caught error"),p({error:E},500)}}async function k(M){c("\u2192 POST",M.url);try{let A=new URL(M.url),F=A.pathname.replace(/\/$/,"").split("/").filter(Boolean).at(-1);if(c("pathname:",A.pathname,"subRoute:",F),L&&F==="scenarios"){c("dispatching to save-scenario handler (proxy to app API)");try{let v=await M.json(),D=await fetch(`${a}/api/mcp/scenarios`,{method:"POST",headers:{"Content-Type":"application/json",...t?{Authorization:`Bearer ${t}`}:{}},body:JSON.stringify(v)}),q=await D.json();return D.ok?p({ok:!0,scenario:q.data},200):p({error:q.message??"Failed to save scenario"},D.status)}catch(v){let D=v instanceof Error?v.message:"Failed to save scenario";return p({error:D},400)}}if(F==="tool"){c("dispatching to tool handler");let v=await S(M);return c("\u2190 tool handler returned",v.status),d(v)}c("dispatching to chat handler");let _=await h(M);return d(_)}catch(A){console.error("[waniwani:router] POST handler error:",A);let E=A instanceof Error?A.message:"Unknown error occurred";return c("\u2190 500 from caught error"),p({error:E},500)}}async function T(M){c("\u2192 PATCH",M.url);try{let A=new URL(M.url),E=A.pathname.replace(/\/$/,"").split("/").filter(Boolean),F=E.at(-1),_=E.at(-2);if(c("pathname:",A.pathname,"subRoute:",_,"id:",F),L&&_==="scenarios"&&F){c("dispatching to update-scenario handler (proxy to app API)");try{let v=await M.json(),D=await fetch(`${a}/api/mcp/scenarios/${F}`,{method:"PATCH",headers:{"Content-Type":"application/json",...t?{Authorization:`Bearer ${t}`}:{}},body:JSON.stringify(v)}),q=await D.json();return D.ok?p({ok:!0,scenario:q.data},200):p({error:q.message??"Failed to update scenario"},D.status)}catch(v){let D=v instanceof Error?v.message:"Failed to update scenario";return p({error:D},400)}}return c("\u2190 404 no matching sub-route for PATCH",_),p({error:"Not found"},404)}catch(A){console.error("[waniwani:router] PATCH handler error:",A);let E=A instanceof Error?A.message:"Unknown error occurred";return c("\u2190 500 from caught error"),p({error:E},500)}}function P(){return d(new Response(null,{status:204}))}return{handleChat:h,handleResource:I,handleTool:S,routeGet:C,routePost:k,routePatch:T,handleOptions:P}}var Jn=!1;function EC(e,t){!Jn&&process.env.NODE_ENV!=="test"&&(console.warn("[waniwani-sdk] toNextJsHandler is deprecated; switch to toExpressJsHandler from @waniwani/sdk/express-js. It will be removed in a follow-up release."),Jn=!0);let{apiKey:a,apiUrl:o}=e._config,r=t?.debug??process.env.WANIWANI_DEBUG==="1",n=Qn({...t?.chat,apiKey:a,apiUrl:o,source:t?.source,debug:r});return{POST:n.routePost,GET:n.routeGet,PATCH:n.routePatch,OPTIONS:()=>n.handleOptions()}}f();import{forwardRef as fg,useCallback as zr,useEffect as pg,useImperativeHandle as mg,useRef as hu,useState as gu}from"react";f();f();f();import{forwardRef as Ld,createElement as Id}from"react";f();var Ma=(...e)=>e.filter((t,a,o)=>!!t&&t.trim()!==""&&o.indexOf(t)===a).join(" ").trim();f();var Yn=e=>e.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase();f();f();var Zn=e=>e.replace(/^([A-Z])|[\s-_]+(\w)/g,(t,a,o)=>o?o.toUpperCase():a.toLowerCase());var Mo=e=>{let t=Zn(e);return t.charAt(0).toUpperCase()+t.slice(1)};f();import{forwardRef as Cd,createElement as as}from"react";f();var es={xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"};f();var ts=e=>{for(let t in e)if(t.startsWith("aria-")||t==="role"||t==="title")return!0;return!1};var os=Cd(({color:e="currentColor",size:t=24,strokeWidth:a=2,absoluteStrokeWidth:o,className:r="",children:n,iconNode:s,...i},l)=>as("svg",{ref:l,...es,width:t,height:t,stroke:e,strokeWidth:o?Number(a)*24/Number(t):a,className:Ma("lucide",r),...!n&&!ts(i)&&{"aria-hidden":"true"},...i},[...s.map(([u,c])=>as(u,c)),...Array.isArray(n)?n:[n]]));var j=(e,t)=>{let a=Ld(({className:o,...r},n)=>Id(os,{ref:n,iconNode:t,className:Ma(`lucide-${Yn(Mo(e))}`,`lucide-${e}`,o),...r}));return a.displayName=Mo(e),a};f();var Sd=[["path",{d:"M12 5v14",key:"s699le"}],["path",{d:"m19 12-7 7-7-7",key:"1idqje"}]],Wt=j("arrow-down",Sd);f();var yd=[["path",{d:"m5 12 7-7 7 7",key:"hav0vg"}],["path",{d:"M12 19V5",key:"x0mq9r"}]],Gt=j("arrow-up",yd);f();var bd=[["path",{d:"M20 6 9 17l-5-5",key:"1gmf2c"}]],jt=j("check",bd);f();var kd=[["path",{d:"m6 9 6 6 6-6",key:"qrunsl"}]],Ye=j("chevron-down",kd);f();var Td=[["path",{d:"m9 18 6-6-6-6",key:"mthhwq"}]],zt=j("chevron-right",Td);f();var vd=[["rect",{width:"8",height:"4",x:"8",y:"2",rx:"1",ry:"1",key:"tgr4d6"}],["path",{d:"M8 4H6a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-2",key:"4jdomd"}],["path",{d:"M16 4h2a2 2 0 0 1 2 2v4",key:"3hqy98"}],["path",{d:"M21 14H11",key:"1bme5i"}],["path",{d:"m15 10-4 4 4 4",key:"5dvupr"}]],Vt=j("clipboard-copy",vd);f();var Pd=[["path",{d:"M12 6v6l4 2",key:"mmk7yg"}],["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}]],Xe=j("clock",Pd);f();var Ad=[["path",{d:"M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z",key:"1oefj6"}],["path",{d:"M14 2v5a1 1 0 0 0 1 1h5",key:"wfsgrz"}]],$t=j("file",Ad);f();var Rd=[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M12 2a14.5 14.5 0 0 0 0 20 14.5 14.5 0 0 0 0-20",key:"13o1zl"}],["path",{d:"M2 12h20",key:"9i4pu4"}]],Xt=j("globe",Rd);f();var Md=[["path",{d:"M12 2v4",key:"3427ic"}],["path",{d:"m16.2 7.8 2.9-2.9",key:"r700ao"}],["path",{d:"M18 12h4",key:"wj9ykh"}],["path",{d:"m16.2 16.2 2.9 2.9",key:"1bxg5t"}],["path",{d:"M12 18v4",key:"jadmvz"}],["path",{d:"m4.9 19.1 2.9-2.9",key:"bwix9q"}],["path",{d:"M2 12h4",key:"j09sii"}],["path",{d:"m4.9 4.9 2.9 2.9",key:"giyufr"}]],Kt=j("loader",Md);f();var Fd=[["path",{d:"m16 6-8.414 8.586a2 2 0 0 0 2.829 2.829l8.414-8.586a4 4 0 1 0-5.657-5.657l-8.379 8.551a6 6 0 1 0 8.485 8.485l8.379-8.551",key:"1miecu"}]],Qt=j("paperclip",Fd);f();var Dd=[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}]],Jt=j("square",Dd);f();var Bd=[["path",{d:"M14.7 6.3a1 1 0 0 0 0 1.4l1.6 1.6a1 1 0 0 0 1.4 0l3.106-3.105c.32-.322.863-.22.983.218a6 6 0 0 1-8.259 7.057l-7.91 7.91a1 1 0 0 1-2.999-3l7.91-7.91a6 6 0 0 1 7.057-8.259c.438.12.54.662.219.984z",key:"1ngwbx"}]],lt=j("wrench",Bd);f();var Ed=[["path",{d:"M18 6 6 18",key:"1bl5f8"}],["path",{d:"m6 6 12 12",key:"d8bk6v"}]],ut=j("x",Ed);f();var _d=[["path",{d:"M4 14a1 1 0 0 1-.78-1.63l9.9-10.2a.5.5 0 0 1 .86.46l-1.92 6.02A1 1 0 0 0 13 10h7a1 1 0 0 1 .78 1.63l-9.9 10.2a.5.5 0 0 1-.86-.46l1.92-6.02A1 1 0 0 0 11 14z",key:"1xq2db"}]],Yt=j("zap",_d);import{useCallback as Zd}from"react";f();import{useCallback as Ze,useMemo as Nd,useRef as Od,useState as Fo}from"react";var Ud={damping:.7,stiffness:.05,mass:1.25},Hd=70,qd=1e3/60,Wd=350,Fa=!1;globalThis.document?.addEventListener("mousedown",()=>{Fa=!0});globalThis.document?.addEventListener("mouseup",()=>{Fa=!1});globalThis.document?.addEventListener("click",()=>{Fa=!1});var ns=(e={})=>{let[t,a]=Fo(!1),[o,r]=Fo(e.initial!==!1),[n,s]=Fo(!1),i=Od(null);i.current=e;let l=Ze(()=>{if(!Fa)return!1;let L=window.getSelection();if(!L||!L.rangeCount)return!1;let C=L.getRangeAt(0);return C.commonAncestorContainer.contains(x.current)||x.current?.contains(C.commonAncestorContainer)},[]),u=Ze(L=>{d.isAtBottom=L,r(L)},[]),c=Ze(L=>{d.escapedFromLock=L,a(L)},[]),d=Nd(()=>{let L;return{escapedFromLock:t,isAtBottom:o,resizeDifference:0,accumulated:0,velocity:0,listeners:new Set,get scrollTop(){return x.current?.scrollTop??0},set scrollTop(C){x.current&&(x.current.scrollTop=C,d.ignoreScrollToTop=x.current.scrollTop)},get targetScrollTop(){return!x.current||!S.current?0:x.current.scrollHeight-1-x.current.clientHeight},get calculatedTargetScrollTop(){if(!x.current||!S.current)return 0;let{targetScrollTop:C}=this;if(!e.targetScrollTop)return C;if(L?.targetScrollTop===C)return L.calculatedScrollTop;let k=Math.max(Math.min(e.targetScrollTop(C,{scrollElement:x.current,contentElement:S.current}),C),0);return L={targetScrollTop:C,calculatedScrollTop:k},requestAnimationFrame(()=>{L=void 0}),k},get scrollDifference(){return this.calculatedTargetScrollTop-this.scrollTop},get isNearBottom(){return this.scrollDifference<=Hd}}},[]),p=Ze((L={})=>{typeof L=="string"&&(L={animation:L}),L.preserveScrollPosition||u(!0);let C=Date.now()+(Number(L.wait)||0),k=Bo(i.current,L.animation),{ignoreEscapes:T=!1}=L,P,M=d.calculatedTargetScrollTop;L.duration instanceof Promise?L.duration.finally(()=>{P=Date.now()}):P=C+(L.duration??0);let A=async()=>{let E=new Promise(requestAnimationFrame).then(()=>{if(!d.isAtBottom)return d.animation=void 0,!1;let{scrollTop:F}=d,_=performance.now(),v=(_-(d.lastTick??_))/qd;if(d.animation||(d.animation={behavior:k,promise:E,ignoreEscapes:T}),d.animation.behavior===k&&(d.lastTick=_),l()||C>Date.now())return A();if(F<Math.min(M,d.calculatedTargetScrollTop)){if(d.animation?.behavior===k){if(k==="instant")return d.scrollTop=d.calculatedTargetScrollTop,A();d.velocity=(k.damping*d.velocity+k.stiffness*d.scrollDifference)/k.mass,d.accumulated+=d.velocity*v,d.scrollTop+=d.accumulated,d.scrollTop!==F&&(d.accumulated=0)}return A()}return P>Date.now()?(M=d.calculatedTargetScrollTop,A()):(d.animation=void 0,d.scrollTop<d.calculatedTargetScrollTop?p({animation:Bo(i.current,i.current.resize),ignoreEscapes:T,duration:Math.max(0,P-Date.now())||void 0}):d.isAtBottom)});return E.then(F=>(requestAnimationFrame(()=>{d.animation||(d.lastTick=void 0,d.velocity=0)}),F))};return L.wait!==!0&&(d.animation=void 0),d.animation?.behavior===k?d.animation.promise:A()},[u,l,d]),m=Ze(()=>{c(!0),u(!1)},[c,u]),h=Ze(({target:L})=>{if(L!==x.current)return;let{scrollTop:C,ignoreScrollToTop:k}=d,{lastScrollTop:T=C}=d;d.lastScrollTop=C,d.ignoreScrollToTop=void 0,k&&k>C&&(T=k),s(d.isNearBottom),setTimeout(()=>{if(d.resizeDifference||C===k)return;if(l()){c(!0),u(!1);return}let P=C>T,M=C<T;if(d.animation?.ignoreEscapes){d.scrollTop=T;return}M&&(c(!0),u(!1)),P&&c(!1),!d.escapedFromLock&&d.isNearBottom&&u(!0)},1)},[c,u,l,d]),I=Ze(({target:L,deltaY:C})=>{let k=L;for(;!["scroll","auto"].includes(getComputedStyle(k).overflow);){if(!k.parentElement)return;k=k.parentElement}k===x.current&&C<0&&x.current.scrollHeight>x.current.clientHeight&&!d.animation?.ignoreEscapes&&(c(!0),u(!1))},[c,u,d]),x=rs(L=>{x.current?.removeEventListener("scroll",h),x.current?.removeEventListener("wheel",I),L?.addEventListener("scroll",h,{passive:!0}),L?.addEventListener("wheel",I,{passive:!0})},[]),S=rs(L=>{if(d.resizeObserver?.disconnect(),!L)return;let C;d.resizeObserver=new ResizeObserver(([k])=>{let{height:T}=k.contentRect,P=T-(C??T);if(d.resizeDifference=P,d.scrollTop>d.targetScrollTop&&(d.scrollTop=d.targetScrollTop),s(d.isNearBottom),P>=0){let M=Bo(i.current,C?i.current.resize:i.current.initial);p({animation:M,wait:!0,preserveScrollPosition:!0,duration:M==="instant"?void 0:Wd})}else d.isNearBottom&&(c(!1),u(!0));C=T,requestAnimationFrame(()=>{setTimeout(()=>{d.resizeDifference===P&&(d.resizeDifference=0)},1)})}),d.resizeObserver?.observe(L)},[]);return{contentRef:S,scrollRef:x,scrollToBottom:p,stopScroll:m,isAtBottom:o||n,isNearBottom:n,escapedFromLock:t,state:d}};function rs(e,t){let a=Ze(o=>(a.current=o,e(o)),t);return a}var Do=new Map;function Bo(...e){let t={...Ud},a=!1;for(let r of e){if(r==="instant"){a=!0;continue}typeof r=="object"&&(a=!1,t.damping=r.damping??t.damping,t.stiffness=r.stiffness??t.stiffness,t.mass=r.mass??t.mass)}let o=JSON.stringify(t);return Do.has(o)||Do.set(o,Object.freeze(t)),a?"instant":Do.get(o)}f();import*as dt from"react";import{createContext as Gd,useContext as jd,useEffect as zd,useImperativeHandle as Vd,useLayoutEffect as $d,useMemo as Xd,useRef as Kd}from"react";var ss=Gd(null),Qd=typeof window<"u"?$d:zd;function Zt({instance:e,children:t,resize:a,initial:o,mass:r,damping:n,stiffness:s,targetScrollTop:i,contextRef:l,...u}){let c=Kd(null),d=dt.useCallback((T,P)=>(k?.targetScrollTop??i)?.(T,P)??T,[i]),p=ns({mass:r,damping:n,stiffness:s,resize:a,initial:o,targetScrollTop:d}),{scrollRef:m,contentRef:h,scrollToBottom:I,stopScroll:x,isAtBottom:S,escapedFromLock:L,state:C}=e??p,k=Xd(()=>({scrollToBottom:I,stopScroll:x,scrollRef:m,isAtBottom:S,escapedFromLock:L,contentRef:h,state:C,get targetScrollTop(){return c.current},set targetScrollTop(T){c.current=T}}),[I,S,h,m,x,L,C]);return Vd(l,()=>k,[k]),Qd(()=>{m.current&&getComputedStyle(m.current).overflow==="visible"&&(m.current.style.overflow="auto")},[]),dt.createElement(ss.Provider,{value:k},dt.createElement("div",{...u},typeof t=="function"?t(k):t))}(function(e){function t({children:a,scrollClassName:o,...r}){let n=Eo();return dt.createElement("div",{ref:n.scrollRef,style:{height:"100%",width:"100%",scrollbarGutter:"stable both-edges"},className:o},dt.createElement("div",{...r,ref:n.contentRef},typeof a=="function"?a(n):a))}e.Content=t})(Zt||(Zt={}));function Eo(){let e=jd(ss);if(!e)throw new Error("use-stick-to-bottom component context must be used within a StickToBottom component");return e}f();var Jd=Yr({prefix:"ww"});function R(...e){return Jd(Jr(e))}f();import{jsx as Yd}from"react/jsx-runtime";var We=({className:e,variant:t="default",size:a="default",type:o="button",...r})=>Yd("button",{type:o,className:R("ww:inline-flex ww:cursor-pointer ww:items-center ww:justify-center ww:rounded-md ww:font-medium ww:transition-colors ww:disabled:pointer-events-none ww:disabled:opacity-50",t==="default"&&"ww:bg-primary ww:text-primary-foreground ww:hover:bg-primary/90",t==="outline"&&"ww:border ww:border-border ww:bg-background ww:hover:bg-accent ww:hover:text-accent-foreground",t==="ghost"&&"ww:hover:bg-accent ww:hover:text-accent-foreground",a==="default"&&"ww:h-9 ww:px-4 ww:py-2 ww:text-sm",a==="sm"&&"ww:h-8 ww:px-3 ww:text-xs",a==="icon"&&"ww:size-9 ww:!rounded-full",a==="icon-sm"&&"ww:size-7 ww:!rounded-full",e),...r});import{jsx as Da}from"react/jsx-runtime";var is=({className:e,...t})=>Da(Zt,{className:R("ww:relative ww:flex-1 ww:overflow-y-hidden",e),initial:"smooth",resize:"smooth",role:"log",...t}),ls=({className:e,...t})=>Da(Zt.Content,{className:R("ww:flex ww:flex-col ww:gap-6 ww:px-4 ww:py-6 ww:mx-auto ww:w-full ww:max-w-3xl",e),...t}),us=({className:e,...t})=>{let{isAtBottom:a,scrollToBottom:o}=Eo(),r=Zd(()=>{o()},[o]);return!a&&Da(We,{className:R("ww:absolute ww:bottom-4 ww:left-[50%] ww:translate-x-[-50%] ww:rounded-full",e),onClick:r,size:"icon",variant:"outline",...t,children:Da(Wt,{className:"ww:size-4"})})};f();f();import cs from"crypto";f();var ds="useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict";var ec=128,ct,Tt,tc=e=>{!ct||ct.length<e?(ct=Buffer.allocUnsafe(e*ec),cs.randomFillSync(ct),Tt=0):Tt+e>ct.length&&(cs.randomFillSync(ct),Tt=0),Tt+=e};var ea=(e=21)=>{tc(e|=0);let t="";for(let a=Tt-e;a<Tt;a++)t+=ds[ct[a]&63];return t};import{createContext as ic,useCallback as Ke,useContext as lc,useEffect as Uo,useMemo as uc,useRef as Ho,useState as fs}from"react";f();f();import{createContext as rc,useContext as nc,useEffect as pS,useMemo as mS,useState as hS}from"react";f();f();f();f();var No={promptInput:{placeholder:"What would you like to know?",uploadFiles:"Upload files",stop:"Stop",submit:"Submit",removeAttachments:"Remove all attachments"},workingIndicator:{default:"On it\u2026"},reasoning:{thinking:"Thinking\u2026",thoughtBrief:"Thought for a few seconds",thoughtForSeconds:e=>`Thought for ${e} second${e===1?"":"s"}`},chainOfThought:{working:"Working on it\u2026",done:"Thought process"},tool:{copy:"Copy",copied:"Copied",request:"Request",response:"Response",error:"Error"},attachments:{attachmentFallback:"attachment",fileFallback:"file"},threadMenu:{newChat:"New chat",threadHistory:"Thread history",deleteThread:"Delete thread",noPreviousChats:"No previous chats yet.",hiddenThreads:e=>`${e} older thread${e===1?"":"s"} hidden`},chatQueue:{attachmentFallback:"(attachment)",removeFromQueue:"Remove from queue",queued:e=>`${e} queued`},poweredBy:{label:"AI agent powered by"},aiDisclaimer:{default:"can make mistakes"},exportSession:{saving:"saving...",saved:"saved",error:"error",export:"export",tooltip:"Save scenario to Waniwani"},widgetErrorBoundary:{failedToLoad:"Widget failed to load",retry:"Retry"},launcher:{prompt:"Ask anything\u2026",open:"Open chat",close:"Close chat",minimize:"Minimize"}};f();f();import{jsx as SS}from"react/jsx-runtime";var sc=rc(null);function V(){let e=nc(sc);return e||{locale:"en",t:No,ready:!0}}f();function Oo(e,t){let a=Date.now()-e;if(a<6e4)try{return new Intl.RelativeTimeFormat(t,{numeric:"auto",style:"narrow"}).format(0,"second")}catch{return"just now"}let o,r;a<60*6e4?(o=-Math.floor(a/6e4),r="minute"):a<1440*6e4?(o=-Math.floor(a/(60*6e4)),r="hour"):(o=-Math.floor(a/(1440*6e4)),r="day");try{return new Intl.RelativeTimeFormat(t,{numeric:"auto",style:"short"}).format(o,r)}catch{return`${Math.abs(o)}${r==="minute"?"m":r==="hour"?"h":"d"} ago`}}import{jsx as _e,jsxs as Cs}from"react/jsx-runtime";var dc=async e=>{try{let a=await(await fetch(e)).blob();return new Promise(o=>{let r=new FileReader;r.onloadend=()=>o(r.result),r.onerror=()=>o(null),r.readAsDataURL(a)})}catch{return null}},ps=ic(null),ms=()=>{let e=lc(ps);if(!e)throw new Error("usePromptInputAttachments must be used within a PromptInput");return e},hs=({className:e,accept:t,multiple:a,globalDrop:o,maxFiles:r,maxFileSize:n,onSubmit:s,children:i,...l})=>{let{t:u}=V(),c=Ho(null),d=Ho(null),[p,m]=fs([]),h=Ho(p);Uo(()=>{h.current=p},[p]);let I=Ke(()=>{c.current?.click()},[]),x=Ke(P=>{let M=[...P];if(M.length===0)return;let A=F=>n?F.size<=n:!0,E=M.filter(A);m(F=>{let _=typeof r=="number"?Math.max(0,r-F.length):void 0,v=typeof _=="number"?E.slice(0,_):E;return[...F,...v.map(D=>({filename:D.name,id:ea(),mediaType:D.type,type:"file",url:URL.createObjectURL(D)}))]})},[r,n]),S=Ke(P=>{m(M=>{let A=M.find(E=>E.id===P);return A?.url&&URL.revokeObjectURL(A.url),M.filter(E=>E.id!==P)})},[]),L=Ke(()=>{m(P=>{for(let M of P)M.url&&URL.revokeObjectURL(M.url);return[]})},[]);Uo(()=>()=>{for(let P of h.current)P.url&&URL.revokeObjectURL(P.url)},[]);let C=Ke(P=>{P.currentTarget.files&&x(P.currentTarget.files),P.currentTarget.value=""},[x]);Uo(()=>{if(!o)return;let P=A=>{A.dataTransfer?.types?.includes("Files")&&A.preventDefault()},M=A=>{A.dataTransfer?.types?.includes("Files")&&A.preventDefault(),A.dataTransfer?.files&&A.dataTransfer.files.length>0&&x(A.dataTransfer.files)};return document.addEventListener("dragover",P),document.addEventListener("drop",M),()=>{document.removeEventListener("dragover",P),document.removeEventListener("drop",M)}},[x,o]);let k=Ke(async P=>{P.preventDefault();let M=P.currentTarget,E=new FormData(M).get("message")||"";M.reset();let F=await Promise.all(p.map(async({id:_,...v})=>{if(v.url?.startsWith("blob:")){let D=await dc(v.url);return{...v,url:D??v.url}}return v}));try{let _=s({files:F,text:E},P);_ instanceof Promise&&await _,L()}catch{}},[p,s,L]),T=uc(()=>({add:x,clear:L,files:p,openFileDialog:I,remove:S}),[p,x,S,L,I]);return Cs(ps.Provider,{value:T,children:[_e("input",{accept:t,"aria-label":u.promptInput.uploadFiles,className:"ww:hidden",multiple:a,onChange:C,ref:c,title:u.promptInput.uploadFiles,type:"file"}),_e("form",{className:R("ww:flex ww:w-full ww:flex-col ww:rounded-lg ww:border ww:border-border ww:bg-background",e),onSubmit:k,ref:d,...l,children:i})]})};var gs=({onChange:e,onKeyDown:t,className:a,placeholder:o,...r})=>{let{t:n}=V(),s=ms(),[i,l]=fs(!1),u=o??n.promptInput.placeholder,c=Ke(p=>{if(t?.(p),!p.defaultPrevented){if(p.key==="Enter"){if(i||p.nativeEvent.isComposing||p.shiftKey)return;p.preventDefault();let{form:m}=p.currentTarget;if(m?.querySelector('button[type="submit"]')?.disabled)return;m?.requestSubmit()}if(p.key==="Backspace"&&p.currentTarget.value===""&&s.files.length>0){p.preventDefault();let m=s.files.at(-1);m&&s.remove(m.id)}}},[t,i,s]),d=Ke(p=>{let m=p.clipboardData?.items;if(!m)return;let h=[];for(let I of m)if(I.kind==="file"){let x=I.getAsFile();x&&h.push(x)}h.length>0&&(p.preventDefault(),s.add(h))},[s]);return _e("textarea",{className:R("ww:field-sizing-content ww:max-h-48 ww:min-h-0 ww:w-full ww:resize-none ww:border-0 ww:bg-transparent ww:px-3 ww:py-2 ww:text-base ww:sm:text-sm ww:outline-none ww:placeholder:text-muted-foreground",a),name:"message",onCompositionEnd:()=>l(!1),onCompositionStart:()=>l(!0),onKeyDown:c,onPaste:d,placeholder:u,onChange:e,...r})},ws=({className:e,status:t,onStop:a,onClick:o,children:r,...n})=>{let{t:s}=V(),i=t==="submitted"||t==="streaming",l=_e(Gt,{className:"ww:size-4"});t==="submitted"?l=_e(Kt,{className:"ww:size-4 ww:animate-spin"}):t==="streaming"&&(l=_e(Jt,{className:"ww:size-4"}));let u=Ke(c=>{if(i&&a){c.preventDefault(),a();return}o?.(c)},[i,a,o]);return _e(We,{"aria-label":i?s.promptInput.stop:s.promptInput.submit,className:R("ww:bg-foreground ww:text-background ww:hover:bg-foreground ww:rounded-full",e),onClick:u,size:"icon-sm",type:i&&a?"button":"submit",variant:"ghost",...n,children:r??l})},xs=({className:e,children:t,...a})=>{let{t:o}=V(),r=ms();return r.files.length>0?Cs(We,{className:R("ww:group ww:relative",e),onClick:()=>r.clear(),size:"icon-sm",type:"button",variant:"ghost","aria-label":o.promptInput.removeAttachments,...a,children:[_e("span",{className:"ww:flex ww:size-5 ww:items-center ww:justify-center ww:rounded-full ww:bg-primary ww:text-[10px] ww:font-medium ww:text-primary-foreground ww:transition-opacity ww:group-hover:opacity-0",children:r.files.length}),_e(ut,{className:"ww:absolute ww:size-4 ww:opacity-0 ww:transition-opacity ww:group-hover:opacity-100"})]}):_e(We,{className:R(e),onClick:()=>r.openFileDialog(),size:"icon-sm",type:"button",variant:"ghost",...a,children:t??_e(Qt,{className:"ww:size-4"})})};f();import{memo as cc,useCallback as fc}from"react";f();import{jsx as vt}from"react/jsx-runtime";var Ls=({className:e,...t})=>vt("div",{className:R("ww:flex ww:flex-col ww:gap-1 ww:px-3 ww:py-2",e),...t}),Is=({className:e,...t})=>vt("li",{className:R("ww:group ww:flex ww:items-center ww:gap-2 ww:rounded-md ww:px-2 ww:py-1 ww:text-sm ww:transition-colors ww:hover:bg-muted",e),...t}),Ss=({className:e,...t})=>vt("span",{className:R("ww:inline-block ww:size-2 ww:shrink-0 ww:rounded-full ww:border ww:border-muted-foreground/50",e),...t}),ys=({className:e,...t})=>vt("span",{className:R("ww:line-clamp-1 ww:grow ww:break-words ww:text-muted-foreground",e),...t}),bs=({className:e,...t})=>vt("div",{className:R("ww:flex ww:shrink-0 ww:gap-1 ww:opacity-0 ww:transition-opacity ww:group-hover:opacity-100",e),...t}),ks=({className:e,...t})=>vt(We,{className:R("ww:size-auto ww:rounded ww:p-1 ww:text-muted-foreground ww:hover:bg-muted-foreground/10 ww:hover:text-foreground",e),size:"icon",type:"button",variant:"ghost",...t});import{jsx as et,jsxs as Ps}from"react/jsx-runtime";var Ts=cc(({message:e,onRemove:t})=>{let{t:a}=V(),o=fc(()=>t(e.id),[t,e.id]);return Ps(Is,{children:[et(Ss,{}),et(ys,{children:e.text||a.chatQueue.attachmentFallback}),et(bs,{children:et(ks,{"aria-label":a.chatQueue.removeFromQueue,onClick:o,children:et(ut,{className:"ww:size-3"})})})]})});Ts.displayName="ChatQueueItem";function vs({queuedMessages:e,onRemove:t,className:a}){let{t:o}=V();return e.length===0?null:Ps(Ls,{className:R("ww:border-t ww:border-border",a),children:[et("div",{className:"ww:text-[11px] ww:font-medium ww:text-muted-foreground ww:px-2",children:o.chatQueue.queued(e.length)}),et("ul",{children:e.map(r=>et(Ts,{message:r,onRemove:t},r.id))})]})}f();import{useState as As}from"react";import{jsx as pc}from"react/jsx-runtime";function Rs({messages:e,evalEnabled:t,api:a="/api/waniwani"}){let{t:o}=V(),[r,n]=As(!1),[s,i]=As(null),l=async()=>{let c={name:`session-${new Date().toISOString().slice(0,19)}`,type:"functional",messages:e,mode:"manual"};n(!0),i(null);try{let d=await fetch(`${a}/scenarios`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(c)});if(!d.ok)throw new Error(`${d.status}`);i("saved")}catch{i("error")}finally{n(!1),setTimeout(()=>i(null),2e3)}};if(!t||e.length===0)return null;let u=r?o.exportSession.saving:s==="saved"?o.exportSession.saved:s==="error"?o.exportSession.error:o.exportSession.export;return pc("button",{type:"button",onClick:l,disabled:r,title:o.exportSession.tooltip,className:"ww:ml-auto ww:text-[10px] ww:font-mono ww:uppercase ww:tracking-wider ww:text-muted-foreground hover:ww:text-foreground ww:cursor-pointer ww:transition-colors ww:disabled:opacity-40",children:u})}f();f();import{jsx as ta,jsxs as hc}from"react/jsx-runtime";var Ms=({files:e,className:t,...a})=>e.length===0?null:ta("div",{className:R("ww:flex ww:flex-wrap ww:gap-1.5",t),...a,children:e.map((o,r)=>ta(mc,{file:o},r))});function mc({file:e}){let{t}=V();return e.mediaType?.startsWith("image/")&&e.url?ta("img",{src:e.url,alt:e.filename??t.attachments.attachmentFallback,className:"ww:h-16 ww:max-w-32 ww:rounded ww:object-cover"}):hc("span",{className:"ww:inline-flex ww:items-center ww:gap-1.5 ww:rounded ww:bg-background/20 ww:px-2 ww:py-1 ww:text-xs",children:[ta($t,{className:"ww:size-3 ww:shrink-0"}),ta("span",{className:"ww:max-w-24 ww:truncate",children:e.filename??t.attachments.fileFallback})]})}f();import{createContext as vc,useCallback as Pc,useContext as Ac,useEffect as Rc,useMemo as Mc,useState as jo}from"react";f();import{createContext as Cc,memo as Go,useCallback as Lc,useContext as Ic,useEffect as qo,useMemo as Sc,useRef as Fs,useState as Wo}from"react";f();f();import{memo as gc}from"react";import{jsx as xc}from"react/jsx-runtime";var wc=({as:e="span",className:t,duration:a=2,style:o,children:r,...n})=>{let s={backgroundImage:"linear-gradient(90deg, var(--ww-color-muted-foreground) 0%, var(--ww-color-muted-foreground) 40%, var(--ww-color-foreground) 50%, var(--ww-color-muted-foreground) 60%, var(--ww-color-muted-foreground) 100%)",backgroundSize:"250% 100%",WebkitBackgroundClip:"text",backgroundClip:"text",color:"transparent",animation:`ww-shimmer ${a}s linear infinite`,...o};return xc(e,{"data-waniwani-shimmer":"",className:R("ww:inline-block",t),style:s,...n,children:r})},Ne=gc(wc);Ne.displayName="Shimmer";import{Fragment as kc,jsx as Oe,jsxs as Tc}from"react/jsx-runtime";var Ds=Cc(null);function Bs(){let e=Ic(Ds);if(!e)throw new Error("Reasoning components must be used within <Reasoning>");return e}var yc=1e3,bc=1e3,aa=Go(({className:e,isStreaming:t=!1,open:a,defaultOpen:o,onOpenChange:r,duration:n,children:s,...i})=>{let l=o??t,u=o===!1,c=a!==void 0,[d,p]=Wo(l),m=c?a:d,h=Lc(M=>{c||p(M),r?.(M)},[c,r]),[I,x]=Wo(void 0),S=n??I,L=Fs(t),[C,k]=Wo(!1),T=Fs(null);qo(()=>{t?(L.current=!0,T.current===null&&(T.current=Date.now())):T.current!==null&&(x(Math.ceil((Date.now()-T.current)/bc)),T.current=null)},[t]),qo(()=>{t&&!m&&!u&&h(!0)},[t,m,u,h]),qo(()=>{if(L.current&&!t&&m&&!C){let M=setTimeout(()=>{h(!1),k(!0)},yc);return()=>clearTimeout(M)}},[t,m,C,h]);let P=Sc(()=>({isStreaming:t,isOpen:m,setIsOpen:h,duration:S}),[t,m,h,S]);return Oe(Ds.Provider,{value:P,children:Oe("div",{className:R("ww:mb-4 ww:flex ww:flex-col ww:gap-2",e),"data-state":m?"open":"closed",style:{animation:"ww-fade-in 0.2s ease-out"},...i,children:s})})});aa.displayName="Reasoning";var oa=Go(({className:e,children:t,getThinkingMessage:a,hideIcon:o=!1,onClick:r,...n})=>{let{t:s}=V(),{isStreaming:i,isOpen:l,duration:u,setIsOpen:c}=Bs(),p=a??((m,h)=>m||h===0?Oe(Ne,{duration:1.6,children:s.reasoning.thinking}):h===void 0?Oe("span",{children:s.reasoning.thoughtBrief}):Oe("span",{children:s.reasoning.thoughtForSeconds(h)}));return Oe("button",{type:"button","aria-expanded":l,onClick:m=>{c(!l),r?.(m)},className:R("ww:flex ww:w-full ww:items-center ww:gap-2 ww:text-sm ww:text-muted-foreground ww:transition-colors ww:hover:text-foreground",e),...n,children:t??Tc(kc,{children:[!o&&Oe(Xe,{className:"ww:size-4 ww:shrink-0"}),p(i,u)]})})});oa.displayName="ReasoningTrigger";var ra=Go(({className:e,children:t,...a})=>{let{isOpen:o}=Bs();return Oe("div",{className:R("ww:grid ww:transition-[grid-template-rows,opacity] ww:duration-200 ww:ease-out",o?"ww:grid-rows-[1fr] ww:opacity-100":"ww:grid-rows-[0fr] ww:opacity-0"),children:Oe("div",{className:"ww:min-h-0 ww:overflow-hidden",children:Oe("div",{className:R("ww:text-sm ww:text-muted-foreground",e),...a,children:Oe(Dt,{children:t})})})})});ra.displayName="ReasoningContent";import{jsx as Y,jsxs as tt}from"react/jsx-runtime";var Fc=500,Es=vc(null);function _s(){let e=Ac(Es);if(!e)throw new Error("ChainOfThought components must be used within <ChainOfThought>");return e}function Ns({className:e,isWorking:t=!1,activeStep:a,open:o,defaultOpen:r=!1,onOpenChange:n,children:s,...i}){let l=o!==void 0,[u,c]=jo(r),d=l?o:u,p=Pc(x=>{l||c(x),n?.(x)},[l,n]),[m,h]=jo(!t);Rc(()=>{if(t){h(!1);return}let x=setTimeout(()=>h(!0),Fc);return()=>clearTimeout(x)},[t]);let I=Mc(()=>({open:d,setOpen:p,isWorking:t,settled:m,activeStep:a}),[d,p,t,m,a]);return Y(Es.Provider,{value:I,children:Y("div",{className:R("ww:mb-4 ww:flex ww:flex-col ww:gap-2",e),"data-state":d?"open":"closed",style:{animation:"ww-fade-in 0.2s ease-out"},...i,children:s})})}function Os({className:e,label:t,workingLabel:a,children:o,...r}){let{open:n,setOpen:s,isWorking:i,settled:l,activeStep:u}=_s();if(!l){let c=u?.icon,d=u?.label??a??t??"";return Y("div",{className:R("ww:flex ww:min-h-5 ww:w-full ww:items-center ww:gap-1.5 ww:text-sm ww:text-muted-foreground",e),children:tt("span",{className:"ww:flex ww:min-w-0 ww:items-center ww:gap-1.5",style:{animation:"ww-fade-in 0.25s ease-out"},children:[c&&Y(c,{className:R("ww:size-4 ww:shrink-0",i&&"ww:animate-pulse")}),Y("span",{className:"ww:truncate",children:i?Y(Ne,{duration:2.6,children:d}):d})]},d)})}return tt("button",{type:"button",onClick:()=>s(!n),"aria-expanded":n,className:R("ww:flex ww:min-h-5 ww:w-full ww:items-center ww:gap-1.5 ww:text-sm ww:text-muted-foreground ww:transition-colors ww:hover:text-foreground",e),style:{animation:"ww-fade-in 0.25s ease-out"},...r,children:[Y("span",{className:"ww:truncate",children:o??t}),Y(Ye,{className:R("ww:size-4 ww:shrink-0 ww:transition-transform ww:duration-200",n&&"ww:rotate-180")})]})}function Us({className:e,children:t,...a}){let{open:o}=_s();return Y("div",{className:R("ww:grid ww:transition-[grid-template-rows,opacity] ww:duration-200 ww:ease-out",o?"ww:grid-rows-[1fr] ww:opacity-100":"ww:grid-rows-[0fr] ww:opacity-0"),children:Y("div",{className:"ww:min-h-0 ww:overflow-hidden",children:Y("div",{className:R("ww:flex ww:flex-col",e),...a,children:t})})})}function Hs({icon:e,isLast:t,running:a,error:o}){return tt("div",{className:"ww:flex ww:flex-col ww:items-center ww:self-stretch",children:[Y("span",{className:"ww:flex ww:h-5 ww:items-center",children:Y(e,{className:R("ww:size-4 ww:shrink-0",o?"ww:text-destructive":a?"ww:animate-pulse ww:text-foreground":"ww:text-muted-foreground")})}),!t&&Y("span",{className:"ww:w-px ww:flex-1 ww:bg-border"})]})}function zo({className:e,icon:t,title:a,state:o,isLast:r=!1,children:n,...s}){let i=o==="input-available"||o==="input-streaming",l=o==="output-error",u=n!=null,[c,d]=jo(!1),p=a??"",m=i?Y(Ne,{duration:1.6,children:p}):Y("span",{className:"ww:truncate",children:p});return tt("div",{className:R("ww:flex ww:gap-2",e),...s,children:[Y(Hs,{icon:t,isLast:r,running:i,error:l}),tt("div",{className:R("ww:min-w-0 ww:flex-1",!r&&"ww:pb-3"),children:[u?tt("button",{type:"button",onClick:()=>d(h=>!h),"aria-expanded":c,className:"ww:flex ww:w-full ww:items-center ww:gap-1.5 ww:text-left ww:text-sm ww:text-muted-foreground ww:transition-colors ww:hover:text-foreground",children:[m,Y(Ye,{className:R("ww:size-3.5 ww:shrink-0 ww:transition-transform ww:duration-200",c&&"ww:rotate-180")})]}):Y("div",{className:"ww:flex ww:items-center ww:text-sm ww:text-muted-foreground",children:m}),u&&Y("div",{className:R("ww:grid ww:transition-[grid-template-rows,opacity] ww:duration-200 ww:ease-out",c?"ww:grid-rows-[1fr] ww:opacity-100":"ww:grid-rows-[0fr] ww:opacity-0"),children:Y("div",{className:"ww:min-h-0 ww:overflow-hidden",children:Y("div",{className:"ww:mt-2 ww:space-y-3 ww:rounded-lg ww:border ww:border-border ww:bg-background ww:p-3",children:n})})})]})]})}function qs({isStreaming:e=!1,isLast:t=!1,children:a}){return tt("div",{className:"ww:flex ww:gap-2",children:[Y(Hs,{icon:Xe,isLast:t,running:e}),Y("div",{className:R("ww:min-w-0 ww:flex-1",!t&&"ww:pb-3"),children:tt(aa,{isStreaming:e,className:"ww:mb-0",children:[Y(oa,{hideIcon:!0}),Y(ra,{children:a})]})})]})}f();f();f();f();f();f();var xe={carriageReturn:-5,lineFeed:-4,carriageReturnLineFeed:-3,horizontalTab:-2,virtualSpace:-1,eof:null,nul:0,soh:1,stx:2,etx:3,eot:4,enq:5,ack:6,bel:7,bs:8,ht:9,lf:10,vt:11,ff:12,cr:13,so:14,si:15,dle:16,dc1:17,dc2:18,dc3:19,dc4:20,nak:21,syn:22,etb:23,can:24,em:25,sub:26,esc:27,fs:28,gs:29,rs:30,us:31,space:32,exclamationMark:33,quotationMark:34,numberSign:35,dollarSign:36,percentSign:37,ampersand:38,apostrophe:39,leftParenthesis:40,rightParenthesis:41,asterisk:42,plusSign:43,comma:44,dash:45,dot:46,slash:47,digit0:48,digit1:49,digit2:50,digit3:51,digit4:52,digit5:53,digit6:54,digit7:55,digit8:56,digit9:57,colon:58,semicolon:59,lessThan:60,equalsTo:61,greaterThan:62,questionMark:63,atSign:64,uppercaseA:65,uppercaseB:66,uppercaseC:67,uppercaseD:68,uppercaseE:69,uppercaseF:70,uppercaseG:71,uppercaseH:72,uppercaseI:73,uppercaseJ:74,uppercaseK:75,uppercaseL:76,uppercaseM:77,uppercaseN:78,uppercaseO:79,uppercaseP:80,uppercaseQ:81,uppercaseR:82,uppercaseS:83,uppercaseT:84,uppercaseU:85,uppercaseV:86,uppercaseW:87,uppercaseX:88,uppercaseY:89,uppercaseZ:90,leftSquareBracket:91,backslash:92,rightSquareBracket:93,caret:94,underscore:95,graveAccent:96,lowercaseA:97,lowercaseB:98,lowercaseC:99,lowercaseD:100,lowercaseE:101,lowercaseF:102,lowercaseG:103,lowercaseH:104,lowercaseI:105,lowercaseJ:106,lowercaseK:107,lowercaseL:108,lowercaseM:109,lowercaseN:110,lowercaseO:111,lowercaseP:112,lowercaseQ:113,lowercaseR:114,lowercaseS:115,lowercaseT:116,lowercaseU:117,lowercaseV:118,lowercaseW:119,lowercaseX:120,lowercaseY:121,lowercaseZ:122,leftCurlyBrace:123,verticalBar:124,rightCurlyBrace:125,tilde:126,del:127,byteOrderMarker:65279,replacementCharacter:65533};f();var Ge={attentionSideAfter:2,attentionSideBefore:1,atxHeadingOpeningFenceSizeMax:6,autolinkDomainSizeMax:63,autolinkSchemeSizeMax:32,cdataOpeningString:"CDATA[",characterGroupPunctuation:2,characterGroupWhitespace:1,characterReferenceDecimalSizeMax:7,characterReferenceHexadecimalSizeMax:6,characterReferenceNamedSizeMax:31,codeFencedSequenceSizeMin:3,contentTypeContent:"content",contentTypeDocument:"document",contentTypeFlow:"flow",contentTypeString:"string",contentTypeText:"text",hardBreakPrefixSizeMin:2,htmlBasic:6,htmlCdata:5,htmlComment:2,htmlComplete:7,htmlDeclaration:4,htmlInstruction:3,htmlRawSizeMax:8,htmlRaw:1,linkResourceDestinationBalanceMax:32,linkReferenceSizeMax:999,listItemValueSizeMax:10,numericBaseDecimal:10,numericBaseHexadecimal:16,tabSize:4,thematicBreakMarkerCountMin:3,v8MaxSafeChunkSize:1e4};f();var Ae={data:"data",whitespace:"whitespace",lineEnding:"lineEnding",lineEndingBlank:"lineEndingBlank",linePrefix:"linePrefix",lineSuffix:"lineSuffix",atxHeading:"atxHeading",atxHeadingSequence:"atxHeadingSequence",atxHeadingText:"atxHeadingText",autolink:"autolink",autolinkEmail:"autolinkEmail",autolinkMarker:"autolinkMarker",autolinkProtocol:"autolinkProtocol",characterEscape:"characterEscape",characterEscapeValue:"characterEscapeValue",characterReference:"characterReference",characterReferenceMarker:"characterReferenceMarker",characterReferenceMarkerNumeric:"characterReferenceMarkerNumeric",characterReferenceMarkerHexadecimal:"characterReferenceMarkerHexadecimal",characterReferenceValue:"characterReferenceValue",codeFenced:"codeFenced",codeFencedFence:"codeFencedFence",codeFencedFenceSequence:"codeFencedFenceSequence",codeFencedFenceInfo:"codeFencedFenceInfo",codeFencedFenceMeta:"codeFencedFenceMeta",codeFlowValue:"codeFlowValue",codeIndented:"codeIndented",codeText:"codeText",codeTextData:"codeTextData",codeTextPadding:"codeTextPadding",codeTextSequence:"codeTextSequence",content:"content",definition:"definition",definitionDestination:"definitionDestination",definitionDestinationLiteral:"definitionDestinationLiteral",definitionDestinationLiteralMarker:"definitionDestinationLiteralMarker",definitionDestinationRaw:"definitionDestinationRaw",definitionDestinationString:"definitionDestinationString",definitionLabel:"definitionLabel",definitionLabelMarker:"definitionLabelMarker",definitionLabelString:"definitionLabelString",definitionMarker:"definitionMarker",definitionTitle:"definitionTitle",definitionTitleMarker:"definitionTitleMarker",definitionTitleString:"definitionTitleString",emphasis:"emphasis",emphasisSequence:"emphasisSequence",emphasisText:"emphasisText",escapeMarker:"escapeMarker",hardBreakEscape:"hardBreakEscape",hardBreakTrailing:"hardBreakTrailing",htmlFlow:"htmlFlow",htmlFlowData:"htmlFlowData",htmlText:"htmlText",htmlTextData:"htmlTextData",image:"image",label:"label",labelText:"labelText",labelLink:"labelLink",labelImage:"labelImage",labelMarker:"labelMarker",labelImageMarker:"labelImageMarker",labelEnd:"labelEnd",link:"link",paragraph:"paragraph",reference:"reference",referenceMarker:"referenceMarker",referenceString:"referenceString",resource:"resource",resourceDestination:"resourceDestination",resourceDestinationLiteral:"resourceDestinationLiteral",resourceDestinationLiteralMarker:"resourceDestinationLiteralMarker",resourceDestinationRaw:"resourceDestinationRaw",resourceDestinationString:"resourceDestinationString",resourceMarker:"resourceMarker",resourceTitle:"resourceTitle",resourceTitleMarker:"resourceTitleMarker",resourceTitleString:"resourceTitleString",setextHeading:"setextHeading",setextHeadingText:"setextHeadingText",setextHeadingLine:"setextHeadingLine",setextHeadingLineSequence:"setextHeadingLineSequence",strong:"strong",strongSequence:"strongSequence",strongText:"strongText",thematicBreak:"thematicBreak",thematicBreakSequence:"thematicBreakSequence",blockQuote:"blockQuote",blockQuotePrefix:"blockQuotePrefix",blockQuoteMarker:"blockQuoteMarker",blockQuotePrefixWhitespace:"blockQuotePrefixWhitespace",listOrdered:"listOrdered",listUnordered:"listUnordered",listItemIndent:"listItemIndent",listItemMarker:"listItemMarker",listItemPrefix:"listItemPrefix",listItemPrefixWhitespace:"listItemPrefixWhitespace",listItemValue:"listItemValue",chunkDocument:"chunkDocument",chunkContent:"chunkContent",chunkFlow:"chunkFlow",chunkText:"chunkText",chunkString:"chunkString"};f();f();f();function Ws(e){return e===161||e===164||e===167||e===168||e===170||e===173||e===174||e>=176&&e<=180||e>=182&&e<=186||e>=188&&e<=191||e===198||e===208||e===215||e===216||e>=222&&e<=225||e===230||e>=232&&e<=234||e===236||e===237||e===240||e===242||e===243||e>=247&&e<=250||e===252||e===254||e===257||e===273||e===275||e===283||e===294||e===295||e===299||e>=305&&e<=307||e===312||e>=319&&e<=322||e===324||e>=328&&e<=331||e===333||e===338||e===339||e===358||e===359||e===363||e===462||e===464||e===466||e===468||e===470||e===472||e===474||e===476||e===593||e===609||e===708||e===711||e>=713&&e<=715||e===717||e===720||e>=728&&e<=731||e===733||e===735||e>=768&&e<=879||e>=913&&e<=929||e>=931&&e<=937||e>=945&&e<=961||e>=963&&e<=969||e===1025||e>=1040&&e<=1103||e===1105||e===8208||e>=8211&&e<=8214||e===8216||e===8217||e===8220||e===8221||e>=8224&&e<=8226||e>=8228&&e<=8231||e===8240||e===8242||e===8243||e===8245||e===8251||e===8254||e===8308||e===8319||e>=8321&&e<=8324||e===8364||e===8451||e===8453||e===8457||e===8467||e===8470||e===8481||e===8482||e===8486||e===8491||e===8531||e===8532||e>=8539&&e<=8542||e>=8544&&e<=8555||e>=8560&&e<=8569||e===8585||e>=8592&&e<=8601||e===8632||e===8633||e===8658||e===8660||e===8679||e===8704||e===8706||e===8707||e===8711||e===8712||e===8715||e===8719||e===8721||e===8725||e===8730||e>=8733&&e<=8736||e===8739||e===8741||e>=8743&&e<=8748||e===8750||e>=8756&&e<=8759||e===8764||e===8765||e===8776||e===8780||e===8786||e===8800||e===8801||e>=8804&&e<=8807||e===8810||e===8811||e===8814||e===8815||e===8834||e===8835||e===8838||e===8839||e===8853||e===8857||e===8869||e===8895||e===8978||e>=9312&&e<=9449||e>=9451&&e<=9547||e>=9552&&e<=9587||e>=9600&&e<=9615||e>=9618&&e<=9621||e===9632||e===9633||e>=9635&&e<=9641||e===9650||e===9651||e===9654||e===9655||e===9660||e===9661||e===9664||e===9665||e>=9670&&e<=9672||e===9675||e>=9678&&e<=9681||e>=9698&&e<=9701||e===9711||e===9733||e===9734||e===9737||e===9742||e===9743||e===9756||e===9758||e===9792||e===9794||e===9824||e===9825||e>=9827&&e<=9829||e>=9831&&e<=9834||e===9836||e===9837||e===9839||e===9886||e===9887||e===9919||e>=9926&&e<=9933||e>=9935&&e<=9939||e>=9941&&e<=9953||e===9955||e===9960||e===9961||e>=9963&&e<=9969||e===9972||e>=9974&&e<=9977||e===9979||e===9980||e===9982||e===9983||e===10045||e>=10102&&e<=10111||e>=11094&&e<=11097||e>=12872&&e<=12879||e>=57344&&e<=63743||e>=65024&&e<=65039||e===65533||e>=127232&&e<=127242||e>=127248&&e<=127277||e>=127280&&e<=127337||e>=127344&&e<=127373||e===127375||e===127376||e>=127387&&e<=127404||e>=917760&&e<=917999||e>=983040&&e<=1048573||e>=1048576&&e<=1114109}function Gs(e){return e===12288||e>=65281&&e<=65376||e>=65504&&e<=65510}function js(e){return e>=4352&&e<=4447||e===8986||e===8987||e===9001||e===9002||e>=9193&&e<=9196||e===9200||e===9203||e===9725||e===9726||e===9748||e===9749||e>=9776&&e<=9783||e>=9800&&e<=9811||e===9855||e>=9866&&e<=9871||e===9875||e===9889||e===9898||e===9899||e===9917||e===9918||e===9924||e===9925||e===9934||e===9940||e===9962||e===9970||e===9971||e===9973||e===9978||e===9981||e===9989||e===9994||e===9995||e===10024||e===10060||e===10062||e>=10067&&e<=10069||e===10071||e>=10133&&e<=10135||e===10160||e===10175||e===11035||e===11036||e===11088||e===11093||e>=11904&&e<=11929||e>=11931&&e<=12019||e>=12032&&e<=12245||e>=12272&&e<=12287||e>=12289&&e<=12350||e>=12353&&e<=12438||e>=12441&&e<=12543||e>=12549&&e<=12591||e>=12593&&e<=12686||e>=12688&&e<=12773||e>=12783&&e<=12830||e>=12832&&e<=12871||e>=12880&&e<=42124||e>=42128&&e<=42182||e>=43360&&e<=43388||e>=44032&&e<=55203||e>=63744&&e<=64255||e>=65040&&e<=65049||e>=65072&&e<=65106||e>=65108&&e<=65126||e>=65128&&e<=65131||e>=94176&&e<=94180||e>=94192&&e<=94198||e>=94208&&e<=101589||e>=101631&&e<=101662||e>=101760&&e<=101874||e>=110576&&e<=110579||e>=110581&&e<=110587||e===110589||e===110590||e>=110592&&e<=110882||e===110898||e>=110928&&e<=110930||e===110933||e>=110948&&e<=110951||e>=110960&&e<=111355||e>=119552&&e<=119638||e>=119648&&e<=119670||e===126980||e===127183||e===127374||e>=127377&&e<=127386||e>=127488&&e<=127490||e>=127504&&e<=127547||e>=127552&&e<=127560||e===127568||e===127569||e>=127584&&e<=127589||e>=127744&&e<=127776||e>=127789&&e<=127797||e>=127799&&e<=127868||e>=127870&&e<=127891||e>=127904&&e<=127946||e>=127951&&e<=127955||e>=127968&&e<=127984||e===127988||e>=127992&&e<=128062||e===128064||e>=128066&&e<=128252||e>=128255&&e<=128317||e>=128331&&e<=128334||e>=128336&&e<=128359||e===128378||e===128405||e===128406||e===128420||e>=128507&&e<=128591||e>=128640&&e<=128709||e===128716||e>=128720&&e<=128722||e>=128725&&e<=128728||e>=128732&&e<=128735||e===128747||e===128748||e>=128756&&e<=128764||e>=128992&&e<=129003||e===129008||e>=129292&&e<=129338||e>=129340&&e<=129349||e>=129351&&e<=129535||e>=129648&&e<=129660||e>=129664&&e<=129674||e>=129678&&e<=129734||e===129736||e>=129741&&e<=129756||e>=129759&&e<=129770||e>=129775&&e<=129784||e>=131072&&e<=196605||e>=196608&&e<=262141}function zs(e){return Ws(e)?"ambiguous":Gs(e)?"fullwidth":e===8361||e>=65377&&e<=65470||e>=65474&&e<=65479||e>=65482&&e<=65487||e>=65490&&e<=65495||e>=65498&&e<=65500||e>=65512&&e<=65518?"halfwidth":e>=32&&e<=126||e===162||e===163||e===165||e===166||e===172||e===175||e>=10214&&e<=10221||e===10629||e===10630?"narrow":js(e)?"wide":"neutral"}function Dc(e){if(!Number.isSafeInteger(e))throw new TypeError(`Expected a code point, got \`${typeof e}\`.`)}function Vs(e){return Dc(e),zs(e)}var Bc=Object.defineProperty,Ec=(e,t,a)=>t in e?Bc(e,t,{enumerable:!0,configurable:!0,writable:!0,value:a}):e[t]=a,_c=(e,t,a)=>Ec(e,typeof t!="symbol"?t+"":t,a);function Nc(e){return new RegExp("^\\p{Emoji_Presentation}","u").test(String.fromCodePoint(e))}function Oc(e){if(!e||e<4352)return!1;switch(Vs(e)){case"fullwidth":case"halfwidth":return!0;case"wide":return!Nc(e);case"narrow":return!1;case"ambiguous":return 917760<=e&&e<=917999?null:!1;case"neutral":return new RegExp("^\\p{sc=Hangul}","u").test(String.fromCodePoint(e))}}function Uc(e,t){return t!==65025||!e||e<8216?!1:e===8216||e===8217||e===8220||e===8221}function Hc(e){return e!==null&&e>=65024&&e<=65038}var qc=$s(new RegExp("\\p{P}|\\p{S}","u")),Wc=$s(/\s/);function $s(e){return t;function t(a){return a!==null&&a>-1&&e.test(String.fromCodePoint(a))}}var Re;(e=>{e.spaceOrPunctuation=3,e.cjk=4096,e.cjkPunctuation=4098,e.ivs=8192,e.cjkOrIvs=12288,e.nonEmojiGeneralUseVS=16384,e.variationSelector=24576,e.ivsToCjkRightShift=1})(Re||(Re={}));function at(e){if(e===xe.eof||sn(e)||Wc(e))return Ge.characterGroupWhitespace;let t=0;if(e>=4352){if(Hc(e))return Re.nonEmojiGeneralUseVS;switch(Oc(e)){case null:return Re.ivs;case!0:t|=Re.cjk;break}}return qc(e)&&(t|=Ge.characterGroupPunctuation),t}function Ba(e,t,a){if(!jc(e))return e;let o=t(),r=at(o);return!o||ft(r)?e:Uc(o,a)?Re.cjkPunctuation:Gc(r)}function Gc(e){return e&~Re.ivs}function ft(e){return!!(e&Ge.characterGroupWhitespace)}function Pt(e){return(e&Re.cjkPunctuation)===Ge.characterGroupPunctuation}function na(e){return!!(e&Re.cjk)}function Xs(e){return e===Re.ivs}function Ks(e){return!!(e&Re.cjkOrIvs)}function jc(e){return e===Re.nonEmojiGeneralUseVS}function Vo(e){return!!(e&Re.spaceOrPunctuation)}function Ea(e){return!!(e&&e>=55296&&e<=56319)}function _a(e){return!!(e&&e>=56320&&e<=57343)}function Na(e,t,a){if(t._bufferIndex<2)return e;let r=a({start:{...t,_bufferIndex:t._bufferIndex-2},end:t}).codePointAt(0);return r&&r>=65536?r:e}function zc(e,t,a){let o=e>=65536?2:1;if(t._bufferIndex<1+o)return null;let r=t._bufferIndex-o-2,n=a({start:{...t,_bufferIndex:r>=0?r:0},end:{...t,_bufferIndex:t._bufferIndex-o}}),s=n.charCodeAt(n.length-1);if(Number.isNaN(s))return null;if(n.length<2||s<56320||57343<s)return s;let i=n.codePointAt(0);return i&&i>=65536?i:s}var Oa=class{constructor(e,t,a){this.previousCode=e,this.nowPoint=t,this.sliceSerialize=a,_c(this,"cachedValue")}value(){return this.cachedValue===void 0&&(this.cachedValue=zc(this.previousCode,this.nowPoint,this.sliceSerialize)),this.cachedValue}};function Ua(e,t,a){let o=a({start:t,end:{...t,_bufferIndex:t._bufferIndex+2}}).codePointAt(0);return o&&o>=65536?o:e}var $o={name:"attention",resolveAll:Vc,tokenize:$c};function Vc(e,t){let a=-1,o,r,n,s,i,l,u,c;for(;++a<e.length;)if(e[a][0]==="enter"&&e[a][1].type==="attentionSequence"&&e[a][1]._close){for(o=a;o--;)if(e[o][0]==="exit"&&e[o][1].type==="attentionSequence"&&e[o][1]._open&&t.sliceSerialize(e[o][1]).charCodeAt(0)===t.sliceSerialize(e[a][1]).charCodeAt(0)){if((e[o][1]._close||e[a][1]._open)&&(e[a][1].end.offset-e[a][1].start.offset)%3&&!((e[o][1].end.offset-e[o][1].start.offset+e[a][1].end.offset-e[a][1].start.offset)%3))continue;l=e[o][1].end.offset-e[o][1].start.offset>1&&e[a][1].end.offset-e[a][1].start.offset>1?2:1;let d={...e[o][1].end},p={...e[a][1].start};Qs(d,-l),Qs(p,l),s={type:l>1?Ae.strongSequence:Ae.emphasisSequence,start:d,end:{...e[o][1].end}},i={type:l>1?Ae.strongSequence:Ae.emphasisSequence,start:{...e[a][1].start},end:p},n={type:l>1?Ae.strongText:Ae.emphasisText,start:{...e[o][1].end},end:{...e[a][1].start}},r={type:l>1?Ae.strong:Ae.emphasis,start:{...s.start},end:{...i.end}},e[o][1].end={...s.start},e[a][1].start={...i.end},u=[],e[o][1].end.offset-e[o][1].start.offset&&(u=yt(u,[["enter",e[o][1],t],["exit",e[o][1],t]])),u=yt(u,[["enter",r,t],["enter",s,t],["exit",s,t],["enter",n,t]]),t.parser.constructs.insideSpan.null,u=yt(u,ka(t.parser.constructs.insideSpan.null,e.slice(o+1,a),t)),u=yt(u,[["exit",n,t],["enter",i,t],["exit",i,t],["exit",r,t]]),e[a][1].end.offset-e[a][1].start.offset?(c=2,u=yt(u,[["enter",e[a][1],t],["exit",e[a][1],t]])):c=0,St(e,o-1,a-o+3,u),a=o+u.length-c-2;break}}for(a=-1;++a<e.length;)e[a][1].type==="attentionSequence"&&(e[a][1].type="data");return e}function $c(e,t){let a=this.parser.constructs.attentionMarkers.null,{now:o,sliceSerialize:r,previous:n}=this,s=_a(n)?Na(n,o(),r):n,i=at(s),l=new Oa(s,o(),r),u=Ba(i,l.value.bind(l),s),c;return d;function d(m){return m===xe.asterisk||xe.underscore,c=m,e.enter("attentionSequence"),p(m)}function p(m){if(m===c)return e.consume(m),p;let h=e.exit("attentionSequence"),I=Ea(m)?Ua(m,o(),r):m,x=at(I);let S=Pt(u),L=S||ft(u),C=Pt(x),k=C||ft(x),T=Ks(u),P=!k||C&&(L||T)||a.includes(m),M=!L||S&&(k||na(x))||a.includes(s);return h._open=!!(c===xe.asterisk?P:P&&(Vo(u)||!M)),h._close=!!(c===xe.asterisk?M:M&&(Vo(x)||!P)),t(m)}}function Qs(e,t){e.column+=t,e.offset+=t,e._bufferIndex+=t}function Js(){return{text:{[xe.asterisk]:$o,[xe.underscore]:$o},insideSpan:{null:[$o]}}}function Ys(){let e=this.data();(e.micromarkExtensions||(e.micromarkExtensions=[])).push(Js())}f();f();function Zs(e){let a=(e||{}).singleTilde,o={name:"strikethrough",tokenize:n,resolveAll:r};return a==null&&(a=!0),{text:{[xe.tilde]:o},insideSpan:{null:[o]},attentionMarkers:{null:[xe.tilde]}};function r(s,i){let l=-1;for(;++l<s.length;)if(s[l][0]==="enter"&&s[l][1].type==="strikethroughSequenceTemporary"&&s[l][1]._close){let u=l;for(;u--;)if(s[u][0]==="exit"&&s[u][1].type==="strikethroughSequenceTemporary"&&s[u][1]._open&&s[l][1].end.offset-s[l][1].start.offset===s[u][1].end.offset-s[u][1].start.offset){s[l][1].type="strikethroughSequence",s[u][1].type="strikethroughSequence";let c={type:"strikethrough",start:Object.assign({},s[u][1].start),end:Object.assign({},s[l][1].end)},d={type:"strikethroughText",start:Object.assign({},s[u][1].end),end:Object.assign({},s[l][1].start)},p=[["enter",c,i],["enter",s[u][1],i],["exit",s[u][1],i],["enter",d,i]],m=i.parser.constructs.insideSpan.null;m&&St(p,p.length,0,ka(m,s.slice(u+1,l),i)),St(p,p.length,0,[["exit",d,i],["enter",s[l][1],i],["exit",s[l][1],i],["exit",c,i]]),St(s,u-1,l-u+3,p),l=u+p.length-2;break}}for(l=-1;++l<s.length;)s[l][1].type==="strikethroughSequenceTemporary"&&(s[l][1].type=Ae.data);return s}function n(s,i,l){let{now:u,sliceSerialize:c,previous:d}=this,p=_a(d)?Na(d,u(),c):d,m=at(p),h=new Oa(p,u(),c),I=Ba(m,h.value.bind(h),p),x=this.events,S=0;return L;function L(k){return xe.tilde,p===xe.tilde&&x[x.length-1][1].type!==Ae.characterEscape?l(k):(s.enter("strikethroughSequenceTemporary"),C(k))}function C(k){let T=at(p);if(k===xe.tilde)return S>1?l(k):(s.consume(k),S++,C);if(S<2&&!a)return l(k);let P=s.exit("strikethroughSequenceTemporary"),M=Ea(k)?Ua(k,u(),c):k,A=at(M),F=Pt(I)||ft(I),v=Pt(A)||ft(A),D=na(I)||Xs(T);return P._open=!v||A===Ge.attentionSideAfter&&(F||D),P._close=!F||T===Ge.attentionSideAfter&&(v||na(A)),i(k)}}}function ei(e){let t=this.data();(t.micromarkExtensions||(t.micromarkExtensions=[])).push(Zs(e))}var Xc=new Set(["\u3002","\uFF0E","\uFF0C","\u3001","\uFF1F","\uFF01","\uFF1A","\uFF1B","\uFF08","\uFF09","\u3010","\u3011","\u300C","\u300D","\u300E","\u300F","\u3008","\u3009","\u300A","\u300B"]),Kc=/^(https?:\/\/|mailto:|www\.)/i,Qc=e=>{if(e.children.length!==1)return!1;let t=e.children[0];return t.type==="text"&&t.value===e.url},Jc=e=>{let t=0;for(let a of e){if(Xc.has(a))return t;t+=a.length}return null},Yc=(e,t)=>({...t,url:e,children:[{type:"text",value:e}]}),Zc=e=>({type:"text",value:e}),ef=()=>e=>{Zr(e,"link",(t,a,o)=>{if(!o||typeof a!="number"||!Qc(t)||!Kc.test(t.url))return;let r=Jc(t.url);if(r===null||r===0)return;let n=t.url.slice(0,r),s=t.url.slice(r),i=Yc(n,t),l=Zc(s);return o.children.splice(a,1,i,l),a+1})};function tf(){let e=[Ys],t=[ef,ei],a=[...e,...t];return{name:"cjk",type:"cjk",remarkPluginsBefore:e,remarkPluginsAfter:t,remarkPlugins:a}}var Xo=tf();f();f();f();f();f();var oe=class extends Error{constructor(t){super(t),this.name="ShikiError"}};f();function af(e){return rr(e)}function rr(e){return Array.isArray(e)?of(e):e instanceof RegExp?e:typeof e=="object"?rf(e):e}function of(e){let t=[];for(let a=0,o=e.length;a<o;a++)t[a]=rr(e[a]);return t}function rf(e){let t={};for(let a in e)t[a]=rr(e[a]);return t}function ui(e,...t){return t.forEach(a=>{for(let o in a)e[o]=a[o]}),e}function di(e){let t=~e.lastIndexOf("/")||~e.lastIndexOf("\\");return t===0?e:~t===e.length-1?di(e.substring(0,e.length-1)):e.substr(~t+1)}var Ko=/\$(\d+)|\${(\d+):\/(downcase|upcase)}/g,Ha=class{static hasCaptures(e){return e===null?!1:(Ko.lastIndex=0,Ko.test(e))}static replaceCaptures(e,t,a){return e.replace(Ko,(o,r,n,s)=>{let i=a[parseInt(r||n,10)];if(i){let l=t.substring(i.start,i.end);for(;l[0]===".";)l=l.substring(1);switch(s){case"downcase":return l.toLowerCase();case"upcase":return l.toUpperCase();default:return l}}else return o})}};function ci(e,t){return e<t?-1:e>t?1:0}function fi(e,t){if(e===null&&t===null)return 0;if(!e)return-1;if(!t)return 1;let a=e.length,o=t.length;if(a===o){for(let r=0;r<a;r++){let n=ci(e[r],t[r]);if(n!==0)return n}return 0}return a-o}function ti(e){return!!(/^#[0-9a-f]{6}$/i.test(e)||/^#[0-9a-f]{8}$/i.test(e)||/^#[0-9a-f]{3}$/i.test(e)||/^#[0-9a-f]{4}$/i.test(e))}function pi(e){return e.replace(/[\-\\\{\}\*\+\?\|\^\$\.\,\[\]\(\)\#\s]/g,"\\$&")}var mi=class{constructor(e){this.fn=e}cache=new Map;get(e){if(this.cache.has(e))return this.cache.get(e);let t=this.fn(e);return this.cache.set(e,t),t}},la=class{constructor(e,t,a){this._colorMap=e,this._defaults=t,this._root=a}static createFromRawTheme(e,t){return this.createFromParsedTheme(lf(e),t)}static createFromParsedTheme(e,t){return df(e,t)}_cachedMatchRoot=new mi(e=>this._root.match(e));getColorMap(){return this._colorMap.getColorMap()}getDefaults(){return this._defaults}match(e){if(e===null)return this._defaults;let t=e.scopeName,o=this._cachedMatchRoot.get(t).find(r=>nf(e.parent,r.parentScopes));return o?new hi(o.fontStyle,o.foreground,o.background):null}},Qo=class qa{constructor(t,a){this.parent=t,this.scopeName=a}static push(t,a){for(let o of a)t=new qa(t,o);return t}static from(...t){let a=null;for(let o=0;o<t.length;o++)a=new qa(a,t[o]);return a}push(t){return new qa(this,t)}getSegments(){let t=this,a=[];for(;t;)a.push(t.scopeName),t=t.parent;return a.reverse(),a}toString(){return this.getSegments().join(" ")}extends(t){return this===t?!0:this.parent===null?!1:this.parent.extends(t)}getExtensionIfDefined(t){let a=[],o=this;for(;o&&o!==t;)a.push(o.scopeName),o=o.parent;return o===t?a.reverse():void 0}};function nf(e,t){if(t.length===0)return!0;for(let a=0;a<t.length;a++){let o=t[a],r=!1;if(o===">"){if(a===t.length-1)return!1;o=t[++a],r=!0}for(;e&&!sf(e.scopeName,o);){if(r)return!1;e=e.parent}if(!e)return!1;e=e.parent}return!0}function sf(e,t){return t===e||e.startsWith(t)&&e[t.length]==="."}var hi=class{constructor(e,t,a){this.fontStyle=e,this.foregroundId=t,this.backgroundId=a}};function lf(e){if(!e)return[];if(!e.settings||!Array.isArray(e.settings))return[];let t=e.settings,a=[],o=0;for(let r=0,n=t.length;r<n;r++){let s=t[r];if(!s.settings)continue;let i;if(typeof s.scope=="string"){let d=s.scope;d=d.replace(/^[,]+/,""),d=d.replace(/[,]+$/,""),i=d.split(",")}else Array.isArray(s.scope)?i=s.scope:i=[""];let l=-1;if(typeof s.settings.fontStyle=="string"){l=0;let d=s.settings.fontStyle.split(" ");for(let p=0,m=d.length;p<m;p++)switch(d[p]){case"italic":l=l|1;break;case"bold":l=l|2;break;case"underline":l=l|4;break;case"strikethrough":l=l|8;break}}let u=null;typeof s.settings.foreground=="string"&&ti(s.settings.foreground)&&(u=s.settings.foreground);let c=null;typeof s.settings.background=="string"&&ti(s.settings.background)&&(c=s.settings.background);for(let d=0,p=i.length;d<p;d++){let h=i[d].trim().split(" "),I=h[h.length-1],x=null;h.length>1&&(x=h.slice(0,h.length-1),x.reverse()),a[o++]=new uf(I,x,r,l,u,c)}}return a}var uf=class{constructor(e,t,a,o,r,n){this.scope=e,this.parentScopes=t,this.index=a,this.fontStyle=o,this.foreground=r,this.background=n}},Ce=(e=>(e[e.NotSet=-1]="NotSet",e[e.None=0]="None",e[e.Italic=1]="Italic",e[e.Bold=2]="Bold",e[e.Underline=4]="Underline",e[e.Strikethrough=8]="Strikethrough",e))(Ce||{});function df(e,t){e.sort((l,u)=>{let c=ci(l.scope,u.scope);return c!==0||(c=fi(l.parentScopes,u.parentScopes),c!==0)?c:l.index-u.index});let a=0,o="#000000",r="#ffffff";for(;e.length>=1&&e[0].scope==="";){let l=e.shift();l.fontStyle!==-1&&(a=l.fontStyle),l.foreground!==null&&(o=l.foreground),l.background!==null&&(r=l.background)}let n=new cf(t),s=new hi(a,n.getId(o),n.getId(r)),i=new pf(new Yo(0,null,-1,0,0),[]);for(let l=0,u=e.length;l<u;l++){let c=e[l];i.insert(0,c.scope,c.parentScopes,c.fontStyle,n.getId(c.foreground),n.getId(c.background))}return new la(n,s,i)}var cf=class{_isFrozen;_lastColorId;_id2color;_color2id;constructor(e){if(this._lastColorId=0,this._id2color=[],this._color2id=Object.create(null),Array.isArray(e)){this._isFrozen=!0;for(let t=0,a=e.length;t<a;t++)this._color2id[e[t]]=t,this._id2color[t]=e[t]}else this._isFrozen=!1}getId(e){if(e===null)return 0;e=e.toUpperCase();let t=this._color2id[e];if(t)return t;if(this._isFrozen)throw new Error(`Missing color in color map - ${e}`);return t=++this._lastColorId,this._color2id[e]=t,this._id2color[t]=e,t}getColorMap(){return this._id2color.slice(0)}},ff=Object.freeze([]),Yo=class gi{scopeDepth;parentScopes;fontStyle;foreground;background;constructor(t,a,o,r,n){this.scopeDepth=t,this.parentScopes=a||ff,this.fontStyle=o,this.foreground=r,this.background=n}clone(){return new gi(this.scopeDepth,this.parentScopes,this.fontStyle,this.foreground,this.background)}static cloneArr(t){let a=[];for(let o=0,r=t.length;o<r;o++)a[o]=t[o].clone();return a}acceptOverwrite(t,a,o,r){this.scopeDepth>t?console.log("how did this happen?"):this.scopeDepth=t,a!==-1&&(this.fontStyle=a),o!==0&&(this.foreground=o),r!==0&&(this.background=r)}},pf=class Zo{constructor(t,a=[],o={}){this._mainRule=t,this._children=o,this._rulesWithParentScopes=a}_rulesWithParentScopes;static _cmpBySpecificity(t,a){if(t.scopeDepth!==a.scopeDepth)return a.scopeDepth-t.scopeDepth;let o=0,r=0;for(;t.parentScopes[o]===">"&&o++,a.parentScopes[r]===">"&&r++,!(o>=t.parentScopes.length||r>=a.parentScopes.length);){let n=a.parentScopes[r].length-t.parentScopes[o].length;if(n!==0)return n;o++,r++}return a.parentScopes.length-t.parentScopes.length}match(t){if(t!==""){let o=t.indexOf("."),r,n;if(o===-1?(r=t,n=""):(r=t.substring(0,o),n=t.substring(o+1)),this._children.hasOwnProperty(r))return this._children[r].match(n)}let a=this._rulesWithParentScopes.concat(this._mainRule);return a.sort(Zo._cmpBySpecificity),a}insert(t,a,o,r,n,s){if(a===""){this._doInsertHere(t,o,r,n,s);return}let i=a.indexOf("."),l,u;i===-1?(l=a,u=""):(l=a.substring(0,i),u=a.substring(i+1));let c;this._children.hasOwnProperty(l)?c=this._children[l]:(c=new Zo(this._mainRule.clone(),Yo.cloneArr(this._rulesWithParentScopes)),this._children[l]=c),c.insert(t+1,u,o,r,n,s)}_doInsertHere(t,a,o,r,n){if(a===null){this._mainRule.acceptOverwrite(t,o,r,n);return}for(let s=0,i=this._rulesWithParentScopes.length;s<i;s++){let l=this._rulesWithParentScopes[s];if(fi(l.parentScopes,a)===0){l.acceptOverwrite(t,o,r,n);return}}o===-1&&(o=this._mainRule.fontStyle),r===0&&(r=this._mainRule.foreground),n===0&&(n=this._mainRule.background),this._rulesWithParentScopes.push(new Yo(t,a,o,r,n))}},mt=class Be{static toBinaryStr(t){return t.toString(2).padStart(32,"0")}static print(t){let a=Be.getLanguageId(t),o=Be.getTokenType(t),r=Be.getFontStyle(t),n=Be.getForeground(t),s=Be.getBackground(t);console.log({languageId:a,tokenType:o,fontStyle:r,foreground:n,background:s})}static getLanguageId(t){return(t&255)>>>0}static getTokenType(t){return(t&768)>>>8}static containsBalancedBrackets(t){return(t&1024)!==0}static getFontStyle(t){return(t&30720)>>>11}static getForeground(t){return(t&16744448)>>>15}static getBackground(t){return(t&4278190080)>>>24}static set(t,a,o,r,n,s,i){let l=Be.getLanguageId(t),u=Be.getTokenType(t),c=Be.containsBalancedBrackets(t)?1:0,d=Be.getFontStyle(t),p=Be.getForeground(t),m=Be.getBackground(t);return a!==0&&(l=a),o!==8&&(u=o),r!==null&&(c=r?1:0),n!==-1&&(d=n),s!==0&&(p=s),i!==0&&(m=i),(l<<0|u<<8|c<<10|d<<11|p<<15|m<<24)>>>0}};function Ga(e,t){let a=[],o=mf(e),r=o.next();for(;r!==null;){let l=0;if(r.length===2&&r.charAt(1)===":"){switch(r.charAt(0)){case"R":l=1;break;case"L":l=-1;break;default:console.log(`Unknown priority ${r} in scope selector`)}r=o.next()}let u=s();if(a.push({matcher:u,priority:l}),r!==",")break;r=o.next()}return a;function n(){if(r==="-"){r=o.next();let l=n();return u=>!!l&&!l(u)}if(r==="("){r=o.next();let l=i();return r===")"&&(r=o.next()),l}if(ai(r)){let l=[];do l.push(r),r=o.next();while(ai(r));return u=>t(l,u)}return null}function s(){let l=[],u=n();for(;u;)l.push(u),u=n();return c=>l.every(d=>d(c))}function i(){let l=[],u=s();for(;u&&(l.push(u),r==="|"||r===",");){do r=o.next();while(r==="|"||r===",");u=s()}return c=>l.some(d=>d(c))}}function ai(e){return!!e&&!!e.match(/[\w\.:]+/)}function mf(e){let t=/([LR]:|[\w\.:][\w\.:\-]*|[\,\|\-\(\)])/g,a=t.exec(e);return{next:()=>{if(!a)return null;let o=a[0];return a=t.exec(e),o}}}function wi(e){typeof e.dispose=="function"&&e.dispose()}var ua=class{constructor(e){this.scopeName=e}toKey(){return this.scopeName}},hf=class{constructor(e,t){this.scopeName=e,this.ruleName=t}toKey(){return`${this.scopeName}#${this.ruleName}`}},gf=class{_references=[];_seenReferenceKeys=new Set;get references(){return this._references}visitedRule=new Set;add(e){let t=e.toKey();this._seenReferenceKeys.has(t)||(this._seenReferenceKeys.add(t),this._references.push(e))}},wf=class{constructor(e,t){this.repo=e,this.initialScopeName=t,this.seenFullScopeRequests.add(this.initialScopeName),this.Q=[new ua(this.initialScopeName)]}seenFullScopeRequests=new Set;seenPartialScopeRequests=new Set;Q;processQueue(){let e=this.Q;this.Q=[];let t=new gf;for(let a of e)xf(a,this.initialScopeName,this.repo,t);for(let a of t.references)if(a instanceof ua){if(this.seenFullScopeRequests.has(a.scopeName))continue;this.seenFullScopeRequests.add(a.scopeName),this.Q.push(a)}else{if(this.seenFullScopeRequests.has(a.scopeName)||this.seenPartialScopeRequests.has(a.toKey()))continue;this.seenPartialScopeRequests.add(a.toKey()),this.Q.push(a)}}};function xf(e,t,a,o){let r=a.lookup(e.scopeName);if(!r){if(e.scopeName===t)throw new Error(`No grammar provided for <${t}>`);return}let n=a.lookup(t);e instanceof ua?Wa({baseGrammar:n,selfGrammar:r},o):er(e.ruleName,{baseGrammar:n,selfGrammar:r,repository:r.repository},o);let s=a.injections(e.scopeName);if(s)for(let i of s)o.add(new ua(i))}function er(e,t,a){if(t.repository&&t.repository[e]){let o=t.repository[e];ja([o],t,a)}}function Wa(e,t){e.selfGrammar.patterns&&Array.isArray(e.selfGrammar.patterns)&&ja(e.selfGrammar.patterns,{...e,repository:e.selfGrammar.repository},t),e.selfGrammar.injections&&ja(Object.values(e.selfGrammar.injections),{...e,repository:e.selfGrammar.repository},t)}function ja(e,t,a){for(let o of e){if(a.visitedRule.has(o))continue;a.visitedRule.add(o);let r=o.repository?ui({},t.repository,o.repository):t.repository;Array.isArray(o.patterns)&&ja(o.patterns,{...t,repository:r},a);let n=o.include;if(!n)continue;let s=xi(n);switch(s.kind){case 0:Wa({...t,selfGrammar:t.baseGrammar},a);break;case 1:Wa(t,a);break;case 2:er(s.ruleName,{...t,repository:r},a);break;case 3:case 4:let i=s.scopeName===t.selfGrammar.scopeName?t.selfGrammar:s.scopeName===t.baseGrammar.scopeName?t.baseGrammar:void 0;if(i){let l={baseGrammar:t.baseGrammar,selfGrammar:i,repository:r};s.kind===4?er(s.ruleName,l,a):Wa(l,a)}else s.kind===4?a.add(new hf(s.scopeName,s.ruleName)):a.add(new ua(s.scopeName));break}}}var Cf=class{kind=0},Lf=class{kind=1},If=class{constructor(e){this.ruleName=e}kind=2},Sf=class{constructor(e){this.scopeName=e}kind=3},yf=class{constructor(e,t){this.scopeName=e,this.ruleName=t}kind=4};function xi(e){if(e==="$base")return new Cf;if(e==="$self")return new Lf;let t=e.indexOf("#");if(t===-1)return new Sf(e);if(t===0)return new If(e.substring(1));{let a=e.substring(0,t),o=e.substring(t+1);return new yf(a,o)}}var bf=/\\(\d+)/,oi=/\\(\d+)/g;var kf=-1,Ci=-2;var fa=class{$location;id;_nameIsCapturing;_name;_contentNameIsCapturing;_contentName;constructor(e,t,a,o){this.$location=e,this.id=t,this._name=a||null,this._nameIsCapturing=Ha.hasCaptures(this._name),this._contentName=o||null,this._contentNameIsCapturing=Ha.hasCaptures(this._contentName)}get debugName(){let e=this.$location?`${di(this.$location.filename)}:${this.$location.line}`:"unknown";return`${this.constructor.name}#${this.id} @ ${e}`}getName(e,t){return!this._nameIsCapturing||this._name===null||e===null||t===null?this._name:Ha.replaceCaptures(this._name,e,t)}getContentName(e,t){return!this._contentNameIsCapturing||this._contentName===null?this._contentName:Ha.replaceCaptures(this._contentName,e,t)}},Tf=class extends fa{retokenizeCapturedWithRuleId;constructor(e,t,a,o,r){super(e,t,a,o),this.retokenizeCapturedWithRuleId=r}dispose(){}collectPatterns(e,t){throw new Error("Not supported!")}compile(e,t){throw new Error("Not supported!")}compileAG(e,t,a,o){throw new Error("Not supported!")}},vf=class extends fa{_match;captures;_cachedCompiledPatterns;constructor(e,t,a,o,r){super(e,t,a,null),this._match=new da(o,this.id),this.captures=r,this._cachedCompiledPatterns=null}dispose(){this._cachedCompiledPatterns&&(this._cachedCompiledPatterns.dispose(),this._cachedCompiledPatterns=null)}get debugMatchRegExp(){return`${this._match.source}`}collectPatterns(e,t){t.push(this._match)}compile(e,t){return this._getCachedCompiledPatterns(e).compile(e)}compileAG(e,t,a,o){return this._getCachedCompiledPatterns(e).compileAG(e,a,o)}_getCachedCompiledPatterns(e){return this._cachedCompiledPatterns||(this._cachedCompiledPatterns=new ca,this.collectPatterns(e,this._cachedCompiledPatterns)),this._cachedCompiledPatterns}},ri=class extends fa{hasMissingPatterns;patterns;_cachedCompiledPatterns;constructor(e,t,a,o,r){super(e,t,a,o),this.patterns=r.patterns,this.hasMissingPatterns=r.hasMissingPatterns,this._cachedCompiledPatterns=null}dispose(){this._cachedCompiledPatterns&&(this._cachedCompiledPatterns.dispose(),this._cachedCompiledPatterns=null)}collectPatterns(e,t){for(let a of this.patterns)e.getRule(a).collectPatterns(e,t)}compile(e,t){return this._getCachedCompiledPatterns(e).compile(e)}compileAG(e,t,a,o){return this._getCachedCompiledPatterns(e).compileAG(e,a,o)}_getCachedCompiledPatterns(e){return this._cachedCompiledPatterns||(this._cachedCompiledPatterns=new ca,this.collectPatterns(e,this._cachedCompiledPatterns)),this._cachedCompiledPatterns}},tr=class extends fa{_begin;beginCaptures;_end;endHasBackReferences;endCaptures;applyEndPatternLast;hasMissingPatterns;patterns;_cachedCompiledPatterns;constructor(e,t,a,o,r,n,s,i,l,u){super(e,t,a,o),this._begin=new da(r,this.id),this.beginCaptures=n,this._end=new da(s||"\uFFFF",-1),this.endHasBackReferences=this._end.hasBackReferences,this.endCaptures=i,this.applyEndPatternLast=l||!1,this.patterns=u.patterns,this.hasMissingPatterns=u.hasMissingPatterns,this._cachedCompiledPatterns=null}dispose(){this._cachedCompiledPatterns&&(this._cachedCompiledPatterns.dispose(),this._cachedCompiledPatterns=null)}get debugBeginRegExp(){return`${this._begin.source}`}get debugEndRegExp(){return`${this._end.source}`}getEndWithResolvedBackReferences(e,t){return this._end.resolveBackReferences(e,t)}collectPatterns(e,t){t.push(this._begin)}compile(e,t){return this._getCachedCompiledPatterns(e,t).compile(e)}compileAG(e,t,a,o){return this._getCachedCompiledPatterns(e,t).compileAG(e,a,o)}_getCachedCompiledPatterns(e,t){if(!this._cachedCompiledPatterns){this._cachedCompiledPatterns=new ca;for(let a of this.patterns)e.getRule(a).collectPatterns(e,this._cachedCompiledPatterns);this.applyEndPatternLast?this._cachedCompiledPatterns.push(this._end.hasBackReferences?this._end.clone():this._end):this._cachedCompiledPatterns.unshift(this._end.hasBackReferences?this._end.clone():this._end)}return this._end.hasBackReferences&&(this.applyEndPatternLast?this._cachedCompiledPatterns.setSource(this._cachedCompiledPatterns.length()-1,t):this._cachedCompiledPatterns.setSource(0,t)),this._cachedCompiledPatterns}},za=class extends fa{_begin;beginCaptures;whileCaptures;_while;whileHasBackReferences;hasMissingPatterns;patterns;_cachedCompiledPatterns;_cachedCompiledWhilePatterns;constructor(e,t,a,o,r,n,s,i,l){super(e,t,a,o),this._begin=new da(r,this.id),this.beginCaptures=n,this.whileCaptures=i,this._while=new da(s,Ci),this.whileHasBackReferences=this._while.hasBackReferences,this.patterns=l.patterns,this.hasMissingPatterns=l.hasMissingPatterns,this._cachedCompiledPatterns=null,this._cachedCompiledWhilePatterns=null}dispose(){this._cachedCompiledPatterns&&(this._cachedCompiledPatterns.dispose(),this._cachedCompiledPatterns=null),this._cachedCompiledWhilePatterns&&(this._cachedCompiledWhilePatterns.dispose(),this._cachedCompiledWhilePatterns=null)}get debugBeginRegExp(){return`${this._begin.source}`}get debugWhileRegExp(){return`${this._while.source}`}getWhileWithResolvedBackReferences(e,t){return this._while.resolveBackReferences(e,t)}collectPatterns(e,t){t.push(this._begin)}compile(e,t){return this._getCachedCompiledPatterns(e).compile(e)}compileAG(e,t,a,o){return this._getCachedCompiledPatterns(e).compileAG(e,a,o)}_getCachedCompiledPatterns(e){if(!this._cachedCompiledPatterns){this._cachedCompiledPatterns=new ca;for(let t of this.patterns)e.getRule(t).collectPatterns(e,this._cachedCompiledPatterns)}return this._cachedCompiledPatterns}compileWhile(e,t){return this._getCachedCompiledWhilePatterns(e,t).compile(e)}compileWhileAG(e,t,a,o){return this._getCachedCompiledWhilePatterns(e,t).compileAG(e,a,o)}_getCachedCompiledWhilePatterns(e,t){return this._cachedCompiledWhilePatterns||(this._cachedCompiledWhilePatterns=new ca,this._cachedCompiledWhilePatterns.push(this._while.hasBackReferences?this._while.clone():this._while)),this._while.hasBackReferences&&this._cachedCompiledWhilePatterns.setSource(0,t||"\uFFFF"),this._cachedCompiledWhilePatterns}},Li=class be{static createCaptureRule(t,a,o,r,n){return t.registerRule(s=>new Tf(a,s,o,r,n))}static getCompiledRuleId(t,a,o){return t.id||a.registerRule(r=>{if(t.id=r,t.match)return new vf(t.$vscodeTextmateLocation,t.id,t.name,t.match,be._compileCaptures(t.captures,a,o));if(typeof t.begin>"u"){t.repository&&(o=ui({},o,t.repository));let n=t.patterns;return typeof n>"u"&&t.include&&(n=[{include:t.include}]),new ri(t.$vscodeTextmateLocation,t.id,t.name,t.contentName,be._compilePatterns(n,a,o))}return t.while?new za(t.$vscodeTextmateLocation,t.id,t.name,t.contentName,t.begin,be._compileCaptures(t.beginCaptures||t.captures,a,o),t.while,be._compileCaptures(t.whileCaptures||t.captures,a,o),be._compilePatterns(t.patterns,a,o)):new tr(t.$vscodeTextmateLocation,t.id,t.name,t.contentName,t.begin,be._compileCaptures(t.beginCaptures||t.captures,a,o),t.end,be._compileCaptures(t.endCaptures||t.captures,a,o),t.applyEndPatternLast,be._compilePatterns(t.patterns,a,o))}),t.id}static _compileCaptures(t,a,o){let r=[];if(t){let n=0;for(let s in t){if(s==="$vscodeTextmateLocation")continue;let i=parseInt(s,10);i>n&&(n=i)}for(let s=0;s<=n;s++)r[s]=null;for(let s in t){if(s==="$vscodeTextmateLocation")continue;let i=parseInt(s,10),l=0;t[s].patterns&&(l=be.getCompiledRuleId(t[s],a,o)),r[i]=be.createCaptureRule(a,t[s].$vscodeTextmateLocation,t[s].name,t[s].contentName,l)}}return r}static _compilePatterns(t,a,o){let r=[];if(t)for(let n=0,s=t.length;n<s;n++){let i=t[n],l=-1;if(i.include){let u=xi(i.include);switch(u.kind){case 0:case 1:l=be.getCompiledRuleId(o[i.include],a,o);break;case 2:let c=o[u.ruleName];c&&(l=be.getCompiledRuleId(c,a,o));break;case 3:case 4:let d=u.scopeName,p=u.kind===4?u.ruleName:null,m=a.getExternalGrammar(d,o);if(m)if(p){let h=m.repository[p];h&&(l=be.getCompiledRuleId(h,a,m.repository))}else l=be.getCompiledRuleId(m.repository.$self,a,m.repository);break}}else l=be.getCompiledRuleId(i,a,o);if(l!==-1){let u=a.getRule(l),c=!1;if((u instanceof ri||u instanceof tr||u instanceof za)&&u.hasMissingPatterns&&u.patterns.length===0&&(c=!0),c)continue;r.push(l)}}return{patterns:r,hasMissingPatterns:(t?t.length:0)!==r.length}}},da=class Ii{source;ruleId;hasAnchor;hasBackReferences;_anchorCache;constructor(t,a){if(t&&typeof t=="string"){let o=t.length,r=0,n=[],s=!1;for(let i=0;i<o;i++)if(t.charAt(i)==="\\"&&i+1<o){let u=t.charAt(i+1);u==="z"?(n.push(t.substring(r,i)),n.push("$(?!\\n)(?<!\\n)"),r=i+2):(u==="A"||u==="G")&&(s=!0),i++}this.hasAnchor=s,r===0?this.source=t:(n.push(t.substring(r,o)),this.source=n.join(""))}else this.hasAnchor=!1,this.source=t;this.hasAnchor?this._anchorCache=this._buildAnchorCache():this._anchorCache=null,this.ruleId=a,typeof this.source=="string"?this.hasBackReferences=bf.test(this.source):this.hasBackReferences=!1}clone(){return new Ii(this.source,this.ruleId)}setSource(t){this.source!==t&&(this.source=t,this.hasAnchor&&(this._anchorCache=this._buildAnchorCache()))}resolveBackReferences(t,a){if(typeof this.source!="string")throw new Error("This method should only be called if the source is a string");let o=a.map(r=>t.substring(r.start,r.end));return oi.lastIndex=0,this.source.replace(oi,(r,n)=>pi(o[parseInt(n,10)]||""))}_buildAnchorCache(){if(typeof this.source!="string")throw new Error("This method should only be called if the source is a string");let t=[],a=[],o=[],r=[],n,s,i,l;for(n=0,s=this.source.length;n<s;n++)i=this.source.charAt(n),t[n]=i,a[n]=i,o[n]=i,r[n]=i,i==="\\"&&n+1<s&&(l=this.source.charAt(n+1),l==="A"?(t[n+1]="\uFFFF",a[n+1]="\uFFFF",o[n+1]="A",r[n+1]="A"):l==="G"?(t[n+1]="\uFFFF",a[n+1]="G",o[n+1]="\uFFFF",r[n+1]="G"):(t[n+1]=l,a[n+1]=l,o[n+1]=l,r[n+1]=l),n++);return{A0_G0:t.join(""),A0_G1:a.join(""),A1_G0:o.join(""),A1_G1:r.join("")}}resolveAnchors(t,a){return!this.hasAnchor||!this._anchorCache||typeof this.source!="string"?this.source:t?a?this._anchorCache.A1_G1:this._anchorCache.A1_G0:a?this._anchorCache.A0_G1:this._anchorCache.A0_G0}},ca=class{_items;_hasAnchors;_cached;_anchorCache;constructor(){this._items=[],this._hasAnchors=!1,this._cached=null,this._anchorCache={A0_G0:null,A0_G1:null,A1_G0:null,A1_G1:null}}dispose(){this._disposeCaches()}_disposeCaches(){this._cached&&(this._cached.dispose(),this._cached=null),this._anchorCache.A0_G0&&(this._anchorCache.A0_G0.dispose(),this._anchorCache.A0_G0=null),this._anchorCache.A0_G1&&(this._anchorCache.A0_G1.dispose(),this._anchorCache.A0_G1=null),this._anchorCache.A1_G0&&(this._anchorCache.A1_G0.dispose(),this._anchorCache.A1_G0=null),this._anchorCache.A1_G1&&(this._anchorCache.A1_G1.dispose(),this._anchorCache.A1_G1=null)}push(e){this._items.push(e),this._hasAnchors=this._hasAnchors||e.hasAnchor}unshift(e){this._items.unshift(e),this._hasAnchors=this._hasAnchors||e.hasAnchor}length(){return this._items.length}setSource(e,t){this._items[e].source!==t&&(this._disposeCaches(),this._items[e].setSource(t))}compile(e){if(!this._cached){let t=this._items.map(a=>a.source);this._cached=new ni(e,t,this._items.map(a=>a.ruleId))}return this._cached}compileAG(e,t,a){return this._hasAnchors?t?a?(this._anchorCache.A1_G1||(this._anchorCache.A1_G1=this._resolveAnchors(e,t,a)),this._anchorCache.A1_G1):(this._anchorCache.A1_G0||(this._anchorCache.A1_G0=this._resolveAnchors(e,t,a)),this._anchorCache.A1_G0):a?(this._anchorCache.A0_G1||(this._anchorCache.A0_G1=this._resolveAnchors(e,t,a)),this._anchorCache.A0_G1):(this._anchorCache.A0_G0||(this._anchorCache.A0_G0=this._resolveAnchors(e,t,a)),this._anchorCache.A0_G0):this.compile(e)}_resolveAnchors(e,t,a){let o=this._items.map(r=>r.resolveAnchors(t,a));return new ni(e,o,this._items.map(r=>r.ruleId))}},ni=class{constructor(e,t,a){this.regExps=t,this.rules=a,this.scanner=e.createOnigScanner(t)}scanner;dispose(){typeof this.scanner.dispose=="function"&&this.scanner.dispose()}toString(){let e=[];for(let t=0,a=this.rules.length;t<a;t++)e.push(" - "+this.rules[t]+": "+this.regExps[t]);return e.join(`
69
+ `)}findNextMatchSync(e,t,a){let o=this.scanner.findNextMatchSync(e,t,a);return o?{ruleId:this.rules[o.index],captureIndices:o.captureIndices}:null}},Jo=class{constructor(e,t){this.languageId=e,this.tokenType=t}},Pf=class ar{_defaultAttributes;_embeddedLanguagesMatcher;constructor(t,a){this._defaultAttributes=new Jo(t,8),this._embeddedLanguagesMatcher=new Af(Object.entries(a||{}))}getDefaultAttributes(){return this._defaultAttributes}getBasicScopeAttributes(t){return t===null?ar._NULL_SCOPE_METADATA:this._getBasicScopeAttributes.get(t)}static _NULL_SCOPE_METADATA=new Jo(0,0);_getBasicScopeAttributes=new mi(t=>{let a=this._scopeToLanguage(t),o=this._toStandardTokenType(t);return new Jo(a,o)});_scopeToLanguage(t){return this._embeddedLanguagesMatcher.match(t)||0}_toStandardTokenType(t){let a=t.match(ar.STANDARD_TOKEN_TYPE_REGEXP);if(!a)return 8;switch(a[1]){case"comment":return 1;case"string":return 2;case"regex":return 3;case"meta.embedded":return 0}throw new Error("Unexpected match for standard token type!")}static STANDARD_TOKEN_TYPE_REGEXP=/\b(comment|string|regex|meta\.embedded)\b/},Af=class{values;scopesRegExp;constructor(e){if(e.length===0)this.values=null,this.scopesRegExp=null;else{this.values=new Map(e);let t=e.map(([a,o])=>pi(a));t.sort(),t.reverse(),this.scopesRegExp=new RegExp(`^((${t.join(")|(")}))($|\\.)`,"")}}match(e){if(!this.scopesRegExp)return;let t=e.match(this.scopesRegExp);if(t)return this.values.get(t[1])}},Ob={InDebugMode:typeof process<"u"&&!!process.env.VSCODE_TEXTMATE_DEBUG},Si=!1,si=class{constructor(e,t){this.stack=e,this.stoppedEarly=t}};function yi(e,t,a,o,r,n,s,i){let l=t.content.length,u=!1,c=-1;if(s){let m=Rf(e,t,a,o,r,n);r=m.stack,o=m.linePos,a=m.isFirstLine,c=m.anchorPosition}let d=Date.now();for(;!u;){if(i!==0&&Date.now()-d>i)return new si(r,!0);p()}return new si(r,!1);function p(){let m=Mf(e,t,a,o,r,c);if(!m){n.produce(r,l),u=!0;return}let h=m.captureIndices,I=m.matchedRuleId,x=h&&h.length>0?h[0].end>o:!1;if(I===kf){let S=r.getRule(e);n.produce(r,h[0].start),r=r.withContentNameScopesList(r.nameScopesList),sa(e,t,a,r,n,S.endCaptures,h),n.produce(r,h[0].end);let L=r;if(r=r.parent,c=L.getAnchorPos(),!x&&L.getEnterPos()===o){r=L,n.produce(r,l),u=!0;return}}else{let S=e.getRule(I);n.produce(r,h[0].start);let L=r,C=S.getName(t.content,h),k=r.contentNameScopesList.pushAttributed(C,e);if(r=r.push(I,o,c,h[0].end===l,null,k,k),S instanceof tr){let T=S;sa(e,t,a,r,n,T.beginCaptures,h),n.produce(r,h[0].end),c=h[0].end;let P=T.getContentName(t.content,h),M=k.pushAttributed(P,e);if(r=r.withContentNameScopesList(M),T.endHasBackReferences&&(r=r.withEndRule(T.getEndWithResolvedBackReferences(t.content,h))),!x&&L.hasSameRuleAs(r)){r=r.pop(),n.produce(r,l),u=!0;return}}else if(S instanceof za){let T=S;sa(e,t,a,r,n,T.beginCaptures,h),n.produce(r,h[0].end),c=h[0].end;let P=T.getContentName(t.content,h),M=k.pushAttributed(P,e);if(r=r.withContentNameScopesList(M),T.whileHasBackReferences&&(r=r.withEndRule(T.getWhileWithResolvedBackReferences(t.content,h))),!x&&L.hasSameRuleAs(r)){r=r.pop(),n.produce(r,l),u=!0;return}}else if(sa(e,t,a,r,n,S.captures,h),n.produce(r,h[0].end),r=r.pop(),!x){r=r.safePop(),n.produce(r,l),u=!0;return}}h[0].end>o&&(o=h[0].end,a=!1)}}function Rf(e,t,a,o,r,n){let s=r.beginRuleCapturedEOL?0:-1,i=[];for(let l=r;l;l=l.pop()){let u=l.getRule(e);u instanceof za&&i.push({rule:u,stack:l})}for(let l=i.pop();l;l=i.pop()){let{ruleScanner:u,findOptions:c}=Bf(l.rule,e,l.stack.endRule,a,o===s),d=u.findNextMatchSync(t,o,c);if(d){if(d.ruleId!==Ci){r=l.stack.pop();break}d.captureIndices&&d.captureIndices.length&&(n.produce(l.stack,d.captureIndices[0].start),sa(e,t,a,l.stack,n,l.rule.whileCaptures,d.captureIndices),n.produce(l.stack,d.captureIndices[0].end),s=d.captureIndices[0].end,d.captureIndices[0].end>o&&(o=d.captureIndices[0].end,a=!1))}else{r=l.stack.pop();break}}return{stack:r,linePos:o,anchorPosition:s,isFirstLine:a}}function Mf(e,t,a,o,r,n){let s=Ff(e,t,a,o,r,n),i=e.getInjections();if(i.length===0)return s;let l=Df(i,e,t,a,o,r,n);if(!l)return s;if(!s)return l;let u=s.captureIndices[0].start,c=l.captureIndices[0].start;return c<u||l.priorityMatch&&c===u?l:s}function Ff(e,t,a,o,r,n){let s=r.getRule(e),{ruleScanner:i,findOptions:l}=bi(s,e,r.endRule,a,o===n),u=i.findNextMatchSync(t,o,l);return u?{captureIndices:u.captureIndices,matchedRuleId:u.ruleId}:null}function Df(e,t,a,o,r,n,s){let i=Number.MAX_VALUE,l=null,u,c=0,d=n.contentNameScopesList.getScopeNames();for(let p=0,m=e.length;p<m;p++){let h=e[p];if(!h.matcher(d))continue;let I=t.getRule(h.ruleId),{ruleScanner:x,findOptions:S}=bi(I,t,null,o,r===s),L=x.findNextMatchSync(a,r,S);if(!L)continue;let C=L.captureIndices[0].start;if(!(C>=i)&&(i=C,l=L.captureIndices,u=L.ruleId,c=h.priority,i===r))break}return l?{priorityMatch:c===-1,captureIndices:l,matchedRuleId:u}:null}function bi(e,t,a,o,r){if(Si){let s=e.compile(t,a),i=ki(o,r);return{ruleScanner:s,findOptions:i}}return{ruleScanner:e.compileAG(t,a,o,r),findOptions:0}}function Bf(e,t,a,o,r){if(Si){let s=e.compileWhile(t,a),i=ki(o,r);return{ruleScanner:s,findOptions:i}}return{ruleScanner:e.compileWhileAG(t,a,o,r),findOptions:0}}function ki(e,t){let a=0;return e||(a|=1),t||(a|=4),a}function sa(e,t,a,o,r,n,s){if(n.length===0)return;let i=t.content,l=Math.min(n.length,s.length),u=[],c=s[0].end;for(let d=0;d<l;d++){let p=n[d];if(p===null)continue;let m=s[d];if(m.length===0)continue;if(m.start>c)break;for(;u.length>0&&u[u.length-1].endPos<=m.start;)r.produceFromScopes(u[u.length-1].scopes,u[u.length-1].endPos),u.pop();if(u.length>0?r.produceFromScopes(u[u.length-1].scopes,m.start):r.produce(o,m.start),p.retokenizeCapturedWithRuleId){let I=p.getName(i,s),x=o.contentNameScopesList.pushAttributed(I,e),S=p.getContentName(i,s),L=x.pushAttributed(S,e),C=o.push(p.retokenizeCapturedWithRuleId,m.start,-1,!1,null,x,L),k=e.createOnigString(i.substring(0,m.end));yi(e,k,a&&m.start===0,m.start,C,r,!1,0),wi(k);continue}let h=p.getName(i,s);if(h!==null){let x=(u.length>0?u[u.length-1].scopes:o.contentNameScopesList).pushAttributed(h,e);u.push(new Ef(x,m.end))}}for(;u.length>0;)r.produceFromScopes(u[u.length-1].scopes,u[u.length-1].endPos),u.pop()}var Ef=class{scopes;endPos;constructor(e,t){this.scopes=e,this.endPos=t}};function _f(e,t,a,o,r,n,s,i){return new Of(e,t,a,o,r,n,s,i)}function ii(e,t,a,o,r){let n=Ga(t,Va),s=Li.getCompiledRuleId(a,o,r.repository);for(let i of n)e.push({debugSelector:t,matcher:i.matcher,ruleId:s,grammar:r,priority:i.priority})}function Va(e,t){if(t.length<e.length)return!1;let a=0;return e.every(o=>{for(let r=a;r<t.length;r++)if(Nf(t[r],o))return a=r+1,!0;return!1})}function Nf(e,t){if(!e)return!1;if(e===t)return!0;let a=t.length;return e.length>a&&e.substr(0,a)===t&&e[a]==="."}var Of=class{constructor(e,t,a,o,r,n,s,i){if(this._rootScopeName=e,this.balancedBracketSelectors=n,this._onigLib=i,this._basicScopeAttributesProvider=new Pf(a,o),this._rootId=-1,this._lastRuleId=0,this._ruleId2desc=[null],this._includedGrammars={},this._grammarRepository=s,this._grammar=li(t,null),this._injections=null,this._tokenTypeMatchers=[],r)for(let l of Object.keys(r)){let u=Ga(l,Va);for(let c of u)this._tokenTypeMatchers.push({matcher:c.matcher,type:r[l]})}}_rootId;_lastRuleId;_ruleId2desc;_includedGrammars;_grammarRepository;_grammar;_injections;_basicScopeAttributesProvider;_tokenTypeMatchers;get themeProvider(){return this._grammarRepository}dispose(){for(let e of this._ruleId2desc)e&&e.dispose()}createOnigScanner(e){return this._onigLib.createOnigScanner(e)}createOnigString(e){return this._onigLib.createOnigString(e)}getMetadataForScope(e){return this._basicScopeAttributesProvider.getBasicScopeAttributes(e)}_collectInjections(){let e={lookup:r=>r===this._rootScopeName?this._grammar:this.getExternalGrammar(r),injections:r=>this._grammarRepository.injections(r)},t=[],a=this._rootScopeName,o=e.lookup(a);if(o){let r=o.injections;if(r)for(let s in r)ii(t,s,r[s],this,o);let n=this._grammarRepository.injections(a);n&&n.forEach(s=>{let i=this.getExternalGrammar(s);if(i){let l=i.injectionSelector;l&&ii(t,l,i,this,i)}})}return t.sort((r,n)=>r.priority-n.priority),t}getInjections(){return this._injections===null&&(this._injections=this._collectInjections()),this._injections}registerRule(e){let t=++this._lastRuleId,a=e(t);return this._ruleId2desc[t]=a,a}getRule(e){return this._ruleId2desc[e]}getExternalGrammar(e,t){if(this._includedGrammars[e])return this._includedGrammars[e];if(this._grammarRepository){let a=this._grammarRepository.lookup(e);if(a)return this._includedGrammars[e]=li(a,t&&t.$base),this._includedGrammars[e]}}tokenizeLine(e,t,a=0){let o=this._tokenize(e,t,!1,a);return{tokens:o.lineTokens.getResult(o.ruleStack,o.lineLength),ruleStack:o.ruleStack,stoppedEarly:o.stoppedEarly}}tokenizeLine2(e,t,a=0){let o=this._tokenize(e,t,!0,a);return{tokens:o.lineTokens.getBinaryResult(o.ruleStack,o.lineLength),ruleStack:o.ruleStack,stoppedEarly:o.stoppedEarly}}_tokenize(e,t,a,o){this._rootId===-1&&(this._rootId=Li.getCompiledRuleId(this._grammar.repository.$self,this,this._grammar.repository),this.getInjections());let r;if(!t||t===or.NULL){r=!0;let u=this._basicScopeAttributesProvider.getDefaultAttributes(),c=this.themeProvider.getDefaults(),d=mt.set(0,u.languageId,u.tokenType,null,c.fontStyle,c.foregroundId,c.backgroundId),p=this.getRule(this._rootId).getName(null,null),m;p?m=ia.createRootAndLookUpScopeName(p,d,this):m=ia.createRoot("unknown",d),t=new or(null,this._rootId,-1,-1,!1,null,m,m)}else r=!1,t.reset();e=e+`
70
+ `;let n=this.createOnigString(e),s=n.content.length,i=new Hf(a,e,this._tokenTypeMatchers,this.balancedBracketSelectors),l=yi(this,n,r,0,t,i,!0,o);return wi(n),{lineLength:s,lineTokens:i,ruleStack:l.stack,stoppedEarly:l.stoppedEarly}}};function li(e,t){return e=af(e),e.repository=e.repository||{},e.repository.$self={$vscodeTextmateLocation:e.$vscodeTextmateLocation,patterns:e.patterns,name:e.scopeName},e.repository.$base=t||e.repository.$self,e}var ia=class je{constructor(t,a,o){this.parent=t,this.scopePath=a,this.tokenAttributes=o}static fromExtension(t,a){let o=t,r=t?.scopePath??null;for(let n of a)r=Qo.push(r,n.scopeNames),o=new je(o,r,n.encodedTokenAttributes);return o}static createRoot(t,a){return new je(null,new Qo(null,t),a)}static createRootAndLookUpScopeName(t,a,o){let r=o.getMetadataForScope(t),n=new Qo(null,t),s=o.themeProvider.themeMatch(n),i=je.mergeAttributes(a,r,s);return new je(null,n,i)}get scopeName(){return this.scopePath.scopeName}toString(){return this.getScopeNames().join(" ")}equals(t){return je.equals(this,t)}static equals(t,a){do{if(t===a||!t&&!a)return!0;if(!t||!a||t.scopeName!==a.scopeName||t.tokenAttributes!==a.tokenAttributes)return!1;t=t.parent,a=a.parent}while(!0)}static mergeAttributes(t,a,o){let r=-1,n=0,s=0;return o!==null&&(r=o.fontStyle,n=o.foregroundId,s=o.backgroundId),mt.set(t,a.languageId,a.tokenType,null,r,n,s)}pushAttributed(t,a){if(t===null)return this;if(t.indexOf(" ")===-1)return je._pushAttributed(this,t,a);let o=t.split(/ /g),r=this;for(let n of o)r=je._pushAttributed(r,n,a);return r}static _pushAttributed(t,a,o){let r=o.getMetadataForScope(a),n=t.scopePath.push(a),s=o.themeProvider.themeMatch(n),i=je.mergeAttributes(t.tokenAttributes,r,s);return new je(t,n,i)}getScopeNames(){return this.scopePath.getSegments()}getExtensionIfDefined(t){let a=[],o=this;for(;o&&o!==t;)a.push({encodedTokenAttributes:o.tokenAttributes,scopeNames:o.scopePath.getExtensionIfDefined(o.parent?.scopePath??null)}),o=o.parent;return o===t?a.reverse():void 0}},or=class pt{constructor(t,a,o,r,n,s,i,l){this.parent=t,this.ruleId=a,this.beginRuleCapturedEOL=n,this.endRule=s,this.nameScopesList=i,this.contentNameScopesList=l,this.depth=this.parent?this.parent.depth+1:1,this._enterPos=o,this._anchorPos=r}_stackElementBrand=void 0;static NULL=new pt(null,0,0,0,!1,null,null,null);_enterPos;_anchorPos;depth;equals(t){return t===null?!1:pt._equals(this,t)}static _equals(t,a){return t===a?!0:this._structuralEquals(t,a)?ia.equals(t.contentNameScopesList,a.contentNameScopesList):!1}static _structuralEquals(t,a){do{if(t===a||!t&&!a)return!0;if(!t||!a||t.depth!==a.depth||t.ruleId!==a.ruleId||t.endRule!==a.endRule)return!1;t=t.parent,a=a.parent}while(!0)}clone(){return this}static _reset(t){for(;t;)t._enterPos=-1,t._anchorPos=-1,t=t.parent}reset(){pt._reset(this)}pop(){return this.parent}safePop(){return this.parent?this.parent:this}push(t,a,o,r,n,s,i){return new pt(this,t,a,o,r,n,s,i)}getEnterPos(){return this._enterPos}getAnchorPos(){return this._anchorPos}getRule(t){return t.getRule(this.ruleId)}toString(){let t=[];return this._writeString(t,0),"["+t.join(",")+"]"}_writeString(t,a){return this.parent&&(a=this.parent._writeString(t,a)),t[a++]=`(${this.ruleId}, ${this.nameScopesList?.toString()}, ${this.contentNameScopesList?.toString()})`,a}withContentNameScopesList(t){return this.contentNameScopesList===t?this:this.parent.push(this.ruleId,this._enterPos,this._anchorPos,this.beginRuleCapturedEOL,this.endRule,this.nameScopesList,t)}withEndRule(t){return this.endRule===t?this:new pt(this.parent,this.ruleId,this._enterPos,this._anchorPos,this.beginRuleCapturedEOL,t,this.nameScopesList,this.contentNameScopesList)}hasSameRuleAs(t){let a=this;for(;a&&a._enterPos===t._enterPos;){if(a.ruleId===t.ruleId)return!0;a=a.parent}return!1}toStateStackFrame(){return{ruleId:this.ruleId,beginRuleCapturedEOL:this.beginRuleCapturedEOL,endRule:this.endRule,nameScopesList:this.nameScopesList?.getExtensionIfDefined(this.parent?.nameScopesList??null)??[],contentNameScopesList:this.contentNameScopesList?.getExtensionIfDefined(this.nameScopesList)??[]}}static pushFrame(t,a){let o=ia.fromExtension(t?.nameScopesList??null,a.nameScopesList);return new pt(t,a.ruleId,a.enterPos??-1,a.anchorPos??-1,a.beginRuleCapturedEOL,a.endRule,o,ia.fromExtension(o,a.contentNameScopesList))}},Uf=class{balancedBracketScopes;unbalancedBracketScopes;allowAny=!1;constructor(e,t){this.balancedBracketScopes=e.flatMap(a=>a==="*"?(this.allowAny=!0,[]):Ga(a,Va).map(o=>o.matcher)),this.unbalancedBracketScopes=t.flatMap(a=>Ga(a,Va).map(o=>o.matcher))}get matchesAlways(){return this.allowAny&&this.unbalancedBracketScopes.length===0}get matchesNever(){return this.balancedBracketScopes.length===0&&!this.allowAny}match(e){for(let t of this.unbalancedBracketScopes)if(t(e))return!1;for(let t of this.balancedBracketScopes)if(t(e))return!0;return this.allowAny}},Hf=class{constructor(e,t,a,o){this.balancedBracketSelectors=o,this._emitBinaryTokens=e,this._tokenTypeOverrides=a,this._lineText=null,this._tokens=[],this._binaryTokens=[],this._lastTokenEndIndex=0}_emitBinaryTokens;_lineText;_tokens;_binaryTokens;_lastTokenEndIndex;_tokenTypeOverrides;produce(e,t){this.produceFromScopes(e.contentNameScopesList,t)}produceFromScopes(e,t){if(this._lastTokenEndIndex>=t)return;if(this._emitBinaryTokens){let o=e?.tokenAttributes??0,r=!1;if(this.balancedBracketSelectors?.matchesAlways&&(r=!0),this._tokenTypeOverrides.length>0||this.balancedBracketSelectors&&!this.balancedBracketSelectors.matchesAlways&&!this.balancedBracketSelectors.matchesNever){let n=e?.getScopeNames()??[];for(let s of this._tokenTypeOverrides)s.matcher(n)&&(o=mt.set(o,0,s.type,null,-1,0,0));this.balancedBracketSelectors&&(r=this.balancedBracketSelectors.match(n))}if(r&&(o=mt.set(o,0,8,r,-1,0,0)),this._binaryTokens.length>0&&this._binaryTokens[this._binaryTokens.length-1]===o){this._lastTokenEndIndex=t;return}this._binaryTokens.push(this._lastTokenEndIndex),this._binaryTokens.push(o),this._lastTokenEndIndex=t;return}let a=e?.getScopeNames()??[];this._tokens.push({startIndex:this._lastTokenEndIndex,endIndex:t,scopes:a}),this._lastTokenEndIndex=t}getResult(e,t){return this._tokens.length>0&&this._tokens[this._tokens.length-1].startIndex===t-1&&this._tokens.pop(),this._tokens.length===0&&(this._lastTokenEndIndex=-1,this.produce(e,t),this._tokens[this._tokens.length-1].startIndex=0),this._tokens}getBinaryResult(e,t){this._binaryTokens.length>0&&this._binaryTokens[this._binaryTokens.length-2]===t-1&&(this._binaryTokens.pop(),this._binaryTokens.pop()),this._binaryTokens.length===0&&(this._lastTokenEndIndex=-1,this.produce(e,t),this._binaryTokens[this._binaryTokens.length-2]=0);let a=new Uint32Array(this._binaryTokens.length);for(let o=0,r=this._binaryTokens.length;o<r;o++)a[o]=this._binaryTokens[o];return a}},qf=class{constructor(e,t){this._onigLib=t,this._theme=e}_grammars=new Map;_rawGrammars=new Map;_injectionGrammars=new Map;_theme;dispose(){for(let e of this._grammars.values())e.dispose()}setTheme(e){this._theme=e}getColorMap(){return this._theme.getColorMap()}addGrammar(e,t){this._rawGrammars.set(e.scopeName,e),t&&this._injectionGrammars.set(e.scopeName,t)}lookup(e){return this._rawGrammars.get(e)}injections(e){return this._injectionGrammars.get(e)}getDefaults(){return this._theme.getDefaults()}themeMatch(e){return this._theme.match(e)}grammarForScopeName(e,t,a,o,r){if(!this._grammars.has(e)){let n=this._rawGrammars.get(e);if(!n)return null;this._grammars.set(e,_f(e,n,t,a,o,r,this,this._onigLib))}return this._grammars.get(e)}},Ti=class{_options;_syncRegistry;_ensureGrammarCache;constructor(e){this._options=e,this._syncRegistry=new qf(la.createFromRawTheme(e.theme,e.colorMap),e.onigLib),this._ensureGrammarCache=new Map}dispose(){this._syncRegistry.dispose()}setTheme(e,t){this._syncRegistry.setTheme(la.createFromRawTheme(e,t))}getColorMap(){return this._syncRegistry.getColorMap()}loadGrammarWithEmbeddedLanguages(e,t,a){return this.loadGrammarWithConfiguration(e,t,{embeddedLanguages:a})}loadGrammarWithConfiguration(e,t,a){return this._loadGrammar(e,t,a.embeddedLanguages,a.tokenTypes,new Uf(a.balancedBracketSelectors||[],a.unbalancedBracketSelectors||[]))}loadGrammar(e){return this._loadGrammar(e,0,null,null,null)}_loadGrammar(e,t,a,o,r){let n=new wf(this._syncRegistry,e);for(;n.Q.length>0;)n.Q.map(s=>this._loadSingleGrammar(s.scopeName)),n.processQueue();return this._grammarForScopeName(e,t,a,o,r)}_loadSingleGrammar(e){this._ensureGrammarCache.has(e)||(this._doLoadSingleGrammar(e),this._ensureGrammarCache.set(e,!0))}_doLoadSingleGrammar(e){let t=this._options.loadGrammar(e);if(t){let a=typeof this._options.getInjections=="function"?this._options.getInjections(e):void 0;this._syncRegistry.addGrammar(t,a)}}addGrammar(e,t=[],a=0,o=null){return this._syncRegistry.addGrammar(e,t),this._grammarForScopeName(e.scopeName,a,o)}_grammarForScopeName(e,t=0,a=null,o=null,r=null){return this._syncRegistry.grammarForScopeName(e,t,a,o,r)}},$a=or.NULL;f();f();f();f();f();f();var Wf=/["&'<>`]/g,Gf=/[\uD800-\uDBFF][\uDC00-\uDFFF]/g,jf=/[\x01-\t\v\f\x0E-\x1F\x7F\x81\x8D\x8F\x90\x9D\xA0-\uFFFF]/g,zf=/[|\\{}()[\]^$+*?.]/g,vi=new WeakMap;function Pi(e,t){if(e=e.replace(t.subset?Vf(t.subset):Wf,o),t.subset||t.escapeOnly)return e;return e.replace(Gf,a).replace(jf,o);function a(r,n,s){return t.format((r.charCodeAt(0)-55296)*1024+r.charCodeAt(1)-56320+65536,s.charCodeAt(n+2),t)}function o(r,n,s){return t.format(r.charCodeAt(0),s.charCodeAt(n+1),t)}}function Vf(e){let t=vi.get(e);return t||(t=$f(e),vi.set(e,t)),t}function $f(e){let t=[],a=-1;for(;++a<e.length;)t.push(e[a].replace(zf,"\\$&"));return new RegExp("(?:"+t.join("|")+")","g")}f();f();var Xf=/[\dA-Fa-f]/;function Ai(e,t,a){let o="&#x"+e.toString(16).toUpperCase();return a&&t&&!Xf.test(String.fromCharCode(t))?o:o+";"}f();var Kf=/\d/;function Ri(e,t,a){let o="&#"+String(e);return a&&t&&!Kf.test(String.fromCharCode(t))?o:o+";"}f();f();var Mi=["AElig","AMP","Aacute","Acirc","Agrave","Aring","Atilde","Auml","COPY","Ccedil","ETH","Eacute","Ecirc","Egrave","Euml","GT","Iacute","Icirc","Igrave","Iuml","LT","Ntilde","Oacute","Ocirc","Ograve","Oslash","Otilde","Ouml","QUOT","REG","THORN","Uacute","Ucirc","Ugrave","Uuml","Yacute","aacute","acirc","acute","aelig","agrave","amp","aring","atilde","auml","brvbar","ccedil","cedil","cent","copy","curren","deg","divide","eacute","ecirc","egrave","eth","euml","frac12","frac14","frac34","gt","iacute","icirc","iexcl","igrave","iquest","iuml","laquo","lt","macr","micro","middot","nbsp","not","ntilde","oacute","ocirc","ograve","ordf","ordm","oslash","otilde","ouml","para","plusmn","pound","quot","raquo","reg","sect","shy","sup1","sup2","sup3","szlig","thorn","times","uacute","ucirc","ugrave","uml","uuml","yacute","yen","yuml"];f();var Xa={nbsp:"\xA0",iexcl:"\xA1",cent:"\xA2",pound:"\xA3",curren:"\xA4",yen:"\xA5",brvbar:"\xA6",sect:"\xA7",uml:"\xA8",copy:"\xA9",ordf:"\xAA",laquo:"\xAB",not:"\xAC",shy:"\xAD",reg:"\xAE",macr:"\xAF",deg:"\xB0",plusmn:"\xB1",sup2:"\xB2",sup3:"\xB3",acute:"\xB4",micro:"\xB5",para:"\xB6",middot:"\xB7",cedil:"\xB8",sup1:"\xB9",ordm:"\xBA",raquo:"\xBB",frac14:"\xBC",frac12:"\xBD",frac34:"\xBE",iquest:"\xBF",Agrave:"\xC0",Aacute:"\xC1",Acirc:"\xC2",Atilde:"\xC3",Auml:"\xC4",Aring:"\xC5",AElig:"\xC6",Ccedil:"\xC7",Egrave:"\xC8",Eacute:"\xC9",Ecirc:"\xCA",Euml:"\xCB",Igrave:"\xCC",Iacute:"\xCD",Icirc:"\xCE",Iuml:"\xCF",ETH:"\xD0",Ntilde:"\xD1",Ograve:"\xD2",Oacute:"\xD3",Ocirc:"\xD4",Otilde:"\xD5",Ouml:"\xD6",times:"\xD7",Oslash:"\xD8",Ugrave:"\xD9",Uacute:"\xDA",Ucirc:"\xDB",Uuml:"\xDC",Yacute:"\xDD",THORN:"\xDE",szlig:"\xDF",agrave:"\xE0",aacute:"\xE1",acirc:"\xE2",atilde:"\xE3",auml:"\xE4",aring:"\xE5",aelig:"\xE6",ccedil:"\xE7",egrave:"\xE8",eacute:"\xE9",ecirc:"\xEA",euml:"\xEB",igrave:"\xEC",iacute:"\xED",icirc:"\xEE",iuml:"\xEF",eth:"\xF0",ntilde:"\xF1",ograve:"\xF2",oacute:"\xF3",ocirc:"\xF4",otilde:"\xF5",ouml:"\xF6",divide:"\xF7",oslash:"\xF8",ugrave:"\xF9",uacute:"\xFA",ucirc:"\xFB",uuml:"\xFC",yacute:"\xFD",thorn:"\xFE",yuml:"\xFF",fnof:"\u0192",Alpha:"\u0391",Beta:"\u0392",Gamma:"\u0393",Delta:"\u0394",Epsilon:"\u0395",Zeta:"\u0396",Eta:"\u0397",Theta:"\u0398",Iota:"\u0399",Kappa:"\u039A",Lambda:"\u039B",Mu:"\u039C",Nu:"\u039D",Xi:"\u039E",Omicron:"\u039F",Pi:"\u03A0",Rho:"\u03A1",Sigma:"\u03A3",Tau:"\u03A4",Upsilon:"\u03A5",Phi:"\u03A6",Chi:"\u03A7",Psi:"\u03A8",Omega:"\u03A9",alpha:"\u03B1",beta:"\u03B2",gamma:"\u03B3",delta:"\u03B4",epsilon:"\u03B5",zeta:"\u03B6",eta:"\u03B7",theta:"\u03B8",iota:"\u03B9",kappa:"\u03BA",lambda:"\u03BB",mu:"\u03BC",nu:"\u03BD",xi:"\u03BE",omicron:"\u03BF",pi:"\u03C0",rho:"\u03C1",sigmaf:"\u03C2",sigma:"\u03C3",tau:"\u03C4",upsilon:"\u03C5",phi:"\u03C6",chi:"\u03C7",psi:"\u03C8",omega:"\u03C9",thetasym:"\u03D1",upsih:"\u03D2",piv:"\u03D6",bull:"\u2022",hellip:"\u2026",prime:"\u2032",Prime:"\u2033",oline:"\u203E",frasl:"\u2044",weierp:"\u2118",image:"\u2111",real:"\u211C",trade:"\u2122",alefsym:"\u2135",larr:"\u2190",uarr:"\u2191",rarr:"\u2192",darr:"\u2193",harr:"\u2194",crarr:"\u21B5",lArr:"\u21D0",uArr:"\u21D1",rArr:"\u21D2",dArr:"\u21D3",hArr:"\u21D4",forall:"\u2200",part:"\u2202",exist:"\u2203",empty:"\u2205",nabla:"\u2207",isin:"\u2208",notin:"\u2209",ni:"\u220B",prod:"\u220F",sum:"\u2211",minus:"\u2212",lowast:"\u2217",radic:"\u221A",prop:"\u221D",infin:"\u221E",ang:"\u2220",and:"\u2227",or:"\u2228",cap:"\u2229",cup:"\u222A",int:"\u222B",there4:"\u2234",sim:"\u223C",cong:"\u2245",asymp:"\u2248",ne:"\u2260",equiv:"\u2261",le:"\u2264",ge:"\u2265",sub:"\u2282",sup:"\u2283",nsub:"\u2284",sube:"\u2286",supe:"\u2287",oplus:"\u2295",otimes:"\u2297",perp:"\u22A5",sdot:"\u22C5",lceil:"\u2308",rceil:"\u2309",lfloor:"\u230A",rfloor:"\u230B",lang:"\u2329",rang:"\u232A",loz:"\u25CA",spades:"\u2660",clubs:"\u2663",hearts:"\u2665",diams:"\u2666",quot:'"',amp:"&",lt:"<",gt:">",OElig:"\u0152",oelig:"\u0153",Scaron:"\u0160",scaron:"\u0161",Yuml:"\u0178",circ:"\u02C6",tilde:"\u02DC",ensp:"\u2002",emsp:"\u2003",thinsp:"\u2009",zwnj:"\u200C",zwj:"\u200D",lrm:"\u200E",rlm:"\u200F",ndash:"\u2013",mdash:"\u2014",lsquo:"\u2018",rsquo:"\u2019",sbquo:"\u201A",ldquo:"\u201C",rdquo:"\u201D",bdquo:"\u201E",dagger:"\u2020",Dagger:"\u2021",permil:"\u2030",lsaquo:"\u2039",rsaquo:"\u203A",euro:"\u20AC"};f();var Fi=["cent","copy","divide","gt","lt","not","para","times"];var Di={}.hasOwnProperty,nr={},Ka;for(Ka in Xa)Di.call(Xa,Ka)&&(nr[Xa[Ka]]=Ka);var Qf=/[^\dA-Za-z]/;function Bi(e,t,a,o){let r=String.fromCharCode(e);if(Di.call(nr,r)){let n=nr[r],s="&"+n;return a&&Mi.includes(n)&&!Fi.includes(n)&&(!o||t&&t!==61&&Qf.test(String.fromCharCode(t)))?s:s+";"}return""}function Ei(e,t,a){let o=Ai(e,t,a.omitOptionalSemicolons),r;if((a.useNamedReferences||a.useShortestReferences)&&(r=Bi(e,t,a.omitOptionalSemicolons,a.attribute)),(a.useShortestReferences||!r)&&a.useShortestReferences){let n=Ri(e,t,a.omitOptionalSemicolons);n.length<o.length&&(o=n)}return r&&(!a.useShortestReferences||r.length<o.length)?r:o}function Qe(e,t){return Pi(e,Object.assign({format:Ei},t))}var Jf=/^>|^->|<!--|-->|--!>|<!-$/g,Yf=[">"],Zf=["<",">"];function _i(e,t,a,o){return o.settings.bogusComments?"<?"+Qe(e.value,Object.assign({},o.settings.characterReferences,{subset:Yf}))+">":"<!--"+e.value.replace(Jf,r)+"-->";function r(n){return Qe(n,Object.assign({},o.settings.characterReferences,{subset:Zf}))}}f();function Ni(e,t,a,o){return"<!"+(o.settings.upperDoctype?"DOCTYPE":"doctype")+(o.settings.tightDoctype?"":" ")+"html>"}f();f();f();var ie=Oi(1),sr=Oi(-1),ep=[];function Oi(e){return t;function t(a,o,r){let n=a?a.children:ep,s=(o||0)+e,i=n[s];if(!r)for(;i&&bt(i);)s+=e,i=n[s];return i}}f();var tp={}.hasOwnProperty;function Qa(e){return t;function t(a,o,r){return tp.call(e,a.tagName)&&e[a.tagName](a,o,r)}}var pa=Qa({body:op,caption:ir,colgroup:ir,dd:ip,dt:sp,head:ir,html:ap,li:np,optgroup:lp,option:up,p:rp,rp:Ui,rt:Ui,tbody:cp,td:Hi,tfoot:fp,th:Hi,thead:dp,tr:pp});function ir(e,t,a){let o=ie(a,t,!0);return!o||o.type!=="comment"&&!(o.type==="text"&&bt(o.value.charAt(0)))}function ap(e,t,a){let o=ie(a,t);return!o||o.type!=="comment"}function op(e,t,a){let o=ie(a,t);return!o||o.type!=="comment"}function rp(e,t,a){let o=ie(a,t);return o?o.type==="element"&&(o.tagName==="address"||o.tagName==="article"||o.tagName==="aside"||o.tagName==="blockquote"||o.tagName==="details"||o.tagName==="div"||o.tagName==="dl"||o.tagName==="fieldset"||o.tagName==="figcaption"||o.tagName==="figure"||o.tagName==="footer"||o.tagName==="form"||o.tagName==="h1"||o.tagName==="h2"||o.tagName==="h3"||o.tagName==="h4"||o.tagName==="h5"||o.tagName==="h6"||o.tagName==="header"||o.tagName==="hgroup"||o.tagName==="hr"||o.tagName==="main"||o.tagName==="menu"||o.tagName==="nav"||o.tagName==="ol"||o.tagName==="p"||o.tagName==="pre"||o.tagName==="section"||o.tagName==="table"||o.tagName==="ul"):!a||!(a.type==="element"&&(a.tagName==="a"||a.tagName==="audio"||a.tagName==="del"||a.tagName==="ins"||a.tagName==="map"||a.tagName==="noscript"||a.tagName==="video"))}function np(e,t,a){let o=ie(a,t);return!o||o.type==="element"&&o.tagName==="li"}function sp(e,t,a){let o=ie(a,t);return!!(o&&o.type==="element"&&(o.tagName==="dt"||o.tagName==="dd"))}function ip(e,t,a){let o=ie(a,t);return!o||o.type==="element"&&(o.tagName==="dt"||o.tagName==="dd")}function Ui(e,t,a){let o=ie(a,t);return!o||o.type==="element"&&(o.tagName==="rp"||o.tagName==="rt")}function lp(e,t,a){let o=ie(a,t);return!o||o.type==="element"&&o.tagName==="optgroup"}function up(e,t,a){let o=ie(a,t);return!o||o.type==="element"&&(o.tagName==="option"||o.tagName==="optgroup")}function dp(e,t,a){let o=ie(a,t);return!!(o&&o.type==="element"&&(o.tagName==="tbody"||o.tagName==="tfoot"))}function cp(e,t,a){let o=ie(a,t);return!o||o.type==="element"&&(o.tagName==="tbody"||o.tagName==="tfoot")}function fp(e,t,a){return!ie(a,t)}function pp(e,t,a){let o=ie(a,t);return!o||o.type==="element"&&o.tagName==="tr"}function Hi(e,t,a){let o=ie(a,t);return!o||o.type==="element"&&(o.tagName==="td"||o.tagName==="th")}f();var qi=Qa({body:gp,colgroup:wp,head:hp,html:mp,tbody:xp});function mp(e){let t=ie(e,-1);return!t||t.type!=="comment"}function hp(e){let t=new Set;for(let o of e.children)if(o.type==="element"&&(o.tagName==="base"||o.tagName==="title")){if(t.has(o.tagName))return!1;t.add(o.tagName)}let a=e.children[0];return!a||a.type==="element"}function gp(e){let t=ie(e,-1,!0);return!t||t.type!=="comment"&&!(t.type==="text"&&bt(t.value.charAt(0)))&&!(t.type==="element"&&(t.tagName==="meta"||t.tagName==="link"||t.tagName==="script"||t.tagName==="style"||t.tagName==="template"))}function wp(e,t,a){let o=sr(a,t),r=ie(e,-1,!0);return a&&o&&o.type==="element"&&o.tagName==="colgroup"&&pa(o,a.children.indexOf(o),a)?!1:!!(r&&r.type==="element"&&r.tagName==="col")}function xp(e,t,a){let o=sr(a,t),r=ie(e,-1);return a&&o&&o.type==="element"&&(o.tagName==="thead"||o.tagName==="tbody")&&pa(o,a.children.indexOf(o),a)?!1:!!(r&&r.type==="element"&&r.tagName==="tr")}var Ja={name:[[`
71
71
  \f\r &/=>`.split(""),`
72
72
  \f\r "&'/=>\``.split("")],[`\0
73
73
  \f\r "&'/<=>`.split(""),`\0
@@ -75,11 +75,11 @@ import{a as yo,b as ku,c as Tu}from"../chunk-R6LESDWJ.js";import{b as Ft,c as It
75
75
  \f\r &>`.split(""),`\0
76
76
  \f\r "&'<=>\``.split("")],[`\0
77
77
  \f\r "&'<=>\``.split(""),`\0
78
- \f\r "&'<=>\``.split("")]],single:[["&'".split(""),"\"&'`".split("")],["\0&'".split(""),"\0\"&'`".split("")]],double:[['"&'.split(""),"\"&'`".split("")],['\0"&'.split(""),"\0\"&'`".split("")]]};function Wi(e,t,a,o){let r=o.schema,n=r.space==="svg"?!1:o.settings.omitOptionalTags,s=r.space==="svg"?o.settings.closeEmptyElements:o.settings.voids.includes(e.tagName.toLowerCase()),i=[],l;r.space==="html"&&e.tagName==="svg"&&(o.schema=ba);let u=Lp(o,e.properties),c=o.all(r.space==="html"&&e.tagName==="template"?e.content:e);return o.schema=r,c&&(s=!1),(u||!n||!qi(e,t,a))&&(i.push("<",e.tagName,u?" "+u:""),s&&(r.space==="svg"||o.settings.closeSelfClosing)&&(l=u.charAt(u.length-1),(!o.settings.tightSelfClosing||l==="/"||l&&l!=='"'&&l!=="'")&&i.push(" "),i.push("/")),i.push(">")),i.push(c),!s&&(!n||!pa(e,t,a))&&i.push("</"+e.tagName+">"),i.join("")}function Lp(e,t){let a=[],o=-1,r;if(t){for(r in t)if(t[r]!==null&&t[r]!==void 0){let n=Cp(e,r,t[r]);n&&a.push(n)}}for(;++o<a.length;){let n=e.settings.tightAttributes?a[o].charAt(a[o].length-1):void 0;o!==a.length-1&&n!=='"'&&n!=="'"&&(a[o]+=" ")}return a.join("")}function Cp(e,t,a){let o=en(e.schema,t),r=e.settings.allowParseErrors&&e.schema.space==="html"?0:1,n=e.settings.allowDangerousCharacters?0:1,s=e.quote,i;if(o.overloadedBoolean&&(a===o.attribute||a==="")?a=!0:(o.boolean||o.overloadedBoolean)&&(typeof a!="string"||a===o.attribute||a==="")&&(a=!!a),a==null||a===!1||typeof a=="number"&&Number.isNaN(a))return"";let l=Qe(o.attribute,Object.assign({},e.settings.characterReferences,{subset:Ja.name[r][n]}));return a===!0||(a=Array.isArray(a)?(o.commaSeparated?an:on)(a,{padLeft:!e.settings.tightCommaSeparatedLists}):String(a),e.settings.collapseEmptyAttributes&&!a)?l:(e.settings.preferUnquoted&&(i=Qe(a,Object.assign({},e.settings.characterReferences,{attribute:!0,subset:Ja.unquoted[r][n]}))),i!==a&&(e.settings.quoteSmart&&bo(a,s)>bo(a,e.alternative)&&(s=e.alternative),i=s+Qe(a,Object.assign({},e.settings.characterReferences,{subset:(s==="'"?Ja.single:Ja.double)[r][n],attribute:!0}))+s),l+(i&&"="+i))}f();f();var Ip=["<","&"];function Za(e,t,a,o){return a&&a.type==="element"&&(a.tagName==="script"||a.tagName==="style")?e.value:Qe(e.value,Object.assign({},o.settings.characterReferences,{subset:Ip}))}function Gi(e,t,a,o){return o.settings.allowDangerousHtml?e.value:Za(e,t,a,o)}f();function ji(e,t,a,o){return o.all(e)}var zi=rn("type",{invalid:Sp,unknown:yp,handlers:{comment:_i,doctype:Ni,element:Wi,raw:Gi,root:ji,text:Za}});function Sp(e){throw new Error("Expected node, not `"+e+"`")}function yp(e){let t=e;throw new Error("Cannot compile unknown node `"+t.type+"`")}var bp={},kp={},Tp=[];function lr(e,t){let a=t||bp,o=a.quote||'"',r=o==='"'?"'":'"';if(o!=='"'&&o!=="'")throw new Error("Invalid quote `"+o+"`, expected `'` or `\"`");return{one:vp,all:Pp,settings:{omitOptionalTags:a.omitOptionalTags||!1,allowParseErrors:a.allowParseErrors||!1,allowDangerousCharacters:a.allowDangerousCharacters||!1,quoteSmart:a.quoteSmart||!1,preferUnquoted:a.preferUnquoted||!1,tightAttributes:a.tightAttributes||!1,upperDoctype:a.upperDoctype||!1,tightDoctype:a.tightDoctype||!1,bogusComments:a.bogusComments||!1,tightCommaSeparatedLists:a.tightCommaSeparatedLists||!1,tightSelfClosing:a.tightSelfClosing||!1,collapseEmptyAttributes:a.collapseEmptyAttributes||!1,allowDangerousHtml:a.allowDangerousHtml||!1,voids:a.voids||nn,characterReferences:a.characterReferences||kp,closeSelfClosing:a.closeSelfClosing||!1,closeEmptyElements:a.closeEmptyElements||!1},schema:a.space==="svg"?ba:tn,quote:o,alternative:r}.one(Array.isArray(e)?{type:"root",children:e}:e,void 0,void 0)}function vp(e,t,a){return zi(e,t,a,this)}function Pp(e){let t=[],a=e&&e.children||Tp,o=-1;for(;++o<a.length;)t[o]=this.one(a[o],o,e);return t.join("")}function Ya(e,t){let a=typeof e=="string"?{}:{...e.colorReplacements},o=typeof e=="string"?e:e.name;for(let[r,n]of Object.entries(t?.colorReplacements||{}))typeof n=="string"?a[r]=n:r===o&&Object.assign(a,n);return a}function rt(e,t){return e&&(t?.[e?.toLowerCase()]||e)}function Ap(e){return Array.isArray(e)?e:[e]}async function Zi(e){return Promise.resolve(typeof e=="function"?e():e).then(t=>t.default||t)}function mr(e){return!e||["plaintext","txt","text","plain"].includes(e)}function Yi(e){return e==="ansi"||mr(e)}function hr(e){return e==="none"}function el(e){return hr(e)}function tl(e,t){if(!t)return e;e.properties||={},e.properties.class||=[],typeof e.properties.class=="string"&&(e.properties.class=e.properties.class.split(/\s+/g)),Array.isArray(e.properties.class)||(e.properties.class=[]);let a=Array.isArray(t)?t:t.split(/\s+/g);for(let o of a)o&&!e.properties.class.includes(o)&&e.properties.class.push(o);return e}function ro(e,t=!1){if(e.length===0)return[["",0]];let a=e.split(/(\r?\n)/g),o=0,r=[];for(let n=0;n<a.length;n+=2){let s=t?a[n]+(a[n+1]||""):a[n];r.push([s,o]),o+=a[n].length,o+=a[n+1]?.length||0}return r}function Rp(e){let t=ro(e,!0).map(([r])=>r);function a(r){if(r===e.length)return{line:t.length-1,character:t[t.length-1].length};let n=r,s=0;for(let i of t){if(n<i.length)break;n-=i.length,s++}return{line:s,character:n}}function o(r,n){let s=0;for(let i=0;i<r;i++)s+=t[i].length;return s+=n,s}return{lines:t,indexToPos:a,posToIndex:o}}function al(e,t,a){let o=new Set;for(let n of e.matchAll(/:?lang=["']([^"']+)["']/g)){let s=n[1].toLowerCase().trim();s&&o.add(s)}for(let n of e.matchAll(/(?:```|~~~)([\w-]+)/g)){let s=n[1].toLowerCase().trim();s&&o.add(s)}for(let n of e.matchAll(/\\begin\{([\w-]+)\}/g)){let s=n[1].toLowerCase().trim();s&&o.add(s)}for(let n of e.matchAll(/<script\s+(?:type|lang)=["']([^"']+)["']/gi)){let s=n[1].toLowerCase().trim(),i=s.includes("/")?s.split("/").pop():s;i&&o.add(i)}if(!a)return Array.from(o);let r=a.getBundledLanguages();return Array.from(o).filter(n=>n&&r[n])}var gr="light-dark()",Mp=["color","background-color"];function Fp(e,t){let a=0,o=[];for(let r of t)r>a&&o.push({...e,content:e.content.slice(a,r),offset:e.offset+a}),a=r;return a<e.content.length&&o.push({...e,content:e.content.slice(a),offset:e.offset+a}),o}function Dp(e,t){let a=Array.from(t instanceof Set?t:new Set(t)).sort((o,r)=>o-r);return a.length?e.map(o=>o.flatMap(r=>{let n=a.filter(s=>r.offset<s&&s<r.offset+r.content.length).map(s=>s-r.offset).sort((s,i)=>s-i);return n.length?Fp(r,n):r})):e}function Bp(e,t,a,o,r="css-vars"){let n={content:e.content,explanation:e.explanation,offset:e.offset},s=t.map(c=>eo(e.variants[c])),i=new Set(s.flatMap(c=>Object.keys(c))),l={},u=(c,d)=>{let p=d==="color"?"":d==="background-color"?"-bg":`-${d}`;return a+t[c]+(d==="color"?"":p)};return s.forEach((c,d)=>{for(let p of i){let m=c[p]||"inherit";if(d===0&&o&&Mp.includes(p))if(o===gr&&s.length>1){let h=t.findIndex(C=>C==="light"),I=t.findIndex(C=>C==="dark");if(h===-1||I===-1)throw new ae('When using `defaultColor: "light-dark()"`, you must provide both `light` and `dark` themes');let x=s[h][p]||"inherit",S=s[I][p]||"inherit";l[p]=`light-dark(${x}, ${S})`,r==="css-vars"&&(l[u(d,p)]=m)}else l[p]=m;else r==="css-vars"&&(l[u(d,p)]=m)}}),n.htmlStyle=l,n}function eo(e){let t={};if(e.color&&(t.color=e.color),e.bgColor&&(t["background-color"]=e.bgColor),e.fontStyle){e.fontStyle&xe.Italic&&(t["font-style"]="italic"),e.fontStyle&xe.Bold&&(t["font-weight"]="bold");let a=[];e.fontStyle&xe.Underline&&a.push("underline"),e.fontStyle&xe.Strikethrough&&a.push("line-through"),a.length&&(t["text-decoration"]=a.join(" "))}return t}function cr(e){return typeof e=="string"?e:Object.entries(e).map(([t,a])=>`${t}:${a}`).join(";")}var ol=new WeakMap;function no(e,t){ol.set(e,t)}function ha(e){return ol.get(e)}var At=class e{_stacks={};lang;get themes(){return Object.keys(this._stacks)}get theme(){return this.themes[0]}get _stack(){return this._stacks[this.theme]}static initial(t,a){return new e(Object.fromEntries(Ap(a).map(o=>[o,$a])),t)}constructor(...t){if(t.length===2){let[a,o]=t;this.lang=o,this._stacks=a}else{let[a,o,r]=t;this.lang=o,this._stacks={[r]:a}}}getInternalStack(t=this.theme){return this._stacks[t]}getScopes(t=this.theme){return Ep(this._stacks[t])}toJSON(){return{lang:this.lang,theme:this.theme,themes:this.themes,scopes:this.getScopes()}}};function Ep(e){let t=[],a=new Set;function o(r){if(a.has(r))return;a.add(r);let n=r?.nameScopesList?.scopeName;n&&t.push(n),r.parent&&o(r.parent)}return o(e),t}function _p(e,t){if(!(e instanceof At))throw new ae("Invalid grammar state");return e.getInternalStack(t)}function Np(){let e=new WeakMap;function t(a){if(!e.has(a.meta)){let o=function(s){if(typeof s=="number"){if(s<0||s>a.source.length)throw new ae(`Invalid decoration offset: ${s}. Code length: ${a.source.length}`);return{...r.indexToPos(s),offset:s}}else{let i=r.lines[s.line];if(i===void 0)throw new ae(`Invalid decoration position ${JSON.stringify(s)}. Lines length: ${r.lines.length}`);let l=s.character;if(l<0&&(l=i.length+l),l<0||l>i.length)throw new ae(`Invalid decoration position ${JSON.stringify(s)}. Line ${s.line} length: ${i.length}`);return{...s,character:l,offset:r.posToIndex(s.line,l)}}},r=Rp(a.source),n=(a.options.decorations||[]).map(s=>({...s,start:o(s.start),end:o(s.end)}));Op(n),e.set(a.meta,{decorations:n,converter:r,source:a.source})}return e.get(a.meta)}return{name:"shiki:decorations",tokens(a){if(!this.options.decorations?.length)return;let r=t(this).decorations.flatMap(s=>[s.start.offset,s.end.offset]);return Dp(a,r)},code(a){if(!this.options.decorations?.length)return;let o=t(this),r=Array.from(a.children).filter(c=>c.type==="element"&&c.tagName==="span");if(r.length!==o.converter.lines.length)throw new ae(`Number of lines in code element (${r.length}) does not match the number of lines in the source (${o.converter.lines.length}). Failed to apply decorations.`);function n(c,d,p,m){let h=r[c],I="",x=-1,S=-1;if(d===0&&(x=0),p===0&&(S=0),p===Number.POSITIVE_INFINITY&&(S=h.children.length),x===-1||S===-1)for(let L=0;L<h.children.length;L++)I+=rl(h.children[L]),x===-1&&I.length===d&&(x=L+1),S===-1&&I.length===p&&(S=L+1);if(x===-1)throw new ae(`Failed to find start index for decoration ${JSON.stringify(m.start)}`);if(S===-1)throw new ae(`Failed to find end index for decoration ${JSON.stringify(m.end)}`);let C=h.children.slice(x,S);if(!m.alwaysWrap&&C.length===h.children.length)i(h,m,"line");else if(!m.alwaysWrap&&C.length===1&&C[0].type==="element")i(C[0],m,"token");else{let L={type:"element",tagName:"span",properties:{},children:C};i(L,m,"wrapper"),h.children.splice(x,C.length,L)}}function s(c,d){r[c]=i(r[c],d,"line")}function i(c,d,p){let m=d.properties||{},h=d.transform||(I=>I);return c.tagName=d.tagName||"span",c.properties={...c.properties,...m,class:c.properties.class},d.properties?.class&&tl(c,d.properties.class),c=h(c,p)||c,c}let l=[],u=o.decorations.sort((c,d)=>d.start.offset-c.start.offset||c.end.offset-d.end.offset);for(let c of u){let{start:d,end:p}=c;if(d.line===p.line)n(d.line,d.character,p.character,c);else if(d.line<p.line){n(d.line,d.character,Number.POSITIVE_INFINITY,c);for(let m=d.line+1;m<p.line;m++)l.unshift(()=>s(m,c));n(p.line,0,p.character,c)}}l.forEach(c=>c())}}}function Op(e){for(let t=0;t<e.length;t++){let a=e[t];if(a.start.offset>a.end.offset)throw new ae(`Invalid decoration range: ${JSON.stringify(a.start)} - ${JSON.stringify(a.end)}`);for(let o=t+1;o<e.length;o++){let r=e[o],n=a.start.offset<=r.start.offset&&r.start.offset<a.end.offset,s=a.start.offset<r.end.offset&&r.end.offset<=a.end.offset,i=r.start.offset<=a.start.offset&&a.start.offset<r.end.offset,l=r.start.offset<a.end.offset&&a.end.offset<=r.end.offset;if(n||s||i||l){if(n&&s||i&&l||i&&a.start.offset===a.end.offset||s&&r.start.offset===r.end.offset)continue;throw new ae(`Decorations ${JSON.stringify(a.start)} and ${JSON.stringify(r.start)} intersect.`)}}}}function rl(e){return e.type==="text"?e.value:e.type==="element"?e.children.map(rl).join(""):""}var Up=[Np()];function to(e){let t=Hp(e.transformers||[]);return[...t.pre,...t.normal,...t.post,...Up]}function Hp(e){let t=[],a=[],o=[];for(let r of e)switch(r.enforce){case"pre":t.push(r);break;case"post":a.push(r);break;default:o.push(r)}return{pre:t,post:a,normal:o}}var ht=["black","red","green","yellow","blue","magenta","cyan","white","brightBlack","brightRed","brightGreen","brightYellow","brightBlue","brightMagenta","brightCyan","brightWhite"],ur={1:"bold",2:"dim",3:"italic",4:"underline",7:"reverse",8:"hidden",9:"strikethrough"};function qp(e,t){let a=e.indexOf("\x1B",t);if(a!==-1&&e[a+1]==="["){let o=e.indexOf("m",a);if(o!==-1)return{sequence:e.substring(a+2,o).split(";"),startPosition:a,position:o+1}}return{position:e.length}}function Vi(e){let t=e.shift();if(t==="2"){let a=e.splice(0,3).map(o=>Number.parseInt(o));return a.length!==3||a.some(o=>Number.isNaN(o))?void 0:{type:"rgb",rgb:a}}else if(t==="5"){let a=e.shift();if(a)return{type:"table",index:Number(a)}}}function Wp(e){let t=[];for(;e.length>0;){let a=e.shift();if(!a)continue;let o=Number.parseInt(a);if(!Number.isNaN(o))if(o===0)t.push({type:"resetAll"});else if(o<=9)ur[o]&&t.push({type:"setDecoration",value:ur[o]});else if(o<=29){let r=ur[o-20];r&&(t.push({type:"resetDecoration",value:r}),r==="dim"&&t.push({type:"resetDecoration",value:"bold"}))}else if(o<=37)t.push({type:"setForegroundColor",value:{type:"named",name:ht[o-30]}});else if(o===38){let r=Vi(e);r&&t.push({type:"setForegroundColor",value:r})}else if(o===39)t.push({type:"resetForegroundColor"});else if(o<=47)t.push({type:"setBackgroundColor",value:{type:"named",name:ht[o-40]}});else if(o===48){let r=Vi(e);r&&t.push({type:"setBackgroundColor",value:r})}else o===49?t.push({type:"resetBackgroundColor"}):o===53?t.push({type:"setDecoration",value:"overline"}):o===55?t.push({type:"resetDecoration",value:"overline"}):o>=90&&o<=97?t.push({type:"setForegroundColor",value:{type:"named",name:ht[o-90+8]}}):o>=100&&o<=107&&t.push({type:"setBackgroundColor",value:{type:"named",name:ht[o-100+8]}})}return t}function Gp(){let e=null,t=null,a=new Set;return{parse(o){let r=[],n=0;do{let s=qp(o,n),i=s.sequence?o.substring(n,s.startPosition):o.substring(n);if(i.length>0&&r.push({value:i,foreground:e,background:t,decorations:new Set(a)}),s.sequence){let l=Wp(s.sequence);for(let u of l)u.type==="resetAll"?(e=null,t=null,a.clear()):u.type==="resetForegroundColor"?e=null:u.type==="resetBackgroundColor"?t=null:u.type==="resetDecoration"&&a.delete(u.value);for(let u of l)u.type==="setForegroundColor"?e=u.value:u.type==="setBackgroundColor"?t=u.value:u.type==="setDecoration"&&a.add(u.value)}n=s.position}while(n<o.length);return r}}}var jp={black:"#000000",red:"#bb0000",green:"#00bb00",yellow:"#bbbb00",blue:"#0000bb",magenta:"#ff00ff",cyan:"#00bbbb",white:"#eeeeee",brightBlack:"#555555",brightRed:"#ff5555",brightGreen:"#00ff00",brightYellow:"#ffff55",brightBlue:"#5555ff",brightMagenta:"#ff55ff",brightCyan:"#55ffff",brightWhite:"#ffffff"};function zp(e=jp){function t(i){return e[i]}function a(i){return`#${i.map(l=>Math.max(0,Math.min(l,255)).toString(16).padStart(2,"0")).join("")}`}let o;function r(){if(o)return o;o=[];for(let u=0;u<ht.length;u++)o.push(t(ht[u]));let i=[0,95,135,175,215,255];for(let u=0;u<6;u++)for(let c=0;c<6;c++)for(let d=0;d<6;d++)o.push(a([i[u],i[c],i[d]]));let l=8;for(let u=0;u<24;u++,l+=10)o.push(a([l,l,l]));return o}function n(i){return r()[i]}function s(i){switch(i.type){case"named":return t(i.name);case"rgb":return a(i.rgb);case"table":return n(i.index)}}return{value:s}}var Vp={black:"#000000",red:"#cd3131",green:"#0DBC79",yellow:"#E5E510",blue:"#2472C8",magenta:"#BC3FBC",cyan:"#11A8CD",white:"#E5E5E5",brightBlack:"#666666",brightRed:"#F14C4C",brightGreen:"#23D18B",brightYellow:"#F5F543",brightBlue:"#3B8EEA",brightMagenta:"#D670D6",brightCyan:"#29B8DB",brightWhite:"#FFFFFF"};function $p(e,t,a){let o=Ya(e,a),r=ro(t),n=Object.fromEntries(ht.map(l=>{let u=`terminal.ansi${l[0].toUpperCase()}${l.substring(1)}`,c=e.colors?.[u];return[l,c||Vp[l]]})),s=zp(n),i=Gp();return r.map(l=>i.parse(l[0]).map(u=>{let c,d;u.decorations.has("reverse")?(c=u.background?s.value(u.background):e.bg,d=u.foreground?s.value(u.foreground):e.fg):(c=u.foreground?s.value(u.foreground):e.fg,d=u.background?s.value(u.background):void 0),c=rt(c,o),d=rt(d,o),u.decorations.has("dim")&&(c=Xp(c));let p=xe.None;return u.decorations.has("bold")&&(p|=xe.Bold),u.decorations.has("italic")&&(p|=xe.Italic),u.decorations.has("underline")&&(p|=xe.Underline),u.decorations.has("strikethrough")&&(p|=xe.Strikethrough),{content:u.value,offset:l[1],color:c,bgColor:d,fontStyle:p}}))}function Xp(e){let t=e.match(/#([0-9a-f]{3,8})/i);if(t){let o=t[1];if(o.length===8){let r=Math.round(Number.parseInt(o.slice(6,8),16)/2).toString(16).padStart(2,"0");return`#${o.slice(0,6)}${r}`}else{if(o.length===6)return`#${o}80`;if(o.length===4){let r=o[0],n=o[1],s=o[2],i=o[3],l=Math.round(Number.parseInt(`${i}${i}`,16)/2).toString(16).padStart(2,"0");return`#${r}${r}${n}${n}${s}${s}${l}`}else if(o.length===3){let r=o[0],n=o[1],s=o[2];return`#${r}${r}${n}${n}${s}${s}80`}}}let a=e.match(/var\((--[\w-]+-ansi-[\w-]+)\)/);return a?`var(${a[1]}-dim)`:e}function wr(e,t,a={}){let{theme:o=e.getLoadedThemes()[0]}=a,r=e.resolveLangAlias(a.lang||"text");if(mr(r)||hr(o))return ro(t).map(l=>[{content:l[0],offset:l[1]}]);let{theme:n,colorMap:s}=e.setTheme(o);if(r==="ansi")return $p(n,t,a);let i=e.getLanguage(a.lang||"text");if(a.grammarState){if(a.grammarState.lang!==i.name)throw new ae(`Grammar state language "${a.grammarState.lang}" does not match highlight language "${i.name}"`);if(!a.grammarState.themes.includes(n.name))throw new ae(`Grammar state themes "${a.grammarState.themes}" do not contain highlight theme "${n.name}"`)}return Qp(t,i,n,s,a)}function Kp(...e){if(e.length===2)return ha(e[1]);let[t,a,o={}]=e,{lang:r="text",theme:n=t.getLoadedThemes()[0]}=o;if(mr(r)||hr(n))throw new ae("Plain language does not have grammar state");if(r==="ansi")throw new ae("ANSI language does not have grammar state");let{theme:s,colorMap:i}=t.setTheme(n),l=t.getLanguage(r);return new At(xr(a,l,s,i,o).stateStack,l.name,s.name)}function Qp(e,t,a,o,r){let n=xr(e,t,a,o,r),s=new At(n.stateStack,t.name,a.name);return no(n.tokens,s),n.tokens}function xr(e,t,a,o,r){let n=Ya(a,r),{tokenizeMaxLineLength:s=0,tokenizeTimeLimit:i=500}=r,l=ro(e),u=r.grammarState?_p(r.grammarState,a.name)??$a:r.grammarContextCode!=null?xr(r.grammarContextCode,t,a,o,{...r,grammarState:void 0,grammarContextCode:void 0}).stateStack:$a,c=[],d=[];for(let p=0,m=l.length;p<m;p++){let[h,I]=l[p];if(h===""){c=[],d.push([]);continue}if(s>0&&h.length>=s){c=[],d.push([{content:h,offset:I,color:"",fontStyle:0}]);continue}let x,S,C;r.includeExplanation&&(x=t.tokenizeLine(h,u,i),S=x.tokens,C=0);let L=t.tokenizeLine2(h,u,i),y=L.tokens.length/2;for(let v=0;v<y;v++){let A=L.tokens[2*v],M=v+1<y?L.tokens[2*v+2]:h.length;if(A===M)continue;let R=L.tokens[2*v+1],_=rt(o[mt.getForeground(R)],n),D=mt.getFontStyle(R),N={content:h.substring(A,M),offset:I+A,color:_,fontStyle:D};if(r.includeExplanation){let k=[];if(r.includeExplanation!=="scopeName")for(let P of a.settings){let T;switch(typeof P.scope){case"string":T=P.scope.split(/,/).map(O=>O.trim());break;case"object":T=P.scope;break;default:continue}k.push({settings:P,selectors:T.map(O=>O.split(/ /))})}N.explanation=[];let B=0;for(;A+B<M;){let P=S[C],T=h.substring(P.startIndex,P.endIndex);B+=T.length,N.explanation.push({content:T,scopes:r.includeExplanation==="scopeName"?Jp(P.scopes):Zp(k,P.scopes)}),C+=1}}c.push(N)}d.push(c),c=[],u=L.ruleStack}return{tokens:d,stateStack:u}}function Jp(e){return e.map(t=>({scopeName:t}))}function Zp(e,t){let a=[];for(let o=0,r=t.length;o<r;o++){let n=t[o];a[o]={scopeName:n,themeMatches:em(e,n,t.slice(0,o))}}return a}function $i(e,t){return e===t||t.substring(0,e.length)===e&&t[e.length]==="."}function Yp(e,t,a){if(!$i(e[e.length-1],t))return!1;let o=e.length-2,r=a.length-1;for(;o>=0&&r>=0;)$i(e[o],a[r])&&(o-=1),r-=1;return o===-1}function em(e,t,a){let o=[];for(let{selectors:r,settings:n}of e)for(let s of r)if(Yp(s,t,a)){o.push(n);break}return o}function nl(e,t,a){let o=Object.entries(a.themes).filter(l=>l[1]).map(l=>({color:l[0],theme:l[1]})),r=o.map(l=>{let u=wr(e,t,{...a,theme:l.theme}),c=ha(u),d=typeof l.theme=="string"?l.theme:l.theme.name;return{tokens:u,state:c,theme:d}}),n=tm(...r.map(l=>l.tokens)),s=n[0].map((l,u)=>l.map((c,d)=>{let p={content:c.content,variants:{},offset:c.offset};return"includeExplanation"in a&&a.includeExplanation&&(p.explanation=c.explanation),n.forEach((m,h)=>{let{content:I,explanation:x,offset:S,...C}=m[u][d];p.variants[o[h].color]=C}),p})),i=r[0].state?new At(Object.fromEntries(r.map(l=>[l.theme,l.state?.getInternalStack(l.theme)])),r[0].state.lang):void 0;return i&&no(s,i),s}function tm(...e){let t=e.map(()=>[]),a=e.length;for(let o=0;o<e[0].length;o++){let r=e.map(l=>l[o]),n=t.map(()=>[]);t.forEach((l,u)=>l.push(n[u]));let s=r.map(()=>0),i=r.map(l=>l[0]);for(;i.every(l=>l);){let l=Math.min(...i.map(u=>u.content.length));for(let u=0;u<a;u++){let c=i[u];c.content.length===l?(n[u].push(c),s[u]+=1,i[u]=r[u][s[u]]):(n[u].push({...c,content:c.content.slice(0,l)}),i[u]={...c,content:c.content.slice(l),offset:c.offset+l})}}}return t}function ao(e,t,a){let o,r,n,s,i,l;if("themes"in a){let{defaultColor:u="light",cssVariablePrefix:c="--shiki-",colorsRendering:d="css-vars"}=a,p=Object.entries(a.themes).filter(S=>S[1]).map(S=>({color:S[0],theme:S[1]})).sort((S,C)=>S.color===u?-1:C.color===u?1:0);if(p.length===0)throw new ae("`themes` option must not be empty");let m=nl(e,t,a);if(l=ha(m),u&&gr!==u&&!p.find(S=>S.color===u))throw new ae(`\`themes\` option must contain the defaultColor key \`${u}\``);let h=p.map(S=>e.getTheme(S.theme)),I=p.map(S=>S.color);n=m.map(S=>S.map(C=>Bp(C,I,c,u,d))),l&&no(n,l);let x=p.map(S=>Ya(S.theme,a));r=Xi(p,h,x,c,u,"fg",d),o=Xi(p,h,x,c,u,"bg",d),s=`shiki-themes ${h.map(S=>S.name).join(" ")}`,i=u?void 0:[r,o].join(";")}else if("theme"in a){let u=Ya(a.theme,a);n=wr(e,t,a);let c=e.getTheme(a.theme);o=rt(c.bg,u),r=rt(c.fg,u),s=c.name,l=ha(n)}else throw new ae("Invalid options, either `theme` or `themes` must be provided");return{tokens:n,fg:r,bg:o,themeName:s,rootStyle:i,grammarState:l}}function Xi(e,t,a,o,r,n,s){return e.map((i,l)=>{let u=rt(t[l][n],a[l])||"inherit",c=`${o+i.color}${n==="bg"?"-bg":""}:${u}`;if(l===0&&r){if(r===gr&&e.length>1){let d=e.findIndex(I=>I.color==="light"),p=e.findIndex(I=>I.color==="dark");if(d===-1||p===-1)throw new ae('When using `defaultColor: "light-dark()"`, you must provide both `light` and `dark` themes');let m=rt(t[d][n],a[d])||"inherit",h=rt(t[p][n],a[p])||"inherit";return`light-dark(${m}, ${h});${c}`}return u}return s==="css-vars"?c:null}).filter(i=>!!i).join(";")}function oo(e,t,a,o={meta:{},options:a,codeToHast:(r,n)=>oo(e,r,n),codeToTokens:(r,n)=>ao(e,r,n)}){let r=t;for(let h of to(a))r=h.preprocess?.call(o,r,a)||r;let{tokens:n,fg:s,bg:i,themeName:l,rootStyle:u,grammarState:c}=ao(e,r,a),{mergeWhitespaces:d=!0,mergeSameStyleTokens:p=!1}=a;d===!0?n=om(n):d==="never"&&(n=rm(n)),p&&(n=nm(n));let m={...o,get source(){return r}};for(let h of to(a))n=h.tokens?.call(m,n)||n;return am(n,{...a,fg:s,bg:i,themeName:l,rootStyle:a.rootStyle===!1?!1:a.rootStyle??u},m,c)}function am(e,t,a,o=ha(e)){let r=to(t),n=[],s={type:"root",children:[]},{structure:i="classic",tabindex:l="0"}=t,u={class:`shiki ${t.themeName||""}`};t.rootStyle!==!1&&(t.rootStyle!=null?u.style=t.rootStyle:u.style=`background-color:${t.bg};color:${t.fg}`),l!==!1&&l!=null&&(u.tabindex=l.toString());for(let[I,x]of Object.entries(t.meta||{}))I.startsWith("_")||(u[I]=x);let c={type:"element",tagName:"pre",properties:u,children:[],data:t.data},d={type:"element",tagName:"code",properties:{},children:n},p=[],m={...a,structure:i,addClassToHast:tl,get source(){return a.source},get tokens(){return e},get options(){return t},get root(){return s},get pre(){return c},get code(){return d},get lines(){return p}};if(e.forEach((I,x)=>{x&&(i==="inline"?s.children.push({type:"element",tagName:"br",properties:{},children:[]}):i==="classic"&&n.push({type:"text",value:`
79
- `}));let S={type:"element",tagName:"span",properties:{class:"line"},children:[]},C=0;for(let L of I){let y={type:"element",tagName:"span",properties:{...L.htmlAttrs},children:[{type:"text",value:L.content}]},v=cr(L.htmlStyle||eo(L));v&&(y.properties.style=v);for(let A of r)y=A?.span?.call(m,y,x+1,C,S,L)||y;i==="inline"?s.children.push(y):i==="classic"&&S.children.push(y),C+=L.content.length}if(i==="classic"){for(let L of r)S=L?.line?.call(m,S,x+1)||S;p.push(S),n.push(S)}else i==="inline"&&p.push(S)}),i==="classic"){for(let I of r)d=I?.code?.call(m,d)||d;c.children.push(d);for(let I of r)c=I?.pre?.call(m,c)||c;s.children.push(c)}else if(i==="inline"){let I=[],x={type:"element",tagName:"span",properties:{class:"line"},children:[]};for(let L of s.children)L.type==="element"&&L.tagName==="br"?(I.push(x),x={type:"element",tagName:"span",properties:{class:"line"},children:[]}):(L.type==="element"||L.type==="text")&&x.children.push(L);I.push(x);let C={type:"element",tagName:"code",properties:{},children:I};for(let L of r)C=L?.code?.call(m,C)||C;s.children=[];for(let L=0;L<C.children.length;L++){L>0&&s.children.push({type:"element",tagName:"br",properties:{},children:[]});let y=C.children[L];y.type==="element"&&s.children.push(...y.children)}}let h=s;for(let I of r)h=I?.root?.call(m,h)||h;return o&&no(h,o),h}function om(e){return e.map(t=>{let a=[],o="",r;return t.forEach((n,s)=>{let l=!(n.fontStyle&&(n.fontStyle&xe.Underline||n.fontStyle&xe.Strikethrough));l&&n.content.match(/^\s+$/)&&t[s+1]?(r===void 0&&(r=n.offset),o+=n.content):o?(l?a.push({...n,offset:r,content:o+n.content}):a.push({content:o,offset:r},n),r=void 0,o=""):a.push(n)}),a})}function rm(e){return e.map(t=>t.flatMap(a=>{if(a.content.match(/^\s+$/))return a;let o=a.content.match(/^(\s*)(.*?)(\s*)$/);if(!o)return a;let[,r,n,s]=o;if(!r&&!s)return a;let i=[{...a,offset:a.offset+r.length,content:n}];return r&&i.unshift({content:r,offset:a.offset}),s&&i.push({content:s,offset:a.offset+r.length+n.length}),i}))}function nm(e){return e.map(t=>{let a=[];for(let o of t){if(a.length===0){a.push({...o});continue}let r=a[a.length-1],n=cr(r.htmlStyle||eo(r)),s=cr(o.htmlStyle||eo(o)),i=r.fontStyle&&(r.fontStyle&xe.Underline||r.fontStyle&xe.Strikethrough),l=o.fontStyle&&(o.fontStyle&xe.Underline||o.fontStyle&xe.Strikethrough);!i&&!l&&n===s?r.content+=o.content:a.push({...o})}return a})}var sm=lr;function im(e,t,a){let o={meta:{},options:a,codeToHast:(n,s)=>oo(e,n,s),codeToTokens:(n,s)=>ao(e,n,s)},r=sm(oo(e,t,a,o));for(let n of to(a))r=n.postprocess?.call(o,r,a)||r;return r}var Ki={light:"#333333",dark:"#bbbbbb"},Qi={light:"#fffffe",dark:"#1e1e1e"},Ji="__shiki_resolved";function Lr(e){if(e?.[Ji])return e;let t={...e};t.tokenColors&&!t.settings&&(t.settings=t.tokenColors,delete t.tokenColors),t.type||="dark",t.colorReplacements={...t.colorReplacements},t.settings||=[];let{bg:a,fg:o}=t;if(!a||!o){let i=t.settings?t.settings.find(l=>!l.name&&!l.scope):void 0;i?.settings?.foreground&&(o=i.settings.foreground),i?.settings?.background&&(a=i.settings.background),!o&&t?.colors?.["editor.foreground"]&&(o=t.colors["editor.foreground"]),!a&&t?.colors?.["editor.background"]&&(a=t.colors["editor.background"]),o||(o=t.type==="light"?Ki.light:Ki.dark),a||(a=t.type==="light"?Qi.light:Qi.dark),t.fg=o,t.bg=a}t.settings[0]&&t.settings[0].settings&&!t.settings[0].scope||t.settings.unshift({settings:{foreground:t.fg,background:t.bg}});let r=0,n=new Map;function s(i){if(n.has(i))return n.get(i);r+=1;let l=`#${r.toString(16).padStart(8,"0").toLowerCase()}`;return t.colorReplacements?.[`#${l}`]?s(i):(n.set(i,l),l)}t.settings=t.settings.map(i=>{let l=i.settings?.foreground&&!i.settings.foreground.startsWith("#"),u=i.settings?.background&&!i.settings.background.startsWith("#");if(!l&&!u)return i;let c={...i,settings:{...i.settings}};if(l){let d=s(i.settings.foreground);t.colorReplacements[d]=i.settings.foreground,c.settings.foreground=d}if(u){let d=s(i.settings.background);t.colorReplacements[d]=i.settings.background,c.settings.background=d}return c});for(let i of Object.keys(t.colors||{}))if((i==="editor.foreground"||i==="editor.background"||i.startsWith("terminal.ansi"))&&!t.colors[i]?.startsWith("#")){let l=s(t.colors[i]);t.colorReplacements[l]=t.colors[i],t.colors[i]=l}return Object.defineProperty(t,Ji,{enumerable:!1,writable:!1,value:!0}),t}async function sl(e){return Array.from(new Set((await Promise.all(e.filter(t=>!Yi(t)).map(async t=>await Zi(t).then(a=>Array.isArray(a)?a:[a])))).flat()))}async function il(e){return(await Promise.all(e.map(async a=>el(a)?null:Lr(await Zi(a))))).filter(a=>!!a)}var dr=3,lm=!1;function um(e,t=3){if(dr&&!(typeof dr=="number"&&t>dr)){if(lm)throw new Error(`[SHIKI DEPRECATE]: ${e}`);console.trace(`[SHIKI DEPRECATE]: ${e}`)}}var ot=class extends Error{constructor(t){super(t),this.name="ShikiError"}};function ll(e,t){if(!t)return e;if(t[e]){let a=new Set([e]);for(;t[e];){if(e=t[e],a.has(e))throw new ot(`Circular alias \`${Array.from(a).join(" -> ")} -> ${e}\``);a.add(e)}}return e}var fr=class extends Ti{constructor(t,a,o,r={}){super(t),this._resolver=t,this._themes=a,this._langs=o,this._alias=r,this._themes.map(n=>this.loadTheme(n)),this.loadLanguages(this._langs)}_resolvedThemes=new Map;_resolvedGrammars=new Map;_langMap=new Map;_langGraph=new Map;_textmateThemeCache=new WeakMap;_loadedThemesCache=null;_loadedLanguagesCache=null;getTheme(t){return typeof t=="string"?this._resolvedThemes.get(t):this.loadTheme(t)}loadTheme(t){let a=Lr(t);return a.name&&(this._resolvedThemes.set(a.name,a),this._loadedThemesCache=null),a}getLoadedThemes(){return this._loadedThemesCache||(this._loadedThemesCache=[...this._resolvedThemes.keys()]),this._loadedThemesCache}setTheme(t){let a=this._textmateThemeCache.get(t);a||(a=la.createFromRawTheme(t),this._textmateThemeCache.set(t,a)),this._syncRegistry.setTheme(a)}getGrammar(t){return t=ll(t,this._alias),this._resolvedGrammars.get(t)}loadLanguage(t){if(this.getGrammar(t.name))return;let a=new Set([...this._langMap.values()].filter(n=>n.embeddedLangsLazy?.includes(t.name)));this._resolver.addLanguage(t);let o={balancedBracketSelectors:t.balancedBracketSelectors||["*"],unbalancedBracketSelectors:t.unbalancedBracketSelectors||[]};this._syncRegistry._rawGrammars.set(t.scopeName,t);let r=this.loadGrammarWithConfiguration(t.scopeName,1,o);if(r.name=t.name,this._resolvedGrammars.set(t.name,r),t.aliases&&t.aliases.forEach(n=>{this._alias[n]=t.name}),this._loadedLanguagesCache=null,a.size)for(let n of a)this._resolvedGrammars.delete(n.name),this._loadedLanguagesCache=null,this._syncRegistry?._injectionGrammars?.delete(n.scopeName),this._syncRegistry?._grammars?.delete(n.scopeName),this.loadLanguage(this._langMap.get(n.name))}dispose(){super.dispose(),this._resolvedThemes.clear(),this._resolvedGrammars.clear(),this._langMap.clear(),this._langGraph.clear(),this._loadedThemesCache=null}loadLanguages(t){for(let r of t)this.resolveEmbeddedLanguages(r);let a=Array.from(this._langGraph.entries()),o=a.filter(([r,n])=>!n);if(o.length){let r=a.filter(([n,s])=>s?(s.embeddedLanguages||s.embeddedLangs)?.some(l=>o.map(([u])=>u).includes(l)):!1).filter(n=>!o.includes(n));throw new ot(`Missing languages ${o.map(([n])=>`\`${n}\``).join(", ")}, required by ${r.map(([n])=>`\`${n}\``).join(", ")}`)}for(let[r,n]of a)this._resolver.addLanguage(n);for(let[r,n]of a)this.loadLanguage(n)}getLoadedLanguages(){return this._loadedLanguagesCache||(this._loadedLanguagesCache=[...new Set([...this._resolvedGrammars.keys(),...Object.keys(this._alias)])]),this._loadedLanguagesCache}resolveEmbeddedLanguages(t){this._langMap.set(t.name,t),this._langGraph.set(t.name,t);let a=t.embeddedLanguages??t.embeddedLangs;if(a)for(let o of a)this._langGraph.set(o,this._langMap.get(o))}},pr=class{_langs=new Map;_scopeToLang=new Map;_injections=new Map;_onigLib;constructor(t,a){this._onigLib={createOnigScanner:o=>t.createScanner(o),createOnigString:o=>t.createString(o)},a.forEach(o=>this.addLanguage(o))}get onigLib(){return this._onigLib}getLangRegistration(t){return this._langs.get(t)}loadGrammar(t){return this._scopeToLang.get(t)}addLanguage(t){this._langs.set(t.name,t),t.aliases&&t.aliases.forEach(a=>{this._langs.set(a,t)}),this._scopeToLang.set(t.scopeName,t),t.injectTo&&t.injectTo.forEach(a=>{this._injections.get(a)||this._injections.set(a,[]),this._injections.get(a).push(t.scopeName)})}getInjections(t){let a=t.split("."),o=[];for(let r=1;r<=a.length;r++){let n=a.slice(0,r).join(".");o=[...o,...this._injections.get(n)||[]]}return o}},ma=0;function dm(e){ma+=1,e.warnings!==!1&&ma>=10&&ma%10===0&&console.warn(`[Shiki] ${ma} instances have been created. Shiki is supposed to be used as a singleton, consider refactoring your code to cache your highlighter instance; Or call \`highlighter.dispose()\` to release unused instances.`);let t=!1;if(!e.engine)throw new ot("`engine` option is required for synchronous mode");let a=(e.langs||[]).flat(1),o=(e.themes||[]).flat(1).map(Lr),r=new pr(e.engine,a),n=new fr(r,o,a,e.langAlias),s;function i(L){return ll(L,e.langAlias)}function l(L){S();let y=n.getGrammar(typeof L=="string"?L:L.name);if(!y)throw new ot(`Language \`${L}\` not found, you may need to load it first`);return y}function u(L){if(L==="none")return{bg:"",fg:"",name:"none",settings:[],type:"dark"};S();let y=n.getTheme(L);if(!y)throw new ot(`Theme \`${L}\` not found, you may need to load it first`);return y}function c(L){S();let y=u(L);s!==L&&(n.setTheme(y),s=L);let v=n.getColorMap();return{theme:y,colorMap:v}}function d(){return S(),n.getLoadedThemes()}function p(){return S(),n.getLoadedLanguages()}function m(...L){S(),n.loadLanguages(L.flat(1))}async function h(...L){return m(await sl(L))}function I(...L){S();for(let y of L.flat(1))n.loadTheme(y)}async function x(...L){return S(),I(await il(L))}function S(){if(t)throw new ot("Shiki instance has been disposed")}function C(){t||(t=!0,n.dispose(),ma-=1)}return{setTheme:c,getTheme:u,getLanguage:l,getLoadedThemes:d,getLoadedLanguages:p,resolveLangAlias:i,loadLanguage:h,loadLanguageSync:m,loadTheme:x,loadThemeSync:I,dispose:C,[Symbol.dispose]:C}}async function cm(e){e.engine||um("`engine` option is required. Use `createOnigurumaEngine` or `createJavaScriptRegexEngine` to create an engine.");let[t,a,o]=await Promise.all([il(e.themes||[]),sl(e.langs||[]),e.engine]);return dm({...e,themes:t,langs:a,engine:o})}async function fm(e){let t=await cm(e);return{getLastGrammarState:(...a)=>Kp(t,...a),codeToTokensBase:(a,o)=>wr(t,a,o),codeToTokensWithThemes:(a,o)=>nl(t,a,o),codeToTokens:(a,o)=>ao(t,a,o),codeToHast:(a,o)=>oo(t,a,o),codeToHtml:(a,o)=>im(t,a,o),getBundledLanguages:()=>({}),getBundledThemes:()=>({}),...t,getInternalContext:()=>t}}function ul(e){let t=e.langs,a=e.themes,o=e.engine;async function r(n){function s(d){if(typeof d=="string"){if(d=n.langAlias?.[d]||d,Yi(d))return[];let p=t[d];if(!p)throw new ae(`Language \`${d}\` is not included in this bundle. You may want to load it from external source.`);return p}return d}function i(d){if(el(d))return"none";if(typeof d=="string"){let p=a[d];if(!p)throw new ae(`Theme \`${d}\` is not included in this bundle. You may want to load it from external source.`);return p}return d}let l=(n.themes??[]).map(d=>i(d)),u=(n.langs??[]).map(d=>s(d)),c=await fm({engine:n.engine??o(),...n,themes:l,langs:u});return{...c,loadLanguage(...d){return c.loadLanguage(...d.map(s))},loadTheme(...d){return c.loadTheme(...d.map(i))},getBundledLanguages(){return t},getBundledThemes(){return a}}}return r}function pm(e){let t;async function a(o={}){if(t){let r=await t;return await Promise.all([r.loadTheme(...o.themes||[]),r.loadLanguage(...o.langs||[])]),r}else{t=e({...o,themes:[],langs:[]});let r=await t;return await Promise.all([r.loadTheme(...o.themes||[]),r.loadLanguage(...o.langs||[])]),r}}return a}function dl(e,t){let a=pm(e);async function o(r,n){let s=await a({langs:[n.lang],themes:"theme"in n?[n.theme]:Object.values(n.themes)}),i=await t?.guessEmbeddedLanguages?.(r,n.lang,s);return i&&await s.loadLanguage(...i),s}return{getSingletonHighlighter(r){return a(r)},async codeToHtml(r,n){return(await o(r,n)).codeToHtml(r,n)},async codeToHast(r,n){return(await o(r,n)).codeToHast(r,n)},async codeToTokens(r,n){return(await o(r,n)).codeToTokens(r,n)},async codeToTokensBase(r,n){return(await o(r,n)).codeToTokensBase(r,n)},async codeToTokensWithThemes(r,n){return(await o(r,n)).codeToTokensWithThemes(r,n)},async getLastGrammarState(r,n){return(await a({langs:[n.lang],themes:[n.theme]})).getLastGrammarState(r,n)}}}f();var Cr=[{id:"abap",name:"ABAP",import:(()=>import("../abap-3IAGZ3PS.js"))},{id:"actionscript-3",name:"ActionScript",import:(()=>import("../actionscript-3-C46RIPM4.js"))},{id:"ada",name:"Ada",import:(()=>import("../ada-DNTYS66P.js"))},{id:"angular-html",name:"Angular HTML",import:(()=>import("../angular-html-GK625GFM.js"))},{id:"angular-ts",name:"Angular TypeScript",import:(()=>import("../angular-ts-BBPQXDS2.js"))},{id:"apache",name:"Apache Conf",import:(()=>import("../apache-DU26FTNI.js"))},{id:"apex",name:"Apex",import:(()=>import("../apex-OU63AG2P.js"))},{id:"apl",name:"APL",import:(()=>import("../apl-JGB4KP74.js"))},{id:"applescript",name:"AppleScript",import:(()=>import("../applescript-TT4XSRXH.js"))},{id:"ara",name:"Ara",import:(()=>import("../ara-Q7AJDKA4.js"))},{id:"asciidoc",name:"AsciiDoc",aliases:["adoc"],import:(()=>import("../asciidoc-WADBFJPS.js"))},{id:"asm",name:"Assembly",import:(()=>import("../asm-D3LJR7GV.js"))},{id:"astro",name:"Astro",import:(()=>import("../astro-K7JGTCPV.js"))},{id:"awk",name:"AWK",import:(()=>import("../awk-DCAM52A7.js"))},{id:"ballerina",name:"Ballerina",import:(()=>import("../ballerina-44XARFEK.js"))},{id:"bat",name:"Batch File",aliases:["batch"],import:(()=>import("../bat-WM4RL2AB.js"))},{id:"beancount",name:"Beancount",import:(()=>import("../beancount-5PUWGPVT.js"))},{id:"berry",name:"Berry",aliases:["be"],import:(()=>import("../berry-YAK4XTWX.js"))},{id:"bibtex",name:"BibTeX",import:(()=>import("../bibtex-2ISWNMJJ.js"))},{id:"bicep",name:"Bicep",import:(()=>import("../bicep-EOACOM4G.js"))},{id:"blade",name:"Blade",import:(()=>import("../blade-RWJJQSLU.js"))},{id:"bsl",name:"1C (Enterprise)",aliases:["1c"],import:(()=>import("../bsl-TNLQPNE3.js"))},{id:"c",name:"C",import:(()=>import("../c-G7V525MX.js"))},{id:"c3",name:"C3",import:(()=>import("../c3-CDQIRWGP.js"))},{id:"cadence",name:"Cadence",aliases:["cdc"],import:(()=>import("../cadence-U32GKKTR.js"))},{id:"cairo",name:"Cairo",import:(()=>import("../cairo-26RR6N4F.js"))},{id:"clarity",name:"Clarity",import:(()=>import("../clarity-4JIHRN2V.js"))},{id:"clojure",name:"Clojure",aliases:["clj"],import:(()=>import("../clojure-PKTTXYYS.js"))},{id:"cmake",name:"CMake",import:(()=>import("../cmake-HXKHWGGH.js"))},{id:"cobol",name:"COBOL",import:(()=>import("../cobol-ZFZ6ZP6X.js"))},{id:"codeowners",name:"CODEOWNERS",import:(()=>import("../codeowners-WCXRHQ2R.js"))},{id:"codeql",name:"CodeQL",aliases:["ql"],import:(()=>import("../codeql-XZZ2USHF.js"))},{id:"coffee",name:"CoffeeScript",aliases:["coffeescript"],import:(()=>import("../coffee-SGQWHBUL.js"))},{id:"common-lisp",name:"Common Lisp",aliases:["lisp"],import:(()=>import("../common-lisp-IK3DGBCK.js"))},{id:"coq",name:"Coq",import:(()=>import("../coq-UPTUVPLH.js"))},{id:"cpp",name:"C++",aliases:["c++"],import:(()=>import("../cpp-HLYUQ6RF.js"))},{id:"crystal",name:"Crystal",import:(()=>import("../crystal-UPNOBGN4.js"))},{id:"csharp",name:"C#",aliases:["c#","cs"],import:(()=>import("../csharp-6EXQ7B24.js"))},{id:"css",name:"CSS",import:(()=>import("../css-MH4LSMNV.js"))},{id:"csv",name:"CSV",import:(()=>import("../csv-CRTD5FOL.js"))},{id:"cue",name:"CUE",import:(()=>import("../cue-IFMTDLM2.js"))},{id:"cypher",name:"Cypher",aliases:["cql"],import:(()=>import("../cypher-WH7754G7.js"))},{id:"d",name:"D",import:(()=>import("../d-VFMGCSG3.js"))},{id:"dart",name:"Dart",import:(()=>import("../dart-CSERBUPM.js"))},{id:"dax",name:"DAX",import:(()=>import("../dax-Y4DTPR3K.js"))},{id:"desktop",name:"Desktop",import:(()=>import("../desktop-UYAYGPQT.js"))},{id:"diff",name:"Diff",import:(()=>import("../diff-BJDM3N45.js"))},{id:"docker",name:"Dockerfile",aliases:["dockerfile"],import:(()=>import("../docker-UOM4Q7PD.js"))},{id:"dotenv",name:"dotEnv",import:(()=>import("../dotenv-LK44WBD3.js"))},{id:"dream-maker",name:"Dream Maker",import:(()=>import("../dream-maker-7RP4JRQH.js"))},{id:"edge",name:"Edge",import:(()=>import("../edge-XE5XFLFP.js"))},{id:"elixir",name:"Elixir",import:(()=>import("../elixir-EXRA4QJX.js"))},{id:"elm",name:"Elm",import:(()=>import("../elm-THYL2NRS.js"))},{id:"emacs-lisp",name:"Emacs Lisp",aliases:["elisp"],import:(()=>import("../emacs-lisp-YHLQYGNI.js"))},{id:"erb",name:"ERB",import:(()=>import("../erb-LRUOJBTB.js"))},{id:"erlang",name:"Erlang",aliases:["erl"],import:(()=>import("../erlang-UNX5MMGA.js"))},{id:"fennel",name:"Fennel",import:(()=>import("../fennel-HYSSBG3N.js"))},{id:"fish",name:"Fish",import:(()=>import("../fish-PTKGQOJI.js"))},{id:"fluent",name:"Fluent",aliases:["ftl"],import:(()=>import("../fluent-LEZHPPJV.js"))},{id:"fortran-fixed-form",name:"Fortran (Fixed Form)",aliases:["f","for","f77"],import:(()=>import("../fortran-fixed-form-J5AMEFMB.js"))},{id:"fortran-free-form",name:"Fortran (Free Form)",aliases:["f90","f95","f03","f08","f18"],import:(()=>import("../fortran-free-form-S3BNTBLS.js"))},{id:"fsharp",name:"F#",aliases:["f#","fs"],import:(()=>import("../fsharp-H4OIW62Z.js"))},{id:"gdresource",name:"GDResource",aliases:["tscn","tres"],import:(()=>import("../gdresource-A6NTYFLM.js"))},{id:"gdscript",name:"GDScript",aliases:["gd"],import:(()=>import("../gdscript-YQUSJRNZ.js"))},{id:"gdshader",name:"GDShader",import:(()=>import("../gdshader-S5432GFE.js"))},{id:"genie",name:"Genie",import:(()=>import("../genie-RNVG5N7L.js"))},{id:"gherkin",name:"Gherkin",import:(()=>import("../gherkin-E5R62T6O.js"))},{id:"git-commit",name:"Git Commit Message",import:(()=>import("../git-commit-QGH6XOBG.js"))},{id:"git-rebase",name:"Git Rebase Message",import:(()=>import("../git-rebase-XTCZTXU4.js"))},{id:"gleam",name:"Gleam",import:(()=>import("../gleam-W5WZ7CST.js"))},{id:"glimmer-js",name:"Glimmer JS",aliases:["gjs"],import:(()=>import("../glimmer-js-JA25I4AE.js"))},{id:"glimmer-ts",name:"Glimmer TS",aliases:["gts"],import:(()=>import("../glimmer-ts-CKELYRRF.js"))},{id:"glsl",name:"GLSL",import:(()=>import("../glsl-PVW2OPUD.js"))},{id:"gn",name:"GN",import:(()=>import("../gn-FCAO7WI5.js"))},{id:"gnuplot",name:"Gnuplot",import:(()=>import("../gnuplot-Q6SE5CHZ.js"))},{id:"go",name:"Go",import:(()=>import("../go-CPCZAAWX.js"))},{id:"graphql",name:"GraphQL",aliases:["gql"],import:(()=>import("../graphql-UN5O7U5U.js"))},{id:"groovy",name:"Groovy",import:(()=>import("../groovy-PJAEBBJY.js"))},{id:"hack",name:"Hack",import:(()=>import("../hack-QIUJFE3G.js"))},{id:"haml",name:"Ruby Haml",import:(()=>import("../haml-JQIESO7E.js"))},{id:"handlebars",name:"Handlebars",aliases:["hbs"],import:(()=>import("../handlebars-UBV5AWUH.js"))},{id:"haskell",name:"Haskell",aliases:["hs"],import:(()=>import("../haskell-NX6XRMNO.js"))},{id:"haxe",name:"Haxe",import:(()=>import("../haxe-7YNB7FVC.js"))},{id:"hcl",name:"HashiCorp HCL",import:(()=>import("../hcl-ZF75ASCX.js"))},{id:"hjson",name:"Hjson",import:(()=>import("../hjson-65TX6QOC.js"))},{id:"hlsl",name:"HLSL",import:(()=>import("../hlsl-U2O526MI.js"))},{id:"html",name:"HTML",import:(()=>import("../html-AWDHWPK7.js"))},{id:"html-derivative",name:"HTML (Derivative)",import:(()=>import("../html-derivative-QY3ZIV7G.js"))},{id:"http",name:"HTTP",import:(()=>import("../http-KIGXJYY6.js"))},{id:"hurl",name:"Hurl",import:(()=>import("../hurl-BZB5LDD5.js"))},{id:"hxml",name:"HXML",import:(()=>import("../hxml-IGTXIURH.js"))},{id:"hy",name:"Hy",import:(()=>import("../hy-CLDGXJYP.js"))},{id:"imba",name:"Imba",import:(()=>import("../imba-NWHLCVE5.js"))},{id:"ini",name:"INI",aliases:["properties"],import:(()=>import("../ini-R6WYP7NC.js"))},{id:"java",name:"Java",import:(()=>import("../java-DHBXDMBM.js"))},{id:"javascript",name:"JavaScript",aliases:["js","cjs","mjs"],import:(()=>import("../javascript-GNUEDNHO.js"))},{id:"jinja",name:"Jinja",import:(()=>import("../jinja-AEVQQKWS.js"))},{id:"jison",name:"Jison",import:(()=>import("../jison-64A6IJCV.js"))},{id:"json",name:"JSON",import:(()=>import("../json-2ELCHKXT.js"))},{id:"json5",name:"JSON5",import:(()=>import("../json5-QRH5UJYD.js"))},{id:"jsonc",name:"JSON with Comments",import:(()=>import("../jsonc-IXPVR4NY.js"))},{id:"jsonl",name:"JSON Lines",import:(()=>import("../jsonl-C57GMUK5.js"))},{id:"jsonnet",name:"Jsonnet",import:(()=>import("../jsonnet-VNADFLKI.js"))},{id:"jssm",name:"JSSM",aliases:["fsl"],import:(()=>import("../jssm-CW4ZYDSF.js"))},{id:"jsx",name:"JSX",import:(()=>import("../jsx-YTENXENT.js"))},{id:"julia",name:"Julia",aliases:["jl"],import:(()=>import("../julia-75QR2XDN.js"))},{id:"kdl",name:"KDL",import:(()=>import("../kdl-X3AS2HRT.js"))},{id:"kotlin",name:"Kotlin",aliases:["kt","kts"],import:(()=>import("../kotlin-WGITM75W.js"))},{id:"kusto",name:"Kusto",aliases:["kql"],import:(()=>import("../kusto-LT46F7AO.js"))},{id:"latex",name:"LaTeX",import:(()=>import("../latex-R4PJ7JDY.js"))},{id:"lean",name:"Lean 4",aliases:["lean4"],import:(()=>import("../lean-DYWOENAS.js"))},{id:"less",name:"Less",import:(()=>import("../less-ZYJT7MPU.js"))},{id:"liquid",name:"Liquid",import:(()=>import("../liquid-S4LVU77Y.js"))},{id:"llvm",name:"LLVM IR",import:(()=>import("../llvm-WBQ7MHV7.js"))},{id:"log",name:"Log file",import:(()=>import("../log-AXKDFD3L.js"))},{id:"logo",name:"Logo",import:(()=>import("../logo-E23LAFZY.js"))},{id:"lua",name:"Lua",import:(()=>import("../lua-QQ5QEPPO.js"))},{id:"luau",name:"Luau",import:(()=>import("../luau-D432BEB5.js"))},{id:"make",name:"Makefile",aliases:["makefile"],import:(()=>import("../make-QFMWQJMG.js"))},{id:"markdown",name:"Markdown",aliases:["md"],import:(()=>import("../markdown-D756RUOP.js"))},{id:"marko",name:"Marko",import:(()=>import("../marko-WVASNOGB.js"))},{id:"matlab",name:"MATLAB",import:(()=>import("../matlab-ZKZ7YBAH.js"))},{id:"mdc",name:"MDC",import:(()=>import("../mdc-NDTDGSIG.js"))},{id:"mdx",name:"MDX",import:(()=>import("../mdx-34BL2O4O.js"))},{id:"mermaid",name:"Mermaid",aliases:["mmd"],import:(()=>import("../mermaid-54Z3SAII.js"))},{id:"mipsasm",name:"MIPS Assembly",aliases:["mips"],import:(()=>import("../mipsasm-NKQWJEL7.js"))},{id:"mojo",name:"Mojo",import:(()=>import("../mojo-KRRNBH7O.js"))},{id:"moonbit",name:"MoonBit",aliases:["mbt","mbti"],import:(()=>import("../moonbit-LQ7JL5LZ.js"))},{id:"move",name:"Move",import:(()=>import("../move-4VWCI4YQ.js"))},{id:"narrat",name:"Narrat Language",aliases:["nar"],import:(()=>import("../narrat-4QSDQDLH.js"))},{id:"nextflow",name:"Nextflow",aliases:["nf"],import:(()=>import("../nextflow-DPCEWQNZ.js"))},{id:"nginx",name:"Nginx",import:(()=>import("../nginx-DXHAXQRH.js"))},{id:"nim",name:"Nim",import:(()=>import("../nim-Z6EEJ7SX.js"))},{id:"nix",name:"Nix",import:(()=>import("../nix-WAYR4BYU.js"))},{id:"nushell",name:"nushell",aliases:["nu"],import:(()=>import("../nushell-26KZW4VL.js"))},{id:"objective-c",name:"Objective-C",aliases:["objc"],import:(()=>import("../objective-c-246HWLKT.js"))},{id:"objective-cpp",name:"Objective-C++",import:(()=>import("../objective-cpp-RJUXXPYQ.js"))},{id:"ocaml",name:"OCaml",import:(()=>import("../ocaml-P7NGS7PR.js"))},{id:"odin",name:"Odin",import:(()=>import("../odin-UPPZCJGN.js"))},{id:"openscad",name:"OpenSCAD",aliases:["scad"],import:(()=>import("../openscad-JRK6K3FL.js"))},{id:"pascal",name:"Pascal",import:(()=>import("../pascal-RDFLUHHA.js"))},{id:"perl",name:"Perl",import:(()=>import("../perl-5IQEFQG3.js"))},{id:"php",name:"PHP",import:(()=>import("../php-UQGWKJAF.js"))},{id:"pkl",name:"Pkl",import:(()=>import("../pkl-PAM76VXP.js"))},{id:"plsql",name:"PL/SQL",import:(()=>import("../plsql-3Y6UMFEG.js"))},{id:"po",name:"Gettext PO",aliases:["pot","potx"],import:(()=>import("../po-GNTAKCTE.js"))},{id:"polar",name:"Polar",import:(()=>import("../polar-EVTMRLGV.js"))},{id:"postcss",name:"PostCSS",import:(()=>import("../postcss-42343LW7.js"))},{id:"powerquery",name:"PowerQuery",import:(()=>import("../powerquery-M34PNR4X.js"))},{id:"powershell",name:"PowerShell",aliases:["ps","ps1"],import:(()=>import("../powershell-IR7ICFQW.js"))},{id:"prisma",name:"Prisma",import:(()=>import("../prisma-RXSIFLZX.js"))},{id:"prolog",name:"Prolog",import:(()=>import("../prolog-YBBQ4UD5.js"))},{id:"proto",name:"Protocol Buffer 3",aliases:["protobuf"],import:(()=>import("../proto-U4FF45G6.js"))},{id:"pug",name:"Pug",aliases:["jade"],import:(()=>import("../pug-XHTBJJNO.js"))},{id:"puppet",name:"Puppet",import:(()=>import("../puppet-HWOKIYJP.js"))},{id:"purescript",name:"PureScript",import:(()=>import("../purescript-D45AJS5J.js"))},{id:"python",name:"Python",aliases:["py"],import:(()=>import("../python-QWA7UE2I.js"))},{id:"qml",name:"QML",import:(()=>import("../qml-RHCWFR3S.js"))},{id:"qmldir",name:"QML Directory",import:(()=>import("../qmldir-FBDC3XMZ.js"))},{id:"qss",name:"Qt Style Sheets",import:(()=>import("../qss-AD3WZQ45.js"))},{id:"r",name:"R",import:(()=>import("../r-NHIAHDOD.js"))},{id:"racket",name:"Racket",import:(()=>import("../racket-7G65C5N5.js"))},{id:"raku",name:"Raku",aliases:["perl6"],import:(()=>import("../raku-IWS7BLGD.js"))},{id:"razor",name:"ASP.NET Razor",import:(()=>import("../razor-UMC4HKIF.js"))},{id:"reg",name:"Windows Registry Script",import:(()=>import("../reg-V4XLWESR.js"))},{id:"regexp",name:"RegExp",aliases:["regex"],import:(()=>import("../regexp-XP4MR635.js"))},{id:"rel",name:"Rel",import:(()=>import("../rel-DE6UXATM.js"))},{id:"riscv",name:"RISC-V",import:(()=>import("../riscv-5PDXBPPL.js"))},{id:"ron",name:"RON",import:(()=>import("../ron-WD6BJFDY.js"))},{id:"rosmsg",name:"ROS Interface",import:(()=>import("../rosmsg-7LDUCZRQ.js"))},{id:"rst",name:"reStructuredText",import:(()=>import("../rst-HCGHBPBZ.js"))},{id:"ruby",name:"Ruby",aliases:["rb"],import:(()=>import("../ruby-ML25RVXY.js"))},{id:"rust",name:"Rust",aliases:["rs"],import:(()=>import("../rust-Z2NYMT2Z.js"))},{id:"sas",name:"SAS",import:(()=>import("../sas-A4JCTK6H.js"))},{id:"sass",name:"Sass",import:(()=>import("../sass-75VDP7DE.js"))},{id:"scala",name:"Scala",import:(()=>import("../scala-7TJ4N6KC.js"))},{id:"scheme",name:"Scheme",import:(()=>import("../scheme-5XARZMKT.js"))},{id:"scss",name:"SCSS",import:(()=>import("../scss-4QR2BXFS.js"))},{id:"sdbl",name:"1C (Query)",aliases:["1c-query"],import:(()=>import("../sdbl-6M55AJVA.js"))},{id:"shaderlab",name:"ShaderLab",aliases:["shader"],import:(()=>import("../shaderlab-322XNY5V.js"))},{id:"shellscript",name:"Shell",aliases:["bash","sh","shell","zsh"],import:(()=>import("../shellscript-F23VVVTW.js"))},{id:"shellsession",name:"Shell Session",aliases:["console"],import:(()=>import("../shellsession-G65XJMCC.js"))},{id:"smalltalk",name:"Smalltalk",import:(()=>import("../smalltalk-LALIO5SC.js"))},{id:"solidity",name:"Solidity",import:(()=>import("../solidity-TQUKTJZZ.js"))},{id:"soy",name:"Closure Templates",aliases:["closure-templates"],import:(()=>import("../soy-ALTWCQTO.js"))},{id:"sparql",name:"SPARQL",import:(()=>import("../sparql-ARI3MVK7.js"))},{id:"splunk",name:"Splunk Query Language",aliases:["spl"],import:(()=>import("../splunk-QEFG3NPJ.js"))},{id:"sql",name:"SQL",import:(()=>import("../sql-SBP7VV3V.js"))},{id:"ssh-config",name:"SSH Config",import:(()=>import("../ssh-config-SC6RC6IV.js"))},{id:"stata",name:"Stata",import:(()=>import("../stata-MNI5YOQU.js"))},{id:"stylus",name:"Stylus",aliases:["styl"],import:(()=>import("../stylus-YYWEHAK3.js"))},{id:"surrealql",name:"SurrealQL",aliases:["surql"],import:(()=>import("../surrealql-5X7LI3J6.js"))},{id:"svelte",name:"Svelte",import:(()=>import("../svelte-6TT7H4YP.js"))},{id:"swift",name:"Swift",import:(()=>import("../swift-JEBLU4EM.js"))},{id:"system-verilog",name:"SystemVerilog",import:(()=>import("../system-verilog-46QRSGNM.js"))},{id:"systemd",name:"Systemd Units",import:(()=>import("../systemd-3PUVCSI7.js"))},{id:"talonscript",name:"TalonScript",aliases:["talon"],import:(()=>import("../talonscript-AK4LB3KC.js"))},{id:"tasl",name:"Tasl",import:(()=>import("../tasl-VHTYBUVI.js"))},{id:"tcl",name:"Tcl",import:(()=>import("../tcl-UUMKHRHL.js"))},{id:"templ",name:"Templ",import:(()=>import("../templ-WN3SJLUV.js"))},{id:"terraform",name:"Terraform",aliases:["tf","tfvars"],import:(()=>import("../terraform-GCGIT2RL.js"))},{id:"tex",name:"TeX",import:(()=>import("../tex-L55DZDKV.js"))},{id:"toml",name:"TOML",import:(()=>import("../toml-7AH4HFBN.js"))},{id:"ts-tags",name:"TypeScript with Tags",aliases:["lit"],import:(()=>import("../ts-tags-NAJDOQCO.js"))},{id:"tsv",name:"TSV",import:(()=>import("../tsv-EB3LRXYX.js"))},{id:"tsx",name:"TSX",import:(()=>import("../tsx-Y5YXGNIX.js"))},{id:"turtle",name:"Turtle",import:(()=>import("../turtle-KM6UGYIQ.js"))},{id:"twig",name:"Twig",import:(()=>import("../twig-GIY7NVAA.js"))},{id:"typescript",name:"TypeScript",aliases:["ts","cts","mts"],import:(()=>import("../typescript-ZF5AMNEZ.js"))},{id:"typespec",name:"TypeSpec",aliases:["tsp"],import:(()=>import("../typespec-6JSRRA42.js"))},{id:"typst",name:"Typst",aliases:["typ"],import:(()=>import("../typst-ZOSAUKL5.js"))},{id:"v",name:"V",import:(()=>import("../v-HVLBO3DI.js"))},{id:"vala",name:"Vala",import:(()=>import("../vala-WWRVCJNF.js"))},{id:"vb",name:"Visual Basic",aliases:["cmd"],import:(()=>import("../vb-XFFF4O73.js"))},{id:"verilog",name:"Verilog",import:(()=>import("../verilog-XTDPJNP7.js"))},{id:"vhdl",name:"VHDL",import:(()=>import("../vhdl-OCZJ2AOZ.js"))},{id:"viml",name:"Vim Script",aliases:["vim","vimscript"],import:(()=>import("../viml-PVA3ZJ5L.js"))},{id:"vue",name:"Vue",import:(()=>import("../vue-V6GLJNYA.js"))},{id:"vue-html",name:"Vue HTML",import:(()=>import("../vue-html-G4DE7FYD.js"))},{id:"vue-vine",name:"Vue Vine",import:(()=>import("../vue-vine-KB45C76H.js"))},{id:"vyper",name:"Vyper",aliases:["vy"],import:(()=>import("../vyper-SBDFKHRI.js"))},{id:"wasm",name:"WebAssembly",import:(()=>import("../wasm-SXNE4SKX.js"))},{id:"wenyan",name:"Wenyan",aliases:["\u6587\u8A00"],import:(()=>import("../wenyan-PMSCJP7P.js"))},{id:"wgsl",name:"WGSL",import:(()=>import("../wgsl-DOXQU7M4.js"))},{id:"wikitext",name:"Wikitext",aliases:["mediawiki","wiki"],import:(()=>import("../wikitext-LGNEKWDX.js"))},{id:"wit",name:"WebAssembly Interface Types",import:(()=>import("../wit-G62U2KBE.js"))},{id:"wolfram",name:"Wolfram",aliases:["wl"],import:(()=>import("../wolfram-YTZHUYN6.js"))},{id:"xml",name:"XML",import:(()=>import("../xml-WGLM4CWK.js"))},{id:"xsl",name:"XSL",import:(()=>import("../xsl-KAAH2GEK.js"))},{id:"yaml",name:"YAML",aliases:["yml"],import:(()=>import("../yaml-JGEBDSVI.js"))},{id:"zenscript",name:"ZenScript",import:(()=>import("../zenscript-QQQPZNJ7.js"))},{id:"zig",name:"Zig",import:(()=>import("../zig-6LJUAPBA.js"))}],cl=Object.fromEntries(Cr.map(e=>[e.id,e.import])),fl=Object.fromEntries(Cr.flatMap(e=>e.aliases?.map(t=>[t,e.import])||[])),ga={...cl,...fl};f();var mm=[{id:"andromeeda",displayName:"Andromeeda",type:"dark",import:(()=>import("../andromeeda-XSK3JERF.js"))},{id:"aurora-x",displayName:"Aurora X",type:"dark",import:(()=>import("../aurora-x-CGSVHL4H.js"))},{id:"ayu-dark",displayName:"Ayu Dark",type:"dark",import:(()=>import("../ayu-dark-XYI57HMC.js"))},{id:"ayu-light",displayName:"Ayu Light",type:"light",import:(()=>import("../ayu-light-4PSGMDIC.js"))},{id:"ayu-mirage",displayName:"Ayu Mirage",type:"dark",import:(()=>import("../ayu-mirage-DU5SNMZX.js"))},{id:"catppuccin-frappe",displayName:"Catppuccin Frapp\xE9",type:"dark",import:(()=>import("../catppuccin-frappe-UZ4N3Z4I.js"))},{id:"catppuccin-latte",displayName:"Catppuccin Latte",type:"light",import:(()=>import("../catppuccin-latte-GCOWYLZG.js"))},{id:"catppuccin-macchiato",displayName:"Catppuccin Macchiato",type:"dark",import:(()=>import("../catppuccin-macchiato-PJD7W5WJ.js"))},{id:"catppuccin-mocha",displayName:"Catppuccin Mocha",type:"dark",import:(()=>import("../catppuccin-mocha-RRH4FOBS.js"))},{id:"dark-plus",displayName:"Dark Plus",type:"dark",import:(()=>import("../dark-plus-PSM5XP2I.js"))},{id:"dracula",displayName:"Dracula Theme",type:"dark",import:(()=>import("../dracula-2VHT5LK5.js"))},{id:"dracula-soft",displayName:"Dracula Theme Soft",type:"dark",import:(()=>import("../dracula-soft-MSCUO73T.js"))},{id:"everforest-dark",displayName:"Everforest Dark",type:"dark",import:(()=>import("../everforest-dark-AGVJEQ35.js"))},{id:"everforest-light",displayName:"Everforest Light",type:"light",import:(()=>import("../everforest-light-62GPFKVJ.js"))},{id:"github-dark",displayName:"GitHub Dark",type:"dark",import:(()=>import("../github-dark-5OJVMBCE.js"))},{id:"github-dark-default",displayName:"GitHub Dark Default",type:"dark",import:(()=>import("../github-dark-default-4WERFSZW.js"))},{id:"github-dark-dimmed",displayName:"GitHub Dark Dimmed",type:"dark",import:(()=>import("../github-dark-dimmed-7VD3SZKC.js"))},{id:"github-dark-high-contrast",displayName:"GitHub Dark High Contrast",type:"dark",import:(()=>import("../github-dark-high-contrast-FVMMS656.js"))},{id:"github-light",displayName:"GitHub Light",type:"light",import:(()=>import("../github-light-SE4LEKO7.js"))},{id:"github-light-default",displayName:"GitHub Light Default",type:"light",import:(()=>import("../github-light-default-TV7BYQGI.js"))},{id:"github-light-high-contrast",displayName:"GitHub Light High Contrast",type:"light",import:(()=>import("../github-light-high-contrast-WKO4I3G7.js"))},{id:"gruvbox-dark-hard",displayName:"Gruvbox Dark Hard",type:"dark",import:(()=>import("../gruvbox-dark-hard-LOYZQIGI.js"))},{id:"gruvbox-dark-medium",displayName:"Gruvbox Dark Medium",type:"dark",import:(()=>import("../gruvbox-dark-medium-UIMSJJ6K.js"))},{id:"gruvbox-dark-soft",displayName:"Gruvbox Dark Soft",type:"dark",import:(()=>import("../gruvbox-dark-soft-PU6RNTTO.js"))},{id:"gruvbox-light-hard",displayName:"Gruvbox Light Hard",type:"light",import:(()=>import("../gruvbox-light-hard-ZQJ7XSZF.js"))},{id:"gruvbox-light-medium",displayName:"Gruvbox Light Medium",type:"light",import:(()=>import("../gruvbox-light-medium-CD3ZGYV6.js"))},{id:"gruvbox-light-soft",displayName:"Gruvbox Light Soft",type:"light",import:(()=>import("../gruvbox-light-soft-S74MAGOM.js"))},{id:"horizon",displayName:"Horizon",type:"dark",import:(()=>import("../horizon-EAAZ4KVN.js"))},{id:"houston",displayName:"Houston",type:"dark",import:(()=>import("../houston-UNRWGR67.js"))},{id:"kanagawa-dragon",displayName:"Kanagawa Dragon",type:"dark",import:(()=>import("../kanagawa-dragon-BOSCCB42.js"))},{id:"kanagawa-lotus",displayName:"Kanagawa Lotus",type:"light",import:(()=>import("../kanagawa-lotus-NXMB2IVI.js"))},{id:"kanagawa-wave",displayName:"Kanagawa Wave",type:"dark",import:(()=>import("../kanagawa-wave-YOHS63UF.js"))},{id:"laserwave",displayName:"LaserWave",type:"dark",import:(()=>import("../laserwave-TS4AG4VO.js"))},{id:"light-plus",displayName:"Light Plus",type:"light",import:(()=>import("../light-plus-2HYW3NJ6.js"))},{id:"material-theme",displayName:"Material Theme",type:"dark",import:(()=>import("../material-theme-KPDVFAGV.js"))},{id:"material-theme-darker",displayName:"Material Theme Darker",type:"dark",import:(()=>import("../material-theme-darker-GVSTMSNT.js"))},{id:"material-theme-lighter",displayName:"Material Theme Lighter",type:"light",import:(()=>import("../material-theme-lighter-JWZNUXUH.js"))},{id:"material-theme-ocean",displayName:"Material Theme Ocean",type:"dark",import:(()=>import("../material-theme-ocean-MU4N3XNQ.js"))},{id:"material-theme-palenight",displayName:"Material Theme Palenight",type:"dark",import:(()=>import("../material-theme-palenight-VMWD73WM.js"))},{id:"min-dark",displayName:"Min Dark",type:"dark",import:(()=>import("../min-dark-ASEVSA24.js"))},{id:"min-light",displayName:"Min Light",type:"light",import:(()=>import("../min-light-3H54BB3D.js"))},{id:"monokai",displayName:"Monokai",type:"dark",import:(()=>import("../monokai-5QWQOFN6.js"))},{id:"night-owl",displayName:"Night Owl",type:"dark",import:(()=>import("../night-owl-4QQBS2UX.js"))},{id:"night-owl-light",displayName:"Night Owl Light",type:"light",import:(()=>import("../night-owl-light-HR6A2OQO.js"))},{id:"nord",displayName:"Nord",type:"dark",import:(()=>import("../nord-XK3AUNCF.js"))},{id:"one-dark-pro",displayName:"One Dark Pro",type:"dark",import:(()=>import("../one-dark-pro-ZV7CEA5M.js"))},{id:"one-light",displayName:"One Light",type:"light",import:(()=>import("../one-light-FKZJCKM6.js"))},{id:"plastic",displayName:"Plastic",type:"dark",import:(()=>import("../plastic-SXCQPKYC.js"))},{id:"poimandres",displayName:"Poimandres",type:"dark",import:(()=>import("../poimandres-S3UYVG4O.js"))},{id:"red",displayName:"Red",type:"dark",import:(()=>import("../red-A6OC2HVL.js"))},{id:"rose-pine",displayName:"Ros\xE9 Pine",type:"dark",import:(()=>import("../rose-pine-GLWOWPBK.js"))},{id:"rose-pine-dawn",displayName:"Ros\xE9 Pine Dawn",type:"light",import:(()=>import("../rose-pine-dawn-HYE6T7LV.js"))},{id:"rose-pine-moon",displayName:"Ros\xE9 Pine Moon",type:"dark",import:(()=>import("../rose-pine-moon-VHVTDDVO.js"))},{id:"slack-dark",displayName:"Slack Dark",type:"dark",import:(()=>import("../slack-dark-OPW5CYSY.js"))},{id:"slack-ochin",displayName:"Slack Ochin",type:"light",import:(()=>import("../slack-ochin-WTVMYBFH.js"))},{id:"snazzy-light",displayName:"Snazzy Light",type:"light",import:(()=>import("../snazzy-light-5UQ56PC5.js"))},{id:"solarized-dark",displayName:"Solarized Dark",type:"dark",import:(()=>import("../solarized-dark-DSMP6D7D.js"))},{id:"solarized-light",displayName:"Solarized Light",type:"light",import:(()=>import("../solarized-light-3IZTZCIV.js"))},{id:"synthwave-84",displayName:"Synthwave '84",type:"dark",import:(()=>import("../synthwave-84-JWI6CVJZ.js"))},{id:"tokyo-night",displayName:"Tokyo Night",type:"dark",import:(()=>import("../tokyo-night-SRK4SADJ.js"))},{id:"vesper",displayName:"Vesper",type:"dark",import:(()=>import("../vesper-WIZFPFI7.js"))},{id:"vitesse-black",displayName:"Vitesse Black",type:"dark",import:(()=>import("../vitesse-black-PEGI4HJX.js"))},{id:"vitesse-dark",displayName:"Vitesse Dark",type:"dark",import:(()=>import("../vitesse-dark-M2ZAGPXG.js"))},{id:"vitesse-light",displayName:"Vitesse Light",type:"light",import:(()=>import("../vitesse-light-RICZI4IG.js"))}],pl=Object.fromEntries(mm.map(e=>[e.id,e.import]));f();var wa=class extends Error{constructor(t){super(t),this.name="ShikiError"}};function hm(){return 2147483648}function gm(){return typeof performance<"u"?performance.now():Date.now()}var wm=(e,t)=>e+(t-e%t)%t;async function xm(e){let t,a,o={};function r(m){a=m,o.HEAPU8=new Uint8Array(m),o.HEAPU32=new Uint32Array(m)}function n(m,h,I){o.HEAPU8.copyWithin(m,h,h+I)}function s(m){try{return t.grow(m-a.byteLength+65535>>>16),r(t.buffer),1}catch{}}function i(m){let h=o.HEAPU8.length;m=m>>>0;let I=hm();if(m>I)return!1;for(let x=1;x<=4;x*=2){let S=h*(1+.2/x);S=Math.min(S,m+100663296);let C=Math.min(I,wm(Math.max(m,S),65536));if(s(C))return!0}return!1}let l=typeof TextDecoder<"u"?new TextDecoder("utf8"):void 0;function u(m,h,I=1024){let x=h+I,S=h;for(;m[S]&&!(S>=x);)++S;if(S-h>16&&m.buffer&&l)return l.decode(m.subarray(h,S));let C="";for(;h<S;){let L=m[h++];if(!(L&128)){C+=String.fromCharCode(L);continue}let y=m[h++]&63;if((L&224)===192){C+=String.fromCharCode((L&31)<<6|y);continue}let v=m[h++]&63;if((L&240)===224?L=(L&15)<<12|y<<6|v:L=(L&7)<<18|y<<12|v<<6|m[h++]&63,L<65536)C+=String.fromCharCode(L);else{let A=L-65536;C+=String.fromCharCode(55296|A>>10,56320|A&1023)}}return C}function c(m,h){return m?u(o.HEAPU8,m,h):""}let d={emscripten_get_now:gm,emscripten_memcpy_big:n,emscripten_resize_heap:i,fd_write:()=>0};async function p(){let h=await e({env:d,wasi_snapshot_preview1:d});t=h.memory,r(t.buffer),Object.assign(o,h),o.UTF8ToString=c}return await p(),o}var Lm=Object.defineProperty,Cm=(e,t,a)=>t in e?Lm(e,t,{enumerable:!0,configurable:!0,writable:!0,value:a}):e[t]=a,de=(e,t,a)=>Cm(e,typeof t!="symbol"?t+"":t,a),he=null;function Im(e){throw new wa(e.UTF8ToString(e.getLastOnigError()))}var io=class e{constructor(t){de(this,"utf16Length"),de(this,"utf8Length"),de(this,"utf16Value"),de(this,"utf8Value"),de(this,"utf16OffsetToUtf8"),de(this,"utf8OffsetToUtf16");let a=t.length,o=e._utf8ByteLength(t),r=o!==a,n=r?new Uint32Array(a+1):null;r&&(n[a]=o);let s=r?new Uint32Array(o+1):null;r&&(s[o]=a);let i=new Uint8Array(o),l=0;for(let u=0;u<a;u++){let c=t.charCodeAt(u),d=c,p=!1;if(c>=55296&&c<=56319&&u+1<a){let m=t.charCodeAt(u+1);m>=56320&&m<=57343&&(d=(c-55296<<10)+65536|m-56320,p=!0)}r&&(n[u]=l,p&&(n[u+1]=l),d<=127?s[l+0]=u:d<=2047?(s[l+0]=u,s[l+1]=u):d<=65535?(s[l+0]=u,s[l+1]=u,s[l+2]=u):(s[l+0]=u,s[l+1]=u,s[l+2]=u,s[l+3]=u)),d<=127?i[l++]=d:d<=2047?(i[l++]=192|(d&1984)>>>6,i[l++]=128|(d&63)>>>0):d<=65535?(i[l++]=224|(d&61440)>>>12,i[l++]=128|(d&4032)>>>6,i[l++]=128|(d&63)>>>0):(i[l++]=240|(d&1835008)>>>18,i[l++]=128|(d&258048)>>>12,i[l++]=128|(d&4032)>>>6,i[l++]=128|(d&63)>>>0),p&&u++}this.utf16Length=a,this.utf8Length=o,this.utf16Value=t,this.utf8Value=i,this.utf16OffsetToUtf8=n,this.utf8OffsetToUtf16=s}static _utf8ByteLength(t){let a=0;for(let o=0,r=t.length;o<r;o++){let n=t.charCodeAt(o),s=n,i=!1;if(n>=55296&&n<=56319&&o+1<r){let l=t.charCodeAt(o+1);l>=56320&&l<=57343&&(s=(n-55296<<10)+65536|l-56320,i=!0)}s<=127?a+=1:s<=2047?a+=2:s<=65535?a+=3:a+=4,i&&o++}return a}createString(t){let a=t.omalloc(this.utf8Length);return t.HEAPU8.set(this.utf8Value,a),a}},lo=class ze{constructor(t){if(de(this,"id",++ze.LAST_ID),de(this,"_onigBinding"),de(this,"content"),de(this,"utf16Length"),de(this,"utf8Length"),de(this,"utf16OffsetToUtf8"),de(this,"utf8OffsetToUtf16"),de(this,"ptr"),!he)throw new wa("Must invoke loadWasm first.");this._onigBinding=he,this.content=t;let a=new io(t);this.utf16Length=a.utf16Length,this.utf8Length=a.utf8Length,this.utf16OffsetToUtf8=a.utf16OffsetToUtf8,this.utf8OffsetToUtf16=a.utf8OffsetToUtf16,this.utf8Length<1e4&&!ze._sharedPtrInUse?(ze._sharedPtr||(ze._sharedPtr=he.omalloc(1e4)),ze._sharedPtrInUse=!0,he.HEAPU8.set(a.utf8Value,ze._sharedPtr),this.ptr=ze._sharedPtr):this.ptr=a.createString(he)}convertUtf8OffsetToUtf16(t){return this.utf8OffsetToUtf16?t<0?0:t>this.utf8Length?this.utf16Length:this.utf8OffsetToUtf16[t]:t}convertUtf16OffsetToUtf8(t){return this.utf16OffsetToUtf8?t<0?0:t>this.utf16Length?this.utf8Length:this.utf16OffsetToUtf8[t]:t}dispose(){this.ptr===ze._sharedPtr?ze._sharedPtrInUse=!1:this._onigBinding.ofree(this.ptr)}};de(lo,"LAST_ID",0);de(lo,"_sharedPtr",0);de(lo,"_sharedPtrInUse",!1);var ml=lo,Sr=class{constructor(t){if(de(this,"_onigBinding"),de(this,"_ptr"),!he)throw new wa("Must invoke loadWasm first.");let a=[],o=[];for(let i=0,l=t.length;i<l;i++){let u=new io(t[i]);a[i]=u.createString(he),o[i]=u.utf8Length}let r=he.omalloc(4*t.length);he.HEAPU32.set(a,r/4);let n=he.omalloc(4*t.length);he.HEAPU32.set(o,n/4);let s=he.createOnigScanner(r,n,t.length);for(let i=0,l=t.length;i<l;i++)he.ofree(a[i]);he.ofree(n),he.ofree(r),s===0&&Im(he),this._onigBinding=he,this._ptr=s}dispose(){this._onigBinding.freeOnigScanner(this._ptr)}findNextMatchSync(t,a,o){let r=0;if(typeof o=="number"&&(r=o),typeof t=="string"){t=new ml(t);let n=this._findNextMatchSync(t,a,!1,r);return t.dispose(),n}return this._findNextMatchSync(t,a,!1,r)}_findNextMatchSync(t,a,o,r){let n=this._onigBinding,s=n.findNextOnigScannerMatch(this._ptr,t.id,t.ptr,t.utf8Length,t.convertUtf16OffsetToUtf8(a),r);if(s===0)return null;let i=n.HEAPU32,l=s/4,u=i[l++],c=i[l++],d=[];for(let p=0;p<c;p++){let m=t.convertUtf8OffsetToUtf16(i[l++]),h=t.convertUtf8OffsetToUtf16(i[l++]);d[p]={start:m,end:h,length:h-m}}return{index:u,captureIndices:d}}};function Sm(e){return typeof e.instantiator=="function"}function ym(e){return typeof e.default=="function"}function bm(e){return typeof e.data<"u"}function km(e){return typeof Response<"u"&&e instanceof Response}function Tm(e){return typeof ArrayBuffer<"u"&&(e instanceof ArrayBuffer||ArrayBuffer.isView(e))||typeof Buffer<"u"&&Buffer.isBuffer?.(e)||typeof SharedArrayBuffer<"u"&&e instanceof SharedArrayBuffer||typeof Uint32Array<"u"&&e instanceof Uint32Array}var so;function vm(e){if(so)return so;async function t(){he=await xm(async a=>{let o=e;return o=await o,typeof o=="function"&&(o=await o(a)),typeof o=="function"&&(o=await o(a)),Sm(o)?o=await o.instantiator(a):ym(o)?o=await o.default(a):(bm(o)&&(o=o.data),km(o)?typeof WebAssembly.instantiateStreaming=="function"?o=await Pm(o)(a):o=await Am(o)(a):Tm(o)?o=await Ir(o)(a):o instanceof WebAssembly.Module?o=await Ir(o)(a):"default"in o&&o.default instanceof WebAssembly.Module&&(o=await Ir(o.default)(a))),"instance"in o&&(o=o.instance),"exports"in o&&(o=o.exports),o})}return so=t(),so}function Ir(e){return t=>WebAssembly.instantiate(e,t)}function Pm(e){return t=>WebAssembly.instantiateStreaming(e,t)}function Am(e){return async t=>{let a=await e.arrayBuffer();return WebAssembly.instantiate(a,t)}}async function hl(e){return e&&await vm(e),{createScanner(t){return new Sr(t.map(a=>typeof a=="string"?a:a.source))},createString(t){return new ml(t)}}}var uo=ul({langs:ga,themes:pl,engine:()=>hl(import("../wasm-ISCPKFD2.js"))}),{codeToHtml:Rm,codeToHast:Mm,codeToTokens:Fm,codeToTokensBase:Dm,codeToTokensWithThemes:Bm,getSingletonHighlighter:Em,getLastGrammarState:_m}=dl(uo,{guessEmbeddedLanguages:al});var gl=new Set(Object.keys(ga)),yr=new Map,br=new Map,Rt=new Map,Nm=(e,t)=>`${e}-${t[0]}-${t[1]}`,Om=(e,t,a)=>{let o=e.slice(0,100),r=e.length>100?e.slice(-100):"";return`${t}:${a[0]}:${a[1]}:${e.length}:${o}:${r}`},Um=(e,t)=>{let a=Nm(e,t);if(yr.has(a))return yr.get(a);let o=uo({themes:t,langs:[e]});return yr.set(a,o),o};function Hm(e={}){var t;let a=(t=e.themes)!=null?t:["github-light","github-dark"];return{name:"shiki",type:"code-highlighter",supportsLanguage(o){return gl.has(o)},getSupportedLanguages(){return Array.from(gl)},getThemes(){return a},highlight({code:o,language:r,themes:n},s){let i=Om(o,r,n);return br.has(i)?br.get(i):(s&&(Rt.has(i)||Rt.set(i,new Set),Rt.get(i).add(s)),Um(r,n).then(l=>{let u=l.getLoadedLanguages().includes(r)?r:"text",c=l.codeToTokens(o,{lang:u,themes:{light:n[0],dark:n[1]}});br.set(i,c);let d=Rt.get(i);if(d){for(let p of d)p(c);Rt.delete(i)}}).catch(l=>{console.error("[Streamdown Code] Failed to highlight code:",l),Rt.delete(i)}),null)}}}var wl=Hm();import{memo as jm}from"react";f();import{useEffect as qm,useRef as co,useState as Wm}from"react";var Gm=5,xl=400;function Ll(e,t,a={}){let{msPerChar:o=Gm}=a,[r,n]=Wm(t?"":e),s=co(e),i=co(t?0:e.length),l=co(0),u=co(null);return(e.length<i.current||!e.startsWith(r.slice(0,i.current)))&&(i.current=t?0:e.length),s.current=e,qm(()=>{if(!t){u.current!==null&&(cancelAnimationFrame(u.current),u.current=null),i.current=e.length,n(e);return}if(s.current.length-i.current>xl&&(i.current=s.current.length-xl),u.current!==null)return;let d=p=>{let m=s.current;if(i.current>=m.length){u.current=null;return}l.current===0&&(l.current=p);let h=p-l.current;if(h>=o){let I=Math.min(Math.floor(h/o),m.length-i.current);i.current+=I,n(m.slice(0,i.current)),l.current=p}u.current=requestAnimationFrame(d)};return u.current=requestAnimationFrame(d),()=>{u.current!==null&&(cancelAnimationFrame(u.current),u.current=null)}},[e,t,o]),r}import{jsx as fo}from"react/jsx-runtime";var kr=({className:e,from:t,children:a,...o})=>fo("div",{className:F("ww:group ww:flex ww:w-full",t==="user"?"is-user ww:ml-auto ww:max-w-[80%] ww:flex-col ww:items-end":"is-assistant ww:flex-col",e),...o,children:fo("div",{className:F("ww:flex ww:min-w-0 ww:flex-col ww:gap-2","ww:w-full"),children:a})}),Tr=({children:e,className:t,...a})=>fo("div",{className:F("ww:flex ww:w-fit ww:min-w-0 ww:max-w-full ww:flex-col ww:gap-2 ww:overflow-hidden ww:text-base","ww:group-[.is-user]:ml-auto ww:group-[.is-user]:rounded-lg ww:group-[.is-user]:bg-user-bubble ww:group-[.is-user]:px-4 ww:group-[.is-user]:py-3 ww:group-[.is-user]:text-primary-foreground","ww:group-[.is-assistant]:text-foreground",t),...a,children:e}),zm={cjk:Xo,code:wl},Vm={cjk:Xo},$m={enabled:!1};function Xm({className:e,linkSafety:t,isStreaming:a,children:o,...r}){let s=Ll(typeof o=="string"?o:"",!!a),i=typeof o=="string"?s:o;return fo(Dt,{className:F("ww:size-full ww:[&>*:first-child]:mt-0 ww:[&>*:last-child]:mb-0",e),linkSafety:t??$m,plugins:a?Vm:zm,...r,children:i})}var po=jm(Xm,(e,t)=>e.children===t.children&&e.isStreaming===t.isStreaming);po.displayName="MessageResponse";f();import{createContext as Km,useCallback as Qm,useContext as yl,useEffect as Jm,useMemo as Pr,useRef as Zm,useState as Ar}from"react";import{Fragment as Sl,jsx as X,jsxs as gt}from"react/jsx-runtime";function Ym(e,t=80){if(e==null)return String(e);if(typeof e!="object")return String(e).slice(0,t);if(Array.isArray(e))return`Array(${e.length})`;let a=JSON.stringify(e);if(a.length<=t)return a;let o=Object.entries(e),r=[],n=t-2;for(let[s,i]of o){if(n<=8)break;let l=s.length>4?`${s.slice(0,4)}\u2026`:s,u;typeof i=="string"?u=i.length>2?`'${i.slice(0,1)}\u2026`:`'${i}'`:Array.isArray(i)?u=`Array(${i.length})`:typeof i=="object"&&i!==null?u="{\u2026}":u=String(i);let c=`${l}\u2009${u}`;r.push(c),n-=c.length+3}return`{${r.join(", ")}}`}function eh({text:e,className:t}){let{t:a}=z(),[o,r]=Ar(!1),n=Zm(null);Jm(()=>()=>{n.current&&clearTimeout(n.current)},[]);let s=Qm(async i=>{i.stopPropagation();try{await navigator.clipboard.writeText(e),r(!0),n.current&&clearTimeout(n.current),n.current=setTimeout(()=>r(!1),2e3)}catch{}},[e]);return X(We,{variant:"ghost",size:"sm",onClick:s,className:F("ww:h-auto ww:gap-1 ww:px-1.5 ww:py-0.5 ww:text-xs ww:text-muted-foreground ww:hover:text-foreground",t),children:o?gt(Sl,{children:[X(jt,{className:"ww:size-3.5"}),X("span",{children:a.tool.copied})]}):gt(Sl,{children:[X(Vt,{className:"ww:size-3.5"}),X("span",{children:a.tool.copy})]})})}function bl({data:e,label:t,className:a,...o}){let[r,n]=Ar(!1),s=Pr(()=>JSON.stringify(e,null,2),[e]),i=Ym(e);return gt("div",{className:F("ww:rounded-lg ww:bg-tool-card",a),...o,children:[gt("div",{className:"ww:flex ww:items-center ww:justify-between ww:px-3 ww:pt-2.5 ww:pb-1.5",children:[X("span",{className:"ww:text-xs ww:font-medium ww:text-muted-foreground",children:t}),X(eh,{text:s})]}),gt("button",{type:"button",onClick:()=>n(l=>!l),className:"ww:flex ww:w-full ww:items-start ww:gap-2 ww:px-3 ww:pb-3 ww:text-left",children:[X(zt,{className:F("ww:mt-0.5 ww:size-3.5 ww:shrink-0 ww:text-muted-foreground ww:transition-transform ww:duration-150",r&&"ww:rotate-90")}),r?X("pre",{className:"ww:overflow-x-auto ww:text-xs ww:font-mono ww:text-foreground ww:whitespace-pre-wrap ww:break-all",children:X("code",{children:s})}):X("span",{className:"ww:truncate ww:text-xs ww:font-mono ww:text-foreground/80",children:i})]})]})}var Rr=Km({open:!1,toggle:()=>{}});function kl({className:e,defaultOpen:t=!1,children:a,...o}){let[r,n]=Ar(t);return X(Rr.Provider,{value:{open:r,toggle:()=>n(s=>!s)},children:X("div",{className:F("ww:mb-4 ww:w-full",e),"data-state":r?"open":"closed",style:{animation:"ww-fade-in 0.2s ease-out"},...o,children:a})})}function Tl({className:e,title:t,state:a,...o}){let{open:r,toggle:n}=yl(Rr),s=a==="input-available"||a==="input-streaming",i=t??"";return gt("button",{type:"button",onClick:n,className:F("ww:flex ww:w-full ww:items-center ww:gap-2 ww:text-sm ww:text-muted-foreground ww:transition-colors ww:hover:text-foreground",e),"aria-expanded":r,...o,children:[X(lt,{className:"ww:size-4 ww:shrink-0"}),X("span",{className:"ww:truncate",children:s?X(Ne,{duration:1.6,children:i}):i}),X(Ze,{className:F("ww:size-4 ww:shrink-0 ww:transition-transform ww:duration-200",r&&"ww:rotate-180")})]})}function vl({className:e,title:t,state:a,...o}){let r=a==="input-available"||a==="input-streaming",n=t??"";return X("div",{className:F("ww:mb-4 ww:flex ww:items-center ww:gap-2 ww:text-sm ww:text-muted-foreground",e),style:{animation:"ww-fade-in 0.2s ease-out"},...o,children:X("span",{className:"ww:truncate",children:r?X(Ne,{duration:1.6,children:n}):n})})}function Pl({className:e,children:t,...a}){let{open:o}=yl(Rr);return X("div",{className:F("ww:grid ww:transition-[grid-template-rows,opacity] ww:duration-200 ww:ease-out",o?"ww:grid-rows-[1fr] ww:opacity-100":"ww:grid-rows-[0fr] ww:opacity-0"),children:X("div",{className:"ww:min-h-0 ww:overflow-hidden",children:X("div",{className:F("ww:mt-2 ww:space-y-3 ww:rounded-lg ww:border ww:border-border ww:bg-background ww:p-3",e),...a,children:t})})})}function Mr({className:e,input:t,debug:a,...o}){let{t:r}=z(),n=Pr(()=>{if(!a&&typeof t=="object"&&t!==null&&!Array.isArray(t)){let{_meta:s,...i}=t;return i}return t},[t,a]);return X(bl,{data:n,label:r.tool.request,className:e,...o})}function vr(e){if(!(typeof e!="object"||e===null))return e}function Al(e){return vr(e?.ui)}function Rl(e){return vr(vr(e)?._meta)}function Cl(e){if(!e)return;let t=Al(e)?.resourceUri;if(typeof t=="string"&&t.length>0)return t;let a=e["ui/resourceUri"];if(typeof a=="string"&&a.length>0)return a;let o=e["openai/outputTemplate"];if(typeof o=="string"&&o.length>0)return o}function Il(e){return Al(e)?.autoHeight===!0}function xa(e,t,a){if(e){let o=Cl(a?.[e]?._meta);if(o)return o}return Cl(Rl(t))}function Ml(e,t,a){return e&&Il(a?.[e]?._meta)?!0:Il(Rl(t))}function Fr({className:e,output:t,errorText:a,debug:o,...r}){let{t:n}=z(),s=Pr(()=>{if(!o&&typeof t=="object"&&t!==null&&!Array.isArray(t)){let{_meta:i,...l}=t;return l}return t},[t,o]);return t||a?a?gt("div",{className:F("ww:space-y-2",e),...r,children:[X("h4",{className:"ww:text-xs ww:font-medium ww:uppercase ww:tracking-wide ww:text-muted-foreground",children:n.tool.error}),X("div",{className:"ww:rounded-lg ww:bg-destructive/10 ww:p-3 ww:text-xs ww:text-destructive",children:a})]}):X(bl,{data:s,label:n.tool.response,className:e,...r}):null}f();import{jsx as Fl,jsxs as th}from"react/jsx-runtime";function Dl(e){return e.type==="text"||e.type==="reasoning"||e.type==="file"||"toolCallId"in e}function Bl(e){return e.parts.some(Dl)}function El(e,t,a){if(t!=="submitted"&&t!=="streaming")return!1;let o=e[e.length-1];return!o||o.role!=="assistant"?!0:!o.parts.some(n=>!(!Dl(n)||a?.ignoreToolParts&&"toolCallId"in n||a?.ignoreReasoningParts&&n.type==="reasoning"))}function _l({className:e,...t}){let{t:a}=z();return th("div",{"aria-live":"polite",className:F("ww:mb-4 ww:flex ww:w-full ww:items-center ww:gap-2 ww:text-sm ww:text-muted-foreground",e),style:{animation:"ww-fade-in 0.2s ease-out"},...t,children:[Fl(Zt,{className:"ww:size-4 ww:shrink-0"}),Fl(Ne,{duration:1.6,children:a.workingIndicator.default})]})}f();import{useCallback as ah,useEffect as Dr,useMemo as oh,useRef as ke,useState as Nl}from"react";import{jsx as mh}from"react/jsx-runtime";var rh="/api/mcp/resource",nh=500,sh=0,ih=16,lh="2026-01-26",uh=300,dh=3e3,ch=3;function fh(e){if(typeof e!="string")return;let t=e.trim();return t.length>0?t:void 0}function ph(e,t,a){return xa(e,t,a)?!1:t._meta?.["waniwani/autoInjectResultText"]!==!1}function Ol({resourceUri:e,toolInput:t,toolResult:a,resourceEndpoint:o=rh,chatSessionId:r,isDark:n=!1,className:s,autoHeight:i=!1,onOpenLink:l,onFollowUp:u,onCallTool:c,onDisplayModeChange:d,isFullscreen:p=!1,toolDefinitions:m}){let h=ke(null),I=ke(t),x=ke(a),S=ke({width:0,height:0}),C=ke(null),L=ke(!1),y=ke(0),v=ke("inline"),[A,M]=Nl(sh),[R,_]=Nl(void 0),D=ke(l),N=ke(u),k=ke(c),B=ke(d),P=ke(r),T=ke(m);I.current=t,x.current=a,D.current=l,N.current=u,k.current=c,B.current=d,P.current=r,T.current=m;let O=ah(q=>i?Math.max(q+ih,0):Math.min(Math.max(q,50),nh),[i]),Ie=oh(()=>{let q=o.includes("?")?"&":"?";return`${o}${q}uri=${encodeURIComponent(e)}`},[o,e]),ne=ke(n);ne.current=n;let Re=ke(p);return Dr(()=>{Re.current=p,S.current.height=-1,C.current&&(C.current.cancel(),C.current=null)},[p]),Dr(()=>{if(!L.current)return;let q=h.current;q?.contentWindow&&q.contentWindow.postMessage({jsonrpc:"2.0",method:"ui/notifications/host-context-changed",params:{theme:n?"dark":"light"}},"*")},[n]),Dr(()=>{let q=h.current;if(!q)return;let fe=!1,Ee=!1,Ue=null,Se=null,$=setTimeout(()=>{if(fe||Ee||y.current>=ch)return;y.current+=1;let pe=new URL(q.src);pe.searchParams.set("_retry",String(y.current)),q.src=pe.toString()},dh),j=pe=>{q.contentWindow?.postMessage(pe,"*")},ge=pe=>{if(fe||pe.source!==q.contentWindow)return;let Y=pe.data;if(!Y||typeof Y!="object"||Y.jsonrpc!=="2.0")return;let se=Y.method,re=Y.id;if(se==="ui/initialize"&&re!=null){Ee=!0,clearTimeout($),j({jsonrpc:"2.0",id:re,result:{protocolVersion:Y.params?.protocolVersion??lh,hostInfo:{name:"Waniwani Chat",version:"1.0.0"},hostCapabilities:{openLinks:{},message:{text:{}},tools:{},updateModelContext:{text:{},structuredContent:{}}},hostContext:{theme:ne.current?"dark":"light",displayMode:v.current}}});return}if(se==="ui/notifications/initialized"){L.current=!0;let K=I.current,ee=x.current,W=ee._meta&&typeof ee._meta=="object"?ee._meta:null,te=fh(P.current),le=W&&typeof W.waniwani=="object"&&W.waniwani!==null?W.waniwani:null,Me=le||te?{...le??{},...te?{sessionId:te}:{}}:void 0,Je=W||Me?{...W??{},...Me?{waniwani:Me}:{}}:void 0;j({jsonrpc:"2.0",method:"ui/notifications/tool-input",params:{arguments:K}});let Lt=ee.content??[{type:"text",text:JSON.stringify(ee)}];j({jsonrpc:"2.0",method:"ui/notifications/tool-result",params:{content:Lt,structuredContent:ee.structuredContent,_meta:Je,meta:Je}});return}if(se==="ui/notifications/size-changed"){let K=Y.params,ee=typeof K?.height=="number"?K.height:void 0,W=typeof K?.width=="number"?K.width:void 0,te=S.current,le=ee!==void 0&&ee!==te.height,Me=W!==void 0&&W!==te.width;if(!le&&!Me)return;if(le&&ee!==void 0){if(te.height=ee,Re.current)return;let Je=O(ee),Lt=q.getBoundingClientRect().height;if(C.current&&(C.current.cancel(),C.current=null),M(Je),q.animate&&Math.abs(Lt-Je)>2){let Ct=q.animate([{height:`${Lt}px`},{height:`${Je}px`}],{duration:uh,easing:"ease-out",fill:"forwards"});C.current=Ct,Ct.onfinish=()=>{C.current===Ct&&(Ct.cancel(),C.current=null)}}}Me&&i&&W!==void 0&&(te.width=W,_(W));return}if(se==="ui/open-link"&&re!=null){let K=Y.params?.url;typeof K=="string"&&(D.current?D.current(K):window.open(K,"_blank","noopener,noreferrer")),j({jsonrpc:"2.0",id:re,result:{}});return}if(se==="ui/message"&&re!=null){if(N.current&&Y.params){let K=Y.params,ee=Ue;if(Ue=null,Se){clearTimeout(Se.timer);let W=Se.text;Se=null;let te=(K.content??[]).map(le=>le.text??"").join("").trim();K={...K,content:[{type:"text",text:`${te}
78
+ \f\r "&'<=>\``.split("")]],single:[["&'".split(""),"\"&'`".split("")],["\0&'".split(""),"\0\"&'`".split("")]],double:[['"&'.split(""),"\"&'`".split("")],['\0"&'.split(""),"\0\"&'`".split("")]]};function Wi(e,t,a,o){let r=o.schema,n=r.space==="svg"?!1:o.settings.omitOptionalTags,s=r.space==="svg"?o.settings.closeEmptyElements:o.settings.voids.includes(e.tagName.toLowerCase()),i=[],l;r.space==="html"&&e.tagName==="svg"&&(o.schema=ba);let u=Cp(o,e.properties),c=o.all(r.space==="html"&&e.tagName==="template"?e.content:e);return o.schema=r,c&&(s=!1),(u||!n||!qi(e,t,a))&&(i.push("<",e.tagName,u?" "+u:""),s&&(r.space==="svg"||o.settings.closeSelfClosing)&&(l=u.charAt(u.length-1),(!o.settings.tightSelfClosing||l==="/"||l&&l!=='"'&&l!=="'")&&i.push(" "),i.push("/")),i.push(">")),i.push(c),!s&&(!n||!pa(e,t,a))&&i.push("</"+e.tagName+">"),i.join("")}function Cp(e,t){let a=[],o=-1,r;if(t){for(r in t)if(t[r]!==null&&t[r]!==void 0){let n=Lp(e,r,t[r]);n&&a.push(n)}}for(;++o<a.length;){let n=e.settings.tightAttributes?a[o].charAt(a[o].length-1):void 0;o!==a.length-1&&n!=='"'&&n!=="'"&&(a[o]+=" ")}return a.join("")}function Lp(e,t,a){let o=en(e.schema,t),r=e.settings.allowParseErrors&&e.schema.space==="html"?0:1,n=e.settings.allowDangerousCharacters?0:1,s=e.quote,i;if(o.overloadedBoolean&&(a===o.attribute||a==="")?a=!0:(o.boolean||o.overloadedBoolean)&&(typeof a!="string"||a===o.attribute||a==="")&&(a=!!a),a==null||a===!1||typeof a=="number"&&Number.isNaN(a))return"";let l=Qe(o.attribute,Object.assign({},e.settings.characterReferences,{subset:Ja.name[r][n]}));return a===!0||(a=Array.isArray(a)?(o.commaSeparated?an:on)(a,{padLeft:!e.settings.tightCommaSeparatedLists}):String(a),e.settings.collapseEmptyAttributes&&!a)?l:(e.settings.preferUnquoted&&(i=Qe(a,Object.assign({},e.settings.characterReferences,{attribute:!0,subset:Ja.unquoted[r][n]}))),i!==a&&(e.settings.quoteSmart&&bo(a,s)>bo(a,e.alternative)&&(s=e.alternative),i=s+Qe(a,Object.assign({},e.settings.characterReferences,{subset:(s==="'"?Ja.single:Ja.double)[r][n],attribute:!0}))+s),l+(i&&"="+i))}f();f();var Ip=["<","&"];function Ya(e,t,a,o){return a&&a.type==="element"&&(a.tagName==="script"||a.tagName==="style")?e.value:Qe(e.value,Object.assign({},o.settings.characterReferences,{subset:Ip}))}function Gi(e,t,a,o){return o.settings.allowDangerousHtml?e.value:Ya(e,t,a,o)}f();function ji(e,t,a,o){return o.all(e)}var zi=rn("type",{invalid:Sp,unknown:yp,handlers:{comment:_i,doctype:Ni,element:Wi,raw:Gi,root:ji,text:Ya}});function Sp(e){throw new Error("Expected node, not `"+e+"`")}function yp(e){let t=e;throw new Error("Cannot compile unknown node `"+t.type+"`")}var bp={},kp={},Tp=[];function lr(e,t){let a=t||bp,o=a.quote||'"',r=o==='"'?"'":'"';if(o!=='"'&&o!=="'")throw new Error("Invalid quote `"+o+"`, expected `'` or `\"`");return{one:vp,all:Pp,settings:{omitOptionalTags:a.omitOptionalTags||!1,allowParseErrors:a.allowParseErrors||!1,allowDangerousCharacters:a.allowDangerousCharacters||!1,quoteSmart:a.quoteSmart||!1,preferUnquoted:a.preferUnquoted||!1,tightAttributes:a.tightAttributes||!1,upperDoctype:a.upperDoctype||!1,tightDoctype:a.tightDoctype||!1,bogusComments:a.bogusComments||!1,tightCommaSeparatedLists:a.tightCommaSeparatedLists||!1,tightSelfClosing:a.tightSelfClosing||!1,collapseEmptyAttributes:a.collapseEmptyAttributes||!1,allowDangerousHtml:a.allowDangerousHtml||!1,voids:a.voids||nn,characterReferences:a.characterReferences||kp,closeSelfClosing:a.closeSelfClosing||!1,closeEmptyElements:a.closeEmptyElements||!1},schema:a.space==="svg"?ba:tn,quote:o,alternative:r}.one(Array.isArray(e)?{type:"root",children:e}:e,void 0,void 0)}function vp(e,t,a){return zi(e,t,a,this)}function Pp(e){let t=[],a=e&&e.children||Tp,o=-1;for(;++o<a.length;)t[o]=this.one(a[o],o,e);return t.join("")}function Za(e,t){let a=typeof e=="string"?{}:{...e.colorReplacements},o=typeof e=="string"?e:e.name;for(let[r,n]of Object.entries(t?.colorReplacements||{}))typeof n=="string"?a[r]=n:r===o&&Object.assign(a,n);return a}function rt(e,t){return e&&(t?.[e?.toLowerCase()]||e)}function Ap(e){return Array.isArray(e)?e:[e]}async function Yi(e){return Promise.resolve(typeof e=="function"?e():e).then(t=>t.default||t)}function mr(e){return!e||["plaintext","txt","text","plain"].includes(e)}function Zi(e){return e==="ansi"||mr(e)}function hr(e){return e==="none"}function el(e){return hr(e)}function tl(e,t){if(!t)return e;e.properties||={},e.properties.class||=[],typeof e.properties.class=="string"&&(e.properties.class=e.properties.class.split(/\s+/g)),Array.isArray(e.properties.class)||(e.properties.class=[]);let a=Array.isArray(t)?t:t.split(/\s+/g);for(let o of a)o&&!e.properties.class.includes(o)&&e.properties.class.push(o);return e}function ro(e,t=!1){if(e.length===0)return[["",0]];let a=e.split(/(\r?\n)/g),o=0,r=[];for(let n=0;n<a.length;n+=2){let s=t?a[n]+(a[n+1]||""):a[n];r.push([s,o]),o+=a[n].length,o+=a[n+1]?.length||0}return r}function Rp(e){let t=ro(e,!0).map(([r])=>r);function a(r){if(r===e.length)return{line:t.length-1,character:t[t.length-1].length};let n=r,s=0;for(let i of t){if(n<i.length)break;n-=i.length,s++}return{line:s,character:n}}function o(r,n){let s=0;for(let i=0;i<r;i++)s+=t[i].length;return s+=n,s}return{lines:t,indexToPos:a,posToIndex:o}}function al(e,t,a){let o=new Set;for(let n of e.matchAll(/:?lang=["']([^"']+)["']/g)){let s=n[1].toLowerCase().trim();s&&o.add(s)}for(let n of e.matchAll(/(?:```|~~~)([\w-]+)/g)){let s=n[1].toLowerCase().trim();s&&o.add(s)}for(let n of e.matchAll(/\\begin\{([\w-]+)\}/g)){let s=n[1].toLowerCase().trim();s&&o.add(s)}for(let n of e.matchAll(/<script\s+(?:type|lang)=["']([^"']+)["']/gi)){let s=n[1].toLowerCase().trim(),i=s.includes("/")?s.split("/").pop():s;i&&o.add(i)}if(!a)return Array.from(o);let r=a.getBundledLanguages();return Array.from(o).filter(n=>n&&r[n])}var gr="light-dark()",Mp=["color","background-color"];function Fp(e,t){let a=0,o=[];for(let r of t)r>a&&o.push({...e,content:e.content.slice(a,r),offset:e.offset+a}),a=r;return a<e.content.length&&o.push({...e,content:e.content.slice(a),offset:e.offset+a}),o}function Dp(e,t){let a=Array.from(t instanceof Set?t:new Set(t)).sort((o,r)=>o-r);return a.length?e.map(o=>o.flatMap(r=>{let n=a.filter(s=>r.offset<s&&s<r.offset+r.content.length).map(s=>s-r.offset).sort((s,i)=>s-i);return n.length?Fp(r,n):r})):e}function Bp(e,t,a,o,r="css-vars"){let n={content:e.content,explanation:e.explanation,offset:e.offset},s=t.map(c=>eo(e.variants[c])),i=new Set(s.flatMap(c=>Object.keys(c))),l={},u=(c,d)=>{let p=d==="color"?"":d==="background-color"?"-bg":`-${d}`;return a+t[c]+(d==="color"?"":p)};return s.forEach((c,d)=>{for(let p of i){let m=c[p]||"inherit";if(d===0&&o&&Mp.includes(p))if(o===gr&&s.length>1){let h=t.findIndex(L=>L==="light"),I=t.findIndex(L=>L==="dark");if(h===-1||I===-1)throw new oe('When using `defaultColor: "light-dark()"`, you must provide both `light` and `dark` themes');let x=s[h][p]||"inherit",S=s[I][p]||"inherit";l[p]=`light-dark(${x}, ${S})`,r==="css-vars"&&(l[u(d,p)]=m)}else l[p]=m;else r==="css-vars"&&(l[u(d,p)]=m)}}),n.htmlStyle=l,n}function eo(e){let t={};if(e.color&&(t.color=e.color),e.bgColor&&(t["background-color"]=e.bgColor),e.fontStyle){e.fontStyle&Ce.Italic&&(t["font-style"]="italic"),e.fontStyle&Ce.Bold&&(t["font-weight"]="bold");let a=[];e.fontStyle&Ce.Underline&&a.push("underline"),e.fontStyle&Ce.Strikethrough&&a.push("line-through"),a.length&&(t["text-decoration"]=a.join(" "))}return t}function cr(e){return typeof e=="string"?e:Object.entries(e).map(([t,a])=>`${t}:${a}`).join(";")}var ol=new WeakMap;function no(e,t){ol.set(e,t)}function ha(e){return ol.get(e)}var At=class e{_stacks={};lang;get themes(){return Object.keys(this._stacks)}get theme(){return this.themes[0]}get _stack(){return this._stacks[this.theme]}static initial(t,a){return new e(Object.fromEntries(Ap(a).map(o=>[o,$a])),t)}constructor(...t){if(t.length===2){let[a,o]=t;this.lang=o,this._stacks=a}else{let[a,o,r]=t;this.lang=o,this._stacks={[r]:a}}}getInternalStack(t=this.theme){return this._stacks[t]}getScopes(t=this.theme){return Ep(this._stacks[t])}toJSON(){return{lang:this.lang,theme:this.theme,themes:this.themes,scopes:this.getScopes()}}};function Ep(e){let t=[],a=new Set;function o(r){if(a.has(r))return;a.add(r);let n=r?.nameScopesList?.scopeName;n&&t.push(n),r.parent&&o(r.parent)}return o(e),t}function _p(e,t){if(!(e instanceof At))throw new oe("Invalid grammar state");return e.getInternalStack(t)}function Np(){let e=new WeakMap;function t(a){if(!e.has(a.meta)){let o=function(s){if(typeof s=="number"){if(s<0||s>a.source.length)throw new oe(`Invalid decoration offset: ${s}. Code length: ${a.source.length}`);return{...r.indexToPos(s),offset:s}}else{let i=r.lines[s.line];if(i===void 0)throw new oe(`Invalid decoration position ${JSON.stringify(s)}. Lines length: ${r.lines.length}`);let l=s.character;if(l<0&&(l=i.length+l),l<0||l>i.length)throw new oe(`Invalid decoration position ${JSON.stringify(s)}. Line ${s.line} length: ${i.length}`);return{...s,character:l,offset:r.posToIndex(s.line,l)}}},r=Rp(a.source),n=(a.options.decorations||[]).map(s=>({...s,start:o(s.start),end:o(s.end)}));Op(n),e.set(a.meta,{decorations:n,converter:r,source:a.source})}return e.get(a.meta)}return{name:"shiki:decorations",tokens(a){if(!this.options.decorations?.length)return;let r=t(this).decorations.flatMap(s=>[s.start.offset,s.end.offset]);return Dp(a,r)},code(a){if(!this.options.decorations?.length)return;let o=t(this),r=Array.from(a.children).filter(c=>c.type==="element"&&c.tagName==="span");if(r.length!==o.converter.lines.length)throw new oe(`Number of lines in code element (${r.length}) does not match the number of lines in the source (${o.converter.lines.length}). Failed to apply decorations.`);function n(c,d,p,m){let h=r[c],I="",x=-1,S=-1;if(d===0&&(x=0),p===0&&(S=0),p===Number.POSITIVE_INFINITY&&(S=h.children.length),x===-1||S===-1)for(let C=0;C<h.children.length;C++)I+=rl(h.children[C]),x===-1&&I.length===d&&(x=C+1),S===-1&&I.length===p&&(S=C+1);if(x===-1)throw new oe(`Failed to find start index for decoration ${JSON.stringify(m.start)}`);if(S===-1)throw new oe(`Failed to find end index for decoration ${JSON.stringify(m.end)}`);let L=h.children.slice(x,S);if(!m.alwaysWrap&&L.length===h.children.length)i(h,m,"line");else if(!m.alwaysWrap&&L.length===1&&L[0].type==="element")i(L[0],m,"token");else{let C={type:"element",tagName:"span",properties:{},children:L};i(C,m,"wrapper"),h.children.splice(x,L.length,C)}}function s(c,d){r[c]=i(r[c],d,"line")}function i(c,d,p){let m=d.properties||{},h=d.transform||(I=>I);return c.tagName=d.tagName||"span",c.properties={...c.properties,...m,class:c.properties.class},d.properties?.class&&tl(c,d.properties.class),c=h(c,p)||c,c}let l=[],u=o.decorations.sort((c,d)=>d.start.offset-c.start.offset||c.end.offset-d.end.offset);for(let c of u){let{start:d,end:p}=c;if(d.line===p.line)n(d.line,d.character,p.character,c);else if(d.line<p.line){n(d.line,d.character,Number.POSITIVE_INFINITY,c);for(let m=d.line+1;m<p.line;m++)l.unshift(()=>s(m,c));n(p.line,0,p.character,c)}}l.forEach(c=>c())}}}function Op(e){for(let t=0;t<e.length;t++){let a=e[t];if(a.start.offset>a.end.offset)throw new oe(`Invalid decoration range: ${JSON.stringify(a.start)} - ${JSON.stringify(a.end)}`);for(let o=t+1;o<e.length;o++){let r=e[o],n=a.start.offset<=r.start.offset&&r.start.offset<a.end.offset,s=a.start.offset<r.end.offset&&r.end.offset<=a.end.offset,i=r.start.offset<=a.start.offset&&a.start.offset<r.end.offset,l=r.start.offset<a.end.offset&&a.end.offset<=r.end.offset;if(n||s||i||l){if(n&&s||i&&l||i&&a.start.offset===a.end.offset||s&&r.start.offset===r.end.offset)continue;throw new oe(`Decorations ${JSON.stringify(a.start)} and ${JSON.stringify(r.start)} intersect.`)}}}}function rl(e){return e.type==="text"?e.value:e.type==="element"?e.children.map(rl).join(""):""}var Up=[Np()];function to(e){let t=Hp(e.transformers||[]);return[...t.pre,...t.normal,...t.post,...Up]}function Hp(e){let t=[],a=[],o=[];for(let r of e)switch(r.enforce){case"pre":t.push(r);break;case"post":a.push(r);break;default:o.push(r)}return{pre:t,post:a,normal:o}}var ht=["black","red","green","yellow","blue","magenta","cyan","white","brightBlack","brightRed","brightGreen","brightYellow","brightBlue","brightMagenta","brightCyan","brightWhite"],ur={1:"bold",2:"dim",3:"italic",4:"underline",7:"reverse",8:"hidden",9:"strikethrough"};function qp(e,t){let a=e.indexOf("\x1B",t);if(a!==-1&&e[a+1]==="["){let o=e.indexOf("m",a);if(o!==-1)return{sequence:e.substring(a+2,o).split(";"),startPosition:a,position:o+1}}return{position:e.length}}function Vi(e){let t=e.shift();if(t==="2"){let a=e.splice(0,3).map(o=>Number.parseInt(o));return a.length!==3||a.some(o=>Number.isNaN(o))?void 0:{type:"rgb",rgb:a}}else if(t==="5"){let a=e.shift();if(a)return{type:"table",index:Number(a)}}}function Wp(e){let t=[];for(;e.length>0;){let a=e.shift();if(!a)continue;let o=Number.parseInt(a);if(!Number.isNaN(o))if(o===0)t.push({type:"resetAll"});else if(o<=9)ur[o]&&t.push({type:"setDecoration",value:ur[o]});else if(o<=29){let r=ur[o-20];r&&(t.push({type:"resetDecoration",value:r}),r==="dim"&&t.push({type:"resetDecoration",value:"bold"}))}else if(o<=37)t.push({type:"setForegroundColor",value:{type:"named",name:ht[o-30]}});else if(o===38){let r=Vi(e);r&&t.push({type:"setForegroundColor",value:r})}else if(o===39)t.push({type:"resetForegroundColor"});else if(o<=47)t.push({type:"setBackgroundColor",value:{type:"named",name:ht[o-40]}});else if(o===48){let r=Vi(e);r&&t.push({type:"setBackgroundColor",value:r})}else o===49?t.push({type:"resetBackgroundColor"}):o===53?t.push({type:"setDecoration",value:"overline"}):o===55?t.push({type:"resetDecoration",value:"overline"}):o>=90&&o<=97?t.push({type:"setForegroundColor",value:{type:"named",name:ht[o-90+8]}}):o>=100&&o<=107&&t.push({type:"setBackgroundColor",value:{type:"named",name:ht[o-100+8]}})}return t}function Gp(){let e=null,t=null,a=new Set;return{parse(o){let r=[],n=0;do{let s=qp(o,n),i=s.sequence?o.substring(n,s.startPosition):o.substring(n);if(i.length>0&&r.push({value:i,foreground:e,background:t,decorations:new Set(a)}),s.sequence){let l=Wp(s.sequence);for(let u of l)u.type==="resetAll"?(e=null,t=null,a.clear()):u.type==="resetForegroundColor"?e=null:u.type==="resetBackgroundColor"?t=null:u.type==="resetDecoration"&&a.delete(u.value);for(let u of l)u.type==="setForegroundColor"?e=u.value:u.type==="setBackgroundColor"?t=u.value:u.type==="setDecoration"&&a.add(u.value)}n=s.position}while(n<o.length);return r}}}var jp={black:"#000000",red:"#bb0000",green:"#00bb00",yellow:"#bbbb00",blue:"#0000bb",magenta:"#ff00ff",cyan:"#00bbbb",white:"#eeeeee",brightBlack:"#555555",brightRed:"#ff5555",brightGreen:"#00ff00",brightYellow:"#ffff55",brightBlue:"#5555ff",brightMagenta:"#ff55ff",brightCyan:"#55ffff",brightWhite:"#ffffff"};function zp(e=jp){function t(i){return e[i]}function a(i){return`#${i.map(l=>Math.max(0,Math.min(l,255)).toString(16).padStart(2,"0")).join("")}`}let o;function r(){if(o)return o;o=[];for(let u=0;u<ht.length;u++)o.push(t(ht[u]));let i=[0,95,135,175,215,255];for(let u=0;u<6;u++)for(let c=0;c<6;c++)for(let d=0;d<6;d++)o.push(a([i[u],i[c],i[d]]));let l=8;for(let u=0;u<24;u++,l+=10)o.push(a([l,l,l]));return o}function n(i){return r()[i]}function s(i){switch(i.type){case"named":return t(i.name);case"rgb":return a(i.rgb);case"table":return n(i.index)}}return{value:s}}var Vp={black:"#000000",red:"#cd3131",green:"#0DBC79",yellow:"#E5E510",blue:"#2472C8",magenta:"#BC3FBC",cyan:"#11A8CD",white:"#E5E5E5",brightBlack:"#666666",brightRed:"#F14C4C",brightGreen:"#23D18B",brightYellow:"#F5F543",brightBlue:"#3B8EEA",brightMagenta:"#D670D6",brightCyan:"#29B8DB",brightWhite:"#FFFFFF"};function $p(e,t,a){let o=Za(e,a),r=ro(t),n=Object.fromEntries(ht.map(l=>{let u=`terminal.ansi${l[0].toUpperCase()}${l.substring(1)}`,c=e.colors?.[u];return[l,c||Vp[l]]})),s=zp(n),i=Gp();return r.map(l=>i.parse(l[0]).map(u=>{let c,d;u.decorations.has("reverse")?(c=u.background?s.value(u.background):e.bg,d=u.foreground?s.value(u.foreground):e.fg):(c=u.foreground?s.value(u.foreground):e.fg,d=u.background?s.value(u.background):void 0),c=rt(c,o),d=rt(d,o),u.decorations.has("dim")&&(c=Xp(c));let p=Ce.None;return u.decorations.has("bold")&&(p|=Ce.Bold),u.decorations.has("italic")&&(p|=Ce.Italic),u.decorations.has("underline")&&(p|=Ce.Underline),u.decorations.has("strikethrough")&&(p|=Ce.Strikethrough),{content:u.value,offset:l[1],color:c,bgColor:d,fontStyle:p}}))}function Xp(e){let t=e.match(/#([0-9a-f]{3,8})/i);if(t){let o=t[1];if(o.length===8){let r=Math.round(Number.parseInt(o.slice(6,8),16)/2).toString(16).padStart(2,"0");return`#${o.slice(0,6)}${r}`}else{if(o.length===6)return`#${o}80`;if(o.length===4){let r=o[0],n=o[1],s=o[2],i=o[3],l=Math.round(Number.parseInt(`${i}${i}`,16)/2).toString(16).padStart(2,"0");return`#${r}${r}${n}${n}${s}${s}${l}`}else if(o.length===3){let r=o[0],n=o[1],s=o[2];return`#${r}${r}${n}${n}${s}${s}80`}}}let a=e.match(/var\((--[\w-]+-ansi-[\w-]+)\)/);return a?`var(${a[1]}-dim)`:e}function wr(e,t,a={}){let{theme:o=e.getLoadedThemes()[0]}=a,r=e.resolveLangAlias(a.lang||"text");if(mr(r)||hr(o))return ro(t).map(l=>[{content:l[0],offset:l[1]}]);let{theme:n,colorMap:s}=e.setTheme(o);if(r==="ansi")return $p(n,t,a);let i=e.getLanguage(a.lang||"text");if(a.grammarState){if(a.grammarState.lang!==i.name)throw new oe(`Grammar state language "${a.grammarState.lang}" does not match highlight language "${i.name}"`);if(!a.grammarState.themes.includes(n.name))throw new oe(`Grammar state themes "${a.grammarState.themes}" do not contain highlight theme "${n.name}"`)}return Qp(t,i,n,s,a)}function Kp(...e){if(e.length===2)return ha(e[1]);let[t,a,o={}]=e,{lang:r="text",theme:n=t.getLoadedThemes()[0]}=o;if(mr(r)||hr(n))throw new oe("Plain language does not have grammar state");if(r==="ansi")throw new oe("ANSI language does not have grammar state");let{theme:s,colorMap:i}=t.setTheme(n),l=t.getLanguage(r);return new At(xr(a,l,s,i,o).stateStack,l.name,s.name)}function Qp(e,t,a,o,r){let n=xr(e,t,a,o,r),s=new At(n.stateStack,t.name,a.name);return no(n.tokens,s),n.tokens}function xr(e,t,a,o,r){let n=Za(a,r),{tokenizeMaxLineLength:s=0,tokenizeTimeLimit:i=500}=r,l=ro(e),u=r.grammarState?_p(r.grammarState,a.name)??$a:r.grammarContextCode!=null?xr(r.grammarContextCode,t,a,o,{...r,grammarState:void 0,grammarContextCode:void 0}).stateStack:$a,c=[],d=[];for(let p=0,m=l.length;p<m;p++){let[h,I]=l[p];if(h===""){c=[],d.push([]);continue}if(s>0&&h.length>=s){c=[],d.push([{content:h,offset:I,color:"",fontStyle:0}]);continue}let x,S,L;r.includeExplanation&&(x=t.tokenizeLine(h,u,i),S=x.tokens,L=0);let C=t.tokenizeLine2(h,u,i),k=C.tokens.length/2;for(let T=0;T<k;T++){let P=C.tokens[2*T],M=T+1<k?C.tokens[2*T+2]:h.length;if(P===M)continue;let A=C.tokens[2*T+1],E=rt(o[mt.getForeground(A)],n),F=mt.getFontStyle(A),_={content:h.substring(P,M),offset:I+P,color:E,fontStyle:F};if(r.includeExplanation){let v=[];if(r.includeExplanation!=="scopeName")for(let q of a.settings){let y;switch(typeof q.scope){case"string":y=q.scope.split(/,/).map(N=>N.trim());break;case"object":y=q.scope;break;default:continue}v.push({settings:q,selectors:y.map(N=>N.split(/ /))})}_.explanation=[];let D=0;for(;P+D<M;){let q=S[L],y=h.substring(q.startIndex,q.endIndex);D+=y.length,_.explanation.push({content:y,scopes:r.includeExplanation==="scopeName"?Jp(q.scopes):Yp(v,q.scopes)}),L+=1}}c.push(_)}d.push(c),c=[],u=C.ruleStack}return{tokens:d,stateStack:u}}function Jp(e){return e.map(t=>({scopeName:t}))}function Yp(e,t){let a=[];for(let o=0,r=t.length;o<r;o++){let n=t[o];a[o]={scopeName:n,themeMatches:em(e,n,t.slice(0,o))}}return a}function $i(e,t){return e===t||t.substring(0,e.length)===e&&t[e.length]==="."}function Zp(e,t,a){if(!$i(e[e.length-1],t))return!1;let o=e.length-2,r=a.length-1;for(;o>=0&&r>=0;)$i(e[o],a[r])&&(o-=1),r-=1;return o===-1}function em(e,t,a){let o=[];for(let{selectors:r,settings:n}of e)for(let s of r)if(Zp(s,t,a)){o.push(n);break}return o}function nl(e,t,a){let o=Object.entries(a.themes).filter(l=>l[1]).map(l=>({color:l[0],theme:l[1]})),r=o.map(l=>{let u=wr(e,t,{...a,theme:l.theme}),c=ha(u),d=typeof l.theme=="string"?l.theme:l.theme.name;return{tokens:u,state:c,theme:d}}),n=tm(...r.map(l=>l.tokens)),s=n[0].map((l,u)=>l.map((c,d)=>{let p={content:c.content,variants:{},offset:c.offset};return"includeExplanation"in a&&a.includeExplanation&&(p.explanation=c.explanation),n.forEach((m,h)=>{let{content:I,explanation:x,offset:S,...L}=m[u][d];p.variants[o[h].color]=L}),p})),i=r[0].state?new At(Object.fromEntries(r.map(l=>[l.theme,l.state?.getInternalStack(l.theme)])),r[0].state.lang):void 0;return i&&no(s,i),s}function tm(...e){let t=e.map(()=>[]),a=e.length;for(let o=0;o<e[0].length;o++){let r=e.map(l=>l[o]),n=t.map(()=>[]);t.forEach((l,u)=>l.push(n[u]));let s=r.map(()=>0),i=r.map(l=>l[0]);for(;i.every(l=>l);){let l=Math.min(...i.map(u=>u.content.length));for(let u=0;u<a;u++){let c=i[u];c.content.length===l?(n[u].push(c),s[u]+=1,i[u]=r[u][s[u]]):(n[u].push({...c,content:c.content.slice(0,l)}),i[u]={...c,content:c.content.slice(l),offset:c.offset+l})}}}return t}function ao(e,t,a){let o,r,n,s,i,l;if("themes"in a){let{defaultColor:u="light",cssVariablePrefix:c="--shiki-",colorsRendering:d="css-vars"}=a,p=Object.entries(a.themes).filter(S=>S[1]).map(S=>({color:S[0],theme:S[1]})).sort((S,L)=>S.color===u?-1:L.color===u?1:0);if(p.length===0)throw new oe("`themes` option must not be empty");let m=nl(e,t,a);if(l=ha(m),u&&gr!==u&&!p.find(S=>S.color===u))throw new oe(`\`themes\` option must contain the defaultColor key \`${u}\``);let h=p.map(S=>e.getTheme(S.theme)),I=p.map(S=>S.color);n=m.map(S=>S.map(L=>Bp(L,I,c,u,d))),l&&no(n,l);let x=p.map(S=>Za(S.theme,a));r=Xi(p,h,x,c,u,"fg",d),o=Xi(p,h,x,c,u,"bg",d),s=`shiki-themes ${h.map(S=>S.name).join(" ")}`,i=u?void 0:[r,o].join(";")}else if("theme"in a){let u=Za(a.theme,a);n=wr(e,t,a);let c=e.getTheme(a.theme);o=rt(c.bg,u),r=rt(c.fg,u),s=c.name,l=ha(n)}else throw new oe("Invalid options, either `theme` or `themes` must be provided");return{tokens:n,fg:r,bg:o,themeName:s,rootStyle:i,grammarState:l}}function Xi(e,t,a,o,r,n,s){return e.map((i,l)=>{let u=rt(t[l][n],a[l])||"inherit",c=`${o+i.color}${n==="bg"?"-bg":""}:${u}`;if(l===0&&r){if(r===gr&&e.length>1){let d=e.findIndex(I=>I.color==="light"),p=e.findIndex(I=>I.color==="dark");if(d===-1||p===-1)throw new oe('When using `defaultColor: "light-dark()"`, you must provide both `light` and `dark` themes');let m=rt(t[d][n],a[d])||"inherit",h=rt(t[p][n],a[p])||"inherit";return`light-dark(${m}, ${h});${c}`}return u}return s==="css-vars"?c:null}).filter(i=>!!i).join(";")}function oo(e,t,a,o={meta:{},options:a,codeToHast:(r,n)=>oo(e,r,n),codeToTokens:(r,n)=>ao(e,r,n)}){let r=t;for(let h of to(a))r=h.preprocess?.call(o,r,a)||r;let{tokens:n,fg:s,bg:i,themeName:l,rootStyle:u,grammarState:c}=ao(e,r,a),{mergeWhitespaces:d=!0,mergeSameStyleTokens:p=!1}=a;d===!0?n=om(n):d==="never"&&(n=rm(n)),p&&(n=nm(n));let m={...o,get source(){return r}};for(let h of to(a))n=h.tokens?.call(m,n)||n;return am(n,{...a,fg:s,bg:i,themeName:l,rootStyle:a.rootStyle===!1?!1:a.rootStyle??u},m,c)}function am(e,t,a,o=ha(e)){let r=to(t),n=[],s={type:"root",children:[]},{structure:i="classic",tabindex:l="0"}=t,u={class:`shiki ${t.themeName||""}`};t.rootStyle!==!1&&(t.rootStyle!=null?u.style=t.rootStyle:u.style=`background-color:${t.bg};color:${t.fg}`),l!==!1&&l!=null&&(u.tabindex=l.toString());for(let[I,x]of Object.entries(t.meta||{}))I.startsWith("_")||(u[I]=x);let c={type:"element",tagName:"pre",properties:u,children:[],data:t.data},d={type:"element",tagName:"code",properties:{},children:n},p=[],m={...a,structure:i,addClassToHast:tl,get source(){return a.source},get tokens(){return e},get options(){return t},get root(){return s},get pre(){return c},get code(){return d},get lines(){return p}};if(e.forEach((I,x)=>{x&&(i==="inline"?s.children.push({type:"element",tagName:"br",properties:{},children:[]}):i==="classic"&&n.push({type:"text",value:`
79
+ `}));let S={type:"element",tagName:"span",properties:{class:"line"},children:[]},L=0;for(let C of I){let k={type:"element",tagName:"span",properties:{...C.htmlAttrs},children:[{type:"text",value:C.content}]},T=cr(C.htmlStyle||eo(C));T&&(k.properties.style=T);for(let P of r)k=P?.span?.call(m,k,x+1,L,S,C)||k;i==="inline"?s.children.push(k):i==="classic"&&S.children.push(k),L+=C.content.length}if(i==="classic"){for(let C of r)S=C?.line?.call(m,S,x+1)||S;p.push(S),n.push(S)}else i==="inline"&&p.push(S)}),i==="classic"){for(let I of r)d=I?.code?.call(m,d)||d;c.children.push(d);for(let I of r)c=I?.pre?.call(m,c)||c;s.children.push(c)}else if(i==="inline"){let I=[],x={type:"element",tagName:"span",properties:{class:"line"},children:[]};for(let C of s.children)C.type==="element"&&C.tagName==="br"?(I.push(x),x={type:"element",tagName:"span",properties:{class:"line"},children:[]}):(C.type==="element"||C.type==="text")&&x.children.push(C);I.push(x);let L={type:"element",tagName:"code",properties:{},children:I};for(let C of r)L=C?.code?.call(m,L)||L;s.children=[];for(let C=0;C<L.children.length;C++){C>0&&s.children.push({type:"element",tagName:"br",properties:{},children:[]});let k=L.children[C];k.type==="element"&&s.children.push(...k.children)}}let h=s;for(let I of r)h=I?.root?.call(m,h)||h;return o&&no(h,o),h}function om(e){return e.map(t=>{let a=[],o="",r;return t.forEach((n,s)=>{let l=!(n.fontStyle&&(n.fontStyle&Ce.Underline||n.fontStyle&Ce.Strikethrough));l&&n.content.match(/^\s+$/)&&t[s+1]?(r===void 0&&(r=n.offset),o+=n.content):o?(l?a.push({...n,offset:r,content:o+n.content}):a.push({content:o,offset:r},n),r=void 0,o=""):a.push(n)}),a})}function rm(e){return e.map(t=>t.flatMap(a=>{if(a.content.match(/^\s+$/))return a;let o=a.content.match(/^(\s*)(.*?)(\s*)$/);if(!o)return a;let[,r,n,s]=o;if(!r&&!s)return a;let i=[{...a,offset:a.offset+r.length,content:n}];return r&&i.unshift({content:r,offset:a.offset}),s&&i.push({content:s,offset:a.offset+r.length+n.length}),i}))}function nm(e){return e.map(t=>{let a=[];for(let o of t){if(a.length===0){a.push({...o});continue}let r=a[a.length-1],n=cr(r.htmlStyle||eo(r)),s=cr(o.htmlStyle||eo(o)),i=r.fontStyle&&(r.fontStyle&Ce.Underline||r.fontStyle&Ce.Strikethrough),l=o.fontStyle&&(o.fontStyle&Ce.Underline||o.fontStyle&Ce.Strikethrough);!i&&!l&&n===s?r.content+=o.content:a.push({...o})}return a})}var sm=lr;function im(e,t,a){let o={meta:{},options:a,codeToHast:(n,s)=>oo(e,n,s),codeToTokens:(n,s)=>ao(e,n,s)},r=sm(oo(e,t,a,o));for(let n of to(a))r=n.postprocess?.call(o,r,a)||r;return r}var Ki={light:"#333333",dark:"#bbbbbb"},Qi={light:"#fffffe",dark:"#1e1e1e"},Ji="__shiki_resolved";function Cr(e){if(e?.[Ji])return e;let t={...e};t.tokenColors&&!t.settings&&(t.settings=t.tokenColors,delete t.tokenColors),t.type||="dark",t.colorReplacements={...t.colorReplacements},t.settings||=[];let{bg:a,fg:o}=t;if(!a||!o){let i=t.settings?t.settings.find(l=>!l.name&&!l.scope):void 0;i?.settings?.foreground&&(o=i.settings.foreground),i?.settings?.background&&(a=i.settings.background),!o&&t?.colors?.["editor.foreground"]&&(o=t.colors["editor.foreground"]),!a&&t?.colors?.["editor.background"]&&(a=t.colors["editor.background"]),o||(o=t.type==="light"?Ki.light:Ki.dark),a||(a=t.type==="light"?Qi.light:Qi.dark),t.fg=o,t.bg=a}t.settings[0]&&t.settings[0].settings&&!t.settings[0].scope||t.settings.unshift({settings:{foreground:t.fg,background:t.bg}});let r=0,n=new Map;function s(i){if(n.has(i))return n.get(i);r+=1;let l=`#${r.toString(16).padStart(8,"0").toLowerCase()}`;return t.colorReplacements?.[`#${l}`]?s(i):(n.set(i,l),l)}t.settings=t.settings.map(i=>{let l=i.settings?.foreground&&!i.settings.foreground.startsWith("#"),u=i.settings?.background&&!i.settings.background.startsWith("#");if(!l&&!u)return i;let c={...i,settings:{...i.settings}};if(l){let d=s(i.settings.foreground);t.colorReplacements[d]=i.settings.foreground,c.settings.foreground=d}if(u){let d=s(i.settings.background);t.colorReplacements[d]=i.settings.background,c.settings.background=d}return c});for(let i of Object.keys(t.colors||{}))if((i==="editor.foreground"||i==="editor.background"||i.startsWith("terminal.ansi"))&&!t.colors[i]?.startsWith("#")){let l=s(t.colors[i]);t.colorReplacements[l]=t.colors[i],t.colors[i]=l}return Object.defineProperty(t,Ji,{enumerable:!1,writable:!1,value:!0}),t}async function sl(e){return Array.from(new Set((await Promise.all(e.filter(t=>!Zi(t)).map(async t=>await Yi(t).then(a=>Array.isArray(a)?a:[a])))).flat()))}async function il(e){return(await Promise.all(e.map(async a=>el(a)?null:Cr(await Yi(a))))).filter(a=>!!a)}var dr=3,lm=!1;function um(e,t=3){if(dr&&!(typeof dr=="number"&&t>dr)){if(lm)throw new Error(`[SHIKI DEPRECATE]: ${e}`);console.trace(`[SHIKI DEPRECATE]: ${e}`)}}var ot=class extends Error{constructor(t){super(t),this.name="ShikiError"}};function ll(e,t){if(!t)return e;if(t[e]){let a=new Set([e]);for(;t[e];){if(e=t[e],a.has(e))throw new ot(`Circular alias \`${Array.from(a).join(" -> ")} -> ${e}\``);a.add(e)}}return e}var fr=class extends Ti{constructor(t,a,o,r={}){super(t),this._resolver=t,this._themes=a,this._langs=o,this._alias=r,this._themes.map(n=>this.loadTheme(n)),this.loadLanguages(this._langs)}_resolvedThemes=new Map;_resolvedGrammars=new Map;_langMap=new Map;_langGraph=new Map;_textmateThemeCache=new WeakMap;_loadedThemesCache=null;_loadedLanguagesCache=null;getTheme(t){return typeof t=="string"?this._resolvedThemes.get(t):this.loadTheme(t)}loadTheme(t){let a=Cr(t);return a.name&&(this._resolvedThemes.set(a.name,a),this._loadedThemesCache=null),a}getLoadedThemes(){return this._loadedThemesCache||(this._loadedThemesCache=[...this._resolvedThemes.keys()]),this._loadedThemesCache}setTheme(t){let a=this._textmateThemeCache.get(t);a||(a=la.createFromRawTheme(t),this._textmateThemeCache.set(t,a)),this._syncRegistry.setTheme(a)}getGrammar(t){return t=ll(t,this._alias),this._resolvedGrammars.get(t)}loadLanguage(t){if(this.getGrammar(t.name))return;let a=new Set([...this._langMap.values()].filter(n=>n.embeddedLangsLazy?.includes(t.name)));this._resolver.addLanguage(t);let o={balancedBracketSelectors:t.balancedBracketSelectors||["*"],unbalancedBracketSelectors:t.unbalancedBracketSelectors||[]};this._syncRegistry._rawGrammars.set(t.scopeName,t);let r=this.loadGrammarWithConfiguration(t.scopeName,1,o);if(r.name=t.name,this._resolvedGrammars.set(t.name,r),t.aliases&&t.aliases.forEach(n=>{this._alias[n]=t.name}),this._loadedLanguagesCache=null,a.size)for(let n of a)this._resolvedGrammars.delete(n.name),this._loadedLanguagesCache=null,this._syncRegistry?._injectionGrammars?.delete(n.scopeName),this._syncRegistry?._grammars?.delete(n.scopeName),this.loadLanguage(this._langMap.get(n.name))}dispose(){super.dispose(),this._resolvedThemes.clear(),this._resolvedGrammars.clear(),this._langMap.clear(),this._langGraph.clear(),this._loadedThemesCache=null}loadLanguages(t){for(let r of t)this.resolveEmbeddedLanguages(r);let a=Array.from(this._langGraph.entries()),o=a.filter(([r,n])=>!n);if(o.length){let r=a.filter(([n,s])=>s?(s.embeddedLanguages||s.embeddedLangs)?.some(l=>o.map(([u])=>u).includes(l)):!1).filter(n=>!o.includes(n));throw new ot(`Missing languages ${o.map(([n])=>`\`${n}\``).join(", ")}, required by ${r.map(([n])=>`\`${n}\``).join(", ")}`)}for(let[r,n]of a)this._resolver.addLanguage(n);for(let[r,n]of a)this.loadLanguage(n)}getLoadedLanguages(){return this._loadedLanguagesCache||(this._loadedLanguagesCache=[...new Set([...this._resolvedGrammars.keys(),...Object.keys(this._alias)])]),this._loadedLanguagesCache}resolveEmbeddedLanguages(t){this._langMap.set(t.name,t),this._langGraph.set(t.name,t);let a=t.embeddedLanguages??t.embeddedLangs;if(a)for(let o of a)this._langGraph.set(o,this._langMap.get(o))}},pr=class{_langs=new Map;_scopeToLang=new Map;_injections=new Map;_onigLib;constructor(t,a){this._onigLib={createOnigScanner:o=>t.createScanner(o),createOnigString:o=>t.createString(o)},a.forEach(o=>this.addLanguage(o))}get onigLib(){return this._onigLib}getLangRegistration(t){return this._langs.get(t)}loadGrammar(t){return this._scopeToLang.get(t)}addLanguage(t){this._langs.set(t.name,t),t.aliases&&t.aliases.forEach(a=>{this._langs.set(a,t)}),this._scopeToLang.set(t.scopeName,t),t.injectTo&&t.injectTo.forEach(a=>{this._injections.get(a)||this._injections.set(a,[]),this._injections.get(a).push(t.scopeName)})}getInjections(t){let a=t.split("."),o=[];for(let r=1;r<=a.length;r++){let n=a.slice(0,r).join(".");o=[...o,...this._injections.get(n)||[]]}return o}},ma=0;function dm(e){ma+=1,e.warnings!==!1&&ma>=10&&ma%10===0&&console.warn(`[Shiki] ${ma} instances have been created. Shiki is supposed to be used as a singleton, consider refactoring your code to cache your highlighter instance; Or call \`highlighter.dispose()\` to release unused instances.`);let t=!1;if(!e.engine)throw new ot("`engine` option is required for synchronous mode");let a=(e.langs||[]).flat(1),o=(e.themes||[]).flat(1).map(Cr),r=new pr(e.engine,a),n=new fr(r,o,a,e.langAlias),s;function i(C){return ll(C,e.langAlias)}function l(C){S();let k=n.getGrammar(typeof C=="string"?C:C.name);if(!k)throw new ot(`Language \`${C}\` not found, you may need to load it first`);return k}function u(C){if(C==="none")return{bg:"",fg:"",name:"none",settings:[],type:"dark"};S();let k=n.getTheme(C);if(!k)throw new ot(`Theme \`${C}\` not found, you may need to load it first`);return k}function c(C){S();let k=u(C);s!==C&&(n.setTheme(k),s=C);let T=n.getColorMap();return{theme:k,colorMap:T}}function d(){return S(),n.getLoadedThemes()}function p(){return S(),n.getLoadedLanguages()}function m(...C){S(),n.loadLanguages(C.flat(1))}async function h(...C){return m(await sl(C))}function I(...C){S();for(let k of C.flat(1))n.loadTheme(k)}async function x(...C){return S(),I(await il(C))}function S(){if(t)throw new ot("Shiki instance has been disposed")}function L(){t||(t=!0,n.dispose(),ma-=1)}return{setTheme:c,getTheme:u,getLanguage:l,getLoadedThemes:d,getLoadedLanguages:p,resolveLangAlias:i,loadLanguage:h,loadLanguageSync:m,loadTheme:x,loadThemeSync:I,dispose:L,[Symbol.dispose]:L}}async function cm(e){e.engine||um("`engine` option is required. Use `createOnigurumaEngine` or `createJavaScriptRegexEngine` to create an engine.");let[t,a,o]=await Promise.all([il(e.themes||[]),sl(e.langs||[]),e.engine]);return dm({...e,themes:t,langs:a,engine:o})}async function fm(e){let t=await cm(e);return{getLastGrammarState:(...a)=>Kp(t,...a),codeToTokensBase:(a,o)=>wr(t,a,o),codeToTokensWithThemes:(a,o)=>nl(t,a,o),codeToTokens:(a,o)=>ao(t,a,o),codeToHast:(a,o)=>oo(t,a,o),codeToHtml:(a,o)=>im(t,a,o),getBundledLanguages:()=>({}),getBundledThemes:()=>({}),...t,getInternalContext:()=>t}}function ul(e){let t=e.langs,a=e.themes,o=e.engine;async function r(n){function s(d){if(typeof d=="string"){if(d=n.langAlias?.[d]||d,Zi(d))return[];let p=t[d];if(!p)throw new oe(`Language \`${d}\` is not included in this bundle. You may want to load it from external source.`);return p}return d}function i(d){if(el(d))return"none";if(typeof d=="string"){let p=a[d];if(!p)throw new oe(`Theme \`${d}\` is not included in this bundle. You may want to load it from external source.`);return p}return d}let l=(n.themes??[]).map(d=>i(d)),u=(n.langs??[]).map(d=>s(d)),c=await fm({engine:n.engine??o(),...n,themes:l,langs:u});return{...c,loadLanguage(...d){return c.loadLanguage(...d.map(s))},loadTheme(...d){return c.loadTheme(...d.map(i))},getBundledLanguages(){return t},getBundledThemes(){return a}}}return r}function pm(e){let t;async function a(o={}){if(t){let r=await t;return await Promise.all([r.loadTheme(...o.themes||[]),r.loadLanguage(...o.langs||[])]),r}else{t=e({...o,themes:[],langs:[]});let r=await t;return await Promise.all([r.loadTheme(...o.themes||[]),r.loadLanguage(...o.langs||[])]),r}}return a}function dl(e,t){let a=pm(e);async function o(r,n){let s=await a({langs:[n.lang],themes:"theme"in n?[n.theme]:Object.values(n.themes)}),i=await t?.guessEmbeddedLanguages?.(r,n.lang,s);return i&&await s.loadLanguage(...i),s}return{getSingletonHighlighter(r){return a(r)},async codeToHtml(r,n){return(await o(r,n)).codeToHtml(r,n)},async codeToHast(r,n){return(await o(r,n)).codeToHast(r,n)},async codeToTokens(r,n){return(await o(r,n)).codeToTokens(r,n)},async codeToTokensBase(r,n){return(await o(r,n)).codeToTokensBase(r,n)},async codeToTokensWithThemes(r,n){return(await o(r,n)).codeToTokensWithThemes(r,n)},async getLastGrammarState(r,n){return(await a({langs:[n.lang],themes:[n.theme]})).getLastGrammarState(r,n)}}}f();var Lr=[{id:"abap",name:"ABAP",import:(()=>import("../abap-3IAGZ3PS.js"))},{id:"actionscript-3",name:"ActionScript",import:(()=>import("../actionscript-3-C46RIPM4.js"))},{id:"ada",name:"Ada",import:(()=>import("../ada-DNTYS66P.js"))},{id:"angular-html",name:"Angular HTML",import:(()=>import("../angular-html-GK625GFM.js"))},{id:"angular-ts",name:"Angular TypeScript",import:(()=>import("../angular-ts-BBPQXDS2.js"))},{id:"apache",name:"Apache Conf",import:(()=>import("../apache-DU26FTNI.js"))},{id:"apex",name:"Apex",import:(()=>import("../apex-OU63AG2P.js"))},{id:"apl",name:"APL",import:(()=>import("../apl-JGB4KP74.js"))},{id:"applescript",name:"AppleScript",import:(()=>import("../applescript-TT4XSRXH.js"))},{id:"ara",name:"Ara",import:(()=>import("../ara-Q7AJDKA4.js"))},{id:"asciidoc",name:"AsciiDoc",aliases:["adoc"],import:(()=>import("../asciidoc-WADBFJPS.js"))},{id:"asm",name:"Assembly",import:(()=>import("../asm-D3LJR7GV.js"))},{id:"astro",name:"Astro",import:(()=>import("../astro-K7JGTCPV.js"))},{id:"awk",name:"AWK",import:(()=>import("../awk-DCAM52A7.js"))},{id:"ballerina",name:"Ballerina",import:(()=>import("../ballerina-44XARFEK.js"))},{id:"bat",name:"Batch File",aliases:["batch"],import:(()=>import("../bat-WM4RL2AB.js"))},{id:"beancount",name:"Beancount",import:(()=>import("../beancount-5PUWGPVT.js"))},{id:"berry",name:"Berry",aliases:["be"],import:(()=>import("../berry-YAK4XTWX.js"))},{id:"bibtex",name:"BibTeX",import:(()=>import("../bibtex-2ISWNMJJ.js"))},{id:"bicep",name:"Bicep",import:(()=>import("../bicep-EOACOM4G.js"))},{id:"blade",name:"Blade",import:(()=>import("../blade-RWJJQSLU.js"))},{id:"bsl",name:"1C (Enterprise)",aliases:["1c"],import:(()=>import("../bsl-TNLQPNE3.js"))},{id:"c",name:"C",import:(()=>import("../c-G7V525MX.js"))},{id:"c3",name:"C3",import:(()=>import("../c3-CDQIRWGP.js"))},{id:"cadence",name:"Cadence",aliases:["cdc"],import:(()=>import("../cadence-U32GKKTR.js"))},{id:"cairo",name:"Cairo",import:(()=>import("../cairo-26RR6N4F.js"))},{id:"clarity",name:"Clarity",import:(()=>import("../clarity-4JIHRN2V.js"))},{id:"clojure",name:"Clojure",aliases:["clj"],import:(()=>import("../clojure-PKTTXYYS.js"))},{id:"cmake",name:"CMake",import:(()=>import("../cmake-HXKHWGGH.js"))},{id:"cobol",name:"COBOL",import:(()=>import("../cobol-ZFZ6ZP6X.js"))},{id:"codeowners",name:"CODEOWNERS",import:(()=>import("../codeowners-WCXRHQ2R.js"))},{id:"codeql",name:"CodeQL",aliases:["ql"],import:(()=>import("../codeql-XZZ2USHF.js"))},{id:"coffee",name:"CoffeeScript",aliases:["coffeescript"],import:(()=>import("../coffee-SGQWHBUL.js"))},{id:"common-lisp",name:"Common Lisp",aliases:["lisp"],import:(()=>import("../common-lisp-IK3DGBCK.js"))},{id:"coq",name:"Coq",import:(()=>import("../coq-UPTUVPLH.js"))},{id:"cpp",name:"C++",aliases:["c++"],import:(()=>import("../cpp-HLYUQ6RF.js"))},{id:"crystal",name:"Crystal",import:(()=>import("../crystal-UPNOBGN4.js"))},{id:"csharp",name:"C#",aliases:["c#","cs"],import:(()=>import("../csharp-6EXQ7B24.js"))},{id:"css",name:"CSS",import:(()=>import("../css-MH4LSMNV.js"))},{id:"csv",name:"CSV",import:(()=>import("../csv-CRTD5FOL.js"))},{id:"cue",name:"CUE",import:(()=>import("../cue-IFMTDLM2.js"))},{id:"cypher",name:"Cypher",aliases:["cql"],import:(()=>import("../cypher-WH7754G7.js"))},{id:"d",name:"D",import:(()=>import("../d-VFMGCSG3.js"))},{id:"dart",name:"Dart",import:(()=>import("../dart-CSERBUPM.js"))},{id:"dax",name:"DAX",import:(()=>import("../dax-Y4DTPR3K.js"))},{id:"desktop",name:"Desktop",import:(()=>import("../desktop-UYAYGPQT.js"))},{id:"diff",name:"Diff",import:(()=>import("../diff-BJDM3N45.js"))},{id:"docker",name:"Dockerfile",aliases:["dockerfile"],import:(()=>import("../docker-UOM4Q7PD.js"))},{id:"dotenv",name:"dotEnv",import:(()=>import("../dotenv-LK44WBD3.js"))},{id:"dream-maker",name:"Dream Maker",import:(()=>import("../dream-maker-7RP4JRQH.js"))},{id:"edge",name:"Edge",import:(()=>import("../edge-XE5XFLFP.js"))},{id:"elixir",name:"Elixir",import:(()=>import("../elixir-EXRA4QJX.js"))},{id:"elm",name:"Elm",import:(()=>import("../elm-THYL2NRS.js"))},{id:"emacs-lisp",name:"Emacs Lisp",aliases:["elisp"],import:(()=>import("../emacs-lisp-YHLQYGNI.js"))},{id:"erb",name:"ERB",import:(()=>import("../erb-LRUOJBTB.js"))},{id:"erlang",name:"Erlang",aliases:["erl"],import:(()=>import("../erlang-UNX5MMGA.js"))},{id:"fennel",name:"Fennel",import:(()=>import("../fennel-HYSSBG3N.js"))},{id:"fish",name:"Fish",import:(()=>import("../fish-PTKGQOJI.js"))},{id:"fluent",name:"Fluent",aliases:["ftl"],import:(()=>import("../fluent-LEZHPPJV.js"))},{id:"fortran-fixed-form",name:"Fortran (Fixed Form)",aliases:["f","for","f77"],import:(()=>import("../fortran-fixed-form-J5AMEFMB.js"))},{id:"fortran-free-form",name:"Fortran (Free Form)",aliases:["f90","f95","f03","f08","f18"],import:(()=>import("../fortran-free-form-S3BNTBLS.js"))},{id:"fsharp",name:"F#",aliases:["f#","fs"],import:(()=>import("../fsharp-H4OIW62Z.js"))},{id:"gdresource",name:"GDResource",aliases:["tscn","tres"],import:(()=>import("../gdresource-A6NTYFLM.js"))},{id:"gdscript",name:"GDScript",aliases:["gd"],import:(()=>import("../gdscript-YQUSJRNZ.js"))},{id:"gdshader",name:"GDShader",import:(()=>import("../gdshader-S5432GFE.js"))},{id:"genie",name:"Genie",import:(()=>import("../genie-RNVG5N7L.js"))},{id:"gherkin",name:"Gherkin",import:(()=>import("../gherkin-E5R62T6O.js"))},{id:"git-commit",name:"Git Commit Message",import:(()=>import("../git-commit-QGH6XOBG.js"))},{id:"git-rebase",name:"Git Rebase Message",import:(()=>import("../git-rebase-XTCZTXU4.js"))},{id:"gleam",name:"Gleam",import:(()=>import("../gleam-W5WZ7CST.js"))},{id:"glimmer-js",name:"Glimmer JS",aliases:["gjs"],import:(()=>import("../glimmer-js-JA25I4AE.js"))},{id:"glimmer-ts",name:"Glimmer TS",aliases:["gts"],import:(()=>import("../glimmer-ts-CKELYRRF.js"))},{id:"glsl",name:"GLSL",import:(()=>import("../glsl-PVW2OPUD.js"))},{id:"gn",name:"GN",import:(()=>import("../gn-FCAO7WI5.js"))},{id:"gnuplot",name:"Gnuplot",import:(()=>import("../gnuplot-Q6SE5CHZ.js"))},{id:"go",name:"Go",import:(()=>import("../go-CPCZAAWX.js"))},{id:"graphql",name:"GraphQL",aliases:["gql"],import:(()=>import("../graphql-UN5O7U5U.js"))},{id:"groovy",name:"Groovy",import:(()=>import("../groovy-PJAEBBJY.js"))},{id:"hack",name:"Hack",import:(()=>import("../hack-QIUJFE3G.js"))},{id:"haml",name:"Ruby Haml",import:(()=>import("../haml-JQIESO7E.js"))},{id:"handlebars",name:"Handlebars",aliases:["hbs"],import:(()=>import("../handlebars-UBV5AWUH.js"))},{id:"haskell",name:"Haskell",aliases:["hs"],import:(()=>import("../haskell-NX6XRMNO.js"))},{id:"haxe",name:"Haxe",import:(()=>import("../haxe-7YNB7FVC.js"))},{id:"hcl",name:"HashiCorp HCL",import:(()=>import("../hcl-ZF75ASCX.js"))},{id:"hjson",name:"Hjson",import:(()=>import("../hjson-65TX6QOC.js"))},{id:"hlsl",name:"HLSL",import:(()=>import("../hlsl-U2O526MI.js"))},{id:"html",name:"HTML",import:(()=>import("../html-AWDHWPK7.js"))},{id:"html-derivative",name:"HTML (Derivative)",import:(()=>import("../html-derivative-QY3ZIV7G.js"))},{id:"http",name:"HTTP",import:(()=>import("../http-KIGXJYY6.js"))},{id:"hurl",name:"Hurl",import:(()=>import("../hurl-BZB5LDD5.js"))},{id:"hxml",name:"HXML",import:(()=>import("../hxml-IGTXIURH.js"))},{id:"hy",name:"Hy",import:(()=>import("../hy-CLDGXJYP.js"))},{id:"imba",name:"Imba",import:(()=>import("../imba-NWHLCVE5.js"))},{id:"ini",name:"INI",aliases:["properties"],import:(()=>import("../ini-R6WYP7NC.js"))},{id:"java",name:"Java",import:(()=>import("../java-DHBXDMBM.js"))},{id:"javascript",name:"JavaScript",aliases:["js","cjs","mjs"],import:(()=>import("../javascript-GNUEDNHO.js"))},{id:"jinja",name:"Jinja",import:(()=>import("../jinja-AEVQQKWS.js"))},{id:"jison",name:"Jison",import:(()=>import("../jison-64A6IJCV.js"))},{id:"json",name:"JSON",import:(()=>import("../json-2ELCHKXT.js"))},{id:"json5",name:"JSON5",import:(()=>import("../json5-QRH5UJYD.js"))},{id:"jsonc",name:"JSON with Comments",import:(()=>import("../jsonc-IXPVR4NY.js"))},{id:"jsonl",name:"JSON Lines",import:(()=>import("../jsonl-C57GMUK5.js"))},{id:"jsonnet",name:"Jsonnet",import:(()=>import("../jsonnet-VNADFLKI.js"))},{id:"jssm",name:"JSSM",aliases:["fsl"],import:(()=>import("../jssm-CW4ZYDSF.js"))},{id:"jsx",name:"JSX",import:(()=>import("../jsx-YTENXENT.js"))},{id:"julia",name:"Julia",aliases:["jl"],import:(()=>import("../julia-75QR2XDN.js"))},{id:"kdl",name:"KDL",import:(()=>import("../kdl-X3AS2HRT.js"))},{id:"kotlin",name:"Kotlin",aliases:["kt","kts"],import:(()=>import("../kotlin-WGITM75W.js"))},{id:"kusto",name:"Kusto",aliases:["kql"],import:(()=>import("../kusto-LT46F7AO.js"))},{id:"latex",name:"LaTeX",import:(()=>import("../latex-R4PJ7JDY.js"))},{id:"lean",name:"Lean 4",aliases:["lean4"],import:(()=>import("../lean-DYWOENAS.js"))},{id:"less",name:"Less",import:(()=>import("../less-ZYJT7MPU.js"))},{id:"liquid",name:"Liquid",import:(()=>import("../liquid-S4LVU77Y.js"))},{id:"llvm",name:"LLVM IR",import:(()=>import("../llvm-WBQ7MHV7.js"))},{id:"log",name:"Log file",import:(()=>import("../log-AXKDFD3L.js"))},{id:"logo",name:"Logo",import:(()=>import("../logo-E23LAFZY.js"))},{id:"lua",name:"Lua",import:(()=>import("../lua-QQ5QEPPO.js"))},{id:"luau",name:"Luau",import:(()=>import("../luau-D432BEB5.js"))},{id:"make",name:"Makefile",aliases:["makefile"],import:(()=>import("../make-QFMWQJMG.js"))},{id:"markdown",name:"Markdown",aliases:["md"],import:(()=>import("../markdown-D756RUOP.js"))},{id:"marko",name:"Marko",import:(()=>import("../marko-WVASNOGB.js"))},{id:"matlab",name:"MATLAB",import:(()=>import("../matlab-ZKZ7YBAH.js"))},{id:"mdc",name:"MDC",import:(()=>import("../mdc-NDTDGSIG.js"))},{id:"mdx",name:"MDX",import:(()=>import("../mdx-34BL2O4O.js"))},{id:"mermaid",name:"Mermaid",aliases:["mmd"],import:(()=>import("../mermaid-54Z3SAII.js"))},{id:"mipsasm",name:"MIPS Assembly",aliases:["mips"],import:(()=>import("../mipsasm-NKQWJEL7.js"))},{id:"mojo",name:"Mojo",import:(()=>import("../mojo-KRRNBH7O.js"))},{id:"moonbit",name:"MoonBit",aliases:["mbt","mbti"],import:(()=>import("../moonbit-LQ7JL5LZ.js"))},{id:"move",name:"Move",import:(()=>import("../move-4VWCI4YQ.js"))},{id:"narrat",name:"Narrat Language",aliases:["nar"],import:(()=>import("../narrat-4QSDQDLH.js"))},{id:"nextflow",name:"Nextflow",aliases:["nf"],import:(()=>import("../nextflow-DPCEWQNZ.js"))},{id:"nginx",name:"Nginx",import:(()=>import("../nginx-DXHAXQRH.js"))},{id:"nim",name:"Nim",import:(()=>import("../nim-Z6EEJ7SX.js"))},{id:"nix",name:"Nix",import:(()=>import("../nix-WAYR4BYU.js"))},{id:"nushell",name:"nushell",aliases:["nu"],import:(()=>import("../nushell-26KZW4VL.js"))},{id:"objective-c",name:"Objective-C",aliases:["objc"],import:(()=>import("../objective-c-246HWLKT.js"))},{id:"objective-cpp",name:"Objective-C++",import:(()=>import("../objective-cpp-RJUXXPYQ.js"))},{id:"ocaml",name:"OCaml",import:(()=>import("../ocaml-P7NGS7PR.js"))},{id:"odin",name:"Odin",import:(()=>import("../odin-UPPZCJGN.js"))},{id:"openscad",name:"OpenSCAD",aliases:["scad"],import:(()=>import("../openscad-JRK6K3FL.js"))},{id:"pascal",name:"Pascal",import:(()=>import("../pascal-RDFLUHHA.js"))},{id:"perl",name:"Perl",import:(()=>import("../perl-5IQEFQG3.js"))},{id:"php",name:"PHP",import:(()=>import("../php-UQGWKJAF.js"))},{id:"pkl",name:"Pkl",import:(()=>import("../pkl-PAM76VXP.js"))},{id:"plsql",name:"PL/SQL",import:(()=>import("../plsql-3Y6UMFEG.js"))},{id:"po",name:"Gettext PO",aliases:["pot","potx"],import:(()=>import("../po-GNTAKCTE.js"))},{id:"polar",name:"Polar",import:(()=>import("../polar-EVTMRLGV.js"))},{id:"postcss",name:"PostCSS",import:(()=>import("../postcss-42343LW7.js"))},{id:"powerquery",name:"PowerQuery",import:(()=>import("../powerquery-M34PNR4X.js"))},{id:"powershell",name:"PowerShell",aliases:["ps","ps1"],import:(()=>import("../powershell-IR7ICFQW.js"))},{id:"prisma",name:"Prisma",import:(()=>import("../prisma-RXSIFLZX.js"))},{id:"prolog",name:"Prolog",import:(()=>import("../prolog-YBBQ4UD5.js"))},{id:"proto",name:"Protocol Buffer 3",aliases:["protobuf"],import:(()=>import("../proto-U4FF45G6.js"))},{id:"pug",name:"Pug",aliases:["jade"],import:(()=>import("../pug-XHTBJJNO.js"))},{id:"puppet",name:"Puppet",import:(()=>import("../puppet-HWOKIYJP.js"))},{id:"purescript",name:"PureScript",import:(()=>import("../purescript-D45AJS5J.js"))},{id:"python",name:"Python",aliases:["py"],import:(()=>import("../python-QWA7UE2I.js"))},{id:"qml",name:"QML",import:(()=>import("../qml-RHCWFR3S.js"))},{id:"qmldir",name:"QML Directory",import:(()=>import("../qmldir-FBDC3XMZ.js"))},{id:"qss",name:"Qt Style Sheets",import:(()=>import("../qss-AD3WZQ45.js"))},{id:"r",name:"R",import:(()=>import("../r-NHIAHDOD.js"))},{id:"racket",name:"Racket",import:(()=>import("../racket-7G65C5N5.js"))},{id:"raku",name:"Raku",aliases:["perl6"],import:(()=>import("../raku-IWS7BLGD.js"))},{id:"razor",name:"ASP.NET Razor",import:(()=>import("../razor-UMC4HKIF.js"))},{id:"reg",name:"Windows Registry Script",import:(()=>import("../reg-V4XLWESR.js"))},{id:"regexp",name:"RegExp",aliases:["regex"],import:(()=>import("../regexp-XP4MR635.js"))},{id:"rel",name:"Rel",import:(()=>import("../rel-DE6UXATM.js"))},{id:"riscv",name:"RISC-V",import:(()=>import("../riscv-5PDXBPPL.js"))},{id:"ron",name:"RON",import:(()=>import("../ron-WD6BJFDY.js"))},{id:"rosmsg",name:"ROS Interface",import:(()=>import("../rosmsg-7LDUCZRQ.js"))},{id:"rst",name:"reStructuredText",import:(()=>import("../rst-HCGHBPBZ.js"))},{id:"ruby",name:"Ruby",aliases:["rb"],import:(()=>import("../ruby-ML25RVXY.js"))},{id:"rust",name:"Rust",aliases:["rs"],import:(()=>import("../rust-Z2NYMT2Z.js"))},{id:"sas",name:"SAS",import:(()=>import("../sas-A4JCTK6H.js"))},{id:"sass",name:"Sass",import:(()=>import("../sass-75VDP7DE.js"))},{id:"scala",name:"Scala",import:(()=>import("../scala-7TJ4N6KC.js"))},{id:"scheme",name:"Scheme",import:(()=>import("../scheme-5XARZMKT.js"))},{id:"scss",name:"SCSS",import:(()=>import("../scss-4QR2BXFS.js"))},{id:"sdbl",name:"1C (Query)",aliases:["1c-query"],import:(()=>import("../sdbl-6M55AJVA.js"))},{id:"shaderlab",name:"ShaderLab",aliases:["shader"],import:(()=>import("../shaderlab-322XNY5V.js"))},{id:"shellscript",name:"Shell",aliases:["bash","sh","shell","zsh"],import:(()=>import("../shellscript-F23VVVTW.js"))},{id:"shellsession",name:"Shell Session",aliases:["console"],import:(()=>import("../shellsession-G65XJMCC.js"))},{id:"smalltalk",name:"Smalltalk",import:(()=>import("../smalltalk-LALIO5SC.js"))},{id:"solidity",name:"Solidity",import:(()=>import("../solidity-TQUKTJZZ.js"))},{id:"soy",name:"Closure Templates",aliases:["closure-templates"],import:(()=>import("../soy-ALTWCQTO.js"))},{id:"sparql",name:"SPARQL",import:(()=>import("../sparql-ARI3MVK7.js"))},{id:"splunk",name:"Splunk Query Language",aliases:["spl"],import:(()=>import("../splunk-QEFG3NPJ.js"))},{id:"sql",name:"SQL",import:(()=>import("../sql-SBP7VV3V.js"))},{id:"ssh-config",name:"SSH Config",import:(()=>import("../ssh-config-SC6RC6IV.js"))},{id:"stata",name:"Stata",import:(()=>import("../stata-MNI5YOQU.js"))},{id:"stylus",name:"Stylus",aliases:["styl"],import:(()=>import("../stylus-YYWEHAK3.js"))},{id:"surrealql",name:"SurrealQL",aliases:["surql"],import:(()=>import("../surrealql-5X7LI3J6.js"))},{id:"svelte",name:"Svelte",import:(()=>import("../svelte-6TT7H4YP.js"))},{id:"swift",name:"Swift",import:(()=>import("../swift-JEBLU4EM.js"))},{id:"system-verilog",name:"SystemVerilog",import:(()=>import("../system-verilog-46QRSGNM.js"))},{id:"systemd",name:"Systemd Units",import:(()=>import("../systemd-3PUVCSI7.js"))},{id:"talonscript",name:"TalonScript",aliases:["talon"],import:(()=>import("../talonscript-AK4LB3KC.js"))},{id:"tasl",name:"Tasl",import:(()=>import("../tasl-VHTYBUVI.js"))},{id:"tcl",name:"Tcl",import:(()=>import("../tcl-UUMKHRHL.js"))},{id:"templ",name:"Templ",import:(()=>import("../templ-WN3SJLUV.js"))},{id:"terraform",name:"Terraform",aliases:["tf","tfvars"],import:(()=>import("../terraform-GCGIT2RL.js"))},{id:"tex",name:"TeX",import:(()=>import("../tex-L55DZDKV.js"))},{id:"toml",name:"TOML",import:(()=>import("../toml-7AH4HFBN.js"))},{id:"ts-tags",name:"TypeScript with Tags",aliases:["lit"],import:(()=>import("../ts-tags-NAJDOQCO.js"))},{id:"tsv",name:"TSV",import:(()=>import("../tsv-EB3LRXYX.js"))},{id:"tsx",name:"TSX",import:(()=>import("../tsx-Y5YXGNIX.js"))},{id:"turtle",name:"Turtle",import:(()=>import("../turtle-KM6UGYIQ.js"))},{id:"twig",name:"Twig",import:(()=>import("../twig-GIY7NVAA.js"))},{id:"typescript",name:"TypeScript",aliases:["ts","cts","mts"],import:(()=>import("../typescript-ZF5AMNEZ.js"))},{id:"typespec",name:"TypeSpec",aliases:["tsp"],import:(()=>import("../typespec-6JSRRA42.js"))},{id:"typst",name:"Typst",aliases:["typ"],import:(()=>import("../typst-ZOSAUKL5.js"))},{id:"v",name:"V",import:(()=>import("../v-HVLBO3DI.js"))},{id:"vala",name:"Vala",import:(()=>import("../vala-WWRVCJNF.js"))},{id:"vb",name:"Visual Basic",aliases:["cmd"],import:(()=>import("../vb-XFFF4O73.js"))},{id:"verilog",name:"Verilog",import:(()=>import("../verilog-XTDPJNP7.js"))},{id:"vhdl",name:"VHDL",import:(()=>import("../vhdl-OCZJ2AOZ.js"))},{id:"viml",name:"Vim Script",aliases:["vim","vimscript"],import:(()=>import("../viml-PVA3ZJ5L.js"))},{id:"vue",name:"Vue",import:(()=>import("../vue-V6GLJNYA.js"))},{id:"vue-html",name:"Vue HTML",import:(()=>import("../vue-html-G4DE7FYD.js"))},{id:"vue-vine",name:"Vue Vine",import:(()=>import("../vue-vine-KB45C76H.js"))},{id:"vyper",name:"Vyper",aliases:["vy"],import:(()=>import("../vyper-SBDFKHRI.js"))},{id:"wasm",name:"WebAssembly",import:(()=>import("../wasm-SXNE4SKX.js"))},{id:"wenyan",name:"Wenyan",aliases:["\u6587\u8A00"],import:(()=>import("../wenyan-PMSCJP7P.js"))},{id:"wgsl",name:"WGSL",import:(()=>import("../wgsl-DOXQU7M4.js"))},{id:"wikitext",name:"Wikitext",aliases:["mediawiki","wiki"],import:(()=>import("../wikitext-LGNEKWDX.js"))},{id:"wit",name:"WebAssembly Interface Types",import:(()=>import("../wit-G62U2KBE.js"))},{id:"wolfram",name:"Wolfram",aliases:["wl"],import:(()=>import("../wolfram-YTZHUYN6.js"))},{id:"xml",name:"XML",import:(()=>import("../xml-WGLM4CWK.js"))},{id:"xsl",name:"XSL",import:(()=>import("../xsl-KAAH2GEK.js"))},{id:"yaml",name:"YAML",aliases:["yml"],import:(()=>import("../yaml-JGEBDSVI.js"))},{id:"zenscript",name:"ZenScript",import:(()=>import("../zenscript-QQQPZNJ7.js"))},{id:"zig",name:"Zig",import:(()=>import("../zig-6LJUAPBA.js"))}],cl=Object.fromEntries(Lr.map(e=>[e.id,e.import])),fl=Object.fromEntries(Lr.flatMap(e=>e.aliases?.map(t=>[t,e.import])||[])),ga={...cl,...fl};f();var mm=[{id:"andromeeda",displayName:"Andromeeda",type:"dark",import:(()=>import("../andromeeda-XSK3JERF.js"))},{id:"aurora-x",displayName:"Aurora X",type:"dark",import:(()=>import("../aurora-x-CGSVHL4H.js"))},{id:"ayu-dark",displayName:"Ayu Dark",type:"dark",import:(()=>import("../ayu-dark-XYI57HMC.js"))},{id:"ayu-light",displayName:"Ayu Light",type:"light",import:(()=>import("../ayu-light-4PSGMDIC.js"))},{id:"ayu-mirage",displayName:"Ayu Mirage",type:"dark",import:(()=>import("../ayu-mirage-DU5SNMZX.js"))},{id:"catppuccin-frappe",displayName:"Catppuccin Frapp\xE9",type:"dark",import:(()=>import("../catppuccin-frappe-UZ4N3Z4I.js"))},{id:"catppuccin-latte",displayName:"Catppuccin Latte",type:"light",import:(()=>import("../catppuccin-latte-GCOWYLZG.js"))},{id:"catppuccin-macchiato",displayName:"Catppuccin Macchiato",type:"dark",import:(()=>import("../catppuccin-macchiato-PJD7W5WJ.js"))},{id:"catppuccin-mocha",displayName:"Catppuccin Mocha",type:"dark",import:(()=>import("../catppuccin-mocha-RRH4FOBS.js"))},{id:"dark-plus",displayName:"Dark Plus",type:"dark",import:(()=>import("../dark-plus-PSM5XP2I.js"))},{id:"dracula",displayName:"Dracula Theme",type:"dark",import:(()=>import("../dracula-2VHT5LK5.js"))},{id:"dracula-soft",displayName:"Dracula Theme Soft",type:"dark",import:(()=>import("../dracula-soft-MSCUO73T.js"))},{id:"everforest-dark",displayName:"Everforest Dark",type:"dark",import:(()=>import("../everforest-dark-AGVJEQ35.js"))},{id:"everforest-light",displayName:"Everforest Light",type:"light",import:(()=>import("../everforest-light-62GPFKVJ.js"))},{id:"github-dark",displayName:"GitHub Dark",type:"dark",import:(()=>import("../github-dark-5OJVMBCE.js"))},{id:"github-dark-default",displayName:"GitHub Dark Default",type:"dark",import:(()=>import("../github-dark-default-4WERFSZW.js"))},{id:"github-dark-dimmed",displayName:"GitHub Dark Dimmed",type:"dark",import:(()=>import("../github-dark-dimmed-7VD3SZKC.js"))},{id:"github-dark-high-contrast",displayName:"GitHub Dark High Contrast",type:"dark",import:(()=>import("../github-dark-high-contrast-FVMMS656.js"))},{id:"github-light",displayName:"GitHub Light",type:"light",import:(()=>import("../github-light-SE4LEKO7.js"))},{id:"github-light-default",displayName:"GitHub Light Default",type:"light",import:(()=>import("../github-light-default-TV7BYQGI.js"))},{id:"github-light-high-contrast",displayName:"GitHub Light High Contrast",type:"light",import:(()=>import("../github-light-high-contrast-WKO4I3G7.js"))},{id:"gruvbox-dark-hard",displayName:"Gruvbox Dark Hard",type:"dark",import:(()=>import("../gruvbox-dark-hard-LOYZQIGI.js"))},{id:"gruvbox-dark-medium",displayName:"Gruvbox Dark Medium",type:"dark",import:(()=>import("../gruvbox-dark-medium-UIMSJJ6K.js"))},{id:"gruvbox-dark-soft",displayName:"Gruvbox Dark Soft",type:"dark",import:(()=>import("../gruvbox-dark-soft-PU6RNTTO.js"))},{id:"gruvbox-light-hard",displayName:"Gruvbox Light Hard",type:"light",import:(()=>import("../gruvbox-light-hard-ZQJ7XSZF.js"))},{id:"gruvbox-light-medium",displayName:"Gruvbox Light Medium",type:"light",import:(()=>import("../gruvbox-light-medium-CD3ZGYV6.js"))},{id:"gruvbox-light-soft",displayName:"Gruvbox Light Soft",type:"light",import:(()=>import("../gruvbox-light-soft-S74MAGOM.js"))},{id:"horizon",displayName:"Horizon",type:"dark",import:(()=>import("../horizon-EAAZ4KVN.js"))},{id:"houston",displayName:"Houston",type:"dark",import:(()=>import("../houston-UNRWGR67.js"))},{id:"kanagawa-dragon",displayName:"Kanagawa Dragon",type:"dark",import:(()=>import("../kanagawa-dragon-BOSCCB42.js"))},{id:"kanagawa-lotus",displayName:"Kanagawa Lotus",type:"light",import:(()=>import("../kanagawa-lotus-NXMB2IVI.js"))},{id:"kanagawa-wave",displayName:"Kanagawa Wave",type:"dark",import:(()=>import("../kanagawa-wave-YOHS63UF.js"))},{id:"laserwave",displayName:"LaserWave",type:"dark",import:(()=>import("../laserwave-TS4AG4VO.js"))},{id:"light-plus",displayName:"Light Plus",type:"light",import:(()=>import("../light-plus-2HYW3NJ6.js"))},{id:"material-theme",displayName:"Material Theme",type:"dark",import:(()=>import("../material-theme-KPDVFAGV.js"))},{id:"material-theme-darker",displayName:"Material Theme Darker",type:"dark",import:(()=>import("../material-theme-darker-GVSTMSNT.js"))},{id:"material-theme-lighter",displayName:"Material Theme Lighter",type:"light",import:(()=>import("../material-theme-lighter-JWZNUXUH.js"))},{id:"material-theme-ocean",displayName:"Material Theme Ocean",type:"dark",import:(()=>import("../material-theme-ocean-MU4N3XNQ.js"))},{id:"material-theme-palenight",displayName:"Material Theme Palenight",type:"dark",import:(()=>import("../material-theme-palenight-VMWD73WM.js"))},{id:"min-dark",displayName:"Min Dark",type:"dark",import:(()=>import("../min-dark-ASEVSA24.js"))},{id:"min-light",displayName:"Min Light",type:"light",import:(()=>import("../min-light-3H54BB3D.js"))},{id:"monokai",displayName:"Monokai",type:"dark",import:(()=>import("../monokai-5QWQOFN6.js"))},{id:"night-owl",displayName:"Night Owl",type:"dark",import:(()=>import("../night-owl-4QQBS2UX.js"))},{id:"night-owl-light",displayName:"Night Owl Light",type:"light",import:(()=>import("../night-owl-light-HR6A2OQO.js"))},{id:"nord",displayName:"Nord",type:"dark",import:(()=>import("../nord-XK3AUNCF.js"))},{id:"one-dark-pro",displayName:"One Dark Pro",type:"dark",import:(()=>import("../one-dark-pro-ZV7CEA5M.js"))},{id:"one-light",displayName:"One Light",type:"light",import:(()=>import("../one-light-FKZJCKM6.js"))},{id:"plastic",displayName:"Plastic",type:"dark",import:(()=>import("../plastic-SXCQPKYC.js"))},{id:"poimandres",displayName:"Poimandres",type:"dark",import:(()=>import("../poimandres-S3UYVG4O.js"))},{id:"red",displayName:"Red",type:"dark",import:(()=>import("../red-A6OC2HVL.js"))},{id:"rose-pine",displayName:"Ros\xE9 Pine",type:"dark",import:(()=>import("../rose-pine-GLWOWPBK.js"))},{id:"rose-pine-dawn",displayName:"Ros\xE9 Pine Dawn",type:"light",import:(()=>import("../rose-pine-dawn-HYE6T7LV.js"))},{id:"rose-pine-moon",displayName:"Ros\xE9 Pine Moon",type:"dark",import:(()=>import("../rose-pine-moon-VHVTDDVO.js"))},{id:"slack-dark",displayName:"Slack Dark",type:"dark",import:(()=>import("../slack-dark-OPW5CYSY.js"))},{id:"slack-ochin",displayName:"Slack Ochin",type:"light",import:(()=>import("../slack-ochin-WTVMYBFH.js"))},{id:"snazzy-light",displayName:"Snazzy Light",type:"light",import:(()=>import("../snazzy-light-5UQ56PC5.js"))},{id:"solarized-dark",displayName:"Solarized Dark",type:"dark",import:(()=>import("../solarized-dark-DSMP6D7D.js"))},{id:"solarized-light",displayName:"Solarized Light",type:"light",import:(()=>import("../solarized-light-3IZTZCIV.js"))},{id:"synthwave-84",displayName:"Synthwave '84",type:"dark",import:(()=>import("../synthwave-84-JWI6CVJZ.js"))},{id:"tokyo-night",displayName:"Tokyo Night",type:"dark",import:(()=>import("../tokyo-night-SRK4SADJ.js"))},{id:"vesper",displayName:"Vesper",type:"dark",import:(()=>import("../vesper-WIZFPFI7.js"))},{id:"vitesse-black",displayName:"Vitesse Black",type:"dark",import:(()=>import("../vitesse-black-PEGI4HJX.js"))},{id:"vitesse-dark",displayName:"Vitesse Dark",type:"dark",import:(()=>import("../vitesse-dark-M2ZAGPXG.js"))},{id:"vitesse-light",displayName:"Vitesse Light",type:"light",import:(()=>import("../vitesse-light-RICZI4IG.js"))}],pl=Object.fromEntries(mm.map(e=>[e.id,e.import]));f();var wa=class extends Error{constructor(t){super(t),this.name="ShikiError"}};function hm(){return 2147483648}function gm(){return typeof performance<"u"?performance.now():Date.now()}var wm=(e,t)=>e+(t-e%t)%t;async function xm(e){let t,a,o={};function r(m){a=m,o.HEAPU8=new Uint8Array(m),o.HEAPU32=new Uint32Array(m)}function n(m,h,I){o.HEAPU8.copyWithin(m,h,h+I)}function s(m){try{return t.grow(m-a.byteLength+65535>>>16),r(t.buffer),1}catch{}}function i(m){let h=o.HEAPU8.length;m=m>>>0;let I=hm();if(m>I)return!1;for(let x=1;x<=4;x*=2){let S=h*(1+.2/x);S=Math.min(S,m+100663296);let L=Math.min(I,wm(Math.max(m,S),65536));if(s(L))return!0}return!1}let l=typeof TextDecoder<"u"?new TextDecoder("utf8"):void 0;function u(m,h,I=1024){let x=h+I,S=h;for(;m[S]&&!(S>=x);)++S;if(S-h>16&&m.buffer&&l)return l.decode(m.subarray(h,S));let L="";for(;h<S;){let C=m[h++];if(!(C&128)){L+=String.fromCharCode(C);continue}let k=m[h++]&63;if((C&224)===192){L+=String.fromCharCode((C&31)<<6|k);continue}let T=m[h++]&63;if((C&240)===224?C=(C&15)<<12|k<<6|T:C=(C&7)<<18|k<<12|T<<6|m[h++]&63,C<65536)L+=String.fromCharCode(C);else{let P=C-65536;L+=String.fromCharCode(55296|P>>10,56320|P&1023)}}return L}function c(m,h){return m?u(o.HEAPU8,m,h):""}let d={emscripten_get_now:gm,emscripten_memcpy_big:n,emscripten_resize_heap:i,fd_write:()=>0};async function p(){let h=await e({env:d,wasi_snapshot_preview1:d});t=h.memory,r(t.buffer),Object.assign(o,h),o.UTF8ToString=c}return await p(),o}var Cm=Object.defineProperty,Lm=(e,t,a)=>t in e?Cm(e,t,{enumerable:!0,configurable:!0,writable:!0,value:a}):e[t]=a,ce=(e,t,a)=>Lm(e,typeof t!="symbol"?t+"":t,a),ge=null;function Im(e){throw new wa(e.UTF8ToString(e.getLastOnigError()))}var io=class e{constructor(t){ce(this,"utf16Length"),ce(this,"utf8Length"),ce(this,"utf16Value"),ce(this,"utf8Value"),ce(this,"utf16OffsetToUtf8"),ce(this,"utf8OffsetToUtf16");let a=t.length,o=e._utf8ByteLength(t),r=o!==a,n=r?new Uint32Array(a+1):null;r&&(n[a]=o);let s=r?new Uint32Array(o+1):null;r&&(s[o]=a);let i=new Uint8Array(o),l=0;for(let u=0;u<a;u++){let c=t.charCodeAt(u),d=c,p=!1;if(c>=55296&&c<=56319&&u+1<a){let m=t.charCodeAt(u+1);m>=56320&&m<=57343&&(d=(c-55296<<10)+65536|m-56320,p=!0)}r&&(n[u]=l,p&&(n[u+1]=l),d<=127?s[l+0]=u:d<=2047?(s[l+0]=u,s[l+1]=u):d<=65535?(s[l+0]=u,s[l+1]=u,s[l+2]=u):(s[l+0]=u,s[l+1]=u,s[l+2]=u,s[l+3]=u)),d<=127?i[l++]=d:d<=2047?(i[l++]=192|(d&1984)>>>6,i[l++]=128|(d&63)>>>0):d<=65535?(i[l++]=224|(d&61440)>>>12,i[l++]=128|(d&4032)>>>6,i[l++]=128|(d&63)>>>0):(i[l++]=240|(d&1835008)>>>18,i[l++]=128|(d&258048)>>>12,i[l++]=128|(d&4032)>>>6,i[l++]=128|(d&63)>>>0),p&&u++}this.utf16Length=a,this.utf8Length=o,this.utf16Value=t,this.utf8Value=i,this.utf16OffsetToUtf8=n,this.utf8OffsetToUtf16=s}static _utf8ByteLength(t){let a=0;for(let o=0,r=t.length;o<r;o++){let n=t.charCodeAt(o),s=n,i=!1;if(n>=55296&&n<=56319&&o+1<r){let l=t.charCodeAt(o+1);l>=56320&&l<=57343&&(s=(n-55296<<10)+65536|l-56320,i=!0)}s<=127?a+=1:s<=2047?a+=2:s<=65535?a+=3:a+=4,i&&o++}return a}createString(t){let a=t.omalloc(this.utf8Length);return t.HEAPU8.set(this.utf8Value,a),a}},lo=class ze{constructor(t){if(ce(this,"id",++ze.LAST_ID),ce(this,"_onigBinding"),ce(this,"content"),ce(this,"utf16Length"),ce(this,"utf8Length"),ce(this,"utf16OffsetToUtf8"),ce(this,"utf8OffsetToUtf16"),ce(this,"ptr"),!ge)throw new wa("Must invoke loadWasm first.");this._onigBinding=ge,this.content=t;let a=new io(t);this.utf16Length=a.utf16Length,this.utf8Length=a.utf8Length,this.utf16OffsetToUtf8=a.utf16OffsetToUtf8,this.utf8OffsetToUtf16=a.utf8OffsetToUtf16,this.utf8Length<1e4&&!ze._sharedPtrInUse?(ze._sharedPtr||(ze._sharedPtr=ge.omalloc(1e4)),ze._sharedPtrInUse=!0,ge.HEAPU8.set(a.utf8Value,ze._sharedPtr),this.ptr=ze._sharedPtr):this.ptr=a.createString(ge)}convertUtf8OffsetToUtf16(t){return this.utf8OffsetToUtf16?t<0?0:t>this.utf8Length?this.utf16Length:this.utf8OffsetToUtf16[t]:t}convertUtf16OffsetToUtf8(t){return this.utf16OffsetToUtf8?t<0?0:t>this.utf16Length?this.utf8Length:this.utf16OffsetToUtf8[t]:t}dispose(){this.ptr===ze._sharedPtr?ze._sharedPtrInUse=!1:this._onigBinding.ofree(this.ptr)}};ce(lo,"LAST_ID",0);ce(lo,"_sharedPtr",0);ce(lo,"_sharedPtrInUse",!1);var ml=lo,Sr=class{constructor(t){if(ce(this,"_onigBinding"),ce(this,"_ptr"),!ge)throw new wa("Must invoke loadWasm first.");let a=[],o=[];for(let i=0,l=t.length;i<l;i++){let u=new io(t[i]);a[i]=u.createString(ge),o[i]=u.utf8Length}let r=ge.omalloc(4*t.length);ge.HEAPU32.set(a,r/4);let n=ge.omalloc(4*t.length);ge.HEAPU32.set(o,n/4);let s=ge.createOnigScanner(r,n,t.length);for(let i=0,l=t.length;i<l;i++)ge.ofree(a[i]);ge.ofree(n),ge.ofree(r),s===0&&Im(ge),this._onigBinding=ge,this._ptr=s}dispose(){this._onigBinding.freeOnigScanner(this._ptr)}findNextMatchSync(t,a,o){let r=0;if(typeof o=="number"&&(r=o),typeof t=="string"){t=new ml(t);let n=this._findNextMatchSync(t,a,!1,r);return t.dispose(),n}return this._findNextMatchSync(t,a,!1,r)}_findNextMatchSync(t,a,o,r){let n=this._onigBinding,s=n.findNextOnigScannerMatch(this._ptr,t.id,t.ptr,t.utf8Length,t.convertUtf16OffsetToUtf8(a),r);if(s===0)return null;let i=n.HEAPU32,l=s/4,u=i[l++],c=i[l++],d=[];for(let p=0;p<c;p++){let m=t.convertUtf8OffsetToUtf16(i[l++]),h=t.convertUtf8OffsetToUtf16(i[l++]);d[p]={start:m,end:h,length:h-m}}return{index:u,captureIndices:d}}};function Sm(e){return typeof e.instantiator=="function"}function ym(e){return typeof e.default=="function"}function bm(e){return typeof e.data<"u"}function km(e){return typeof Response<"u"&&e instanceof Response}function Tm(e){return typeof ArrayBuffer<"u"&&(e instanceof ArrayBuffer||ArrayBuffer.isView(e))||typeof Buffer<"u"&&Buffer.isBuffer?.(e)||typeof SharedArrayBuffer<"u"&&e instanceof SharedArrayBuffer||typeof Uint32Array<"u"&&e instanceof Uint32Array}var so;function vm(e){if(so)return so;async function t(){ge=await xm(async a=>{let o=e;return o=await o,typeof o=="function"&&(o=await o(a)),typeof o=="function"&&(o=await o(a)),Sm(o)?o=await o.instantiator(a):ym(o)?o=await o.default(a):(bm(o)&&(o=o.data),km(o)?typeof WebAssembly.instantiateStreaming=="function"?o=await Pm(o)(a):o=await Am(o)(a):Tm(o)?o=await Ir(o)(a):o instanceof WebAssembly.Module?o=await Ir(o)(a):"default"in o&&o.default instanceof WebAssembly.Module&&(o=await Ir(o.default)(a))),"instance"in o&&(o=o.instance),"exports"in o&&(o=o.exports),o})}return so=t(),so}function Ir(e){return t=>WebAssembly.instantiate(e,t)}function Pm(e){return t=>WebAssembly.instantiateStreaming(e,t)}function Am(e){return async t=>{let a=await e.arrayBuffer();return WebAssembly.instantiate(a,t)}}async function hl(e){return e&&await vm(e),{createScanner(t){return new Sr(t.map(a=>typeof a=="string"?a:a.source))},createString(t){return new ml(t)}}}var uo=ul({langs:ga,themes:pl,engine:()=>hl(import("../wasm-ISCPKFD2.js"))}),{codeToHtml:Rm,codeToHast:Mm,codeToTokens:Fm,codeToTokensBase:Dm,codeToTokensWithThemes:Bm,getSingletonHighlighter:Em,getLastGrammarState:_m}=dl(uo,{guessEmbeddedLanguages:al});var gl=new Set(Object.keys(ga)),yr=new Map,br=new Map,Rt=new Map,Nm=(e,t)=>`${e}-${t[0]}-${t[1]}`,Om=(e,t,a)=>{let o=e.slice(0,100),r=e.length>100?e.slice(-100):"";return`${t}:${a[0]}:${a[1]}:${e.length}:${o}:${r}`},Um=(e,t)=>{let a=Nm(e,t);if(yr.has(a))return yr.get(a);let o=uo({themes:t,langs:[e]});return yr.set(a,o),o};function Hm(e={}){var t;let a=(t=e.themes)!=null?t:["github-light","github-dark"];return{name:"shiki",type:"code-highlighter",supportsLanguage(o){return gl.has(o)},getSupportedLanguages(){return Array.from(gl)},getThemes(){return a},highlight({code:o,language:r,themes:n},s){let i=Om(o,r,n);return br.has(i)?br.get(i):(s&&(Rt.has(i)||Rt.set(i,new Set),Rt.get(i).add(s)),Um(r,n).then(l=>{let u=l.getLoadedLanguages().includes(r)?r:"text",c=l.codeToTokens(o,{lang:u,themes:{light:n[0],dark:n[1]}});br.set(i,c);let d=Rt.get(i);if(d){for(let p of d)p(c);Rt.delete(i)}}).catch(l=>{console.error("[Streamdown Code] Failed to highlight code:",l),Rt.delete(i)}),null)}}}var wl=Hm();import{memo as jm}from"react";f();import{useEffect as qm,useRef as co,useState as Wm}from"react";var Gm=5,xl=400;function Cl(e,t,a={}){let{msPerChar:o=Gm}=a,[r,n]=Wm(t?"":e),s=co(e),i=co(t?0:e.length),l=co(0),u=co(null);return(e.length<i.current||!e.startsWith(r.slice(0,i.current)))&&(i.current=t?0:e.length),s.current=e,qm(()=>{if(!t){u.current!==null&&(cancelAnimationFrame(u.current),u.current=null),i.current=e.length,n(e);return}if(s.current.length-i.current>xl&&(i.current=s.current.length-xl),u.current!==null)return;let d=p=>{let m=s.current;if(i.current>=m.length){u.current=null;return}l.current===0&&(l.current=p);let h=p-l.current;if(h>=o){let I=Math.min(Math.floor(h/o),m.length-i.current);i.current+=I,n(m.slice(0,i.current)),l.current=p}u.current=requestAnimationFrame(d)};return u.current=requestAnimationFrame(d),()=>{u.current!==null&&(cancelAnimationFrame(u.current),u.current=null)}},[e,t,o]),r}import{jsx as fo}from"react/jsx-runtime";var kr=({className:e,from:t,children:a,...o})=>fo("div",{className:R("ww-message ww:group ww:flex ww:w-full",t==="user"?"ww-message-user is-user ww:ml-auto ww:flex-col ww:items-end ww:[max-width:var(--ww-msg-max-width,80%)]":"ww-message-assistant is-assistant ww:flex-col",e),...o,children:fo("div",{className:R("ww:flex ww:min-w-0 ww:flex-col ww:gap-2","ww:w-full"),children:a})}),Tr=({children:e,className:t,...a})=>fo("div",{className:R("ww-bubble ww:flex ww:w-fit ww:min-w-0 ww:max-w-full ww:flex-col ww:gap-2 ww:overflow-hidden","ww:[font-size:var(--ww-font-size,1rem)] ww:[line-height:var(--ww-line-height,1.5)]","ww:group-[.is-user]:ml-auto ww:group-[.is-user]:bg-user-bubble ww:group-[.is-user]:[color:var(--ww-color-user-bubble-text)] ww:group-[.is-user]:[border-radius:var(--ww-msg-radius,8px)] ww:group-[.is-user]:[padding:var(--ww-msg-pad-y,12px)_var(--ww-msg-pad-x,16px)]","ww:group-[.is-assistant]:text-foreground",t),...a,children:e}),zm={cjk:Xo,code:wl},Vm={cjk:Xo},$m={enabled:!1};function Xm({className:e,linkSafety:t,isStreaming:a,children:o,...r}){let s=Cl(typeof o=="string"?o:"",!!a),i=typeof o=="string"?s:o;return fo(Dt,{className:R("ww:size-full ww:[&>*:first-child]:mt-0 ww:[&>*:last-child]:mb-0",e),linkSafety:t??$m,plugins:a?Vm:zm,...r,children:i})}var po=jm(Xm,(e,t)=>e.children===t.children&&e.isStreaming===t.isStreaming);po.displayName="MessageResponse";f();import{createContext as Km,useCallback as Qm,useContext as yl,useEffect as Jm,useMemo as Pr,useRef as Ym,useState as Ar}from"react";import{Fragment as Sl,jsx as K,jsxs as gt}from"react/jsx-runtime";function Zm(e,t=80){if(e==null)return String(e);if(typeof e!="object")return String(e).slice(0,t);if(Array.isArray(e))return`Array(${e.length})`;let a=JSON.stringify(e);if(a.length<=t)return a;let o=Object.entries(e),r=[],n=t-2;for(let[s,i]of o){if(n<=8)break;let l=s.length>4?`${s.slice(0,4)}\u2026`:s,u;typeof i=="string"?u=i.length>2?`'${i.slice(0,1)}\u2026`:`'${i}'`:Array.isArray(i)?u=`Array(${i.length})`:typeof i=="object"&&i!==null?u="{\u2026}":u=String(i);let c=`${l}\u2009${u}`;r.push(c),n-=c.length+3}return`{${r.join(", ")}}`}function eh({text:e,className:t}){let{t:a}=V(),[o,r]=Ar(!1),n=Ym(null);Jm(()=>()=>{n.current&&clearTimeout(n.current)},[]);let s=Qm(async i=>{i.stopPropagation();try{await navigator.clipboard.writeText(e),r(!0),n.current&&clearTimeout(n.current),n.current=setTimeout(()=>r(!1),2e3)}catch{}},[e]);return K(We,{variant:"ghost",size:"sm",onClick:s,className:R("ww:h-auto ww:gap-1 ww:px-1.5 ww:py-0.5 ww:text-xs ww:text-muted-foreground ww:hover:text-foreground",t),children:o?gt(Sl,{children:[K(jt,{className:"ww:size-3.5"}),K("span",{children:a.tool.copied})]}):gt(Sl,{children:[K(Vt,{className:"ww:size-3.5"}),K("span",{children:a.tool.copy})]})})}function bl({data:e,label:t,className:a,...o}){let[r,n]=Ar(!1),s=Pr(()=>JSON.stringify(e,null,2),[e]),i=Zm(e);return gt("div",{className:R("ww:rounded-lg ww:bg-tool-card",a),...o,children:[gt("div",{className:"ww:flex ww:items-center ww:justify-between ww:px-3 ww:pt-2.5 ww:pb-1.5",children:[K("span",{className:"ww:text-xs ww:font-medium ww:text-muted-foreground",children:t}),K(eh,{text:s})]}),gt("button",{type:"button",onClick:()=>n(l=>!l),className:"ww:flex ww:w-full ww:items-start ww:gap-2 ww:px-3 ww:pb-3 ww:text-left",children:[K(zt,{className:R("ww:mt-0.5 ww:size-3.5 ww:shrink-0 ww:text-muted-foreground ww:transition-transform ww:duration-150",r&&"ww:rotate-90")}),r?K("pre",{className:"ww:overflow-x-auto ww:text-xs ww:font-mono ww:text-foreground ww:whitespace-pre-wrap ww:break-all",children:K("code",{children:s})}):K("span",{className:"ww:truncate ww:text-xs ww:font-mono ww:text-foreground/80",children:i})]})]})}var Rr=Km({open:!1,toggle:()=>{}});function kl({className:e,defaultOpen:t=!1,children:a,...o}){let[r,n]=Ar(t);return K(Rr.Provider,{value:{open:r,toggle:()=>n(s=>!s)},children:K("div",{className:R("ww:mb-4 ww:w-full",e),"data-state":r?"open":"closed",style:{animation:"ww-fade-in 0.2s ease-out"},...o,children:a})})}function Tl({className:e,title:t,state:a,...o}){let{open:r,toggle:n}=yl(Rr),s=a==="input-available"||a==="input-streaming",i=t??"";return gt("button",{type:"button",onClick:n,className:R("ww:flex ww:w-full ww:items-center ww:gap-2 ww:text-sm ww:text-muted-foreground ww:transition-colors ww:hover:text-foreground",e),"aria-expanded":r,...o,children:[K(lt,{className:"ww:size-4 ww:shrink-0"}),K("span",{className:"ww:truncate",children:s?K(Ne,{duration:1.6,children:i}):i}),K(Ye,{className:R("ww:size-4 ww:shrink-0 ww:transition-transform ww:duration-200",r&&"ww:rotate-180")})]})}function vl({className:e,title:t,state:a,...o}){let r=a==="input-available"||a==="input-streaming",n=t??"";return K("div",{className:R("ww:mb-4 ww:flex ww:items-center ww:gap-2 ww:text-sm ww:text-muted-foreground",e),style:{animation:"ww-fade-in 0.2s ease-out"},...o,children:K("span",{className:"ww:truncate",children:r?K(Ne,{duration:1.6,children:n}):n})})}function Pl({className:e,children:t,...a}){let{open:o}=yl(Rr);return K("div",{className:R("ww:grid ww:transition-[grid-template-rows,opacity] ww:duration-200 ww:ease-out",o?"ww:grid-rows-[1fr] ww:opacity-100":"ww:grid-rows-[0fr] ww:opacity-0"),children:K("div",{className:"ww:min-h-0 ww:overflow-hidden",children:K("div",{className:R("ww:mt-2 ww:space-y-3 ww:rounded-lg ww:border ww:border-border ww:bg-background ww:p-3",e),...a,children:t})})})}function Mr({className:e,input:t,debug:a,...o}){let{t:r}=V(),n=Pr(()=>{if(!a&&typeof t=="object"&&t!==null&&!Array.isArray(t)){let{_meta:s,...i}=t;return i}return t},[t,a]);return K(bl,{data:n,label:r.tool.request,className:e,...o})}function vr(e){if(!(typeof e!="object"||e===null))return e}function Al(e){return vr(e?.ui)}function Rl(e){return vr(vr(e)?._meta)}function Ll(e){if(!e)return;let t=Al(e)?.resourceUri;if(typeof t=="string"&&t.length>0)return t;let a=e["ui/resourceUri"];if(typeof a=="string"&&a.length>0)return a;let o=e["openai/outputTemplate"];if(typeof o=="string"&&o.length>0)return o}function Il(e){return Al(e)?.autoHeight===!0}function xa(e,t,a){if(e){let o=Ll(a?.[e]?._meta);if(o)return o}return Ll(Rl(t))}function Ml(e,t,a){return e&&Il(a?.[e]?._meta)?!0:Il(Rl(t))}function Fr({className:e,output:t,errorText:a,debug:o,...r}){let{t:n}=V(),s=Pr(()=>{if(!o&&typeof t=="object"&&t!==null&&!Array.isArray(t)){let{_meta:i,...l}=t;return l}return t},[t,o]);return t||a?a?gt("div",{className:R("ww:space-y-2",e),...r,children:[K("h4",{className:"ww:text-xs ww:font-medium ww:uppercase ww:tracking-wide ww:text-muted-foreground",children:n.tool.error}),K("div",{className:"ww:rounded-lg ww:bg-destructive/10 ww:p-3 ww:text-xs ww:text-destructive",children:a})]}):K(bl,{data:s,label:n.tool.response,className:e,...r}):null}f();import{jsx as Fl,jsxs as th}from"react/jsx-runtime";function Dl(e){return e.type==="text"||e.type==="reasoning"||e.type==="file"||"toolCallId"in e}function Bl(e){return e.parts.some(Dl)}function El(e,t,a){if(t!=="submitted"&&t!=="streaming")return!1;let o=e[e.length-1];return!o||o.role!=="assistant"?!0:!o.parts.some(n=>!(!Dl(n)||a?.ignoreToolParts&&"toolCallId"in n||a?.ignoreReasoningParts&&n.type==="reasoning"))}function _l({className:e,...t}){let{t:a}=V();return th("div",{"aria-live":"polite",className:R("ww:mb-4 ww:flex ww:w-full ww:items-center ww:gap-2 ww:text-sm ww:text-muted-foreground",e),style:{animation:"ww-fade-in 0.2s ease-out"},...t,children:[Fl(Yt,{className:"ww:size-4 ww:shrink-0"}),Fl(Ne,{duration:1.6,children:a.workingIndicator.default})]})}f();import{useCallback as ah,useEffect as Dr,useMemo as oh,useRef as ke,useState as Nl}from"react";import{jsx as mh}from"react/jsx-runtime";var rh="/api/mcp/resource",nh=500,sh=0,ih=16,lh="2026-01-26",uh=300,dh=3e3,ch=3;function fh(e){if(typeof e!="string")return;let t=e.trim();return t.length>0?t:void 0}function ph(e,t,a){return xa(e,t,a)?!1:t._meta?.["waniwani/autoInjectResultText"]!==!1}function Ol({resourceUri:e,toolInput:t,toolResult:a,resourceEndpoint:o=rh,chatSessionId:r,isDark:n=!1,className:s,autoHeight:i=!1,onOpenLink:l,onFollowUp:u,onCallTool:c,onDisplayModeChange:d,isFullscreen:p=!1,toolDefinitions:m}){let h=ke(null),I=ke(t),x=ke(a),S=ke({width:0,height:0}),L=ke(null),C=ke(!1),k=ke(0),T=ke("inline"),[P,M]=Nl(sh),[A,E]=Nl(void 0),F=ke(l),_=ke(u),v=ke(c),D=ke(d),q=ke(r),y=ke(m);I.current=t,x.current=a,F.current=l,_.current=u,v.current=c,D.current=d,q.current=r,y.current=m;let N=ah(W=>i?Math.max(W+ih,0):Math.min(Math.max(W,50),nh),[i]),H=oh(()=>{let W=o.includes("?")?"&":"?";return`${o}${W}uri=${encodeURIComponent(e)}`},[o,e]),le=ke(n);le.current=n;let Te=ke(p);return Dr(()=>{Te.current=p,S.current.height=-1,L.current&&(L.current.cancel(),L.current=null)},[p]),Dr(()=>{if(!C.current)return;let W=h.current;W?.contentWindow&&W.contentWindow.postMessage({jsonrpc:"2.0",method:"ui/notifications/host-context-changed",params:{theme:n?"dark":"light"}},"*")},[n]),Dr(()=>{let W=h.current;if(!W)return;let pe=!1,ve=!1,Ue=null,Se=null,X=setTimeout(()=>{if(pe||ve||k.current>=ch)return;k.current+=1;let me=new URL(W.src);me.searchParams.set("_retry",String(k.current)),W.src=me.toString()},dh),z=me=>{W.contentWindow?.postMessage(me,"*")},we=me=>{if(pe||me.source!==W.contentWindow)return;let ee=me.data;if(!ee||typeof ee!="object"||ee.jsonrpc!=="2.0")return;let se=ee.method,ne=ee.id;if(se==="ui/initialize"&&ne!=null){ve=!0,clearTimeout(X),z({jsonrpc:"2.0",id:ne,result:{protocolVersion:ee.params?.protocolVersion??lh,hostInfo:{name:"Waniwani Chat",version:"1.0.0"},hostCapabilities:{openLinks:{},message:{text:{}},tools:{},updateModelContext:{text:{},structuredContent:{}}},hostContext:{theme:le.current?"dark":"light",displayMode:T.current}}});return}if(se==="ui/notifications/initialized"){C.current=!0;let Q=I.current,te=x.current,G=te._meta&&typeof te._meta=="object"?te._meta:null,ae=fh(q.current),ue=G&&typeof G.waniwani=="object"&&G.waniwani!==null?G.waniwani:null,Fe=ue||ae?{...ue??{},...ae?{sessionId:ae}:{}}:void 0,Je=G||Fe?{...G??{},...Fe?{waniwani:Fe}:{}}:void 0;z({jsonrpc:"2.0",method:"ui/notifications/tool-input",params:{arguments:Q}});let Ct=te.content??[{type:"text",text:JSON.stringify(te)}];z({jsonrpc:"2.0",method:"ui/notifications/tool-result",params:{content:Ct,structuredContent:te.structuredContent,_meta:Je,meta:Je}});return}if(se==="ui/notifications/size-changed"){let Q=ee.params,te=typeof Q?.height=="number"?Q.height:void 0,G=typeof Q?.width=="number"?Q.width:void 0,ae=S.current,ue=te!==void 0&&te!==ae.height,Fe=G!==void 0&&G!==ae.width;if(!ue&&!Fe)return;if(ue&&te!==void 0){if(ae.height=te,Te.current)return;let Je=N(te),Ct=W.getBoundingClientRect().height;if(L.current&&(L.current.cancel(),L.current=null),M(Je),W.animate&&Math.abs(Ct-Je)>2){let Lt=W.animate([{height:`${Ct}px`},{height:`${Je}px`}],{duration:uh,easing:"ease-out",fill:"forwards"});L.current=Lt,Lt.onfinish=()=>{L.current===Lt&&(Lt.cancel(),L.current=null)}}}Fe&&i&&G!==void 0&&(ae.width=G,E(G));return}if(se==="ui/open-link"&&ne!=null){let Q=ee.params?.url;typeof Q=="string"&&(F.current?F.current(Q):window.open(Q,"_blank","noopener,noreferrer")),z({jsonrpc:"2.0",id:ne,result:{}});return}if(se==="ui/message"&&ne!=null){if(_.current&&ee.params){let Q=ee.params,te=Ue;if(Ue=null,Se){clearTimeout(Se.timer);let G=Se.text;Se=null;let ae=(Q.content??[]).map(ue=>ue.text??"").join("").trim();Q={...Q,content:[{type:"text",text:`${ae}
80
80
 
81
- ${W}`}]}}N.current({...K,...ee?{modelContext:ee}:{}})}j({jsonrpc:"2.0",id:re,result:{}});return}if(se==="ui/update-model-context"&&re!=null){Ue=Kr(Ue,Y.params),j({jsonrpc:"2.0",id:re,result:{}});return}if(se==="tools/call"&&re!=null){let K=k.current;if(!K){j({jsonrpc:"2.0",id:re,error:{code:-32601,message:"tools/call not supported"}});return}let ee=Y.params?.name;K({name:ee,arguments:Y.params?.arguments??{}}).then(W=>{j({jsonrpc:"2.0",id:re,result:W});let te=W.content?.map(le=>le.text??"").join("").trim();te&&ph(ee,W,T.current)&&(Se&&clearTimeout(Se.timer),Se={text:te,timer:setTimeout(()=>{if(fe)return;let le=Ue;Ue=null,Se=null,N.current?.({role:"user",content:[{type:"text",text:te}],...le?{modelContext:le}:{}})},500)})}).catch(W=>{let te=W instanceof Error?W.message:"Tool call failed";j({jsonrpc:"2.0",id:re,error:{code:-32e3,message:te}})});return}if(se==="ui/request-display-mode"&&re!=null){let K=Y.params?.mode,ee=K==="fullscreen"||K==="inline"||K==="pip"?K:"inline";v.current=ee,j({jsonrpc:"2.0",id:re,result:{mode:ee}}),j({jsonrpc:"2.0",method:"ui/notifications/host-context-changed",params:{displayMode:ee}}),B.current?.(ee);return}if(se==="ui/resource-teardown"&&re!=null){j({jsonrpc:"2.0",id:re,result:{}});return}se==="ping"&&re!=null&&j({jsonrpc:"2.0",id:re,result:{}})};return window.addEventListener("message",ge),()=>{fe=!0,clearTimeout($),Se&&clearTimeout(Se.timer),window.removeEventListener("message",ge)}},[i,O]),mh("iframe",{ref:h,src:Ie,sandbox:"allow-scripts allow-forms allow-same-origin allow-popups allow-popups-to-escape-sandbox",className:F(!p&&"ww:rounded-md ww:border ww:border-border",s),style:{height:p?"100%":A,minWidth:p||!R?void 0:`min(${R}px, 100%)`,width:"100%",border:"none",colorScheme:n?"dark":"auto"},title:"MCP App"})}f();import{jsx as La,jsxs as hh}from"react/jsx-runtime";function Ul({icon:e,title:t,description:a,suggestions:o,onSuggestionSelect:r}){return hh("div",{className:"ww:flex ww:flex-col ww:items-center ww:justify-center ww:py-12 ww:px-6 ww:text-center ww:min-h-full",children:[e&&La("div",{className:"ww:mb-4 ww:flex ww:items-center ww:justify-center ww:size-12 ww:rounded-xl ww:bg-foreground ww:text-background",children:e}),La("h2",{className:"ww:text-lg ww:font-semibold ww:text-foreground",children:t}),a&&La("p",{className:"ww:mt-1 ww:text-sm ww:text-muted-foreground ww:max-w-sm",children:a}),o&&o.length>0&&La("div",{className:"ww:mt-6 ww:w-full ww:max-w-md ww:flex ww:flex-col ww:gap-2",children:o.map((n,s)=>La("button",{type:"button",onClick:()=>r?.(n),className:F("ww:w-full ww:text-left ww:rounded-xl ww:border ww:border-border ww:bg-background ww:px-4 ww:py-3 ww:text-sm","ww:text-foreground ww:hover:bg-accent ww:hover:border-primary/30","ww:transition-all ww:duration-200 ww:ease-out ww:cursor-pointer","ww:animate-[ww-fade-in_0.2s_ease-out_both]"),style:{animationDelay:`${s*50}ms`},children:n},n))})]})}f();import{Component as gh}from"react";import{jsx as Br,jsxs as xh}from"react/jsx-runtime";function wh({onRetry:e}){let{t}=z();return xh("div",{className:"ww:flex ww:items-center ww:justify-between ww:rounded-md ww:border ww:border-border ww:bg-muted/50 ww:px-4 ww:py-3 ww:text-sm ww:text-muted-foreground",children:[Br("span",{children:t.widgetErrorBoundary.failedToLoad}),Br("button",{type:"button",onClick:e,className:"ww:text-xs ww:font-medium ww:text-primary ww:hover:underline",children:t.widgetErrorBoundary.retry})]})}var mo=class extends gh{state={hasError:!1};static getDerivedStateFromError(){return{hasError:!0}}componentDidCatch(t){console.warn("[Waniwani] Widget failed to render:",t.message)}render(){return this.state.hasError?Br(wh,{onRetry:()=>this.setState({hasError:!1})}):this.props.children}};import{Fragment as Lh,jsx as Z,jsxs as nt}from"react/jsx-runtime";function Er(e){return e?e.replace(/[-_]/g," ").replace(/^\w/,t=>t.toUpperCase()):"Tool"}function Hl(e){return e&&/search|find|lookup|query|web|browse|google/i.test(e)?Xt:lt}function ql({messages:e,status:t,welcomeMessage:a,welcome:o,onSuggestionSelect:r,resourceEndpoint:n,chatSessionId:s,isDark:i,onFollowUp:l,onCallTool:u,onWidgetDisplayModeChange:c,fullscreenToolCallId:d,debug:p,showToolCalls:m=!0,toolDefinitions:h}){let{t:I}=z(),x=e[e.length-1],S=e.length>0,C=d!=null,L=!C&&El(e,t,{ignoreToolParts:m===!1,ignoreReasoningParts:m===!1});return nt(Lh,{children:[!C&&(!S&&o?Z(Ul,{...o,onSuggestionSelect:r}):a&&Z(kr,{from:"assistant",children:Z(Tr,{children:Z(po,{children:a})})})),e.map(y=>{let v=y.parts.filter(P=>P.type==="text"),A=y.parts.filter(P=>P.type==="reasoning"),M=y.parts.filter(P=>P.type==="file"),R=y.parts.filter(P=>"toolCallId"in P),_=y.parts.filter(P=>P.type==="reasoning"||"toolCallId"in P),D=y===x&&y.role==="assistant",N=v.length>0,k=C?R.some(P=>P.toolCallId===d):!1,B=m!==!1&&!k&&_.length>=2;return C&&!k?Z("div",{style:{display:"none"}},y.id):y.role==="assistant"&&!Bl(y)?Z("div",{style:{display:"none"}},y.id):m===!1&&y.role==="assistant"&&!N&&M.length===0&&R.every(P=>{let T="output"in P?P.output:void 0;return T===void 0||!n||!xa(P.toolName,T,h)})?Z("div",{style:{display:"none"}},y.id):nt(kr,{from:y.role,children:[m!==!1&&!k&&!B&&A.map((P,T)=>nt(aa,{isStreaming:P.state==="streaming",children:[Z(oa,{}),Z(ra,{children:P.text})]},`reasoning-${y.id}-${T}`)),B&&(()=>{let P=_[_.length-1],T=P.type==="reasoning"?{icon:Xe,label:I.reasoning.thinking}:{icon:Hl(P.toolName),label:P.title??Er(P.toolName)};return nt(Ns,{isWorking:D&&(t==="streaming"||t==="submitted"),activeStep:T,children:[Z(Os,{workingLabel:I.chainOfThought.working,label:I.chainOfThought.done}),Z(Us,{children:_.map((O,Ie)=>{let ne=Ie===_.length-1;if(O.type==="reasoning")return Z(qs,{isStreaming:O.state==="streaming",isLast:ne,children:O.text},`reasoning-${y.id}-${Ie}`);let Re=O.title??Er(O.toolName),q=Hl(O.toolName);if(m==="titles-only")return Z(zo,{icon:q,title:Re,state:O.state,isLast:ne},O.toolCallId);let fe="output"in O?O.output:void 0;return nt(zo,{icon:q,title:Re,state:O.state,isLast:ne,children:[Z(Mr,{input:O.input,debug:p}),fe!==void 0&&Z(Fr,{output:fe,errorText:"errorText"in O?O.errorText:void 0,debug:p})]},O.toolCallId)})})]})})(),m!==!1&&!k&&!B&&R.length===1&&(()=>{let P=R[0],T=P.title??Er(P.toolName);if(m==="titles-only")return Z(vl,{title:T,state:P.state});let O="output"in P?P.output:void 0;return nt(kl,{children:[Z(Tl,{title:T,state:P.state}),nt(Pl,{children:[Z(Mr,{input:P.input,debug:p}),O!==void 0&&Z(Fr,{output:O,errorText:"errorText"in P?P.errorText:void 0,debug:p})]})]})})(),R.map(P=>{let T="output"in P?P.output:void 0,O=xa(P.toolName,T,h),Ie=Ml(P.toolName,T,h),ne=P.toolCallId===d;return O&&n&&T!==void 0?Z("div",{style:ne?{position:"absolute",inset:0,zIndex:10,display:"flex",flexDirection:"column",overflow:"hidden",background:"var(--ww-color-background)"}:void 0,children:O&&n&&T!==void 0&&Z(mo,{children:Z(Ol,{isFullscreen:ne,resourceUri:O,toolInput:P.input??{},toolResult:{content:T.content,structuredContent:T.structuredContent,_meta:T._meta},resourceEndpoint:n,chatSessionId:s,isDark:i,autoHeight:Ie,toolDefinitions:h,onFollowUp:l,onCallTool:u,onDisplayModeChange:c?Re=>c(Re,{toolCallId:P.toolCallId,resourceUri:O,toolInput:P.input??{},toolResult:{content:T.content,structuredContent:T.structuredContent,_meta:T._meta},autoHeight:Ie}):void 0})})},P.toolCallId):null}),!k&&Z("div",{children:nt(Tr,{children:[M.length>0&&Z(Ms,{files:M}),N?v.map((P,T)=>{let O=D&&t==="streaming"&&T===v.length-1;return Z(po,{isStreaming:O,children:P.type==="text"?P.text:""},`${y.id}-${T}`)}):null]})})]},y.id)}),L&&Z(_l,{})]})}f();import{jsx as Wl,jsxs as Sh}from"react/jsx-runtime";var Ch="https://app.waniwani.ai/assets/waniwani-logo.svg",Ih="https://waniwani.ai";function Gl(){let{t:e}=z();return Sh("a",{href:Ih,target:"_blank",rel:"noopener noreferrer",className:"ww:flex ww:items-center ww:gap-1.5 ww:whitespace-nowrap ww:text-[10px] ww:sm:text-[11px] ww:text-muted-foreground ww:opacity-70 hover:ww:opacity-100 ww:transition-opacity",children:[Wl("span",{children:e.poweredBy.label}),Wl("img",{src:Ch,alt:"Waniwani",width:72,height:10,"data-waniwani-logo":"",className:"ww:h-2.5 ww:w-auto"})]})}f();import{jsx as ho}from"react/jsx-runtime";function jl({suggestions:e,isLoading:t,onSelect:a,className:o,...r}){return e.length===0&&!t?null:ho("div",{className:F("ww:px-4 ww:py-2",o),...r,children:ho("div",{className:"ww:mx-auto ww:w-full ww:max-w-3xl ww:flex ww:flex-wrap ww:gap-2",children:t?[0,1,2].map(n=>ho("div",{className:"ww:h-8 ww:rounded-full ww:bg-accent ww:animate-pulse",style:{width:`${60+n*20}px`}},n)):e.map((n,s)=>ho("button",{type:"button",onClick:()=>a(n),className:F("ww:rounded-full ww:border ww:border-border ww:bg-background ww:px-3.5 ww:py-1.5 ww:text-sm","ww:text-foreground ww:hover:bg-accent ww:hover:border-primary/30","ww:transition-all ww:duration-200 ww:ease-out ww:cursor-pointer","ww:animate-[ww-fade-in_0.2s_ease-out_both]"),style:{animationDelay:`${s*50}ms`},children:n},n))})})}f();import{useEffect as yh,useRef as bh,useState as kh}from"react";import{jsx as oe,jsxs as wt}from"react/jsx-runtime";var zl=20;function Th({label:e}){return wt("svg",{xmlns:"http://www.w3.org/2000/svg",width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",role:"img","aria-label":e,children:[oe("title",{children:e}),oe("line",{x1:"12",y1:"5",x2:"12",y2:"19"}),oe("line",{x1:"5",y1:"12",x2:"19",y2:"12"})]})}function vh({label:e}){return wt("svg",{xmlns:"http://www.w3.org/2000/svg",width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",role:"img","aria-label":e,children:[oe("title",{children:e}),oe("path",{d:"M3 12a9 9 0 1 0 3-6.7"}),oe("polyline",{points:"3 4 3 9 8 9"}),oe("line",{x1:"12",y1:"7",x2:"12",y2:"12"}),oe("line",{x1:"12",y1:"12",x2:"15",y2:"14"})]})}function Ph({label:e}){return wt("svg",{xmlns:"http://www.w3.org/2000/svg",width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",role:"img","aria-label":e,children:[oe("title",{children:e}),oe("polyline",{points:"3 6 5 6 21 6"}),oe("path",{d:"M19 6l-2 14a2 2 0 0 1-2 2H9a2 2 0 0 1-2-2L5 6"}),oe("path",{d:"M10 11v6"}),oe("path",{d:"M14 11v6"})]})}function Vl({threads:e,activeThreadId:t,onNewThread:a,onSelectThread:o,onDeleteThread:r}){let{locale:n,t:s}=z(),[i,l]=kh(!1),u=bh(null);yh(()=>{if(!i)return;let p=m=>{let h=u.current;h&&(m.composedPath().includes(h)||l(!1))};return document.addEventListener("mousedown",p),()=>document.removeEventListener("mousedown",p)},[i]);let c=e.slice(0,zl),d=Math.max(0,e.length-zl);return wt("div",{ref:u,className:"ww:relative ww:flex ww:items-center ww:gap-1",children:[oe("button",{type:"button",onClick:a,title:s.threadMenu.newChat,"aria-label":s.threadMenu.newChat,className:"ww:p-1.5 ww:rounded-md ww:text-muted-foreground hover:ww:text-foreground hover:ww:bg-foreground/5 ww:transition-colors ww:cursor-pointer",children:oe(Th,{label:s.threadMenu.newChat})}),oe("button",{type:"button",onClick:()=>l(p=>!p),title:s.threadMenu.threadHistory,"aria-label":s.threadMenu.threadHistory,"aria-expanded":i,className:"ww:p-1.5 ww:rounded-md ww:text-muted-foreground hover:ww:text-foreground hover:ww:bg-foreground/5 ww:transition-colors ww:cursor-pointer",children:oe(vh,{label:s.threadMenu.threadHistory})}),i&&wt("div",{role:"menu",className:"ww:absolute ww:right-0 ww:top-full ww:mt-1 ww:w-72 ww:max-h-80 ww:overflow-y-auto ww:rounded-lg ww:border ww:border-border ww:bg-background ww:shadow-lg ww:z-50",children:[c.length===0&&oe("div",{className:"ww:px-3 ww:py-3 ww:text-xs ww:text-muted-foreground",children:s.threadMenu.noPreviousChats}),c.map(p=>{let m=p.threadId===t,h=Date.parse(p.updatedAt);return wt("div",{className:`ww:flex ww:items-center ww:gap-2 ww:px-3 ww:py-2 ww:text-xs hover:ww:bg-foreground/5 ${m?"ww:bg-foreground/5":""}`,children:[wt("button",{type:"button",onClick:()=>{o(p.threadId),l(!1)},className:"ww:flex-1 ww:min-w-0 ww:text-left ww:cursor-pointer",children:[oe("div",{className:"ww:truncate ww:text-foreground ww:font-medium",children:p.title}),oe("div",{className:"ww:text-[10px] ww:text-muted-foreground",children:Number.isNaN(h)?"":Oo(h,n)})]}),oe("button",{type:"button",onClick:I=>{I.stopPropagation(),r(p.threadId)},title:s.threadMenu.deleteThread,"aria-label":s.threadMenu.deleteThread,className:"ww:p-1 ww:rounded ww:text-muted-foreground hover:ww:text-foreground hover:ww:bg-foreground/10 ww:transition-colors ww:cursor-pointer",children:oe(Ph,{label:s.threadMenu.deleteThread})})]},p.threadId)}),d>0&&oe("div",{className:"ww:px-3 ww:py-2 ww:text-[10px] ww:text-muted-foreground ww:border-t ww:border-border",children:s.threadMenu.hiddenThreads(d)})]})]})}f();import{useCallback as Ah,useRef as Rh}from"react";function $l(e){let t=Rh(e);return t.current=e,Ah(async a=>{let{api:o,headers:r,onCallTool:n,sessionId:s}=t.current;if(n)return n(a);let i=`${o??"/api/waniwani"}/tool`,l=typeof s=="string"&&s.trim().length>0?s.trim():void 0,u=await fetch(i,{method:"POST",headers:{"Content-Type":"application/json",...l?{"X-Session-Id":l}:{},...r},body:JSON.stringify(a)});if(!u.ok)throw new Error(`Tool call failed: ${u.status} ${u.statusText}`);return u.json()},[])}f();import{useChat as $h}from"@ai-sdk/react";import{useCallback as Le,useEffect as Be,useRef as ce,useState as xt}from"react";f();function Mt(e,t,a){let[o,r=""]=e.split("?"),n=o.replace(/\/$/,""),s=new URLSearchParams(r);if(a)for(let[l,u]of Object.entries(a))s.set(l,u);let i=s.toString();return`${n}${t}${i?`?${i}`:""}`}f();import{DefaultChatTransport as Mh,uiMessageChunkSchema as Fh}from"ai";function Dh(e){let t=e?.cause,a=t?.issues??t?.errors;if(!Array.isArray(a))return null;let o=a.find(r=>r.code==="invalid_union");if(!o?.errors)return null;for(let r of o.errors){if(!Array.isArray(r)||r.some(i=>(i.code==="invalid_value"||i.code==="invalid_literal")&&i.path?.[0]==="type"))continue;let s=r.filter(i=>i.code==="unrecognized_keys").flatMap(i=>i.keys??[]);if(s.length>0)return s}return null}var go=class extends Mh{processResponseStream(t){let a="",o=Fh(),r=o.validate?.bind(o);return t.pipeThrough(new TextDecoderStream).pipeThrough(new TransformStream({async transform(n,s){a+=n;let i=a.split(`
82
- `);a=i.pop()??"";for(let l of i){let u=l.trim();if(!u.startsWith("data:"))continue;let c=u.slice(5).trim();if(c!=="[DONE]")try{let d=JSON.parse(c);if(!r){s.enqueue(d);continue}let p=await r(d);if(p.success){s.enqueue(p.value);continue}let m=Dh(p.error);if(m?.length){let h={...d};for(let x of m)delete h[x];let I=await r(h);I.success&&s.enqueue(I.value)}}catch{}}}}))}};f();f();var Bh="waniwani-memory";var Ae="threads",wo="by_memoryUserId",Eh="by_updatedAt";var Kl="memoryUserId",Xl="waniwani-memory-user-id",_r=null;function Nr(){return typeof crypto<"u"&&typeof crypto.randomUUID=="function"?crypto.randomUUID():"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,e=>{let t=Math.random()*16|0;return(e==="x"?t:t&3|8).toString(16)})}function _h(e,t){if(t<1&&(e.objectStoreNames.contains("ids")||e.createObjectStore("ids")),t<2&&!e.objectStoreNames.contains(Ae)){let a=e.createObjectStore(Ae,{keyPath:"threadId"});a.createIndex(wo,"memoryUserId",{unique:!1}),a.createIndex(Eh,"updatedAt",{unique:!1})}}async function Or(){return new Promise((e,t)=>{let a=indexedDB.open(Bh,2);a.onupgradeneeded=o=>{_h(a.result,o.oldVersion)},a.onsuccess=()=>e(a.result),a.onerror=()=>t(a.error)})}async function Nh(){return Or()}async function Oh(e){return new Promise((t,a)=>{let n=e.transaction("ids","readonly").objectStore("ids").get(Kl);n.onsuccess=()=>t(typeof n.result=="string"?n.result:null),n.onerror=()=>a(n.error)})}async function Uh(e,t){return new Promise((a,o)=>{let s=e.transaction("ids","readwrite").objectStore("ids").put(t,Kl);s.onsuccess=()=>a(),s.onerror=()=>o(s.error)})}async function Hh(){if(typeof indexedDB>"u")return null;try{let e=await Nh();try{let t=await Oh(e);if(t)return t;let a=Nr();return await Uh(e,a),a}finally{e.close()}}catch{return null}}function qh(){try{let e=localStorage.getItem(Xl);if(e)return e;let t=Nr();return localStorage.setItem(Xl,t),t}catch{return null}}async function Ql(){let e=await Hh();if(e)return e;let t=qh();return t||(_r||(_r=Nr()),_r)}var Jl=50,Zl=1e3;function xo(e){if(!e||typeof e!="object")return!1;let t=e;return typeof t.threadId=="string"&&typeof t.memoryUserId=="string"&&typeof t.title=="string"&&Array.isArray(t.messages)&&typeof t.createdAt=="string"&&typeof t.updatedAt=="string"}async function Lo(e){if(typeof indexedDB>"u")return null;let t=null;try{return t=await Or(),await e(t)}catch{return null}finally{try{t?.close()}catch{}}}function Ur(e){return new Promise((t,a)=>{e.onsuccess=()=>t(e.result),e.onerror=()=>a(e.error)})}async function Hr(e){return await Lo(async a=>{let n=a.transaction(Ae,"readonly").objectStore(Ae).index(wo),i=(await Ur(n.getAll(e))??[]).filter(xo);return i.sort((l,u)=>l.updatedAt<u.updatedAt?1:-1),i})??[]}async function Co(e){return await Lo(async a=>{let r=a.transaction(Ae,"readonly").objectStore(Ae),n=await Ur(r.get(e));return xo(n)?n:null})??null}async function qr(e){if(!xo(e))return;let t=e.messages.length>Zl?{...e,messages:e.messages.slice(e.messages.length-Zl)}:e;await Lo(async a=>{await new Promise((l,u)=>{let c=a.transaction(Ae,"readwrite");c.oncomplete=()=>l(),c.onerror=()=>u(c.error),c.onabort=()=>u(c.error),c.objectStore(Ae).put(t)});let o=a.transaction(Ae,"readwrite"),r=o.objectStore(Ae),n=r.index(wo),i=(await Ur(n.getAll(t.memoryUserId))??[]).filter(xo);if(i.length>Jl){i.sort((u,c)=>u.updatedAt<c.updatedAt?-1:1);let l=i.slice(0,i.length-Jl);for(let u of l)r.delete(u.threadId)}return await new Promise((l,u)=>{o.oncomplete=()=>l(),o.onerror=()=>u(o.error),o.onabort=()=>u(o.error)}),null})}async function Yl(e){await Lo(async t=>(await new Promise((a,o)=>{let r=t.transaction(Ae,"readwrite");r.oncomplete=()=>a(),r.onerror=()=>o(r.error),r.onabort=()=>o(r.error),r.objectStore(Ae).delete(e)}),null))}async function Wr(e){return(await Hr(e))[0]?.threadId??null}function eu(e){let t=e.trim();if(!t)return`Conversation on ${new Date().toISOString().slice(0,10)}`;let a=t.split(/\r?\n/,1)[0]??t;return a.length<=60?a:`${a.slice(0,60).trimEnd()}\u2026`}f();var tu="waniwani-visitor-id";function au(e,t){return e.match(t)?.[1]??null}function Wh(e){let t=[["Edge",/Edg(?:e|A|iOS)?\/(\S+)/],["Opera",/(?:OPR|Opera)\/(\S+)/],["Samsung Internet",/SamsungBrowser\/(\S+)/],["Firefox",/Firefox\/(\S+)/],["Chrome",/Chrome\/(\S+)/],["Safari",/Version\/(\S+).*Safari/]];for(let[a,o]of t){let r=au(e,o);if(r)return{name:a,version:r}}return null}function Gh(e){let t=[["iOS",/(?:iPhone|iPad|iPod).+?OS (\d+[_.\d]*)/],["Android",/Android (\d+[.\d]*)/],["macOS",/Mac OS X (\d+[_.\d]*)/],["Windows",/Windows NT (\d+[.\d]*)/],["ChromeOS",/CrOS \S+ (\d+[.\d]*)/],["Linux",/Linux/]];for(let[a,o]of t){let r=au(e,o);if(r)return{name:a,version:r.replace(/_/g,".")};if(a==="Linux"&&o.test(e))return{name:a,version:""}}return null}function jh(e){return typeof navigator<"u"&&"userAgentData"in navigator&&navigator.userAgentData?.mobile?"mobile":/iPad|tablet|PlayBook/i.test(e)?"tablet":/Mobi|Android.*Mobile|iPhone|iPod/i.test(e)?"mobile":"desktop"}async function zh(e){let t=new TextEncoder().encode(e),a=await crypto.subtle.digest("SHA-256",t);return Array.from(new Uint8Array(a)).map(o=>o.toString(16).padStart(2,"0")).join("")}async function Vh(){try{let a=localStorage.getItem(tu);if(a)return a}catch{}let e=[navigator.userAgent,screen.width,screen.height,screen.colorDepth,Intl.DateTimeFormat().resolvedOptions().timeZone,navigator.language,navigator.hardwareConcurrency??"",navigator.platform??""].join("|"),t=await zh(e);try{localStorage.setItem(tu,t)}catch{}return t}async function Gr(){let e=navigator.userAgent,[t,a]=await Promise.all([Vh(),Ql()]);return{userAgent:e,browser:Wh(e),os:Gh(e),deviceType:jh(e),language:navigator.language,languages:[...navigator.languages],timezone:Intl.DateTimeFormat().resolvedOptions().timeZone,screenWidth:screen.width,screenHeight:screen.height,viewportWidth:window.innerWidth,viewportHeight:window.innerHeight,colorDepth:screen.colorDepth,devicePixelRatio:window.devicePixelRatio??1,touchSupport:"ontouchstart"in window||navigator.maxTouchPoints>0,connectionType:navigator.connection?.effectiveType??"unknown",referrer:document.referrer,visitorId:t,memoryUserId:a}}var Xh="x-session-id",Kh=250;function ou(){return typeof crypto<"u"&&typeof crypto.randomUUID=="function"?crypto.randomUUID():ea()}function Io(){return new Date().toISOString()}function ru(e){if(typeof e!="string")return;let t=e.trim();return t.length>0?t:void 0}async function Qh(e,t){let a=Mt(e,"/tools"),o=await fetch(a,{method:"GET",headers:t?{...t}:void 0});if(!o.ok)throw new Error(`[Waniwani] Failed to fetch /tools: ${o.status} ${o.statusText}`);let r=await o.json();if(!r||!Array.isArray(r.tools))return{};let n={};for(let s of r.tools)s&&typeof s.name=="string"&&(n[s.name]=s);return n}function nu(e){let{api:t="/api/waniwani",headers:a,body:o,onMessageSent:r,onResponseReceived:n,enableThreadHistory:s=!1,activeThreadId:i,onThreadChange:l}=e,u=ce(a),c=ce(o),d=ce(s);Be(()=>{d.current=s},[s]);let p=ce(void 0),m=ce(null),[h,I]=xt(void 0),x=ce(h),[S,C]=xt(i),L=ce(S),[y,v]=xt([]),[A,M]=xt(!s),R=ce(void 0),_=ce(void 0),D=ce(void 0),N=ce(void 0),k=ce(0),B=ce(l);Be(()=>{B.current=l},[l]);let P=Le(b=>{L.current=b,C(b),b&&B.current?.(b)},[]),T=Le(async()=>{if(!s)return;let b=m.current?.memoryUserId;if(!b)return;let U=await Hr(b);v(U)},[s]),O=Le(()=>x.current,[]),Ie=Le(b=>{let U=ru(b);U&&x.current!==U&&(x.current=U,I(U))},[]),ne=Le(()=>{x.current=void 0,I(void 0)},[]);Be(()=>{u.current=a},[a]),Be(()=>{c.current=o},[o]),Be(()=>{let b=!1,U=k.current;return(async()=>{try{let ye=await Gr();if(b)return;m.current=ye}catch{}if(!s)return;let H=m.current?.memoryUserId;if(!H){M(!0);return}try{let ye=i??await Wr(H);if(b||U!==k.current)return;if(ye){let me=await Co(ye);if(b||U!==k.current)return;me&&me.memoryUserId===H&&(L.current=me.threadId,C(me.threadId),R.current=me.createdAt,_.current=me.title,me.sessionId&&(x.current=me.sessionId,I(me.sessionId)),Y(me.messages))}await T()}finally{b||M(!0)}})(),()=>{b=!0}},[]);let Re=ce(new go({api:t,headers:()=>({...u.current}),body:()=>{let b={...c.current??{}},U=Object.hasOwn(b,"sessionId"),H=ru(b.sessionId);if(H)Ie(H),b.sessionId=H;else if(U)ne(),delete b.sessionId;else{let Fe=O();Fe&&(b.sessionId=Fe)}if(It(p.current)&&(b.modelContext=p.current),m.current){let Fe=m.current;b.visitorContext={timezone:Fe.timezone,language:Fe.language,languages:Fe.languages,deviceType:Fe.deviceType,referrer:Fe.referrer,visitorId:Fe.visitorId};let Ve=typeof b.visitor=="object"&&b.visitor!==null?b.visitor:{},bu=typeof Ve.client=="object"&&Ve.client!==null?Ve.client:{};b.visitor={...Ve,id:Fe.visitorId,client:{...bu,memoryUserId:Fe.memoryUserId}}}let ye=typeof b.extra=="object"&&b.extra!==null&&!Array.isArray(b.extra)?b.extra:void 0,me=m.current?.memoryUserId,ue=m.current?.language,ya={};if(me&&(ya.memoryUserId=me),ue&&(ya.locale=ue),(Object.keys(ya).length>0||ye)&&(b.extra={...ya,...ye??{}}),d.current)if(Object.hasOwn(b,"threadId"))typeof b.threadId=="string"&&(L.current=b.threadId);else{let Ve=L.current;Ve||(Ve=ou(),R.current=Io(),_.current=void 0,P(Ve)),b.threadId=Ve}return b},fetch:(async(b,U)=>{let H=await fetch(b,U);return p.current=void 0,Ie(H.headers.get(Xh)),H})})),q=ce(null),fe=ce(null),Ee=ce({}),[Ue,Se]=xt(0),$=e.skipRemoteConfig===!0,j=Le(async()=>{if(!$)try{let b=await Qh(t,u.current);Ee.current=b,Se(U=>U+1)}catch(b){console.warn("[Waniwani] Failed to fetch tool definitions:",b instanceof Error?b.message:b)}},[t,$]);Be(()=>{j()},[j]);let{messages:ge,sendMessage:pe,setMessages:Y,status:se}=$h({messages:e.initialMessages,transport:Re.current,onFinish({message:b}){n?.(),q.current&&(fe.current=b)},onError(b){console.warn("[Waniwani] Chat error:",b.message),q.current&&(q.current.reject(b),q.current=null)}}),re=ce(ge);Be(()=>{re.current=ge},[ge]);let K=ce(s);Be(()=>{if(!s||K.current||(K.current=!0,re.current.length>0))return;let b=!1,U=k.current;return M(!1),(async()=>{try{let H=m.current;if(!H)try{H=await Gr(),m.current=H}catch{}let ye=H?.memoryUserId;if(!ye||b||U!==k.current){b||M(!0);return}let me=i??await Wr(ye);if(b||U!==k.current)return;if(me){let ue=await Co(me);if(b||U!==k.current)return;ue&&ue.memoryUserId===ye&&(L.current=ue.threadId,C(ue.threadId),R.current=ue.createdAt,_.current=ue.title,ue.sessionId&&(x.current=ue.sessionId,I(ue.sessionId)),Y(ue.messages))}await T()}finally{b||M(!0)}})(),()=>{b=!0}},[s]),Be(()=>{if(se==="ready"&&q.current&&fe.current){let b=q.current,U=fe.current;q.current=null,fe.current=null,b.resolve(U)}},[se]);let[ee,W]=xt(""),[te,le]=xt([]),Me=se==="submitted"||se==="streaming",Je=Le(b=>{le(U=>U.filter(H=>H.id!==b))},[]),Lt=Me&&te.length>0,Ct=Le(b=>{let U=!!b.text?.trim(),H=!!b.files?.length;if(U||H){if(Me){if(te.length>0)return;le(ye=>[...ye,{id:ea(),text:b.text||"",files:b.files??[],modelContext:b.modelContext}]),W("");return}p.current=b.modelContext,pe({text:b.text||"",files:b.files}),r?.(b.text||""),W("")}},[pe,r,Me,te.length]),wu=Le(b=>new Promise((U,H)=>{q.current={resolve:U,reject:H},pe({text:b}),r?.(b)}),[pe,r]);Be(()=>{if(se!=="ready"||te.length===0)return;let[b,...U]=te;le(U),p.current=b.modelContext,pe({text:b.text,files:b.files.length>0?b.files:void 0}),r?.(b.text)},[se,pe,r,te]);let xu=Le(()=>{Y([]),le([]),ne(),W(""),Ee.current={},Se(b=>b+1),j()},[Y,ne,j]),Ia=Le(()=>{if(!d.current)return;let b=m.current?.memoryUserId,U=L.current,H=re.current;if(!(!b||!U||H.length===0)){if(R.current||(R.current=Io()),!_.current){let ye=H.find(ue=>ue.role==="user"),me=ye?ye.parts.map(ue=>"text"in ue&&typeof ue.text=="string"?ue.text:"").join(" "):"";_.current=eu(me)}return{threadId:U,memoryUserId:b,title:_.current,messages:H,sessionId:x.current,createdAt:R.current,updatedAt:Io()}}},[]),Vr=Le(async()=>{let b=Ia();b&&(await qr(b),await T())},[Ia,T]);Be(()=>{if(s&&A&&!(se==="submitted"||se==="streaming")&&ge.length!==0)return D.current&&clearTimeout(D.current),D.current=setTimeout(()=>{D.current=void 0;let b=Vr().finally(()=>{N.current===b&&(N.current=void 0)});N.current=b},Kh),()=>{D.current&&clearTimeout(D.current)}},[s,A,ge,se,Vr]);let Sa=Le(()=>{let b=N.current,U=D.current,H=U?Ia():void 0;return U&&(clearTimeout(U),D.current=void 0),(async()=>{b&&await b,H&&(await qr(H),await T())})()},[Ia,T]),Lu=Le(()=>{k.current+=1,Sa(),Y([]),le([]),ne(),W("");let b=ou();return R.current=Io(),_.current=void 0,P(b),T(),b},[Y,ne,P,T,Sa]),So=Le(async b=>{k.current+=1;let U=k.current;if(await Sa(),U!==k.current)return;let H=await Co(b);U===k.current&&H&&(P(H.threadId),R.current=H.createdAt,_.current=H.title,H.sessionId?(x.current=H.sessionId,I(H.sessionId)):ne(),Y(H.messages),le([]),W(""))},[Y,ne,P,Sa]),Cu=Le(async b=>{if(L.current===b){k.current+=1,D.current&&(clearTimeout(D.current),D.current=void 0);let U=N.current;U&&await U}await Yl(b),await T(),L.current===b&&(Y([]),le([]),ne(),W(""),L.current=void 0,C(void 0),R.current=void 0,_.current=void 0)},[Y,ne,T]);Be(()=>{s&&A&&i!==void 0&&i!==L.current&&So(i)},[i,s,A,So]);let Iu=Le(b=>{W(b.target.value)},[]),$r=ge[ge.length-1],Xr=ge.length>0,Su=Me&&(!Xr||$r.role==="user"),yu=Ee.current;return{messages:ge,status:se,text:ee,setText:W,handleSubmit:Ct,handleTextChange:Iu,isLoading:Me,showLoaderBubble:Su,lastMessage:$r,hasMessages:Xr,sendMessage:pe,sendMessageAndWait:wu,reset:xu,queuedMessages:te,queueFull:Lt,removeQueuedMessage:Je,sessionId:h,toolDefinitions:yu,refreshToolDefinitions:j,threads:y,activeThreadId:S,isThreadHistoryReady:A,startNewThread:Lu,switchThread:So,deleteThread:Cu}}f();import{useEffect as su,useRef as Jh,useState as Zh}from"react";var Yh={debug:!1,eval:!1};function iu(e="/api/waniwani",t,a=!1){let[o,r]=Zh(Yh),n=Jh(t);return su(()=>{n.current=t},[t]),su(()=>{a||(async()=>{try{let s=n.current,l=await(await fetch(Mt(e,"/config"),{headers:s?{...s}:void 0})).json();r({debug:l.debug===!0,eval:l.eval===!0})}catch{}})()},[e,a]),o}f();import{useCallback as eg,useEffect as jr,useRef as tg,useState as ag}from"react";function og(e){for(let t of e.parts){let a=t;if(a.type==="data"||a.type==="data-suggestions"){let o=a.data;if(o&&Array.isArray(o.suggestions))return o.suggestions}}return null}function lu(e){return typeof e=="object"&&e!==null&&"initial"in e}function uu(e){let{messages:t,status:a,config:o}=e,r=lu(o)&&o.initial?o.initial:void 0,[n,s]=ag(r??[]),i=tg(a),l=o===!0||lu(o)&&o.dynamic!==!1,u=eg(()=>{s([])},[]),c=t.length>0;jr(()=>{!c&&r&&r.length>0&&s(r)},[r,c]);let d=t[t.length-1];return jr(()=>{d?.role==="user"&&u()},[d,u]),jr(()=>{let p=i.current;if(i.current=a,p==="streaming"&&a==="ready"&&l){let m=[...t].reverse().find(I=>I.role==="assistant");if(!m)return;let h=og(m);h&&s(h)}},[a,l,t]),{suggestions:n,isLoading:!1,clear:u}}f();import{useEffect as rg,useRef as ng,useState as sg}from"react";var ig=80,lg=50,ug=15e3,du=500;function cu(e,t=!0){let[a,o]=sg(""),r=ng(void 0);return rg(()=>{if(!t){o("");return}let n=0,s=!1,i=!1,l=()=>{i||(s?(n--,o(e.slice(0,n)),n<=0?(s=!1,r.current=setTimeout(l,du)):r.current=setTimeout(l,lg)):(n++,o(e.slice(0,n)),n>=e.length?(s=!0,r.current=setTimeout(l,ug)):r.current=setTimeout(l,ig)))};return r.current=setTimeout(l,du),()=>{i=!0,clearTimeout(r.current)}},[e,t]),a}f();function fu(e,t){let a=t?.Authorization,o=typeof a=="string"&&a.startsWith("Bearer ")?a.slice(7):null;return Mt(e,"/resource",o?{token:o}:void 0)}f();var dg={primaryColor:"#6366f1",primaryForeground:"#1f2937",backgroundColor:"#ffffff",textColor:"#1f2937",mutedColor:"#6b7280",borderColor:"#e5e7eb",borderWidth:0,boxShadow:"none",assistantBubbleColor:"#f3f4f6",userBubbleColor:"#f4f4f4",inputBackgroundColor:"#f9fafb",borderRadius:16,messageBorderRadius:12,fontFamily:"system-ui, -apple-system, 'Segoe UI', sans-serif",headerBackgroundColor:"#ffffff",headerTextColor:"#1f2937",statusColor:"#22c55e",toolCardColor:"#f4f4f5"};var cg={primaryColor:["--ww-primary","--ww-color-primary"],primaryForeground:["--ww-primary-fg","--ww-color-primary-foreground"],backgroundColor:["--ww-bg","--ww-color-background"],textColor:["--ww-text","--ww-color-foreground","--ww-color-accent-foreground"],mutedColor:["--ww-muted","--ww-color-muted-foreground"],borderColor:["--ww-border","--ww-color-border"],borderWidth:["--ww-border-width"],boxShadow:["--ww-shadow"],assistantBubbleColor:["--ww-assistant-bubble","--ww-color-accent"],userBubbleColor:["--ww-user-bubble"],inputBackgroundColor:["--ww-input-bg","--ww-color-input"],borderRadius:["--ww-radius"],messageBorderRadius:["--ww-msg-radius"],fontFamily:["--ww-font"],headerBackgroundColor:["--ww-header-bg"],headerTextColor:["--ww-header-text"],statusColor:["--ww-status"],toolCardColor:["--ww-tool-card","--ww-color-tool-card"]};function pu(e){return{...dg,...e}}function mu(e){let t={};for(let[a,o]of Object.entries(cg)){let r=e[a];if(r===void 0)continue;let n=typeof r=="number"?`${r}px`:String(r);for(let s of o)t[s]=n}return t}import{jsx as Ce,jsxs as Ca}from"react/jsx-runtime";var hg=fg(function(t,a){let{theme:o,title:r="Assistant",width:n,height:s,className:i,allowAttachments:l=!1,welcomeMessage:u,welcome:c,placeholder:d="Ask me anything...",triggerEvent:p="triggerDemoRequest",api:m,debug:h,enableThreadHistory:I=!1,showToolCalls:x=!0}=t,S=m??"/api/waniwani",C=fu(S,t.headers),L=pu(o),y=mu(L),v=L.backgroundColor.replace("#",""),A=parseInt(v.substring(0,2),16),M=parseInt(v.substring(2,4),16),R=parseInt(v.substring(4,6),16),_=(A*299+M*587+R*114)/1e3<128,D=iu(S,t.headers,t.skipRemoteConfig),N=h??D.debug,k=nu({...t,api:S}),B=$l({...t,api:S,sessionId:k.sessionId}),P=cu(d,!k.text),[T,O]=gu(!1),[Ie,ne]=gu(null),Re=hu(null),q=hu(void 0),fe=zr(()=>{let $=Re.current;if(!$)return;$.scrollIntoView({behavior:"smooth",block:"center"});let j=$.querySelector("textarea");j&&setTimeout(()=>j.focus(),300),O(!0),clearTimeout(q.current),q.current=setTimeout(()=>O(!1),2e3)},[]),Ee=uu({messages:k.messages,status:k.status,config:t.suggestions}),Ue=zr($=>{let j=$.content.map(ge=>ge.text??"").join("").trim();j&&k.handleSubmit({text:j,files:[],modelContext:$.modelContext})},[k.handleSubmit]),Se=zr($=>{Ee.clear(),k.handleSubmit({text:$,files:[]})},[Ee.clear,k.handleSubmit]);return mg(a,()=>({sendMessage:$=>{k.handleSubmit({text:$,files:[]}),fe()},sendMessageAndWait:$=>k.sendMessageAndWait($),reset:k.reset,focus:fe,get messages(){return k.messages},get sessionId(){return k.sessionId}}),[k.handleSubmit,k.sendMessageAndWait,k.reset,k.messages,k.sessionId,fe]),pg(()=>{if(!p)return;let $=j=>{let ge=j.detail,pe=typeof ge?.message=="string"?ge.message:void 0;pe&&k.handleSubmit({text:pe,files:[]}),fe()};return window.addEventListener(p,$),()=>window.removeEventListener(p,$)},[p,k.handleSubmit,fe]),Ca("div",{ref:Re,style:{...y,width:n,height:s},"data-waniwani-chat":"","data-waniwani-layout":"card",..._?{"data-waniwani-dark":""}:{},className:F("ww:flex ww:flex-col ww:font-[family-name:var(--ww-font)] ww:text-foreground ww:bg-background ww:rounded-[var(--ww-radius)] ww:overflow-hidden",T&&"ww:ring-2 ww:ring-blue-400/70 ww:ring-offset-2 ww:ring-offset-background",i),children:[Ca("div",{className:"ww:shrink-0 ww:flex ww:items-center ww:gap-2 ww:px-6 ww:py-3",style:{backgroundColor:L.headerBackgroundColor,color:L.headerTextColor},children:[Ce("div",{className:"ww:text-sm ww:font-semibold ww:truncate ww:flex-1 ww:min-w-0",children:r}),Ce(Rs,{messages:k.messages,evalEnabled:D.eval,api:S}),I&&Ce(Vl,{threads:k.threads,activeThreadId:k.activeThreadId,onNewThread:k.startNewThread,onSelectThread:$=>{k.switchThread($)},onDeleteThread:$=>{k.deleteThread($)}})]}),Ca(is,{className:"ww:flex-1 ww:min-h-0 ww:bg-background",children:[Ce(ls,{scrollClassName:Ie?"ww:!relative ww:!overflow-hidden":void 0,children:Ce(ql,{messages:k.messages,status:k.status,welcomeMessage:u,welcome:c,onSuggestionSelect:Se,resourceEndpoint:C,chatSessionId:k.sessionId,isDark:_,onFollowUp:Ue,onCallTool:B,fullscreenToolCallId:Ie,debug:N,showToolCalls:x,toolDefinitions:k.toolDefinitions,onWidgetDisplayModeChange:($,j)=>{ne($==="fullscreen"?j.toolCallId:null)}})}),Ce(us,{})]}),Ce("div",{style:Ie?{display:"none"}:void 0,children:Ce(jl,{suggestions:Ee.suggestions,isLoading:Ee.isLoading,onSelect:Se})}),Ce("div",{style:Ie?{display:"none"}:void 0,children:Ce(vs,{queuedMessages:k.queuedMessages,onRemove:k.removeQueuedMessage})}),Ce("div",{style:Ie?{display:"none"}:void 0,children:Ce("div",{className:"ww:shrink-0 ww:px-4 ww:pb-8 ww:pt-2 ww:bg-background",children:Ca("div",{className:"ww:mx-auto ww:w-full ww:max-w-3xl",children:[Ce(hs,{onSubmit:k.handleSubmit,globalDrop:l,multiple:l,className:"ww:rounded-2xl ww:border-border ww:bg-input",children:Ca("div",{className:"ww:flex ww:items-center ww:gap-1 ww:pl-4 ww:pr-3 ww:py-2.5",children:[l&&Ce(xs,{}),Ce(gs,{onChange:k.handleTextChange,value:k.text,placeholder:P,className:"ww:min-h-0 ww:py-1 ww:px-0"}),Ce(ws,{status:k.status,disabled:k.queueFull})]})}),Ce(Gl,{})]})})})]})});export{hg as ChatCard,gn as DevModeProvider,Fu as InitializeNextJsInIframe,pd as LoadingWidget,bn as WidgetProvider,cn as createResource,Pu as createTool,yo as detectPlatform,Pa as getMockState,_t as initializeMockOpenAI,Tu as isMCPApps,ku as isOpenAI,Au as registerTools,ML as toNextJsHandler,Cn as unstable_useSendFollowUpWithGhostGuard,Ot as updateMockDisplayMode,st as updateMockGlobal,Ut as updateMockTheme,Nt as updateMockToolOutput,kn as useCallTool,Tn as useDisplayMode,vn as useFlowAction,Pn as useIsChatGptApp,An as useLocale,Rn as useMaxHeight,Mn as useOpenExternal,Fn as useRequestDisplayMode,Dn as useSafeArea,Bn as useSendFollowUp,En as useTheme,Ra as useToolOutput,_n as useToolResponseMetadata,Nn as useUpdateModelContext,V as useWidgetClient,On as useWidgetState};
81
+ ${G}`}]}}_.current({...Q,...te?{modelContext:te}:{}})}z({jsonrpc:"2.0",id:ne,result:{}});return}if(se==="ui/update-model-context"&&ne!=null){Ue=Kr(Ue,ee.params),z({jsonrpc:"2.0",id:ne,result:{}});return}if(se==="tools/call"&&ne!=null){let Q=v.current;if(!Q){z({jsonrpc:"2.0",id:ne,error:{code:-32601,message:"tools/call not supported"}});return}let te=ee.params?.name;Q({name:te,arguments:ee.params?.arguments??{}}).then(G=>{z({jsonrpc:"2.0",id:ne,result:G});let ae=G.content?.map(ue=>ue.text??"").join("").trim();ae&&ph(te,G,y.current)&&(Se&&clearTimeout(Se.timer),Se={text:ae,timer:setTimeout(()=>{if(pe)return;let ue=Ue;Ue=null,Se=null,_.current?.({role:"user",content:[{type:"text",text:ae}],...ue?{modelContext:ue}:{}})},500)})}).catch(G=>{let ae=G instanceof Error?G.message:"Tool call failed";z({jsonrpc:"2.0",id:ne,error:{code:-32e3,message:ae}})});return}if(se==="ui/request-display-mode"&&ne!=null){let Q=ee.params?.mode,te=Q==="fullscreen"||Q==="inline"||Q==="pip"?Q:"inline";T.current=te,z({jsonrpc:"2.0",id:ne,result:{mode:te}}),z({jsonrpc:"2.0",method:"ui/notifications/host-context-changed",params:{displayMode:te}}),D.current?.(te);return}if(se==="ui/resource-teardown"&&ne!=null){z({jsonrpc:"2.0",id:ne,result:{}});return}se==="ping"&&ne!=null&&z({jsonrpc:"2.0",id:ne,result:{}})};return window.addEventListener("message",we),()=>{pe=!0,clearTimeout(X),Se&&clearTimeout(Se.timer),window.removeEventListener("message",we)}},[i,N]),mh("iframe",{ref:h,src:H,sandbox:"allow-scripts allow-forms allow-same-origin allow-popups allow-popups-to-escape-sandbox",className:R(!p&&"ww:rounded-md ww:border ww:border-border",s),style:{height:p?"100%":P,minWidth:p||!A?void 0:`min(${A}px, 100%)`,width:"100%",border:"none",colorScheme:n?"dark":"auto"},title:"MCP App"})}f();import{jsx as Ca,jsxs as hh}from"react/jsx-runtime";function Ul({icon:e,title:t,description:a,suggestions:o,onSuggestionSelect:r}){return hh("div",{className:"ww:flex ww:flex-col ww:items-center ww:justify-center ww:py-12 ww:px-6 ww:text-center ww:min-h-full",children:[e&&Ca("div",{className:"ww:mb-4 ww:flex ww:items-center ww:justify-center ww:size-12 ww:rounded-xl ww:bg-foreground ww:text-background",children:e}),Ca("h2",{className:"ww:text-lg ww:font-semibold ww:text-foreground",children:t}),a&&Ca("p",{className:"ww:mt-1 ww:text-sm ww:text-muted-foreground ww:max-w-sm",children:a}),o&&o.length>0&&Ca("div",{className:"ww:mt-6 ww:w-full ww:max-w-md ww:flex ww:flex-col ww:gap-2",children:o.map((n,s)=>Ca("button",{type:"button",onClick:()=>r?.(n),className:R("ww:w-full ww:text-left ww:rounded-xl ww:border ww:border-border ww:bg-background ww:px-4 ww:py-3 ww:text-sm","ww:text-foreground ww:hover:bg-accent ww:hover:border-primary/30","ww:transition-all ww:duration-200 ww:ease-out ww:cursor-pointer","ww:animate-[ww-fade-in_0.2s_ease-out_both]"),style:{animationDelay:`${s*50}ms`},children:n},n))})]})}f();import{Component as gh}from"react";import{jsx as Br,jsxs as xh}from"react/jsx-runtime";function wh({onRetry:e}){let{t}=V();return xh("div",{className:"ww:flex ww:items-center ww:justify-between ww:rounded-md ww:border ww:border-border ww:bg-muted/50 ww:px-4 ww:py-3 ww:text-sm ww:text-muted-foreground",children:[Br("span",{children:t.widgetErrorBoundary.failedToLoad}),Br("button",{type:"button",onClick:e,className:"ww:text-xs ww:font-medium ww:text-primary ww:hover:underline",children:t.widgetErrorBoundary.retry})]})}var mo=class extends gh{state={hasError:!1};static getDerivedStateFromError(){return{hasError:!0}}componentDidCatch(t){console.warn("[Waniwani] Widget failed to render:",t.message)}render(){return this.state.hasError?Br(wh,{onRetry:()=>this.setState({hasError:!1})}):this.props.children}};import{Fragment as Ch,jsx as Z,jsxs as nt}from"react/jsx-runtime";function Er(e){return e?e.replace(/[-_]/g," ").replace(/^\w/,t=>t.toUpperCase()):"Tool"}function Hl(e){return e&&/search|find|lookup|query|web|browse|google/i.test(e)?Xt:lt}function ql({messages:e,status:t,welcomeMessage:a,welcome:o,onSuggestionSelect:r,resourceEndpoint:n,chatSessionId:s,isDark:i,onFollowUp:l,onCallTool:u,onWidgetDisplayModeChange:c,fullscreenToolCallId:d,debug:p,showToolCalls:m=!0,toolDefinitions:h,messageClassNames:I}){let{t:x}=V(),S=e[e.length-1],L=e.length>0,C=d!=null,k=!C&&El(e,t,{ignoreToolParts:m===!1,ignoreReasoningParts:m===!1});return nt(Ch,{children:[!C&&(!L&&o?Z(Ul,{...o,onSuggestionSelect:r}):a&&Z(kr,{from:"assistant",children:Z(Tr,{children:Z(po,{children:a})})})),e.map(T=>{let P=T.parts.filter(y=>y.type==="text"),M=T.parts.filter(y=>y.type==="reasoning"),A=T.parts.filter(y=>y.type==="file"),E=T.parts.filter(y=>"toolCallId"in y),F=T.parts.filter(y=>y.type==="reasoning"||"toolCallId"in y),_=T===S&&T.role==="assistant",v=P.length>0,D=C?E.some(y=>y.toolCallId===d):!1,q=m!==!1&&!D&&F.length>=2;return C&&!D?Z("div",{style:{display:"none"}},T.id):T.role==="assistant"&&!Bl(T)?Z("div",{style:{display:"none"}},T.id):m===!1&&T.role==="assistant"&&!v&&A.length===0&&E.every(y=>{let N="output"in y?y.output:void 0;return N===void 0||!n||!xa(y.toolName,N,h)})?Z("div",{style:{display:"none"}},T.id):nt(kr,{from:T.role,className:I?.message,children:[m!==!1&&!D&&!q&&M.map((y,N)=>nt(aa,{isStreaming:y.state==="streaming",children:[Z(oa,{}),Z(ra,{children:y.text})]},`reasoning-${T.id}-${N}`)),q&&(()=>{let y=F[F.length-1],N=y.type==="reasoning"?{icon:Xe,label:x.reasoning.thinking}:{icon:Hl(y.toolName),label:y.title??Er(y.toolName)};return nt(Ns,{isWorking:_&&(t==="streaming"||t==="submitted"),activeStep:N,children:[Z(Os,{workingLabel:x.chainOfThought.working,label:x.chainOfThought.done}),Z(Us,{children:F.map((H,le)=>{let Te=le===F.length-1;if(H.type==="reasoning")return Z(qs,{isStreaming:H.state==="streaming",isLast:Te,children:H.text},`reasoning-${T.id}-${le}`);let W=H.title??Er(H.toolName),pe=Hl(H.toolName);if(m==="titles-only")return Z(zo,{icon:pe,title:W,state:H.state,isLast:Te},H.toolCallId);let ve="output"in H?H.output:void 0;return nt(zo,{icon:pe,title:W,state:H.state,isLast:Te,children:[Z(Mr,{input:H.input,debug:p}),ve!==void 0&&Z(Fr,{output:ve,errorText:"errorText"in H?H.errorText:void 0,debug:p})]},H.toolCallId)})})]})})(),m!==!1&&!D&&!q&&E.length===1&&(()=>{let y=E[0],N=y.title??Er(y.toolName);if(m==="titles-only")return Z(vl,{title:N,state:y.state});let H="output"in y?y.output:void 0;return nt(kl,{children:[Z(Tl,{title:N,state:y.state}),nt(Pl,{children:[Z(Mr,{input:y.input,debug:p}),H!==void 0&&Z(Fr,{output:H,errorText:"errorText"in y?y.errorText:void 0,debug:p})]})]})})(),E.map(y=>{let N="output"in y?y.output:void 0,H=xa(y.toolName,N,h),le=Ml(y.toolName,N,h),Te=y.toolCallId===d;return H&&n&&N!==void 0?Z("div",{style:Te?{position:"absolute",inset:0,zIndex:10,display:"flex",flexDirection:"column",overflow:"hidden",background:"var(--ww-color-background)"}:void 0,children:H&&n&&N!==void 0&&Z(mo,{children:Z(Ol,{isFullscreen:Te,resourceUri:H,toolInput:y.input??{},toolResult:{content:N.content,structuredContent:N.structuredContent,_meta:N._meta},resourceEndpoint:n,chatSessionId:s,isDark:i,autoHeight:le,toolDefinitions:h,onFollowUp:l,onCallTool:u,onDisplayModeChange:c?W=>c(W,{toolCallId:y.toolCallId,resourceUri:H,toolInput:y.input??{},toolResult:{content:N.content,structuredContent:N.structuredContent,_meta:N._meta},autoHeight:le}):void 0})})},y.toolCallId):null}),!D&&Z("div",{children:nt(Tr,{className:R(T.role==="user"?I?.userBubble:I?.assistantBubble),children:[A.length>0&&Z(Ms,{files:A}),v?P.map((y,N)=>{let H=_&&t==="streaming"&&N===P.length-1;return Z(po,{isStreaming:H,children:y.type==="text"?y.text:""},`${T.id}-${N}`)}):null]})})]},T.id)}),k&&Z(_l,{})]})}f();import{jsx as Wl,jsxs as Sh}from"react/jsx-runtime";var Lh="https://app.waniwani.ai/assets/waniwani-logo.svg",Ih="https://waniwani.ai";function Gl(){let{t:e}=V();return Sh("a",{href:Ih,target:"_blank",rel:"noopener noreferrer",className:"ww:flex ww:items-center ww:gap-1.5 ww:whitespace-nowrap ww:text-[10px] ww:sm:text-[11px] ww:text-muted-foreground ww:opacity-70 hover:ww:opacity-100 ww:transition-opacity",children:[Wl("span",{children:e.poweredBy.label}),Wl("img",{src:Lh,alt:"Waniwani",width:72,height:10,"data-waniwani-logo":"",className:"ww:h-2.5 ww:w-auto"})]})}f();import{jsx as ho}from"react/jsx-runtime";function jl({suggestions:e,isLoading:t,onSelect:a,className:o,...r}){return e.length===0&&!t?null:ho("div",{className:R("ww:px-4 ww:py-2",o),...r,children:ho("div",{className:"ww:mx-auto ww:w-full ww:max-w-3xl ww:flex ww:flex-wrap ww:gap-2",children:t?[0,1,2].map(n=>ho("div",{className:"ww:h-8 ww:rounded-full ww:bg-accent ww:animate-pulse",style:{width:`${60+n*20}px`}},n)):e.map((n,s)=>ho("button",{type:"button",onClick:()=>a(n),className:R("ww:rounded-full ww:border ww:border-border ww:bg-background ww:px-3.5 ww:py-1.5 ww:text-sm","ww:text-foreground ww:hover:bg-accent ww:hover:border-primary/30","ww:transition-all ww:duration-200 ww:ease-out ww:cursor-pointer","ww:animate-[ww-fade-in_0.2s_ease-out_both]"),style:{animationDelay:`${s*50}ms`},children:n},n))})})}f();import{useEffect as yh,useRef as bh,useState as kh}from"react";import{jsx as re,jsxs as wt}from"react/jsx-runtime";var zl=20;function Th({label:e}){return wt("svg",{xmlns:"http://www.w3.org/2000/svg",width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",role:"img","aria-label":e,children:[re("title",{children:e}),re("line",{x1:"12",y1:"5",x2:"12",y2:"19"}),re("line",{x1:"5",y1:"12",x2:"19",y2:"12"})]})}function vh({label:e}){return wt("svg",{xmlns:"http://www.w3.org/2000/svg",width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",role:"img","aria-label":e,children:[re("title",{children:e}),re("path",{d:"M3 12a9 9 0 1 0 3-6.7"}),re("polyline",{points:"3 4 3 9 8 9"}),re("line",{x1:"12",y1:"7",x2:"12",y2:"12"}),re("line",{x1:"12",y1:"12",x2:"15",y2:"14"})]})}function Ph({label:e}){return wt("svg",{xmlns:"http://www.w3.org/2000/svg",width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",role:"img","aria-label":e,children:[re("title",{children:e}),re("polyline",{points:"3 6 5 6 21 6"}),re("path",{d:"M19 6l-2 14a2 2 0 0 1-2 2H9a2 2 0 0 1-2-2L5 6"}),re("path",{d:"M10 11v6"}),re("path",{d:"M14 11v6"})]})}function Vl({threads:e,activeThreadId:t,onNewThread:a,onSelectThread:o,onDeleteThread:r}){let{locale:n,t:s}=V(),[i,l]=kh(!1),u=bh(null);yh(()=>{if(!i)return;let p=m=>{let h=u.current;h&&(m.composedPath().includes(h)||l(!1))};return document.addEventListener("mousedown",p),()=>document.removeEventListener("mousedown",p)},[i]);let c=e.slice(0,zl),d=Math.max(0,e.length-zl);return wt("div",{ref:u,className:"ww:relative ww:flex ww:items-center ww:gap-1",children:[re("button",{type:"button",onClick:a,title:s.threadMenu.newChat,"aria-label":s.threadMenu.newChat,className:"ww:p-1.5 ww:rounded-md ww:text-muted-foreground hover:ww:text-foreground hover:ww:bg-foreground/5 ww:transition-colors ww:cursor-pointer",children:re(Th,{label:s.threadMenu.newChat})}),re("button",{type:"button",onClick:()=>l(p=>!p),title:s.threadMenu.threadHistory,"aria-label":s.threadMenu.threadHistory,"aria-expanded":i,className:"ww:p-1.5 ww:rounded-md ww:text-muted-foreground hover:ww:text-foreground hover:ww:bg-foreground/5 ww:transition-colors ww:cursor-pointer",children:re(vh,{label:s.threadMenu.threadHistory})}),i&&wt("div",{role:"menu",className:"ww:absolute ww:right-0 ww:top-full ww:mt-1 ww:w-72 ww:max-h-80 ww:overflow-y-auto ww:rounded-lg ww:border ww:border-border ww:bg-background ww:shadow-lg ww:z-50",children:[c.length===0&&re("div",{className:"ww:px-3 ww:py-3 ww:text-xs ww:text-muted-foreground",children:s.threadMenu.noPreviousChats}),c.map(p=>{let m=p.threadId===t,h=Date.parse(p.updatedAt);return wt("div",{className:`ww:flex ww:items-center ww:gap-2 ww:px-3 ww:py-2 ww:text-xs hover:ww:bg-foreground/5 ${m?"ww:bg-foreground/5":""}`,children:[wt("button",{type:"button",onClick:()=>{o(p.threadId),l(!1)},className:"ww:flex-1 ww:min-w-0 ww:text-left ww:cursor-pointer",children:[re("div",{className:"ww:truncate ww:text-foreground ww:font-medium",children:p.title}),re("div",{className:"ww:text-[10px] ww:text-muted-foreground",children:Number.isNaN(h)?"":Oo(h,n)})]}),re("button",{type:"button",onClick:I=>{I.stopPropagation(),r(p.threadId)},title:s.threadMenu.deleteThread,"aria-label":s.threadMenu.deleteThread,className:"ww:p-1 ww:rounded ww:text-muted-foreground hover:ww:text-foreground hover:ww:bg-foreground/10 ww:transition-colors ww:cursor-pointer",children:re(Ph,{label:s.threadMenu.deleteThread})})]},p.threadId)}),d>0&&re("div",{className:"ww:px-3 ww:py-2 ww:text-[10px] ww:text-muted-foreground ww:border-t ww:border-border",children:s.threadMenu.hiddenThreads(d)})]})]})}f();import{useCallback as Ah,useRef as Rh}from"react";function $l(e){let t=Rh(e);return t.current=e,Ah(async a=>{let{api:o,headers:r,onCallTool:n,sessionId:s}=t.current;if(n)return n(a);let i=`${o??"/api/waniwani"}/tool`,l=typeof s=="string"&&s.trim().length>0?s.trim():void 0,u=await fetch(i,{method:"POST",headers:{"Content-Type":"application/json",...l?{"X-Session-Id":l}:{},...r},body:JSON.stringify(a)});if(!u.ok)throw new Error(`Tool call failed: ${u.status} ${u.statusText}`);return u.json()},[])}f();import{useChat as $h}from"@ai-sdk/react";import{useCallback as Le,useEffect as Ee,useRef as fe,useState as xt}from"react";f();function Mt(e,t,a){let[o,r=""]=e.split("?"),n=o.replace(/\/$/,""),s=new URLSearchParams(r);if(a)for(let[l,u]of Object.entries(a))s.set(l,u);let i=s.toString();return`${n}${t}${i?`?${i}`:""}`}f();import{DefaultChatTransport as Mh,uiMessageChunkSchema as Fh}from"ai";function Dh(e){let t=e?.cause,a=t?.issues??t?.errors;if(!Array.isArray(a))return null;let o=a.find(r=>r.code==="invalid_union");if(!o?.errors)return null;for(let r of o.errors){if(!Array.isArray(r)||r.some(i=>(i.code==="invalid_value"||i.code==="invalid_literal")&&i.path?.[0]==="type"))continue;let s=r.filter(i=>i.code==="unrecognized_keys").flatMap(i=>i.keys??[]);if(s.length>0)return s}return null}var go=class extends Mh{processResponseStream(t){let a="",o=Fh(),r=o.validate?.bind(o);return t.pipeThrough(new TextDecoderStream).pipeThrough(new TransformStream({async transform(n,s){a+=n;let i=a.split(`
82
+ `);a=i.pop()??"";for(let l of i){let u=l.trim();if(!u.startsWith("data:"))continue;let c=u.slice(5).trim();if(c!=="[DONE]")try{let d=JSON.parse(c);if(!r){s.enqueue(d);continue}let p=await r(d);if(p.success){s.enqueue(p.value);continue}let m=Dh(p.error);if(m?.length){let h={...d};for(let x of m)delete h[x];let I=await r(h);I.success&&s.enqueue(I.value)}}catch{}}}}))}};f();f();var Bh="waniwani-memory";var Me="threads",wo="by_memoryUserId",Eh="by_updatedAt";var Kl="memoryUserId",Xl="waniwani-memory-user-id",_r=null;function Nr(){return typeof crypto<"u"&&typeof crypto.randomUUID=="function"?crypto.randomUUID():"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,e=>{let t=Math.random()*16|0;return(e==="x"?t:t&3|8).toString(16)})}function _h(e,t){if(t<1&&(e.objectStoreNames.contains("ids")||e.createObjectStore("ids")),t<2&&!e.objectStoreNames.contains(Me)){let a=e.createObjectStore(Me,{keyPath:"threadId"});a.createIndex(wo,"memoryUserId",{unique:!1}),a.createIndex(Eh,"updatedAt",{unique:!1})}}async function Or(){return new Promise((e,t)=>{let a=indexedDB.open(Bh,2);a.onupgradeneeded=o=>{_h(a.result,o.oldVersion)},a.onsuccess=()=>e(a.result),a.onerror=()=>t(a.error)})}async function Nh(){return Or()}async function Oh(e){return new Promise((t,a)=>{let n=e.transaction("ids","readonly").objectStore("ids").get(Kl);n.onsuccess=()=>t(typeof n.result=="string"?n.result:null),n.onerror=()=>a(n.error)})}async function Uh(e,t){return new Promise((a,o)=>{let s=e.transaction("ids","readwrite").objectStore("ids").put(t,Kl);s.onsuccess=()=>a(),s.onerror=()=>o(s.error)})}async function Hh(){if(typeof indexedDB>"u")return null;try{let e=await Nh();try{let t=await Oh(e);if(t)return t;let a=Nr();return await Uh(e,a),a}finally{e.close()}}catch{return null}}function qh(){try{let e=localStorage.getItem(Xl);if(e)return e;let t=Nr();return localStorage.setItem(Xl,t),t}catch{return null}}async function Ql(){let e=await Hh();if(e)return e;let t=qh();return t||(_r||(_r=Nr()),_r)}var Jl=50,Yl=1e3;function xo(e){if(!e||typeof e!="object")return!1;let t=e;return typeof t.threadId=="string"&&typeof t.memoryUserId=="string"&&typeof t.title=="string"&&Array.isArray(t.messages)&&typeof t.createdAt=="string"&&typeof t.updatedAt=="string"}async function Co(e){if(typeof indexedDB>"u")return null;let t=null;try{return t=await Or(),await e(t)}catch{return null}finally{try{t?.close()}catch{}}}function Ur(e){return new Promise((t,a)=>{e.onsuccess=()=>t(e.result),e.onerror=()=>a(e.error)})}async function Hr(e){return await Co(async a=>{let n=a.transaction(Me,"readonly").objectStore(Me).index(wo),i=(await Ur(n.getAll(e))??[]).filter(xo);return i.sort((l,u)=>l.updatedAt<u.updatedAt?1:-1),i})??[]}async function Lo(e){return await Co(async a=>{let r=a.transaction(Me,"readonly").objectStore(Me),n=await Ur(r.get(e));return xo(n)?n:null})??null}async function qr(e){if(!xo(e))return;let t=e.messages.length>Yl?{...e,messages:e.messages.slice(e.messages.length-Yl)}:e;await Co(async a=>{await new Promise((l,u)=>{let c=a.transaction(Me,"readwrite");c.oncomplete=()=>l(),c.onerror=()=>u(c.error),c.onabort=()=>u(c.error),c.objectStore(Me).put(t)});let o=a.transaction(Me,"readwrite"),r=o.objectStore(Me),n=r.index(wo),i=(await Ur(n.getAll(t.memoryUserId))??[]).filter(xo);if(i.length>Jl){i.sort((u,c)=>u.updatedAt<c.updatedAt?-1:1);let l=i.slice(0,i.length-Jl);for(let u of l)r.delete(u.threadId)}return await new Promise((l,u)=>{o.oncomplete=()=>l(),o.onerror=()=>u(o.error),o.onabort=()=>u(o.error)}),null})}async function Zl(e){await Co(async t=>(await new Promise((a,o)=>{let r=t.transaction(Me,"readwrite");r.oncomplete=()=>a(),r.onerror=()=>o(r.error),r.onabort=()=>o(r.error),r.objectStore(Me).delete(e)}),null))}async function Wr(e){return(await Hr(e))[0]?.threadId??null}function eu(e){let t=e.trim();if(!t)return`Conversation on ${new Date().toISOString().slice(0,10)}`;let a=t.split(/\r?\n/,1)[0]??t;return a.length<=60?a:`${a.slice(0,60).trimEnd()}\u2026`}f();var tu="waniwani-visitor-id";function au(e,t){return e.match(t)?.[1]??null}function Wh(e){let t=[["Edge",/Edg(?:e|A|iOS)?\/(\S+)/],["Opera",/(?:OPR|Opera)\/(\S+)/],["Samsung Internet",/SamsungBrowser\/(\S+)/],["Firefox",/Firefox\/(\S+)/],["Chrome",/Chrome\/(\S+)/],["Safari",/Version\/(\S+).*Safari/]];for(let[a,o]of t){let r=au(e,o);if(r)return{name:a,version:r}}return null}function Gh(e){let t=[["iOS",/(?:iPhone|iPad|iPod).+?OS (\d+[_.\d]*)/],["Android",/Android (\d+[.\d]*)/],["macOS",/Mac OS X (\d+[_.\d]*)/],["Windows",/Windows NT (\d+[.\d]*)/],["ChromeOS",/CrOS \S+ (\d+[.\d]*)/],["Linux",/Linux/]];for(let[a,o]of t){let r=au(e,o);if(r)return{name:a,version:r.replace(/_/g,".")};if(a==="Linux"&&o.test(e))return{name:a,version:""}}return null}function jh(e){return typeof navigator<"u"&&"userAgentData"in navigator&&navigator.userAgentData?.mobile?"mobile":/iPad|tablet|PlayBook/i.test(e)?"tablet":/Mobi|Android.*Mobile|iPhone|iPod/i.test(e)?"mobile":"desktop"}async function zh(e){let t=new TextEncoder().encode(e),a=await crypto.subtle.digest("SHA-256",t);return Array.from(new Uint8Array(a)).map(o=>o.toString(16).padStart(2,"0")).join("")}async function Vh(){try{let a=localStorage.getItem(tu);if(a)return a}catch{}let e=[navigator.userAgent,screen.width,screen.height,screen.colorDepth,Intl.DateTimeFormat().resolvedOptions().timeZone,navigator.language,navigator.hardwareConcurrency??"",navigator.platform??""].join("|"),t=await zh(e);try{localStorage.setItem(tu,t)}catch{}return t}async function Gr(){let e=navigator.userAgent,[t,a]=await Promise.all([Vh(),Ql()]);return{userAgent:e,browser:Wh(e),os:Gh(e),deviceType:jh(e),language:navigator.language,languages:[...navigator.languages],timezone:Intl.DateTimeFormat().resolvedOptions().timeZone,screenWidth:screen.width,screenHeight:screen.height,viewportWidth:window.innerWidth,viewportHeight:window.innerHeight,colorDepth:screen.colorDepth,devicePixelRatio:window.devicePixelRatio??1,touchSupport:"ontouchstart"in window||navigator.maxTouchPoints>0,connectionType:navigator.connection?.effectiveType??"unknown",referrer:document.referrer,visitorId:t,memoryUserId:a}}var Xh="x-session-id",Kh=250;function ou(){return typeof crypto<"u"&&typeof crypto.randomUUID=="function"?crypto.randomUUID():ea()}function Io(){return new Date().toISOString()}function ru(e){if(typeof e!="string")return;let t=e.trim();return t.length>0?t:void 0}async function Qh(e,t){let a=Mt(e,"/tools"),o=await fetch(a,{method:"GET",headers:t?{...t}:void 0});if(!o.ok)throw new Error(`[Waniwani] Failed to fetch /tools: ${o.status} ${o.statusText}`);let r=await o.json();if(!r||!Array.isArray(r.tools))return{};let n={};for(let s of r.tools)s&&typeof s.name=="string"&&(n[s.name]=s);return n}function nu(e){let{api:t="/api/waniwani",headers:a,body:o,onMessageSent:r,onResponseReceived:n,enableThreadHistory:s=!1,activeThreadId:i,onThreadChange:l}=e,u=fe(a),c=fe(o),d=fe(s);Ee(()=>{d.current=s},[s]);let p=fe(void 0),m=fe(null),[h,I]=xt(void 0),x=fe(h),[S,L]=xt(i),C=fe(S),[k,T]=xt([]),[P,M]=xt(!s),A=fe(void 0),E=fe(void 0),F=fe(void 0),_=fe(void 0),v=fe(0),D=fe(l);Ee(()=>{D.current=l},[l]);let q=Le(b=>{C.current=b,L(b),b&&D.current?.(b)},[]),y=Le(async()=>{if(!s)return;let b=m.current?.memoryUserId;if(!b)return;let O=await Hr(b);T(O)},[s]),N=Le(()=>x.current,[]),H=Le(b=>{let O=ru(b);O&&x.current!==O&&(x.current=O,I(O))},[]),le=Le(()=>{x.current=void 0,I(void 0)},[]);Ee(()=>{u.current=a},[a]),Ee(()=>{c.current=o},[o]),Ee(()=>{let b=!1,O=v.current;return(async()=>{try{let ye=await Gr();if(b)return;m.current=ye}catch{}if(!s)return;let U=m.current?.memoryUserId;if(!U){M(!0);return}try{let ye=i??await Wr(U);if(b||O!==v.current)return;if(ye){let he=await Lo(ye);if(b||O!==v.current)return;he&&he.memoryUserId===U&&(C.current=he.threadId,L(he.threadId),A.current=he.createdAt,E.current=he.title,he.sessionId&&(x.current=he.sessionId,I(he.sessionId)),ee(he.messages))}await y()}finally{b||M(!0)}})(),()=>{b=!0}},[]);let Te=fe(new go({api:t,headers:()=>({...u.current}),body:()=>{let b={...c.current??{}},O=Object.hasOwn(b,"sessionId"),U=ru(b.sessionId);if(U)H(U),b.sessionId=U;else if(O)le(),delete b.sessionId;else{let De=N();De&&(b.sessionId=De)}if(It(p.current)&&(b.modelContext=p.current),m.current){let De=m.current;b.visitorContext={timezone:De.timezone,language:De.language,languages:De.languages,deviceType:De.deviceType,referrer:De.referrer,visitorId:De.visitorId};let Ve=typeof b.visitor=="object"&&b.visitor!==null?b.visitor:{},bu=typeof Ve.client=="object"&&Ve.client!==null?Ve.client:{};b.visitor={...Ve,id:De.visitorId,client:{...bu,memoryUserId:De.memoryUserId}}}let ye=typeof b.extra=="object"&&b.extra!==null&&!Array.isArray(b.extra)?b.extra:void 0,he=m.current?.memoryUserId,de=m.current?.language,ya={};if(he&&(ya.memoryUserId=he),de&&(ya.locale=de),(Object.keys(ya).length>0||ye)&&(b.extra={...ya,...ye??{}}),d.current)if(Object.hasOwn(b,"threadId"))typeof b.threadId=="string"&&(C.current=b.threadId);else{let Ve=C.current;Ve||(Ve=ou(),A.current=Io(),E.current=void 0,q(Ve)),b.threadId=Ve}return b},fetch:(async(b,O)=>{let U=await fetch(b,O);return p.current=void 0,H(U.headers.get(Xh)),U})})),W=fe(null),pe=fe(null),ve=fe({}),[Ue,Se]=xt(0),X=e.skipRemoteConfig===!0,z=Le(async()=>{if(!X)try{let b=await Qh(t,u.current);ve.current=b,Se(O=>O+1)}catch(b){console.warn("[Waniwani] Failed to fetch tool definitions:",b instanceof Error?b.message:b)}},[t,X]);Ee(()=>{z()},[z]);let{messages:we,sendMessage:me,setMessages:ee,status:se}=$h({messages:e.initialMessages,transport:Te.current,onFinish({message:b}){n?.(),W.current&&(pe.current=b)},onError(b){console.warn("[Waniwani] Chat error:",b.message),W.current&&(W.current.reject(b),W.current=null)}}),ne=fe(we);Ee(()=>{ne.current=we},[we]);let Q=fe(s);Ee(()=>{if(!s||Q.current||(Q.current=!0,ne.current.length>0))return;let b=!1,O=v.current;return M(!1),(async()=>{try{let U=m.current;if(!U)try{U=await Gr(),m.current=U}catch{}let ye=U?.memoryUserId;if(!ye||b||O!==v.current){b||M(!0);return}let he=i??await Wr(ye);if(b||O!==v.current)return;if(he){let de=await Lo(he);if(b||O!==v.current)return;de&&de.memoryUserId===ye&&(C.current=de.threadId,L(de.threadId),A.current=de.createdAt,E.current=de.title,de.sessionId&&(x.current=de.sessionId,I(de.sessionId)),ee(de.messages))}await y()}finally{b||M(!0)}})(),()=>{b=!0}},[s]),Ee(()=>{if(se==="ready"&&W.current&&pe.current){let b=W.current,O=pe.current;W.current=null,pe.current=null,b.resolve(O)}},[se]);let[te,G]=xt(""),[ae,ue]=xt([]),Fe=se==="submitted"||se==="streaming",Je=Le(b=>{ue(O=>O.filter(U=>U.id!==b))},[]),Ct=Fe&&ae.length>0,Lt=Le(b=>{let O=!!b.text?.trim(),U=!!b.files?.length;if(O||U){if(Fe){if(ae.length>0)return;ue(ye=>[...ye,{id:ea(),text:b.text||"",files:b.files??[],modelContext:b.modelContext}]),G("");return}p.current=b.modelContext,me({text:b.text||"",files:b.files}),r?.(b.text||""),G("")}},[me,r,Fe,ae.length]),wu=Le(b=>new Promise((O,U)=>{W.current={resolve:O,reject:U},me({text:b}),r?.(b)}),[me,r]);Ee(()=>{if(se!=="ready"||ae.length===0)return;let[b,...O]=ae;ue(O),p.current=b.modelContext,me({text:b.text,files:b.files.length>0?b.files:void 0}),r?.(b.text)},[se,me,r,ae]);let xu=Le(()=>{ee([]),ue([]),le(),G(""),ve.current={},Se(b=>b+1),z()},[ee,le,z]),Ia=Le(()=>{if(!d.current)return;let b=m.current?.memoryUserId,O=C.current,U=ne.current;if(!(!b||!O||U.length===0)){if(A.current||(A.current=Io()),!E.current){let ye=U.find(de=>de.role==="user"),he=ye?ye.parts.map(de=>"text"in de&&typeof de.text=="string"?de.text:"").join(" "):"";E.current=eu(he)}return{threadId:O,memoryUserId:b,title:E.current,messages:U,sessionId:x.current,createdAt:A.current,updatedAt:Io()}}},[]),Vr=Le(async()=>{let b=Ia();b&&(await qr(b),await y())},[Ia,y]);Ee(()=>{if(s&&P&&!(se==="submitted"||se==="streaming")&&we.length!==0)return F.current&&clearTimeout(F.current),F.current=setTimeout(()=>{F.current=void 0;let b=Vr().finally(()=>{_.current===b&&(_.current=void 0)});_.current=b},Kh),()=>{F.current&&clearTimeout(F.current)}},[s,P,we,se,Vr]);let Sa=Le(()=>{let b=_.current,O=F.current,U=O?Ia():void 0;return O&&(clearTimeout(O),F.current=void 0),(async()=>{b&&await b,U&&(await qr(U),await y())})()},[Ia,y]),Cu=Le(()=>{v.current+=1,Sa(),ee([]),ue([]),le(),G("");let b=ou();return A.current=Io(),E.current=void 0,q(b),y(),b},[ee,le,q,y,Sa]),So=Le(async b=>{v.current+=1;let O=v.current;if(await Sa(),O!==v.current)return;let U=await Lo(b);O===v.current&&U&&(q(U.threadId),A.current=U.createdAt,E.current=U.title,U.sessionId?(x.current=U.sessionId,I(U.sessionId)):le(),ee(U.messages),ue([]),G(""))},[ee,le,q,Sa]),Lu=Le(async b=>{if(C.current===b){v.current+=1,F.current&&(clearTimeout(F.current),F.current=void 0);let O=_.current;O&&await O}await Zl(b),await y(),C.current===b&&(ee([]),ue([]),le(),G(""),C.current=void 0,L(void 0),A.current=void 0,E.current=void 0)},[ee,le,y]);Ee(()=>{s&&P&&i!==void 0&&i!==C.current&&So(i)},[i,s,P,So]);let Iu=Le(b=>{G(b.target.value)},[]),$r=we[we.length-1],Xr=we.length>0,Su=Fe&&(!Xr||$r.role==="user"),yu=ve.current;return{messages:we,status:se,text:te,setText:G,handleSubmit:Lt,handleTextChange:Iu,isLoading:Fe,showLoaderBubble:Su,lastMessage:$r,hasMessages:Xr,sendMessage:me,sendMessageAndWait:wu,reset:xu,queuedMessages:ae,queueFull:Ct,removeQueuedMessage:Je,sessionId:h,toolDefinitions:yu,refreshToolDefinitions:z,threads:k,activeThreadId:S,isThreadHistoryReady:P,startNewThread:Cu,switchThread:So,deleteThread:Lu}}f();import{useEffect as su,useRef as Jh,useState as Yh}from"react";var Zh={debug:!1,eval:!1};function iu(e="/api/waniwani",t,a=!1){let[o,r]=Yh(Zh),n=Jh(t);return su(()=>{n.current=t},[t]),su(()=>{a||(async()=>{try{let s=n.current,l=await(await fetch(Mt(e,"/config"),{headers:s?{...s}:void 0})).json();r({debug:l.debug===!0,eval:l.eval===!0})}catch{}})()},[e,a]),o}f();import{useCallback as eg,useEffect as jr,useRef as tg,useState as ag}from"react";function og(e){for(let t of e.parts){let a=t;if(a.type==="data"||a.type==="data-suggestions"){let o=a.data;if(o&&Array.isArray(o.suggestions))return o.suggestions}}return null}function lu(e){return typeof e=="object"&&e!==null&&"initial"in e}function uu(e){let{messages:t,status:a,config:o}=e,r=lu(o)&&o.initial?o.initial:void 0,[n,s]=ag(r??[]),i=tg(a),l=o===!0||lu(o)&&o.dynamic!==!1,u=eg(()=>{s([])},[]),c=t.length>0;jr(()=>{!c&&r&&r.length>0&&s(r)},[r,c]);let d=t[t.length-1];return jr(()=>{d?.role==="user"&&u()},[d,u]),jr(()=>{let p=i.current;if(i.current=a,p==="streaming"&&a==="ready"&&l){let m=[...t].reverse().find(I=>I.role==="assistant");if(!m)return;let h=og(m);h&&s(h)}},[a,l,t]),{suggestions:n,isLoading:!1,clear:u}}f();import{useEffect as rg,useRef as ng,useState as sg}from"react";var ig=80,lg=50,ug=15e3,du=500;function cu(e,t=!0){let[a,o]=sg(""),r=ng(void 0);return rg(()=>{if(!t){o("");return}let n=0,s=!1,i=!1,l=()=>{i||(s?(n--,o(e.slice(0,n)),n<=0?(s=!1,r.current=setTimeout(l,du)):r.current=setTimeout(l,lg)):(n++,o(e.slice(0,n)),n>=e.length?(s=!0,r.current=setTimeout(l,ug)):r.current=setTimeout(l,ig)))};return r.current=setTimeout(l,du),()=>{i=!0,clearTimeout(r.current)}},[e,t]),a}f();function fu(e,t){let a=t?.Authorization,o=typeof a=="string"&&a.startsWith("Bearer ")?a.slice(7):null;return Mt(e,"/resource",o?{token:o}:void 0)}f();var dg={primaryColor:"#6366f1",primaryForeground:"#1f2937",backgroundColor:"#ffffff",textColor:"#1f2937",mutedColor:"#6b7280",borderColor:"#e5e7eb",borderWidth:0,boxShadow:"none",assistantBubbleColor:"#f3f4f6",userBubbleColor:"#f4f4f4",inputBackgroundColor:"#f9fafb",borderRadius:16,messageBorderRadius:8,fontFamily:"system-ui, -apple-system, 'Segoe UI', sans-serif",headerBackgroundColor:"#ffffff",headerTextColor:"#1f2937",statusColor:"#22c55e",toolCardColor:"#f4f4f5",userBubbleTextColor:"#1f2937",assistantBubbleTextColor:"#1f2937",messagePaddingX:16,messagePaddingY:12,messageMaxWidth:"80%",fontSize:16,lineHeight:"1.5"};var cg={primaryColor:["--ww-primary","--ww-color-primary"],primaryForeground:["--ww-primary-fg","--ww-color-primary-foreground"],backgroundColor:["--ww-bg","--ww-color-background"],textColor:["--ww-text","--ww-color-foreground","--ww-color-accent-foreground"],mutedColor:["--ww-muted","--ww-color-muted-foreground"],borderColor:["--ww-border","--ww-color-border"],borderWidth:["--ww-border-width"],boxShadow:["--ww-shadow"],assistantBubbleColor:["--ww-assistant-bubble","--ww-color-accent"],userBubbleColor:["--ww-user-bubble"],inputBackgroundColor:["--ww-input-bg","--ww-color-input"],borderRadius:["--ww-radius"],messageBorderRadius:["--ww-msg-radius"],fontFamily:["--ww-font"],headerBackgroundColor:["--ww-header-bg"],headerTextColor:["--ww-header-text"],statusColor:["--ww-status"],toolCardColor:["--ww-tool-card","--ww-color-tool-card"],userBubbleTextColor:["--ww-user-bubble-text"],assistantBubbleTextColor:["--ww-assistant-bubble-text"],messagePaddingX:["--ww-msg-pad-x"],messagePaddingY:["--ww-msg-pad-y"],messageMaxWidth:["--ww-msg-max-width"],fontSize:["--ww-font-size"],lineHeight:["--ww-line-height"]};function pu(e){return{...dg,...e}}function mu(e){let t={};for(let[a,o]of Object.entries(cg)){let r=e[a];if(r===void 0)continue;let n=typeof r=="number"?`${r}px`:String(r);for(let s of o)t[s]=n}return t}import{jsx as Ie,jsxs as La}from"react/jsx-runtime";var hg=fg(function(t,a){let{theme:o,title:r="Assistant",width:n,height:s,className:i,allowAttachments:l=!1,welcomeMessage:u,welcome:c,placeholder:d="Ask me anything...",triggerEvent:p="triggerDemoRequest",api:m,debug:h,enableThreadHistory:I=!1,showToolCalls:x=!0}=t,S=m??"/api/waniwani",L=fu(S,t.headers),C=pu(o),k=mu(o??{}),T=C.backgroundColor.replace("#",""),P=parseInt(T.substring(0,2),16),M=parseInt(T.substring(2,4),16),A=parseInt(T.substring(4,6),16),E=(P*299+M*587+A*114)/1e3<128,F=iu(S,t.headers,t.skipRemoteConfig),_=h??F.debug,v=nu({...t,api:S}),D=$l({...t,api:S,sessionId:v.sessionId}),q=cu(d,!v.text),[y,N]=gu(!1),[H,le]=gu(null),Te=hu(null),W=hu(void 0),pe=zr(()=>{let X=Te.current;if(!X)return;X.scrollIntoView({behavior:"smooth",block:"center"});let z=X.querySelector("textarea");z&&setTimeout(()=>z.focus(),300),N(!0),clearTimeout(W.current),W.current=setTimeout(()=>N(!1),2e3)},[]),ve=uu({messages:v.messages,status:v.status,config:t.suggestions}),Ue=zr(X=>{let z=X.content.map(we=>we.text??"").join("").trim();z&&v.handleSubmit({text:z,files:[],modelContext:X.modelContext})},[v.handleSubmit]),Se=zr(X=>{ve.clear(),v.handleSubmit({text:X,files:[]})},[ve.clear,v.handleSubmit]);return mg(a,()=>({sendMessage:X=>{v.handleSubmit({text:X,files:[]}),pe()},sendMessageAndWait:X=>v.sendMessageAndWait(X),reset:v.reset,focus:pe,get messages(){return v.messages},get sessionId(){return v.sessionId}}),[v.handleSubmit,v.sendMessageAndWait,v.reset,v.messages,v.sessionId,pe]),pg(()=>{if(!p)return;let X=z=>{let we=z.detail,me=typeof we?.message=="string"?we.message:void 0;me&&v.handleSubmit({text:me,files:[]}),pe()};return window.addEventListener(p,X),()=>window.removeEventListener(p,X)},[p,v.handleSubmit,pe]),La("div",{ref:Te,style:{...k,width:n,height:s},"data-waniwani-chat":"","data-waniwani-layout":"card",...E?{"data-waniwani-dark":""}:{},className:R("ww:flex ww:flex-col ww:font-[family-name:var(--ww-font)] ww:text-foreground ww:bg-background ww:rounded-[var(--ww-radius)] ww:overflow-hidden",y&&"ww:ring-2 ww:ring-blue-400/70 ww:ring-offset-2 ww:ring-offset-background",i),children:[La("div",{className:"ww:shrink-0 ww:flex ww:items-center ww:gap-2 ww:px-6 ww:py-3",style:{backgroundColor:C.headerBackgroundColor,color:C.headerTextColor},children:[Ie("div",{className:"ww:text-sm ww:font-semibold ww:truncate ww:flex-1 ww:min-w-0",children:r}),Ie(Rs,{messages:v.messages,evalEnabled:F.eval,api:S}),I&&Ie(Vl,{threads:v.threads,activeThreadId:v.activeThreadId,onNewThread:v.startNewThread,onSelectThread:X=>{v.switchThread(X)},onDeleteThread:X=>{v.deleteThread(X)}})]}),La(is,{className:"ww:flex-1 ww:min-h-0 ww:bg-background",children:[Ie(ls,{scrollClassName:H?"ww:!relative ww:!overflow-hidden":void 0,children:Ie(ql,{messages:v.messages,status:v.status,welcomeMessage:u,welcome:c,onSuggestionSelect:Se,resourceEndpoint:L,chatSessionId:v.sessionId,isDark:E,onFollowUp:Ue,onCallTool:D,fullscreenToolCallId:H,debug:_,showToolCalls:x,toolDefinitions:v.toolDefinitions,onWidgetDisplayModeChange:(X,z)=>{le(X==="fullscreen"?z.toolCallId:null)}})}),Ie(us,{})]}),Ie("div",{style:H?{display:"none"}:void 0,children:Ie(jl,{suggestions:ve.suggestions,isLoading:ve.isLoading,onSelect:Se})}),Ie("div",{style:H?{display:"none"}:void 0,children:Ie(vs,{queuedMessages:v.queuedMessages,onRemove:v.removeQueuedMessage})}),Ie("div",{style:H?{display:"none"}:void 0,children:Ie("div",{className:"ww:shrink-0 ww:px-4 ww:pb-8 ww:pt-2 ww:bg-background",children:La("div",{className:"ww:mx-auto ww:w-full ww:max-w-3xl",children:[Ie(hs,{onSubmit:v.handleSubmit,globalDrop:l,multiple:l,className:"ww:rounded-2xl ww:border-border ww:bg-input",children:La("div",{className:"ww:flex ww:items-center ww:gap-1 ww:pl-4 ww:pr-3 ww:py-2.5",children:[l&&Ie(xs,{}),Ie(gs,{onChange:v.handleTextChange,value:v.text,placeholder:q,className:"ww:min-h-0 ww:py-1 ww:px-0"}),Ie(ws,{status:v.status,disabled:v.queueFull})]})}),Ie(Gl,{})]})})})]})});export{hg as ChatCard,gn as DevModeProvider,Fu as InitializeNextJsInIframe,pd as LoadingWidget,bn as WidgetProvider,cn as createResource,Pu as createTool,yo as detectPlatform,Pa as getMockState,_t as initializeMockOpenAI,Tu as isMCPApps,ku as isOpenAI,Au as registerTools,EC as toNextJsHandler,Ln as unstable_useSendFollowUpWithGhostGuard,Ot as updateMockDisplayMode,st as updateMockGlobal,Ut as updateMockTheme,Nt as updateMockToolOutput,kn as useCallTool,Tn as useDisplayMode,vn as useFlowAction,Pn as useIsChatGptApp,An as useLocale,Rn as useMaxHeight,Mn as useOpenExternal,Fn as useRequestDisplayMode,Dn as useSafeArea,Bn as useSendFollowUp,En as useTheme,Ra as useToolOutput,_n as useToolResponseMetadata,Nn as useUpdateModelContext,$ as useWidgetClient,On as useWidgetState};
83
83
  /*! Bundled license information:
84
84
 
85
85
  lucide-react/dist/esm/shared/src/utils/mergeClasses.js: