@waniwani/sdk 0.11.17 → 0.11.18

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,7 +1,7 @@
1
1
  "use client";
2
- import{a as pr,b as mr,c as hr,d as ot,e as rt,f as $t,g as gr,h as wr,i as xr,j as Lr,k as Xt,l as Cr,m as oo,n as Ir,o as Sr,p as st,u as ro}from"../chunk-5JBHQYU5.js";import"../chunk-V3ZDECK5.js";import{forwardRef as $c,useCallback as ir,useEffect as Xc,useImperativeHandle as Qc,useRef as gi,useState as wi}from"react";import{forwardRef as Fi,createElement as Bi}from"react";var Qt=(...e)=>e.filter((t,a,o)=>!!t&&t.trim()!==""&&o.indexOf(t)===a).join(" ").trim();var yr=e=>e.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase();var kr=e=>e.replace(/^([A-Z])|[\s-_]+(\w)/g,(t,a,o)=>o?o.toUpperCase():a.toLowerCase());var so=e=>{let t=kr(e);return t.charAt(0).toUpperCase()+t.slice(1)};import{forwardRef as Ri,createElement as Pr}from"react";var br={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"};var Tr=e=>{for(let t in e)if(t.startsWith("aria-")||t==="role"||t==="title")return!0;return!1};var Ar=Ri(({color:e="currentColor",size:t=24,strokeWidth:a=2,absoluteStrokeWidth:o,className:r="",children:s,iconNode:n,...i},l)=>Pr("svg",{ref:l,...br,width:t,height:t,stroke:e,strokeWidth:o?Number(a)*24/Number(t):a,className:Qt("lucide",r),...!s&&!Tr(i)&&{"aria-hidden":"true"},...i},[...n.map(([u,f])=>Pr(u,f)),...Array.isArray(s)?s:[s]]));var Q=(e,t)=>{let a=Fi(({className:o,...r},s)=>Bi(Ar,{ref:s,iconNode:t,className:Qt(`lucide-${yr(so(e))}`,`lucide-${e}`,o),...r}));return a.displayName=so(e),a};var Di=[["path",{d:"M12 5v14",key:"s699le"}],["path",{d:"m19 12-7 7-7-7",key:"1idqje"}]],ze=Q("arrow-down",Di);var Ei=[["path",{d:"m5 12 7-7 7 7",key:"hav0vg"}],["path",{d:"M12 19V5",key:"x0mq9r"}]],pt=Q("arrow-up",Ei);var _i=[["path",{d:"M8 3H7a2 2 0 0 0-2 2v5a2 2 0 0 1-2 2 2 2 0 0 1 2 2v5c0 1.1.9 2 2 2h1",key:"ezmyqa"}],["path",{d:"M16 21h1a2 2 0 0 0 2-2v-5c0-1.1.9-2 2-2a2 2 0 0 1-2-2V5a2 2 0 0 0-2-2h-1",key:"e1hn23"}]],Ue=Q("braces",_i);var Ni=[["path",{d:"M20 6 9 17l-5-5",key:"1gmf2c"}]],mt=Q("check",Ni);var Ui=[["path",{d:"m6 9 6 6 6-6",key:"qrunsl"}]],ht=Q("chevron-down",Ui);var Oi=[["path",{d:"m9 18 6-6-6-6",key:"mthhwq"}]],gt=Q("chevron-right",Oi);var Hi=[["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"}]],wt=Q("clipboard-copy",Hi);var qi=[["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"}]],xt=Q("file",qi);var Gi=[["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"}]],Lt=Q("loader",Gi);var Wi=[["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"}]],Ct=Q("paperclip",Wi);var zi=[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}]],It=Q("square",zi);var ji=[["path",{d:"M18 6 6 18",key:"1bl5f8"}],["path",{d:"m6 6 12 12",key:"d8bk6v"}]],je=Q("x",ji);import{useCallback as ll}from"react";import{useCallback as Oe,useMemo as Vi,useRef as $i,useState as no}from"react";var Xi={damping:.7,stiffness:.05,mass:1.25},Qi=70,Ki=1e3/60,Ji=350,Kt=!1;globalThis.document?.addEventListener("mousedown",()=>{Kt=!0});globalThis.document?.addEventListener("mouseup",()=>{Kt=!1});globalThis.document?.addEventListener("click",()=>{Kt=!1});var Mr=(e={})=>{let[t,a]=no(!1),[o,r]=no(e.initial!==!1),[s,n]=no(!1),i=$i(null);i.current=e;let l=Oe(()=>{if(!Kt)return!1;let g=window.getSelection();if(!g||!g.rangeCount)return!1;let h=g.getRangeAt(0);return h.commonAncestorContainer.contains(C.current)||C.current?.contains(h.commonAncestorContainer)},[]),u=Oe(g=>{d.isAtBottom=g,r(g)},[]),f=Oe(g=>{d.escapedFromLock=g,a(g)},[]),d=Vi(()=>{let g;return{escapedFromLock:t,isAtBottom:o,resizeDifference:0,accumulated:0,velocity:0,listeners:new Set,get scrollTop(){return C.current?.scrollTop??0},set scrollTop(h){C.current&&(C.current.scrollTop=h,d.ignoreScrollToTop=C.current.scrollTop)},get targetScrollTop(){return!C.current||!x.current?0:C.current.scrollHeight-1-C.current.clientHeight},get calculatedTargetScrollTop(){if(!C.current||!x.current)return 0;let{targetScrollTop:h}=this;if(!e.targetScrollTop)return h;if(g?.targetScrollTop===h)return g.calculatedScrollTop;let L=Math.max(Math.min(e.targetScrollTop(h,{scrollElement:C.current,contentElement:x.current}),h),0);return g={targetScrollTop:h,calculatedScrollTop:L},requestAnimationFrame(()=>{g=void 0}),L},get scrollDifference(){return this.calculatedTargetScrollTop-this.scrollTop},get isNearBottom(){return this.scrollDifference<=Qi}}},[]),c=Oe((g={})=>{typeof g=="string"&&(g={animation:g}),g.preserveScrollPosition||u(!0);let h=Date.now()+(Number(g.wait)||0),L=lo(i.current,g.animation),{ignoreEscapes:w=!1}=g,b,P=d.calculatedTargetScrollTop;g.duration instanceof Promise?g.duration.finally(()=>{b=Date.now()}):b=h+(g.duration??0);let y=async()=>{let D=new Promise(requestAnimationFrame).then(()=>{if(!d.isAtBottom)return d.animation=void 0,!1;let{scrollTop:v}=d,F=performance.now(),k=(F-(d.lastTick??F))/Ki;if(d.animation||(d.animation={behavior:L,promise:D,ignoreEscapes:w}),d.animation.behavior===L&&(d.lastTick=F),l()||h>Date.now())return y();if(v<Math.min(P,d.calculatedTargetScrollTop)){if(d.animation?.behavior===L){if(L==="instant")return d.scrollTop=d.calculatedTargetScrollTop,y();d.velocity=(L.damping*d.velocity+L.stiffness*d.scrollDifference)/L.mass,d.accumulated+=d.velocity*k,d.scrollTop+=d.accumulated,d.scrollTop!==v&&(d.accumulated=0)}return y()}return b>Date.now()?(P=d.calculatedTargetScrollTop,y()):(d.animation=void 0,d.scrollTop<d.calculatedTargetScrollTop?c({animation:lo(i.current,i.current.resize),ignoreEscapes:w,duration:Math.max(0,b-Date.now())||void 0}):d.isAtBottom)});return D.then(v=>(requestAnimationFrame(()=>{d.animation||(d.lastTick=void 0,d.velocity=0)}),v))};return g.wait!==!0&&(d.animation=void 0),d.animation?.behavior===L?d.animation.promise:y()},[u,l,d]),p=Oe(()=>{f(!0),u(!1)},[f,u]),m=Oe(({target:g})=>{if(g!==C.current)return;let{scrollTop:h,ignoreScrollToTop:L}=d,{lastScrollTop:w=h}=d;d.lastScrollTop=h,d.ignoreScrollToTop=void 0,L&&L>h&&(w=L),n(d.isNearBottom),setTimeout(()=>{if(d.resizeDifference||h===L)return;if(l()){f(!0),u(!1);return}let b=h>w,P=h<w;if(d.animation?.ignoreEscapes){d.scrollTop=w;return}P&&(f(!0),u(!1)),b&&f(!1),!d.escapedFromLock&&d.isNearBottom&&u(!0)},1)},[f,u,l,d]),I=Oe(({target:g,deltaY:h})=>{let L=g;for(;!["scroll","auto"].includes(getComputedStyle(L).overflow);){if(!L.parentElement)return;L=L.parentElement}L===C.current&&h<0&&C.current.scrollHeight>C.current.clientHeight&&!d.animation?.ignoreEscapes&&(f(!0),u(!1))},[f,u,d]),C=vr(g=>{C.current?.removeEventListener("scroll",m),C.current?.removeEventListener("wheel",I),g?.addEventListener("scroll",m,{passive:!0}),g?.addEventListener("wheel",I,{passive:!0})},[]),x=vr(g=>{if(d.resizeObserver?.disconnect(),!g)return;let h;d.resizeObserver=new ResizeObserver(([L])=>{let{height:w}=L.contentRect,b=w-(h??w);if(d.resizeDifference=b,d.scrollTop>d.targetScrollTop&&(d.scrollTop=d.targetScrollTop),n(d.isNearBottom),b>=0){let P=lo(i.current,h?i.current.resize:i.current.initial);c({animation:P,wait:!0,preserveScrollPosition:!0,duration:P==="instant"?void 0:Ji})}else d.isNearBottom&&(f(!1),u(!0));h=w,requestAnimationFrame(()=>{setTimeout(()=>{d.resizeDifference===b&&(d.resizeDifference=0)},1)})}),d.resizeObserver?.observe(g)},[]);return{contentRef:x,scrollRef:C,scrollToBottom:c,stopScroll:p,isAtBottom:o||s,isNearBottom:s,escapedFromLock:t,state:d}};function vr(e,t){let a=Oe(o=>(a.current=o,e(o)),t);return a}var io=new Map;function lo(...e){let t={...Xi},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 io.has(o)||io.set(o,Object.freeze(t)),a?"instant":io.get(o)}import*as Ve from"react";import{createContext as Zi,useContext as Yi,useEffect as el,useImperativeHandle as tl,useLayoutEffect as al,useMemo as ol,useRef as rl}from"react";var Rr=Zi(null),sl=typeof window<"u"?al:el;function St({instance:e,children:t,resize:a,initial:o,mass:r,damping:s,stiffness:n,targetScrollTop:i,contextRef:l,...u}){let f=rl(null),d=Ve.useCallback((w,b)=>(L?.targetScrollTop??i)?.(w,b)??w,[i]),c=Mr({mass:r,damping:s,stiffness:n,resize:a,initial:o,targetScrollTop:d}),{scrollRef:p,contentRef:m,scrollToBottom:I,stopScroll:C,isAtBottom:x,escapedFromLock:g,state:h}=e??c,L=ol(()=>({scrollToBottom:I,stopScroll:C,scrollRef:p,isAtBottom:x,escapedFromLock:g,contentRef:m,state:h,get targetScrollTop(){return f.current},set targetScrollTop(w){f.current=w}}),[I,x,m,p,C,g,h]);return tl(l,()=>L,[L]),sl(()=>{p.current&&getComputedStyle(p.current).overflow==="visible"&&(p.current.style.overflow="auto")},[]),Ve.createElement(Rr.Provider,{value:L},Ve.createElement("div",{...u},typeof t=="function"?t(L):t))}(function(e){function t({children:a,scrollClassName:o,...r}){let s=uo();return Ve.createElement("div",{ref:s.scrollRef,style:{height:"100%",width:"100%",scrollbarGutter:"stable both-edges"},className:o},Ve.createElement("div",{...r,ref:s.contentRef},typeof a=="function"?a(s):a))}e.Content=t})(St||(St={}));function uo(){let e=Yi(Rr);if(!e)throw new Error("use-stick-to-bottom component context must be used within a StickToBottom component");return e}var nl=mr({prefix:"ww"});function T(...e){return nl(pr(e))}import{jsx as il}from"react/jsx-runtime";var ke=({className:e,variant:t="default",size:a="default",type:o="button",...r})=>il("button",{type:o,className:T("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 Jt}from"react/jsx-runtime";var Fr=({className:e,...t})=>Jt(St,{className:T("ww:relative ww:flex-1 ww:overflow-y-hidden",e),initial:"smooth",resize:"smooth",role:"log",...t}),Br=({className:e,...t})=>Jt(St.Content,{className:T("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}),Dr=({className:e,...t})=>{let{isAtBottom:a,scrollToBottom:o}=uo(),r=ll(()=>{o()},[o]);return!a&&Jt(ke,{className:T("ww:absolute ww:bottom-4 ww:left-[50%] ww:translate-x-[-50%] ww:rounded-full",e),onClick:r,size:"icon",variant:"outline",...t,children:Jt(ze,{className:"ww:size-4"})})};import _r from"crypto";var Er="useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict";var ul=128,$e,nt,dl=e=>{!$e||$e.length<e?($e=Buffer.allocUnsafe(e*ul),_r.randomFillSync($e),nt=0):nt+e>$e.length&&(_r.randomFillSync($e),nt=0),nt+=e};var yt=(e=21)=>{dl(e|=0);let t="";for(let a=nt-e;a<nt;a++)t+=Er[$e[a]&63];return t};import{createContext as fl,useCallback as Be,useContext as cl,useEffect as fo,useMemo as pl,useRef as co,useState as Nr}from"react";import{jsx as Pe,jsxs as Hr}from"react/jsx-runtime";var ml=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}},Ur=fl(null),Or=()=>{let e=cl(Ur);if(!e)throw new Error("usePromptInputAttachments must be used within a PromptInput");return e},Zt=({className:e,accept:t,multiple:a,globalDrop:o,maxFiles:r,maxFileSize:s,onSubmit:n,children:i,...l})=>{let u=co(null),f=co(null),[d,c]=Nr([]),p=co(d);fo(()=>{p.current=d},[d]);let m=Be(()=>{u.current?.click()},[]),I=Be(w=>{let b=[...w];if(b.length===0)return;let P=D=>s?D.size<=s:!0,y=b.filter(P);c(D=>{let v=typeof r=="number"?Math.max(0,r-D.length):void 0,F=typeof v=="number"?y.slice(0,v):y;return[...D,...F.map(k=>({filename:k.name,id:yt(),mediaType:k.type,type:"file",url:URL.createObjectURL(k)}))]})},[r,s]),C=Be(w=>{c(b=>{let P=b.find(y=>y.id===w);return P?.url&&URL.revokeObjectURL(P.url),b.filter(y=>y.id!==w)})},[]),x=Be(()=>{c(w=>{for(let b of w)b.url&&URL.revokeObjectURL(b.url);return[]})},[]);fo(()=>()=>{for(let w of p.current)w.url&&URL.revokeObjectURL(w.url)},[]);let g=Be(w=>{w.currentTarget.files&&I(w.currentTarget.files),w.currentTarget.value=""},[I]);fo(()=>{if(!o)return;let w=P=>{P.dataTransfer?.types?.includes("Files")&&P.preventDefault()},b=P=>{P.dataTransfer?.types?.includes("Files")&&P.preventDefault(),P.dataTransfer?.files&&P.dataTransfer.files.length>0&&I(P.dataTransfer.files)};return document.addEventListener("dragover",w),document.addEventListener("drop",b),()=>{document.removeEventListener("dragover",w),document.removeEventListener("drop",b)}},[I,o]);let h=Be(async w=>{w.preventDefault();let b=w.currentTarget,y=new FormData(b).get("message")||"";b.reset();let D=await Promise.all(d.map(async({id:v,...F})=>{if(F.url?.startsWith("blob:")){let k=await ml(F.url);return{...F,url:k??F.url}}return F}));try{let v=n({files:D,text:y},w);v instanceof Promise&&await v,x()}catch{}},[d,n,x]),L=pl(()=>({add:I,clear:x,files:d,openFileDialog:m,remove:C}),[d,I,C,x,m]);return Hr(Ur.Provider,{value:L,children:[Pe("input",{accept:t,"aria-label":"Upload files",className:"ww:hidden",multiple:a,onChange:g,ref:u,title:"Upload files",type:"file"}),Pe("form",{className:T("ww:flex ww:w-full ww:flex-col ww:rounded-lg ww:border ww:border-border ww:bg-background",e),onSubmit:h,ref:f,...l,children:i})]})};var Yt=({onChange:e,onKeyDown:t,className:a,placeholder:o="What would you like to know?",...r})=>{let s=Or(),[n,i]=Nr(!1),l=Be(f=>{if(t?.(f),!f.defaultPrevented){if(f.key==="Enter"){if(n||f.nativeEvent.isComposing||f.shiftKey)return;f.preventDefault();let{form:d}=f.currentTarget;if(d?.querySelector('button[type="submit"]')?.disabled)return;d?.requestSubmit()}if(f.key==="Backspace"&&f.currentTarget.value===""&&s.files.length>0){f.preventDefault();let d=s.files.at(-1);d&&s.remove(d.id)}}},[t,n,s]),u=Be(f=>{let d=f.clipboardData?.items;if(!d)return;let c=[];for(let p of d)if(p.kind==="file"){let m=p.getAsFile();m&&c.push(m)}c.length>0&&(f.preventDefault(),s.add(c))},[s]);return Pe("textarea",{className:T("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-sm ww:outline-none ww:placeholder:text-muted-foreground",a),name:"message",onCompositionEnd:()=>i(!1),onCompositionStart:()=>i(!0),onKeyDown:l,onPaste:u,placeholder:o,onChange:e,...r})},ea=({className:e,status:t,onStop:a,onClick:o,children:r,...s})=>{let n=t==="submitted"||t==="streaming",i=Pe(pt,{className:"ww:size-4"});t==="submitted"?i=Pe(Lt,{className:"ww:size-4 ww:animate-spin"}):t==="streaming"&&(i=Pe(It,{className:"ww:size-4"}));let l=Be(u=>{if(n&&a){u.preventDefault(),a();return}o?.(u)},[n,a,o]);return Pe(ke,{"aria-label":n?"Stop":"Submit",className:T("ww:bg-foreground ww:text-background ww:hover:bg-foreground ww:rounded-full",e),onClick:l,size:"icon-sm",type:n&&a?"button":"submit",variant:"ghost",...s,children:r??i})},ta=({className:e,children:t,...a})=>{let o=Or();return o.files.length>0?Hr(ke,{className:T("ww:group ww:relative",e),onClick:()=>o.clear(),size:"icon-sm",type:"button",variant:"ghost","aria-label":"Remove all attachments",...a,children:[Pe("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:o.files.length}),Pe(je,{className:"ww:absolute ww:size-4 ww:opacity-0 ww:transition-opacity ww:group-hover:opacity-100"})]}):Pe(ke,{className:T(e),onClick:()=>o.openFileDialog(),size:"icon-sm",type:"button",variant:"ghost",...a,children:t??Pe(Ct,{className:"ww:size-4"})})};import{memo as hl,useCallback as gl}from"react";import{jsx as it}from"react/jsx-runtime";var qr=({className:e,...t})=>it("div",{className:T("ww:flex ww:flex-col ww:gap-1 ww:px-3 ww:py-2",e),...t}),Gr=({className:e,...t})=>it("li",{className:T("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}),Wr=({className:e,...t})=>it("span",{className:T("ww:inline-block ww:size-2 ww:shrink-0 ww:rounded-full ww:border ww:border-muted-foreground/50",e),...t}),zr=({className:e,...t})=>it("span",{className:T("ww:line-clamp-1 ww:grow ww:break-words ww:text-muted-foreground",e),...t}),jr=({className:e,...t})=>it("div",{className:T("ww:flex ww:shrink-0 ww:gap-1 ww:opacity-0 ww:transition-opacity ww:group-hover:opacity-100",e),...t}),Vr=({className:e,...t})=>it(ke,{className:T("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 Xe,jsxs as po}from"react/jsx-runtime";var $r=hl(({message:e,onRemove:t})=>{let a=gl(()=>t(e.id),[t,e.id]);return po(Gr,{children:[Xe(Wr,{}),Xe(zr,{children:e.text||"(attachment)"}),Xe(jr,{children:Xe(Vr,{"aria-label":"Remove from queue",onClick:a,children:Xe(je,{className:"ww:size-3"})})})]})});$r.displayName="ChatQueueItem";function aa({queuedMessages:e,onRemove:t,className:a}){return e.length===0?null:po(qr,{className:T("ww:border-t ww:border-border",a),children:[po("div",{className:"ww:text-[11px] ww:font-medium ww:text-muted-foreground ww:px-2",children:[e.length," queued"]}),Xe("ul",{children:e.map(o=>Xe($r,{message:o,onRemove:t},o.id))})]})}import{useState as Xr}from"react";import{jsx as wl}from"react/jsx-runtime";function Qr({messages:e,evalEnabled:t,api:a="/api/waniwani"}){let[o,r]=Xr(!1),[s,n]=Xr(null),i=async()=>{let u={name:`session-${new Date().toISOString().slice(0,19)}`,type:"functional",messages:e,mode:"manual"};r(!0),n(null);try{let f=await fetch(`${a}/scenarios`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(u)});if(!f.ok)throw new Error(`${f.status}`);n("saved")}catch{n("error")}finally{r(!1),setTimeout(()=>n(null),2e3)}};return!t||e.length===0?null:wl("button",{type:"button",onClick:i,disabled:o,title:"Save scenario to WaniWani",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:o?"saving...":s==="saved"?"saved":s==="error"?"error":"export"})}import{jsx as kt,jsxs as Ll}from"react/jsx-runtime";var Kr=({files:e,className:t,...a})=>e.length===0?null:kt("div",{className:T("ww:flex ww:flex-wrap ww:gap-1.5",t),...a,children:e.map((o,r)=>kt(xl,{file:o},r))});function xl({file:e}){return e.mediaType?.startsWith("image/")&&e.url?kt("img",{src:e.url,alt:e.filename??"attachment",className:"ww:h-16 ww:max-w-32 ww:rounded ww:object-cover"}):Ll("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:[kt(xt,{className:"ww:size-3 ww:shrink-0"}),kt("span",{className:"ww:max-w-24 ww:truncate",children:e.filename??"file"})]})}import{jsx as Jr}from"react/jsx-runtime";var mo=({className:e,size:t=5,...a})=>Jr("div",{className:T("ww:flex ww:items-center ww:gap-1",e),...a,children:[0,1,2].map(o=>Jr("div",{className:"ww:rounded-full ww:bg-muted-foreground/60",style:{width:t,height:t,animation:"ww-pulse 1.4s ease-in-out infinite",animationDelay:`${o*.2}s`}},o))});var de={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};var ve={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};var Le={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"};function Zr(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 Yr(e){return e===12288||e>=65281&&e<=65376||e>=65504&&e<=65510}function es(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 ts(e){return Zr(e)?"ambiguous":Yr(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":es(e)?"wide":"neutral"}function Cl(e){if(!Number.isSafeInteger(e))throw new TypeError(`Expected a code point, got \`${typeof e}\`.`)}function as(e){return Cl(e),ts(e)}var Il=Object.defineProperty,Sl=(e,t,a)=>t in e?Il(e,t,{enumerable:!0,configurable:!0,writable:!0,value:a}):e[t]=a,yl=(e,t,a)=>Sl(e,typeof t!="symbol"?t+"":t,a);function kl(e){return/^\p{Emoji_Presentation}/u.test(String.fromCodePoint(e))}function bl(e){if(!e||e<4352)return!1;switch(as(e)){case"fullwidth":case"halfwidth":return!0;case"wide":return!kl(e);case"narrow":return!1;case"ambiguous":return 917760<=e&&e<=917999?null:!1;case"neutral":return/^\p{sc=Hangul}/u.test(String.fromCodePoint(e))}}function Tl(e,t){return t!==65025||!e||e<8216?!1:e===8216||e===8217||e===8220||e===8221}function Pl(e){return e!==null&&e>=65024&&e<=65038}var Al=os(/\p{P}|\p{S}/u),vl=os(/\s/);function os(e){return t;function t(a){return a!==null&&a>-1&&e.test(String.fromCodePoint(a))}}var Ce;(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})(Ce||(Ce={}));function He(e){if(e===de.eof||hr(e)||vl(e))return ve.characterGroupWhitespace;let t=0;if(e>=4352){if(Pl(e))return Ce.nonEmojiGeneralUseVS;switch(bl(e)){case null:return Ce.ivs;case!0:t|=Ce.cjk;break}}return Al(e)&&(t|=ve.characterGroupPunctuation),t}function oa(e,t,a){if(!Rl(e))return e;let o=t(),r=He(o);return!o||Qe(r)?e:Tl(o,a)?Ce.cjkPunctuation:Ml(r)}function Ml(e){return e&~Ce.ivs}function Qe(e){return!!(e&ve.characterGroupWhitespace)}function lt(e){return(e&Ce.cjkPunctuation)===ve.characterGroupPunctuation}function bt(e){return!!(e&Ce.cjk)}function rs(e){return e===Ce.ivs}function ss(e){return!!(e&Ce.cjkOrIvs)}function Rl(e){return e===Ce.nonEmojiGeneralUseVS}function ho(e){return!!(e&Ce.spaceOrPunctuation)}function ra(e){return!!(e&&e>=55296&&e<=56319)}function sa(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 Fl(e,t,a){let o=e>=65536?2:1;if(t._bufferIndex<1+o)return null;let r=t._bufferIndex-o-2,s=a({start:{...t,_bufferIndex:r>=0?r:0},end:{...t,_bufferIndex:t._bufferIndex-o}}),n=s.charCodeAt(s.length-1);if(Number.isNaN(n))return null;if(s.length<2||n<56320||57343<n)return n;let i=s.codePointAt(0);return i&&i>=65536?i:n}var ia=class{constructor(e,t,a){this.previousCode=e,this.nowPoint=t,this.sliceSerialize=a,yl(this,"cachedValue")}value(){return this.cachedValue===void 0&&(this.cachedValue=Fl(this.previousCode,this.nowPoint,this.sliceSerialize)),this.cachedValue}};function la(e,t,a){let o=a({start:t,end:{...t,_bufferIndex:t._bufferIndex+2}}).codePointAt(0);return o&&o>=65536?o:e}var go={name:"attention",resolveAll:Bl,tokenize:Dl};function Bl(e,t){let a=-1,o,r,s,n,i,l,u,f;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},c={...e[a][1].start};ns(d,-l),ns(c,l),n={type:l>1?Le.strongSequence:Le.emphasisSequence,start:d,end:{...e[o][1].end}},i={type:l>1?Le.strongSequence:Le.emphasisSequence,start:{...e[a][1].start},end:c},s={type:l>1?Le.strongText:Le.emphasisText,start:{...e[o][1].end},end:{...e[a][1].start}},r={type:l>1?Le.strong:Le.emphasis,start:{...n.start},end:{...i.end}},e[o][1].end={...n.start},e[a][1].start={...i.end},u=[],e[o][1].end.offset-e[o][1].start.offset&&(u=rt(u,[["enter",e[o][1],t],["exit",e[o][1],t]])),u=rt(u,[["enter",r,t],["enter",n,t],["exit",n,t],["enter",s,t]]),t.parser.constructs.insideSpan.null,u=rt(u,$t(t.parser.constructs.insideSpan.null,e.slice(o+1,a),t)),u=rt(u,[["exit",s,t],["enter",i,t],["exit",i,t],["exit",r,t]]),e[a][1].end.offset-e[a][1].start.offset?(f=2,u=rt(u,[["enter",e[a][1],t],["exit",e[a][1],t]])):f=0,ot(e,o-1,a-o+3,u),a=o+u.length-f-2;break}}for(a=-1;++a<e.length;)e[a][1].type==="attentionSequence"&&(e[a][1].type="data");return e}function Dl(e,t){let a=this.parser.constructs.attentionMarkers.null,{now:o,sliceSerialize:r,previous:s}=this,n=sa(s)?na(s,o(),r):s,i=He(n),l=new ia(n,o(),r),u=oa(i,l.value.bind(l),n),f;return d;function d(p){return p===de.asterisk||de.underscore,f=p,e.enter("attentionSequence"),c(p)}function c(p){if(p===f)return e.consume(p),c;let m=e.exit("attentionSequence"),I=ra(p)?la(p,o(),r):p,C=He(I);let x=lt(u),g=x||Qe(u),h=lt(C),L=h||Qe(C),w=ss(u),b=!L||h&&(g||w)||a.includes(p),P=!g||x&&(L||bt(C))||a.includes(n);return m._open=!!(f===de.asterisk?b:b&&(ho(u)||!P)),m._close=!!(f===de.asterisk?P:P&&(ho(C)||!b)),t(p)}}function ns(e,t){e.column+=t,e.offset+=t,e._bufferIndex+=t}function is(){return{text:{[de.asterisk]:go,[de.underscore]:go},insideSpan:{null:[go]}}}function ls(){let e=this.data();(e.micromarkExtensions||(e.micromarkExtensions=[])).push(is())}function us(e){let a=(e||{}).singleTilde,o={name:"strikethrough",tokenize:s,resolveAll:r};return a==null&&(a=!0),{text:{[de.tilde]:o},insideSpan:{null:[o]},attentionMarkers:{null:[de.tilde]}};function r(n,i){let l=-1;for(;++l<n.length;)if(n[l][0]==="enter"&&n[l][1].type==="strikethroughSequenceTemporary"&&n[l][1]._close){let u=l;for(;u--;)if(n[u][0]==="exit"&&n[u][1].type==="strikethroughSequenceTemporary"&&n[u][1]._open&&n[l][1].end.offset-n[l][1].start.offset===n[u][1].end.offset-n[u][1].start.offset){n[l][1].type="strikethroughSequence",n[u][1].type="strikethroughSequence";let f={type:"strikethrough",start:Object.assign({},n[u][1].start),end:Object.assign({},n[l][1].end)},d={type:"strikethroughText",start:Object.assign({},n[u][1].end),end:Object.assign({},n[l][1].start)},c=[["enter",f,i],["enter",n[u][1],i],["exit",n[u][1],i],["enter",d,i]],p=i.parser.constructs.insideSpan.null;p&&ot(c,c.length,0,$t(p,n.slice(u+1,l),i)),ot(c,c.length,0,[["exit",d,i],["enter",n[l][1],i],["exit",n[l][1],i],["exit",f,i]]),ot(n,u-1,l-u+3,c),l=u+c.length-2;break}}for(l=-1;++l<n.length;)n[l][1].type==="strikethroughSequenceTemporary"&&(n[l][1].type=Le.data);return n}function s(n,i,l){let{now:u,sliceSerialize:f,previous:d}=this,c=sa(d)?na(d,u(),f):d,p=He(c),m=new ia(c,u(),f),I=oa(p,m.value.bind(m),c),C=this.events,x=0;return g;function g(L){return de.tilde,c===de.tilde&&C[C.length-1][1].type!==Le.characterEscape?l(L):(n.enter("strikethroughSequenceTemporary"),h(L))}function h(L){let w=He(c);if(L===de.tilde)return x>1?l(L):(n.consume(L),x++,h);if(x<2&&!a)return l(L);let b=n.exit("strikethroughSequenceTemporary"),P=ra(L)?la(L,u(),f):L,y=He(P),v=lt(I)||Qe(I),k=lt(y)||Qe(y),B=bt(I)||rs(w);return b._open=!k||y===ve.attentionSideAfter&&(v||B),b._close=!v||w===ve.attentionSideAfter&&(k||bt(y)),i(L)}}}function ds(e){let t=this.data();(t.micromarkExtensions||(t.micromarkExtensions=[])).push(us(e))}var El=new Set(["\u3002","\uFF0E","\uFF0C","\u3001","\uFF1F","\uFF01","\uFF1A","\uFF1B","\uFF08","\uFF09","\u3010","\u3011","\u300C","\u300D","\u300E","\u300F","\u3008","\u3009","\u300A","\u300B"]),_l=/^(https?:\/\/|mailto:|www\.)/i,Nl=e=>{if(e.children.length!==1)return!1;let t=e.children[0];return t.type==="text"&&t.value===e.url},Ul=e=>{let t=0;for(let a of e){if(El.has(a))return t;t+=a.length}return null},Ol=(e,t)=>({...t,url:e,children:[{type:"text",value:e}]}),Hl=e=>({type:"text",value:e}),ql=()=>e=>{gr(e,"link",(t,a,o)=>{if(!o||typeof a!="number"||!Nl(t)||!_l.test(t.url))return;let r=Ul(t.url);if(r===null||r===0)return;let s=t.url.slice(0,r),n=t.url.slice(r),i=Ol(s,t),l=Hl(n);return o.children.splice(a,1,i,l),a+1})};function Gl(){let e=[ls],t=[ql,ds],a=[...e,...t];return{name:"cjk",type:"cjk",remarkPluginsBefore:e,remarkPluginsAfter:t,remarkPlugins:a}}var fs=Gl();var Z=class extends Error{constructor(t){super(t),this.name="ShikiError"}};function Wl(e){return To(e)}function To(e){return Array.isArray(e)?zl(e):e instanceof RegExp?e:typeof e=="object"?jl(e):e}function zl(e){let t=[];for(let a=0,o=e.length;a<o;a++)t[a]=To(e[a]);return t}function jl(e){let t={};for(let a in e)t[a]=To(e[a]);return t}function Cs(e,...t){return t.forEach(a=>{for(let o in a)e[o]=a[o]}),e}function Is(e){let t=~e.lastIndexOf("/")||~e.lastIndexOf("\\");return t===0?e:~t===e.length-1?Is(e.substring(0,e.length-1)):e.substr(~t+1)}var wo=/\$(\d+)|\${(\d+):\/(downcase|upcase)}/g,ua=class{static hasCaptures(e){return e===null?!1:(wo.lastIndex=0,wo.test(e))}static replaceCaptures(e,t,a){return e.replace(wo,(o,r,s,n)=>{let i=a[parseInt(r||s,10)];if(i){let l=t.substring(i.start,i.end);for(;l[0]===".";)l=l.substring(1);switch(n){case"downcase":return l.toLowerCase();case"upcase":return l.toUpperCase();default:return l}}else return o})}};function Ss(e,t){return e<t?-1:e>t?1:0}function ys(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 s=Ss(e[r],t[r]);if(s!==0)return s}return 0}return a-o}function cs(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 ks(e){return e.replace(/[\-\\\{\}\*\+\?\|\^\$\.\,\[\]\(\)\#\s]/g,"\\$&")}var bs=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}},At=class{constructor(e,t,a){this._colorMap=e,this._defaults=t,this._root=a}static createFromRawTheme(e,t){return this.createFromParsedTheme(Xl(e),t)}static createFromParsedTheme(e,t){return Kl(e,t)}_cachedMatchRoot=new bs(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=>Vl(e.parent,r.parentScopes));return o?new Ts(o.fontStyle,o.foreground,o.background):null}},xo=class da{constructor(t,a){this.parent=t,this.scopeName=a}static push(t,a){for(let o of a)t=new da(t,o);return t}static from(...t){let a=null;for(let o=0;o<t.length;o++)a=new da(a,t[o]);return a}push(t){return new da(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 Vl(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&&!$l(e.scopeName,o);){if(r)return!1;e=e.parent}if(!e)return!1;e=e.parent}return!0}function $l(e,t){return t===e||e.startsWith(t)&&e[t.length]==="."}var Ts=class{constructor(e,t,a){this.fontStyle=e,this.foregroundId=t,this.backgroundId=a}};function Xl(e){if(!e)return[];if(!e.settings||!Array.isArray(e.settings))return[];let t=e.settings,a=[],o=0;for(let r=0,s=t.length;r<s;r++){let n=t[r];if(!n.settings)continue;let i;if(typeof n.scope=="string"){let d=n.scope;d=d.replace(/^[,]+/,""),d=d.replace(/[,]+$/,""),i=d.split(",")}else Array.isArray(n.scope)?i=n.scope:i=[""];let l=-1;if(typeof n.settings.fontStyle=="string"){l=0;let d=n.settings.fontStyle.split(" ");for(let c=0,p=d.length;c<p;c++)switch(d[c]){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 n.settings.foreground=="string"&&cs(n.settings.foreground)&&(u=n.settings.foreground);let f=null;typeof n.settings.background=="string"&&cs(n.settings.background)&&(f=n.settings.background);for(let d=0,c=i.length;d<c;d++){let m=i[d].trim().split(" "),I=m[m.length-1],C=null;m.length>1&&(C=m.slice(0,m.length-1),C.reverse()),a[o++]=new Ql(I,C,r,l,u,f)}}return a}var Ql=class{constructor(e,t,a,o,r,s){this.scope=e,this.parentScopes=t,this.index=a,this.fontStyle=o,this.foreground=r,this.background=s}},fe=(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))(fe||{});function Kl(e,t){e.sort((l,u)=>{let f=Ss(l.scope,u.scope);return f!==0||(f=ys(l.parentScopes,u.parentScopes),f!==0)?f: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 s=new Jl(t),n=new Ts(a,s.getId(o),s.getId(r)),i=new Yl(new Co(0,null,-1,0,0),[]);for(let l=0,u=e.length;l<u;l++){let f=e[l];i.insert(0,f.scope,f.parentScopes,f.fontStyle,s.getId(f.foreground),s.getId(f.background))}return new At(s,n,i)}var Jl=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)}},Zl=Object.freeze([]),Co=class Ps{scopeDepth;parentScopes;fontStyle;foreground;background;constructor(t,a,o,r,s){this.scopeDepth=t,this.parentScopes=a||Zl,this.fontStyle=o,this.foreground=r,this.background=s}clone(){return new Ps(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)}},Yl=class Io{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 s=a.parentScopes[r].length-t.parentScopes[o].length;if(s!==0)return s;o++,r++}return a.parentScopes.length-t.parentScopes.length}match(t){if(t!==""){let o=t.indexOf("."),r,s;if(o===-1?(r=t,s=""):(r=t.substring(0,o),s=t.substring(o+1)),this._children.hasOwnProperty(r))return this._children[r].match(s)}let a=this._rulesWithParentScopes.concat(this._mainRule);return a.sort(Io._cmpBySpecificity),a}insert(t,a,o,r,s,n){if(a===""){this._doInsertHere(t,o,r,s,n);return}let i=a.indexOf("."),l,u;i===-1?(l=a,u=""):(l=a.substring(0,i),u=a.substring(i+1));let f;this._children.hasOwnProperty(l)?f=this._children[l]:(f=new Io(this._mainRule.clone(),Co.cloneArr(this._rulesWithParentScopes)),this._children[l]=f),f.insert(t+1,u,o,r,s,n)}_doInsertHere(t,a,o,r,s){if(a===null){this._mainRule.acceptOverwrite(t,o,r,s);return}for(let n=0,i=this._rulesWithParentScopes.length;n<i;n++){let l=this._rulesWithParentScopes[n];if(ys(l.parentScopes,a)===0){l.acceptOverwrite(t,o,r,s);return}}o===-1&&(o=this._mainRule.fontStyle),r===0&&(r=this._mainRule.foreground),s===0&&(s=this._mainRule.background),this._rulesWithParentScopes.push(new Co(t,a,o,r,s))}},Je=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),s=be.getForeground(t),n=be.getBackground(t);console.log({languageId:a,tokenType:o,fontStyle:r,foreground:s,background:n})}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,s,n,i){let l=be.getLanguageId(t),u=be.getTokenType(t),f=be.containsBalancedBrackets(t)?1:0,d=be.getFontStyle(t),c=be.getForeground(t),p=be.getBackground(t);return a!==0&&(l=a),o!==8&&(u=o),r!==null&&(f=r?1:0),s!==-1&&(d=s),n!==0&&(c=n),i!==0&&(p=i),(l<<0|u<<8|f<<10|d<<11|c<<15|p<<24)>>>0}};function ca(e,t){let a=[],o=eu(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=n();if(a.push({matcher:u,priority:l}),r!==",")break;r=o.next()}return a;function s(){if(r==="-"){r=o.next();let l=s();return u=>!!l&&!l(u)}if(r==="("){r=o.next();let l=i();return r===")"&&(r=o.next()),l}if(ps(r)){let l=[];do l.push(r),r=o.next();while(ps(r));return u=>t(l,u)}return null}function n(){let l=[],u=s();for(;u;)l.push(u),u=s();return f=>l.every(d=>d(f))}function i(){let l=[],u=n();for(;u&&(l.push(u),r==="|"||r===",");){do r=o.next();while(r==="|"||r===",");u=n()}return f=>l.some(d=>d(f))}}function ps(e){return!!e&&!!e.match(/[\w\.:]+/)}function eu(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 As(e){typeof e.dispose=="function"&&e.dispose()}var vt=class{constructor(e){this.scopeName=e}toKey(){return this.scopeName}},tu=class{constructor(e,t){this.scopeName=e,this.ruleName=t}toKey(){return`${this.scopeName}#${this.ruleName}`}},au=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))}},ou=class{constructor(e,t){this.repo=e,this.initialScopeName=t,this.seenFullScopeRequests.add(this.initialScopeName),this.Q=[new vt(this.initialScopeName)]}seenFullScopeRequests=new Set;seenPartialScopeRequests=new Set;Q;processQueue(){let e=this.Q;this.Q=[];let t=new au;for(let a of e)ru(a,this.initialScopeName,this.repo,t);for(let a of t.references)if(a instanceof vt){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 ru(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 s=a.lookup(t);e instanceof vt?fa({baseGrammar:s,selfGrammar:r},o):So(e.ruleName,{baseGrammar:s,selfGrammar:r,repository:r.repository},o);let n=a.injections(e.scopeName);if(n)for(let i of n)o.add(new vt(i))}function So(e,t,a){if(t.repository&&t.repository[e]){let o=t.repository[e];pa([o],t,a)}}function fa(e,t){e.selfGrammar.patterns&&Array.isArray(e.selfGrammar.patterns)&&pa(e.selfGrammar.patterns,{...e,repository:e.selfGrammar.repository},t),e.selfGrammar.injections&&pa(Object.values(e.selfGrammar.injections),{...e,repository:e.selfGrammar.repository},t)}function pa(e,t,a){for(let o of e){if(a.visitedRule.has(o))continue;a.visitedRule.add(o);let r=o.repository?Cs({},t.repository,o.repository):t.repository;Array.isArray(o.patterns)&&pa(o.patterns,{...t,repository:r},a);let s=o.include;if(!s)continue;let n=vs(s);switch(n.kind){case 0:fa({...t,selfGrammar:t.baseGrammar},a);break;case 1:fa(t,a);break;case 2:So(n.ruleName,{...t,repository:r},a);break;case 3:case 4:let i=n.scopeName===t.selfGrammar.scopeName?t.selfGrammar:n.scopeName===t.baseGrammar.scopeName?t.baseGrammar:void 0;if(i){let l={baseGrammar:t.baseGrammar,selfGrammar:i,repository:r};n.kind===4?So(n.ruleName,l,a):fa(l,a)}else n.kind===4?a.add(new tu(n.scopeName,n.ruleName)):a.add(new vt(n.scopeName));break}}}var su=class{kind=0},nu=class{kind=1},iu=class{constructor(e){this.ruleName=e}kind=2},lu=class{constructor(e){this.scopeName=e}kind=3},uu=class{constructor(e,t){this.scopeName=e,this.ruleName=t}kind=4};function vs(e){if(e==="$base")return new su;if(e==="$self")return new nu;let t=e.indexOf("#");if(t===-1)return new lu(e);if(t===0)return new iu(e.substring(1));{let a=e.substring(0,t),o=e.substring(t+1);return new uu(a,o)}}var du=/\\(\d+)/,ms=/\\(\d+)/g;var fu=-1,Ms=-2;var Ft=class{$location;id;_nameIsCapturing;_name;_contentNameIsCapturing;_contentName;constructor(e,t,a,o){this.$location=e,this.id=t,this._name=a||null,this._nameIsCapturing=ua.hasCaptures(this._name),this._contentName=o||null,this._contentNameIsCapturing=ua.hasCaptures(this._contentName)}get debugName(){let e=this.$location?`${Is(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:ua.replaceCaptures(this._name,e,t)}getContentName(e,t){return!this._contentNameIsCapturing||this._contentName===null?this._contentName:ua.replaceCaptures(this._contentName,e,t)}},cu=class extends Ft{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!")}},pu=class extends Ft{_match;captures;_cachedCompiledPatterns;constructor(e,t,a,o,r){super(e,t,a,null),this._match=new Mt(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 Rt,this.collectPatterns(e,this._cachedCompiledPatterns)),this._cachedCompiledPatterns}},hs=class extends Ft{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 Rt,this.collectPatterns(e,this._cachedCompiledPatterns)),this._cachedCompiledPatterns}},yo=class extends Ft{_begin;beginCaptures;_end;endHasBackReferences;endCaptures;applyEndPatternLast;hasMissingPatterns;patterns;_cachedCompiledPatterns;constructor(e,t,a,o,r,s,n,i,l,u){super(e,t,a,o),this._begin=new Mt(r,this.id),this.beginCaptures=s,this._end=new Mt(n||"\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 Rt;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}},ma=class extends Ft{_begin;beginCaptures;whileCaptures;_while;whileHasBackReferences;hasMissingPatterns;patterns;_cachedCompiledPatterns;_cachedCompiledWhilePatterns;constructor(e,t,a,o,r,s,n,i,l){super(e,t,a,o),this._begin=new Mt(r,this.id),this.beginCaptures=s,this.whileCaptures=i,this._while=new Mt(n,Ms),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 Rt;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 Rt,this._cachedCompiledWhilePatterns.push(this._while.hasBackReferences?this._while.clone():this._while)),this._while.hasBackReferences&&this._cachedCompiledWhilePatterns.setSource(0,t||"\uFFFF"),this._cachedCompiledWhilePatterns}},Rs=class me{static createCaptureRule(t,a,o,r,s){return t.registerRule(n=>new cu(a,n,o,r,s))}static getCompiledRuleId(t,a,o){return t.id||a.registerRule(r=>{if(t.id=r,t.match)return new pu(t.$vscodeTextmateLocation,t.id,t.name,t.match,me._compileCaptures(t.captures,a,o));if(typeof t.begin>"u"){t.repository&&(o=Cs({},o,t.repository));let s=t.patterns;return typeof s>"u"&&t.include&&(s=[{include:t.include}]),new hs(t.$vscodeTextmateLocation,t.id,t.name,t.contentName,me._compilePatterns(s,a,o))}return t.while?new ma(t.$vscodeTextmateLocation,t.id,t.name,t.contentName,t.begin,me._compileCaptures(t.beginCaptures||t.captures,a,o),t.while,me._compileCaptures(t.whileCaptures||t.captures,a,o),me._compilePatterns(t.patterns,a,o)):new yo(t.$vscodeTextmateLocation,t.id,t.name,t.contentName,t.begin,me._compileCaptures(t.beginCaptures||t.captures,a,o),t.end,me._compileCaptures(t.endCaptures||t.captures,a,o),t.applyEndPatternLast,me._compilePatterns(t.patterns,a,o))}),t.id}static _compileCaptures(t,a,o){let r=[];if(t){let s=0;for(let n in t){if(n==="$vscodeTextmateLocation")continue;let i=parseInt(n,10);i>s&&(s=i)}for(let n=0;n<=s;n++)r[n]=null;for(let n in t){if(n==="$vscodeTextmateLocation")continue;let i=parseInt(n,10),l=0;t[n].patterns&&(l=me.getCompiledRuleId(t[n],a,o)),r[i]=me.createCaptureRule(a,t[n].$vscodeTextmateLocation,t[n].name,t[n].contentName,l)}}return r}static _compilePatterns(t,a,o){let r=[];if(t)for(let s=0,n=t.length;s<n;s++){let i=t[s],l=-1;if(i.include){let u=vs(i.include);switch(u.kind){case 0:case 1:l=me.getCompiledRuleId(o[i.include],a,o);break;case 2:let f=o[u.ruleName];f&&(l=me.getCompiledRuleId(f,a,o));break;case 3:case 4:let d=u.scopeName,c=u.kind===4?u.ruleName:null,p=a.getExternalGrammar(d,o);if(p)if(c){let m=p.repository[c];m&&(l=me.getCompiledRuleId(m,a,p.repository))}else l=me.getCompiledRuleId(p.repository.$self,a,p.repository);break}}else l=me.getCompiledRuleId(i,a,o);if(l!==-1){let u=a.getRule(l),f=!1;if((u instanceof hs||u instanceof yo||u instanceof ma)&&u.hasMissingPatterns&&u.patterns.length===0&&(f=!0),f)continue;r.push(l)}}return{patterns:r,hasMissingPatterns:(t?t.length:0)!==r.length}}},Mt=class Fs{source;ruleId;hasAnchor;hasBackReferences;_anchorCache;constructor(t,a){if(t&&typeof t=="string"){let o=t.length,r=0,s=[],n=!1;for(let i=0;i<o;i++)if(t.charAt(i)==="\\"&&i+1<o){let u=t.charAt(i+1);u==="z"?(s.push(t.substring(r,i)),s.push("$(?!\\n)(?<!\\n)"),r=i+2):(u==="A"||u==="G")&&(n=!0),i++}this.hasAnchor=n,r===0?this.source=t:(s.push(t.substring(r,o)),this.source=s.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=du.test(this.source):this.hasBackReferences=!1}clone(){return new Fs(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 ms.lastIndex=0,this.source.replace(ms,(r,s)=>ks(o[parseInt(s,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=[],s,n,i,l;for(s=0,n=this.source.length;s<n;s++)i=this.source.charAt(s),t[s]=i,a[s]=i,o[s]=i,r[s]=i,i==="\\"&&s+1<n&&(l=this.source.charAt(s+1),l==="A"?(t[s+1]="\uFFFF",a[s+1]="\uFFFF",o[s+1]="A",r[s+1]="A"):l==="G"?(t[s+1]="\uFFFF",a[s+1]="G",o[s+1]="\uFFFF",r[s+1]="G"):(t[s+1]=l,a[s+1]=l,o[s+1]=l,r[s+1]=l),s++);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}},Rt=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 gs(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 gs(e,o,this._items.map(r=>r.ruleId))}},gs=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(`
3
- `)}findNextMatchSync(e,t,a){let o=this.scanner.findNextMatchSync(e,t,a);return o?{ruleId:this.rules[o.index],captureIndices:o.captureIndices}:null}},Lo=class{constructor(e,t){this.languageId=e,this.tokenType=t}},mu=class ko{_defaultAttributes;_embeddedLanguagesMatcher;constructor(t,a){this._defaultAttributes=new Lo(t,8),this._embeddedLanguagesMatcher=new hu(Object.entries(a||{}))}getDefaultAttributes(){return this._defaultAttributes}getBasicScopeAttributes(t){return t===null?ko._NULL_SCOPE_METADATA:this._getBasicScopeAttributes.get(t)}static _NULL_SCOPE_METADATA=new Lo(0,0);_getBasicScopeAttributes=new bs(t=>{let a=this._scopeToLanguage(t),o=this._toStandardTokenType(t);return new Lo(a,o)});_scopeToLanguage(t){return this._embeddedLanguagesMatcher.match(t)||0}_toStandardTokenType(t){let a=t.match(ko.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/},hu=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])=>ks(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])}},qh={InDebugMode:typeof process<"u"&&!!process.env.VSCODE_TEXTMATE_DEBUG},Bs=!1,ws=class{constructor(e,t){this.stack=e,this.stoppedEarly=t}};function Ds(e,t,a,o,r,s,n,i){let l=t.content.length,u=!1,f=-1;if(n){let p=gu(e,t,a,o,r,s);r=p.stack,o=p.linePos,a=p.isFirstLine,f=p.anchorPosition}let d=Date.now();for(;!u;){if(i!==0&&Date.now()-d>i)return new ws(r,!0);c()}return new ws(r,!1);function c(){let p=wu(e,t,a,o,r,f);if(!p){s.produce(r,l),u=!0;return}let m=p.captureIndices,I=p.matchedRuleId,C=m&&m.length>0?m[0].end>o:!1;if(I===fu){let x=r.getRule(e);s.produce(r,m[0].start),r=r.withContentNameScopesList(r.nameScopesList),Tt(e,t,a,r,s,x.endCaptures,m),s.produce(r,m[0].end);let g=r;if(r=r.parent,f=g.getAnchorPos(),!C&&g.getEnterPos()===o){r=g,s.produce(r,l),u=!0;return}}else{let x=e.getRule(I);s.produce(r,m[0].start);let g=r,h=x.getName(t.content,m),L=r.contentNameScopesList.pushAttributed(h,e);if(r=r.push(I,o,f,m[0].end===l,null,L,L),x instanceof yo){let w=x;Tt(e,t,a,r,s,w.beginCaptures,m),s.produce(r,m[0].end),f=m[0].end;let b=w.getContentName(t.content,m),P=L.pushAttributed(b,e);if(r=r.withContentNameScopesList(P),w.endHasBackReferences&&(r=r.withEndRule(w.getEndWithResolvedBackReferences(t.content,m))),!C&&g.hasSameRuleAs(r)){r=r.pop(),s.produce(r,l),u=!0;return}}else if(x instanceof ma){let w=x;Tt(e,t,a,r,s,w.beginCaptures,m),s.produce(r,m[0].end),f=m[0].end;let b=w.getContentName(t.content,m),P=L.pushAttributed(b,e);if(r=r.withContentNameScopesList(P),w.whileHasBackReferences&&(r=r.withEndRule(w.getWhileWithResolvedBackReferences(t.content,m))),!C&&g.hasSameRuleAs(r)){r=r.pop(),s.produce(r,l),u=!0;return}}else if(Tt(e,t,a,r,s,x.captures,m),s.produce(r,m[0].end),r=r.pop(),!C){r=r.safePop(),s.produce(r,l),u=!0;return}}m[0].end>o&&(o=m[0].end,a=!1)}}function gu(e,t,a,o,r,s){let n=r.beginRuleCapturedEOL?0:-1,i=[];for(let l=r;l;l=l.pop()){let u=l.getRule(e);u instanceof ma&&i.push({rule:u,stack:l})}for(let l=i.pop();l;l=i.pop()){let{ruleScanner:u,findOptions:f}=Cu(l.rule,e,l.stack.endRule,a,o===n),d=u.findNextMatchSync(t,o,f);if(d){if(d.ruleId!==Ms){r=l.stack.pop();break}d.captureIndices&&d.captureIndices.length&&(s.produce(l.stack,d.captureIndices[0].start),Tt(e,t,a,l.stack,s,l.rule.whileCaptures,d.captureIndices),s.produce(l.stack,d.captureIndices[0].end),n=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:n,isFirstLine:a}}function wu(e,t,a,o,r,s){let n=xu(e,t,a,o,r,s),i=e.getInjections();if(i.length===0)return n;let l=Lu(i,e,t,a,o,r,s);if(!l)return n;if(!n)return l;let u=n.captureIndices[0].start,f=l.captureIndices[0].start;return f<u||l.priorityMatch&&f===u?l:n}function xu(e,t,a,o,r,s){let n=r.getRule(e),{ruleScanner:i,findOptions:l}=Es(n,e,r.endRule,a,o===s),u=i.findNextMatchSync(t,o,l);return u?{captureIndices:u.captureIndices,matchedRuleId:u.ruleId}:null}function Lu(e,t,a,o,r,s,n){let i=Number.MAX_VALUE,l=null,u,f=0,d=s.contentNameScopesList.getScopeNames();for(let c=0,p=e.length;c<p;c++){let m=e[c];if(!m.matcher(d))continue;let I=t.getRule(m.ruleId),{ruleScanner:C,findOptions:x}=Es(I,t,null,o,r===n),g=C.findNextMatchSync(a,r,x);if(!g)continue;let h=g.captureIndices[0].start;if(!(h>=i)&&(i=h,l=g.captureIndices,u=g.ruleId,f=m.priority,i===r))break}return l?{priorityMatch:f===-1,captureIndices:l,matchedRuleId:u}:null}function Es(e,t,a,o,r){if(Bs){let n=e.compile(t,a),i=_s(o,r);return{ruleScanner:n,findOptions:i}}return{ruleScanner:e.compileAG(t,a,o,r),findOptions:0}}function Cu(e,t,a,o,r){if(Bs){let n=e.compileWhile(t,a),i=_s(o,r);return{ruleScanner:n,findOptions:i}}return{ruleScanner:e.compileWhileAG(t,a,o,r),findOptions:0}}function _s(e,t){let a=0;return e||(a|=1),t||(a|=4),a}function Tt(e,t,a,o,r,s,n){if(s.length===0)return;let i=t.content,l=Math.min(s.length,n.length),u=[],f=n[0].end;for(let d=0;d<l;d++){let c=s[d];if(c===null)continue;let p=n[d];if(p.length===0)continue;if(p.start>f)break;for(;u.length>0&&u[u.length-1].endPos<=p.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,p.start):r.produce(o,p.start),c.retokenizeCapturedWithRuleId){let I=c.getName(i,n),C=o.contentNameScopesList.pushAttributed(I,e),x=c.getContentName(i,n),g=C.pushAttributed(x,e),h=o.push(c.retokenizeCapturedWithRuleId,p.start,-1,!1,null,C,g),L=e.createOnigString(i.substring(0,p.end));Ds(e,L,a&&p.start===0,p.start,h,r,!1,0),As(L);continue}let m=c.getName(i,n);if(m!==null){let C=(u.length>0?u[u.length-1].scopes:o.contentNameScopesList).pushAttributed(m,e);u.push(new Iu(C,p.end))}}for(;u.length>0;)r.produceFromScopes(u[u.length-1].scopes,u[u.length-1].endPos),u.pop()}var Iu=class{scopes;endPos;constructor(e,t){this.scopes=e,this.endPos=t}};function Su(e,t,a,o,r,s,n,i){return new ku(e,t,a,o,r,s,n,i)}function xs(e,t,a,o,r){let s=ca(t,ha),n=Rs.getCompiledRuleId(a,o,r.repository);for(let i of s)e.push({debugSelector:t,matcher:i.matcher,ruleId:n,grammar:r,priority:i.priority})}function ha(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(yu(t[r],o))return a=r+1,!0;return!1})}function yu(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 ku=class{constructor(e,t,a,o,r,s,n,i){if(this._rootScopeName=e,this.balancedBracketSelectors=s,this._onigLib=i,this._basicScopeAttributesProvider=new mu(a,o),this._rootId=-1,this._lastRuleId=0,this._ruleId2desc=[null],this._includedGrammars={},this._grammarRepository=n,this._grammar=Ls(t,null),this._injections=null,this._tokenTypeMatchers=[],r)for(let l of Object.keys(r)){let u=ca(l,ha);for(let f of u)this._tokenTypeMatchers.push({matcher:f.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 n in r)xs(t,n,r[n],this,o);let s=this._grammarRepository.injections(a);s&&s.forEach(n=>{let i=this.getExternalGrammar(n);if(i){let l=i.injectionSelector;l&&xs(t,l,i,this,i)}})}return t.sort((r,s)=>r.priority-s.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]=Ls(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=Rs.getCompiledRuleId(this._grammar.repository.$self,this,this._grammar.repository),this.getInjections());let r;if(!t||t===bo.NULL){r=!0;let u=this._basicScopeAttributesProvider.getDefaultAttributes(),f=this.themeProvider.getDefaults(),d=Je.set(0,u.languageId,u.tokenType,null,f.fontStyle,f.foregroundId,f.backgroundId),c=this.getRule(this._rootId).getName(null,null),p;c?p=Pt.createRootAndLookUpScopeName(c,d,this):p=Pt.createRoot("unknown",d),t=new bo(null,this._rootId,-1,-1,!1,null,p,p)}else r=!1,t.reset();e=e+`
4
- `;let s=this.createOnigString(e),n=s.content.length,i=new Tu(a,e,this._tokenTypeMatchers,this.balancedBracketSelectors),l=Ds(this,s,r,0,t,i,!0,o);return As(s),{lineLength:n,lineTokens:i,ruleStack:l.stack,stoppedEarly:l.stoppedEarly}}};function Ls(e,t){return e=Wl(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 Pt=class Me{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 s of a)r=xo.push(r,s.scopeNames),o=new Me(o,r,s.encodedTokenAttributes);return o}static createRoot(t,a){return new Me(null,new xo(null,t),a)}static createRootAndLookUpScopeName(t,a,o){let r=o.getMetadataForScope(t),s=new xo(null,t),n=o.themeProvider.themeMatch(s),i=Me.mergeAttributes(a,r,n);return new Me(null,s,i)}get scopeName(){return this.scopePath.scopeName}toString(){return this.getScopeNames().join(" ")}equals(t){return Me.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,s=0,n=0;return o!==null&&(r=o.fontStyle,s=o.foregroundId,n=o.backgroundId),Je.set(t,a.languageId,a.tokenType,null,r,s,n)}pushAttributed(t,a){if(t===null)return this;if(t.indexOf(" ")===-1)return Me._pushAttributed(this,t,a);let o=t.split(/ /g),r=this;for(let s of o)r=Me._pushAttributed(r,s,a);return r}static _pushAttributed(t,a,o){let r=o.getMetadataForScope(a),s=t.scopePath.push(a),n=o.themeProvider.themeMatch(s),i=Me.mergeAttributes(t.tokenAttributes,r,n);return new Me(t,s,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}},bo=class Ke{constructor(t,a,o,r,s,n,i,l){this.parent=t,this.ruleId=a,this.beginRuleCapturedEOL=s,this.endRule=n,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 Ke(null,0,0,0,!1,null,null,null);_enterPos;_anchorPos;depth;equals(t){return t===null?!1:Ke._equals(this,t)}static _equals(t,a){return t===a?!0:this._structuralEquals(t,a)?Pt.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(){Ke._reset(this)}pop(){return this.parent}safePop(){return this.parent?this.parent:this}push(t,a,o,r,s,n,i){return new Ke(this,t,a,o,r,s,n,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 Ke(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=Pt.fromExtension(t?.nameScopesList??null,a.nameScopesList);return new Ke(t,a.ruleId,a.enterPos??-1,a.anchorPos??-1,a.beginRuleCapturedEOL,a.endRule,o,Pt.fromExtension(o,a.contentNameScopesList))}},bu=class{balancedBracketScopes;unbalancedBracketScopes;allowAny=!1;constructor(e,t){this.balancedBracketScopes=e.flatMap(a=>a==="*"?(this.allowAny=!0,[]):ca(a,ha).map(o=>o.matcher)),this.unbalancedBracketScopes=t.flatMap(a=>ca(a,ha).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}},Tu=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 s=e?.getScopeNames()??[];for(let n of this._tokenTypeOverrides)n.matcher(s)&&(o=Je.set(o,0,n.type,null,-1,0,0));this.balancedBracketSelectors&&(r=this.balancedBracketSelectors.match(s))}if(r&&(o=Je.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}},Pu=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 s=this._rawGrammars.get(e);if(!s)return null;this._grammars.set(e,Su(e,s,t,a,o,r,this,this._onigLib))}return this._grammars.get(e)}},Ns=class{_options;_syncRegistry;_ensureGrammarCache;constructor(e){this._options=e,this._syncRegistry=new Pu(At.createFromRawTheme(e.theme,e.colorMap),e.onigLib),this._ensureGrammarCache=new Map}dispose(){this._syncRegistry.dispose()}setTheme(e,t){this._syncRegistry.setTheme(At.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 bu(a.balancedBracketSelectors||[],a.unbalancedBracketSelectors||[]))}loadGrammar(e){return this._loadGrammar(e,0,null,null,null)}_loadGrammar(e,t,a,o,r){let s=new ou(this._syncRegistry,e);for(;s.Q.length>0;)s.Q.map(n=>this._loadSingleGrammar(n.scopeName)),s.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)}},ga=bo.NULL;var Au=/["&'<>`]/g,vu=/[\uD800-\uDBFF][\uDC00-\uDFFF]/g,Mu=/[\x01-\t\v\f\x0E-\x1F\x7F\x81\x8D\x8F\x90\x9D\xA0-\uFFFF]/g,Ru=/[|\\{}()[\]^$+*?.]/g,Us=new WeakMap;function Os(e,t){if(e=e.replace(t.subset?Fu(t.subset):Au,o),t.subset||t.escapeOnly)return e;return e.replace(vu,a).replace(Mu,o);function a(r,s,n){return t.format((r.charCodeAt(0)-55296)*1024+r.charCodeAt(1)-56320+65536,n.charCodeAt(s+2),t)}function o(r,s,n){return t.format(r.charCodeAt(0),n.charCodeAt(s+1),t)}}function Fu(e){let t=Us.get(e);return t||(t=Bu(e),Us.set(e,t)),t}function Bu(e){let t=[],a=-1;for(;++a<e.length;)t.push(e[a].replace(Ru,"\\$&"));return new RegExp("(?:"+t.join("|")+")","g")}var Du=/[\dA-Fa-f]/;function Hs(e,t,a){let o="&#x"+e.toString(16).toUpperCase();return a&&t&&!Du.test(String.fromCharCode(t))?o:o+";"}var Eu=/\d/;function qs(e,t,a){let o="&#"+String(e);return a&&t&&!Eu.test(String.fromCharCode(t))?o:o+";"}var Gs=["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"];var wa={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"};var Ws=["cent","copy","divide","gt","lt","not","para","times"];var zs={}.hasOwnProperty,Po={},xa;for(xa in wa)zs.call(wa,xa)&&(Po[wa[xa]]=xa);var _u=/[^\dA-Za-z]/;function js(e,t,a,o){let r=String.fromCharCode(e);if(zs.call(Po,r)){let s=Po[r],n="&"+s;return a&&Gs.includes(s)&&!Ws.includes(s)&&(!o||t&&t!==61&&_u.test(String.fromCharCode(t)))?n:n+";"}return""}function Vs(e,t,a){let o=Hs(e,t,a.omitOptionalSemicolons),r;if((a.useNamedReferences||a.useShortestReferences)&&(r=js(e,t,a.omitOptionalSemicolons,a.attribute)),(a.useShortestReferences||!r)&&a.useShortestReferences){let s=qs(e,t,a.omitOptionalSemicolons);s.length<o.length&&(o=s)}return r&&(!a.useShortestReferences||r.length<o.length)?r:o}function De(e,t){return Os(e,Object.assign({format:Vs},t))}var Nu=/^>|^->|<!--|-->|--!>|<!-$/g,Uu=[">"],Ou=["<",">"];function $s(e,t,a,o){return o.settings.bogusComments?"<?"+De(e.value,Object.assign({},o.settings.characterReferences,{subset:Uu}))+">":"<!--"+e.value.replace(Nu,r)+"-->";function r(s){return De(s,Object.assign({},o.settings.characterReferences,{subset:Ou}))}}function Xs(e,t,a,o){return"<!"+(o.settings.upperDoctype?"DOCTYPE":"doctype")+(o.settings.tightDoctype?"":" ")+"html>"}var te=Qs(1),Ao=Qs(-1),Hu=[];function Qs(e){return t;function t(a,o,r){let s=a?a.children:Hu,n=(o||0)+e,i=s[n];if(!r)for(;i&&st(i);)n+=e,i=s[n];return i}}var qu={}.hasOwnProperty;function La(e){return t;function t(a,o,r){return qu.call(e,a.tagName)&&e[a.tagName](a,o,r)}}var Bt=La({body:Wu,caption:vo,colgroup:vo,dd:$u,dt:Vu,head:vo,html:Gu,li:ju,optgroup:Xu,option:Qu,p:zu,rp:Ks,rt:Ks,tbody:Ju,td:Js,tfoot:Zu,th:Js,thead:Ku,tr:Yu});function vo(e,t,a){let o=te(a,t,!0);return!o||o.type!=="comment"&&!(o.type==="text"&&st(o.value.charAt(0)))}function Gu(e,t,a){let o=te(a,t);return!o||o.type!=="comment"}function Wu(e,t,a){let o=te(a,t);return!o||o.type!=="comment"}function zu(e,t,a){let o=te(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 ju(e,t,a){let o=te(a,t);return!o||o.type==="element"&&o.tagName==="li"}function Vu(e,t,a){let o=te(a,t);return!!(o&&o.type==="element"&&(o.tagName==="dt"||o.tagName==="dd"))}function $u(e,t,a){let o=te(a,t);return!o||o.type==="element"&&(o.tagName==="dt"||o.tagName==="dd")}function Ks(e,t,a){let o=te(a,t);return!o||o.type==="element"&&(o.tagName==="rp"||o.tagName==="rt")}function Xu(e,t,a){let o=te(a,t);return!o||o.type==="element"&&o.tagName==="optgroup"}function Qu(e,t,a){let o=te(a,t);return!o||o.type==="element"&&(o.tagName==="option"||o.tagName==="optgroup")}function Ku(e,t,a){let o=te(a,t);return!!(o&&o.type==="element"&&(o.tagName==="tbody"||o.tagName==="tfoot"))}function Ju(e,t,a){let o=te(a,t);return!o||o.type==="element"&&(o.tagName==="tbody"||o.tagName==="tfoot")}function Zu(e,t,a){return!te(a,t)}function Yu(e,t,a){let o=te(a,t);return!o||o.type==="element"&&o.tagName==="tr"}function Js(e,t,a){let o=te(a,t);return!o||o.type==="element"&&(o.tagName==="td"||o.tagName==="th")}var Zs=La({body:ad,colgroup:od,head:td,html:ed,tbody:rd});function ed(e){let t=te(e,-1);return!t||t.type!=="comment"}function td(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 ad(e){let t=te(e,-1,!0);return!t||t.type!=="comment"&&!(t.type==="text"&&st(t.value.charAt(0)))&&!(t.type==="element"&&(t.tagName==="meta"||t.tagName==="link"||t.tagName==="script"||t.tagName==="style"||t.tagName==="template"))}function od(e,t,a){let o=Ao(a,t),r=te(e,-1,!0);return a&&o&&o.type==="element"&&o.tagName==="colgroup"&&Bt(o,a.children.indexOf(o),a)?!1:!!(r&&r.type==="element"&&r.tagName==="col")}function rd(e,t,a){let o=Ao(a,t),r=te(e,-1);return a&&o&&o.type==="element"&&(o.tagName==="thead"||o.tagName==="tbody")&&Bt(o,a.children.indexOf(o),a)?!1:!!(r&&r.type==="element"&&r.tagName==="tr")}var Ca={name:[[`
2
+ import{a as mr,b as hr,c as gr,d as ot,e as rt,f as $t,g as wr,h as xr,i as Lr,j as Cr,k as Xt,l as Ir,m as oo,n as Sr,o as yr,p as st,u as ro}from"../chunk-5JBHQYU5.js";import"../chunk-V3ZDECK5.js";import{forwardRef as Xc,useCallback as ir,useEffect as Qc,useImperativeHandle as Kc,useRef as wi,useState as xi}from"react";import{forwardRef as Bi,createElement as Di}from"react";var Qt=(...e)=>e.filter((t,a,o)=>!!t&&t.trim()!==""&&o.indexOf(t)===a).join(" ").trim();var kr=e=>e.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase();var br=e=>e.replace(/^([A-Z])|[\s-_]+(\w)/g,(t,a,o)=>o?o.toUpperCase():a.toLowerCase());var so=e=>{let t=br(e);return t.charAt(0).toUpperCase()+t.slice(1)};import{forwardRef as Fi,createElement as Ar}from"react";var Tr={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"};var Pr=e=>{for(let t in e)if(t.startsWith("aria-")||t==="role"||t==="title")return!0;return!1};var vr=Fi(({color:e="currentColor",size:t=24,strokeWidth:a=2,absoluteStrokeWidth:o,className:r="",children:s,iconNode:n,...i},l)=>Ar("svg",{ref:l,...Tr,width:t,height:t,stroke:e,strokeWidth:o?Number(a)*24/Number(t):a,className:Qt("lucide",r),...!s&&!Pr(i)&&{"aria-hidden":"true"},...i},[...n.map(([u,f])=>Ar(u,f)),...Array.isArray(s)?s:[s]]));var Q=(e,t)=>{let a=Bi(({className:o,...r},s)=>Di(vr,{ref:s,iconNode:t,className:Qt(`lucide-${kr(so(e))}`,`lucide-${e}`,o),...r}));return a.displayName=so(e),a};var Ei=[["path",{d:"M12 5v14",key:"s699le"}],["path",{d:"m19 12-7 7-7-7",key:"1idqje"}]],ze=Q("arrow-down",Ei);var _i=[["path",{d:"m5 12 7-7 7 7",key:"hav0vg"}],["path",{d:"M12 19V5",key:"x0mq9r"}]],pt=Q("arrow-up",_i);var Ni=[["path",{d:"M8 3H7a2 2 0 0 0-2 2v5a2 2 0 0 1-2 2 2 2 0 0 1 2 2v5c0 1.1.9 2 2 2h1",key:"ezmyqa"}],["path",{d:"M16 21h1a2 2 0 0 0 2-2v-5c0-1.1.9-2 2-2a2 2 0 0 1-2-2V5a2 2 0 0 0-2-2h-1",key:"e1hn23"}]],Ue=Q("braces",Ni);var Ui=[["path",{d:"M20 6 9 17l-5-5",key:"1gmf2c"}]],mt=Q("check",Ui);var Oi=[["path",{d:"m6 9 6 6 6-6",key:"qrunsl"}]],ht=Q("chevron-down",Oi);var Hi=[["path",{d:"m9 18 6-6-6-6",key:"mthhwq"}]],gt=Q("chevron-right",Hi);var qi=[["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"}]],wt=Q("clipboard-copy",qi);var Gi=[["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"}]],xt=Q("file",Gi);var Wi=[["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"}]],Lt=Q("loader",Wi);var zi=[["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"}]],Ct=Q("paperclip",zi);var ji=[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}]],It=Q("square",ji);var Vi=[["path",{d:"M18 6 6 18",key:"1bl5f8"}],["path",{d:"m6 6 12 12",key:"d8bk6v"}]],je=Q("x",Vi);import{useCallback as ul}from"react";import{useCallback as Oe,useMemo as $i,useRef as Xi,useState as no}from"react";var Qi={damping:.7,stiffness:.05,mass:1.25},Ki=70,Ji=1e3/60,Zi=350,Kt=!1;globalThis.document?.addEventListener("mousedown",()=>{Kt=!0});globalThis.document?.addEventListener("mouseup",()=>{Kt=!1});globalThis.document?.addEventListener("click",()=>{Kt=!1});var Rr=(e={})=>{let[t,a]=no(!1),[o,r]=no(e.initial!==!1),[s,n]=no(!1),i=Xi(null);i.current=e;let l=Oe(()=>{if(!Kt)return!1;let g=window.getSelection();if(!g||!g.rangeCount)return!1;let h=g.getRangeAt(0);return h.commonAncestorContainer.contains(C.current)||C.current?.contains(h.commonAncestorContainer)},[]),u=Oe(g=>{d.isAtBottom=g,r(g)},[]),f=Oe(g=>{d.escapedFromLock=g,a(g)},[]),d=$i(()=>{let g;return{escapedFromLock:t,isAtBottom:o,resizeDifference:0,accumulated:0,velocity:0,listeners:new Set,get scrollTop(){return C.current?.scrollTop??0},set scrollTop(h){C.current&&(C.current.scrollTop=h,d.ignoreScrollToTop=C.current.scrollTop)},get targetScrollTop(){return!C.current||!x.current?0:C.current.scrollHeight-1-C.current.clientHeight},get calculatedTargetScrollTop(){if(!C.current||!x.current)return 0;let{targetScrollTop:h}=this;if(!e.targetScrollTop)return h;if(g?.targetScrollTop===h)return g.calculatedScrollTop;let L=Math.max(Math.min(e.targetScrollTop(h,{scrollElement:C.current,contentElement:x.current}),h),0);return g={targetScrollTop:h,calculatedScrollTop:L},requestAnimationFrame(()=>{g=void 0}),L},get scrollDifference(){return this.calculatedTargetScrollTop-this.scrollTop},get isNearBottom(){return this.scrollDifference<=Ki}}},[]),c=Oe((g={})=>{typeof g=="string"&&(g={animation:g}),g.preserveScrollPosition||u(!0);let h=Date.now()+(Number(g.wait)||0),L=lo(i.current,g.animation),{ignoreEscapes:w=!1}=g,b,P=d.calculatedTargetScrollTop;g.duration instanceof Promise?g.duration.finally(()=>{b=Date.now()}):b=h+(g.duration??0);let y=async()=>{let D=new Promise(requestAnimationFrame).then(()=>{if(!d.isAtBottom)return d.animation=void 0,!1;let{scrollTop:v}=d,F=performance.now(),k=(F-(d.lastTick??F))/Ji;if(d.animation||(d.animation={behavior:L,promise:D,ignoreEscapes:w}),d.animation.behavior===L&&(d.lastTick=F),l()||h>Date.now())return y();if(v<Math.min(P,d.calculatedTargetScrollTop)){if(d.animation?.behavior===L){if(L==="instant")return d.scrollTop=d.calculatedTargetScrollTop,y();d.velocity=(L.damping*d.velocity+L.stiffness*d.scrollDifference)/L.mass,d.accumulated+=d.velocity*k,d.scrollTop+=d.accumulated,d.scrollTop!==v&&(d.accumulated=0)}return y()}return b>Date.now()?(P=d.calculatedTargetScrollTop,y()):(d.animation=void 0,d.scrollTop<d.calculatedTargetScrollTop?c({animation:lo(i.current,i.current.resize),ignoreEscapes:w,duration:Math.max(0,b-Date.now())||void 0}):d.isAtBottom)});return D.then(v=>(requestAnimationFrame(()=>{d.animation||(d.lastTick=void 0,d.velocity=0)}),v))};return g.wait!==!0&&(d.animation=void 0),d.animation?.behavior===L?d.animation.promise:y()},[u,l,d]),p=Oe(()=>{f(!0),u(!1)},[f,u]),m=Oe(({target:g})=>{if(g!==C.current)return;let{scrollTop:h,ignoreScrollToTop:L}=d,{lastScrollTop:w=h}=d;d.lastScrollTop=h,d.ignoreScrollToTop=void 0,L&&L>h&&(w=L),n(d.isNearBottom),setTimeout(()=>{if(d.resizeDifference||h===L)return;if(l()){f(!0),u(!1);return}let b=h>w,P=h<w;if(d.animation?.ignoreEscapes){d.scrollTop=w;return}P&&(f(!0),u(!1)),b&&f(!1),!d.escapedFromLock&&d.isNearBottom&&u(!0)},1)},[f,u,l,d]),I=Oe(({target:g,deltaY:h})=>{let L=g;for(;!["scroll","auto"].includes(getComputedStyle(L).overflow);){if(!L.parentElement)return;L=L.parentElement}L===C.current&&h<0&&C.current.scrollHeight>C.current.clientHeight&&!d.animation?.ignoreEscapes&&(f(!0),u(!1))},[f,u,d]),C=Mr(g=>{C.current?.removeEventListener("scroll",m),C.current?.removeEventListener("wheel",I),g?.addEventListener("scroll",m,{passive:!0}),g?.addEventListener("wheel",I,{passive:!0})},[]),x=Mr(g=>{if(d.resizeObserver?.disconnect(),!g)return;let h;d.resizeObserver=new ResizeObserver(([L])=>{let{height:w}=L.contentRect,b=w-(h??w);if(d.resizeDifference=b,d.scrollTop>d.targetScrollTop&&(d.scrollTop=d.targetScrollTop),n(d.isNearBottom),b>=0){let P=lo(i.current,h?i.current.resize:i.current.initial);c({animation:P,wait:!0,preserveScrollPosition:!0,duration:P==="instant"?void 0:Zi})}else d.isNearBottom&&(f(!1),u(!0));h=w,requestAnimationFrame(()=>{setTimeout(()=>{d.resizeDifference===b&&(d.resizeDifference=0)},1)})}),d.resizeObserver?.observe(g)},[]);return{contentRef:x,scrollRef:C,scrollToBottom:c,stopScroll:p,isAtBottom:o||s,isNearBottom:s,escapedFromLock:t,state:d}};function Mr(e,t){let a=Oe(o=>(a.current=o,e(o)),t);return a}var io=new Map;function lo(...e){let t={...Qi},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 io.has(o)||io.set(o,Object.freeze(t)),a?"instant":io.get(o)}import*as Ve from"react";import{createContext as Yi,useContext as el,useEffect as tl,useImperativeHandle as al,useLayoutEffect as ol,useMemo as rl,useRef as sl}from"react";var Fr=Yi(null),nl=typeof window<"u"?ol:tl;function St({instance:e,children:t,resize:a,initial:o,mass:r,damping:s,stiffness:n,targetScrollTop:i,contextRef:l,...u}){let f=sl(null),d=Ve.useCallback((w,b)=>(L?.targetScrollTop??i)?.(w,b)??w,[i]),c=Rr({mass:r,damping:s,stiffness:n,resize:a,initial:o,targetScrollTop:d}),{scrollRef:p,contentRef:m,scrollToBottom:I,stopScroll:C,isAtBottom:x,escapedFromLock:g,state:h}=e??c,L=rl(()=>({scrollToBottom:I,stopScroll:C,scrollRef:p,isAtBottom:x,escapedFromLock:g,contentRef:m,state:h,get targetScrollTop(){return f.current},set targetScrollTop(w){f.current=w}}),[I,x,m,p,C,g,h]);return al(l,()=>L,[L]),nl(()=>{p.current&&getComputedStyle(p.current).overflow==="visible"&&(p.current.style.overflow="auto")},[]),Ve.createElement(Fr.Provider,{value:L},Ve.createElement("div",{...u},typeof t=="function"?t(L):t))}(function(e){function t({children:a,scrollClassName:o,...r}){let s=uo();return Ve.createElement("div",{ref:s.scrollRef,style:{height:"100%",width:"100%",scrollbarGutter:"stable both-edges"},className:o},Ve.createElement("div",{...r,ref:s.contentRef},typeof a=="function"?a(s):a))}e.Content=t})(St||(St={}));function uo(){let e=el(Fr);if(!e)throw new Error("use-stick-to-bottom component context must be used within a StickToBottom component");return e}var il=hr({prefix:"ww"});function T(...e){return il(mr(e))}import{jsx as ll}from"react/jsx-runtime";var ke=({className:e,variant:t="default",size:a="default",type:o="button",...r})=>ll("button",{type:o,className:T("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 Jt}from"react/jsx-runtime";var Br=({className:e,...t})=>Jt(St,{className:T("ww:relative ww:flex-1 ww:overflow-y-hidden",e),initial:"smooth",resize:"smooth",role:"log",...t}),Dr=({className:e,...t})=>Jt(St.Content,{className:T("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}),Er=({className:e,...t})=>{let{isAtBottom:a,scrollToBottom:o}=uo(),r=ul(()=>{o()},[o]);return!a&&Jt(ke,{className:T("ww:absolute ww:bottom-4 ww:left-[50%] ww:translate-x-[-50%] ww:rounded-full",e),onClick:r,size:"icon",variant:"outline",...t,children:Jt(ze,{className:"ww:size-4"})})};import Nr from"crypto";var _r="useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict";var dl=128,$e,nt,fl=e=>{!$e||$e.length<e?($e=Buffer.allocUnsafe(e*dl),Nr.randomFillSync($e),nt=0):nt+e>$e.length&&(Nr.randomFillSync($e),nt=0),nt+=e};var yt=(e=21)=>{fl(e|=0);let t="";for(let a=nt-e;a<nt;a++)t+=_r[$e[a]&63];return t};import{createContext as cl,useCallback as Be,useContext as pl,useEffect as fo,useMemo as ml,useRef as co,useState as Ur}from"react";import{jsx as Pe,jsxs as qr}from"react/jsx-runtime";var hl=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}},Or=cl(null),Hr=()=>{let e=pl(Or);if(!e)throw new Error("usePromptInputAttachments must be used within a PromptInput");return e},Zt=({className:e,accept:t,multiple:a,globalDrop:o,maxFiles:r,maxFileSize:s,onSubmit:n,children:i,...l})=>{let u=co(null),f=co(null),[d,c]=Ur([]),p=co(d);fo(()=>{p.current=d},[d]);let m=Be(()=>{u.current?.click()},[]),I=Be(w=>{let b=[...w];if(b.length===0)return;let P=D=>s?D.size<=s:!0,y=b.filter(P);c(D=>{let v=typeof r=="number"?Math.max(0,r-D.length):void 0,F=typeof v=="number"?y.slice(0,v):y;return[...D,...F.map(k=>({filename:k.name,id:yt(),mediaType:k.type,type:"file",url:URL.createObjectURL(k)}))]})},[r,s]),C=Be(w=>{c(b=>{let P=b.find(y=>y.id===w);return P?.url&&URL.revokeObjectURL(P.url),b.filter(y=>y.id!==w)})},[]),x=Be(()=>{c(w=>{for(let b of w)b.url&&URL.revokeObjectURL(b.url);return[]})},[]);fo(()=>()=>{for(let w of p.current)w.url&&URL.revokeObjectURL(w.url)},[]);let g=Be(w=>{w.currentTarget.files&&I(w.currentTarget.files),w.currentTarget.value=""},[I]);fo(()=>{if(!o)return;let w=P=>{P.dataTransfer?.types?.includes("Files")&&P.preventDefault()},b=P=>{P.dataTransfer?.types?.includes("Files")&&P.preventDefault(),P.dataTransfer?.files&&P.dataTransfer.files.length>0&&I(P.dataTransfer.files)};return document.addEventListener("dragover",w),document.addEventListener("drop",b),()=>{document.removeEventListener("dragover",w),document.removeEventListener("drop",b)}},[I,o]);let h=Be(async w=>{w.preventDefault();let b=w.currentTarget,y=new FormData(b).get("message")||"";b.reset();let D=await Promise.all(d.map(async({id:v,...F})=>{if(F.url?.startsWith("blob:")){let k=await hl(F.url);return{...F,url:k??F.url}}return F}));try{let v=n({files:D,text:y},w);v instanceof Promise&&await v,x()}catch{}},[d,n,x]),L=ml(()=>({add:I,clear:x,files:d,openFileDialog:m,remove:C}),[d,I,C,x,m]);return qr(Or.Provider,{value:L,children:[Pe("input",{accept:t,"aria-label":"Upload files",className:"ww:hidden",multiple:a,onChange:g,ref:u,title:"Upload files",type:"file"}),Pe("form",{className:T("ww:flex ww:w-full ww:flex-col ww:rounded-lg ww:border ww:border-border ww:bg-background",e),onSubmit:h,ref:f,...l,children:i})]})};var Yt=({onChange:e,onKeyDown:t,className:a,placeholder:o="What would you like to know?",...r})=>{let s=Hr(),[n,i]=Ur(!1),l=Be(f=>{if(t?.(f),!f.defaultPrevented){if(f.key==="Enter"){if(n||f.nativeEvent.isComposing||f.shiftKey)return;f.preventDefault();let{form:d}=f.currentTarget;if(d?.querySelector('button[type="submit"]')?.disabled)return;d?.requestSubmit()}if(f.key==="Backspace"&&f.currentTarget.value===""&&s.files.length>0){f.preventDefault();let d=s.files.at(-1);d&&s.remove(d.id)}}},[t,n,s]),u=Be(f=>{let d=f.clipboardData?.items;if(!d)return;let c=[];for(let p of d)if(p.kind==="file"){let m=p.getAsFile();m&&c.push(m)}c.length>0&&(f.preventDefault(),s.add(c))},[s]);return Pe("textarea",{className:T("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-sm ww:outline-none ww:placeholder:text-muted-foreground",a),name:"message",onCompositionEnd:()=>i(!1),onCompositionStart:()=>i(!0),onKeyDown:l,onPaste:u,placeholder:o,onChange:e,...r})},ea=({className:e,status:t,onStop:a,onClick:o,children:r,...s})=>{let n=t==="submitted"||t==="streaming",i=Pe(pt,{className:"ww:size-4"});t==="submitted"?i=Pe(Lt,{className:"ww:size-4 ww:animate-spin"}):t==="streaming"&&(i=Pe(It,{className:"ww:size-4"}));let l=Be(u=>{if(n&&a){u.preventDefault(),a();return}o?.(u)},[n,a,o]);return Pe(ke,{"aria-label":n?"Stop":"Submit",className:T("ww:bg-foreground ww:text-background ww:hover:bg-foreground ww:rounded-full",e),onClick:l,size:"icon-sm",type:n&&a?"button":"submit",variant:"ghost",...s,children:r??i})},ta=({className:e,children:t,...a})=>{let o=Hr();return o.files.length>0?qr(ke,{className:T("ww:group ww:relative",e),onClick:()=>o.clear(),size:"icon-sm",type:"button",variant:"ghost","aria-label":"Remove all attachments",...a,children:[Pe("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:o.files.length}),Pe(je,{className:"ww:absolute ww:size-4 ww:opacity-0 ww:transition-opacity ww:group-hover:opacity-100"})]}):Pe(ke,{className:T(e),onClick:()=>o.openFileDialog(),size:"icon-sm",type:"button",variant:"ghost",...a,children:t??Pe(Ct,{className:"ww:size-4"})})};import{memo as gl,useCallback as wl}from"react";import{jsx as it}from"react/jsx-runtime";var Gr=({className:e,...t})=>it("div",{className:T("ww:flex ww:flex-col ww:gap-1 ww:px-3 ww:py-2",e),...t}),Wr=({className:e,...t})=>it("li",{className:T("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}),zr=({className:e,...t})=>it("span",{className:T("ww:inline-block ww:size-2 ww:shrink-0 ww:rounded-full ww:border ww:border-muted-foreground/50",e),...t}),jr=({className:e,...t})=>it("span",{className:T("ww:line-clamp-1 ww:grow ww:break-words ww:text-muted-foreground",e),...t}),Vr=({className:e,...t})=>it("div",{className:T("ww:flex ww:shrink-0 ww:gap-1 ww:opacity-0 ww:transition-opacity ww:group-hover:opacity-100",e),...t}),$r=({className:e,...t})=>it(ke,{className:T("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 Xe,jsxs as po}from"react/jsx-runtime";var Xr=gl(({message:e,onRemove:t})=>{let a=wl(()=>t(e.id),[t,e.id]);return po(Wr,{children:[Xe(zr,{}),Xe(jr,{children:e.text||"(attachment)"}),Xe(Vr,{children:Xe($r,{"aria-label":"Remove from queue",onClick:a,children:Xe(je,{className:"ww:size-3"})})})]})});Xr.displayName="ChatQueueItem";function aa({queuedMessages:e,onRemove:t,className:a}){return e.length===0?null:po(Gr,{className:T("ww:border-t ww:border-border",a),children:[po("div",{className:"ww:text-[11px] ww:font-medium ww:text-muted-foreground ww:px-2",children:[e.length," queued"]}),Xe("ul",{children:e.map(o=>Xe(Xr,{message:o,onRemove:t},o.id))})]})}import{useState as Qr}from"react";import{jsx as xl}from"react/jsx-runtime";function Kr({messages:e,evalEnabled:t,api:a="/api/waniwani"}){let[o,r]=Qr(!1),[s,n]=Qr(null),i=async()=>{let u={name:`session-${new Date().toISOString().slice(0,19)}`,type:"functional",messages:e,mode:"manual"};r(!0),n(null);try{let f=await fetch(`${a}/scenarios`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(u)});if(!f.ok)throw new Error(`${f.status}`);n("saved")}catch{n("error")}finally{r(!1),setTimeout(()=>n(null),2e3)}};return!t||e.length===0?null:xl("button",{type:"button",onClick:i,disabled:o,title:"Save scenario to WaniWani",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:o?"saving...":s==="saved"?"saved":s==="error"?"error":"export"})}import{jsx as kt,jsxs as Cl}from"react/jsx-runtime";var Jr=({files:e,className:t,...a})=>e.length===0?null:kt("div",{className:T("ww:flex ww:flex-wrap ww:gap-1.5",t),...a,children:e.map((o,r)=>kt(Ll,{file:o},r))});function Ll({file:e}){return e.mediaType?.startsWith("image/")&&e.url?kt("img",{src:e.url,alt:e.filename??"attachment",className:"ww:h-16 ww:max-w-32 ww:rounded ww:object-cover"}):Cl("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:[kt(xt,{className:"ww:size-3 ww:shrink-0"}),kt("span",{className:"ww:max-w-24 ww:truncate",children:e.filename??"file"})]})}import{jsx as Zr}from"react/jsx-runtime";var mo=({className:e,size:t=5,...a})=>Zr("div",{className:T("ww:flex ww:items-center ww:gap-1",e),...a,children:[0,1,2].map(o=>Zr("div",{className:"ww:rounded-full ww:bg-muted-foreground/60",style:{width:t,height:t,animation:"ww-pulse 1.4s ease-in-out infinite",animationDelay:`${o*.2}s`}},o))});var de={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};var ve={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};var Le={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"};function Yr(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 es(e){return e===12288||e>=65281&&e<=65376||e>=65504&&e<=65510}function ts(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 as(e){return Yr(e)?"ambiguous":es(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":ts(e)?"wide":"neutral"}function Il(e){if(!Number.isSafeInteger(e))throw new TypeError(`Expected a code point, got \`${typeof e}\`.`)}function os(e){return Il(e),as(e)}var Sl=Object.defineProperty,yl=(e,t,a)=>t in e?Sl(e,t,{enumerable:!0,configurable:!0,writable:!0,value:a}):e[t]=a,kl=(e,t,a)=>yl(e,typeof t!="symbol"?t+"":t,a);function bl(e){return/^\p{Emoji_Presentation}/u.test(String.fromCodePoint(e))}function Tl(e){if(!e||e<4352)return!1;switch(os(e)){case"fullwidth":case"halfwidth":return!0;case"wide":return!bl(e);case"narrow":return!1;case"ambiguous":return 917760<=e&&e<=917999?null:!1;case"neutral":return/^\p{sc=Hangul}/u.test(String.fromCodePoint(e))}}function Pl(e,t){return t!==65025||!e||e<8216?!1:e===8216||e===8217||e===8220||e===8221}function Al(e){return e!==null&&e>=65024&&e<=65038}var vl=rs(/\p{P}|\p{S}/u),Ml=rs(/\s/);function rs(e){return t;function t(a){return a!==null&&a>-1&&e.test(String.fromCodePoint(a))}}var Ce;(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})(Ce||(Ce={}));function He(e){if(e===de.eof||gr(e)||Ml(e))return ve.characterGroupWhitespace;let t=0;if(e>=4352){if(Al(e))return Ce.nonEmojiGeneralUseVS;switch(Tl(e)){case null:return Ce.ivs;case!0:t|=Ce.cjk;break}}return vl(e)&&(t|=ve.characterGroupPunctuation),t}function oa(e,t,a){if(!Fl(e))return e;let o=t(),r=He(o);return!o||Qe(r)?e:Pl(o,a)?Ce.cjkPunctuation:Rl(r)}function Rl(e){return e&~Ce.ivs}function Qe(e){return!!(e&ve.characterGroupWhitespace)}function lt(e){return(e&Ce.cjkPunctuation)===ve.characterGroupPunctuation}function bt(e){return!!(e&Ce.cjk)}function ss(e){return e===Ce.ivs}function ns(e){return!!(e&Ce.cjkOrIvs)}function Fl(e){return e===Ce.nonEmojiGeneralUseVS}function ho(e){return!!(e&Ce.spaceOrPunctuation)}function ra(e){return!!(e&&e>=55296&&e<=56319)}function sa(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 Bl(e,t,a){let o=e>=65536?2:1;if(t._bufferIndex<1+o)return null;let r=t._bufferIndex-o-2,s=a({start:{...t,_bufferIndex:r>=0?r:0},end:{...t,_bufferIndex:t._bufferIndex-o}}),n=s.charCodeAt(s.length-1);if(Number.isNaN(n))return null;if(s.length<2||n<56320||57343<n)return n;let i=s.codePointAt(0);return i&&i>=65536?i:n}var ia=class{constructor(e,t,a){this.previousCode=e,this.nowPoint=t,this.sliceSerialize=a,kl(this,"cachedValue")}value(){return this.cachedValue===void 0&&(this.cachedValue=Bl(this.previousCode,this.nowPoint,this.sliceSerialize)),this.cachedValue}};function la(e,t,a){let o=a({start:t,end:{...t,_bufferIndex:t._bufferIndex+2}}).codePointAt(0);return o&&o>=65536?o:e}var go={name:"attention",resolveAll:Dl,tokenize:El};function Dl(e,t){let a=-1,o,r,s,n,i,l,u,f;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},c={...e[a][1].start};is(d,-l),is(c,l),n={type:l>1?Le.strongSequence:Le.emphasisSequence,start:d,end:{...e[o][1].end}},i={type:l>1?Le.strongSequence:Le.emphasisSequence,start:{...e[a][1].start},end:c},s={type:l>1?Le.strongText:Le.emphasisText,start:{...e[o][1].end},end:{...e[a][1].start}},r={type:l>1?Le.strong:Le.emphasis,start:{...n.start},end:{...i.end}},e[o][1].end={...n.start},e[a][1].start={...i.end},u=[],e[o][1].end.offset-e[o][1].start.offset&&(u=rt(u,[["enter",e[o][1],t],["exit",e[o][1],t]])),u=rt(u,[["enter",r,t],["enter",n,t],["exit",n,t],["enter",s,t]]),t.parser.constructs.insideSpan.null,u=rt(u,$t(t.parser.constructs.insideSpan.null,e.slice(o+1,a),t)),u=rt(u,[["exit",s,t],["enter",i,t],["exit",i,t],["exit",r,t]]),e[a][1].end.offset-e[a][1].start.offset?(f=2,u=rt(u,[["enter",e[a][1],t],["exit",e[a][1],t]])):f=0,ot(e,o-1,a-o+3,u),a=o+u.length-f-2;break}}for(a=-1;++a<e.length;)e[a][1].type==="attentionSequence"&&(e[a][1].type="data");return e}function El(e,t){let a=this.parser.constructs.attentionMarkers.null,{now:o,sliceSerialize:r,previous:s}=this,n=sa(s)?na(s,o(),r):s,i=He(n),l=new ia(n,o(),r),u=oa(i,l.value.bind(l),n),f;return d;function d(p){return p===de.asterisk||de.underscore,f=p,e.enter("attentionSequence"),c(p)}function c(p){if(p===f)return e.consume(p),c;let m=e.exit("attentionSequence"),I=ra(p)?la(p,o(),r):p,C=He(I);let x=lt(u),g=x||Qe(u),h=lt(C),L=h||Qe(C),w=ns(u),b=!L||h&&(g||w)||a.includes(p),P=!g||x&&(L||bt(C))||a.includes(n);return m._open=!!(f===de.asterisk?b:b&&(ho(u)||!P)),m._close=!!(f===de.asterisk?P:P&&(ho(C)||!b)),t(p)}}function is(e,t){e.column+=t,e.offset+=t,e._bufferIndex+=t}function ls(){return{text:{[de.asterisk]:go,[de.underscore]:go},insideSpan:{null:[go]}}}function us(){let e=this.data();(e.micromarkExtensions||(e.micromarkExtensions=[])).push(ls())}function ds(e){let a=(e||{}).singleTilde,o={name:"strikethrough",tokenize:s,resolveAll:r};return a==null&&(a=!0),{text:{[de.tilde]:o},insideSpan:{null:[o]},attentionMarkers:{null:[de.tilde]}};function r(n,i){let l=-1;for(;++l<n.length;)if(n[l][0]==="enter"&&n[l][1].type==="strikethroughSequenceTemporary"&&n[l][1]._close){let u=l;for(;u--;)if(n[u][0]==="exit"&&n[u][1].type==="strikethroughSequenceTemporary"&&n[u][1]._open&&n[l][1].end.offset-n[l][1].start.offset===n[u][1].end.offset-n[u][1].start.offset){n[l][1].type="strikethroughSequence",n[u][1].type="strikethroughSequence";let f={type:"strikethrough",start:Object.assign({},n[u][1].start),end:Object.assign({},n[l][1].end)},d={type:"strikethroughText",start:Object.assign({},n[u][1].end),end:Object.assign({},n[l][1].start)},c=[["enter",f,i],["enter",n[u][1],i],["exit",n[u][1],i],["enter",d,i]],p=i.parser.constructs.insideSpan.null;p&&ot(c,c.length,0,$t(p,n.slice(u+1,l),i)),ot(c,c.length,0,[["exit",d,i],["enter",n[l][1],i],["exit",n[l][1],i],["exit",f,i]]),ot(n,u-1,l-u+3,c),l=u+c.length-2;break}}for(l=-1;++l<n.length;)n[l][1].type==="strikethroughSequenceTemporary"&&(n[l][1].type=Le.data);return n}function s(n,i,l){let{now:u,sliceSerialize:f,previous:d}=this,c=sa(d)?na(d,u(),f):d,p=He(c),m=new ia(c,u(),f),I=oa(p,m.value.bind(m),c),C=this.events,x=0;return g;function g(L){return de.tilde,c===de.tilde&&C[C.length-1][1].type!==Le.characterEscape?l(L):(n.enter("strikethroughSequenceTemporary"),h(L))}function h(L){let w=He(c);if(L===de.tilde)return x>1?l(L):(n.consume(L),x++,h);if(x<2&&!a)return l(L);let b=n.exit("strikethroughSequenceTemporary"),P=ra(L)?la(L,u(),f):L,y=He(P),v=lt(I)||Qe(I),k=lt(y)||Qe(y),B=bt(I)||ss(w);return b._open=!k||y===ve.attentionSideAfter&&(v||B),b._close=!v||w===ve.attentionSideAfter&&(k||bt(y)),i(L)}}}function fs(e){let t=this.data();(t.micromarkExtensions||(t.micromarkExtensions=[])).push(ds(e))}var _l=new Set(["\u3002","\uFF0E","\uFF0C","\u3001","\uFF1F","\uFF01","\uFF1A","\uFF1B","\uFF08","\uFF09","\u3010","\u3011","\u300C","\u300D","\u300E","\u300F","\u3008","\u3009","\u300A","\u300B"]),Nl=/^(https?:\/\/|mailto:|www\.)/i,Ul=e=>{if(e.children.length!==1)return!1;let t=e.children[0];return t.type==="text"&&t.value===e.url},Ol=e=>{let t=0;for(let a of e){if(_l.has(a))return t;t+=a.length}return null},Hl=(e,t)=>({...t,url:e,children:[{type:"text",value:e}]}),ql=e=>({type:"text",value:e}),Gl=()=>e=>{wr(e,"link",(t,a,o)=>{if(!o||typeof a!="number"||!Ul(t)||!Nl.test(t.url))return;let r=Ol(t.url);if(r===null||r===0)return;let s=t.url.slice(0,r),n=t.url.slice(r),i=Hl(s,t),l=ql(n);return o.children.splice(a,1,i,l),a+1})};function Wl(){let e=[us],t=[Gl,fs],a=[...e,...t];return{name:"cjk",type:"cjk",remarkPluginsBefore:e,remarkPluginsAfter:t,remarkPlugins:a}}var cs=Wl();var Z=class extends Error{constructor(t){super(t),this.name="ShikiError"}};function zl(e){return To(e)}function To(e){return Array.isArray(e)?jl(e):e instanceof RegExp?e:typeof e=="object"?Vl(e):e}function jl(e){let t=[];for(let a=0,o=e.length;a<o;a++)t[a]=To(e[a]);return t}function Vl(e){let t={};for(let a in e)t[a]=To(e[a]);return t}function Is(e,...t){return t.forEach(a=>{for(let o in a)e[o]=a[o]}),e}function Ss(e){let t=~e.lastIndexOf("/")||~e.lastIndexOf("\\");return t===0?e:~t===e.length-1?Ss(e.substring(0,e.length-1)):e.substr(~t+1)}var wo=/\$(\d+)|\${(\d+):\/(downcase|upcase)}/g,ua=class{static hasCaptures(e){return e===null?!1:(wo.lastIndex=0,wo.test(e))}static replaceCaptures(e,t,a){return e.replace(wo,(o,r,s,n)=>{let i=a[parseInt(r||s,10)];if(i){let l=t.substring(i.start,i.end);for(;l[0]===".";)l=l.substring(1);switch(n){case"downcase":return l.toLowerCase();case"upcase":return l.toUpperCase();default:return l}}else return o})}};function ys(e,t){return e<t?-1:e>t?1:0}function ks(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 s=ys(e[r],t[r]);if(s!==0)return s}return 0}return a-o}function ps(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 bs(e){return e.replace(/[\-\\\{\}\*\+\?\|\^\$\.\,\[\]\(\)\#\s]/g,"\\$&")}var Ts=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}},At=class{constructor(e,t,a){this._colorMap=e,this._defaults=t,this._root=a}static createFromRawTheme(e,t){return this.createFromParsedTheme(Ql(e),t)}static createFromParsedTheme(e,t){return Jl(e,t)}_cachedMatchRoot=new Ts(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=>$l(e.parent,r.parentScopes));return o?new Ps(o.fontStyle,o.foreground,o.background):null}},xo=class da{constructor(t,a){this.parent=t,this.scopeName=a}static push(t,a){for(let o of a)t=new da(t,o);return t}static from(...t){let a=null;for(let o=0;o<t.length;o++)a=new da(a,t[o]);return a}push(t){return new da(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 $l(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&&!Xl(e.scopeName,o);){if(r)return!1;e=e.parent}if(!e)return!1;e=e.parent}return!0}function Xl(e,t){return t===e||e.startsWith(t)&&e[t.length]==="."}var Ps=class{constructor(e,t,a){this.fontStyle=e,this.foregroundId=t,this.backgroundId=a}};function Ql(e){if(!e)return[];if(!e.settings||!Array.isArray(e.settings))return[];let t=e.settings,a=[],o=0;for(let r=0,s=t.length;r<s;r++){let n=t[r];if(!n.settings)continue;let i;if(typeof n.scope=="string"){let d=n.scope;d=d.replace(/^[,]+/,""),d=d.replace(/[,]+$/,""),i=d.split(",")}else Array.isArray(n.scope)?i=n.scope:i=[""];let l=-1;if(typeof n.settings.fontStyle=="string"){l=0;let d=n.settings.fontStyle.split(" ");for(let c=0,p=d.length;c<p;c++)switch(d[c]){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 n.settings.foreground=="string"&&ps(n.settings.foreground)&&(u=n.settings.foreground);let f=null;typeof n.settings.background=="string"&&ps(n.settings.background)&&(f=n.settings.background);for(let d=0,c=i.length;d<c;d++){let m=i[d].trim().split(" "),I=m[m.length-1],C=null;m.length>1&&(C=m.slice(0,m.length-1),C.reverse()),a[o++]=new Kl(I,C,r,l,u,f)}}return a}var Kl=class{constructor(e,t,a,o,r,s){this.scope=e,this.parentScopes=t,this.index=a,this.fontStyle=o,this.foreground=r,this.background=s}},fe=(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))(fe||{});function Jl(e,t){e.sort((l,u)=>{let f=ys(l.scope,u.scope);return f!==0||(f=ks(l.parentScopes,u.parentScopes),f!==0)?f: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 s=new Zl(t),n=new Ps(a,s.getId(o),s.getId(r)),i=new eu(new Co(0,null,-1,0,0),[]);for(let l=0,u=e.length;l<u;l++){let f=e[l];i.insert(0,f.scope,f.parentScopes,f.fontStyle,s.getId(f.foreground),s.getId(f.background))}return new At(s,n,i)}var Zl=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)}},Yl=Object.freeze([]),Co=class As{scopeDepth;parentScopes;fontStyle;foreground;background;constructor(t,a,o,r,s){this.scopeDepth=t,this.parentScopes=a||Yl,this.fontStyle=o,this.foreground=r,this.background=s}clone(){return new As(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)}},eu=class Io{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 s=a.parentScopes[r].length-t.parentScopes[o].length;if(s!==0)return s;o++,r++}return a.parentScopes.length-t.parentScopes.length}match(t){if(t!==""){let o=t.indexOf("."),r,s;if(o===-1?(r=t,s=""):(r=t.substring(0,o),s=t.substring(o+1)),this._children.hasOwnProperty(r))return this._children[r].match(s)}let a=this._rulesWithParentScopes.concat(this._mainRule);return a.sort(Io._cmpBySpecificity),a}insert(t,a,o,r,s,n){if(a===""){this._doInsertHere(t,o,r,s,n);return}let i=a.indexOf("."),l,u;i===-1?(l=a,u=""):(l=a.substring(0,i),u=a.substring(i+1));let f;this._children.hasOwnProperty(l)?f=this._children[l]:(f=new Io(this._mainRule.clone(),Co.cloneArr(this._rulesWithParentScopes)),this._children[l]=f),f.insert(t+1,u,o,r,s,n)}_doInsertHere(t,a,o,r,s){if(a===null){this._mainRule.acceptOverwrite(t,o,r,s);return}for(let n=0,i=this._rulesWithParentScopes.length;n<i;n++){let l=this._rulesWithParentScopes[n];if(ks(l.parentScopes,a)===0){l.acceptOverwrite(t,o,r,s);return}}o===-1&&(o=this._mainRule.fontStyle),r===0&&(r=this._mainRule.foreground),s===0&&(s=this._mainRule.background),this._rulesWithParentScopes.push(new Co(t,a,o,r,s))}},Je=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),s=be.getForeground(t),n=be.getBackground(t);console.log({languageId:a,tokenType:o,fontStyle:r,foreground:s,background:n})}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,s,n,i){let l=be.getLanguageId(t),u=be.getTokenType(t),f=be.containsBalancedBrackets(t)?1:0,d=be.getFontStyle(t),c=be.getForeground(t),p=be.getBackground(t);return a!==0&&(l=a),o!==8&&(u=o),r!==null&&(f=r?1:0),s!==-1&&(d=s),n!==0&&(c=n),i!==0&&(p=i),(l<<0|u<<8|f<<10|d<<11|c<<15|p<<24)>>>0}};function ca(e,t){let a=[],o=tu(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=n();if(a.push({matcher:u,priority:l}),r!==",")break;r=o.next()}return a;function s(){if(r==="-"){r=o.next();let l=s();return u=>!!l&&!l(u)}if(r==="("){r=o.next();let l=i();return r===")"&&(r=o.next()),l}if(ms(r)){let l=[];do l.push(r),r=o.next();while(ms(r));return u=>t(l,u)}return null}function n(){let l=[],u=s();for(;u;)l.push(u),u=s();return f=>l.every(d=>d(f))}function i(){let l=[],u=n();for(;u&&(l.push(u),r==="|"||r===",");){do r=o.next();while(r==="|"||r===",");u=n()}return f=>l.some(d=>d(f))}}function ms(e){return!!e&&!!e.match(/[\w\.:]+/)}function tu(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 vs(e){typeof e.dispose=="function"&&e.dispose()}var vt=class{constructor(e){this.scopeName=e}toKey(){return this.scopeName}},au=class{constructor(e,t){this.scopeName=e,this.ruleName=t}toKey(){return`${this.scopeName}#${this.ruleName}`}},ou=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))}},ru=class{constructor(e,t){this.repo=e,this.initialScopeName=t,this.seenFullScopeRequests.add(this.initialScopeName),this.Q=[new vt(this.initialScopeName)]}seenFullScopeRequests=new Set;seenPartialScopeRequests=new Set;Q;processQueue(){let e=this.Q;this.Q=[];let t=new ou;for(let a of e)su(a,this.initialScopeName,this.repo,t);for(let a of t.references)if(a instanceof vt){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 su(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 s=a.lookup(t);e instanceof vt?fa({baseGrammar:s,selfGrammar:r},o):So(e.ruleName,{baseGrammar:s,selfGrammar:r,repository:r.repository},o);let n=a.injections(e.scopeName);if(n)for(let i of n)o.add(new vt(i))}function So(e,t,a){if(t.repository&&t.repository[e]){let o=t.repository[e];pa([o],t,a)}}function fa(e,t){e.selfGrammar.patterns&&Array.isArray(e.selfGrammar.patterns)&&pa(e.selfGrammar.patterns,{...e,repository:e.selfGrammar.repository},t),e.selfGrammar.injections&&pa(Object.values(e.selfGrammar.injections),{...e,repository:e.selfGrammar.repository},t)}function pa(e,t,a){for(let o of e){if(a.visitedRule.has(o))continue;a.visitedRule.add(o);let r=o.repository?Is({},t.repository,o.repository):t.repository;Array.isArray(o.patterns)&&pa(o.patterns,{...t,repository:r},a);let s=o.include;if(!s)continue;let n=Ms(s);switch(n.kind){case 0:fa({...t,selfGrammar:t.baseGrammar},a);break;case 1:fa(t,a);break;case 2:So(n.ruleName,{...t,repository:r},a);break;case 3:case 4:let i=n.scopeName===t.selfGrammar.scopeName?t.selfGrammar:n.scopeName===t.baseGrammar.scopeName?t.baseGrammar:void 0;if(i){let l={baseGrammar:t.baseGrammar,selfGrammar:i,repository:r};n.kind===4?So(n.ruleName,l,a):fa(l,a)}else n.kind===4?a.add(new au(n.scopeName,n.ruleName)):a.add(new vt(n.scopeName));break}}}var nu=class{kind=0},iu=class{kind=1},lu=class{constructor(e){this.ruleName=e}kind=2},uu=class{constructor(e){this.scopeName=e}kind=3},du=class{constructor(e,t){this.scopeName=e,this.ruleName=t}kind=4};function Ms(e){if(e==="$base")return new nu;if(e==="$self")return new iu;let t=e.indexOf("#");if(t===-1)return new uu(e);if(t===0)return new lu(e.substring(1));{let a=e.substring(0,t),o=e.substring(t+1);return new du(a,o)}}var fu=/\\(\d+)/,hs=/\\(\d+)/g;var cu=-1,Rs=-2;var Ft=class{$location;id;_nameIsCapturing;_name;_contentNameIsCapturing;_contentName;constructor(e,t,a,o){this.$location=e,this.id=t,this._name=a||null,this._nameIsCapturing=ua.hasCaptures(this._name),this._contentName=o||null,this._contentNameIsCapturing=ua.hasCaptures(this._contentName)}get debugName(){let e=this.$location?`${Ss(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:ua.replaceCaptures(this._name,e,t)}getContentName(e,t){return!this._contentNameIsCapturing||this._contentName===null?this._contentName:ua.replaceCaptures(this._contentName,e,t)}},pu=class extends Ft{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!")}},mu=class extends Ft{_match;captures;_cachedCompiledPatterns;constructor(e,t,a,o,r){super(e,t,a,null),this._match=new Mt(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 Rt,this.collectPatterns(e,this._cachedCompiledPatterns)),this._cachedCompiledPatterns}},gs=class extends Ft{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 Rt,this.collectPatterns(e,this._cachedCompiledPatterns)),this._cachedCompiledPatterns}},yo=class extends Ft{_begin;beginCaptures;_end;endHasBackReferences;endCaptures;applyEndPatternLast;hasMissingPatterns;patterns;_cachedCompiledPatterns;constructor(e,t,a,o,r,s,n,i,l,u){super(e,t,a,o),this._begin=new Mt(r,this.id),this.beginCaptures=s,this._end=new Mt(n||"\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 Rt;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}},ma=class extends Ft{_begin;beginCaptures;whileCaptures;_while;whileHasBackReferences;hasMissingPatterns;patterns;_cachedCompiledPatterns;_cachedCompiledWhilePatterns;constructor(e,t,a,o,r,s,n,i,l){super(e,t,a,o),this._begin=new Mt(r,this.id),this.beginCaptures=s,this.whileCaptures=i,this._while=new Mt(n,Rs),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 Rt;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 Rt,this._cachedCompiledWhilePatterns.push(this._while.hasBackReferences?this._while.clone():this._while)),this._while.hasBackReferences&&this._cachedCompiledWhilePatterns.setSource(0,t||"\uFFFF"),this._cachedCompiledWhilePatterns}},Fs=class me{static createCaptureRule(t,a,o,r,s){return t.registerRule(n=>new pu(a,n,o,r,s))}static getCompiledRuleId(t,a,o){return t.id||a.registerRule(r=>{if(t.id=r,t.match)return new mu(t.$vscodeTextmateLocation,t.id,t.name,t.match,me._compileCaptures(t.captures,a,o));if(typeof t.begin>"u"){t.repository&&(o=Is({},o,t.repository));let s=t.patterns;return typeof s>"u"&&t.include&&(s=[{include:t.include}]),new gs(t.$vscodeTextmateLocation,t.id,t.name,t.contentName,me._compilePatterns(s,a,o))}return t.while?new ma(t.$vscodeTextmateLocation,t.id,t.name,t.contentName,t.begin,me._compileCaptures(t.beginCaptures||t.captures,a,o),t.while,me._compileCaptures(t.whileCaptures||t.captures,a,o),me._compilePatterns(t.patterns,a,o)):new yo(t.$vscodeTextmateLocation,t.id,t.name,t.contentName,t.begin,me._compileCaptures(t.beginCaptures||t.captures,a,o),t.end,me._compileCaptures(t.endCaptures||t.captures,a,o),t.applyEndPatternLast,me._compilePatterns(t.patterns,a,o))}),t.id}static _compileCaptures(t,a,o){let r=[];if(t){let s=0;for(let n in t){if(n==="$vscodeTextmateLocation")continue;let i=parseInt(n,10);i>s&&(s=i)}for(let n=0;n<=s;n++)r[n]=null;for(let n in t){if(n==="$vscodeTextmateLocation")continue;let i=parseInt(n,10),l=0;t[n].patterns&&(l=me.getCompiledRuleId(t[n],a,o)),r[i]=me.createCaptureRule(a,t[n].$vscodeTextmateLocation,t[n].name,t[n].contentName,l)}}return r}static _compilePatterns(t,a,o){let r=[];if(t)for(let s=0,n=t.length;s<n;s++){let i=t[s],l=-1;if(i.include){let u=Ms(i.include);switch(u.kind){case 0:case 1:l=me.getCompiledRuleId(o[i.include],a,o);break;case 2:let f=o[u.ruleName];f&&(l=me.getCompiledRuleId(f,a,o));break;case 3:case 4:let d=u.scopeName,c=u.kind===4?u.ruleName:null,p=a.getExternalGrammar(d,o);if(p)if(c){let m=p.repository[c];m&&(l=me.getCompiledRuleId(m,a,p.repository))}else l=me.getCompiledRuleId(p.repository.$self,a,p.repository);break}}else l=me.getCompiledRuleId(i,a,o);if(l!==-1){let u=a.getRule(l),f=!1;if((u instanceof gs||u instanceof yo||u instanceof ma)&&u.hasMissingPatterns&&u.patterns.length===0&&(f=!0),f)continue;r.push(l)}}return{patterns:r,hasMissingPatterns:(t?t.length:0)!==r.length}}},Mt=class Bs{source;ruleId;hasAnchor;hasBackReferences;_anchorCache;constructor(t,a){if(t&&typeof t=="string"){let o=t.length,r=0,s=[],n=!1;for(let i=0;i<o;i++)if(t.charAt(i)==="\\"&&i+1<o){let u=t.charAt(i+1);u==="z"?(s.push(t.substring(r,i)),s.push("$(?!\\n)(?<!\\n)"),r=i+2):(u==="A"||u==="G")&&(n=!0),i++}this.hasAnchor=n,r===0?this.source=t:(s.push(t.substring(r,o)),this.source=s.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=fu.test(this.source):this.hasBackReferences=!1}clone(){return new Bs(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 hs.lastIndex=0,this.source.replace(hs,(r,s)=>bs(o[parseInt(s,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=[],s,n,i,l;for(s=0,n=this.source.length;s<n;s++)i=this.source.charAt(s),t[s]=i,a[s]=i,o[s]=i,r[s]=i,i==="\\"&&s+1<n&&(l=this.source.charAt(s+1),l==="A"?(t[s+1]="\uFFFF",a[s+1]="\uFFFF",o[s+1]="A",r[s+1]="A"):l==="G"?(t[s+1]="\uFFFF",a[s+1]="G",o[s+1]="\uFFFF",r[s+1]="G"):(t[s+1]=l,a[s+1]=l,o[s+1]=l,r[s+1]=l),s++);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}},Rt=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 ws(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 ws(e,o,this._items.map(r=>r.ruleId))}},ws=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(`
3
+ `)}findNextMatchSync(e,t,a){let o=this.scanner.findNextMatchSync(e,t,a);return o?{ruleId:this.rules[o.index],captureIndices:o.captureIndices}:null}},Lo=class{constructor(e,t){this.languageId=e,this.tokenType=t}},hu=class ko{_defaultAttributes;_embeddedLanguagesMatcher;constructor(t,a){this._defaultAttributes=new Lo(t,8),this._embeddedLanguagesMatcher=new gu(Object.entries(a||{}))}getDefaultAttributes(){return this._defaultAttributes}getBasicScopeAttributes(t){return t===null?ko._NULL_SCOPE_METADATA:this._getBasicScopeAttributes.get(t)}static _NULL_SCOPE_METADATA=new Lo(0,0);_getBasicScopeAttributes=new Ts(t=>{let a=this._scopeToLanguage(t),o=this._toStandardTokenType(t);return new Lo(a,o)});_scopeToLanguage(t){return this._embeddedLanguagesMatcher.match(t)||0}_toStandardTokenType(t){let a=t.match(ko.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/},gu=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])=>bs(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])}},Gh={InDebugMode:typeof process<"u"&&!!process.env.VSCODE_TEXTMATE_DEBUG},Ds=!1,xs=class{constructor(e,t){this.stack=e,this.stoppedEarly=t}};function Es(e,t,a,o,r,s,n,i){let l=t.content.length,u=!1,f=-1;if(n){let p=wu(e,t,a,o,r,s);r=p.stack,o=p.linePos,a=p.isFirstLine,f=p.anchorPosition}let d=Date.now();for(;!u;){if(i!==0&&Date.now()-d>i)return new xs(r,!0);c()}return new xs(r,!1);function c(){let p=xu(e,t,a,o,r,f);if(!p){s.produce(r,l),u=!0;return}let m=p.captureIndices,I=p.matchedRuleId,C=m&&m.length>0?m[0].end>o:!1;if(I===cu){let x=r.getRule(e);s.produce(r,m[0].start),r=r.withContentNameScopesList(r.nameScopesList),Tt(e,t,a,r,s,x.endCaptures,m),s.produce(r,m[0].end);let g=r;if(r=r.parent,f=g.getAnchorPos(),!C&&g.getEnterPos()===o){r=g,s.produce(r,l),u=!0;return}}else{let x=e.getRule(I);s.produce(r,m[0].start);let g=r,h=x.getName(t.content,m),L=r.contentNameScopesList.pushAttributed(h,e);if(r=r.push(I,o,f,m[0].end===l,null,L,L),x instanceof yo){let w=x;Tt(e,t,a,r,s,w.beginCaptures,m),s.produce(r,m[0].end),f=m[0].end;let b=w.getContentName(t.content,m),P=L.pushAttributed(b,e);if(r=r.withContentNameScopesList(P),w.endHasBackReferences&&(r=r.withEndRule(w.getEndWithResolvedBackReferences(t.content,m))),!C&&g.hasSameRuleAs(r)){r=r.pop(),s.produce(r,l),u=!0;return}}else if(x instanceof ma){let w=x;Tt(e,t,a,r,s,w.beginCaptures,m),s.produce(r,m[0].end),f=m[0].end;let b=w.getContentName(t.content,m),P=L.pushAttributed(b,e);if(r=r.withContentNameScopesList(P),w.whileHasBackReferences&&(r=r.withEndRule(w.getWhileWithResolvedBackReferences(t.content,m))),!C&&g.hasSameRuleAs(r)){r=r.pop(),s.produce(r,l),u=!0;return}}else if(Tt(e,t,a,r,s,x.captures,m),s.produce(r,m[0].end),r=r.pop(),!C){r=r.safePop(),s.produce(r,l),u=!0;return}}m[0].end>o&&(o=m[0].end,a=!1)}}function wu(e,t,a,o,r,s){let n=r.beginRuleCapturedEOL?0:-1,i=[];for(let l=r;l;l=l.pop()){let u=l.getRule(e);u instanceof ma&&i.push({rule:u,stack:l})}for(let l=i.pop();l;l=i.pop()){let{ruleScanner:u,findOptions:f}=Iu(l.rule,e,l.stack.endRule,a,o===n),d=u.findNextMatchSync(t,o,f);if(d){if(d.ruleId!==Rs){r=l.stack.pop();break}d.captureIndices&&d.captureIndices.length&&(s.produce(l.stack,d.captureIndices[0].start),Tt(e,t,a,l.stack,s,l.rule.whileCaptures,d.captureIndices),s.produce(l.stack,d.captureIndices[0].end),n=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:n,isFirstLine:a}}function xu(e,t,a,o,r,s){let n=Lu(e,t,a,o,r,s),i=e.getInjections();if(i.length===0)return n;let l=Cu(i,e,t,a,o,r,s);if(!l)return n;if(!n)return l;let u=n.captureIndices[0].start,f=l.captureIndices[0].start;return f<u||l.priorityMatch&&f===u?l:n}function Lu(e,t,a,o,r,s){let n=r.getRule(e),{ruleScanner:i,findOptions:l}=_s(n,e,r.endRule,a,o===s),u=i.findNextMatchSync(t,o,l);return u?{captureIndices:u.captureIndices,matchedRuleId:u.ruleId}:null}function Cu(e,t,a,o,r,s,n){let i=Number.MAX_VALUE,l=null,u,f=0,d=s.contentNameScopesList.getScopeNames();for(let c=0,p=e.length;c<p;c++){let m=e[c];if(!m.matcher(d))continue;let I=t.getRule(m.ruleId),{ruleScanner:C,findOptions:x}=_s(I,t,null,o,r===n),g=C.findNextMatchSync(a,r,x);if(!g)continue;let h=g.captureIndices[0].start;if(!(h>=i)&&(i=h,l=g.captureIndices,u=g.ruleId,f=m.priority,i===r))break}return l?{priorityMatch:f===-1,captureIndices:l,matchedRuleId:u}:null}function _s(e,t,a,o,r){if(Ds){let n=e.compile(t,a),i=Ns(o,r);return{ruleScanner:n,findOptions:i}}return{ruleScanner:e.compileAG(t,a,o,r),findOptions:0}}function Iu(e,t,a,o,r){if(Ds){let n=e.compileWhile(t,a),i=Ns(o,r);return{ruleScanner:n,findOptions:i}}return{ruleScanner:e.compileWhileAG(t,a,o,r),findOptions:0}}function Ns(e,t){let a=0;return e||(a|=1),t||(a|=4),a}function Tt(e,t,a,o,r,s,n){if(s.length===0)return;let i=t.content,l=Math.min(s.length,n.length),u=[],f=n[0].end;for(let d=0;d<l;d++){let c=s[d];if(c===null)continue;let p=n[d];if(p.length===0)continue;if(p.start>f)break;for(;u.length>0&&u[u.length-1].endPos<=p.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,p.start):r.produce(o,p.start),c.retokenizeCapturedWithRuleId){let I=c.getName(i,n),C=o.contentNameScopesList.pushAttributed(I,e),x=c.getContentName(i,n),g=C.pushAttributed(x,e),h=o.push(c.retokenizeCapturedWithRuleId,p.start,-1,!1,null,C,g),L=e.createOnigString(i.substring(0,p.end));Es(e,L,a&&p.start===0,p.start,h,r,!1,0),vs(L);continue}let m=c.getName(i,n);if(m!==null){let C=(u.length>0?u[u.length-1].scopes:o.contentNameScopesList).pushAttributed(m,e);u.push(new Su(C,p.end))}}for(;u.length>0;)r.produceFromScopes(u[u.length-1].scopes,u[u.length-1].endPos),u.pop()}var Su=class{scopes;endPos;constructor(e,t){this.scopes=e,this.endPos=t}};function yu(e,t,a,o,r,s,n,i){return new bu(e,t,a,o,r,s,n,i)}function Ls(e,t,a,o,r){let s=ca(t,ha),n=Fs.getCompiledRuleId(a,o,r.repository);for(let i of s)e.push({debugSelector:t,matcher:i.matcher,ruleId:n,grammar:r,priority:i.priority})}function ha(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(ku(t[r],o))return a=r+1,!0;return!1})}function ku(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 bu=class{constructor(e,t,a,o,r,s,n,i){if(this._rootScopeName=e,this.balancedBracketSelectors=s,this._onigLib=i,this._basicScopeAttributesProvider=new hu(a,o),this._rootId=-1,this._lastRuleId=0,this._ruleId2desc=[null],this._includedGrammars={},this._grammarRepository=n,this._grammar=Cs(t,null),this._injections=null,this._tokenTypeMatchers=[],r)for(let l of Object.keys(r)){let u=ca(l,ha);for(let f of u)this._tokenTypeMatchers.push({matcher:f.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 n in r)Ls(t,n,r[n],this,o);let s=this._grammarRepository.injections(a);s&&s.forEach(n=>{let i=this.getExternalGrammar(n);if(i){let l=i.injectionSelector;l&&Ls(t,l,i,this,i)}})}return t.sort((r,s)=>r.priority-s.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]=Cs(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=Fs.getCompiledRuleId(this._grammar.repository.$self,this,this._grammar.repository),this.getInjections());let r;if(!t||t===bo.NULL){r=!0;let u=this._basicScopeAttributesProvider.getDefaultAttributes(),f=this.themeProvider.getDefaults(),d=Je.set(0,u.languageId,u.tokenType,null,f.fontStyle,f.foregroundId,f.backgroundId),c=this.getRule(this._rootId).getName(null,null),p;c?p=Pt.createRootAndLookUpScopeName(c,d,this):p=Pt.createRoot("unknown",d),t=new bo(null,this._rootId,-1,-1,!1,null,p,p)}else r=!1,t.reset();e=e+`
4
+ `;let s=this.createOnigString(e),n=s.content.length,i=new Pu(a,e,this._tokenTypeMatchers,this.balancedBracketSelectors),l=Es(this,s,r,0,t,i,!0,o);return vs(s),{lineLength:n,lineTokens:i,ruleStack:l.stack,stoppedEarly:l.stoppedEarly}}};function Cs(e,t){return e=zl(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 Pt=class Me{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 s of a)r=xo.push(r,s.scopeNames),o=new Me(o,r,s.encodedTokenAttributes);return o}static createRoot(t,a){return new Me(null,new xo(null,t),a)}static createRootAndLookUpScopeName(t,a,o){let r=o.getMetadataForScope(t),s=new xo(null,t),n=o.themeProvider.themeMatch(s),i=Me.mergeAttributes(a,r,n);return new Me(null,s,i)}get scopeName(){return this.scopePath.scopeName}toString(){return this.getScopeNames().join(" ")}equals(t){return Me.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,s=0,n=0;return o!==null&&(r=o.fontStyle,s=o.foregroundId,n=o.backgroundId),Je.set(t,a.languageId,a.tokenType,null,r,s,n)}pushAttributed(t,a){if(t===null)return this;if(t.indexOf(" ")===-1)return Me._pushAttributed(this,t,a);let o=t.split(/ /g),r=this;for(let s of o)r=Me._pushAttributed(r,s,a);return r}static _pushAttributed(t,a,o){let r=o.getMetadataForScope(a),s=t.scopePath.push(a),n=o.themeProvider.themeMatch(s),i=Me.mergeAttributes(t.tokenAttributes,r,n);return new Me(t,s,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}},bo=class Ke{constructor(t,a,o,r,s,n,i,l){this.parent=t,this.ruleId=a,this.beginRuleCapturedEOL=s,this.endRule=n,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 Ke(null,0,0,0,!1,null,null,null);_enterPos;_anchorPos;depth;equals(t){return t===null?!1:Ke._equals(this,t)}static _equals(t,a){return t===a?!0:this._structuralEquals(t,a)?Pt.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(){Ke._reset(this)}pop(){return this.parent}safePop(){return this.parent?this.parent:this}push(t,a,o,r,s,n,i){return new Ke(this,t,a,o,r,s,n,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 Ke(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=Pt.fromExtension(t?.nameScopesList??null,a.nameScopesList);return new Ke(t,a.ruleId,a.enterPos??-1,a.anchorPos??-1,a.beginRuleCapturedEOL,a.endRule,o,Pt.fromExtension(o,a.contentNameScopesList))}},Tu=class{balancedBracketScopes;unbalancedBracketScopes;allowAny=!1;constructor(e,t){this.balancedBracketScopes=e.flatMap(a=>a==="*"?(this.allowAny=!0,[]):ca(a,ha).map(o=>o.matcher)),this.unbalancedBracketScopes=t.flatMap(a=>ca(a,ha).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}},Pu=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 s=e?.getScopeNames()??[];for(let n of this._tokenTypeOverrides)n.matcher(s)&&(o=Je.set(o,0,n.type,null,-1,0,0));this.balancedBracketSelectors&&(r=this.balancedBracketSelectors.match(s))}if(r&&(o=Je.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}},Au=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 s=this._rawGrammars.get(e);if(!s)return null;this._grammars.set(e,yu(e,s,t,a,o,r,this,this._onigLib))}return this._grammars.get(e)}},Us=class{_options;_syncRegistry;_ensureGrammarCache;constructor(e){this._options=e,this._syncRegistry=new Au(At.createFromRawTheme(e.theme,e.colorMap),e.onigLib),this._ensureGrammarCache=new Map}dispose(){this._syncRegistry.dispose()}setTheme(e,t){this._syncRegistry.setTheme(At.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 Tu(a.balancedBracketSelectors||[],a.unbalancedBracketSelectors||[]))}loadGrammar(e){return this._loadGrammar(e,0,null,null,null)}_loadGrammar(e,t,a,o,r){let s=new ru(this._syncRegistry,e);for(;s.Q.length>0;)s.Q.map(n=>this._loadSingleGrammar(n.scopeName)),s.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)}},ga=bo.NULL;var vu=/["&'<>`]/g,Mu=/[\uD800-\uDBFF][\uDC00-\uDFFF]/g,Ru=/[\x01-\t\v\f\x0E-\x1F\x7F\x81\x8D\x8F\x90\x9D\xA0-\uFFFF]/g,Fu=/[|\\{}()[\]^$+*?.]/g,Os=new WeakMap;function Hs(e,t){if(e=e.replace(t.subset?Bu(t.subset):vu,o),t.subset||t.escapeOnly)return e;return e.replace(Mu,a).replace(Ru,o);function a(r,s,n){return t.format((r.charCodeAt(0)-55296)*1024+r.charCodeAt(1)-56320+65536,n.charCodeAt(s+2),t)}function o(r,s,n){return t.format(r.charCodeAt(0),n.charCodeAt(s+1),t)}}function Bu(e){let t=Os.get(e);return t||(t=Du(e),Os.set(e,t)),t}function Du(e){let t=[],a=-1;for(;++a<e.length;)t.push(e[a].replace(Fu,"\\$&"));return new RegExp("(?:"+t.join("|")+")","g")}var Eu=/[\dA-Fa-f]/;function qs(e,t,a){let o="&#x"+e.toString(16).toUpperCase();return a&&t&&!Eu.test(String.fromCharCode(t))?o:o+";"}var _u=/\d/;function Gs(e,t,a){let o="&#"+String(e);return a&&t&&!_u.test(String.fromCharCode(t))?o:o+";"}var Ws=["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"];var wa={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"};var zs=["cent","copy","divide","gt","lt","not","para","times"];var js={}.hasOwnProperty,Po={},xa;for(xa in wa)js.call(wa,xa)&&(Po[wa[xa]]=xa);var Nu=/[^\dA-Za-z]/;function Vs(e,t,a,o){let r=String.fromCharCode(e);if(js.call(Po,r)){let s=Po[r],n="&"+s;return a&&Ws.includes(s)&&!zs.includes(s)&&(!o||t&&t!==61&&Nu.test(String.fromCharCode(t)))?n:n+";"}return""}function $s(e,t,a){let o=qs(e,t,a.omitOptionalSemicolons),r;if((a.useNamedReferences||a.useShortestReferences)&&(r=Vs(e,t,a.omitOptionalSemicolons,a.attribute)),(a.useShortestReferences||!r)&&a.useShortestReferences){let s=Gs(e,t,a.omitOptionalSemicolons);s.length<o.length&&(o=s)}return r&&(!a.useShortestReferences||r.length<o.length)?r:o}function De(e,t){return Hs(e,Object.assign({format:$s},t))}var Uu=/^>|^->|<!--|-->|--!>|<!-$/g,Ou=[">"],Hu=["<",">"];function Xs(e,t,a,o){return o.settings.bogusComments?"<?"+De(e.value,Object.assign({},o.settings.characterReferences,{subset:Ou}))+">":"<!--"+e.value.replace(Uu,r)+"-->";function r(s){return De(s,Object.assign({},o.settings.characterReferences,{subset:Hu}))}}function Qs(e,t,a,o){return"<!"+(o.settings.upperDoctype?"DOCTYPE":"doctype")+(o.settings.tightDoctype?"":" ")+"html>"}var te=Ks(1),Ao=Ks(-1),qu=[];function Ks(e){return t;function t(a,o,r){let s=a?a.children:qu,n=(o||0)+e,i=s[n];if(!r)for(;i&&st(i);)n+=e,i=s[n];return i}}var Gu={}.hasOwnProperty;function La(e){return t;function t(a,o,r){return Gu.call(e,a.tagName)&&e[a.tagName](a,o,r)}}var Bt=La({body:zu,caption:vo,colgroup:vo,dd:Xu,dt:$u,head:vo,html:Wu,li:Vu,optgroup:Qu,option:Ku,p:ju,rp:Js,rt:Js,tbody:Zu,td:Zs,tfoot:Yu,th:Zs,thead:Ju,tr:ed});function vo(e,t,a){let o=te(a,t,!0);return!o||o.type!=="comment"&&!(o.type==="text"&&st(o.value.charAt(0)))}function Wu(e,t,a){let o=te(a,t);return!o||o.type!=="comment"}function zu(e,t,a){let o=te(a,t);return!o||o.type!=="comment"}function ju(e,t,a){let o=te(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 Vu(e,t,a){let o=te(a,t);return!o||o.type==="element"&&o.tagName==="li"}function $u(e,t,a){let o=te(a,t);return!!(o&&o.type==="element"&&(o.tagName==="dt"||o.tagName==="dd"))}function Xu(e,t,a){let o=te(a,t);return!o||o.type==="element"&&(o.tagName==="dt"||o.tagName==="dd")}function Js(e,t,a){let o=te(a,t);return!o||o.type==="element"&&(o.tagName==="rp"||o.tagName==="rt")}function Qu(e,t,a){let o=te(a,t);return!o||o.type==="element"&&o.tagName==="optgroup"}function Ku(e,t,a){let o=te(a,t);return!o||o.type==="element"&&(o.tagName==="option"||o.tagName==="optgroup")}function Ju(e,t,a){let o=te(a,t);return!!(o&&o.type==="element"&&(o.tagName==="tbody"||o.tagName==="tfoot"))}function Zu(e,t,a){let o=te(a,t);return!o||o.type==="element"&&(o.tagName==="tbody"||o.tagName==="tfoot")}function Yu(e,t,a){return!te(a,t)}function ed(e,t,a){let o=te(a,t);return!o||o.type==="element"&&o.tagName==="tr"}function Zs(e,t,a){let o=te(a,t);return!o||o.type==="element"&&(o.tagName==="td"||o.tagName==="th")}var Ys=La({body:od,colgroup:rd,head:ad,html:td,tbody:sd});function td(e){let t=te(e,-1);return!t||t.type!=="comment"}function ad(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 od(e){let t=te(e,-1,!0);return!t||t.type!=="comment"&&!(t.type==="text"&&st(t.value.charAt(0)))&&!(t.type==="element"&&(t.tagName==="meta"||t.tagName==="link"||t.tagName==="script"||t.tagName==="style"||t.tagName==="template"))}function rd(e,t,a){let o=Ao(a,t),r=te(e,-1,!0);return a&&o&&o.type==="element"&&o.tagName==="colgroup"&&Bt(o,a.children.indexOf(o),a)?!1:!!(r&&r.type==="element"&&r.tagName==="col")}function sd(e,t,a){let o=Ao(a,t),r=te(e,-1);return a&&o&&o.type==="element"&&(o.tagName==="thead"||o.tagName==="tbody")&&Bt(o,a.children.indexOf(o),a)?!1:!!(r&&r.type==="element"&&r.tagName==="tr")}var Ca={name:[[`
5
5
  \f\r &/=>`.split(""),`
6
6
  \f\r "&'/=>\``.split("")],[`\0
7
7
  \f\r "&'/<=>`.split(""),`\0
@@ -9,11 +9,11 @@ import{a as pr,b as mr,c as hr,d as ot,e as rt,f as $t,g as gr,h as wr,i as xr,j
9
9
  \f\r &>`.split(""),`\0
10
10
  \f\r "&'<=>\``.split("")],[`\0
11
11
  \f\r "&'<=>\``.split(""),`\0
12
- \f\r "&'<=>\``.split("")]],single:[["&'".split(""),"\"&'`".split("")],["\0&'".split(""),"\0\"&'`".split("")]],double:[['"&'.split(""),"\"&'`".split("")],['\0"&'.split(""),"\0\"&'`".split("")]]};function Ys(e,t,a,o){let r=o.schema,s=r.space==="svg"?!1:o.settings.omitOptionalTags,n=r.space==="svg"?o.settings.closeEmptyElements:o.settings.voids.includes(e.tagName.toLowerCase()),i=[],l;r.space==="html"&&e.tagName==="svg"&&(o.schema=Xt);let u=sd(o,e.properties),f=o.all(r.space==="html"&&e.tagName==="template"?e.content:e);return o.schema=r,f&&(n=!1),(u||!s||!Zs(e,t,a))&&(i.push("<",e.tagName,u?" "+u:""),n&&(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(f),!n&&(!s||!Bt(e,t,a))&&i.push("</"+e.tagName+">"),i.join("")}function sd(e,t){let a=[],o=-1,r;if(t){for(r in t)if(t[r]!==null&&t[r]!==void 0){let s=nd(e,r,t[r]);s&&a.push(s)}}for(;++o<a.length;){let s=e.settings.tightAttributes?a[o].charAt(a[o].length-1):void 0;o!==a.length-1&&s!=='"'&&s!=="'"&&(a[o]+=" ")}return a.join("")}function nd(e,t,a){let o=xr(e.schema,t),r=e.settings.allowParseErrors&&e.schema.space==="html"?0:1,s=e.settings.allowDangerousCharacters?0:1,n=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=De(o.attribute,Object.assign({},e.settings.characterReferences,{subset:Ca.name[r][s]}));return a===!0||(a=Array.isArray(a)?(o.commaSeparated?Ir:Sr)(a,{padLeft:!e.settings.tightCommaSeparatedLists}):String(a),e.settings.collapseEmptyAttributes&&!a)?l:(e.settings.preferUnquoted&&(i=De(a,Object.assign({},e.settings.characterReferences,{attribute:!0,subset:Ca.unquoted[r][s]}))),i!==a&&(e.settings.quoteSmart&&oo(a,n)>oo(a,e.alternative)&&(n=e.alternative),i=n+De(a,Object.assign({},e.settings.characterReferences,{subset:(n==="'"?Ca.single:Ca.double)[r][s],attribute:!0}))+n),l+(i&&"="+i))}var id=["<","&"];function Ia(e,t,a,o){return a&&a.type==="element"&&(a.tagName==="script"||a.tagName==="style")?e.value:De(e.value,Object.assign({},o.settings.characterReferences,{subset:id}))}function en(e,t,a,o){return o.settings.allowDangerousHtml?e.value:Ia(e,t,a,o)}function tn(e,t,a,o){return o.all(e)}var an=Cr("type",{invalid:ld,unknown:ud,handlers:{comment:$s,doctype:Xs,element:Ys,raw:en,root:tn,text:Ia}});function ld(e){throw new Error("Expected node, not `"+e+"`")}function ud(e){let t=e;throw new Error("Cannot compile unknown node `"+t.type+"`")}var dd={},fd={},cd=[];function Mo(e,t){let a=t||dd,o=a.quote||'"',r=o==='"'?"'":'"';if(o!=='"'&&o!=="'")throw new Error("Invalid quote `"+o+"`, expected `'` or `\"`");return{one:pd,all:md,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||wr,characterReferences:a.characterReferences||fd,closeSelfClosing:a.closeSelfClosing||!1,closeEmptyElements:a.closeEmptyElements||!1},schema:a.space==="svg"?Xt:Lr,quote:o,alternative:r}.one(Array.isArray(e)?{type:"root",children:e}:e,void 0,void 0)}function pd(e,t,a){return an(e,t,a,this)}function md(e){let t=[],a=e&&e.children||cd,o=-1;for(;++o<a.length;)t[o]=this.one(a[o],o,e);return t.join("")}function Sa(e,t){let a=typeof e=="string"?{}:{...e.colorReplacements},o=typeof e=="string"?e:e.name;for(let[r,s]of Object.entries(t?.colorReplacements||{}))typeof s=="string"?a[r]=s:r===o&&Object.assign(a,s);return a}function Ge(e,t){return e&&(t?.[e?.toLowerCase()]||e)}function hd(e){return Array.isArray(e)?e:[e]}async function dn(e){return Promise.resolve(typeof e=="function"?e():e).then(t=>t.default||t)}function _o(e){return!e||["plaintext","txt","text","plain"].includes(e)}function fn(e){return e==="ansi"||_o(e)}function No(e){return e==="none"}function cn(e){return No(e)}function pn(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 Pa(e,t=!1){if(e.length===0)return[["",0]];let a=e.split(/(\r?\n)/g),o=0,r=[];for(let s=0;s<a.length;s+=2){let n=t?a[s]+(a[s+1]||""):a[s];r.push([n,o]),o+=a[s].length,o+=a[s+1]?.length||0}return r}function gd(e){let t=Pa(e,!0).map(([r])=>r);function a(r){if(r===e.length)return{line:t.length-1,character:t[t.length-1].length};let s=r,n=0;for(let i of t){if(s<i.length)break;s-=i.length,n++}return{line:n,character:s}}function o(r,s){let n=0;for(let i=0;i<r;i++)n+=t[i].length;return n+=s,n}return{lines:t,indexToPos:a,posToIndex:o}}function mn(e,t,a){let o=new Set;for(let s of e.matchAll(/:?lang=["']([^"']+)["']/g)){let n=s[1].toLowerCase().trim();n&&o.add(n)}for(let s of e.matchAll(/(?:```|~~~)([\w-]+)/g)){let n=s[1].toLowerCase().trim();n&&o.add(n)}for(let s of e.matchAll(/\\begin\{([\w-]+)\}/g)){let n=s[1].toLowerCase().trim();n&&o.add(n)}for(let s of e.matchAll(/<script\s+(?:type|lang)=["']([^"']+)["']/gi)){let n=s[1].toLowerCase().trim(),i=n.includes("/")?n.split("/").pop():n;i&&o.add(i)}if(!a)return Array.from(o);let r=a.getBundledLanguages();return Array.from(o).filter(s=>s&&r[s])}var Uo="light-dark()",wd=["color","background-color"];function xd(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 Ld(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 s=a.filter(n=>r.offset<n&&n<r.offset+r.content.length).map(n=>n-r.offset).sort((n,i)=>n-i);return s.length?xd(r,s):r})):e}function Cd(e,t,a,o,r="css-vars"){let s={content:e.content,explanation:e.explanation,offset:e.offset},n=t.map(f=>ya(e.variants[f])),i=new Set(n.flatMap(f=>Object.keys(f))),l={},u=(f,d)=>{let c=d==="color"?"":d==="background-color"?"-bg":`-${d}`;return a+t[f]+(d==="color"?"":c)};return n.forEach((f,d)=>{for(let c of i){let p=f[c]||"inherit";if(d===0&&o&&wd.includes(c))if(o===Uo&&n.length>1){let m=t.findIndex(g=>g==="light"),I=t.findIndex(g=>g==="dark");if(m===-1||I===-1)throw new Z('When using `defaultColor: "light-dark()"`, you must provide both `light` and `dark` themes');let C=n[m][c]||"inherit",x=n[I][c]||"inherit";l[c]=`light-dark(${C}, ${x})`,r==="css-vars"&&(l[u(d,c)]=p)}else l[c]=p;else r==="css-vars"&&(l[u(d,c)]=p)}}),s.htmlStyle=l,s}function ya(e){let t={};if(e.color&&(t.color=e.color),e.bgColor&&(t["background-color"]=e.bgColor),e.fontStyle){e.fontStyle&fe.Italic&&(t["font-style"]="italic"),e.fontStyle&fe.Bold&&(t["font-weight"]="bold");let a=[];e.fontStyle&fe.Underline&&a.push("underline"),e.fontStyle&fe.Strikethrough&&a.push("line-through"),a.length&&(t["text-decoration"]=a.join(" "))}return t}function Bo(e){return typeof e=="string"?e:Object.entries(e).map(([t,a])=>`${t}:${a}`).join(";")}var hn=new WeakMap;function Aa(e,t){hn.set(e,t)}function Et(e){return hn.get(e)}var ut=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(hd(a).map(o=>[o,ga])),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 Id(this._stacks[t])}toJSON(){return{lang:this.lang,theme:this.theme,themes:this.themes,scopes:this.getScopes()}}};function Id(e){let t=[],a=new Set;function o(r){if(a.has(r))return;a.add(r);let s=r?.nameScopesList?.scopeName;s&&t.push(s),r.parent&&o(r.parent)}return o(e),t}function Sd(e,t){if(!(e instanceof ut))throw new Z("Invalid grammar state");return e.getInternalStack(t)}function yd(){let e=new WeakMap;function t(a){if(!e.has(a.meta)){let o=function(n){if(typeof n=="number"){if(n<0||n>a.source.length)throw new Z(`Invalid decoration offset: ${n}. Code length: ${a.source.length}`);return{...r.indexToPos(n),offset:n}}else{let i=r.lines[n.line];if(i===void 0)throw new Z(`Invalid decoration position ${JSON.stringify(n)}. Lines length: ${r.lines.length}`);let l=n.character;if(l<0&&(l=i.length+l),l<0||l>i.length)throw new Z(`Invalid decoration position ${JSON.stringify(n)}. Line ${n.line} length: ${i.length}`);return{...n,character:l,offset:r.posToIndex(n.line,l)}}},r=gd(a.source),s=(a.options.decorations||[]).map(n=>({...n,start:o(n.start),end:o(n.end)}));kd(s),e.set(a.meta,{decorations:s,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(n=>[n.start.offset,n.end.offset]);return Ld(a,r)},code(a){if(!this.options.decorations?.length)return;let o=t(this),r=Array.from(a.children).filter(f=>f.type==="element"&&f.tagName==="span");if(r.length!==o.converter.lines.length)throw new Z(`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 s(f,d,c,p){let m=r[f],I="",C=-1,x=-1;if(d===0&&(C=0),c===0&&(x=0),c===Number.POSITIVE_INFINITY&&(x=m.children.length),C===-1||x===-1)for(let h=0;h<m.children.length;h++)I+=gn(m.children[h]),C===-1&&I.length===d&&(C=h+1),x===-1&&I.length===c&&(x=h+1);if(C===-1)throw new Z(`Failed to find start index for decoration ${JSON.stringify(p.start)}`);if(x===-1)throw new Z(`Failed to find end index for decoration ${JSON.stringify(p.end)}`);let g=m.children.slice(C,x);if(!p.alwaysWrap&&g.length===m.children.length)i(m,p,"line");else if(!p.alwaysWrap&&g.length===1&&g[0].type==="element")i(g[0],p,"token");else{let h={type:"element",tagName:"span",properties:{},children:g};i(h,p,"wrapper"),m.children.splice(C,g.length,h)}}function n(f,d){r[f]=i(r[f],d,"line")}function i(f,d,c){let p=d.properties||{},m=d.transform||(I=>I);return f.tagName=d.tagName||"span",f.properties={...f.properties,...p,class:f.properties.class},d.properties?.class&&pn(f,d.properties.class),f=m(f,c)||f,f}let l=[],u=o.decorations.sort((f,d)=>d.start.offset-f.start.offset||f.end.offset-d.end.offset);for(let f of u){let{start:d,end:c}=f;if(d.line===c.line)s(d.line,d.character,c.character,f);else if(d.line<c.line){s(d.line,d.character,Number.POSITIVE_INFINITY,f);for(let p=d.line+1;p<c.line;p++)l.unshift(()=>n(p,f));s(c.line,0,c.character,f)}}l.forEach(f=>f())}}}function kd(e){for(let t=0;t<e.length;t++){let a=e[t];if(a.start.offset>a.end.offset)throw new Z(`Invalid decoration range: ${JSON.stringify(a.start)} - ${JSON.stringify(a.end)}`);for(let o=t+1;o<e.length;o++){let r=e[o],s=a.start.offset<=r.start.offset&&r.start.offset<a.end.offset,n=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(s||n||i||l){if(s&&n||i&&l||i&&a.start.offset===a.end.offset||n&&r.start.offset===r.end.offset)continue;throw new Z(`Decorations ${JSON.stringify(a.start)} and ${JSON.stringify(r.start)} intersect.`)}}}}function gn(e){return e.type==="text"?e.value:e.type==="element"?e.children.map(gn).join(""):""}var bd=[yd()];function ka(e){let t=Td(e.transformers||[]);return[...t.pre,...t.normal,...t.post,...bd]}function Td(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 Ze=["black","red","green","yellow","blue","magenta","cyan","white","brightBlack","brightRed","brightGreen","brightYellow","brightBlue","brightMagenta","brightCyan","brightWhite"],Ro={1:"bold",2:"dim",3:"italic",4:"underline",7:"reverse",8:"hidden",9:"strikethrough"};function Pd(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 on(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 Ad(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)Ro[o]&&t.push({type:"setDecoration",value:Ro[o]});else if(o<=29){let r=Ro[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:Ze[o-30]}});else if(o===38){let r=on(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:Ze[o-40]}});else if(o===48){let r=on(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:Ze[o-90+8]}}):o>=100&&o<=107&&t.push({type:"setBackgroundColor",value:{type:"named",name:Ze[o-100+8]}})}return t}function vd(){let e=null,t=null,a=new Set;return{parse(o){let r=[],s=0;do{let n=Pd(o,s),i=n.sequence?o.substring(s,n.startPosition):o.substring(s);if(i.length>0&&r.push({value:i,foreground:e,background:t,decorations:new Set(a)}),n.sequence){let l=Ad(n.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)}s=n.position}while(s<o.length);return r}}}var Md={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 Rd(e=Md){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<Ze.length;u++)o.push(t(Ze[u]));let i=[0,95,135,175,215,255];for(let u=0;u<6;u++)for(let f=0;f<6;f++)for(let d=0;d<6;d++)o.push(a([i[u],i[f],i[d]]));let l=8;for(let u=0;u<24;u++,l+=10)o.push(a([l,l,l]));return o}function s(i){return r()[i]}function n(i){switch(i.type){case"named":return t(i.name);case"rgb":return a(i.rgb);case"table":return s(i.index)}}return{value:n}}var Fd={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 Bd(e,t,a){let o=Sa(e,a),r=Pa(t),s=Object.fromEntries(Ze.map(l=>{let u=`terminal.ansi${l[0].toUpperCase()}${l.substring(1)}`,f=e.colors?.[u];return[l,f||Fd[l]]})),n=Rd(s),i=vd();return r.map(l=>i.parse(l[0]).map(u=>{let f,d;u.decorations.has("reverse")?(f=u.background?n.value(u.background):e.bg,d=u.foreground?n.value(u.foreground):e.fg):(f=u.foreground?n.value(u.foreground):e.fg,d=u.background?n.value(u.background):void 0),f=Ge(f,o),d=Ge(d,o),u.decorations.has("dim")&&(f=Dd(f));let c=fe.None;return u.decorations.has("bold")&&(c|=fe.Bold),u.decorations.has("italic")&&(c|=fe.Italic),u.decorations.has("underline")&&(c|=fe.Underline),u.decorations.has("strikethrough")&&(c|=fe.Strikethrough),{content:u.value,offset:l[1],color:f,bgColor:d,fontStyle:c}}))}function Dd(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],s=o[1],n=o[2],i=o[3],l=Math.round(Number.parseInt(`${i}${i}`,16)/2).toString(16).padStart(2,"0");return`#${r}${r}${s}${s}${n}${n}${l}`}else if(o.length===3){let r=o[0],s=o[1],n=o[2];return`#${r}${r}${s}${s}${n}${n}80`}}}let a=e.match(/var\((--[\w-]+-ansi-[\w-]+)\)/);return a?`var(${a[1]}-dim)`:e}function Oo(e,t,a={}){let{theme:o=e.getLoadedThemes()[0]}=a,r=e.resolveLangAlias(a.lang||"text");if(_o(r)||No(o))return Pa(t).map(l=>[{content:l[0],offset:l[1]}]);let{theme:s,colorMap:n}=e.setTheme(o);if(r==="ansi")return Bd(s,t,a);let i=e.getLanguage(a.lang||"text");if(a.grammarState){if(a.grammarState.lang!==i.name)throw new Z(`Grammar state language "${a.grammarState.lang}" does not match highlight language "${i.name}"`);if(!a.grammarState.themes.includes(s.name))throw new Z(`Grammar state themes "${a.grammarState.themes}" do not contain highlight theme "${s.name}"`)}return _d(t,i,s,n,a)}function Ed(...e){if(e.length===2)return Et(e[1]);let[t,a,o={}]=e,{lang:r="text",theme:s=t.getLoadedThemes()[0]}=o;if(_o(r)||No(s))throw new Z("Plain language does not have grammar state");if(r==="ansi")throw new Z("ANSI language does not have grammar state");let{theme:n,colorMap:i}=t.setTheme(s),l=t.getLanguage(r);return new ut(Ho(a,l,n,i,o).stateStack,l.name,n.name)}function _d(e,t,a,o,r){let s=Ho(e,t,a,o,r),n=new ut(s.stateStack,t.name,a.name);return Aa(s.tokens,n),s.tokens}function Ho(e,t,a,o,r){let s=Sa(a,r),{tokenizeMaxLineLength:n=0,tokenizeTimeLimit:i=500}=r,l=Pa(e),u=r.grammarState?Sd(r.grammarState,a.name)??ga:r.grammarContextCode!=null?Ho(r.grammarContextCode,t,a,o,{...r,grammarState:void 0,grammarContextCode:void 0}).stateStack:ga,f=[],d=[];for(let c=0,p=l.length;c<p;c++){let[m,I]=l[c];if(m===""){f=[],d.push([]);continue}if(n>0&&m.length>=n){f=[],d.push([{content:m,offset:I,color:"",fontStyle:0}]);continue}let C,x,g;r.includeExplanation&&(C=t.tokenizeLine(m,u,i),x=C.tokens,g=0);let h=t.tokenizeLine2(m,u,i),L=h.tokens.length/2;for(let w=0;w<L;w++){let b=h.tokens[2*w],P=w+1<L?h.tokens[2*w+2]:m.length;if(b===P)continue;let y=h.tokens[2*w+1],D=Ge(o[Je.getForeground(y)],s),v=Je.getFontStyle(y),F={content:m.substring(b,P),offset:I+b,color:D,fontStyle:v};if(r.includeExplanation){let k=[];if(r.includeExplanation!=="scopeName")for(let H of a.settings){let O;switch(typeof H.scope){case"string":O=H.scope.split(/,/).map(ue=>ue.trim());break;case"object":O=H.scope;break;default:continue}k.push({settings:H,selectors:O.map(ue=>ue.split(/ /))})}F.explanation=[];let B=0;for(;b+B<P;){let H=x[g],O=m.substring(H.startIndex,H.endIndex);B+=O.length,F.explanation.push({content:O,scopes:r.includeExplanation==="scopeName"?Nd(H.scopes):Ud(k,H.scopes)}),g+=1}}f.push(F)}d.push(f),f=[],u=h.ruleStack}return{tokens:d,stateStack:u}}function Nd(e){return e.map(t=>({scopeName:t}))}function Ud(e,t){let a=[];for(let o=0,r=t.length;o<r;o++){let s=t[o];a[o]={scopeName:s,themeMatches:Hd(e,s,t.slice(0,o))}}return a}function rn(e,t){return e===t||t.substring(0,e.length)===e&&t[e.length]==="."}function Od(e,t,a){if(!rn(e[e.length-1],t))return!1;let o=e.length-2,r=a.length-1;for(;o>=0&&r>=0;)rn(e[o],a[r])&&(o-=1),r-=1;return o===-1}function Hd(e,t,a){let o=[];for(let{selectors:r,settings:s}of e)for(let n of r)if(Od(n,t,a)){o.push(s);break}return o}function wn(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=Oo(e,t,{...a,theme:l.theme}),f=Et(u),d=typeof l.theme=="string"?l.theme:l.theme.name;return{tokens:u,state:f,theme:d}}),s=qd(...r.map(l=>l.tokens)),n=s[0].map((l,u)=>l.map((f,d)=>{let c={content:f.content,variants:{},offset:f.offset};return"includeExplanation"in a&&a.includeExplanation&&(c.explanation=f.explanation),s.forEach((p,m)=>{let{content:I,explanation:C,offset:x,...g}=p[u][d];c.variants[o[m].color]=g}),c})),i=r[0].state?new ut(Object.fromEntries(r.map(l=>[l.theme,l.state?.getInternalStack(l.theme)])),r[0].state.lang):void 0;return i&&Aa(n,i),n}function qd(...e){let t=e.map(()=>[]),a=e.length;for(let o=0;o<e[0].length;o++){let r=e.map(l=>l[o]),s=t.map(()=>[]);t.forEach((l,u)=>l.push(s[u]));let n=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 f=i[u];f.content.length===l?(s[u].push(f),n[u]+=1,i[u]=r[u][n[u]]):(s[u].push({...f,content:f.content.slice(0,l)}),i[u]={...f,content:f.content.slice(l),offset:f.offset+l})}}}return t}function ba(e,t,a){let o,r,s,n,i,l;if("themes"in a){let{defaultColor:u="light",cssVariablePrefix:f="--shiki-",colorsRendering:d="css-vars"}=a,c=Object.entries(a.themes).filter(x=>x[1]).map(x=>({color:x[0],theme:x[1]})).sort((x,g)=>x.color===u?-1:g.color===u?1:0);if(c.length===0)throw new Z("`themes` option must not be empty");let p=wn(e,t,a);if(l=Et(p),u&&Uo!==u&&!c.find(x=>x.color===u))throw new Z(`\`themes\` option must contain the defaultColor key \`${u}\``);let m=c.map(x=>e.getTheme(x.theme)),I=c.map(x=>x.color);s=p.map(x=>x.map(g=>Cd(g,I,f,u,d))),l&&Aa(s,l);let C=c.map(x=>Sa(x.theme,a));r=sn(c,m,C,f,u,"fg",d),o=sn(c,m,C,f,u,"bg",d),n=`shiki-themes ${m.map(x=>x.name).join(" ")}`,i=u?void 0:[r,o].join(";")}else if("theme"in a){let u=Sa(a.theme,a);s=Oo(e,t,a);let f=e.getTheme(a.theme);o=Ge(f.bg,u),r=Ge(f.fg,u),n=f.name,l=Et(s)}else throw new Z("Invalid options, either `theme` or `themes` must be provided");return{tokens:s,fg:r,bg:o,themeName:n,rootStyle:i,grammarState:l}}function sn(e,t,a,o,r,s,n){return e.map((i,l)=>{let u=Ge(t[l][s],a[l])||"inherit",f=`${o+i.color}${s==="bg"?"-bg":""}:${u}`;if(l===0&&r){if(r===Uo&&e.length>1){let d=e.findIndex(I=>I.color==="light"),c=e.findIndex(I=>I.color==="dark");if(d===-1||c===-1)throw new Z('When using `defaultColor: "light-dark()"`, you must provide both `light` and `dark` themes');let p=Ge(t[d][s],a[d])||"inherit",m=Ge(t[c][s],a[c])||"inherit";return`light-dark(${p}, ${m});${f}`}return u}return n==="css-vars"?f:null}).filter(i=>!!i).join(";")}function Ta(e,t,a,o={meta:{},options:a,codeToHast:(r,s)=>Ta(e,r,s),codeToTokens:(r,s)=>ba(e,r,s)}){let r=t;for(let m of ka(a))r=m.preprocess?.call(o,r,a)||r;let{tokens:s,fg:n,bg:i,themeName:l,rootStyle:u,grammarState:f}=ba(e,r,a),{mergeWhitespaces:d=!0,mergeSameStyleTokens:c=!1}=a;d===!0?s=Wd(s):d==="never"&&(s=zd(s)),c&&(s=jd(s));let p={...o,get source(){return r}};for(let m of ka(a))s=m.tokens?.call(p,s)||s;return Gd(s,{...a,fg:n,bg:i,themeName:l,rootStyle:a.rootStyle===!1?!1:a.rootStyle??u},p,f)}function Gd(e,t,a,o=Et(e)){let r=ka(t),s=[],n={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,C]of Object.entries(t.meta||{}))I.startsWith("_")||(u[I]=C);let f={type:"element",tagName:"pre",properties:u,children:[],data:t.data},d={type:"element",tagName:"code",properties:{},children:s},c=[],p={...a,structure:i,addClassToHast:pn,get source(){return a.source},get tokens(){return e},get options(){return t},get root(){return n},get pre(){return f},get code(){return d},get lines(){return c}};if(e.forEach((I,C)=>{C&&(i==="inline"?n.children.push({type:"element",tagName:"br",properties:{},children:[]}):i==="classic"&&s.push({type:"text",value:`
13
- `}));let x={type:"element",tagName:"span",properties:{class:"line"},children:[]},g=0;for(let h of I){let L={type:"element",tagName:"span",properties:{...h.htmlAttrs},children:[{type:"text",value:h.content}]},w=Bo(h.htmlStyle||ya(h));w&&(L.properties.style=w);for(let b of r)L=b?.span?.call(p,L,C+1,g,x,h)||L;i==="inline"?n.children.push(L):i==="classic"&&x.children.push(L),g+=h.content.length}if(i==="classic"){for(let h of r)x=h?.line?.call(p,x,C+1)||x;c.push(x),s.push(x)}else i==="inline"&&c.push(x)}),i==="classic"){for(let I of r)d=I?.code?.call(p,d)||d;f.children.push(d);for(let I of r)f=I?.pre?.call(p,f)||f;n.children.push(f)}else if(i==="inline"){let I=[],C={type:"element",tagName:"span",properties:{class:"line"},children:[]};for(let h of n.children)h.type==="element"&&h.tagName==="br"?(I.push(C),C={type:"element",tagName:"span",properties:{class:"line"},children:[]}):(h.type==="element"||h.type==="text")&&C.children.push(h);I.push(C);let g={type:"element",tagName:"code",properties:{},children:I};for(let h of r)g=h?.code?.call(p,g)||g;n.children=[];for(let h=0;h<g.children.length;h++){h>0&&n.children.push({type:"element",tagName:"br",properties:{},children:[]});let L=g.children[h];L.type==="element"&&n.children.push(...L.children)}}let m=n;for(let I of r)m=I?.root?.call(p,m)||m;return o&&Aa(m,o),m}function Wd(e){return e.map(t=>{let a=[],o="",r;return t.forEach((s,n)=>{let l=!(s.fontStyle&&(s.fontStyle&fe.Underline||s.fontStyle&fe.Strikethrough));l&&s.content.match(/^\s+$/)&&t[n+1]?(r===void 0&&(r=s.offset),o+=s.content):o?(l?a.push({...s,offset:r,content:o+s.content}):a.push({content:o,offset:r},s),r=void 0,o=""):a.push(s)}),a})}function zd(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,s,n]=o;if(!r&&!n)return a;let i=[{...a,offset:a.offset+r.length,content:s}];return r&&i.unshift({content:r,offset:a.offset}),n&&i.push({content:n,offset:a.offset+r.length+s.length}),i}))}function jd(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],s=Bo(r.htmlStyle||ya(r)),n=Bo(o.htmlStyle||ya(o)),i=r.fontStyle&&(r.fontStyle&fe.Underline||r.fontStyle&fe.Strikethrough),l=o.fontStyle&&(o.fontStyle&fe.Underline||o.fontStyle&fe.Strikethrough);!i&&!l&&s===n?r.content+=o.content:a.push({...o})}return a})}var Vd=Mo;function $d(e,t,a){let o={meta:{},options:a,codeToHast:(s,n)=>Ta(e,s,n),codeToTokens:(s,n)=>ba(e,s,n)},r=Vd(Ta(e,t,a,o));for(let s of ka(a))r=s.postprocess?.call(o,r,a)||r;return r}var nn={light:"#333333",dark:"#bbbbbb"},ln={light:"#fffffe",dark:"#1e1e1e"},un="__shiki_resolved";function qo(e){if(e?.[un])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"?nn.light:nn.dark),a||(a=t.type==="light"?ln.light:ln.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,s=new Map;function n(i){if(s.has(i))return s.get(i);r+=1;let l=`#${r.toString(16).padStart(8,"0").toLowerCase()}`;return t.colorReplacements?.[`#${l}`]?n(i):(s.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 f={...i,settings:{...i.settings}};if(l){let d=n(i.settings.foreground);t.colorReplacements[d]=i.settings.foreground,f.settings.foreground=d}if(u){let d=n(i.settings.background);t.colorReplacements[d]=i.settings.background,f.settings.background=d}return f});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=n(t.colors[i]);t.colorReplacements[l]=t.colors[i],t.colors[i]=l}return Object.defineProperty(t,un,{enumerable:!1,writable:!1,value:!0}),t}async function xn(e){return Array.from(new Set((await Promise.all(e.filter(t=>!fn(t)).map(async t=>await dn(t).then(a=>Array.isArray(a)?a:[a])))).flat()))}async function Ln(e){return(await Promise.all(e.map(async a=>cn(a)?null:qo(await dn(a))))).filter(a=>!!a)}var Fo=3,Xd=!1;function Qd(e,t=3){if(Fo&&!(typeof Fo=="number"&&t>Fo)){if(Xd)throw new Error(`[SHIKI DEPRECATE]: ${e}`);console.trace(`[SHIKI DEPRECATE]: ${e}`)}}var qe=class extends Error{constructor(t){super(t),this.name="ShikiError"}};function Cn(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 qe(`Circular alias \`${Array.from(a).join(" -> ")} -> ${e}\``);a.add(e)}}return e}var Do=class extends Ns{constructor(t,a,o,r={}){super(t),this._resolver=t,this._themes=a,this._langs=o,this._alias=r,this._themes.map(s=>this.loadTheme(s)),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=qo(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=At.createFromRawTheme(t),this._textmateThemeCache.set(t,a)),this._syncRegistry.setTheme(a)}getGrammar(t){return t=Cn(t,this._alias),this._resolvedGrammars.get(t)}loadLanguage(t){if(this.getGrammar(t.name))return;let a=new Set([...this._langMap.values()].filter(s=>s.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(s=>{this._alias[s]=t.name}),this._loadedLanguagesCache=null,a.size)for(let s of a)this._resolvedGrammars.delete(s.name),this._loadedLanguagesCache=null,this._syncRegistry?._injectionGrammars?.delete(s.scopeName),this._syncRegistry?._grammars?.delete(s.scopeName),this.loadLanguage(this._langMap.get(s.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,s])=>!s);if(o.length){let r=a.filter(([s,n])=>n?(n.embeddedLanguages||n.embeddedLangs)?.some(l=>o.map(([u])=>u).includes(l)):!1).filter(s=>!o.includes(s));throw new qe(`Missing languages ${o.map(([s])=>`\`${s}\``).join(", ")}, required by ${r.map(([s])=>`\`${s}\``).join(", ")}`)}for(let[r,s]of a)this._resolver.addLanguage(s);for(let[r,s]of a)this.loadLanguage(s)}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))}},Eo=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 s=a.slice(0,r).join(".");o=[...o,...this._injections.get(s)||[]]}return o}},Dt=0;function Kd(e){Dt+=1,e.warnings!==!1&&Dt>=10&&Dt%10===0&&console.warn(`[Shiki] ${Dt} 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 qe("`engine` option is required for synchronous mode");let a=(e.langs||[]).flat(1),o=(e.themes||[]).flat(1).map(qo),r=new Eo(e.engine,a),s=new Do(r,o,a,e.langAlias),n;function i(h){return Cn(h,e.langAlias)}function l(h){x();let L=s.getGrammar(typeof h=="string"?h:h.name);if(!L)throw new qe(`Language \`${h}\` not found, you may need to load it first`);return L}function u(h){if(h==="none")return{bg:"",fg:"",name:"none",settings:[],type:"dark"};x();let L=s.getTheme(h);if(!L)throw new qe(`Theme \`${h}\` not found, you may need to load it first`);return L}function f(h){x();let L=u(h);n!==h&&(s.setTheme(L),n=h);let w=s.getColorMap();return{theme:L,colorMap:w}}function d(){return x(),s.getLoadedThemes()}function c(){return x(),s.getLoadedLanguages()}function p(...h){x(),s.loadLanguages(h.flat(1))}async function m(...h){return p(await xn(h))}function I(...h){x();for(let L of h.flat(1))s.loadTheme(L)}async function C(...h){return x(),I(await Ln(h))}function x(){if(t)throw new qe("Shiki instance has been disposed")}function g(){t||(t=!0,s.dispose(),Dt-=1)}return{setTheme:f,getTheme:u,getLanguage:l,getLoadedThemes:d,getLoadedLanguages:c,resolveLangAlias:i,loadLanguage:m,loadLanguageSync:p,loadTheme:C,loadThemeSync:I,dispose:g,[Symbol.dispose]:g}}async function Jd(e){e.engine||Qd("`engine` option is required. Use `createOnigurumaEngine` or `createJavaScriptRegexEngine` to create an engine.");let[t,a,o]=await Promise.all([Ln(e.themes||[]),xn(e.langs||[]),e.engine]);return Kd({...e,themes:t,langs:a,engine:o})}async function Zd(e){let t=await Jd(e);return{getLastGrammarState:(...a)=>Ed(t,...a),codeToTokensBase:(a,o)=>Oo(t,a,o),codeToTokensWithThemes:(a,o)=>wn(t,a,o),codeToTokens:(a,o)=>ba(t,a,o),codeToHast:(a,o)=>Ta(t,a,o),codeToHtml:(a,o)=>$d(t,a,o),getBundledLanguages:()=>({}),getBundledThemes:()=>({}),...t,getInternalContext:()=>t}}function In(e){let t=e.langs,a=e.themes,o=e.engine;async function r(s){function n(d){if(typeof d=="string"){if(d=s.langAlias?.[d]||d,fn(d))return[];let c=t[d];if(!c)throw new Z(`Language \`${d}\` is not included in this bundle. You may want to load it from external source.`);return c}return d}function i(d){if(cn(d))return"none";if(typeof d=="string"){let c=a[d];if(!c)throw new Z(`Theme \`${d}\` is not included in this bundle. You may want to load it from external source.`);return c}return d}let l=(s.themes??[]).map(d=>i(d)),u=(s.langs??[]).map(d=>n(d)),f=await Zd({engine:s.engine??o(),...s,themes:l,langs:u});return{...f,loadLanguage(...d){return f.loadLanguage(...d.map(n))},loadTheme(...d){return f.loadTheme(...d.map(i))},getBundledLanguages(){return t},getBundledThemes(){return a}}}return r}function Yd(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 Sn(e,t){let a=Yd(e);async function o(r,s){let n=await a({langs:[s.lang],themes:"theme"in s?[s.theme]:Object.values(s.themes)}),i=await t?.guessEmbeddedLanguages?.(r,s.lang,n);return i&&await n.loadLanguage(...i),n}return{getSingletonHighlighter(r){return a(r)},async codeToHtml(r,s){return(await o(r,s)).codeToHtml(r,s)},async codeToHast(r,s){return(await o(r,s)).codeToHast(r,s)},async codeToTokens(r,s){return(await o(r,s)).codeToTokens(r,s)},async codeToTokensBase(r,s){return(await o(r,s)).codeToTokensBase(r,s)},async codeToTokensWithThemes(r,s){return(await o(r,s)).codeToTokensWithThemes(r,s)},async getLastGrammarState(r,s){return(await a({langs:[s.lang],themes:[s.theme]})).getLastGrammarState(r,s)}}}var Go=[{id:"abap",name:"ABAP",import:(()=>import("../abap-KGVIZMDC.js"))},{id:"actionscript-3",name:"ActionScript",import:(()=>import("../actionscript-3-2UHK5QYP.js"))},{id:"ada",name:"Ada",import:(()=>import("../ada-JKTWR5BV.js"))},{id:"angular-html",name:"Angular HTML",import:(()=>import("../angular-html-EOIKHM3D.js"))},{id:"angular-ts",name:"Angular TypeScript",import:(()=>import("../angular-ts-A7ZNTSV6.js"))},{id:"apache",name:"Apache Conf",import:(()=>import("../apache-MPGFGQFB.js"))},{id:"apex",name:"Apex",import:(()=>import("../apex-BOAZL66Z.js"))},{id:"apl",name:"APL",import:(()=>import("../apl-QBN4KIYA.js"))},{id:"applescript",name:"AppleScript",import:(()=>import("../applescript-C4CJ3STL.js"))},{id:"ara",name:"Ara",import:(()=>import("../ara-FSFFBRSD.js"))},{id:"asciidoc",name:"AsciiDoc",aliases:["adoc"],import:(()=>import("../asciidoc-QQK2LANG.js"))},{id:"asm",name:"Assembly",import:(()=>import("../asm-X43A2VYW.js"))},{id:"astro",name:"Astro",import:(()=>import("../astro-OQUOYMBE.js"))},{id:"awk",name:"AWK",import:(()=>import("../awk-4Z3PRTF7.js"))},{id:"ballerina",name:"Ballerina",import:(()=>import("../ballerina-JCXSJ2QD.js"))},{id:"bat",name:"Batch File",aliases:["batch"],import:(()=>import("../bat-XFWR7RMZ.js"))},{id:"beancount",name:"Beancount",import:(()=>import("../beancount-7BBDB4BH.js"))},{id:"berry",name:"Berry",aliases:["be"],import:(()=>import("../berry-PQ2BEJIZ.js"))},{id:"bibtex",name:"BibTeX",import:(()=>import("../bibtex-J2PAB23I.js"))},{id:"bicep",name:"Bicep",import:(()=>import("../bicep-TNKT6R3W.js"))},{id:"blade",name:"Blade",import:(()=>import("../blade-QBDEYXMB.js"))},{id:"bsl",name:"1C (Enterprise)",aliases:["1c"],import:(()=>import("../bsl-PQW6E45S.js"))},{id:"c",name:"C",import:(()=>import("../c-PZBJFNXE.js"))},{id:"c3",name:"C3",import:(()=>import("../c3-GP7XYHE6.js"))},{id:"cadence",name:"Cadence",aliases:["cdc"],import:(()=>import("../cadence-NABGDHKY.js"))},{id:"cairo",name:"Cairo",import:(()=>import("../cairo-WQSC2GLN.js"))},{id:"clarity",name:"Clarity",import:(()=>import("../clarity-NXNSINKX.js"))},{id:"clojure",name:"Clojure",aliases:["clj"],import:(()=>import("../clojure-Y57BKRMA.js"))},{id:"cmake",name:"CMake",import:(()=>import("../cmake-LVMEA3JZ.js"))},{id:"cobol",name:"COBOL",import:(()=>import("../cobol-6DNJTKH3.js"))},{id:"codeowners",name:"CODEOWNERS",import:(()=>import("../codeowners-JYHOTXQS.js"))},{id:"codeql",name:"CodeQL",aliases:["ql"],import:(()=>import("../codeql-IWWSYR3L.js"))},{id:"coffee",name:"CoffeeScript",aliases:["coffeescript"],import:(()=>import("../coffee-NNDQ5QXC.js"))},{id:"common-lisp",name:"Common Lisp",aliases:["lisp"],import:(()=>import("../common-lisp-JKXCDYH3.js"))},{id:"coq",name:"Coq",import:(()=>import("../coq-BEHPNP64.js"))},{id:"cpp",name:"C++",aliases:["c++"],import:(()=>import("../cpp-IALOHSZA.js"))},{id:"crystal",name:"Crystal",import:(()=>import("../crystal-ZDP3FIUI.js"))},{id:"csharp",name:"C#",aliases:["c#","cs"],import:(()=>import("../csharp-ODFBXRGA.js"))},{id:"css",name:"CSS",import:(()=>import("../css-CJGL5AVH.js"))},{id:"csv",name:"CSV",import:(()=>import("../csv-LIK4TU3Z.js"))},{id:"cue",name:"CUE",import:(()=>import("../cue-UAAEAKHI.js"))},{id:"cypher",name:"Cypher",aliases:["cql"],import:(()=>import("../cypher-SZPVUQZJ.js"))},{id:"d",name:"D",import:(()=>import("../d-VSCA3XHG.js"))},{id:"dart",name:"Dart",import:(()=>import("../dart-A4PE6FIS.js"))},{id:"dax",name:"DAX",import:(()=>import("../dax-TILIKSFB.js"))},{id:"desktop",name:"Desktop",import:(()=>import("../desktop-75KK3D55.js"))},{id:"diff",name:"Diff",import:(()=>import("../diff-HOT6P45M.js"))},{id:"docker",name:"Dockerfile",aliases:["dockerfile"],import:(()=>import("../docker-FF35TY6T.js"))},{id:"dotenv",name:"dotEnv",import:(()=>import("../dotenv-FVPPHJI3.js"))},{id:"dream-maker",name:"Dream Maker",import:(()=>import("../dream-maker-SYE3ZPSJ.js"))},{id:"edge",name:"Edge",import:(()=>import("../edge-CCLQ2CKA.js"))},{id:"elixir",name:"Elixir",import:(()=>import("../elixir-F6DQGRKA.js"))},{id:"elm",name:"Elm",import:(()=>import("../elm-5QRQXDZ6.js"))},{id:"emacs-lisp",name:"Emacs Lisp",aliases:["elisp"],import:(()=>import("../emacs-lisp-NJ4S4OHV.js"))},{id:"erb",name:"ERB",import:(()=>import("../erb-HGSLHT5Y.js"))},{id:"erlang",name:"Erlang",aliases:["erl"],import:(()=>import("../erlang-APEONNZ6.js"))},{id:"fennel",name:"Fennel",import:(()=>import("../fennel-7OCMFVPS.js"))},{id:"fish",name:"Fish",import:(()=>import("../fish-BC46ME2N.js"))},{id:"fluent",name:"Fluent",aliases:["ftl"],import:(()=>import("../fluent-MXZS6EX3.js"))},{id:"fortran-fixed-form",name:"Fortran (Fixed Form)",aliases:["f","for","f77"],import:(()=>import("../fortran-fixed-form-35BC2KX6.js"))},{id:"fortran-free-form",name:"Fortran (Free Form)",aliases:["f90","f95","f03","f08","f18"],import:(()=>import("../fortran-free-form-AXRAI2HH.js"))},{id:"fsharp",name:"F#",aliases:["f#","fs"],import:(()=>import("../fsharp-JKNSQXHD.js"))},{id:"gdresource",name:"GDResource",aliases:["tscn","tres"],import:(()=>import("../gdresource-ZMKZGPZV.js"))},{id:"gdscript",name:"GDScript",aliases:["gd"],import:(()=>import("../gdscript-HNCVXEYB.js"))},{id:"gdshader",name:"GDShader",import:(()=>import("../gdshader-XAJ4QRYP.js"))},{id:"genie",name:"Genie",import:(()=>import("../genie-HEFVQZAP.js"))},{id:"gherkin",name:"Gherkin",import:(()=>import("../gherkin-OFBRDPXX.js"))},{id:"git-commit",name:"Git Commit Message",import:(()=>import("../git-commit-ZE2M3Q5H.js"))},{id:"git-rebase",name:"Git Rebase Message",import:(()=>import("../git-rebase-3N3INGLU.js"))},{id:"gleam",name:"Gleam",import:(()=>import("../gleam-NFFQFQLP.js"))},{id:"glimmer-js",name:"Glimmer JS",aliases:["gjs"],import:(()=>import("../glimmer-js-RSUW6JYN.js"))},{id:"glimmer-ts",name:"Glimmer TS",aliases:["gts"],import:(()=>import("../glimmer-ts-EZGWLX5T.js"))},{id:"glsl",name:"GLSL",import:(()=>import("../glsl-VJLRYEVJ.js"))},{id:"gn",name:"GN",import:(()=>import("../gn-UH2XQWLG.js"))},{id:"gnuplot",name:"Gnuplot",import:(()=>import("../gnuplot-K6IV6NNR.js"))},{id:"go",name:"Go",import:(()=>import("../go-BDV7RR5G.js"))},{id:"graphql",name:"GraphQL",aliases:["gql"],import:(()=>import("../graphql-YEJQLMOO.js"))},{id:"groovy",name:"Groovy",import:(()=>import("../groovy-SX7K3XGL.js"))},{id:"hack",name:"Hack",import:(()=>import("../hack-3TGPQNR2.js"))},{id:"haml",name:"Ruby Haml",import:(()=>import("../haml-335RVEQR.js"))},{id:"handlebars",name:"Handlebars",aliases:["hbs"],import:(()=>import("../handlebars-73IS6B2J.js"))},{id:"haskell",name:"Haskell",aliases:["hs"],import:(()=>import("../haskell-P5PTJARU.js"))},{id:"haxe",name:"Haxe",import:(()=>import("../haxe-RCPSSA3N.js"))},{id:"hcl",name:"HashiCorp HCL",import:(()=>import("../hcl-AKKZAVC2.js"))},{id:"hjson",name:"Hjson",import:(()=>import("../hjson-REXV6F6N.js"))},{id:"hlsl",name:"HLSL",import:(()=>import("../hlsl-AJ7VWOVL.js"))},{id:"html",name:"HTML",import:(()=>import("../html-654LNGWF.js"))},{id:"html-derivative",name:"HTML (Derivative)",import:(()=>import("../html-derivative-CMQ7BFDQ.js"))},{id:"http",name:"HTTP",import:(()=>import("../http-NEPTRAQZ.js"))},{id:"hurl",name:"Hurl",import:(()=>import("../hurl-V6ZX2Q3F.js"))},{id:"hxml",name:"HXML",import:(()=>import("../hxml-5BXJCAAU.js"))},{id:"hy",name:"Hy",import:(()=>import("../hy-SB4TMFE7.js"))},{id:"imba",name:"Imba",import:(()=>import("../imba-Y64MHYWP.js"))},{id:"ini",name:"INI",aliases:["properties"],import:(()=>import("../ini-J2OP4CNW.js"))},{id:"java",name:"Java",import:(()=>import("../java-MJKJ5GPP.js"))},{id:"javascript",name:"JavaScript",aliases:["js","cjs","mjs"],import:(()=>import("../javascript-IYAGHPR6.js"))},{id:"jinja",name:"Jinja",import:(()=>import("../jinja-WPD26JJ6.js"))},{id:"jison",name:"Jison",import:(()=>import("../jison-UYDZQBN5.js"))},{id:"json",name:"JSON",import:(()=>import("../json-5V4JESJO.js"))},{id:"json5",name:"JSON5",import:(()=>import("../json5-7SHUZD3R.js"))},{id:"jsonc",name:"JSON with Comments",import:(()=>import("../jsonc-X3Z34FN3.js"))},{id:"jsonl",name:"JSON Lines",import:(()=>import("../jsonl-6I3D2HM6.js"))},{id:"jsonnet",name:"Jsonnet",import:(()=>import("../jsonnet-PZEQIBYV.js"))},{id:"jssm",name:"JSSM",aliases:["fsl"],import:(()=>import("../jssm-GJJ25IKR.js"))},{id:"jsx",name:"JSX",import:(()=>import("../jsx-NI2J427C.js"))},{id:"julia",name:"Julia",aliases:["jl"],import:(()=>import("../julia-QPZ7EOS6.js"))},{id:"kdl",name:"KDL",import:(()=>import("../kdl-IA7HA2TL.js"))},{id:"kotlin",name:"Kotlin",aliases:["kt","kts"],import:(()=>import("../kotlin-CCRMGYMI.js"))},{id:"kusto",name:"Kusto",aliases:["kql"],import:(()=>import("../kusto-7DW25GYH.js"))},{id:"latex",name:"LaTeX",import:(()=>import("../latex-F2CTDTFG.js"))},{id:"lean",name:"Lean 4",aliases:["lean4"],import:(()=>import("../lean-MGJJWBTR.js"))},{id:"less",name:"Less",import:(()=>import("../less-WFSIMX5G.js"))},{id:"liquid",name:"Liquid",import:(()=>import("../liquid-7CFNUD3V.js"))},{id:"llvm",name:"LLVM IR",import:(()=>import("../llvm-CFQSEDXB.js"))},{id:"log",name:"Log file",import:(()=>import("../log-YQNML6LA.js"))},{id:"logo",name:"Logo",import:(()=>import("../logo-2PPKBL2M.js"))},{id:"lua",name:"Lua",import:(()=>import("../lua-RPAMRKNG.js"))},{id:"luau",name:"Luau",import:(()=>import("../luau-GR2DOH6N.js"))},{id:"make",name:"Makefile",aliases:["makefile"],import:(()=>import("../make-DQQEEPI4.js"))},{id:"markdown",name:"Markdown",aliases:["md"],import:(()=>import("../markdown-OC5ILZSY.js"))},{id:"marko",name:"Marko",import:(()=>import("../marko-XSB3CTWQ.js"))},{id:"matlab",name:"MATLAB",import:(()=>import("../matlab-YQY6FS4U.js"))},{id:"mdc",name:"MDC",import:(()=>import("../mdc-TEVTGSC7.js"))},{id:"mdx",name:"MDX",import:(()=>import("../mdx-ZIH2JLVR.js"))},{id:"mermaid",name:"Mermaid",aliases:["mmd"],import:(()=>import("../mermaid-WPX56SBB.js"))},{id:"mipsasm",name:"MIPS Assembly",aliases:["mips"],import:(()=>import("../mipsasm-IDXQRZ2B.js"))},{id:"mojo",name:"Mojo",import:(()=>import("../mojo-MH7EQVOK.js"))},{id:"moonbit",name:"MoonBit",aliases:["mbt","mbti"],import:(()=>import("../moonbit-5JDFTWKE.js"))},{id:"move",name:"Move",import:(()=>import("../move-RWSXKYDY.js"))},{id:"narrat",name:"Narrat Language",aliases:["nar"],import:(()=>import("../narrat-QJUEXMVV.js"))},{id:"nextflow",name:"Nextflow",aliases:["nf"],import:(()=>import("../nextflow-2EICNZA3.js"))},{id:"nginx",name:"Nginx",import:(()=>import("../nginx-RIWAEC5Z.js"))},{id:"nim",name:"Nim",import:(()=>import("../nim-JPSYX5KC.js"))},{id:"nix",name:"Nix",import:(()=>import("../nix-XCKQVWCN.js"))},{id:"nushell",name:"nushell",aliases:["nu"],import:(()=>import("../nushell-QGW7HANA.js"))},{id:"objective-c",name:"Objective-C",aliases:["objc"],import:(()=>import("../objective-c-V7KYXFHL.js"))},{id:"objective-cpp",name:"Objective-C++",import:(()=>import("../objective-cpp-NKUEWVGU.js"))},{id:"ocaml",name:"OCaml",import:(()=>import("../ocaml-QT2CZJZN.js"))},{id:"odin",name:"Odin",import:(()=>import("../odin-MVMIXBHP.js"))},{id:"openscad",name:"OpenSCAD",aliases:["scad"],import:(()=>import("../openscad-BJDUXUUZ.js"))},{id:"pascal",name:"Pascal",import:(()=>import("../pascal-HGWEFD6L.js"))},{id:"perl",name:"Perl",import:(()=>import("../perl-X4IFZB22.js"))},{id:"php",name:"PHP",import:(()=>import("../php-3V7EPUAN.js"))},{id:"pkl",name:"Pkl",import:(()=>import("../pkl-VA5ZK5DW.js"))},{id:"plsql",name:"PL/SQL",import:(()=>import("../plsql-J7A7YWFH.js"))},{id:"po",name:"Gettext PO",aliases:["pot","potx"],import:(()=>import("../po-5RDI65JX.js"))},{id:"polar",name:"Polar",import:(()=>import("../polar-VUJL2E7F.js"))},{id:"postcss",name:"PostCSS",import:(()=>import("../postcss-ESTB5G7N.js"))},{id:"powerquery",name:"PowerQuery",import:(()=>import("../powerquery-ODTEKQCW.js"))},{id:"powershell",name:"PowerShell",aliases:["ps","ps1"],import:(()=>import("../powershell-ZOYRAWBJ.js"))},{id:"prisma",name:"Prisma",import:(()=>import("../prisma-QHG2W5GE.js"))},{id:"prolog",name:"Prolog",import:(()=>import("../prolog-CSAPG5PH.js"))},{id:"proto",name:"Protocol Buffer 3",aliases:["protobuf"],import:(()=>import("../proto-WDNJBTSW.js"))},{id:"pug",name:"Pug",aliases:["jade"],import:(()=>import("../pug-P7LS6DER.js"))},{id:"puppet",name:"Puppet",import:(()=>import("../puppet-LHFWHTY3.js"))},{id:"purescript",name:"PureScript",import:(()=>import("../purescript-DUFJP4FY.js"))},{id:"python",name:"Python",aliases:["py"],import:(()=>import("../python-5ZNZSNQ2.js"))},{id:"qml",name:"QML",import:(()=>import("../qml-LTAXB6W5.js"))},{id:"qmldir",name:"QML Directory",import:(()=>import("../qmldir-7Z2ODQLM.js"))},{id:"qss",name:"Qt Style Sheets",import:(()=>import("../qss-FDFD3HQD.js"))},{id:"r",name:"R",import:(()=>import("../r-6ZOS53WN.js"))},{id:"racket",name:"Racket",import:(()=>import("../racket-7AYZPEUI.js"))},{id:"raku",name:"Raku",aliases:["perl6"],import:(()=>import("../raku-A4F6VHVG.js"))},{id:"razor",name:"ASP.NET Razor",import:(()=>import("../razor-4QOCK4UD.js"))},{id:"reg",name:"Windows Registry Script",import:(()=>import("../reg-FAPHGG66.js"))},{id:"regexp",name:"RegExp",aliases:["regex"],import:(()=>import("../regexp-5BYLYA2R.js"))},{id:"rel",name:"Rel",import:(()=>import("../rel-7DJ7HHU4.js"))},{id:"riscv",name:"RISC-V",import:(()=>import("../riscv-YIYJATFG.js"))},{id:"ron",name:"RON",import:(()=>import("../ron-HYYMCHTX.js"))},{id:"rosmsg",name:"ROS Interface",import:(()=>import("../rosmsg-FDNH6QF7.js"))},{id:"rst",name:"reStructuredText",import:(()=>import("../rst-WIWCR2KQ.js"))},{id:"ruby",name:"Ruby",aliases:["rb"],import:(()=>import("../ruby-LXZJUMFB.js"))},{id:"rust",name:"Rust",aliases:["rs"],import:(()=>import("../rust-V3GMJA2K.js"))},{id:"sas",name:"SAS",import:(()=>import("../sas-D3G4GB3X.js"))},{id:"sass",name:"Sass",import:(()=>import("../sass-JTO65AGR.js"))},{id:"scala",name:"Scala",import:(()=>import("../scala-4XQGFSVM.js"))},{id:"scheme",name:"Scheme",import:(()=>import("../scheme-CB7AC7IL.js"))},{id:"scss",name:"SCSS",import:(()=>import("../scss-6SKV4OGI.js"))},{id:"sdbl",name:"1C (Query)",aliases:["1c-query"],import:(()=>import("../sdbl-LKGZFJ46.js"))},{id:"shaderlab",name:"ShaderLab",aliases:["shader"],import:(()=>import("../shaderlab-K536DHEB.js"))},{id:"shellscript",name:"Shell",aliases:["bash","sh","shell","zsh"],import:(()=>import("../shellscript-LRNUKUSZ.js"))},{id:"shellsession",name:"Shell Session",aliases:["console"],import:(()=>import("../shellsession-IBQK7VWQ.js"))},{id:"smalltalk",name:"Smalltalk",import:(()=>import("../smalltalk-DQOSWAW7.js"))},{id:"solidity",name:"Solidity",import:(()=>import("../solidity-V2FMZEG4.js"))},{id:"soy",name:"Closure Templates",aliases:["closure-templates"],import:(()=>import("../soy-VW3CKXWF.js"))},{id:"sparql",name:"SPARQL",import:(()=>import("../sparql-L2VKP7YP.js"))},{id:"splunk",name:"Splunk Query Language",aliases:["spl"],import:(()=>import("../splunk-KDKHP7GC.js"))},{id:"sql",name:"SQL",import:(()=>import("../sql-UF27CALT.js"))},{id:"ssh-config",name:"SSH Config",import:(()=>import("../ssh-config-JC2DQ6ED.js"))},{id:"stata",name:"Stata",import:(()=>import("../stata-7PXCUY24.js"))},{id:"stylus",name:"Stylus",aliases:["styl"],import:(()=>import("../stylus-2L7N3EZD.js"))},{id:"surrealql",name:"SurrealQL",aliases:["surql"],import:(()=>import("../surrealql-ZY3E6XEL.js"))},{id:"svelte",name:"Svelte",import:(()=>import("../svelte-Q45XIK2A.js"))},{id:"swift",name:"Swift",import:(()=>import("../swift-XBH5HZSC.js"))},{id:"system-verilog",name:"SystemVerilog",import:(()=>import("../system-verilog-VRAUSZY3.js"))},{id:"systemd",name:"Systemd Units",import:(()=>import("../systemd-JOTSGJD4.js"))},{id:"talonscript",name:"TalonScript",aliases:["talon"],import:(()=>import("../talonscript-NNZRZKOU.js"))},{id:"tasl",name:"Tasl",import:(()=>import("../tasl-MBFZ4QNC.js"))},{id:"tcl",name:"Tcl",import:(()=>import("../tcl-4GEDCBVE.js"))},{id:"templ",name:"Templ",import:(()=>import("../templ-3XM7DLQ3.js"))},{id:"terraform",name:"Terraform",aliases:["tf","tfvars"],import:(()=>import("../terraform-XTHOS4UK.js"))},{id:"tex",name:"TeX",import:(()=>import("../tex-UXMN2CV7.js"))},{id:"toml",name:"TOML",import:(()=>import("../toml-J6K55ZSV.js"))},{id:"ts-tags",name:"TypeScript with Tags",aliases:["lit"],import:(()=>import("../ts-tags-7WGDLEKX.js"))},{id:"tsv",name:"TSV",import:(()=>import("../tsv-DOUJHQDQ.js"))},{id:"tsx",name:"TSX",import:(()=>import("../tsx-G5BMVRHK.js"))},{id:"turtle",name:"Turtle",import:(()=>import("../turtle-JHJ7W6U5.js"))},{id:"twig",name:"Twig",import:(()=>import("../twig-C6YWFFZU.js"))},{id:"typescript",name:"TypeScript",aliases:["ts","cts","mts"],import:(()=>import("../typescript-LMKEAHFC.js"))},{id:"typespec",name:"TypeSpec",aliases:["tsp"],import:(()=>import("../typespec-5CLTIJYY.js"))},{id:"typst",name:"Typst",aliases:["typ"],import:(()=>import("../typst-4W4Z436Z.js"))},{id:"v",name:"V",import:(()=>import("../v-Y4SBDBN7.js"))},{id:"vala",name:"Vala",import:(()=>import("../vala-UMKT2MFA.js"))},{id:"vb",name:"Visual Basic",aliases:["cmd"],import:(()=>import("../vb-DQ7A5WJU.js"))},{id:"verilog",name:"Verilog",import:(()=>import("../verilog-N6ZF7GQD.js"))},{id:"vhdl",name:"VHDL",import:(()=>import("../vhdl-BNYDT37G.js"))},{id:"viml",name:"Vim Script",aliases:["vim","vimscript"],import:(()=>import("../viml-37RMDCBC.js"))},{id:"vue",name:"Vue",import:(()=>import("../vue-O6SLORWU.js"))},{id:"vue-html",name:"Vue HTML",import:(()=>import("../vue-html-ZLTZN573.js"))},{id:"vue-vine",name:"Vue Vine",import:(()=>import("../vue-vine-6JKAZ54I.js"))},{id:"vyper",name:"Vyper",aliases:["vy"],import:(()=>import("../vyper-GVXF46KD.js"))},{id:"wasm",name:"WebAssembly",import:(()=>import("../wasm-NTB4O7GL.js"))},{id:"wenyan",name:"Wenyan",aliases:["\u6587\u8A00"],import:(()=>import("../wenyan-W7WB3BC7.js"))},{id:"wgsl",name:"WGSL",import:(()=>import("../wgsl-7GTDVXHG.js"))},{id:"wikitext",name:"Wikitext",aliases:["mediawiki","wiki"],import:(()=>import("../wikitext-ASAFPAIL.js"))},{id:"wit",name:"WebAssembly Interface Types",import:(()=>import("../wit-ZBCR6544.js"))},{id:"wolfram",name:"Wolfram",aliases:["wl"],import:(()=>import("../wolfram-SZRZOETJ.js"))},{id:"xml",name:"XML",import:(()=>import("../xml-EBTJCOTU.js"))},{id:"xsl",name:"XSL",import:(()=>import("../xsl-IBYEXWDX.js"))},{id:"yaml",name:"YAML",aliases:["yml"],import:(()=>import("../yaml-GMVQNECR.js"))},{id:"zenscript",name:"ZenScript",import:(()=>import("../zenscript-O2TZFP4A.js"))},{id:"zig",name:"Zig",import:(()=>import("../zig-ZLGM7IMN.js"))}],yn=Object.fromEntries(Go.map(e=>[e.id,e.import])),kn=Object.fromEntries(Go.flatMap(e=>e.aliases?.map(t=>[t,e.import])||[])),_t={...yn,...kn};var ef=[{id:"andromeeda",displayName:"Andromeeda",type:"dark",import:(()=>import("../andromeeda-HAPOYWX3.js"))},{id:"aurora-x",displayName:"Aurora X",type:"dark",import:(()=>import("../aurora-x-R6WAWEBC.js"))},{id:"ayu-dark",displayName:"Ayu Dark",type:"dark",import:(()=>import("../ayu-dark-KMD4YO7F.js"))},{id:"ayu-light",displayName:"Ayu Light",type:"light",import:(()=>import("../ayu-light-2ATPDILG.js"))},{id:"ayu-mirage",displayName:"Ayu Mirage",type:"dark",import:(()=>import("../ayu-mirage-LJ7PG5AM.js"))},{id:"catppuccin-frappe",displayName:"Catppuccin Frapp\xE9",type:"dark",import:(()=>import("../catppuccin-frappe-Z4Y2POK6.js"))},{id:"catppuccin-latte",displayName:"Catppuccin Latte",type:"light",import:(()=>import("../catppuccin-latte-4TQUIKX4.js"))},{id:"catppuccin-macchiato",displayName:"Catppuccin Macchiato",type:"dark",import:(()=>import("../catppuccin-macchiato-B7YYPERT.js"))},{id:"catppuccin-mocha",displayName:"Catppuccin Mocha",type:"dark",import:(()=>import("../catppuccin-mocha-KX33VXKA.js"))},{id:"dark-plus",displayName:"Dark Plus",type:"dark",import:(()=>import("../dark-plus-LNHXUR7U.js"))},{id:"dracula",displayName:"Dracula Theme",type:"dark",import:(()=>import("../dracula-T2CMBBQ5.js"))},{id:"dracula-soft",displayName:"Dracula Theme Soft",type:"dark",import:(()=>import("../dracula-soft-SMFRNKX2.js"))},{id:"everforest-dark",displayName:"Everforest Dark",type:"dark",import:(()=>import("../everforest-dark-DBZHIUAO.js"))},{id:"everforest-light",displayName:"Everforest Light",type:"light",import:(()=>import("../everforest-light-TDAGYJUK.js"))},{id:"github-dark",displayName:"GitHub Dark",type:"dark",import:(()=>import("../github-dark-3E25TTAN.js"))},{id:"github-dark-default",displayName:"GitHub Dark Default",type:"dark",import:(()=>import("../github-dark-default-KCBFVSS5.js"))},{id:"github-dark-dimmed",displayName:"GitHub Dark Dimmed",type:"dark",import:(()=>import("../github-dark-dimmed-WRCBXEVS.js"))},{id:"github-dark-high-contrast",displayName:"GitHub Dark High Contrast",type:"dark",import:(()=>import("../github-dark-high-contrast-ET7SAHAV.js"))},{id:"github-light",displayName:"GitHub Light",type:"light",import:(()=>import("../github-light-6FNTZH5H.js"))},{id:"github-light-default",displayName:"GitHub Light Default",type:"light",import:(()=>import("../github-light-default-GGTAKNM7.js"))},{id:"github-light-high-contrast",displayName:"GitHub Light High Contrast",type:"light",import:(()=>import("../github-light-high-contrast-LHYKPR5E.js"))},{id:"gruvbox-dark-hard",displayName:"Gruvbox Dark Hard",type:"dark",import:(()=>import("../gruvbox-dark-hard-IQWZCHF7.js"))},{id:"gruvbox-dark-medium",displayName:"Gruvbox Dark Medium",type:"dark",import:(()=>import("../gruvbox-dark-medium-ARPWF4FS.js"))},{id:"gruvbox-dark-soft",displayName:"Gruvbox Dark Soft",type:"dark",import:(()=>import("../gruvbox-dark-soft-ODS6FPID.js"))},{id:"gruvbox-light-hard",displayName:"Gruvbox Light Hard",type:"light",import:(()=>import("../gruvbox-light-hard-KFA5YFDW.js"))},{id:"gruvbox-light-medium",displayName:"Gruvbox Light Medium",type:"light",import:(()=>import("../gruvbox-light-medium-MMET4L3Y.js"))},{id:"gruvbox-light-soft",displayName:"Gruvbox Light Soft",type:"light",import:(()=>import("../gruvbox-light-soft-DBZDERMK.js"))},{id:"horizon",displayName:"Horizon",type:"dark",import:(()=>import("../horizon-FSOMPXNP.js"))},{id:"houston",displayName:"Houston",type:"dark",import:(()=>import("../houston-FAQBCORN.js"))},{id:"kanagawa-dragon",displayName:"Kanagawa Dragon",type:"dark",import:(()=>import("../kanagawa-dragon-JNDVF5RJ.js"))},{id:"kanagawa-lotus",displayName:"Kanagawa Lotus",type:"light",import:(()=>import("../kanagawa-lotus-S7JK6TQ6.js"))},{id:"kanagawa-wave",displayName:"Kanagawa Wave",type:"dark",import:(()=>import("../kanagawa-wave-QJJIMVEV.js"))},{id:"laserwave",displayName:"LaserWave",type:"dark",import:(()=>import("../laserwave-YFP3EJVX.js"))},{id:"light-plus",displayName:"Light Plus",type:"light",import:(()=>import("../light-plus-NGDHCPUZ.js"))},{id:"material-theme",displayName:"Material Theme",type:"dark",import:(()=>import("../material-theme-H2BHKUKX.js"))},{id:"material-theme-darker",displayName:"Material Theme Darker",type:"dark",import:(()=>import("../material-theme-darker-VENCGWTB.js"))},{id:"material-theme-lighter",displayName:"Material Theme Lighter",type:"light",import:(()=>import("../material-theme-lighter-SDMLS22W.js"))},{id:"material-theme-ocean",displayName:"Material Theme Ocean",type:"dark",import:(()=>import("../material-theme-ocean-UHDBRLVF.js"))},{id:"material-theme-palenight",displayName:"Material Theme Palenight",type:"dark",import:(()=>import("../material-theme-palenight-3TB2BEET.js"))},{id:"min-dark",displayName:"Min Dark",type:"dark",import:(()=>import("../min-dark-CQ5WKNT7.js"))},{id:"min-light",displayName:"Min Light",type:"light",import:(()=>import("../min-light-LZRD4NPR.js"))},{id:"monokai",displayName:"Monokai",type:"dark",import:(()=>import("../monokai-WHRY6275.js"))},{id:"night-owl",displayName:"Night Owl",type:"dark",import:(()=>import("../night-owl-7PNEW2JB.js"))},{id:"night-owl-light",displayName:"Night Owl Light",type:"light",import:(()=>import("../night-owl-light-GJUYOOJR.js"))},{id:"nord",displayName:"Nord",type:"dark",import:(()=>import("../nord-EVGUMUX2.js"))},{id:"one-dark-pro",displayName:"One Dark Pro",type:"dark",import:(()=>import("../one-dark-pro-PMTR3SA7.js"))},{id:"one-light",displayName:"One Light",type:"light",import:(()=>import("../one-light-O7WH4N5X.js"))},{id:"plastic",displayName:"Plastic",type:"dark",import:(()=>import("../plastic-FBVUW6NJ.js"))},{id:"poimandres",displayName:"Poimandres",type:"dark",import:(()=>import("../poimandres-WBB7GZAD.js"))},{id:"red",displayName:"Red",type:"dark",import:(()=>import("../red-7KAMONOP.js"))},{id:"rose-pine",displayName:"Ros\xE9 Pine",type:"dark",import:(()=>import("../rose-pine-F2G5IHZD.js"))},{id:"rose-pine-dawn",displayName:"Ros\xE9 Pine Dawn",type:"light",import:(()=>import("../rose-pine-dawn-ALZ7XGH2.js"))},{id:"rose-pine-moon",displayName:"Ros\xE9 Pine Moon",type:"dark",import:(()=>import("../rose-pine-moon-D3K4SWUL.js"))},{id:"slack-dark",displayName:"Slack Dark",type:"dark",import:(()=>import("../slack-dark-YFPJODWS.js"))},{id:"slack-ochin",displayName:"Slack Ochin",type:"light",import:(()=>import("../slack-ochin-H67AWZOI.js"))},{id:"snazzy-light",displayName:"Snazzy Light",type:"light",import:(()=>import("../snazzy-light-OUVS63VK.js"))},{id:"solarized-dark",displayName:"Solarized Dark",type:"dark",import:(()=>import("../solarized-dark-2RCAVEXJ.js"))},{id:"solarized-light",displayName:"Solarized Light",type:"light",import:(()=>import("../solarized-light-XFSENHTC.js"))},{id:"synthwave-84",displayName:"Synthwave '84",type:"dark",import:(()=>import("../synthwave-84-5XXB3K6S.js"))},{id:"tokyo-night",displayName:"Tokyo Night",type:"dark",import:(()=>import("../tokyo-night-CHJCCBJH.js"))},{id:"vesper",displayName:"Vesper",type:"dark",import:(()=>import("../vesper-Y5GIEAN4.js"))},{id:"vitesse-black",displayName:"Vitesse Black",type:"dark",import:(()=>import("../vitesse-black-7TI33KHX.js"))},{id:"vitesse-dark",displayName:"Vitesse Dark",type:"dark",import:(()=>import("../vitesse-dark-FOB25MRB.js"))},{id:"vitesse-light",displayName:"Vitesse Light",type:"light",import:(()=>import("../vitesse-light-4WCNCTCO.js"))}],bn=Object.fromEntries(ef.map(e=>[e.id,e.import]));var Nt=class extends Error{constructor(t){super(t),this.name="ShikiError"}};function tf(){return 2147483648}function af(){return typeof performance<"u"?performance.now():Date.now()}var of=(e,t)=>e+(t-e%t)%t;async function rf(e){let t,a,o={};function r(p){a=p,o.HEAPU8=new Uint8Array(p),o.HEAPU32=new Uint32Array(p)}function s(p,m,I){o.HEAPU8.copyWithin(p,m,m+I)}function n(p){try{return t.grow(p-a.byteLength+65535>>>16),r(t.buffer),1}catch{}}function i(p){let m=o.HEAPU8.length;p=p>>>0;let I=tf();if(p>I)return!1;for(let C=1;C<=4;C*=2){let x=m*(1+.2/C);x=Math.min(x,p+100663296);let g=Math.min(I,of(Math.max(p,x),65536));if(n(g))return!0}return!1}let l=typeof TextDecoder<"u"?new TextDecoder("utf8"):void 0;function u(p,m,I=1024){let C=m+I,x=m;for(;p[x]&&!(x>=C);)++x;if(x-m>16&&p.buffer&&l)return l.decode(p.subarray(m,x));let g="";for(;m<x;){let h=p[m++];if(!(h&128)){g+=String.fromCharCode(h);continue}let L=p[m++]&63;if((h&224)===192){g+=String.fromCharCode((h&31)<<6|L);continue}let w=p[m++]&63;if((h&240)===224?h=(h&15)<<12|L<<6|w:h=(h&7)<<18|L<<12|w<<6|p[m++]&63,h<65536)g+=String.fromCharCode(h);else{let b=h-65536;g+=String.fromCharCode(55296|b>>10,56320|b&1023)}}return g}function f(p,m){return p?u(o.HEAPU8,p,m):""}let d={emscripten_get_now:af,emscripten_memcpy_big:s,emscripten_resize_heap:i,fd_write:()=>0};async function c(){let m=await e({env:d,wasi_snapshot_preview1:d});t=m.memory,r(t.buffer),Object.assign(o,m),o.UTF8ToString=f}return await c(),o}var sf=Object.defineProperty,nf=(e,t,a)=>t in e?sf(e,t,{enumerable:!0,configurable:!0,writable:!0,value:a}):e[t]=a,ne=(e,t,a)=>nf(e,typeof t!="symbol"?t+"":t,a),ie=null;function lf(e){throw new Nt(e.UTF8ToString(e.getLastOnigError()))}var Ma=class e{constructor(t){ne(this,"utf16Length"),ne(this,"utf8Length"),ne(this,"utf16Value"),ne(this,"utf8Value"),ne(this,"utf16OffsetToUtf8"),ne(this,"utf8OffsetToUtf16");let a=t.length,o=e._utf8ByteLength(t),r=o!==a,s=r?new Uint32Array(a+1):null;r&&(s[a]=o);let n=r?new Uint32Array(o+1):null;r&&(n[o]=a);let i=new Uint8Array(o),l=0;for(let u=0;u<a;u++){let f=t.charCodeAt(u),d=f,c=!1;if(f>=55296&&f<=56319&&u+1<a){let p=t.charCodeAt(u+1);p>=56320&&p<=57343&&(d=(f-55296<<10)+65536|p-56320,c=!0)}r&&(s[u]=l,c&&(s[u+1]=l),d<=127?n[l+0]=u:d<=2047?(n[l+0]=u,n[l+1]=u):d<=65535?(n[l+0]=u,n[l+1]=u,n[l+2]=u):(n[l+0]=u,n[l+1]=u,n[l+2]=u,n[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),c&&u++}this.utf16Length=a,this.utf8Length=o,this.utf16Value=t,this.utf8Value=i,this.utf16OffsetToUtf8=s,this.utf8OffsetToUtf16=n}static _utf8ByteLength(t){let a=0;for(let o=0,r=t.length;o<r;o++){let s=t.charCodeAt(o),n=s,i=!1;if(s>=55296&&s<=56319&&o+1<r){let l=t.charCodeAt(o+1);l>=56320&&l<=57343&&(n=(s-55296<<10)+65536|l-56320,i=!0)}n<=127?a+=1:n<=2047?a+=2:n<=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}},Ra=class Re{constructor(t){if(ne(this,"id",++Re.LAST_ID),ne(this,"_onigBinding"),ne(this,"content"),ne(this,"utf16Length"),ne(this,"utf8Length"),ne(this,"utf16OffsetToUtf8"),ne(this,"utf8OffsetToUtf16"),ne(this,"ptr"),!ie)throw new Nt("Must invoke loadWasm first.");this._onigBinding=ie,this.content=t;let a=new Ma(t);this.utf16Length=a.utf16Length,this.utf8Length=a.utf8Length,this.utf16OffsetToUtf8=a.utf16OffsetToUtf8,this.utf8OffsetToUtf16=a.utf8OffsetToUtf16,this.utf8Length<1e4&&!Re._sharedPtrInUse?(Re._sharedPtr||(Re._sharedPtr=ie.omalloc(1e4)),Re._sharedPtrInUse=!0,ie.HEAPU8.set(a.utf8Value,Re._sharedPtr),this.ptr=Re._sharedPtr):this.ptr=a.createString(ie)}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===Re._sharedPtr?Re._sharedPtrInUse=!1:this._onigBinding.ofree(this.ptr)}};ne(Ra,"LAST_ID",0);ne(Ra,"_sharedPtr",0);ne(Ra,"_sharedPtrInUse",!1);var Tn=Ra,zo=class{constructor(t){if(ne(this,"_onigBinding"),ne(this,"_ptr"),!ie)throw new Nt("Must invoke loadWasm first.");let a=[],o=[];for(let i=0,l=t.length;i<l;i++){let u=new Ma(t[i]);a[i]=u.createString(ie),o[i]=u.utf8Length}let r=ie.omalloc(4*t.length);ie.HEAPU32.set(a,r/4);let s=ie.omalloc(4*t.length);ie.HEAPU32.set(o,s/4);let n=ie.createOnigScanner(r,s,t.length);for(let i=0,l=t.length;i<l;i++)ie.ofree(a[i]);ie.ofree(s),ie.ofree(r),n===0&&lf(ie),this._onigBinding=ie,this._ptr=n}dispose(){this._onigBinding.freeOnigScanner(this._ptr)}findNextMatchSync(t,a,o){let r=0;if(typeof o=="number"&&(r=o),typeof t=="string"){t=new Tn(t);let s=this._findNextMatchSync(t,a,!1,r);return t.dispose(),s}return this._findNextMatchSync(t,a,!1,r)}_findNextMatchSync(t,a,o,r){let s=this._onigBinding,n=s.findNextOnigScannerMatch(this._ptr,t.id,t.ptr,t.utf8Length,t.convertUtf16OffsetToUtf8(a),r);if(n===0)return null;let i=s.HEAPU32,l=n/4,u=i[l++],f=i[l++],d=[];for(let c=0;c<f;c++){let p=t.convertUtf8OffsetToUtf16(i[l++]),m=t.convertUtf8OffsetToUtf16(i[l++]);d[c]={start:p,end:m,length:m-p}}return{index:u,captureIndices:d}}};function uf(e){return typeof e.instantiator=="function"}function df(e){return typeof e.default=="function"}function ff(e){return typeof e.data<"u"}function cf(e){return typeof Response<"u"&&e instanceof Response}function pf(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 va;function mf(e){if(va)return va;async function t(){ie=await rf(async a=>{let o=e;return o=await o,typeof o=="function"&&(o=await o(a)),typeof o=="function"&&(o=await o(a)),uf(o)?o=await o.instantiator(a):df(o)?o=await o.default(a):(ff(o)&&(o=o.data),cf(o)?typeof WebAssembly.instantiateStreaming=="function"?o=await hf(o)(a):o=await gf(o)(a):pf(o)?o=await Wo(o)(a):o instanceof WebAssembly.Module?o=await Wo(o)(a):"default"in o&&o.default instanceof WebAssembly.Module&&(o=await Wo(o.default)(a))),"instance"in o&&(o=o.instance),"exports"in o&&(o=o.exports),o})}return va=t(),va}function Wo(e){return t=>WebAssembly.instantiate(e,t)}function hf(e){return t=>WebAssembly.instantiateStreaming(e,t)}function gf(e){return async t=>{let a=await e.arrayBuffer();return WebAssembly.instantiate(a,t)}}async function Pn(e){return e&&await mf(e),{createScanner(t){return new zo(t.map(a=>typeof a=="string"?a:a.source))},createString(t){return new Tn(t)}}}var Fa=In({langs:_t,themes:bn,engine:()=>Pn(import("../wasm-EOPKAILK.js"))}),{codeToHtml:wf,codeToHast:xf,codeToTokens:Lf,codeToTokensBase:Cf,codeToTokensWithThemes:If,getSingletonHighlighter:Sf,getLastGrammarState:yf}=Sn(Fa,{guessEmbeddedLanguages:mn});var An=new Set(Object.keys(_t)),jo=new Map,Vo=new Map,dt=new Map,kf=(e,t)=>`${e}-${t[0]}-${t[1]}`,bf=(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}`},Tf=(e,t)=>{let a=kf(e,t);if(jo.has(a))return jo.get(a);let o=Fa({themes:t,langs:[e]});return jo.set(a,o),o};function Pf(e={}){var t;let a=(t=e.themes)!=null?t:["github-light","github-dark"];return{name:"shiki",type:"code-highlighter",supportsLanguage(o){return An.has(o)},getSupportedLanguages(){return Array.from(An)},getThemes(){return a},highlight({code:o,language:r,themes:s},n){let i=bf(o,r,s);return Vo.has(i)?Vo.get(i):(n&&(dt.has(i)||dt.set(i,new Set),dt.get(i).add(n)),Tf(r,s).then(l=>{let u=l.getLoadedLanguages().includes(r)?r:"text",f=l.codeToTokens(o,{lang:u,themes:{light:s[0],dark:s[1]}});Vo.set(i,f);let d=dt.get(i);if(d){for(let c of d)c(f);dt.delete(i)}}).catch(l=>{console.error("[Streamdown Code] Failed to highlight code:",l),dt.delete(i)}),null)}}}var vn=Pf();import{memo as Af}from"react";import{jsx as Ba}from"react/jsx-runtime";var Da=({className:e,from:t,children:a,...o})=>Ba("div",{className:T("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:Ba("div",{className:T("ww:flex ww:min-w-0 ww:flex-col ww:gap-2","ww:w-full"),children:a})}),Ea=({children:e,className:t,...a})=>Ba("div",{className:T("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}),vf={cjk:fs,code:vn},_a=Af(({className:e,...t})=>Ba(ro,{className:T("ww:size-full ww:[&>*:first-child]:mt-0 ww:[&>*:last-child]:mb-0",e),plugins:vf,...t}),(e,t)=>e.children===t.children);_a.displayName="MessageResponse";import{jsx as Mf}from"react/jsx-runtime";function Mn({className:e,text:t,...a}){return t?Mf("pre",{className:T("ww:mb-2 ww:overflow-x-auto ww:whitespace-pre-wrap ww:break-words ww:text-xs ww:font-mono ww:text-muted-foreground",e),...a,children:t}):null}import{createContext as Rf,useCallback as Ff,useContext as Dn,useEffect as Bf,useMemo as Xo,useRef as Df,useState as Qo}from"react";import{Fragment as Bn,jsx as z,jsxs as Ee}from"react/jsx-runtime";function Ef(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=[],s=t-2;for(let[n,i]of o){if(s<=8)break;let l=n.length>4?`${n.slice(0,4)}\u2026`:n,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 f=`${l}\u2009${u}`;r.push(f),s-=f.length+3}return`{${r.join(", ")}}`}function _f({text:e,className:t}){let[a,o]=Qo(!1),r=Df(null);Bf(()=>()=>{r.current&&clearTimeout(r.current)},[]);let s=Ff(async n=>{n.stopPropagation();try{await navigator.clipboard.writeText(e),o(!0),r.current&&clearTimeout(r.current),r.current=setTimeout(()=>o(!1),2e3)}catch{}},[e]);return z(ke,{variant:"ghost",size:"sm",onClick:s,className:T("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:a?Ee(Bn,{children:[z(mt,{className:"ww:size-3.5"}),z("span",{children:"Copied"})]}):Ee(Bn,{children:[z(wt,{className:"ww:size-3.5"}),z("span",{children:"Copy"})]})})}function En({data:e,label:t,className:a,...o}){let[r,s]=Qo(!1),n=Xo(()=>JSON.stringify(e,null,2),[e]),i=Ef(e);return Ee("div",{className:T("ww:rounded-lg ww:bg-tool-card",a),...o,children:[Ee("div",{className:"ww:flex ww:items-center ww:justify-between ww:px-3 ww:pt-2.5 ww:pb-1.5",children:[z("span",{className:"ww:text-xs ww:font-medium ww:text-muted-foreground",children:t}),z(_f,{text:n})]}),Ee("button",{type:"button",onClick:()=>s(l=>!l),className:"ww:flex ww:w-full ww:items-start ww:gap-2 ww:px-3 ww:pb-3 ww:text-left",children:[z(gt,{className:T("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?z("pre",{className:"ww:overflow-x-auto ww:text-xs ww:font-mono ww:text-foreground ww:whitespace-pre-wrap ww:break-all",children:z("code",{children:n})}):z("span",{className:"ww:truncate ww:text-xs ww:font-mono ww:text-foreground/80",children:i})]})]})}var Ko=Rf({open:!1,toggle:()=>{}});function _n({className:e,defaultOpen:t=!1,children:a,...o}){let[r,s]=Qo(t);return z(Ko.Provider,{value:{open:r,toggle:()=>s(n=>!n)},children:z("div",{className:T("ww:mb-4 ww:w-full",e),"data-state":r?"open":"closed",...o,children:a})})}function Nn({className:e,title:t,state:a,...o}){let{open:r,toggle:s}=Dn(Ko),n=a==="input-available"||a==="input-streaming";return Ee("button",{type:"button",onClick:s,className:T("ww:flex ww:w-full ww:items-center ww:justify-between ww:gap-3 ww:py-1.5",e),"aria-expanded":r,...o,children:[Ee("div",{className:"ww:flex ww:min-w-0 ww:items-center ww:gap-2",children:[z(Ue,{className:"ww:size-4 ww:shrink-0 ww:text-muted-foreground"}),z("span",{className:"ww:truncate ww:text-sm ww:font-medium",children:t}),n&&z("span",{className:"ww:size-2 ww:shrink-0 ww:rounded-full ww:bg-primary ww:animate-pulse"})]}),z(ht,{className:T("ww:size-4 ww:shrink-0 ww:text-muted-foreground ww:transition-transform ww:duration-200",r&&"ww:rotate-180")})]})}function Un({className:e,title:t,state:a,...o}){let r=a==="input-available"||a==="input-streaming";return Ee("div",{className:T("ww:mb-4 ww:flex ww:items-center ww:gap-2 ww:py-1.5 ww:text-sm ww:text-muted-foreground ww:italic",e),...o,children:[z("span",{className:"ww:truncate",children:t}),r&&z("span",{className:"ww:size-2 ww:shrink-0 ww:rounded-full ww:bg-primary ww:animate-pulse"})]})}function On({className:e,children:t,...a}){let{open:o}=Dn(Ko);return z("div",{className:T("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:z("div",{className:"ww:min-h-0 ww:overflow-hidden",children:z("div",{className:T("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 Hn({className:e,input:t,debug:a,...o}){let r=Xo(()=>{if(!a&&typeof t=="object"&&t!==null&&!Array.isArray(t)){let{_meta:s,...n}=t;return n}return t},[t,a]);return z(En,{data:r,label:"Request",className:e,...o})}function $o(e){if(!(typeof e!="object"||e===null))return e}function qn(e){return $o(e?.ui)}function Gn(e){return $o($o(e)?._meta)}function Rn(e){if(!e)return;let t=qn(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 Fn(e){return qn(e)?.autoHeight===!0}function Na(e,t,a){if(e){let o=Rn(a?.[e]?._meta);if(o)return o}return Rn(Gn(t))}function Wn(e,t,a){return e&&Fn(a?.[e]?._meta)?!0:Fn(Gn(t))}function zn({className:e,output:t,errorText:a,debug:o,...r}){let s=Xo(()=>{if(!o&&typeof t=="object"&&t!==null&&!Array.isArray(t)){let{_meta:n,...i}=t;return i}return t},[t,o]);return t||a?a?Ee("div",{className:T("ww:space-y-2",e),...r,children:[z("h4",{className:"ww:text-xs ww:font-medium ww:uppercase ww:tracking-wide ww:text-muted-foreground",children:"Error"}),z("div",{className:"ww:rounded-lg ww:bg-destructive/10 ww:p-3 ww:text-xs ww:text-destructive",children:a})]}):z(En,{data:s,label:"Response",className:e,...r}):null}import{useCallback as Nf,useEffect as Vn,useMemo as Uf,useRef as xe,useState as $n}from"react";function ft(e){if(!e)return!1;let t=Array.isArray(e.content)&&e.content.length>0,a=typeof e.structuredContent=="object"&&e.structuredContent!==null&&Object.keys(e.structuredContent).length>0;return t||a}function jn(e,t){return!ft(e)&&!ft(t)?null:ft(e)?ft(t)?{...e.content||t.content?{content:[...e.content??[],...t.content??[]]}:{},...e.structuredContent||t.structuredContent?{structuredContent:{...e.structuredContent??{},...t.structuredContent??{}}}:{}}:{...e.content?{content:[...e.content]}:{},...e.structuredContent?{structuredContent:{...e.structuredContent}}:{}}:{...t?.content?{content:[...t.content]}:{},...t?.structuredContent?{structuredContent:{...t.structuredContent}}:{}}}import{jsx as Qf}from"react/jsx-runtime";var Of="/api/mcp/resource",Hf=500,qf=0,Gf=16,Wf="2026-01-26",zf=300,jf=3e3,Vf=3;function $f(e){if(typeof e!="string")return;let t=e.trim();return t.length>0?t:void 0}function Xf(e,t,a){return Na(e,t,a)?!1:t._meta?.["waniwani/autoInjectResultText"]!==!1}function Jo({resourceUri:e,toolInput:t,toolResult:a,resourceEndpoint:o=Of,chatSessionId:r,isDark:s=!1,className:n,autoHeight:i=!1,onOpenLink:l,onFollowUp:u,onCallTool:f,onDisplayModeChange:d,isFullscreen:c=!1,toolDefinitions:p}){let m=xe(null),I=xe(t),C=xe(a),x=xe({width:0,height:0}),g=xe(null),h=xe(!1),L=xe(0),w=xe("inline"),[b,P]=$n(qf),[y,D]=$n(void 0),v=xe(l),F=xe(u),k=xe(f),B=xe(d),H=xe(r),O=xe(p);I.current=t,C.current=a,v.current=l,F.current=u,k.current=f,B.current=d,H.current=r,O.current=p;let ue=Nf(q=>i?Math.max(q+Gf,0):Math.min(Math.max(q,50),Hf),[i]),ge=Uf(()=>{let q=o.includes("?")?"&":"?";return`${o}${q}uri=${encodeURIComponent(e)}`},[o,e]),K=xe(s);return K.current=s,Vn(()=>{if(!h.current)return;let q=m.current;q?.contentWindow&&q.contentWindow.postMessage({jsonrpc:"2.0",method:"ui/notifications/host-context-changed",params:{theme:s?"dark":"light"}},"*")},[s]),Vn(()=>{let q=m.current;if(!q)return;let ee=!1,_=!1,J=null,re=null,A=setTimeout(()=>{if(ee||_||L.current>=Vf)return;L.current+=1;let j=new URL(q.src);j.searchParams.set("_retry",String(L.current)),q.src=j.toString()},jf),R=j=>{q.contentWindow?.postMessage(j,"*")},se=j=>{if(ee||j.source!==q.contentWindow)return;let G=j.data;if(!G||typeof G!="object"||G.jsonrpc!=="2.0")return;let V=G.method,N=G.id;if(V==="ui/initialize"&&N!=null){_=!0,clearTimeout(A),R({jsonrpc:"2.0",id:N,result:{protocolVersion:G.params?.protocolVersion??Wf,hostInfo:{name:"WaniWani Chat",version:"1.0.0"},hostCapabilities:{openLinks:{},message:{text:{}},tools:{},updateModelContext:{text:{},structuredContent:{}}},hostContext:{theme:K.current?"dark":"light",displayMode:w.current}}});return}if(V==="ui/notifications/initialized"){h.current=!0;let W=I.current,$=C.current,U=$._meta&&typeof $._meta=="object"?$._meta:null,X=$f(H.current),ae=U&&typeof U.waniwani=="object"&&U.waniwani!==null?U.waniwani:null,Se=ae||X?{...ae??{},...X?{sessionId:X}:{}}:void 0,_e=U||Se?{...U??{},...Se?{waniwani:Se}:{}}:void 0;R({jsonrpc:"2.0",method:"ui/notifications/tool-input",params:{arguments:W}});let tt=$.content??[{type:"text",text:JSON.stringify($)}];R({jsonrpc:"2.0",method:"ui/notifications/tool-result",params:{content:tt,structuredContent:$.structuredContent,_meta:_e,meta:_e}});return}if(V==="ui/notifications/size-changed"){let W=G.params,$=typeof W?.height=="number"?W.height:void 0,U=typeof W?.width=="number"?W.width:void 0,X=x.current,ae=$!==void 0&&$!==X.height,Se=U!==void 0&&U!==X.width;if(!ae&&!Se)return;if(ae&&$!==void 0){X.height=$;let _e=ue($),tt=q.getBoundingClientRect().height;if(g.current&&(g.current.cancel(),g.current=null),P(_e),q.animate&&Math.abs(tt-_e)>2){let at=q.animate([{height:`${tt}px`},{height:`${_e}px`}],{duration:zf,easing:"ease-out",fill:"forwards"});g.current=at,at.onfinish=()=>{g.current===at&&(at.cancel(),g.current=null)}}}Se&&i&&U!==void 0&&(X.width=U,D(U));return}if(V==="ui/open-link"&&N!=null){let W=G.params?.url;typeof W=="string"&&(v.current?v.current(W):window.open(W,"_blank","noopener,noreferrer")),R({jsonrpc:"2.0",id:N,result:{}});return}if(V==="ui/message"&&N!=null){if(F.current&&G.params){let W=G.params,$=J;if(J=null,re){clearTimeout(re.timer);let U=re.text;re=null;let X=(W.content??[]).map(ae=>ae.text??"").join("").trim();W={...W,content:[{type:"text",text:`${X}
12
+ \f\r "&'<=>\``.split("")]],single:[["&'".split(""),"\"&'`".split("")],["\0&'".split(""),"\0\"&'`".split("")]],double:[['"&'.split(""),"\"&'`".split("")],['\0"&'.split(""),"\0\"&'`".split("")]]};function en(e,t,a,o){let r=o.schema,s=r.space==="svg"?!1:o.settings.omitOptionalTags,n=r.space==="svg"?o.settings.closeEmptyElements:o.settings.voids.includes(e.tagName.toLowerCase()),i=[],l;r.space==="html"&&e.tagName==="svg"&&(o.schema=Xt);let u=nd(o,e.properties),f=o.all(r.space==="html"&&e.tagName==="template"?e.content:e);return o.schema=r,f&&(n=!1),(u||!s||!Ys(e,t,a))&&(i.push("<",e.tagName,u?" "+u:""),n&&(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(f),!n&&(!s||!Bt(e,t,a))&&i.push("</"+e.tagName+">"),i.join("")}function nd(e,t){let a=[],o=-1,r;if(t){for(r in t)if(t[r]!==null&&t[r]!==void 0){let s=id(e,r,t[r]);s&&a.push(s)}}for(;++o<a.length;){let s=e.settings.tightAttributes?a[o].charAt(a[o].length-1):void 0;o!==a.length-1&&s!=='"'&&s!=="'"&&(a[o]+=" ")}return a.join("")}function id(e,t,a){let o=Lr(e.schema,t),r=e.settings.allowParseErrors&&e.schema.space==="html"?0:1,s=e.settings.allowDangerousCharacters?0:1,n=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=De(o.attribute,Object.assign({},e.settings.characterReferences,{subset:Ca.name[r][s]}));return a===!0||(a=Array.isArray(a)?(o.commaSeparated?Sr:yr)(a,{padLeft:!e.settings.tightCommaSeparatedLists}):String(a),e.settings.collapseEmptyAttributes&&!a)?l:(e.settings.preferUnquoted&&(i=De(a,Object.assign({},e.settings.characterReferences,{attribute:!0,subset:Ca.unquoted[r][s]}))),i!==a&&(e.settings.quoteSmart&&oo(a,n)>oo(a,e.alternative)&&(n=e.alternative),i=n+De(a,Object.assign({},e.settings.characterReferences,{subset:(n==="'"?Ca.single:Ca.double)[r][s],attribute:!0}))+n),l+(i&&"="+i))}var ld=["<","&"];function Ia(e,t,a,o){return a&&a.type==="element"&&(a.tagName==="script"||a.tagName==="style")?e.value:De(e.value,Object.assign({},o.settings.characterReferences,{subset:ld}))}function tn(e,t,a,o){return o.settings.allowDangerousHtml?e.value:Ia(e,t,a,o)}function an(e,t,a,o){return o.all(e)}var on=Ir("type",{invalid:ud,unknown:dd,handlers:{comment:Xs,doctype:Qs,element:en,raw:tn,root:an,text:Ia}});function ud(e){throw new Error("Expected node, not `"+e+"`")}function dd(e){let t=e;throw new Error("Cannot compile unknown node `"+t.type+"`")}var fd={},cd={},pd=[];function Mo(e,t){let a=t||fd,o=a.quote||'"',r=o==='"'?"'":'"';if(o!=='"'&&o!=="'")throw new Error("Invalid quote `"+o+"`, expected `'` or `\"`");return{one:md,all:hd,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||xr,characterReferences:a.characterReferences||cd,closeSelfClosing:a.closeSelfClosing||!1,closeEmptyElements:a.closeEmptyElements||!1},schema:a.space==="svg"?Xt:Cr,quote:o,alternative:r}.one(Array.isArray(e)?{type:"root",children:e}:e,void 0,void 0)}function md(e,t,a){return on(e,t,a,this)}function hd(e){let t=[],a=e&&e.children||pd,o=-1;for(;++o<a.length;)t[o]=this.one(a[o],o,e);return t.join("")}function Sa(e,t){let a=typeof e=="string"?{}:{...e.colorReplacements},o=typeof e=="string"?e:e.name;for(let[r,s]of Object.entries(t?.colorReplacements||{}))typeof s=="string"?a[r]=s:r===o&&Object.assign(a,s);return a}function Ge(e,t){return e&&(t?.[e?.toLowerCase()]||e)}function gd(e){return Array.isArray(e)?e:[e]}async function fn(e){return Promise.resolve(typeof e=="function"?e():e).then(t=>t.default||t)}function _o(e){return!e||["plaintext","txt","text","plain"].includes(e)}function cn(e){return e==="ansi"||_o(e)}function No(e){return e==="none"}function pn(e){return No(e)}function mn(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 Pa(e,t=!1){if(e.length===0)return[["",0]];let a=e.split(/(\r?\n)/g),o=0,r=[];for(let s=0;s<a.length;s+=2){let n=t?a[s]+(a[s+1]||""):a[s];r.push([n,o]),o+=a[s].length,o+=a[s+1]?.length||0}return r}function wd(e){let t=Pa(e,!0).map(([r])=>r);function a(r){if(r===e.length)return{line:t.length-1,character:t[t.length-1].length};let s=r,n=0;for(let i of t){if(s<i.length)break;s-=i.length,n++}return{line:n,character:s}}function o(r,s){let n=0;for(let i=0;i<r;i++)n+=t[i].length;return n+=s,n}return{lines:t,indexToPos:a,posToIndex:o}}function hn(e,t,a){let o=new Set;for(let s of e.matchAll(/:?lang=["']([^"']+)["']/g)){let n=s[1].toLowerCase().trim();n&&o.add(n)}for(let s of e.matchAll(/(?:```|~~~)([\w-]+)/g)){let n=s[1].toLowerCase().trim();n&&o.add(n)}for(let s of e.matchAll(/\\begin\{([\w-]+)\}/g)){let n=s[1].toLowerCase().trim();n&&o.add(n)}for(let s of e.matchAll(/<script\s+(?:type|lang)=["']([^"']+)["']/gi)){let n=s[1].toLowerCase().trim(),i=n.includes("/")?n.split("/").pop():n;i&&o.add(i)}if(!a)return Array.from(o);let r=a.getBundledLanguages();return Array.from(o).filter(s=>s&&r[s])}var Uo="light-dark()",xd=["color","background-color"];function Ld(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 Cd(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 s=a.filter(n=>r.offset<n&&n<r.offset+r.content.length).map(n=>n-r.offset).sort((n,i)=>n-i);return s.length?Ld(r,s):r})):e}function Id(e,t,a,o,r="css-vars"){let s={content:e.content,explanation:e.explanation,offset:e.offset},n=t.map(f=>ya(e.variants[f])),i=new Set(n.flatMap(f=>Object.keys(f))),l={},u=(f,d)=>{let c=d==="color"?"":d==="background-color"?"-bg":`-${d}`;return a+t[f]+(d==="color"?"":c)};return n.forEach((f,d)=>{for(let c of i){let p=f[c]||"inherit";if(d===0&&o&&xd.includes(c))if(o===Uo&&n.length>1){let m=t.findIndex(g=>g==="light"),I=t.findIndex(g=>g==="dark");if(m===-1||I===-1)throw new Z('When using `defaultColor: "light-dark()"`, you must provide both `light` and `dark` themes');let C=n[m][c]||"inherit",x=n[I][c]||"inherit";l[c]=`light-dark(${C}, ${x})`,r==="css-vars"&&(l[u(d,c)]=p)}else l[c]=p;else r==="css-vars"&&(l[u(d,c)]=p)}}),s.htmlStyle=l,s}function ya(e){let t={};if(e.color&&(t.color=e.color),e.bgColor&&(t["background-color"]=e.bgColor),e.fontStyle){e.fontStyle&fe.Italic&&(t["font-style"]="italic"),e.fontStyle&fe.Bold&&(t["font-weight"]="bold");let a=[];e.fontStyle&fe.Underline&&a.push("underline"),e.fontStyle&fe.Strikethrough&&a.push("line-through"),a.length&&(t["text-decoration"]=a.join(" "))}return t}function Bo(e){return typeof e=="string"?e:Object.entries(e).map(([t,a])=>`${t}:${a}`).join(";")}var gn=new WeakMap;function Aa(e,t){gn.set(e,t)}function Et(e){return gn.get(e)}var ut=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(gd(a).map(o=>[o,ga])),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 Sd(this._stacks[t])}toJSON(){return{lang:this.lang,theme:this.theme,themes:this.themes,scopes:this.getScopes()}}};function Sd(e){let t=[],a=new Set;function o(r){if(a.has(r))return;a.add(r);let s=r?.nameScopesList?.scopeName;s&&t.push(s),r.parent&&o(r.parent)}return o(e),t}function yd(e,t){if(!(e instanceof ut))throw new Z("Invalid grammar state");return e.getInternalStack(t)}function kd(){let e=new WeakMap;function t(a){if(!e.has(a.meta)){let o=function(n){if(typeof n=="number"){if(n<0||n>a.source.length)throw new Z(`Invalid decoration offset: ${n}. Code length: ${a.source.length}`);return{...r.indexToPos(n),offset:n}}else{let i=r.lines[n.line];if(i===void 0)throw new Z(`Invalid decoration position ${JSON.stringify(n)}. Lines length: ${r.lines.length}`);let l=n.character;if(l<0&&(l=i.length+l),l<0||l>i.length)throw new Z(`Invalid decoration position ${JSON.stringify(n)}. Line ${n.line} length: ${i.length}`);return{...n,character:l,offset:r.posToIndex(n.line,l)}}},r=wd(a.source),s=(a.options.decorations||[]).map(n=>({...n,start:o(n.start),end:o(n.end)}));bd(s),e.set(a.meta,{decorations:s,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(n=>[n.start.offset,n.end.offset]);return Cd(a,r)},code(a){if(!this.options.decorations?.length)return;let o=t(this),r=Array.from(a.children).filter(f=>f.type==="element"&&f.tagName==="span");if(r.length!==o.converter.lines.length)throw new Z(`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 s(f,d,c,p){let m=r[f],I="",C=-1,x=-1;if(d===0&&(C=0),c===0&&(x=0),c===Number.POSITIVE_INFINITY&&(x=m.children.length),C===-1||x===-1)for(let h=0;h<m.children.length;h++)I+=wn(m.children[h]),C===-1&&I.length===d&&(C=h+1),x===-1&&I.length===c&&(x=h+1);if(C===-1)throw new Z(`Failed to find start index for decoration ${JSON.stringify(p.start)}`);if(x===-1)throw new Z(`Failed to find end index for decoration ${JSON.stringify(p.end)}`);let g=m.children.slice(C,x);if(!p.alwaysWrap&&g.length===m.children.length)i(m,p,"line");else if(!p.alwaysWrap&&g.length===1&&g[0].type==="element")i(g[0],p,"token");else{let h={type:"element",tagName:"span",properties:{},children:g};i(h,p,"wrapper"),m.children.splice(C,g.length,h)}}function n(f,d){r[f]=i(r[f],d,"line")}function i(f,d,c){let p=d.properties||{},m=d.transform||(I=>I);return f.tagName=d.tagName||"span",f.properties={...f.properties,...p,class:f.properties.class},d.properties?.class&&mn(f,d.properties.class),f=m(f,c)||f,f}let l=[],u=o.decorations.sort((f,d)=>d.start.offset-f.start.offset||f.end.offset-d.end.offset);for(let f of u){let{start:d,end:c}=f;if(d.line===c.line)s(d.line,d.character,c.character,f);else if(d.line<c.line){s(d.line,d.character,Number.POSITIVE_INFINITY,f);for(let p=d.line+1;p<c.line;p++)l.unshift(()=>n(p,f));s(c.line,0,c.character,f)}}l.forEach(f=>f())}}}function bd(e){for(let t=0;t<e.length;t++){let a=e[t];if(a.start.offset>a.end.offset)throw new Z(`Invalid decoration range: ${JSON.stringify(a.start)} - ${JSON.stringify(a.end)}`);for(let o=t+1;o<e.length;o++){let r=e[o],s=a.start.offset<=r.start.offset&&r.start.offset<a.end.offset,n=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(s||n||i||l){if(s&&n||i&&l||i&&a.start.offset===a.end.offset||n&&r.start.offset===r.end.offset)continue;throw new Z(`Decorations ${JSON.stringify(a.start)} and ${JSON.stringify(r.start)} intersect.`)}}}}function wn(e){return e.type==="text"?e.value:e.type==="element"?e.children.map(wn).join(""):""}var Td=[kd()];function ka(e){let t=Pd(e.transformers||[]);return[...t.pre,...t.normal,...t.post,...Td]}function Pd(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 Ze=["black","red","green","yellow","blue","magenta","cyan","white","brightBlack","brightRed","brightGreen","brightYellow","brightBlue","brightMagenta","brightCyan","brightWhite"],Ro={1:"bold",2:"dim",3:"italic",4:"underline",7:"reverse",8:"hidden",9:"strikethrough"};function Ad(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 rn(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 vd(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)Ro[o]&&t.push({type:"setDecoration",value:Ro[o]});else if(o<=29){let r=Ro[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:Ze[o-30]}});else if(o===38){let r=rn(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:Ze[o-40]}});else if(o===48){let r=rn(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:Ze[o-90+8]}}):o>=100&&o<=107&&t.push({type:"setBackgroundColor",value:{type:"named",name:Ze[o-100+8]}})}return t}function Md(){let e=null,t=null,a=new Set;return{parse(o){let r=[],s=0;do{let n=Ad(o,s),i=n.sequence?o.substring(s,n.startPosition):o.substring(s);if(i.length>0&&r.push({value:i,foreground:e,background:t,decorations:new Set(a)}),n.sequence){let l=vd(n.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)}s=n.position}while(s<o.length);return r}}}var Rd={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 Fd(e=Rd){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<Ze.length;u++)o.push(t(Ze[u]));let i=[0,95,135,175,215,255];for(let u=0;u<6;u++)for(let f=0;f<6;f++)for(let d=0;d<6;d++)o.push(a([i[u],i[f],i[d]]));let l=8;for(let u=0;u<24;u++,l+=10)o.push(a([l,l,l]));return o}function s(i){return r()[i]}function n(i){switch(i.type){case"named":return t(i.name);case"rgb":return a(i.rgb);case"table":return s(i.index)}}return{value:n}}var Bd={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 Dd(e,t,a){let o=Sa(e,a),r=Pa(t),s=Object.fromEntries(Ze.map(l=>{let u=`terminal.ansi${l[0].toUpperCase()}${l.substring(1)}`,f=e.colors?.[u];return[l,f||Bd[l]]})),n=Fd(s),i=Md();return r.map(l=>i.parse(l[0]).map(u=>{let f,d;u.decorations.has("reverse")?(f=u.background?n.value(u.background):e.bg,d=u.foreground?n.value(u.foreground):e.fg):(f=u.foreground?n.value(u.foreground):e.fg,d=u.background?n.value(u.background):void 0),f=Ge(f,o),d=Ge(d,o),u.decorations.has("dim")&&(f=Ed(f));let c=fe.None;return u.decorations.has("bold")&&(c|=fe.Bold),u.decorations.has("italic")&&(c|=fe.Italic),u.decorations.has("underline")&&(c|=fe.Underline),u.decorations.has("strikethrough")&&(c|=fe.Strikethrough),{content:u.value,offset:l[1],color:f,bgColor:d,fontStyle:c}}))}function Ed(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],s=o[1],n=o[2],i=o[3],l=Math.round(Number.parseInt(`${i}${i}`,16)/2).toString(16).padStart(2,"0");return`#${r}${r}${s}${s}${n}${n}${l}`}else if(o.length===3){let r=o[0],s=o[1],n=o[2];return`#${r}${r}${s}${s}${n}${n}80`}}}let a=e.match(/var\((--[\w-]+-ansi-[\w-]+)\)/);return a?`var(${a[1]}-dim)`:e}function Oo(e,t,a={}){let{theme:o=e.getLoadedThemes()[0]}=a,r=e.resolveLangAlias(a.lang||"text");if(_o(r)||No(o))return Pa(t).map(l=>[{content:l[0],offset:l[1]}]);let{theme:s,colorMap:n}=e.setTheme(o);if(r==="ansi")return Dd(s,t,a);let i=e.getLanguage(a.lang||"text");if(a.grammarState){if(a.grammarState.lang!==i.name)throw new Z(`Grammar state language "${a.grammarState.lang}" does not match highlight language "${i.name}"`);if(!a.grammarState.themes.includes(s.name))throw new Z(`Grammar state themes "${a.grammarState.themes}" do not contain highlight theme "${s.name}"`)}return Nd(t,i,s,n,a)}function _d(...e){if(e.length===2)return Et(e[1]);let[t,a,o={}]=e,{lang:r="text",theme:s=t.getLoadedThemes()[0]}=o;if(_o(r)||No(s))throw new Z("Plain language does not have grammar state");if(r==="ansi")throw new Z("ANSI language does not have grammar state");let{theme:n,colorMap:i}=t.setTheme(s),l=t.getLanguage(r);return new ut(Ho(a,l,n,i,o).stateStack,l.name,n.name)}function Nd(e,t,a,o,r){let s=Ho(e,t,a,o,r),n=new ut(s.stateStack,t.name,a.name);return Aa(s.tokens,n),s.tokens}function Ho(e,t,a,o,r){let s=Sa(a,r),{tokenizeMaxLineLength:n=0,tokenizeTimeLimit:i=500}=r,l=Pa(e),u=r.grammarState?yd(r.grammarState,a.name)??ga:r.grammarContextCode!=null?Ho(r.grammarContextCode,t,a,o,{...r,grammarState:void 0,grammarContextCode:void 0}).stateStack:ga,f=[],d=[];for(let c=0,p=l.length;c<p;c++){let[m,I]=l[c];if(m===""){f=[],d.push([]);continue}if(n>0&&m.length>=n){f=[],d.push([{content:m,offset:I,color:"",fontStyle:0}]);continue}let C,x,g;r.includeExplanation&&(C=t.tokenizeLine(m,u,i),x=C.tokens,g=0);let h=t.tokenizeLine2(m,u,i),L=h.tokens.length/2;for(let w=0;w<L;w++){let b=h.tokens[2*w],P=w+1<L?h.tokens[2*w+2]:m.length;if(b===P)continue;let y=h.tokens[2*w+1],D=Ge(o[Je.getForeground(y)],s),v=Je.getFontStyle(y),F={content:m.substring(b,P),offset:I+b,color:D,fontStyle:v};if(r.includeExplanation){let k=[];if(r.includeExplanation!=="scopeName")for(let H of a.settings){let O;switch(typeof H.scope){case"string":O=H.scope.split(/,/).map(ue=>ue.trim());break;case"object":O=H.scope;break;default:continue}k.push({settings:H,selectors:O.map(ue=>ue.split(/ /))})}F.explanation=[];let B=0;for(;b+B<P;){let H=x[g],O=m.substring(H.startIndex,H.endIndex);B+=O.length,F.explanation.push({content:O,scopes:r.includeExplanation==="scopeName"?Ud(H.scopes):Od(k,H.scopes)}),g+=1}}f.push(F)}d.push(f),f=[],u=h.ruleStack}return{tokens:d,stateStack:u}}function Ud(e){return e.map(t=>({scopeName:t}))}function Od(e,t){let a=[];for(let o=0,r=t.length;o<r;o++){let s=t[o];a[o]={scopeName:s,themeMatches:qd(e,s,t.slice(0,o))}}return a}function sn(e,t){return e===t||t.substring(0,e.length)===e&&t[e.length]==="."}function Hd(e,t,a){if(!sn(e[e.length-1],t))return!1;let o=e.length-2,r=a.length-1;for(;o>=0&&r>=0;)sn(e[o],a[r])&&(o-=1),r-=1;return o===-1}function qd(e,t,a){let o=[];for(let{selectors:r,settings:s}of e)for(let n of r)if(Hd(n,t,a)){o.push(s);break}return o}function xn(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=Oo(e,t,{...a,theme:l.theme}),f=Et(u),d=typeof l.theme=="string"?l.theme:l.theme.name;return{tokens:u,state:f,theme:d}}),s=Gd(...r.map(l=>l.tokens)),n=s[0].map((l,u)=>l.map((f,d)=>{let c={content:f.content,variants:{},offset:f.offset};return"includeExplanation"in a&&a.includeExplanation&&(c.explanation=f.explanation),s.forEach((p,m)=>{let{content:I,explanation:C,offset:x,...g}=p[u][d];c.variants[o[m].color]=g}),c})),i=r[0].state?new ut(Object.fromEntries(r.map(l=>[l.theme,l.state?.getInternalStack(l.theme)])),r[0].state.lang):void 0;return i&&Aa(n,i),n}function Gd(...e){let t=e.map(()=>[]),a=e.length;for(let o=0;o<e[0].length;o++){let r=e.map(l=>l[o]),s=t.map(()=>[]);t.forEach((l,u)=>l.push(s[u]));let n=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 f=i[u];f.content.length===l?(s[u].push(f),n[u]+=1,i[u]=r[u][n[u]]):(s[u].push({...f,content:f.content.slice(0,l)}),i[u]={...f,content:f.content.slice(l),offset:f.offset+l})}}}return t}function ba(e,t,a){let o,r,s,n,i,l;if("themes"in a){let{defaultColor:u="light",cssVariablePrefix:f="--shiki-",colorsRendering:d="css-vars"}=a,c=Object.entries(a.themes).filter(x=>x[1]).map(x=>({color:x[0],theme:x[1]})).sort((x,g)=>x.color===u?-1:g.color===u?1:0);if(c.length===0)throw new Z("`themes` option must not be empty");let p=xn(e,t,a);if(l=Et(p),u&&Uo!==u&&!c.find(x=>x.color===u))throw new Z(`\`themes\` option must contain the defaultColor key \`${u}\``);let m=c.map(x=>e.getTheme(x.theme)),I=c.map(x=>x.color);s=p.map(x=>x.map(g=>Id(g,I,f,u,d))),l&&Aa(s,l);let C=c.map(x=>Sa(x.theme,a));r=nn(c,m,C,f,u,"fg",d),o=nn(c,m,C,f,u,"bg",d),n=`shiki-themes ${m.map(x=>x.name).join(" ")}`,i=u?void 0:[r,o].join(";")}else if("theme"in a){let u=Sa(a.theme,a);s=Oo(e,t,a);let f=e.getTheme(a.theme);o=Ge(f.bg,u),r=Ge(f.fg,u),n=f.name,l=Et(s)}else throw new Z("Invalid options, either `theme` or `themes` must be provided");return{tokens:s,fg:r,bg:o,themeName:n,rootStyle:i,grammarState:l}}function nn(e,t,a,o,r,s,n){return e.map((i,l)=>{let u=Ge(t[l][s],a[l])||"inherit",f=`${o+i.color}${s==="bg"?"-bg":""}:${u}`;if(l===0&&r){if(r===Uo&&e.length>1){let d=e.findIndex(I=>I.color==="light"),c=e.findIndex(I=>I.color==="dark");if(d===-1||c===-1)throw new Z('When using `defaultColor: "light-dark()"`, you must provide both `light` and `dark` themes');let p=Ge(t[d][s],a[d])||"inherit",m=Ge(t[c][s],a[c])||"inherit";return`light-dark(${p}, ${m});${f}`}return u}return n==="css-vars"?f:null}).filter(i=>!!i).join(";")}function Ta(e,t,a,o={meta:{},options:a,codeToHast:(r,s)=>Ta(e,r,s),codeToTokens:(r,s)=>ba(e,r,s)}){let r=t;for(let m of ka(a))r=m.preprocess?.call(o,r,a)||r;let{tokens:s,fg:n,bg:i,themeName:l,rootStyle:u,grammarState:f}=ba(e,r,a),{mergeWhitespaces:d=!0,mergeSameStyleTokens:c=!1}=a;d===!0?s=zd(s):d==="never"&&(s=jd(s)),c&&(s=Vd(s));let p={...o,get source(){return r}};for(let m of ka(a))s=m.tokens?.call(p,s)||s;return Wd(s,{...a,fg:n,bg:i,themeName:l,rootStyle:a.rootStyle===!1?!1:a.rootStyle??u},p,f)}function Wd(e,t,a,o=Et(e)){let r=ka(t),s=[],n={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,C]of Object.entries(t.meta||{}))I.startsWith("_")||(u[I]=C);let f={type:"element",tagName:"pre",properties:u,children:[],data:t.data},d={type:"element",tagName:"code",properties:{},children:s},c=[],p={...a,structure:i,addClassToHast:mn,get source(){return a.source},get tokens(){return e},get options(){return t},get root(){return n},get pre(){return f},get code(){return d},get lines(){return c}};if(e.forEach((I,C)=>{C&&(i==="inline"?n.children.push({type:"element",tagName:"br",properties:{},children:[]}):i==="classic"&&s.push({type:"text",value:`
13
+ `}));let x={type:"element",tagName:"span",properties:{class:"line"},children:[]},g=0;for(let h of I){let L={type:"element",tagName:"span",properties:{...h.htmlAttrs},children:[{type:"text",value:h.content}]},w=Bo(h.htmlStyle||ya(h));w&&(L.properties.style=w);for(let b of r)L=b?.span?.call(p,L,C+1,g,x,h)||L;i==="inline"?n.children.push(L):i==="classic"&&x.children.push(L),g+=h.content.length}if(i==="classic"){for(let h of r)x=h?.line?.call(p,x,C+1)||x;c.push(x),s.push(x)}else i==="inline"&&c.push(x)}),i==="classic"){for(let I of r)d=I?.code?.call(p,d)||d;f.children.push(d);for(let I of r)f=I?.pre?.call(p,f)||f;n.children.push(f)}else if(i==="inline"){let I=[],C={type:"element",tagName:"span",properties:{class:"line"},children:[]};for(let h of n.children)h.type==="element"&&h.tagName==="br"?(I.push(C),C={type:"element",tagName:"span",properties:{class:"line"},children:[]}):(h.type==="element"||h.type==="text")&&C.children.push(h);I.push(C);let g={type:"element",tagName:"code",properties:{},children:I};for(let h of r)g=h?.code?.call(p,g)||g;n.children=[];for(let h=0;h<g.children.length;h++){h>0&&n.children.push({type:"element",tagName:"br",properties:{},children:[]});let L=g.children[h];L.type==="element"&&n.children.push(...L.children)}}let m=n;for(let I of r)m=I?.root?.call(p,m)||m;return o&&Aa(m,o),m}function zd(e){return e.map(t=>{let a=[],o="",r;return t.forEach((s,n)=>{let l=!(s.fontStyle&&(s.fontStyle&fe.Underline||s.fontStyle&fe.Strikethrough));l&&s.content.match(/^\s+$/)&&t[n+1]?(r===void 0&&(r=s.offset),o+=s.content):o?(l?a.push({...s,offset:r,content:o+s.content}):a.push({content:o,offset:r},s),r=void 0,o=""):a.push(s)}),a})}function jd(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,s,n]=o;if(!r&&!n)return a;let i=[{...a,offset:a.offset+r.length,content:s}];return r&&i.unshift({content:r,offset:a.offset}),n&&i.push({content:n,offset:a.offset+r.length+s.length}),i}))}function Vd(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],s=Bo(r.htmlStyle||ya(r)),n=Bo(o.htmlStyle||ya(o)),i=r.fontStyle&&(r.fontStyle&fe.Underline||r.fontStyle&fe.Strikethrough),l=o.fontStyle&&(o.fontStyle&fe.Underline||o.fontStyle&fe.Strikethrough);!i&&!l&&s===n?r.content+=o.content:a.push({...o})}return a})}var $d=Mo;function Xd(e,t,a){let o={meta:{},options:a,codeToHast:(s,n)=>Ta(e,s,n),codeToTokens:(s,n)=>ba(e,s,n)},r=$d(Ta(e,t,a,o));for(let s of ka(a))r=s.postprocess?.call(o,r,a)||r;return r}var ln={light:"#333333",dark:"#bbbbbb"},un={light:"#fffffe",dark:"#1e1e1e"},dn="__shiki_resolved";function qo(e){if(e?.[dn])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"?ln.light:ln.dark),a||(a=t.type==="light"?un.light:un.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,s=new Map;function n(i){if(s.has(i))return s.get(i);r+=1;let l=`#${r.toString(16).padStart(8,"0").toLowerCase()}`;return t.colorReplacements?.[`#${l}`]?n(i):(s.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 f={...i,settings:{...i.settings}};if(l){let d=n(i.settings.foreground);t.colorReplacements[d]=i.settings.foreground,f.settings.foreground=d}if(u){let d=n(i.settings.background);t.colorReplacements[d]=i.settings.background,f.settings.background=d}return f});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=n(t.colors[i]);t.colorReplacements[l]=t.colors[i],t.colors[i]=l}return Object.defineProperty(t,dn,{enumerable:!1,writable:!1,value:!0}),t}async function Ln(e){return Array.from(new Set((await Promise.all(e.filter(t=>!cn(t)).map(async t=>await fn(t).then(a=>Array.isArray(a)?a:[a])))).flat()))}async function Cn(e){return(await Promise.all(e.map(async a=>pn(a)?null:qo(await fn(a))))).filter(a=>!!a)}var Fo=3,Qd=!1;function Kd(e,t=3){if(Fo&&!(typeof Fo=="number"&&t>Fo)){if(Qd)throw new Error(`[SHIKI DEPRECATE]: ${e}`);console.trace(`[SHIKI DEPRECATE]: ${e}`)}}var qe=class extends Error{constructor(t){super(t),this.name="ShikiError"}};function In(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 qe(`Circular alias \`${Array.from(a).join(" -> ")} -> ${e}\``);a.add(e)}}return e}var Do=class extends Us{constructor(t,a,o,r={}){super(t),this._resolver=t,this._themes=a,this._langs=o,this._alias=r,this._themes.map(s=>this.loadTheme(s)),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=qo(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=At.createFromRawTheme(t),this._textmateThemeCache.set(t,a)),this._syncRegistry.setTheme(a)}getGrammar(t){return t=In(t,this._alias),this._resolvedGrammars.get(t)}loadLanguage(t){if(this.getGrammar(t.name))return;let a=new Set([...this._langMap.values()].filter(s=>s.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(s=>{this._alias[s]=t.name}),this._loadedLanguagesCache=null,a.size)for(let s of a)this._resolvedGrammars.delete(s.name),this._loadedLanguagesCache=null,this._syncRegistry?._injectionGrammars?.delete(s.scopeName),this._syncRegistry?._grammars?.delete(s.scopeName),this.loadLanguage(this._langMap.get(s.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,s])=>!s);if(o.length){let r=a.filter(([s,n])=>n?(n.embeddedLanguages||n.embeddedLangs)?.some(l=>o.map(([u])=>u).includes(l)):!1).filter(s=>!o.includes(s));throw new qe(`Missing languages ${o.map(([s])=>`\`${s}\``).join(", ")}, required by ${r.map(([s])=>`\`${s}\``).join(", ")}`)}for(let[r,s]of a)this._resolver.addLanguage(s);for(let[r,s]of a)this.loadLanguage(s)}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))}},Eo=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 s=a.slice(0,r).join(".");o=[...o,...this._injections.get(s)||[]]}return o}},Dt=0;function Jd(e){Dt+=1,e.warnings!==!1&&Dt>=10&&Dt%10===0&&console.warn(`[Shiki] ${Dt} 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 qe("`engine` option is required for synchronous mode");let a=(e.langs||[]).flat(1),o=(e.themes||[]).flat(1).map(qo),r=new Eo(e.engine,a),s=new Do(r,o,a,e.langAlias),n;function i(h){return In(h,e.langAlias)}function l(h){x();let L=s.getGrammar(typeof h=="string"?h:h.name);if(!L)throw new qe(`Language \`${h}\` not found, you may need to load it first`);return L}function u(h){if(h==="none")return{bg:"",fg:"",name:"none",settings:[],type:"dark"};x();let L=s.getTheme(h);if(!L)throw new qe(`Theme \`${h}\` not found, you may need to load it first`);return L}function f(h){x();let L=u(h);n!==h&&(s.setTheme(L),n=h);let w=s.getColorMap();return{theme:L,colorMap:w}}function d(){return x(),s.getLoadedThemes()}function c(){return x(),s.getLoadedLanguages()}function p(...h){x(),s.loadLanguages(h.flat(1))}async function m(...h){return p(await Ln(h))}function I(...h){x();for(let L of h.flat(1))s.loadTheme(L)}async function C(...h){return x(),I(await Cn(h))}function x(){if(t)throw new qe("Shiki instance has been disposed")}function g(){t||(t=!0,s.dispose(),Dt-=1)}return{setTheme:f,getTheme:u,getLanguage:l,getLoadedThemes:d,getLoadedLanguages:c,resolveLangAlias:i,loadLanguage:m,loadLanguageSync:p,loadTheme:C,loadThemeSync:I,dispose:g,[Symbol.dispose]:g}}async function Zd(e){e.engine||Kd("`engine` option is required. Use `createOnigurumaEngine` or `createJavaScriptRegexEngine` to create an engine.");let[t,a,o]=await Promise.all([Cn(e.themes||[]),Ln(e.langs||[]),e.engine]);return Jd({...e,themes:t,langs:a,engine:o})}async function Yd(e){let t=await Zd(e);return{getLastGrammarState:(...a)=>_d(t,...a),codeToTokensBase:(a,o)=>Oo(t,a,o),codeToTokensWithThemes:(a,o)=>xn(t,a,o),codeToTokens:(a,o)=>ba(t,a,o),codeToHast:(a,o)=>Ta(t,a,o),codeToHtml:(a,o)=>Xd(t,a,o),getBundledLanguages:()=>({}),getBundledThemes:()=>({}),...t,getInternalContext:()=>t}}function Sn(e){let t=e.langs,a=e.themes,o=e.engine;async function r(s){function n(d){if(typeof d=="string"){if(d=s.langAlias?.[d]||d,cn(d))return[];let c=t[d];if(!c)throw new Z(`Language \`${d}\` is not included in this bundle. You may want to load it from external source.`);return c}return d}function i(d){if(pn(d))return"none";if(typeof d=="string"){let c=a[d];if(!c)throw new Z(`Theme \`${d}\` is not included in this bundle. You may want to load it from external source.`);return c}return d}let l=(s.themes??[]).map(d=>i(d)),u=(s.langs??[]).map(d=>n(d)),f=await Yd({engine:s.engine??o(),...s,themes:l,langs:u});return{...f,loadLanguage(...d){return f.loadLanguage(...d.map(n))},loadTheme(...d){return f.loadTheme(...d.map(i))},getBundledLanguages(){return t},getBundledThemes(){return a}}}return r}function ef(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 yn(e,t){let a=ef(e);async function o(r,s){let n=await a({langs:[s.lang],themes:"theme"in s?[s.theme]:Object.values(s.themes)}),i=await t?.guessEmbeddedLanguages?.(r,s.lang,n);return i&&await n.loadLanguage(...i),n}return{getSingletonHighlighter(r){return a(r)},async codeToHtml(r,s){return(await o(r,s)).codeToHtml(r,s)},async codeToHast(r,s){return(await o(r,s)).codeToHast(r,s)},async codeToTokens(r,s){return(await o(r,s)).codeToTokens(r,s)},async codeToTokensBase(r,s){return(await o(r,s)).codeToTokensBase(r,s)},async codeToTokensWithThemes(r,s){return(await o(r,s)).codeToTokensWithThemes(r,s)},async getLastGrammarState(r,s){return(await a({langs:[s.lang],themes:[s.theme]})).getLastGrammarState(r,s)}}}var Go=[{id:"abap",name:"ABAP",import:(()=>import("../abap-KGVIZMDC.js"))},{id:"actionscript-3",name:"ActionScript",import:(()=>import("../actionscript-3-2UHK5QYP.js"))},{id:"ada",name:"Ada",import:(()=>import("../ada-JKTWR5BV.js"))},{id:"angular-html",name:"Angular HTML",import:(()=>import("../angular-html-EOIKHM3D.js"))},{id:"angular-ts",name:"Angular TypeScript",import:(()=>import("../angular-ts-A7ZNTSV6.js"))},{id:"apache",name:"Apache Conf",import:(()=>import("../apache-MPGFGQFB.js"))},{id:"apex",name:"Apex",import:(()=>import("../apex-BOAZL66Z.js"))},{id:"apl",name:"APL",import:(()=>import("../apl-QBN4KIYA.js"))},{id:"applescript",name:"AppleScript",import:(()=>import("../applescript-C4CJ3STL.js"))},{id:"ara",name:"Ara",import:(()=>import("../ara-FSFFBRSD.js"))},{id:"asciidoc",name:"AsciiDoc",aliases:["adoc"],import:(()=>import("../asciidoc-QQK2LANG.js"))},{id:"asm",name:"Assembly",import:(()=>import("../asm-X43A2VYW.js"))},{id:"astro",name:"Astro",import:(()=>import("../astro-OQUOYMBE.js"))},{id:"awk",name:"AWK",import:(()=>import("../awk-4Z3PRTF7.js"))},{id:"ballerina",name:"Ballerina",import:(()=>import("../ballerina-JCXSJ2QD.js"))},{id:"bat",name:"Batch File",aliases:["batch"],import:(()=>import("../bat-XFWR7RMZ.js"))},{id:"beancount",name:"Beancount",import:(()=>import("../beancount-7BBDB4BH.js"))},{id:"berry",name:"Berry",aliases:["be"],import:(()=>import("../berry-PQ2BEJIZ.js"))},{id:"bibtex",name:"BibTeX",import:(()=>import("../bibtex-J2PAB23I.js"))},{id:"bicep",name:"Bicep",import:(()=>import("../bicep-TNKT6R3W.js"))},{id:"blade",name:"Blade",import:(()=>import("../blade-QBDEYXMB.js"))},{id:"bsl",name:"1C (Enterprise)",aliases:["1c"],import:(()=>import("../bsl-PQW6E45S.js"))},{id:"c",name:"C",import:(()=>import("../c-PZBJFNXE.js"))},{id:"c3",name:"C3",import:(()=>import("../c3-GP7XYHE6.js"))},{id:"cadence",name:"Cadence",aliases:["cdc"],import:(()=>import("../cadence-NABGDHKY.js"))},{id:"cairo",name:"Cairo",import:(()=>import("../cairo-WQSC2GLN.js"))},{id:"clarity",name:"Clarity",import:(()=>import("../clarity-NXNSINKX.js"))},{id:"clojure",name:"Clojure",aliases:["clj"],import:(()=>import("../clojure-Y57BKRMA.js"))},{id:"cmake",name:"CMake",import:(()=>import("../cmake-LVMEA3JZ.js"))},{id:"cobol",name:"COBOL",import:(()=>import("../cobol-6DNJTKH3.js"))},{id:"codeowners",name:"CODEOWNERS",import:(()=>import("../codeowners-JYHOTXQS.js"))},{id:"codeql",name:"CodeQL",aliases:["ql"],import:(()=>import("../codeql-IWWSYR3L.js"))},{id:"coffee",name:"CoffeeScript",aliases:["coffeescript"],import:(()=>import("../coffee-NNDQ5QXC.js"))},{id:"common-lisp",name:"Common Lisp",aliases:["lisp"],import:(()=>import("../common-lisp-JKXCDYH3.js"))},{id:"coq",name:"Coq",import:(()=>import("../coq-BEHPNP64.js"))},{id:"cpp",name:"C++",aliases:["c++"],import:(()=>import("../cpp-IALOHSZA.js"))},{id:"crystal",name:"Crystal",import:(()=>import("../crystal-ZDP3FIUI.js"))},{id:"csharp",name:"C#",aliases:["c#","cs"],import:(()=>import("../csharp-ODFBXRGA.js"))},{id:"css",name:"CSS",import:(()=>import("../css-CJGL5AVH.js"))},{id:"csv",name:"CSV",import:(()=>import("../csv-LIK4TU3Z.js"))},{id:"cue",name:"CUE",import:(()=>import("../cue-UAAEAKHI.js"))},{id:"cypher",name:"Cypher",aliases:["cql"],import:(()=>import("../cypher-SZPVUQZJ.js"))},{id:"d",name:"D",import:(()=>import("../d-VSCA3XHG.js"))},{id:"dart",name:"Dart",import:(()=>import("../dart-A4PE6FIS.js"))},{id:"dax",name:"DAX",import:(()=>import("../dax-TILIKSFB.js"))},{id:"desktop",name:"Desktop",import:(()=>import("../desktop-75KK3D55.js"))},{id:"diff",name:"Diff",import:(()=>import("../diff-HOT6P45M.js"))},{id:"docker",name:"Dockerfile",aliases:["dockerfile"],import:(()=>import("../docker-FF35TY6T.js"))},{id:"dotenv",name:"dotEnv",import:(()=>import("../dotenv-FVPPHJI3.js"))},{id:"dream-maker",name:"Dream Maker",import:(()=>import("../dream-maker-SYE3ZPSJ.js"))},{id:"edge",name:"Edge",import:(()=>import("../edge-CCLQ2CKA.js"))},{id:"elixir",name:"Elixir",import:(()=>import("../elixir-F6DQGRKA.js"))},{id:"elm",name:"Elm",import:(()=>import("../elm-5QRQXDZ6.js"))},{id:"emacs-lisp",name:"Emacs Lisp",aliases:["elisp"],import:(()=>import("../emacs-lisp-NJ4S4OHV.js"))},{id:"erb",name:"ERB",import:(()=>import("../erb-HGSLHT5Y.js"))},{id:"erlang",name:"Erlang",aliases:["erl"],import:(()=>import("../erlang-APEONNZ6.js"))},{id:"fennel",name:"Fennel",import:(()=>import("../fennel-7OCMFVPS.js"))},{id:"fish",name:"Fish",import:(()=>import("../fish-BC46ME2N.js"))},{id:"fluent",name:"Fluent",aliases:["ftl"],import:(()=>import("../fluent-MXZS6EX3.js"))},{id:"fortran-fixed-form",name:"Fortran (Fixed Form)",aliases:["f","for","f77"],import:(()=>import("../fortran-fixed-form-35BC2KX6.js"))},{id:"fortran-free-form",name:"Fortran (Free Form)",aliases:["f90","f95","f03","f08","f18"],import:(()=>import("../fortran-free-form-AXRAI2HH.js"))},{id:"fsharp",name:"F#",aliases:["f#","fs"],import:(()=>import("../fsharp-JKNSQXHD.js"))},{id:"gdresource",name:"GDResource",aliases:["tscn","tres"],import:(()=>import("../gdresource-ZMKZGPZV.js"))},{id:"gdscript",name:"GDScript",aliases:["gd"],import:(()=>import("../gdscript-HNCVXEYB.js"))},{id:"gdshader",name:"GDShader",import:(()=>import("../gdshader-XAJ4QRYP.js"))},{id:"genie",name:"Genie",import:(()=>import("../genie-HEFVQZAP.js"))},{id:"gherkin",name:"Gherkin",import:(()=>import("../gherkin-OFBRDPXX.js"))},{id:"git-commit",name:"Git Commit Message",import:(()=>import("../git-commit-ZE2M3Q5H.js"))},{id:"git-rebase",name:"Git Rebase Message",import:(()=>import("../git-rebase-3N3INGLU.js"))},{id:"gleam",name:"Gleam",import:(()=>import("../gleam-NFFQFQLP.js"))},{id:"glimmer-js",name:"Glimmer JS",aliases:["gjs"],import:(()=>import("../glimmer-js-RSUW6JYN.js"))},{id:"glimmer-ts",name:"Glimmer TS",aliases:["gts"],import:(()=>import("../glimmer-ts-EZGWLX5T.js"))},{id:"glsl",name:"GLSL",import:(()=>import("../glsl-VJLRYEVJ.js"))},{id:"gn",name:"GN",import:(()=>import("../gn-UH2XQWLG.js"))},{id:"gnuplot",name:"Gnuplot",import:(()=>import("../gnuplot-K6IV6NNR.js"))},{id:"go",name:"Go",import:(()=>import("../go-BDV7RR5G.js"))},{id:"graphql",name:"GraphQL",aliases:["gql"],import:(()=>import("../graphql-YEJQLMOO.js"))},{id:"groovy",name:"Groovy",import:(()=>import("../groovy-SX7K3XGL.js"))},{id:"hack",name:"Hack",import:(()=>import("../hack-3TGPQNR2.js"))},{id:"haml",name:"Ruby Haml",import:(()=>import("../haml-335RVEQR.js"))},{id:"handlebars",name:"Handlebars",aliases:["hbs"],import:(()=>import("../handlebars-73IS6B2J.js"))},{id:"haskell",name:"Haskell",aliases:["hs"],import:(()=>import("../haskell-P5PTJARU.js"))},{id:"haxe",name:"Haxe",import:(()=>import("../haxe-RCPSSA3N.js"))},{id:"hcl",name:"HashiCorp HCL",import:(()=>import("../hcl-AKKZAVC2.js"))},{id:"hjson",name:"Hjson",import:(()=>import("../hjson-REXV6F6N.js"))},{id:"hlsl",name:"HLSL",import:(()=>import("../hlsl-AJ7VWOVL.js"))},{id:"html",name:"HTML",import:(()=>import("../html-654LNGWF.js"))},{id:"html-derivative",name:"HTML (Derivative)",import:(()=>import("../html-derivative-CMQ7BFDQ.js"))},{id:"http",name:"HTTP",import:(()=>import("../http-NEPTRAQZ.js"))},{id:"hurl",name:"Hurl",import:(()=>import("../hurl-V6ZX2Q3F.js"))},{id:"hxml",name:"HXML",import:(()=>import("../hxml-5BXJCAAU.js"))},{id:"hy",name:"Hy",import:(()=>import("../hy-SB4TMFE7.js"))},{id:"imba",name:"Imba",import:(()=>import("../imba-Y64MHYWP.js"))},{id:"ini",name:"INI",aliases:["properties"],import:(()=>import("../ini-J2OP4CNW.js"))},{id:"java",name:"Java",import:(()=>import("../java-MJKJ5GPP.js"))},{id:"javascript",name:"JavaScript",aliases:["js","cjs","mjs"],import:(()=>import("../javascript-IYAGHPR6.js"))},{id:"jinja",name:"Jinja",import:(()=>import("../jinja-WPD26JJ6.js"))},{id:"jison",name:"Jison",import:(()=>import("../jison-UYDZQBN5.js"))},{id:"json",name:"JSON",import:(()=>import("../json-5V4JESJO.js"))},{id:"json5",name:"JSON5",import:(()=>import("../json5-7SHUZD3R.js"))},{id:"jsonc",name:"JSON with Comments",import:(()=>import("../jsonc-X3Z34FN3.js"))},{id:"jsonl",name:"JSON Lines",import:(()=>import("../jsonl-6I3D2HM6.js"))},{id:"jsonnet",name:"Jsonnet",import:(()=>import("../jsonnet-PZEQIBYV.js"))},{id:"jssm",name:"JSSM",aliases:["fsl"],import:(()=>import("../jssm-GJJ25IKR.js"))},{id:"jsx",name:"JSX",import:(()=>import("../jsx-NI2J427C.js"))},{id:"julia",name:"Julia",aliases:["jl"],import:(()=>import("../julia-QPZ7EOS6.js"))},{id:"kdl",name:"KDL",import:(()=>import("../kdl-IA7HA2TL.js"))},{id:"kotlin",name:"Kotlin",aliases:["kt","kts"],import:(()=>import("../kotlin-CCRMGYMI.js"))},{id:"kusto",name:"Kusto",aliases:["kql"],import:(()=>import("../kusto-7DW25GYH.js"))},{id:"latex",name:"LaTeX",import:(()=>import("../latex-F2CTDTFG.js"))},{id:"lean",name:"Lean 4",aliases:["lean4"],import:(()=>import("../lean-MGJJWBTR.js"))},{id:"less",name:"Less",import:(()=>import("../less-WFSIMX5G.js"))},{id:"liquid",name:"Liquid",import:(()=>import("../liquid-7CFNUD3V.js"))},{id:"llvm",name:"LLVM IR",import:(()=>import("../llvm-CFQSEDXB.js"))},{id:"log",name:"Log file",import:(()=>import("../log-YQNML6LA.js"))},{id:"logo",name:"Logo",import:(()=>import("../logo-2PPKBL2M.js"))},{id:"lua",name:"Lua",import:(()=>import("../lua-RPAMRKNG.js"))},{id:"luau",name:"Luau",import:(()=>import("../luau-GR2DOH6N.js"))},{id:"make",name:"Makefile",aliases:["makefile"],import:(()=>import("../make-DQQEEPI4.js"))},{id:"markdown",name:"Markdown",aliases:["md"],import:(()=>import("../markdown-OC5ILZSY.js"))},{id:"marko",name:"Marko",import:(()=>import("../marko-XSB3CTWQ.js"))},{id:"matlab",name:"MATLAB",import:(()=>import("../matlab-YQY6FS4U.js"))},{id:"mdc",name:"MDC",import:(()=>import("../mdc-TEVTGSC7.js"))},{id:"mdx",name:"MDX",import:(()=>import("../mdx-ZIH2JLVR.js"))},{id:"mermaid",name:"Mermaid",aliases:["mmd"],import:(()=>import("../mermaid-WPX56SBB.js"))},{id:"mipsasm",name:"MIPS Assembly",aliases:["mips"],import:(()=>import("../mipsasm-IDXQRZ2B.js"))},{id:"mojo",name:"Mojo",import:(()=>import("../mojo-MH7EQVOK.js"))},{id:"moonbit",name:"MoonBit",aliases:["mbt","mbti"],import:(()=>import("../moonbit-5JDFTWKE.js"))},{id:"move",name:"Move",import:(()=>import("../move-RWSXKYDY.js"))},{id:"narrat",name:"Narrat Language",aliases:["nar"],import:(()=>import("../narrat-QJUEXMVV.js"))},{id:"nextflow",name:"Nextflow",aliases:["nf"],import:(()=>import("../nextflow-2EICNZA3.js"))},{id:"nginx",name:"Nginx",import:(()=>import("../nginx-RIWAEC5Z.js"))},{id:"nim",name:"Nim",import:(()=>import("../nim-JPSYX5KC.js"))},{id:"nix",name:"Nix",import:(()=>import("../nix-XCKQVWCN.js"))},{id:"nushell",name:"nushell",aliases:["nu"],import:(()=>import("../nushell-QGW7HANA.js"))},{id:"objective-c",name:"Objective-C",aliases:["objc"],import:(()=>import("../objective-c-V7KYXFHL.js"))},{id:"objective-cpp",name:"Objective-C++",import:(()=>import("../objective-cpp-NKUEWVGU.js"))},{id:"ocaml",name:"OCaml",import:(()=>import("../ocaml-QT2CZJZN.js"))},{id:"odin",name:"Odin",import:(()=>import("../odin-MVMIXBHP.js"))},{id:"openscad",name:"OpenSCAD",aliases:["scad"],import:(()=>import("../openscad-BJDUXUUZ.js"))},{id:"pascal",name:"Pascal",import:(()=>import("../pascal-HGWEFD6L.js"))},{id:"perl",name:"Perl",import:(()=>import("../perl-X4IFZB22.js"))},{id:"php",name:"PHP",import:(()=>import("../php-3V7EPUAN.js"))},{id:"pkl",name:"Pkl",import:(()=>import("../pkl-VA5ZK5DW.js"))},{id:"plsql",name:"PL/SQL",import:(()=>import("../plsql-J7A7YWFH.js"))},{id:"po",name:"Gettext PO",aliases:["pot","potx"],import:(()=>import("../po-5RDI65JX.js"))},{id:"polar",name:"Polar",import:(()=>import("../polar-VUJL2E7F.js"))},{id:"postcss",name:"PostCSS",import:(()=>import("../postcss-ESTB5G7N.js"))},{id:"powerquery",name:"PowerQuery",import:(()=>import("../powerquery-ODTEKQCW.js"))},{id:"powershell",name:"PowerShell",aliases:["ps","ps1"],import:(()=>import("../powershell-ZOYRAWBJ.js"))},{id:"prisma",name:"Prisma",import:(()=>import("../prisma-QHG2W5GE.js"))},{id:"prolog",name:"Prolog",import:(()=>import("../prolog-CSAPG5PH.js"))},{id:"proto",name:"Protocol Buffer 3",aliases:["protobuf"],import:(()=>import("../proto-WDNJBTSW.js"))},{id:"pug",name:"Pug",aliases:["jade"],import:(()=>import("../pug-P7LS6DER.js"))},{id:"puppet",name:"Puppet",import:(()=>import("../puppet-LHFWHTY3.js"))},{id:"purescript",name:"PureScript",import:(()=>import("../purescript-DUFJP4FY.js"))},{id:"python",name:"Python",aliases:["py"],import:(()=>import("../python-5ZNZSNQ2.js"))},{id:"qml",name:"QML",import:(()=>import("../qml-LTAXB6W5.js"))},{id:"qmldir",name:"QML Directory",import:(()=>import("../qmldir-7Z2ODQLM.js"))},{id:"qss",name:"Qt Style Sheets",import:(()=>import("../qss-FDFD3HQD.js"))},{id:"r",name:"R",import:(()=>import("../r-6ZOS53WN.js"))},{id:"racket",name:"Racket",import:(()=>import("../racket-7AYZPEUI.js"))},{id:"raku",name:"Raku",aliases:["perl6"],import:(()=>import("../raku-A4F6VHVG.js"))},{id:"razor",name:"ASP.NET Razor",import:(()=>import("../razor-4QOCK4UD.js"))},{id:"reg",name:"Windows Registry Script",import:(()=>import("../reg-FAPHGG66.js"))},{id:"regexp",name:"RegExp",aliases:["regex"],import:(()=>import("../regexp-5BYLYA2R.js"))},{id:"rel",name:"Rel",import:(()=>import("../rel-7DJ7HHU4.js"))},{id:"riscv",name:"RISC-V",import:(()=>import("../riscv-YIYJATFG.js"))},{id:"ron",name:"RON",import:(()=>import("../ron-HYYMCHTX.js"))},{id:"rosmsg",name:"ROS Interface",import:(()=>import("../rosmsg-FDNH6QF7.js"))},{id:"rst",name:"reStructuredText",import:(()=>import("../rst-WIWCR2KQ.js"))},{id:"ruby",name:"Ruby",aliases:["rb"],import:(()=>import("../ruby-LXZJUMFB.js"))},{id:"rust",name:"Rust",aliases:["rs"],import:(()=>import("../rust-V3GMJA2K.js"))},{id:"sas",name:"SAS",import:(()=>import("../sas-D3G4GB3X.js"))},{id:"sass",name:"Sass",import:(()=>import("../sass-JTO65AGR.js"))},{id:"scala",name:"Scala",import:(()=>import("../scala-4XQGFSVM.js"))},{id:"scheme",name:"Scheme",import:(()=>import("../scheme-CB7AC7IL.js"))},{id:"scss",name:"SCSS",import:(()=>import("../scss-6SKV4OGI.js"))},{id:"sdbl",name:"1C (Query)",aliases:["1c-query"],import:(()=>import("../sdbl-LKGZFJ46.js"))},{id:"shaderlab",name:"ShaderLab",aliases:["shader"],import:(()=>import("../shaderlab-K536DHEB.js"))},{id:"shellscript",name:"Shell",aliases:["bash","sh","shell","zsh"],import:(()=>import("../shellscript-LRNUKUSZ.js"))},{id:"shellsession",name:"Shell Session",aliases:["console"],import:(()=>import("../shellsession-IBQK7VWQ.js"))},{id:"smalltalk",name:"Smalltalk",import:(()=>import("../smalltalk-DQOSWAW7.js"))},{id:"solidity",name:"Solidity",import:(()=>import("../solidity-V2FMZEG4.js"))},{id:"soy",name:"Closure Templates",aliases:["closure-templates"],import:(()=>import("../soy-VW3CKXWF.js"))},{id:"sparql",name:"SPARQL",import:(()=>import("../sparql-L2VKP7YP.js"))},{id:"splunk",name:"Splunk Query Language",aliases:["spl"],import:(()=>import("../splunk-KDKHP7GC.js"))},{id:"sql",name:"SQL",import:(()=>import("../sql-UF27CALT.js"))},{id:"ssh-config",name:"SSH Config",import:(()=>import("../ssh-config-JC2DQ6ED.js"))},{id:"stata",name:"Stata",import:(()=>import("../stata-7PXCUY24.js"))},{id:"stylus",name:"Stylus",aliases:["styl"],import:(()=>import("../stylus-2L7N3EZD.js"))},{id:"surrealql",name:"SurrealQL",aliases:["surql"],import:(()=>import("../surrealql-ZY3E6XEL.js"))},{id:"svelte",name:"Svelte",import:(()=>import("../svelte-Q45XIK2A.js"))},{id:"swift",name:"Swift",import:(()=>import("../swift-XBH5HZSC.js"))},{id:"system-verilog",name:"SystemVerilog",import:(()=>import("../system-verilog-VRAUSZY3.js"))},{id:"systemd",name:"Systemd Units",import:(()=>import("../systemd-JOTSGJD4.js"))},{id:"talonscript",name:"TalonScript",aliases:["talon"],import:(()=>import("../talonscript-NNZRZKOU.js"))},{id:"tasl",name:"Tasl",import:(()=>import("../tasl-MBFZ4QNC.js"))},{id:"tcl",name:"Tcl",import:(()=>import("../tcl-4GEDCBVE.js"))},{id:"templ",name:"Templ",import:(()=>import("../templ-3XM7DLQ3.js"))},{id:"terraform",name:"Terraform",aliases:["tf","tfvars"],import:(()=>import("../terraform-XTHOS4UK.js"))},{id:"tex",name:"TeX",import:(()=>import("../tex-UXMN2CV7.js"))},{id:"toml",name:"TOML",import:(()=>import("../toml-J6K55ZSV.js"))},{id:"ts-tags",name:"TypeScript with Tags",aliases:["lit"],import:(()=>import("../ts-tags-7WGDLEKX.js"))},{id:"tsv",name:"TSV",import:(()=>import("../tsv-DOUJHQDQ.js"))},{id:"tsx",name:"TSX",import:(()=>import("../tsx-G5BMVRHK.js"))},{id:"turtle",name:"Turtle",import:(()=>import("../turtle-JHJ7W6U5.js"))},{id:"twig",name:"Twig",import:(()=>import("../twig-C6YWFFZU.js"))},{id:"typescript",name:"TypeScript",aliases:["ts","cts","mts"],import:(()=>import("../typescript-LMKEAHFC.js"))},{id:"typespec",name:"TypeSpec",aliases:["tsp"],import:(()=>import("../typespec-5CLTIJYY.js"))},{id:"typst",name:"Typst",aliases:["typ"],import:(()=>import("../typst-4W4Z436Z.js"))},{id:"v",name:"V",import:(()=>import("../v-Y4SBDBN7.js"))},{id:"vala",name:"Vala",import:(()=>import("../vala-UMKT2MFA.js"))},{id:"vb",name:"Visual Basic",aliases:["cmd"],import:(()=>import("../vb-DQ7A5WJU.js"))},{id:"verilog",name:"Verilog",import:(()=>import("../verilog-N6ZF7GQD.js"))},{id:"vhdl",name:"VHDL",import:(()=>import("../vhdl-BNYDT37G.js"))},{id:"viml",name:"Vim Script",aliases:["vim","vimscript"],import:(()=>import("../viml-37RMDCBC.js"))},{id:"vue",name:"Vue",import:(()=>import("../vue-O6SLORWU.js"))},{id:"vue-html",name:"Vue HTML",import:(()=>import("../vue-html-ZLTZN573.js"))},{id:"vue-vine",name:"Vue Vine",import:(()=>import("../vue-vine-6JKAZ54I.js"))},{id:"vyper",name:"Vyper",aliases:["vy"],import:(()=>import("../vyper-GVXF46KD.js"))},{id:"wasm",name:"WebAssembly",import:(()=>import("../wasm-NTB4O7GL.js"))},{id:"wenyan",name:"Wenyan",aliases:["\u6587\u8A00"],import:(()=>import("../wenyan-W7WB3BC7.js"))},{id:"wgsl",name:"WGSL",import:(()=>import("../wgsl-7GTDVXHG.js"))},{id:"wikitext",name:"Wikitext",aliases:["mediawiki","wiki"],import:(()=>import("../wikitext-ASAFPAIL.js"))},{id:"wit",name:"WebAssembly Interface Types",import:(()=>import("../wit-ZBCR6544.js"))},{id:"wolfram",name:"Wolfram",aliases:["wl"],import:(()=>import("../wolfram-SZRZOETJ.js"))},{id:"xml",name:"XML",import:(()=>import("../xml-EBTJCOTU.js"))},{id:"xsl",name:"XSL",import:(()=>import("../xsl-IBYEXWDX.js"))},{id:"yaml",name:"YAML",aliases:["yml"],import:(()=>import("../yaml-GMVQNECR.js"))},{id:"zenscript",name:"ZenScript",import:(()=>import("../zenscript-O2TZFP4A.js"))},{id:"zig",name:"Zig",import:(()=>import("../zig-ZLGM7IMN.js"))}],kn=Object.fromEntries(Go.map(e=>[e.id,e.import])),bn=Object.fromEntries(Go.flatMap(e=>e.aliases?.map(t=>[t,e.import])||[])),_t={...kn,...bn};var tf=[{id:"andromeeda",displayName:"Andromeeda",type:"dark",import:(()=>import("../andromeeda-HAPOYWX3.js"))},{id:"aurora-x",displayName:"Aurora X",type:"dark",import:(()=>import("../aurora-x-R6WAWEBC.js"))},{id:"ayu-dark",displayName:"Ayu Dark",type:"dark",import:(()=>import("../ayu-dark-KMD4YO7F.js"))},{id:"ayu-light",displayName:"Ayu Light",type:"light",import:(()=>import("../ayu-light-2ATPDILG.js"))},{id:"ayu-mirage",displayName:"Ayu Mirage",type:"dark",import:(()=>import("../ayu-mirage-LJ7PG5AM.js"))},{id:"catppuccin-frappe",displayName:"Catppuccin Frapp\xE9",type:"dark",import:(()=>import("../catppuccin-frappe-Z4Y2POK6.js"))},{id:"catppuccin-latte",displayName:"Catppuccin Latte",type:"light",import:(()=>import("../catppuccin-latte-4TQUIKX4.js"))},{id:"catppuccin-macchiato",displayName:"Catppuccin Macchiato",type:"dark",import:(()=>import("../catppuccin-macchiato-B7YYPERT.js"))},{id:"catppuccin-mocha",displayName:"Catppuccin Mocha",type:"dark",import:(()=>import("../catppuccin-mocha-KX33VXKA.js"))},{id:"dark-plus",displayName:"Dark Plus",type:"dark",import:(()=>import("../dark-plus-LNHXUR7U.js"))},{id:"dracula",displayName:"Dracula Theme",type:"dark",import:(()=>import("../dracula-T2CMBBQ5.js"))},{id:"dracula-soft",displayName:"Dracula Theme Soft",type:"dark",import:(()=>import("../dracula-soft-SMFRNKX2.js"))},{id:"everforest-dark",displayName:"Everforest Dark",type:"dark",import:(()=>import("../everforest-dark-DBZHIUAO.js"))},{id:"everforest-light",displayName:"Everforest Light",type:"light",import:(()=>import("../everforest-light-TDAGYJUK.js"))},{id:"github-dark",displayName:"GitHub Dark",type:"dark",import:(()=>import("../github-dark-3E25TTAN.js"))},{id:"github-dark-default",displayName:"GitHub Dark Default",type:"dark",import:(()=>import("../github-dark-default-KCBFVSS5.js"))},{id:"github-dark-dimmed",displayName:"GitHub Dark Dimmed",type:"dark",import:(()=>import("../github-dark-dimmed-WRCBXEVS.js"))},{id:"github-dark-high-contrast",displayName:"GitHub Dark High Contrast",type:"dark",import:(()=>import("../github-dark-high-contrast-ET7SAHAV.js"))},{id:"github-light",displayName:"GitHub Light",type:"light",import:(()=>import("../github-light-6FNTZH5H.js"))},{id:"github-light-default",displayName:"GitHub Light Default",type:"light",import:(()=>import("../github-light-default-GGTAKNM7.js"))},{id:"github-light-high-contrast",displayName:"GitHub Light High Contrast",type:"light",import:(()=>import("../github-light-high-contrast-LHYKPR5E.js"))},{id:"gruvbox-dark-hard",displayName:"Gruvbox Dark Hard",type:"dark",import:(()=>import("../gruvbox-dark-hard-IQWZCHF7.js"))},{id:"gruvbox-dark-medium",displayName:"Gruvbox Dark Medium",type:"dark",import:(()=>import("../gruvbox-dark-medium-ARPWF4FS.js"))},{id:"gruvbox-dark-soft",displayName:"Gruvbox Dark Soft",type:"dark",import:(()=>import("../gruvbox-dark-soft-ODS6FPID.js"))},{id:"gruvbox-light-hard",displayName:"Gruvbox Light Hard",type:"light",import:(()=>import("../gruvbox-light-hard-KFA5YFDW.js"))},{id:"gruvbox-light-medium",displayName:"Gruvbox Light Medium",type:"light",import:(()=>import("../gruvbox-light-medium-MMET4L3Y.js"))},{id:"gruvbox-light-soft",displayName:"Gruvbox Light Soft",type:"light",import:(()=>import("../gruvbox-light-soft-DBZDERMK.js"))},{id:"horizon",displayName:"Horizon",type:"dark",import:(()=>import("../horizon-FSOMPXNP.js"))},{id:"houston",displayName:"Houston",type:"dark",import:(()=>import("../houston-FAQBCORN.js"))},{id:"kanagawa-dragon",displayName:"Kanagawa Dragon",type:"dark",import:(()=>import("../kanagawa-dragon-JNDVF5RJ.js"))},{id:"kanagawa-lotus",displayName:"Kanagawa Lotus",type:"light",import:(()=>import("../kanagawa-lotus-S7JK6TQ6.js"))},{id:"kanagawa-wave",displayName:"Kanagawa Wave",type:"dark",import:(()=>import("../kanagawa-wave-QJJIMVEV.js"))},{id:"laserwave",displayName:"LaserWave",type:"dark",import:(()=>import("../laserwave-YFP3EJVX.js"))},{id:"light-plus",displayName:"Light Plus",type:"light",import:(()=>import("../light-plus-NGDHCPUZ.js"))},{id:"material-theme",displayName:"Material Theme",type:"dark",import:(()=>import("../material-theme-H2BHKUKX.js"))},{id:"material-theme-darker",displayName:"Material Theme Darker",type:"dark",import:(()=>import("../material-theme-darker-VENCGWTB.js"))},{id:"material-theme-lighter",displayName:"Material Theme Lighter",type:"light",import:(()=>import("../material-theme-lighter-SDMLS22W.js"))},{id:"material-theme-ocean",displayName:"Material Theme Ocean",type:"dark",import:(()=>import("../material-theme-ocean-UHDBRLVF.js"))},{id:"material-theme-palenight",displayName:"Material Theme Palenight",type:"dark",import:(()=>import("../material-theme-palenight-3TB2BEET.js"))},{id:"min-dark",displayName:"Min Dark",type:"dark",import:(()=>import("../min-dark-CQ5WKNT7.js"))},{id:"min-light",displayName:"Min Light",type:"light",import:(()=>import("../min-light-LZRD4NPR.js"))},{id:"monokai",displayName:"Monokai",type:"dark",import:(()=>import("../monokai-WHRY6275.js"))},{id:"night-owl",displayName:"Night Owl",type:"dark",import:(()=>import("../night-owl-7PNEW2JB.js"))},{id:"night-owl-light",displayName:"Night Owl Light",type:"light",import:(()=>import("../night-owl-light-GJUYOOJR.js"))},{id:"nord",displayName:"Nord",type:"dark",import:(()=>import("../nord-EVGUMUX2.js"))},{id:"one-dark-pro",displayName:"One Dark Pro",type:"dark",import:(()=>import("../one-dark-pro-PMTR3SA7.js"))},{id:"one-light",displayName:"One Light",type:"light",import:(()=>import("../one-light-O7WH4N5X.js"))},{id:"plastic",displayName:"Plastic",type:"dark",import:(()=>import("../plastic-FBVUW6NJ.js"))},{id:"poimandres",displayName:"Poimandres",type:"dark",import:(()=>import("../poimandres-WBB7GZAD.js"))},{id:"red",displayName:"Red",type:"dark",import:(()=>import("../red-7KAMONOP.js"))},{id:"rose-pine",displayName:"Ros\xE9 Pine",type:"dark",import:(()=>import("../rose-pine-F2G5IHZD.js"))},{id:"rose-pine-dawn",displayName:"Ros\xE9 Pine Dawn",type:"light",import:(()=>import("../rose-pine-dawn-ALZ7XGH2.js"))},{id:"rose-pine-moon",displayName:"Ros\xE9 Pine Moon",type:"dark",import:(()=>import("../rose-pine-moon-D3K4SWUL.js"))},{id:"slack-dark",displayName:"Slack Dark",type:"dark",import:(()=>import("../slack-dark-YFPJODWS.js"))},{id:"slack-ochin",displayName:"Slack Ochin",type:"light",import:(()=>import("../slack-ochin-H67AWZOI.js"))},{id:"snazzy-light",displayName:"Snazzy Light",type:"light",import:(()=>import("../snazzy-light-OUVS63VK.js"))},{id:"solarized-dark",displayName:"Solarized Dark",type:"dark",import:(()=>import("../solarized-dark-2RCAVEXJ.js"))},{id:"solarized-light",displayName:"Solarized Light",type:"light",import:(()=>import("../solarized-light-XFSENHTC.js"))},{id:"synthwave-84",displayName:"Synthwave '84",type:"dark",import:(()=>import("../synthwave-84-5XXB3K6S.js"))},{id:"tokyo-night",displayName:"Tokyo Night",type:"dark",import:(()=>import("../tokyo-night-CHJCCBJH.js"))},{id:"vesper",displayName:"Vesper",type:"dark",import:(()=>import("../vesper-Y5GIEAN4.js"))},{id:"vitesse-black",displayName:"Vitesse Black",type:"dark",import:(()=>import("../vitesse-black-7TI33KHX.js"))},{id:"vitesse-dark",displayName:"Vitesse Dark",type:"dark",import:(()=>import("../vitesse-dark-FOB25MRB.js"))},{id:"vitesse-light",displayName:"Vitesse Light",type:"light",import:(()=>import("../vitesse-light-4WCNCTCO.js"))}],Tn=Object.fromEntries(tf.map(e=>[e.id,e.import]));var Nt=class extends Error{constructor(t){super(t),this.name="ShikiError"}};function af(){return 2147483648}function of(){return typeof performance<"u"?performance.now():Date.now()}var rf=(e,t)=>e+(t-e%t)%t;async function sf(e){let t,a,o={};function r(p){a=p,o.HEAPU8=new Uint8Array(p),o.HEAPU32=new Uint32Array(p)}function s(p,m,I){o.HEAPU8.copyWithin(p,m,m+I)}function n(p){try{return t.grow(p-a.byteLength+65535>>>16),r(t.buffer),1}catch{}}function i(p){let m=o.HEAPU8.length;p=p>>>0;let I=af();if(p>I)return!1;for(let C=1;C<=4;C*=2){let x=m*(1+.2/C);x=Math.min(x,p+100663296);let g=Math.min(I,rf(Math.max(p,x),65536));if(n(g))return!0}return!1}let l=typeof TextDecoder<"u"?new TextDecoder("utf8"):void 0;function u(p,m,I=1024){let C=m+I,x=m;for(;p[x]&&!(x>=C);)++x;if(x-m>16&&p.buffer&&l)return l.decode(p.subarray(m,x));let g="";for(;m<x;){let h=p[m++];if(!(h&128)){g+=String.fromCharCode(h);continue}let L=p[m++]&63;if((h&224)===192){g+=String.fromCharCode((h&31)<<6|L);continue}let w=p[m++]&63;if((h&240)===224?h=(h&15)<<12|L<<6|w:h=(h&7)<<18|L<<12|w<<6|p[m++]&63,h<65536)g+=String.fromCharCode(h);else{let b=h-65536;g+=String.fromCharCode(55296|b>>10,56320|b&1023)}}return g}function f(p,m){return p?u(o.HEAPU8,p,m):""}let d={emscripten_get_now:of,emscripten_memcpy_big:s,emscripten_resize_heap:i,fd_write:()=>0};async function c(){let m=await e({env:d,wasi_snapshot_preview1:d});t=m.memory,r(t.buffer),Object.assign(o,m),o.UTF8ToString=f}return await c(),o}var nf=Object.defineProperty,lf=(e,t,a)=>t in e?nf(e,t,{enumerable:!0,configurable:!0,writable:!0,value:a}):e[t]=a,ne=(e,t,a)=>lf(e,typeof t!="symbol"?t+"":t,a),ie=null;function uf(e){throw new Nt(e.UTF8ToString(e.getLastOnigError()))}var Ma=class e{constructor(t){ne(this,"utf16Length"),ne(this,"utf8Length"),ne(this,"utf16Value"),ne(this,"utf8Value"),ne(this,"utf16OffsetToUtf8"),ne(this,"utf8OffsetToUtf16");let a=t.length,o=e._utf8ByteLength(t),r=o!==a,s=r?new Uint32Array(a+1):null;r&&(s[a]=o);let n=r?new Uint32Array(o+1):null;r&&(n[o]=a);let i=new Uint8Array(o),l=0;for(let u=0;u<a;u++){let f=t.charCodeAt(u),d=f,c=!1;if(f>=55296&&f<=56319&&u+1<a){let p=t.charCodeAt(u+1);p>=56320&&p<=57343&&(d=(f-55296<<10)+65536|p-56320,c=!0)}r&&(s[u]=l,c&&(s[u+1]=l),d<=127?n[l+0]=u:d<=2047?(n[l+0]=u,n[l+1]=u):d<=65535?(n[l+0]=u,n[l+1]=u,n[l+2]=u):(n[l+0]=u,n[l+1]=u,n[l+2]=u,n[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),c&&u++}this.utf16Length=a,this.utf8Length=o,this.utf16Value=t,this.utf8Value=i,this.utf16OffsetToUtf8=s,this.utf8OffsetToUtf16=n}static _utf8ByteLength(t){let a=0;for(let o=0,r=t.length;o<r;o++){let s=t.charCodeAt(o),n=s,i=!1;if(s>=55296&&s<=56319&&o+1<r){let l=t.charCodeAt(o+1);l>=56320&&l<=57343&&(n=(s-55296<<10)+65536|l-56320,i=!0)}n<=127?a+=1:n<=2047?a+=2:n<=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}},Ra=class Re{constructor(t){if(ne(this,"id",++Re.LAST_ID),ne(this,"_onigBinding"),ne(this,"content"),ne(this,"utf16Length"),ne(this,"utf8Length"),ne(this,"utf16OffsetToUtf8"),ne(this,"utf8OffsetToUtf16"),ne(this,"ptr"),!ie)throw new Nt("Must invoke loadWasm first.");this._onigBinding=ie,this.content=t;let a=new Ma(t);this.utf16Length=a.utf16Length,this.utf8Length=a.utf8Length,this.utf16OffsetToUtf8=a.utf16OffsetToUtf8,this.utf8OffsetToUtf16=a.utf8OffsetToUtf16,this.utf8Length<1e4&&!Re._sharedPtrInUse?(Re._sharedPtr||(Re._sharedPtr=ie.omalloc(1e4)),Re._sharedPtrInUse=!0,ie.HEAPU8.set(a.utf8Value,Re._sharedPtr),this.ptr=Re._sharedPtr):this.ptr=a.createString(ie)}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===Re._sharedPtr?Re._sharedPtrInUse=!1:this._onigBinding.ofree(this.ptr)}};ne(Ra,"LAST_ID",0);ne(Ra,"_sharedPtr",0);ne(Ra,"_sharedPtrInUse",!1);var Pn=Ra,zo=class{constructor(t){if(ne(this,"_onigBinding"),ne(this,"_ptr"),!ie)throw new Nt("Must invoke loadWasm first.");let a=[],o=[];for(let i=0,l=t.length;i<l;i++){let u=new Ma(t[i]);a[i]=u.createString(ie),o[i]=u.utf8Length}let r=ie.omalloc(4*t.length);ie.HEAPU32.set(a,r/4);let s=ie.omalloc(4*t.length);ie.HEAPU32.set(o,s/4);let n=ie.createOnigScanner(r,s,t.length);for(let i=0,l=t.length;i<l;i++)ie.ofree(a[i]);ie.ofree(s),ie.ofree(r),n===0&&uf(ie),this._onigBinding=ie,this._ptr=n}dispose(){this._onigBinding.freeOnigScanner(this._ptr)}findNextMatchSync(t,a,o){let r=0;if(typeof o=="number"&&(r=o),typeof t=="string"){t=new Pn(t);let s=this._findNextMatchSync(t,a,!1,r);return t.dispose(),s}return this._findNextMatchSync(t,a,!1,r)}_findNextMatchSync(t,a,o,r){let s=this._onigBinding,n=s.findNextOnigScannerMatch(this._ptr,t.id,t.ptr,t.utf8Length,t.convertUtf16OffsetToUtf8(a),r);if(n===0)return null;let i=s.HEAPU32,l=n/4,u=i[l++],f=i[l++],d=[];for(let c=0;c<f;c++){let p=t.convertUtf8OffsetToUtf16(i[l++]),m=t.convertUtf8OffsetToUtf16(i[l++]);d[c]={start:p,end:m,length:m-p}}return{index:u,captureIndices:d}}};function df(e){return typeof e.instantiator=="function"}function ff(e){return typeof e.default=="function"}function cf(e){return typeof e.data<"u"}function pf(e){return typeof Response<"u"&&e instanceof Response}function mf(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 va;function hf(e){if(va)return va;async function t(){ie=await sf(async a=>{let o=e;return o=await o,typeof o=="function"&&(o=await o(a)),typeof o=="function"&&(o=await o(a)),df(o)?o=await o.instantiator(a):ff(o)?o=await o.default(a):(cf(o)&&(o=o.data),pf(o)?typeof WebAssembly.instantiateStreaming=="function"?o=await gf(o)(a):o=await wf(o)(a):mf(o)?o=await Wo(o)(a):o instanceof WebAssembly.Module?o=await Wo(o)(a):"default"in o&&o.default instanceof WebAssembly.Module&&(o=await Wo(o.default)(a))),"instance"in o&&(o=o.instance),"exports"in o&&(o=o.exports),o})}return va=t(),va}function Wo(e){return t=>WebAssembly.instantiate(e,t)}function gf(e){return t=>WebAssembly.instantiateStreaming(e,t)}function wf(e){return async t=>{let a=await e.arrayBuffer();return WebAssembly.instantiate(a,t)}}async function An(e){return e&&await hf(e),{createScanner(t){return new zo(t.map(a=>typeof a=="string"?a:a.source))},createString(t){return new Pn(t)}}}var Fa=Sn({langs:_t,themes:Tn,engine:()=>An(import("../wasm-EOPKAILK.js"))}),{codeToHtml:xf,codeToHast:Lf,codeToTokens:Cf,codeToTokensBase:If,codeToTokensWithThemes:Sf,getSingletonHighlighter:yf,getLastGrammarState:kf}=yn(Fa,{guessEmbeddedLanguages:hn});var vn=new Set(Object.keys(_t)),jo=new Map,Vo=new Map,dt=new Map,bf=(e,t)=>`${e}-${t[0]}-${t[1]}`,Tf=(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}`},Pf=(e,t)=>{let a=bf(e,t);if(jo.has(a))return jo.get(a);let o=Fa({themes:t,langs:[e]});return jo.set(a,o),o};function Af(e={}){var t;let a=(t=e.themes)!=null?t:["github-light","github-dark"];return{name:"shiki",type:"code-highlighter",supportsLanguage(o){return vn.has(o)},getSupportedLanguages(){return Array.from(vn)},getThemes(){return a},highlight({code:o,language:r,themes:s},n){let i=Tf(o,r,s);return Vo.has(i)?Vo.get(i):(n&&(dt.has(i)||dt.set(i,new Set),dt.get(i).add(n)),Pf(r,s).then(l=>{let u=l.getLoadedLanguages().includes(r)?r:"text",f=l.codeToTokens(o,{lang:u,themes:{light:s[0],dark:s[1]}});Vo.set(i,f);let d=dt.get(i);if(d){for(let c of d)c(f);dt.delete(i)}}).catch(l=>{console.error("[Streamdown Code] Failed to highlight code:",l),dt.delete(i)}),null)}}}var Mn=Af();import{memo as vf}from"react";import{jsx as Ba}from"react/jsx-runtime";var Da=({className:e,from:t,children:a,...o})=>Ba("div",{className:T("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:Ba("div",{className:T("ww:flex ww:min-w-0 ww:flex-col ww:gap-2","ww:w-full"),children:a})}),Ea=({children:e,className:t,...a})=>Ba("div",{className:T("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}),Mf={cjk:cs,code:Mn},_a=vf(({className:e,...t})=>Ba(ro,{className:T("ww:size-full ww:[&>*:first-child]:mt-0 ww:[&>*:last-child]:mb-0",e),plugins:Mf,...t}),(e,t)=>e.children===t.children);_a.displayName="MessageResponse";import{jsx as Rf}from"react/jsx-runtime";function Rn({className:e,text:t,...a}){return t?Rf("pre",{className:T("ww:mb-2 ww:overflow-x-auto ww:whitespace-pre-wrap ww:break-words ww:text-xs ww:font-mono ww:text-muted-foreground",e),...a,children:t}):null}import{createContext as Ff,useCallback as Bf,useContext as En,useEffect as Df,useMemo as Xo,useRef as Ef,useState as Qo}from"react";import{Fragment as Dn,jsx as z,jsxs as Ee}from"react/jsx-runtime";function _f(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=[],s=t-2;for(let[n,i]of o){if(s<=8)break;let l=n.length>4?`${n.slice(0,4)}\u2026`:n,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 f=`${l}\u2009${u}`;r.push(f),s-=f.length+3}return`{${r.join(", ")}}`}function Nf({text:e,className:t}){let[a,o]=Qo(!1),r=Ef(null);Df(()=>()=>{r.current&&clearTimeout(r.current)},[]);let s=Bf(async n=>{n.stopPropagation();try{await navigator.clipboard.writeText(e),o(!0),r.current&&clearTimeout(r.current),r.current=setTimeout(()=>o(!1),2e3)}catch{}},[e]);return z(ke,{variant:"ghost",size:"sm",onClick:s,className:T("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:a?Ee(Dn,{children:[z(mt,{className:"ww:size-3.5"}),z("span",{children:"Copied"})]}):Ee(Dn,{children:[z(wt,{className:"ww:size-3.5"}),z("span",{children:"Copy"})]})})}function _n({data:e,label:t,className:a,...o}){let[r,s]=Qo(!1),n=Xo(()=>JSON.stringify(e,null,2),[e]),i=_f(e);return Ee("div",{className:T("ww:rounded-lg ww:bg-tool-card",a),...o,children:[Ee("div",{className:"ww:flex ww:items-center ww:justify-between ww:px-3 ww:pt-2.5 ww:pb-1.5",children:[z("span",{className:"ww:text-xs ww:font-medium ww:text-muted-foreground",children:t}),z(Nf,{text:n})]}),Ee("button",{type:"button",onClick:()=>s(l=>!l),className:"ww:flex ww:w-full ww:items-start ww:gap-2 ww:px-3 ww:pb-3 ww:text-left",children:[z(gt,{className:T("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?z("pre",{className:"ww:overflow-x-auto ww:text-xs ww:font-mono ww:text-foreground ww:whitespace-pre-wrap ww:break-all",children:z("code",{children:n})}):z("span",{className:"ww:truncate ww:text-xs ww:font-mono ww:text-foreground/80",children:i})]})]})}var Ko=Ff({open:!1,toggle:()=>{}});function Nn({className:e,defaultOpen:t=!1,children:a,...o}){let[r,s]=Qo(t);return z(Ko.Provider,{value:{open:r,toggle:()=>s(n=>!n)},children:z("div",{className:T("ww:mb-4 ww:w-full",e),"data-state":r?"open":"closed",...o,children:a})})}function Un({className:e,title:t,state:a,...o}){let{open:r,toggle:s}=En(Ko),n=a==="input-available"||a==="input-streaming";return Ee("button",{type:"button",onClick:s,className:T("ww:flex ww:w-full ww:items-center ww:justify-between ww:gap-3 ww:py-1.5",e),"aria-expanded":r,...o,children:[Ee("div",{className:"ww:flex ww:min-w-0 ww:items-center ww:gap-2",children:[z(Ue,{className:"ww:size-4 ww:shrink-0 ww:text-muted-foreground"}),z("span",{className:"ww:truncate ww:text-sm ww:font-medium",children:t}),n&&z("span",{className:"ww:size-2 ww:shrink-0 ww:rounded-full ww:bg-primary ww:animate-pulse"})]}),z(ht,{className:T("ww:size-4 ww:shrink-0 ww:text-muted-foreground ww:transition-transform ww:duration-200",r&&"ww:rotate-180")})]})}function On({className:e,title:t,state:a,...o}){let r=a==="input-available"||a==="input-streaming";return Ee("div",{className:T("ww:mb-4 ww:flex ww:items-center ww:gap-2 ww:py-1.5 ww:text-sm ww:text-muted-foreground ww:italic",e),...o,children:[z("span",{className:"ww:truncate",children:t}),r&&z("span",{className:"ww:size-2 ww:shrink-0 ww:rounded-full ww:bg-primary ww:animate-pulse"})]})}function Hn({className:e,children:t,...a}){let{open:o}=En(Ko);return z("div",{className:T("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:z("div",{className:"ww:min-h-0 ww:overflow-hidden",children:z("div",{className:T("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 qn({className:e,input:t,debug:a,...o}){let r=Xo(()=>{if(!a&&typeof t=="object"&&t!==null&&!Array.isArray(t)){let{_meta:s,...n}=t;return n}return t},[t,a]);return z(_n,{data:r,label:"Request",className:e,...o})}function $o(e){if(!(typeof e!="object"||e===null))return e}function Gn(e){return $o(e?.ui)}function Wn(e){return $o($o(e)?._meta)}function Fn(e){if(!e)return;let t=Gn(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 Bn(e){return Gn(e)?.autoHeight===!0}function Na(e,t,a){if(e){let o=Fn(a?.[e]?._meta);if(o)return o}return Fn(Wn(t))}function zn(e,t,a){return e&&Bn(a?.[e]?._meta)?!0:Bn(Wn(t))}function jn({className:e,output:t,errorText:a,debug:o,...r}){let s=Xo(()=>{if(!o&&typeof t=="object"&&t!==null&&!Array.isArray(t)){let{_meta:n,...i}=t;return i}return t},[t,o]);return t||a?a?Ee("div",{className:T("ww:space-y-2",e),...r,children:[z("h4",{className:"ww:text-xs ww:font-medium ww:uppercase ww:tracking-wide ww:text-muted-foreground",children:"Error"}),z("div",{className:"ww:rounded-lg ww:bg-destructive/10 ww:p-3 ww:text-xs ww:text-destructive",children:a})]}):z(_n,{data:s,label:"Response",className:e,...r}):null}import{useCallback as Uf,useEffect as $n,useMemo as Of,useRef as xe,useState as Xn}from"react";function ft(e){if(!e)return!1;let t=Array.isArray(e.content)&&e.content.length>0,a=typeof e.structuredContent=="object"&&e.structuredContent!==null&&Object.keys(e.structuredContent).length>0;return t||a}function Vn(e,t){return!ft(e)&&!ft(t)?null:ft(e)?ft(t)?{...e.content||t.content?{content:[...e.content??[],...t.content??[]]}:{},...e.structuredContent||t.structuredContent?{structuredContent:{...e.structuredContent??{},...t.structuredContent??{}}}:{}}:{...e.content?{content:[...e.content]}:{},...e.structuredContent?{structuredContent:{...e.structuredContent}}:{}}:{...t?.content?{content:[...t.content]}:{},...t?.structuredContent?{structuredContent:{...t.structuredContent}}:{}}}import{jsx as Kf}from"react/jsx-runtime";var Hf="/api/mcp/resource",qf=500,Gf=0,Wf=16,zf="2026-01-26",jf=300,Vf=3e3,$f=3;function Xf(e){if(typeof e!="string")return;let t=e.trim();return t.length>0?t:void 0}function Qf(e,t,a){return Na(e,t,a)?!1:t._meta?.["waniwani/autoInjectResultText"]!==!1}function Jo({resourceUri:e,toolInput:t,toolResult:a,resourceEndpoint:o=Hf,chatSessionId:r,isDark:s=!1,className:n,autoHeight:i=!1,onOpenLink:l,onFollowUp:u,onCallTool:f,onDisplayModeChange:d,isFullscreen:c=!1,toolDefinitions:p}){let m=xe(null),I=xe(t),C=xe(a),x=xe({width:0,height:0}),g=xe(null),h=xe(!1),L=xe(0),w=xe("inline"),[b,P]=Xn(Gf),[y,D]=Xn(void 0),v=xe(l),F=xe(u),k=xe(f),B=xe(d),H=xe(r),O=xe(p);I.current=t,C.current=a,v.current=l,F.current=u,k.current=f,B.current=d,H.current=r,O.current=p;let ue=Uf(q=>i?Math.max(q+Wf,0):Math.min(Math.max(q,50),qf),[i]),ge=Of(()=>{let q=o.includes("?")?"&":"?";return`${o}${q}uri=${encodeURIComponent(e)}`},[o,e]),K=xe(s);return K.current=s,$n(()=>{if(!h.current)return;let q=m.current;q?.contentWindow&&q.contentWindow.postMessage({jsonrpc:"2.0",method:"ui/notifications/host-context-changed",params:{theme:s?"dark":"light"}},"*")},[s]),$n(()=>{let q=m.current;if(!q)return;let ee=!1,_=!1,J=null,re=null,A=setTimeout(()=>{if(ee||_||L.current>=$f)return;L.current+=1;let j=new URL(q.src);j.searchParams.set("_retry",String(L.current)),q.src=j.toString()},Vf),R=j=>{q.contentWindow?.postMessage(j,"*")},se=j=>{if(ee||j.source!==q.contentWindow)return;let G=j.data;if(!G||typeof G!="object"||G.jsonrpc!=="2.0")return;let V=G.method,N=G.id;if(V==="ui/initialize"&&N!=null){_=!0,clearTimeout(A),R({jsonrpc:"2.0",id:N,result:{protocolVersion:G.params?.protocolVersion??zf,hostInfo:{name:"WaniWani Chat",version:"1.0.0"},hostCapabilities:{openLinks:{},message:{text:{}},tools:{},updateModelContext:{text:{},structuredContent:{}}},hostContext:{theme:K.current?"dark":"light",displayMode:w.current}}});return}if(V==="ui/notifications/initialized"){h.current=!0;let W=I.current,$=C.current,U=$._meta&&typeof $._meta=="object"?$._meta:null,X=Xf(H.current),ae=U&&typeof U.waniwani=="object"&&U.waniwani!==null?U.waniwani:null,Se=ae||X?{...ae??{},...X?{sessionId:X}:{}}:void 0,_e=U||Se?{...U??{},...Se?{waniwani:Se}:{}}:void 0;R({jsonrpc:"2.0",method:"ui/notifications/tool-input",params:{arguments:W}});let tt=$.content??[{type:"text",text:JSON.stringify($)}];R({jsonrpc:"2.0",method:"ui/notifications/tool-result",params:{content:tt,structuredContent:$.structuredContent,_meta:_e,meta:_e}});return}if(V==="ui/notifications/size-changed"){let W=G.params,$=typeof W?.height=="number"?W.height:void 0,U=typeof W?.width=="number"?W.width:void 0,X=x.current,ae=$!==void 0&&$!==X.height,Se=U!==void 0&&U!==X.width;if(!ae&&!Se)return;if(ae&&$!==void 0){X.height=$;let _e=ue($),tt=q.getBoundingClientRect().height;if(g.current&&(g.current.cancel(),g.current=null),P(_e),q.animate&&Math.abs(tt-_e)>2){let at=q.animate([{height:`${tt}px`},{height:`${_e}px`}],{duration:jf,easing:"ease-out",fill:"forwards"});g.current=at,at.onfinish=()=>{g.current===at&&(at.cancel(),g.current=null)}}}Se&&i&&U!==void 0&&(X.width=U,D(U));return}if(V==="ui/open-link"&&N!=null){let W=G.params?.url;typeof W=="string"&&(v.current?v.current(W):window.open(W,"_blank","noopener,noreferrer")),R({jsonrpc:"2.0",id:N,result:{}});return}if(V==="ui/message"&&N!=null){if(F.current&&G.params){let W=G.params,$=J;if(J=null,re){clearTimeout(re.timer);let U=re.text;re=null;let X=(W.content??[]).map(ae=>ae.text??"").join("").trim();W={...W,content:[{type:"text",text:`${X}
14
14
 
15
- ${U}`}]}}F.current({...W,...$?{modelContext:$}:{}})}R({jsonrpc:"2.0",id:N,result:{}});return}if(V==="ui/update-model-context"&&N!=null){J=jn(J,G.params),R({jsonrpc:"2.0",id:N,result:{}});return}if(V==="tools/call"&&N!=null){let W=k.current;if(!W){R({jsonrpc:"2.0",id:N,error:{code:-32601,message:"tools/call not supported"}});return}let $=G.params?.name;W({name:$,arguments:G.params?.arguments??{}}).then(U=>{R({jsonrpc:"2.0",id:N,result:U});let X=U.content?.map(ae=>ae.text??"").join("").trim();X&&Xf($,U,O.current)&&(re&&clearTimeout(re.timer),re={text:X,timer:setTimeout(()=>{if(ee)return;let ae=J;J=null,re=null,F.current?.({role:"user",content:[{type:"text",text:X}],...ae?{modelContext:ae}:{}})},500)})}).catch(U=>{let X=U instanceof Error?U.message:"Tool call failed";R({jsonrpc:"2.0",id:N,error:{code:-32e3,message:X}})});return}if(V==="ui/request-display-mode"&&N!=null){let W=G.params?.mode,$=W==="fullscreen"||W==="inline"||W==="pip"?W:"inline";w.current=$,R({jsonrpc:"2.0",id:N,result:{mode:$}}),R({jsonrpc:"2.0",method:"ui/notifications/host-context-changed",params:{displayMode:$}}),B.current?.($);return}if(V==="ui/resource-teardown"&&N!=null){R({jsonrpc:"2.0",id:N,result:{}});return}V==="ping"&&N!=null&&R({jsonrpc:"2.0",id:N,result:{}})};return window.addEventListener("message",se),()=>{ee=!0,clearTimeout(A),re&&clearTimeout(re.timer),window.removeEventListener("message",se)}},[i,ue]),Qf("iframe",{ref:m,src:ge,sandbox:"allow-scripts allow-forms allow-same-origin",className:T(!c&&"ww:rounded-md ww:border ww:border-border",n),style:{height:c?"100%":b,minWidth:c||!y?void 0:`min(${y}px, 100%)`,width:"100%",border:"none",colorScheme:s?"dark":"auto"},title:"MCP App"})}import{jsx as Ut,jsxs as Kf}from"react/jsx-runtime";function Xn({icon:e,title:t,description:a,suggestions:o,onSuggestionSelect:r}){return Kf("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&&Ut("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}),Ut("h2",{className:"ww:text-lg ww:font-semibold ww:text-foreground",children:t}),a&&Ut("p",{className:"ww:mt-1 ww:text-sm ww:text-muted-foreground ww:max-w-sm",children:a}),o&&o.length>0&&Ut("div",{className:"ww:mt-6 ww:w-full ww:max-w-md ww:flex ww:flex-col ww:gap-2",children:o.map((s,n)=>Ut("button",{type:"button",onClick:()=>r?.(s),className:T("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:`${n*50}ms`},children:s},s))})]})}import{Component as Jf}from"react";import{jsx as Qn,jsxs as Zf}from"react/jsx-runtime";var Ua=class extends Jf{state={hasError:!1};static getDerivedStateFromError(){return{hasError:!0}}componentDidCatch(t){console.warn("[WaniWani] Widget failed to render:",t.message)}render(){return this.state.hasError?Zf("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:[Qn("span",{children:"Widget failed to load"}),Qn("button",{type:"button",onClick:()=>this.setState({hasError:!1}),className:"ww:text-xs ww:font-medium ww:text-primary ww:hover:underline",children:"Retry"})]}):this.props.children}};import{Fragment as Yf,jsx as oe,jsxs as ct}from"react/jsx-runtime";function Kn(e){return e?e.replace(/[-_]/g," ").replace(/^\w/,t=>t.toUpperCase()):"Tool"}function Oa({messages:e,status:t,welcomeMessage:a,welcome:o,onSuggestionSelect:r,resourceEndpoint:s,chatSessionId:n,isDark:i,onFollowUp:l,onCallTool:u,onWidgetDisplayModeChange:f,fullscreenToolCallId:d,debug:c,showToolCalls:p=!0,toolDefinitions:m}){let I=t==="submitted"||t==="streaming",C=e[e.length-1],x=e.length>0,g=I&&(!x||C.role==="user"),h=d!=null;return ct(Yf,{children:[!h&&(!x&&o?oe(Xn,{...o,onSuggestionSelect:r}):a&&oe(Da,{from:"assistant",children:oe(Ea,{children:oe(_a,{children:a})})})),e.map(L=>{let w=L.parts.filter(k=>k.type==="text"),b=L.parts.filter(k=>k.type==="reasoning"),P=L.parts.filter(k=>k.type==="file"),y=L.parts.filter(k=>"toolCallId"in k),D=L===C&&L.role==="assistant",v=w.length>0,F=h?y.some(k=>k.toolCallId===d):!1;return h&&!F?oe("div",{style:{display:"none"}},L.id):ct(Da,{from:L.role,children:[!F&&b.map((k,B)=>oe(Mn,{text:k.text},`reasoning-${L.id}-${B}`)),y.map(k=>{let B="output"in k?k.output:void 0,H=Na(k.toolName,B,m),O=Wn(k.toolName,B,m),ue=k.toolCallId===d;return ct("div",{style:ue?{position:"absolute",inset:0,zIndex:10,display:"flex",flexDirection:"column",overflow:"hidden",background:"var(--ww-color-background)"}:void 0,children:[oe("div",{style:ue?{display:"none"}:void 0,children:p?ct(_n,{children:[oe(Nn,{title:k.title??Kn(k.toolName),state:k.state}),ct(On,{children:[oe(Hn,{input:k.input,debug:c}),B!==void 0&&oe(zn,{output:B,errorText:"errorText"in k?k.errorText:void 0,debug:c})]})]}):oe(Un,{title:k.title??Kn(k.toolName),state:k.state})}),H&&s&&B!==void 0&&oe(Ua,{children:oe(Jo,{isFullscreen:ue,resourceUri:H,toolInput:k.input??{},toolResult:{content:B.content,structuredContent:B.structuredContent,_meta:B._meta},resourceEndpoint:s,chatSessionId:n,isDark:i,autoHeight:O,toolDefinitions:m,onFollowUp:l,onCallTool:u,onDisplayModeChange:f?ge=>f(ge,{toolCallId:k.toolCallId,resourceUri:H,toolInput:k.input??{},toolResult:{content:B.content,structuredContent:B.structuredContent,_meta:B._meta},autoHeight:O}):void 0})})]},k.toolCallId)}),!F&&oe("div",{children:ct(Ea,{children:[P.length>0&&oe(Kr,{files:P}),v?w.map((k,B)=>oe(_a,{children:k.type==="text"?k.text:""},`${L.id}-${B}`)):D&&I&&oe(mo,{})]})})]},L.id)}),!h&&g&&oe(Da,{from:"assistant",children:oe(Ea,{children:oe(mo,{})})})]})}import{jsx as Zo,jsxs as ac}from"react/jsx-runtime";var ec="https://app.waniwani.ai/assets/waniwani-logo.svg",tc="https://waniwani.ai";function Ha(){return Zo("div",{className:"ww:pt-2 ww:pb-1 ww:flex ww:justify-center",children:ac("a",{href:tc,target:"_blank",rel:"noopener noreferrer",className:"ww:flex ww:items-center ww:gap-1.5 ww:text-[11px] ww:text-muted-foreground ww:opacity-70 hover:ww:opacity-100 ww:transition-opacity",children:[Zo("span",{children:"powered by"}),Zo("img",{src:ec,alt:"WaniWani",width:72,height:10,className:"ww:h-2.5 ww:w-auto"})]})})}import{jsx as qa}from"react/jsx-runtime";function Ga({suggestions:e,isLoading:t,onSelect:a,className:o,...r}){return e.length===0&&!t?null:qa("div",{className:T("ww:px-4 ww:py-2",o),...r,children:qa("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(s=>qa("div",{className:"ww:h-7 ww:rounded-full ww:bg-accent ww:animate-pulse",style:{width:`${60+s*20}px`}},s)):e.map((s,n)=>qa("button",{type:"button",onClick:()=>a(s),className:T("ww:rounded-full ww:border ww:border-border ww:bg-background ww:px-3 ww:py-1 ww:text-xs","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:`${n*50}ms`},children:s},s))})})}import{useEffect as oc,useRef as rc,useState as sc}from"react";import{jsx as Y,jsxs as We}from"react/jsx-runtime";var Jn=20;function nc(e){let t=Date.parse(e);if(Number.isNaN(t))return"";let a=Date.now()-t;return a<6e4?"just now":a<60*6e4?`${Math.floor(a/6e4)}m ago`:a<1440*6e4?`${Math.floor(a/(60*6e4))}h ago`:`${Math.floor(a/(1440*6e4))}d ago`}function ic(){return We("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":"New chat",children:[Y("title",{children:"New chat"}),Y("line",{x1:"12",y1:"5",x2:"12",y2:"19"}),Y("line",{x1:"5",y1:"12",x2:"19",y2:"12"})]})}function lc(){return We("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":"Thread history",children:[Y("title",{children:"Thread history"}),Y("path",{d:"M3 12a9 9 0 1 0 3-6.7"}),Y("polyline",{points:"3 4 3 9 8 9"}),Y("line",{x1:"12",y1:"7",x2:"12",y2:"12"}),Y("line",{x1:"12",y1:"12",x2:"15",y2:"14"})]})}function uc(){return We("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":"Delete thread",children:[Y("title",{children:"Delete thread"}),Y("polyline",{points:"3 6 5 6 21 6"}),Y("path",{d:"M19 6l-2 14a2 2 0 0 1-2 2H9a2 2 0 0 1-2-2L5 6"}),Y("path",{d:"M10 11v6"}),Y("path",{d:"M14 11v6"})]})}function Wa({threads:e,activeThreadId:t,onNewThread:a,onSelectThread:o,onDeleteThread:r}){let[s,n]=sc(!1),i=rc(null);oc(()=>{if(!s)return;let f=d=>{let c=i.current;c&&(d.composedPath().includes(c)||n(!1))};return document.addEventListener("mousedown",f),()=>document.removeEventListener("mousedown",f)},[s]);let l=e.slice(0,Jn),u=Math.max(0,e.length-Jn);return We("div",{ref:i,className:"ww:relative ww:flex ww:items-center ww:gap-1",children:[Y("button",{type:"button",onClick:a,title:"New chat","aria-label":"New chat",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:Y(ic,{})}),Y("button",{type:"button",onClick:()=>n(f=>!f),title:"Thread history","aria-label":"Thread history","aria-expanded":s,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:Y(lc,{})}),s&&We("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:[l.length===0&&Y("div",{className:"ww:px-3 ww:py-3 ww:text-xs ww:text-muted-foreground",children:"No previous chats yet."}),l.map(f=>{let d=f.threadId===t;return We("div",{className:`ww:flex ww:items-center ww:gap-2 ww:px-3 ww:py-2 ww:text-xs hover:ww:bg-foreground/5 ${d?"ww:bg-foreground/5":""}`,children:[We("button",{type:"button",onClick:()=>{o(f.threadId),n(!1)},className:"ww:flex-1 ww:min-w-0 ww:text-left ww:cursor-pointer",children:[Y("div",{className:"ww:truncate ww:text-foreground ww:font-medium",children:f.title}),Y("div",{className:"ww:text-[10px] ww:text-muted-foreground",children:nc(f.updatedAt)})]}),Y("button",{type:"button",onClick:c=>{c.stopPropagation(),r(f.threadId)},title:"Delete thread","aria-label":"Delete thread",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:Y(uc,{})})]},f.threadId)}),u>0&&We("div",{className:"ww:px-3 ww:py-2 ww:text-[10px] ww:text-muted-foreground ww:border-t ww:border-border",children:[u," older thread",u===1?"":"s"," hidden"]})]})]})}import{useCallback as dc,useRef as fc}from"react";function za(e){let t=fc(e);return t.current=e,dc(async a=>{let{api:o,headers:r,onCallTool:s,sessionId:n}=t.current;if(s)return s(a);let i=`${o??"/api/waniwani"}/tool`,l=typeof n=="string"&&n.trim().length>0?n.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()},[])}import{useChat as Ac}from"@ai-sdk/react";import{useCallback as ce,useEffect as Ae,useRef as le,useState as Ye}from"react";import{DefaultChatTransport as cc,uiMessageChunkSchema as pc}from"ai";function mc(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 n=r.filter(i=>i.code==="unrecognized_keys").flatMap(i=>i.keys??[]);if(n.length>0)return n}return null}var ja=class extends cc{processResponseStream(t){let a="",o=pc(),r=o.validate?.bind(o);return t.pipeThrough(new TextDecoderStream).pipeThrough(new TransformStream({async transform(s,n){a+=s;let i=a.split(`
16
- `);a=i.pop()??"";for(let l of i){let u=l.trim();if(!u.startsWith("data:"))continue;let f=u.slice(5).trim();if(f!=="[DONE]")try{let d=JSON.parse(f);if(!r){n.enqueue(d);continue}let c=await r(d);if(c.success){n.enqueue(c.value);continue}let p=mc(c.error);if(p?.length){let m={...d};for(let C of p)delete m[C];let I=await r(m);I.success&&n.enqueue(I.value)}}catch{}}}}))}};var hc="waniwani-memory";var Ie="threads",Va="by_memoryUserId",gc="by_updatedAt";var Yn="memoryUserId",Zn="waniwani-memory-user-id",Yo=null;function er(){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 wc(e,t){if(t<1&&(e.objectStoreNames.contains("ids")||e.createObjectStore("ids")),t<2&&!e.objectStoreNames.contains(Ie)){let a=e.createObjectStore(Ie,{keyPath:"threadId"});a.createIndex(Va,"memoryUserId",{unique:!1}),a.createIndex(gc,"updatedAt",{unique:!1})}}async function tr(){return new Promise((e,t)=>{let a=indexedDB.open(hc,2);a.onupgradeneeded=o=>{wc(a.result,o.oldVersion)},a.onsuccess=()=>e(a.result),a.onerror=()=>t(a.error)})}async function xc(){return tr()}async function Lc(e){return new Promise((t,a)=>{let s=e.transaction("ids","readonly").objectStore("ids").get(Yn);s.onsuccess=()=>t(typeof s.result=="string"?s.result:null),s.onerror=()=>a(s.error)})}async function Cc(e,t){return new Promise((a,o)=>{let n=e.transaction("ids","readwrite").objectStore("ids").put(t,Yn);n.onsuccess=()=>a(),n.onerror=()=>o(n.error)})}async function Ic(){if(typeof indexedDB>"u")return null;try{let e=await xc();try{let t=await Lc(e);if(t)return t;let a=er();return await Cc(e,a),a}finally{e.close()}}catch{return null}}function Sc(){try{let e=localStorage.getItem(Zn);if(e)return e;let t=er();return localStorage.setItem(Zn,t),t}catch{return null}}async function ei(){let e=await Ic();if(e)return e;let t=Sc();return t||(Yo||(Yo=er()),Yo)}var ti=50,ai=1e3;function $a(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 Xa(e){if(typeof indexedDB>"u")return null;let t=null;try{return t=await tr(),await e(t)}catch{return null}finally{try{t?.close()}catch{}}}function ar(e){return new Promise((t,a)=>{e.onsuccess=()=>t(e.result),e.onerror=()=>a(e.error)})}async function or(e){return await Xa(async a=>{let s=a.transaction(Ie,"readonly").objectStore(Ie).index(Va),i=(await ar(s.getAll(e))??[]).filter($a);return i.sort((l,u)=>l.updatedAt<u.updatedAt?1:-1),i})??[]}async function rr(e){return await Xa(async a=>{let r=a.transaction(Ie,"readonly").objectStore(Ie),s=await ar(r.get(e));return $a(s)?s:null})??null}async function sr(e){if(!$a(e))return;let t=e.messages.length>ai?{...e,messages:e.messages.slice(e.messages.length-ai)}:e;await Xa(async a=>{await new Promise((l,u)=>{let f=a.transaction(Ie,"readwrite");f.oncomplete=()=>l(),f.onerror=()=>u(f.error),f.onabort=()=>u(f.error),f.objectStore(Ie).put(t)});let o=a.transaction(Ie,"readwrite"),r=o.objectStore(Ie),s=r.index(Va),i=(await ar(s.getAll(t.memoryUserId))??[]).filter($a);if(i.length>ti){i.sort((u,f)=>u.updatedAt<f.updatedAt?-1:1);let l=i.slice(0,i.length-ti);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 oi(e){await Xa(async t=>(await new Promise((a,o)=>{let r=t.transaction(Ie,"readwrite");r.oncomplete=()=>a(),r.onerror=()=>o(r.error),r.onabort=()=>o(r.error),r.objectStore(Ie).delete(e)}),null))}async function ri(e){return(await or(e))[0]?.threadId??null}function si(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`}var ni="waniwani-visitor-id";function ii(e,t){return e.match(t)?.[1]??null}function yc(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=ii(e,o);if(r)return{name:a,version:r}}return null}function kc(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=ii(e,o);if(r)return{name:a,version:r.replace(/_/g,".")};if(a==="Linux"&&o.test(e))return{name:a,version:""}}return null}function bc(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 Tc(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 Pc(){try{let a=localStorage.getItem(ni);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 Tc(e);try{localStorage.setItem(ni,t)}catch{}return t}async function li(){let e=navigator.userAgent,[t,a]=await Promise.all([Pc(),ei()]);return{userAgent:e,browser:yc(e),os:kc(e),deviceType:bc(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 vc="x-session-id",Mc=250;function ui(){return typeof crypto<"u"&&typeof crypto.randomUUID=="function"?crypto.randomUUID():yt()}function Qa(){return new Date().toISOString()}function di(e){if(typeof e!="string")return;let t=e.trim();return t.length>0?t:void 0}async function Rc(e,t){let a=`${e.replace(/\/$/,"")}/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 s={};for(let n of r.tools)n&&typeof n.name=="string"&&(s[n.name]=n);return s}function Ka(e){let{api:t="/api/waniwani",headers:a,body:o,onMessageSent:r,onResponseReceived:s,enableThreadHistory:n=!1,activeThreadId:i,onThreadChange:l}=e,u=le(a),f=le(o),d=le(n);Ae(()=>{d.current=n},[n]);let c=le(void 0),p=le(null),[m,I]=Ye(void 0),C=le(m),[x,g]=Ye(i),h=le(x),[L,w]=Ye([]),[b,P]=Ye(!n),y=le(void 0),D=le(void 0),v=le(void 0),F=le(void 0),k=le(0),B=le(l);Ae(()=>{B.current=l},[l]);let H=ce(S=>{h.current=S,g(S),S&&B.current?.(S)},[]),O=ce(async()=>{if(!n)return;let S=p.current?.memoryUserId;if(!S)return;let M=await or(S);w(M)},[n]),ue=ce(()=>C.current,[]),ge=ce(S=>{let M=di(S);M&&C.current!==M&&(C.current=M,I(M))},[]),K=ce(()=>{C.current=void 0,I(void 0)},[]);Ae(()=>{u.current=a},[a]),Ae(()=>{f.current=o},[o]),Ae(()=>{let S=!1,M=k.current;return(async()=>{try{let ye=await li();if(S)return;p.current=ye}catch{}if(!n)return;let E=p.current?.memoryUserId;if(!E){P(!0);return}try{let ye=i??await ri(E);if(S||M!==k.current)return;if(ye){let we=await rr(ye);if(S||M!==k.current)return;we&&we.memoryUserId===E&&(h.current=we.threadId,g(we.threadId),y.current=we.createdAt,D.current=we.title,we.sessionId&&(C.current=we.sessionId,I(we.sessionId)),V(we.messages))}await O()}finally{S||P(!0)}})(),()=>{S=!0}},[]);let q=le(new ja({api:t,headers:()=>({...u.current}),body:()=>{let S={...f.current??{}},M=Object.hasOwn(S,"sessionId"),E=di(S.sessionId);if(E)ge(E),S.sessionId=E;else if(M)K(),delete S.sessionId;else{let Te=ue();Te&&(S.sessionId=Te)}if(ft(c.current)&&(S.modelContext=c.current),p.current){let Te=p.current;S.visitorContext={timezone:Te.timezone,language:Te.language,languages:Te.languages,deviceType:Te.deviceType,referrer:Te.referrer,visitorId:Te.visitorId};let Fe=typeof S.visitor=="object"&&S.visitor!==null?S.visitor:{},Mi=typeof Fe.client=="object"&&Fe.client!==null?Fe.client:{};S.visitor={...Fe,client:{...Mi,memoryUserId:Te.memoryUserId}}}let ye=typeof S.extra=="object"&&S.extra!==null&&!Array.isArray(S.extra)?S.extra:void 0,we=p.current?.memoryUserId,Ne=p.current?.language,Vt={};if(we&&(Vt.memoryUserId=we),Ne&&(Vt.locale=Ne),(Object.keys(Vt).length>0||ye)&&(S.extra={...Vt,...ye??{}}),d.current)if(Object.hasOwn(S,"threadId"))typeof S.threadId=="string"&&(h.current=S.threadId);else{let Fe=h.current;Fe||(Fe=ui(),y.current=Qa(),D.current=void 0,H(Fe)),S.threadId=Fe}return S},fetch:(async(S,M)=>{let E=await fetch(S,M);return c.current=void 0,ge(E.headers.get(vc)),E})})),ee=le(null),_=le(null),J=le({}),[re,A]=Ye(0),R=e.skipRemoteConfig===!0,se=ce(async()=>{if(!R)try{let S=await Rc(t,u.current);J.current=S,A(M=>M+1)}catch(S){console.warn("[WaniWani] Failed to fetch tool definitions:",S instanceof Error?S.message:S)}},[t,R]);Ae(()=>{se()},[se]);let{messages:j,sendMessage:G,setMessages:V,status:N}=Ac({messages:e.initialMessages,transport:q.current,onFinish({message:S}){s?.(),ee.current&&(_.current=S)},onError(S){console.warn("[WaniWani] Chat error:",S.message),ee.current&&(ee.current.reject(S),ee.current=null)}}),W=le(j);Ae(()=>{W.current=j},[j]),Ae(()=>{if(N==="ready"&&ee.current&&_.current){let S=ee.current,M=_.current;ee.current=null,_.current=null,S.resolve(M)}},[N]);let[$,U]=Ye(""),[X,ae]=Ye([]),Se=N==="submitted"||N==="streaming",_e=ce(S=>{ae(M=>M.filter(E=>E.id!==S))},[]),tt=Se&&X.length>0,at=ce(S=>{let M=!!S.text?.trim(),E=!!S.files?.length;if(M||E){if(Se){if(X.length>0)return;ae(ye=>[...ye,{id:yt(),text:S.text||"",files:S.files??[],modelContext:S.modelContext}]),U("");return}c.current=S.modelContext,G({text:S.text||"",files:S.files}),r?.(S.text||""),U("")}},[G,r,Se,X.length]),yi=ce(S=>new Promise((M,E)=>{ee.current={resolve:M,reject:E},G({text:S}),r?.(S)}),[G,r]);Ae(()=>{if(N!=="ready"||X.length===0)return;let[S,...M]=X;ae(M),c.current=S.modelContext,G({text:S.text,files:S.files.length>0?S.files:void 0}),r?.(S.text)},[N,G,r,X]);let ki=ce(()=>{V([]),ae([]),K(),U(""),J.current={},A(S=>S+1),se()},[V,K,se]),zt=ce(()=>{if(!d.current)return;let S=p.current?.memoryUserId,M=h.current,E=W.current;if(!(!S||!M||E.length===0)){if(y.current||(y.current=Qa()),!D.current){let ye=E.find(Ne=>Ne.role==="user"),we=ye?ye.parts.map(Ne=>"text"in Ne&&typeof Ne.text=="string"?Ne.text:"").join(" "):"";D.current=si(we)}return{threadId:M,memoryUserId:S,title:D.current,messages:E,sessionId:C.current,createdAt:y.current,updatedAt:Qa()}}},[]),dr=ce(async()=>{let S=zt();S&&(await sr(S),await O())},[zt,O]);Ae(()=>{if(n&&b&&!(N==="submitted"||N==="streaming")&&j.length!==0)return v.current&&clearTimeout(v.current),v.current=setTimeout(()=>{v.current=void 0;let S=dr().finally(()=>{F.current===S&&(F.current=void 0)});F.current=S},Mc),()=>{v.current&&clearTimeout(v.current)}},[n,b,j,N,dr]);let jt=ce(()=>{let S=F.current,M=v.current,E=M?zt():void 0;return M&&(clearTimeout(M),v.current=void 0),(async()=>{S&&await S,E&&(await sr(E),await O())})()},[zt,O]),bi=ce(()=>{k.current+=1,jt(),V([]),ae([]),K(),U("");let S=ui();return y.current=Qa(),D.current=void 0,H(S),O(),S},[V,K,H,O,jt]),ao=ce(async S=>{k.current+=1;let M=k.current;if(await jt(),M!==k.current)return;let E=await rr(S);M===k.current&&E&&(H(E.threadId),y.current=E.createdAt,D.current=E.title,E.sessionId?(C.current=E.sessionId,I(E.sessionId)):K(),V(E.messages),ae([]),U(""))},[V,K,H,jt]),Ti=ce(async S=>{if(h.current===S){k.current+=1,v.current&&(clearTimeout(v.current),v.current=void 0);let M=F.current;M&&await M}await oi(S),await O(),h.current===S&&(V([]),ae([]),K(),U(""),h.current=void 0,g(void 0),y.current=void 0,D.current=void 0)},[V,K,O]);Ae(()=>{n&&b&&i!==void 0&&i!==h.current&&ao(i)},[i,n,b,ao]);let Pi=ce(S=>{U(S.target.value)},[]),fr=j[j.length-1],cr=j.length>0,Ai=Se&&(!cr||fr.role==="user"),vi=J.current;return{messages:j,status:N,text:$,setText:U,handleSubmit:at,handleTextChange:Pi,isLoading:Se,showLoaderBubble:Ai,lastMessage:fr,hasMessages:cr,sendMessage:G,sendMessageAndWait:yi,reset:ki,queuedMessages:X,queueFull:tt,removeQueuedMessage:_e,sessionId:m,toolDefinitions:vi,refreshToolDefinitions:se,threads:L,activeThreadId:x,isThreadHistoryReady:b,startNewThread:bi,switchThread:ao,deleteThread:Ti}}import{useEffect as fi,useRef as Fc,useState as Bc}from"react";var Dc={debug:!1,eval:!1};function ci(e="/api/waniwani",t,a=!1){let[o,r]=Bc(Dc),s=Fc(t);return fi(()=>{s.current=t},[t]),fi(()=>{a||(async()=>{try{let n=s.current,l=await(await fetch(`${e}/config`,{headers:n?{...n}:void 0})).json();r({debug:l.debug===!0,eval:l.eval===!0})}catch{}})()},[e,a]),o}import{useCallback as Ec,useEffect as nr,useRef as _c,useState as Nc}from"react";function Uc(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 pi(e){return typeof e=="object"&&e!==null&&"initial"in e}function Ja(e){let{messages:t,status:a,config:o}=e,r=pi(o)&&o.initial?o.initial:void 0,[s,n]=Nc(r??[]),i=_c(a),l=o===!0||pi(o)&&o.dynamic!==!1,u=Ec(()=>{n([])},[]),f=t.length>0;nr(()=>{!f&&r&&r.length>0&&n(r)},[r,f]);let d=t[t.length-1];return nr(()=>{d?.role==="user"&&u()},[d,u]),nr(()=>{let c=i.current;if(i.current=a,c==="streaming"&&a==="ready"&&l){let p=[...t].reverse().find(I=>I.role==="assistant");if(!p)return;let m=Uc(p);m&&n(m)}},[a,l,t]),{suggestions:s,isLoading:!1,clear:u}}import{useEffect as Oc,useRef as Hc,useState as qc}from"react";var Gc=50,Wc=30,zc=2e3,mi=500;function Za(e,t=!0){let[a,o]=qc(""),r=Hc(void 0);return Oc(()=>{if(!t){o("");return}let s=0,n=!1,i=!1,l=()=>{i||(n?(s--,o(e.slice(0,s)),s<=0?(n=!1,r.current=setTimeout(l,mi)):r.current=setTimeout(l,Wc)):(s++,o(e.slice(0,s)),s>=e.length?(n=!0,r.current=setTimeout(l,zc)):r.current=setTimeout(l,Gc)))};return r.current=setTimeout(l,mi),()=>{i=!0,clearTimeout(r.current)}},[e,t]),a}function Ya(e,t){let a=t?.Authorization,o=typeof a=="string"&&a.startsWith("Bearer ")?a.slice(7):null;return o?`${e}/resource?token=${encodeURIComponent(o)}`:`${e}/resource`}var hi={primaryColor:"#6366f1",primaryForeground:"#1f2937",backgroundColor:"#ffffff",textColor:"#1f2937",mutedColor:"#6b7280",borderColor:"#e5e7eb",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"},jc={backgroundColor:"#212121",headerBackgroundColor:"#1e1e1e",headerTextColor:"#ececec",textColor:"#ececec",primaryForeground:"#ffffff",mutedColor:"#8e8ea0",borderColor:"#444444",assistantBubbleColor:"#2f2f2f",userBubbleColor:"#303030",inputBackgroundColor:"#2f2f2f",primaryColor:"#6366f1",statusColor:"#22c55e",toolCardColor:"#262626"},Vc={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"],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 Ot(e){return{...hi,...e}}function eo(e){let t=e.backgroundColor.replace("#",""),a=parseInt(t.substring(0,2),16),o=parseInt(t.substring(2,4),16),r=parseInt(t.substring(4,6),16);return(a*299+o*587+r*114)/1e3<128}function Ht(e){let t={};for(let[a,o]of Object.entries(Vc)){let r=e[a],s=typeof r=="number"?`${r}px`:String(r);for(let n of o)t[n]=s}return t}import{jsx as pe,jsxs as qt}from"react/jsx-runtime";var Kc=$c(function(t,a){let{theme:o,title:r="Assistant",width:s,height:n,className:i,allowAttachments:l=!1,welcomeMessage:u,welcome:f,placeholder:d="Ask me anything...",triggerEvent:c="triggerDemoRequest",api:p,debug:m,enableThreadHistory:I=!1,showToolCalls:C=!0}=t,x=p??"/api/waniwani",g=Ya(x,t.headers),h=Ot(o),L=Ht(h),w=eo(h),b=ci(x,t.headers,t.skipRemoteConfig),P=m??b.debug,y=Ka({...t,api:x}),D=za({...t,api:x,sessionId:y.sessionId}),v=Za(d,!y.text),[F,k]=wi(!1),[B,H]=wi(null),O=gi(null),ue=gi(void 0),ge=ir(()=>{let _=O.current;if(!_)return;_.scrollIntoView({behavior:"smooth",block:"center"});let J=_.querySelector("textarea");J&&setTimeout(()=>J.focus(),300),k(!0),clearTimeout(ue.current),ue.current=setTimeout(()=>k(!1),2e3)},[]),K=Ja({messages:y.messages,status:y.status,config:t.suggestions}),q=ir(_=>{let J=_.content.map(re=>re.text??"").join("").trim();J&&y.handleSubmit({text:J,files:[],modelContext:_.modelContext})},[y.handleSubmit]),ee=ir(_=>{K.clear(),y.handleSubmit({text:_,files:[]})},[K.clear,y.handleSubmit]);return Qc(a,()=>({sendMessage:_=>{y.handleSubmit({text:_,files:[]}),ge()},sendMessageAndWait:_=>y.sendMessageAndWait(_),reset:y.reset,focus:ge,get messages(){return y.messages}}),[y.handleSubmit,y.sendMessageAndWait,y.reset,y.messages,ge]),Xc(()=>{if(!c)return;let _=J=>{let re=J.detail,A=typeof re?.message=="string"?re.message:void 0;A&&y.handleSubmit({text:A,files:[]}),ge()};return window.addEventListener(c,_),()=>window.removeEventListener(c,_)},[c,y.handleSubmit,ge]),qt("div",{ref:O,style:{...L,width:s,height:n},"data-waniwani-chat":"","data-waniwani-layout":"card",...w?{"data-waniwani-dark":""}:{},className:T("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",F&&"ww:ring-2 ww:ring-blue-400/70 ww:ring-offset-2 ww:ring-offset-background",i),children:[qt("div",{className:"ww:shrink-0 ww:flex ww:items-center ww:gap-2 ww:px-6 ww:py-3",style:{backgroundColor:h.headerBackgroundColor,color:h.headerTextColor},children:[pe("div",{className:"ww:text-sm ww:font-semibold ww:truncate ww:flex-1 ww:min-w-0",children:r}),pe(Qr,{messages:y.messages,evalEnabled:b.eval,api:x}),I&&pe(Wa,{threads:y.threads,activeThreadId:y.activeThreadId,onNewThread:y.startNewThread,onSelectThread:_=>{y.switchThread(_)},onDeleteThread:_=>{y.deleteThread(_)}})]}),qt(Fr,{className:"ww:flex-1 ww:min-h-0 ww:bg-background",children:[pe(Br,{scrollClassName:B?"ww:!relative ww:!overflow-hidden":void 0,children:pe(Oa,{messages:y.messages,status:y.status,welcomeMessage:u,welcome:f,onSuggestionSelect:ee,resourceEndpoint:g,chatSessionId:y.sessionId,isDark:w,onFollowUp:q,onCallTool:D,fullscreenToolCallId:B,debug:P,showToolCalls:C,toolDefinitions:y.toolDefinitions,onWidgetDisplayModeChange:(_,J)=>{H(_==="fullscreen"?J.toolCallId:null)}})}),pe(Dr,{})]}),pe("div",{style:B?{display:"none"}:void 0,children:pe(Ga,{suggestions:K.suggestions,isLoading:K.isLoading,onSelect:ee})}),pe("div",{style:B?{display:"none"}:void 0,children:pe(aa,{queuedMessages:y.queuedMessages,onRemove:y.removeQueuedMessage})}),pe("div",{style:B?{display:"none"}:void 0,children:pe("div",{className:"ww:shrink-0 ww:px-4 ww:pb-8 ww:pt-2 ww:bg-background",children:qt("div",{className:"ww:mx-auto ww:w-full ww:max-w-3xl",children:[pe(Zt,{onSubmit:y.handleSubmit,globalDrop:l,multiple:l,className:"ww:rounded-2xl ww:border-border ww:bg-input",children:qt("div",{className:"ww:flex ww:items-center ww:gap-1 ww:pl-4 ww:pr-3 ww:py-2.5",children:[l&&pe(ta,{}),pe(Yt,{onChange:y.handleTextChange,value:y.text,placeholder:v,className:"ww:min-h-0 ww:py-1 ww:px-0"}),pe(ea,{status:y.status,disabled:y.queueFull})]})}),pe(Ha,{})]})})})]})});import{forwardRef as Jc,useCallback as to,useEffect as Gt,useImperativeHandle as Zc,useRef as Wt,useState as xi}from"react";import{jsx as he,jsxs as et}from"react/jsx-runtime";var lr=Jc(function(t,a){let{theme:o,className:r,allowAttachments:s=!1,welcomeMessage:n,welcome:i,placeholder:l="Ask me anything...",triggerEvent:u="triggerDemoRequest",api:f,mcp:d,debug:c=!1,readOnly:p=!1,title:m,headerActions:I,enableThreadHistory:C=!1,showToolCalls:x=!0}=t,g=Ot(o),h=Ht(g),L=eo(g),w=Ka({...t,api:f}),b=za({...t,api:f,sessionId:w.sessionId,onCallTool:d?.onCallTool}),P=d?.resourceEndpoint??Ya(f,t.headers),y=Za(l,!w.text),[D,v]=xi(null),F=Wt(null),k=Wt(null),B=Wt(null),H=Wt(null),[O,ue]=xi(!0),ge=Wt(O);ge.current=O;let K=to(()=>{let A=F.current;if(!A)return;let R=A.querySelector("textarea");R&&R.focus()},[]),q=to((A="smooth")=>{let R=k.current;R&&R.scrollTo({top:R.scrollHeight,behavior:A})},[]);Gt(()=>{let A=H.current,R=k.current;if(!A||!R)return;let se=new IntersectionObserver(([j])=>ue(j.isIntersecting),{root:R,rootMargin:"0px 0px 200px 0px",threshold:0});return se.observe(A),()=>se.disconnect()},[]),Gt(()=>{(w.messages[w.messages.length-1]?.role==="user"||ge.current)&&q("smooth")},[w.messages.length,w.messages[w.messages.length-1]]),Gt(()=>{q("auto")},[q]),Gt(()=>{if(typeof ResizeObserver>"u")return;let A=k.current,R=B.current;if(!A&&!R)return;let se=A?.scrollHeight??0,j=A?.clientHeight??0,G=new ResizeObserver(()=>{let V=k.current;if(!V)return;let N=V.scrollTop+j>=se-5;se=V.scrollHeight,j=V.clientHeight,N&&q("auto")});return A&&G.observe(A),R&&G.observe(R),()=>G.disconnect()},[q]);let ee=Ja({messages:w.messages,status:w.status,config:t.suggestions}),_=to(A=>{let R=A.content.map(se=>se.text??"").join("").trim();R&&w.handleSubmit({text:R,files:[],modelContext:A.modelContext})},[w.handleSubmit]),J=to(A=>{ee.clear(),w.handleSubmit({text:A,files:[]})},[ee.clear,w.handleSubmit]);Zc(a,()=>({sendMessage:A=>{w.handleSubmit({text:A,files:[]}),K()},sendMessageAndWait:A=>w.sendMessageAndWait(A),reset:w.reset,focus:K,get messages(){return w.messages}}),[w.handleSubmit,w.sendMessageAndWait,w.reset,w.messages,K]),Gt(()=>{if(!u)return;let A=R=>{let se=R.detail,j=typeof se?.message=="string"?se.message:void 0;j&&w.handleSubmit({text:j,files:[]}),K()};return window.addEventListener(u,A),()=>window.removeEventListener(u,A)},[u,w.handleSubmit,K]);let re=!!(m||C||I);return et("div",{ref:F,style:{...h,maxHeight:"inherit"},"data-waniwani-chat":"","data-waniwani-layout":"embed",...L?{"data-waniwani-dark":""}:{},className:T("ww:relative ww:w-full ww:h-full ww:flex ww:flex-col ww:bg-background ww:text-foreground ww:font-[family-name:var(--ww-font)] ww:overflow-hidden",r),children:[re&&et("div",{className:"ww:shrink-0 ww:flex ww:items-center ww:gap-2 ww:px-6 ww:py-3 ww:bg-background ww:border-b ww:border-border",style:{backgroundColor:g.headerBackgroundColor,color:g.headerTextColor},children:[m&&he("div",{className:"ww:text-sm ww:font-semibold ww:truncate ww:flex-1 ww:min-w-0",children:m}),!m&&he("div",{className:"ww:flex-1"}),I,C&&he(Wa,{threads:w.threads,activeThreadId:w.activeThreadId,onNewThread:w.startNewThread,onSelectThread:A=>{w.switchThread(A)},onDeleteThread:A=>{w.deleteThread(A)}})]}),et("div",{ref:k,className:T("ww:relative ww:flex-1 ww:min-h-0",D?"ww:overflow-hidden":"ww:overflow-y-auto"),children:[et("div",{ref:B,className:T("ww:mx-auto ww:w-full ww:max-w-3xl ww:px-4 ww:py-6 ww:flex ww:flex-col ww:gap-6",D&&"ww:!py-0"),children:[he(Oa,{messages:w.messages,status:w.status,welcomeMessage:n,welcome:i,onSuggestionSelect:J,resourceEndpoint:P,chatSessionId:w.sessionId,isDark:L,onFollowUp:_,onCallTool:b,fullscreenToolCallId:D,debug:c,showToolCalls:x,toolDefinitions:w.toolDefinitions,onWidgetDisplayModeChange:(A,R)=>{v(A==="fullscreen"?R.toolCallId:null)}}),he("div",{ref:H,"aria-hidden":!0,style:{height:1}})]}),!O&&!D&&he("div",{className:"ww:sticky ww:bottom-2 ww:flex ww:justify-center ww:pointer-events-none",children:he(ke,{type:"button",onClick:()=>q("smooth"),size:"icon",variant:"outline",className:"ww:rounded-full ww:shadow ww:pointer-events-auto","aria-label":"Scroll to latest",children:he(ze,{className:"ww:size-4"})})})]}),!p&&et("div",{className:"ww:shrink-0 ww:bg-background",style:D?{display:"none"}:void 0,children:[he(Ga,{suggestions:ee.suggestions,isLoading:ee.isLoading,onSelect:J}),he(aa,{queuedMessages:w.queuedMessages,onRemove:w.removeQueuedMessage}),he("div",{className:"ww:px-4 ww:pb-2 ww:pt-2",children:et("div",{className:"ww:mx-auto ww:w-full ww:max-w-3xl",children:[he(Zt,{onSubmit:w.handleSubmit,globalDrop:s,multiple:s,className:"ww:rounded-2xl ww:border-border ww:bg-input",children:et("div",{className:"ww:flex ww:items-center ww:gap-1 ww:pl-4 ww:pr-3 ww:py-2.5",children:[s&&he(ta,{}),he(Yt,{onChange:w.handleTextChange,value:w.text,placeholder:y,className:"ww:min-h-0 ww:py-1 ww:px-0"}),he(ea,{status:w.status,disabled:w.queueFull})]})}),he(Ha,{})]})})]})]})});import{forwardRef as rp,useEffect as sp,useMemo as Ii,useState as np}from"react";var Yc="https://app.waniwani.ai/api/mcp/chat",ep={api:Yc};function tp(){if(document.currentScript instanceof HTMLScriptElement)return document.currentScript;let e=document.querySelectorAll("script[src]");for(let t of e)if(t instanceof HTMLScriptElement&&/embed/i.test(t.src))return t;return null}function ap(){let e=tp();if(!e)return{};let t=h=>e.getAttribute(h)??void 0,a=h=>{let L=e.getAttribute(h);if(L==null)return;let w=L.trim().toLowerCase();if(w==="true"||w==="1"||w==="")return!0;if(w==="false"||w==="0")return!1},o={},r=t("data-api");r&&(o.api=r);let s=t("data-token");s&&(o.token=s);let n=t("data-title");n&&(o.title=n);let i=t("data-welcome-message");i&&(o.welcomeMessage=i);let l=t("data-placeholder");l&&(o.placeholder=l);let u=t("data-mcp-server-url");u&&(o.mcpServerUrl=u);let f=t("data-channel-id");f&&(o.channelId=f);let d=a("data-show-tool-calls");d!==void 0&&(o.showToolCalls=d);let c=t("data-css");c&&(o.css=c);let p=t("data-suggestions");p&&(o.suggestions=p.split(",").map(h=>h.trim()).filter(Boolean));let m=a("data-enable-thread-history");m!==void 0&&(o.enableThreadHistory=m);let I=t("data-primary-color"),C=t("data-background-color"),x=t("data-text-color"),g=t("data-font-family");return(I||C||x||g)&&(o.theme={},I&&(o.theme.primaryColor=I),C&&(o.theme.backgroundColor=C),x&&(o.theme.textColor=x),g&&(o.theme.fontFamily=g)),o}function ur(e,t,a){let o=a??ap(),r={token:"",...ep,...t??{},...o,...e,theme:{...t?.theme??{},...o.theme,...e?.theme}};if(!r.token)throw new Error("[WaniWani] Missing required config: `token`. Set data-token on the script tag or pass it to WaniWani.chat.init().");return r}function Li(e){if(!e.theme)return;let t=e.theme;return{...t.primaryColor?{primaryColor:t.primaryColor}:{},...t.backgroundColor?{backgroundColor:t.backgroundColor}:{},...t.textColor?{textColor:t.textColor}:{},...t.fontFamily?{fontFamily:t.fontFamily}:{}}}import{useEffect as oC,useState as rC}from"react";async function Ci(e,t,a){try{let o=`${e.replace(/\/$/,"")}/config`,r=await fetch(o,{method:"GET",headers:{Authorization:`Bearer ${t}`},signal:a});if(!r.ok)return{};let s=await r.json(),n=s&&typeof s=="object"&&"data"in s&&s.data?s.data:s;return n?op(n):{}}catch{return{}}}function op(e){let t={};return e.title!=null&&(t.title=e.title),e.welcomeMessage!=null&&(t.welcomeMessage=e.welcomeMessage),e.placeholder!=null&&(t.placeholder=e.placeholder),e.suggestions!=null&&e.suggestions.length>0&&(t.suggestions=e.suggestions),typeof e.enableThreadHistory=="boolean"&&(t.enableThreadHistory=e.enableThreadHistory),t}import{jsx as lp}from"react/jsx-runtime";var Si="https://app.waniwani.ai/api/mcp/chat",ip=rp(function(t,a){let{token:o,channelId:r,className:s,overrides:n}=t,i=Ii(()=>({token:o,channelId:r,api:n?.api,mcpServerUrl:n?.mcpServerUrl,title:n?.title,welcomeMessage:n?.welcomeMessage,placeholder:n?.placeholder,suggestions:n?.suggestions,enableThreadHistory:n?.enableThreadHistory,showToolCalls:n?.showToolCalls,theme:n?.theme}),[o,r,n?.api,n?.mcpServerUrl,n?.title,n?.welcomeMessage,n?.placeholder,n?.suggestions,n?.enableThreadHistory,n?.showToolCalls,n?.theme]),[l,u]=np({});sp(()=>{if(!o)return;let p=new AbortController,m=n?.api??Si;return Ci(m,o,p.signal).then(I=>{p.signal.aborted||u(I)}).catch(I=>{console.error("[WaniWani] Remote config fetch failed:",I)}),()=>p.abort()},[n?.api,o]);let f=Ii(()=>ur(i,l,void 0),[i,l]),d=Li(f),c={};return f.mcpServerUrl&&(c.mcpServerUrl=f.mcpServerUrl),f.channelId&&(c.channelId=f.channelId),lp(lr,{ref:a,api:f.api??Si,headers:{Authorization:`Bearer ${f.token}`},skipRemoteConfig:!0,body:Object.keys(c).length>0?c:void 0,theme:d,title:f.title,welcomeMessage:f.welcomeMessage,welcome:n?.welcome,placeholder:f.placeholder,suggestions:f.suggestions?{initial:f.suggestions}:void 0,enableThreadHistory:f.enableThreadHistory,showToolCalls:f.showToolCalls,allowAttachments:n?.allowAttachments,className:s})});export{Kc as ChatCard,lr as ChatEmbed,jc as DARK_THEME,hi as DEFAULT_THEME,Jo as McpAppFrame,ip as WaniwaniChat,Ot as mergeTheme,Ht as themeToCSSProperties};
15
+ ${U}`}]}}F.current({...W,...$?{modelContext:$}:{}})}R({jsonrpc:"2.0",id:N,result:{}});return}if(V==="ui/update-model-context"&&N!=null){J=Vn(J,G.params),R({jsonrpc:"2.0",id:N,result:{}});return}if(V==="tools/call"&&N!=null){let W=k.current;if(!W){R({jsonrpc:"2.0",id:N,error:{code:-32601,message:"tools/call not supported"}});return}let $=G.params?.name;W({name:$,arguments:G.params?.arguments??{}}).then(U=>{R({jsonrpc:"2.0",id:N,result:U});let X=U.content?.map(ae=>ae.text??"").join("").trim();X&&Qf($,U,O.current)&&(re&&clearTimeout(re.timer),re={text:X,timer:setTimeout(()=>{if(ee)return;let ae=J;J=null,re=null,F.current?.({role:"user",content:[{type:"text",text:X}],...ae?{modelContext:ae}:{}})},500)})}).catch(U=>{let X=U instanceof Error?U.message:"Tool call failed";R({jsonrpc:"2.0",id:N,error:{code:-32e3,message:X}})});return}if(V==="ui/request-display-mode"&&N!=null){let W=G.params?.mode,$=W==="fullscreen"||W==="inline"||W==="pip"?W:"inline";w.current=$,R({jsonrpc:"2.0",id:N,result:{mode:$}}),R({jsonrpc:"2.0",method:"ui/notifications/host-context-changed",params:{displayMode:$}}),B.current?.($);return}if(V==="ui/resource-teardown"&&N!=null){R({jsonrpc:"2.0",id:N,result:{}});return}V==="ping"&&N!=null&&R({jsonrpc:"2.0",id:N,result:{}})};return window.addEventListener("message",se),()=>{ee=!0,clearTimeout(A),re&&clearTimeout(re.timer),window.removeEventListener("message",se)}},[i,ue]),Kf("iframe",{ref:m,src:ge,sandbox:"allow-scripts allow-forms allow-same-origin",className:T(!c&&"ww:rounded-md ww:border ww:border-border",n),style:{height:c?"100%":b,minWidth:c||!y?void 0:`min(${y}px, 100%)`,width:"100%",border:"none",colorScheme:s?"dark":"auto"},title:"MCP App"})}import{jsx as Ut,jsxs as Jf}from"react/jsx-runtime";function Qn({icon:e,title:t,description:a,suggestions:o,onSuggestionSelect:r}){return Jf("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&&Ut("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}),Ut("h2",{className:"ww:text-lg ww:font-semibold ww:text-foreground",children:t}),a&&Ut("p",{className:"ww:mt-1 ww:text-sm ww:text-muted-foreground ww:max-w-sm",children:a}),o&&o.length>0&&Ut("div",{className:"ww:mt-6 ww:w-full ww:max-w-md ww:flex ww:flex-col ww:gap-2",children:o.map((s,n)=>Ut("button",{type:"button",onClick:()=>r?.(s),className:T("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:`${n*50}ms`},children:s},s))})]})}import{Component as Zf}from"react";import{jsx as Kn,jsxs as Yf}from"react/jsx-runtime";var Ua=class extends Zf{state={hasError:!1};static getDerivedStateFromError(){return{hasError:!0}}componentDidCatch(t){console.warn("[WaniWani] Widget failed to render:",t.message)}render(){return this.state.hasError?Yf("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:[Kn("span",{children:"Widget failed to load"}),Kn("button",{type:"button",onClick:()=>this.setState({hasError:!1}),className:"ww:text-xs ww:font-medium ww:text-primary ww:hover:underline",children:"Retry"})]}):this.props.children}};import{Fragment as ec,jsx as oe,jsxs as ct}from"react/jsx-runtime";function Jn(e){return e?e.replace(/[-_]/g," ").replace(/^\w/,t=>t.toUpperCase()):"Tool"}function Oa({messages:e,status:t,welcomeMessage:a,welcome:o,onSuggestionSelect:r,resourceEndpoint:s,chatSessionId:n,isDark:i,onFollowUp:l,onCallTool:u,onWidgetDisplayModeChange:f,fullscreenToolCallId:d,debug:c,showToolCalls:p=!0,toolDefinitions:m}){let I=t==="submitted"||t==="streaming",C=e[e.length-1],x=e.length>0,g=I&&(!x||C.role==="user"),h=d!=null;return ct(ec,{children:[!h&&(!x&&o?oe(Qn,{...o,onSuggestionSelect:r}):a&&oe(Da,{from:"assistant",children:oe(Ea,{children:oe(_a,{children:a})})})),e.map(L=>{let w=L.parts.filter(k=>k.type==="text"),b=L.parts.filter(k=>k.type==="reasoning"),P=L.parts.filter(k=>k.type==="file"),y=L.parts.filter(k=>"toolCallId"in k),D=L===C&&L.role==="assistant",v=w.length>0,F=h?y.some(k=>k.toolCallId===d):!1;return h&&!F?oe("div",{style:{display:"none"}},L.id):ct(Da,{from:L.role,children:[!F&&b.map((k,B)=>oe(Rn,{text:k.text},`reasoning-${L.id}-${B}`)),y.map(k=>{let B="output"in k?k.output:void 0,H=Na(k.toolName,B,m),O=zn(k.toolName,B,m),ue=k.toolCallId===d;return ct("div",{style:ue?{position:"absolute",inset:0,zIndex:10,display:"flex",flexDirection:"column",overflow:"hidden",background:"var(--ww-color-background)"}:void 0,children:[oe("div",{style:ue?{display:"none"}:void 0,children:p?ct(Nn,{children:[oe(Un,{title:k.title??Jn(k.toolName),state:k.state}),ct(Hn,{children:[oe(qn,{input:k.input,debug:c}),B!==void 0&&oe(jn,{output:B,errorText:"errorText"in k?k.errorText:void 0,debug:c})]})]}):oe(On,{title:k.title??Jn(k.toolName),state:k.state})}),H&&s&&B!==void 0&&oe(Ua,{children:oe(Jo,{isFullscreen:ue,resourceUri:H,toolInput:k.input??{},toolResult:{content:B.content,structuredContent:B.structuredContent,_meta:B._meta},resourceEndpoint:s,chatSessionId:n,isDark:i,autoHeight:O,toolDefinitions:m,onFollowUp:l,onCallTool:u,onDisplayModeChange:f?ge=>f(ge,{toolCallId:k.toolCallId,resourceUri:H,toolInput:k.input??{},toolResult:{content:B.content,structuredContent:B.structuredContent,_meta:B._meta},autoHeight:O}):void 0})})]},k.toolCallId)}),!F&&oe("div",{children:ct(Ea,{children:[P.length>0&&oe(Jr,{files:P}),v?w.map((k,B)=>oe(_a,{children:k.type==="text"?k.text:""},`${L.id}-${B}`)):D&&I&&oe(mo,{})]})})]},L.id)}),!h&&g&&oe(Da,{from:"assistant",children:oe(Ea,{children:oe(mo,{})})})]})}import{jsx as Zo,jsxs as oc}from"react/jsx-runtime";var tc="https://app.waniwani.ai/assets/waniwani-logo.svg",ac="https://waniwani.ai";function Ha(){return Zo("div",{className:"ww:pt-2 ww:pb-1 ww:flex ww:justify-center",children:oc("a",{href:ac,target:"_blank",rel:"noopener noreferrer",className:"ww:flex ww:items-center ww:gap-1.5 ww:text-[11px] ww:text-muted-foreground ww:opacity-70 hover:ww:opacity-100 ww:transition-opacity",children:[Zo("span",{children:"powered by"}),Zo("img",{src:tc,alt:"WaniWani",width:72,height:10,className:"ww:h-2.5 ww:w-auto"})]})})}import{jsx as qa}from"react/jsx-runtime";function Ga({suggestions:e,isLoading:t,onSelect:a,className:o,...r}){return e.length===0&&!t?null:qa("div",{className:T("ww:px-4 ww:py-2",o),...r,children:qa("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(s=>qa("div",{className:"ww:h-7 ww:rounded-full ww:bg-accent ww:animate-pulse",style:{width:`${60+s*20}px`}},s)):e.map((s,n)=>qa("button",{type:"button",onClick:()=>a(s),className:T("ww:rounded-full ww:border ww:border-border ww:bg-background ww:px-3 ww:py-1 ww:text-xs","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:`${n*50}ms`},children:s},s))})})}import{useEffect as rc,useRef as sc,useState as nc}from"react";import{jsx as Y,jsxs as We}from"react/jsx-runtime";var Zn=20;function ic(e){let t=Date.parse(e);if(Number.isNaN(t))return"";let a=Date.now()-t;return a<6e4?"just now":a<60*6e4?`${Math.floor(a/6e4)}m ago`:a<1440*6e4?`${Math.floor(a/(60*6e4))}h ago`:`${Math.floor(a/(1440*6e4))}d ago`}function lc(){return We("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":"New chat",children:[Y("title",{children:"New chat"}),Y("line",{x1:"12",y1:"5",x2:"12",y2:"19"}),Y("line",{x1:"5",y1:"12",x2:"19",y2:"12"})]})}function uc(){return We("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":"Thread history",children:[Y("title",{children:"Thread history"}),Y("path",{d:"M3 12a9 9 0 1 0 3-6.7"}),Y("polyline",{points:"3 4 3 9 8 9"}),Y("line",{x1:"12",y1:"7",x2:"12",y2:"12"}),Y("line",{x1:"12",y1:"12",x2:"15",y2:"14"})]})}function dc(){return We("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":"Delete thread",children:[Y("title",{children:"Delete thread"}),Y("polyline",{points:"3 6 5 6 21 6"}),Y("path",{d:"M19 6l-2 14a2 2 0 0 1-2 2H9a2 2 0 0 1-2-2L5 6"}),Y("path",{d:"M10 11v6"}),Y("path",{d:"M14 11v6"})]})}function Wa({threads:e,activeThreadId:t,onNewThread:a,onSelectThread:o,onDeleteThread:r}){let[s,n]=nc(!1),i=sc(null);rc(()=>{if(!s)return;let f=d=>{let c=i.current;c&&(d.composedPath().includes(c)||n(!1))};return document.addEventListener("mousedown",f),()=>document.removeEventListener("mousedown",f)},[s]);let l=e.slice(0,Zn),u=Math.max(0,e.length-Zn);return We("div",{ref:i,className:"ww:relative ww:flex ww:items-center ww:gap-1",children:[Y("button",{type:"button",onClick:a,title:"New chat","aria-label":"New chat",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:Y(lc,{})}),Y("button",{type:"button",onClick:()=>n(f=>!f),title:"Thread history","aria-label":"Thread history","aria-expanded":s,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:Y(uc,{})}),s&&We("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:[l.length===0&&Y("div",{className:"ww:px-3 ww:py-3 ww:text-xs ww:text-muted-foreground",children:"No previous chats yet."}),l.map(f=>{let d=f.threadId===t;return We("div",{className:`ww:flex ww:items-center ww:gap-2 ww:px-3 ww:py-2 ww:text-xs hover:ww:bg-foreground/5 ${d?"ww:bg-foreground/5":""}`,children:[We("button",{type:"button",onClick:()=>{o(f.threadId),n(!1)},className:"ww:flex-1 ww:min-w-0 ww:text-left ww:cursor-pointer",children:[Y("div",{className:"ww:truncate ww:text-foreground ww:font-medium",children:f.title}),Y("div",{className:"ww:text-[10px] ww:text-muted-foreground",children:ic(f.updatedAt)})]}),Y("button",{type:"button",onClick:c=>{c.stopPropagation(),r(f.threadId)},title:"Delete thread","aria-label":"Delete thread",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:Y(dc,{})})]},f.threadId)}),u>0&&We("div",{className:"ww:px-3 ww:py-2 ww:text-[10px] ww:text-muted-foreground ww:border-t ww:border-border",children:[u," older thread",u===1?"":"s"," hidden"]})]})]})}import{useCallback as fc,useRef as cc}from"react";function za(e){let t=cc(e);return t.current=e,fc(async a=>{let{api:o,headers:r,onCallTool:s,sessionId:n}=t.current;if(s)return s(a);let i=`${o??"/api/waniwani"}/tool`,l=typeof n=="string"&&n.trim().length>0?n.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()},[])}import{useChat as vc}from"@ai-sdk/react";import{useCallback as ce,useEffect as Ae,useRef as le,useState as Ye}from"react";import{DefaultChatTransport as pc,uiMessageChunkSchema as mc}from"ai";function hc(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 n=r.filter(i=>i.code==="unrecognized_keys").flatMap(i=>i.keys??[]);if(n.length>0)return n}return null}var ja=class extends pc{processResponseStream(t){let a="",o=mc(),r=o.validate?.bind(o);return t.pipeThrough(new TextDecoderStream).pipeThrough(new TransformStream({async transform(s,n){a+=s;let i=a.split(`
16
+ `);a=i.pop()??"";for(let l of i){let u=l.trim();if(!u.startsWith("data:"))continue;let f=u.slice(5).trim();if(f!=="[DONE]")try{let d=JSON.parse(f);if(!r){n.enqueue(d);continue}let c=await r(d);if(c.success){n.enqueue(c.value);continue}let p=hc(c.error);if(p?.length){let m={...d};for(let C of p)delete m[C];let I=await r(m);I.success&&n.enqueue(I.value)}}catch{}}}}))}};var gc="waniwani-memory";var Ie="threads",Va="by_memoryUserId",wc="by_updatedAt";var ei="memoryUserId",Yn="waniwani-memory-user-id",Yo=null;function er(){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 xc(e,t){if(t<1&&(e.objectStoreNames.contains("ids")||e.createObjectStore("ids")),t<2&&!e.objectStoreNames.contains(Ie)){let a=e.createObjectStore(Ie,{keyPath:"threadId"});a.createIndex(Va,"memoryUserId",{unique:!1}),a.createIndex(wc,"updatedAt",{unique:!1})}}async function tr(){return new Promise((e,t)=>{let a=indexedDB.open(gc,2);a.onupgradeneeded=o=>{xc(a.result,o.oldVersion)},a.onsuccess=()=>e(a.result),a.onerror=()=>t(a.error)})}async function Lc(){return tr()}async function Cc(e){return new Promise((t,a)=>{let s=e.transaction("ids","readonly").objectStore("ids").get(ei);s.onsuccess=()=>t(typeof s.result=="string"?s.result:null),s.onerror=()=>a(s.error)})}async function Ic(e,t){return new Promise((a,o)=>{let n=e.transaction("ids","readwrite").objectStore("ids").put(t,ei);n.onsuccess=()=>a(),n.onerror=()=>o(n.error)})}async function Sc(){if(typeof indexedDB>"u")return null;try{let e=await Lc();try{let t=await Cc(e);if(t)return t;let a=er();return await Ic(e,a),a}finally{e.close()}}catch{return null}}function yc(){try{let e=localStorage.getItem(Yn);if(e)return e;let t=er();return localStorage.setItem(Yn,t),t}catch{return null}}async function ti(){let e=await Sc();if(e)return e;let t=yc();return t||(Yo||(Yo=er()),Yo)}var ai=50,oi=1e3;function $a(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 Xa(e){if(typeof indexedDB>"u")return null;let t=null;try{return t=await tr(),await e(t)}catch{return null}finally{try{t?.close()}catch{}}}function ar(e){return new Promise((t,a)=>{e.onsuccess=()=>t(e.result),e.onerror=()=>a(e.error)})}async function or(e){return await Xa(async a=>{let s=a.transaction(Ie,"readonly").objectStore(Ie).index(Va),i=(await ar(s.getAll(e))??[]).filter($a);return i.sort((l,u)=>l.updatedAt<u.updatedAt?1:-1),i})??[]}async function rr(e){return await Xa(async a=>{let r=a.transaction(Ie,"readonly").objectStore(Ie),s=await ar(r.get(e));return $a(s)?s:null})??null}async function sr(e){if(!$a(e))return;let t=e.messages.length>oi?{...e,messages:e.messages.slice(e.messages.length-oi)}:e;await Xa(async a=>{await new Promise((l,u)=>{let f=a.transaction(Ie,"readwrite");f.oncomplete=()=>l(),f.onerror=()=>u(f.error),f.onabort=()=>u(f.error),f.objectStore(Ie).put(t)});let o=a.transaction(Ie,"readwrite"),r=o.objectStore(Ie),s=r.index(Va),i=(await ar(s.getAll(t.memoryUserId))??[]).filter($a);if(i.length>ai){i.sort((u,f)=>u.updatedAt<f.updatedAt?-1:1);let l=i.slice(0,i.length-ai);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 ri(e){await Xa(async t=>(await new Promise((a,o)=>{let r=t.transaction(Ie,"readwrite");r.oncomplete=()=>a(),r.onerror=()=>o(r.error),r.onabort=()=>o(r.error),r.objectStore(Ie).delete(e)}),null))}async function si(e){return(await or(e))[0]?.threadId??null}function ni(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`}var ii="waniwani-visitor-id";function li(e,t){return e.match(t)?.[1]??null}function kc(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=li(e,o);if(r)return{name:a,version:r}}return null}function bc(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=li(e,o);if(r)return{name:a,version:r.replace(/_/g,".")};if(a==="Linux"&&o.test(e))return{name:a,version:""}}return null}function Tc(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 Pc(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 Ac(){try{let a=localStorage.getItem(ii);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 Pc(e);try{localStorage.setItem(ii,t)}catch{}return t}async function ui(){let e=navigator.userAgent,[t,a]=await Promise.all([Ac(),ti()]);return{userAgent:e,browser:kc(e),os:bc(e),deviceType:Tc(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 Mc="x-session-id",Rc=250;function di(){return typeof crypto<"u"&&typeof crypto.randomUUID=="function"?crypto.randomUUID():yt()}function Qa(){return new Date().toISOString()}function fi(e){if(typeof e!="string")return;let t=e.trim();return t.length>0?t:void 0}async function Fc(e,t){let a=`${e.replace(/\/$/,"")}/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 s={};for(let n of r.tools)n&&typeof n.name=="string"&&(s[n.name]=n);return s}function Ka(e){let{api:t="/api/waniwani",headers:a,body:o,onMessageSent:r,onResponseReceived:s,enableThreadHistory:n=!1,activeThreadId:i,onThreadChange:l}=e,u=le(a),f=le(o),d=le(n);Ae(()=>{d.current=n},[n]);let c=le(void 0),p=le(null),[m,I]=Ye(void 0),C=le(m),[x,g]=Ye(i),h=le(x),[L,w]=Ye([]),[b,P]=Ye(!n),y=le(void 0),D=le(void 0),v=le(void 0),F=le(void 0),k=le(0),B=le(l);Ae(()=>{B.current=l},[l]);let H=ce(S=>{h.current=S,g(S),S&&B.current?.(S)},[]),O=ce(async()=>{if(!n)return;let S=p.current?.memoryUserId;if(!S)return;let M=await or(S);w(M)},[n]),ue=ce(()=>C.current,[]),ge=ce(S=>{let M=fi(S);M&&C.current!==M&&(C.current=M,I(M))},[]),K=ce(()=>{C.current=void 0,I(void 0)},[]);Ae(()=>{u.current=a},[a]),Ae(()=>{f.current=o},[o]),Ae(()=>{let S=!1,M=k.current;return(async()=>{try{let ye=await ui();if(S)return;p.current=ye}catch{}if(!n)return;let E=p.current?.memoryUserId;if(!E){P(!0);return}try{let ye=i??await si(E);if(S||M!==k.current)return;if(ye){let we=await rr(ye);if(S||M!==k.current)return;we&&we.memoryUserId===E&&(h.current=we.threadId,g(we.threadId),y.current=we.createdAt,D.current=we.title,we.sessionId&&(C.current=we.sessionId,I(we.sessionId)),V(we.messages))}await O()}finally{S||P(!0)}})(),()=>{S=!0}},[]);let q=le(new ja({api:t,headers:()=>({...u.current}),body:()=>{let S={...f.current??{}},M=Object.hasOwn(S,"sessionId"),E=fi(S.sessionId);if(E)ge(E),S.sessionId=E;else if(M)K(),delete S.sessionId;else{let Te=ue();Te&&(S.sessionId=Te)}if(ft(c.current)&&(S.modelContext=c.current),p.current){let Te=p.current;S.visitorContext={timezone:Te.timezone,language:Te.language,languages:Te.languages,deviceType:Te.deviceType,referrer:Te.referrer,visitorId:Te.visitorId};let Fe=typeof S.visitor=="object"&&S.visitor!==null?S.visitor:{},Ri=typeof Fe.client=="object"&&Fe.client!==null?Fe.client:{};S.visitor={...Fe,client:{...Ri,memoryUserId:Te.memoryUserId}}}let ye=typeof S.extra=="object"&&S.extra!==null&&!Array.isArray(S.extra)?S.extra:void 0,we=p.current?.memoryUserId,Ne=p.current?.language,Vt={};if(we&&(Vt.memoryUserId=we),Ne&&(Vt.locale=Ne),(Object.keys(Vt).length>0||ye)&&(S.extra={...Vt,...ye??{}}),d.current)if(Object.hasOwn(S,"threadId"))typeof S.threadId=="string"&&(h.current=S.threadId);else{let Fe=h.current;Fe||(Fe=di(),y.current=Qa(),D.current=void 0,H(Fe)),S.threadId=Fe}return S},fetch:(async(S,M)=>{let E=await fetch(S,M);return c.current=void 0,ge(E.headers.get(Mc)),E})})),ee=le(null),_=le(null),J=le({}),[re,A]=Ye(0),R=e.skipRemoteConfig===!0,se=ce(async()=>{if(!R)try{let S=await Fc(t,u.current);J.current=S,A(M=>M+1)}catch(S){console.warn("[WaniWani] Failed to fetch tool definitions:",S instanceof Error?S.message:S)}},[t,R]);Ae(()=>{se()},[se]);let{messages:j,sendMessage:G,setMessages:V,status:N}=vc({messages:e.initialMessages,transport:q.current,onFinish({message:S}){s?.(),ee.current&&(_.current=S)},onError(S){console.warn("[WaniWani] Chat error:",S.message),ee.current&&(ee.current.reject(S),ee.current=null)}}),W=le(j);Ae(()=>{W.current=j},[j]),Ae(()=>{if(N==="ready"&&ee.current&&_.current){let S=ee.current,M=_.current;ee.current=null,_.current=null,S.resolve(M)}},[N]);let[$,U]=Ye(""),[X,ae]=Ye([]),Se=N==="submitted"||N==="streaming",_e=ce(S=>{ae(M=>M.filter(E=>E.id!==S))},[]),tt=Se&&X.length>0,at=ce(S=>{let M=!!S.text?.trim(),E=!!S.files?.length;if(M||E){if(Se){if(X.length>0)return;ae(ye=>[...ye,{id:yt(),text:S.text||"",files:S.files??[],modelContext:S.modelContext}]),U("");return}c.current=S.modelContext,G({text:S.text||"",files:S.files}),r?.(S.text||""),U("")}},[G,r,Se,X.length]),ki=ce(S=>new Promise((M,E)=>{ee.current={resolve:M,reject:E},G({text:S}),r?.(S)}),[G,r]);Ae(()=>{if(N!=="ready"||X.length===0)return;let[S,...M]=X;ae(M),c.current=S.modelContext,G({text:S.text,files:S.files.length>0?S.files:void 0}),r?.(S.text)},[N,G,r,X]);let bi=ce(()=>{V([]),ae([]),K(),U(""),J.current={},A(S=>S+1),se()},[V,K,se]),zt=ce(()=>{if(!d.current)return;let S=p.current?.memoryUserId,M=h.current,E=W.current;if(!(!S||!M||E.length===0)){if(y.current||(y.current=Qa()),!D.current){let ye=E.find(Ne=>Ne.role==="user"),we=ye?ye.parts.map(Ne=>"text"in Ne&&typeof Ne.text=="string"?Ne.text:"").join(" "):"";D.current=ni(we)}return{threadId:M,memoryUserId:S,title:D.current,messages:E,sessionId:C.current,createdAt:y.current,updatedAt:Qa()}}},[]),fr=ce(async()=>{let S=zt();S&&(await sr(S),await O())},[zt,O]);Ae(()=>{if(n&&b&&!(N==="submitted"||N==="streaming")&&j.length!==0)return v.current&&clearTimeout(v.current),v.current=setTimeout(()=>{v.current=void 0;let S=fr().finally(()=>{F.current===S&&(F.current=void 0)});F.current=S},Rc),()=>{v.current&&clearTimeout(v.current)}},[n,b,j,N,fr]);let jt=ce(()=>{let S=F.current,M=v.current,E=M?zt():void 0;return M&&(clearTimeout(M),v.current=void 0),(async()=>{S&&await S,E&&(await sr(E),await O())})()},[zt,O]),Ti=ce(()=>{k.current+=1,jt(),V([]),ae([]),K(),U("");let S=di();return y.current=Qa(),D.current=void 0,H(S),O(),S},[V,K,H,O,jt]),ao=ce(async S=>{k.current+=1;let M=k.current;if(await jt(),M!==k.current)return;let E=await rr(S);M===k.current&&E&&(H(E.threadId),y.current=E.createdAt,D.current=E.title,E.sessionId?(C.current=E.sessionId,I(E.sessionId)):K(),V(E.messages),ae([]),U(""))},[V,K,H,jt]),Pi=ce(async S=>{if(h.current===S){k.current+=1,v.current&&(clearTimeout(v.current),v.current=void 0);let M=F.current;M&&await M}await ri(S),await O(),h.current===S&&(V([]),ae([]),K(),U(""),h.current=void 0,g(void 0),y.current=void 0,D.current=void 0)},[V,K,O]);Ae(()=>{n&&b&&i!==void 0&&i!==h.current&&ao(i)},[i,n,b,ao]);let Ai=ce(S=>{U(S.target.value)},[]),cr=j[j.length-1],pr=j.length>0,vi=Se&&(!pr||cr.role==="user"),Mi=J.current;return{messages:j,status:N,text:$,setText:U,handleSubmit:at,handleTextChange:Ai,isLoading:Se,showLoaderBubble:vi,lastMessage:cr,hasMessages:pr,sendMessage:G,sendMessageAndWait:ki,reset:bi,queuedMessages:X,queueFull:tt,removeQueuedMessage:_e,sessionId:m,toolDefinitions:Mi,refreshToolDefinitions:se,threads:L,activeThreadId:x,isThreadHistoryReady:b,startNewThread:Ti,switchThread:ao,deleteThread:Pi}}import{useEffect as ci,useRef as Bc,useState as Dc}from"react";var Ec={debug:!1,eval:!1};function pi(e="/api/waniwani",t,a=!1){let[o,r]=Dc(Ec),s=Bc(t);return ci(()=>{s.current=t},[t]),ci(()=>{a||(async()=>{try{let n=s.current,l=await(await fetch(`${e}/config`,{headers:n?{...n}:void 0})).json();r({debug:l.debug===!0,eval:l.eval===!0})}catch{}})()},[e,a]),o}import{useCallback as _c,useEffect as nr,useRef as Nc,useState as Uc}from"react";function Oc(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 mi(e){return typeof e=="object"&&e!==null&&"initial"in e}function Ja(e){let{messages:t,status:a,config:o}=e,r=mi(o)&&o.initial?o.initial:void 0,[s,n]=Uc(r??[]),i=Nc(a),l=o===!0||mi(o)&&o.dynamic!==!1,u=_c(()=>{n([])},[]),f=t.length>0;nr(()=>{!f&&r&&r.length>0&&n(r)},[r,f]);let d=t[t.length-1];return nr(()=>{d?.role==="user"&&u()},[d,u]),nr(()=>{let c=i.current;if(i.current=a,c==="streaming"&&a==="ready"&&l){let p=[...t].reverse().find(I=>I.role==="assistant");if(!p)return;let m=Oc(p);m&&n(m)}},[a,l,t]),{suggestions:s,isLoading:!1,clear:u}}import{useEffect as Hc,useRef as qc,useState as Gc}from"react";var Wc=50,zc=30,jc=2e3,hi=500;function Za(e,t=!0){let[a,o]=Gc(""),r=qc(void 0);return Hc(()=>{if(!t){o("");return}let s=0,n=!1,i=!1,l=()=>{i||(n?(s--,o(e.slice(0,s)),s<=0?(n=!1,r.current=setTimeout(l,hi)):r.current=setTimeout(l,zc)):(s++,o(e.slice(0,s)),s>=e.length?(n=!0,r.current=setTimeout(l,jc)):r.current=setTimeout(l,Wc)))};return r.current=setTimeout(l,hi),()=>{i=!0,clearTimeout(r.current)}},[e,t]),a}function Ya(e,t){let a=t?.Authorization,o=typeof a=="string"&&a.startsWith("Bearer ")?a.slice(7):null;return o?`${e}/resource?token=${encodeURIComponent(o)}`:`${e}/resource`}var gi={primaryColor:"#6366f1",primaryForeground:"#1f2937",backgroundColor:"#ffffff",textColor:"#1f2937",mutedColor:"#6b7280",borderColor:"#e5e7eb",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"},Vc={backgroundColor:"#212121",headerBackgroundColor:"#1e1e1e",headerTextColor:"#ececec",textColor:"#ececec",primaryForeground:"#ffffff",mutedColor:"#8e8ea0",borderColor:"#444444",assistantBubbleColor:"#2f2f2f",userBubbleColor:"#303030",inputBackgroundColor:"#2f2f2f",primaryColor:"#6366f1",statusColor:"#22c55e",toolCardColor:"#262626"},$c={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"],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 Ot(e){return{...gi,...e}}function eo(e){let t=e.backgroundColor.replace("#",""),a=parseInt(t.substring(0,2),16),o=parseInt(t.substring(2,4),16),r=parseInt(t.substring(4,6),16);return(a*299+o*587+r*114)/1e3<128}function Ht(e){let t={};for(let[a,o]of Object.entries($c)){let r=e[a],s=typeof r=="number"?`${r}px`:String(r);for(let n of o)t[n]=s}return t}import{jsx as pe,jsxs as qt}from"react/jsx-runtime";var Jc=Xc(function(t,a){let{theme:o,title:r="Assistant",width:s,height:n,className:i,allowAttachments:l=!1,welcomeMessage:u,welcome:f,placeholder:d="Ask me anything...",triggerEvent:c="triggerDemoRequest",api:p,debug:m,enableThreadHistory:I=!1,showToolCalls:C=!0}=t,x=p??"/api/waniwani",g=Ya(x,t.headers),h=Ot(o),L=Ht(h),w=eo(h),b=pi(x,t.headers,t.skipRemoteConfig),P=m??b.debug,y=Ka({...t,api:x}),D=za({...t,api:x,sessionId:y.sessionId}),v=Za(d,!y.text),[F,k]=xi(!1),[B,H]=xi(null),O=wi(null),ue=wi(void 0),ge=ir(()=>{let _=O.current;if(!_)return;_.scrollIntoView({behavior:"smooth",block:"center"});let J=_.querySelector("textarea");J&&setTimeout(()=>J.focus(),300),k(!0),clearTimeout(ue.current),ue.current=setTimeout(()=>k(!1),2e3)},[]),K=Ja({messages:y.messages,status:y.status,config:t.suggestions}),q=ir(_=>{let J=_.content.map(re=>re.text??"").join("").trim();J&&y.handleSubmit({text:J,files:[],modelContext:_.modelContext})},[y.handleSubmit]),ee=ir(_=>{K.clear(),y.handleSubmit({text:_,files:[]})},[K.clear,y.handleSubmit]);return Kc(a,()=>({sendMessage:_=>{y.handleSubmit({text:_,files:[]}),ge()},sendMessageAndWait:_=>y.sendMessageAndWait(_),reset:y.reset,focus:ge,get messages(){return y.messages}}),[y.handleSubmit,y.sendMessageAndWait,y.reset,y.messages,ge]),Qc(()=>{if(!c)return;let _=J=>{let re=J.detail,A=typeof re?.message=="string"?re.message:void 0;A&&y.handleSubmit({text:A,files:[]}),ge()};return window.addEventListener(c,_),()=>window.removeEventListener(c,_)},[c,y.handleSubmit,ge]),qt("div",{ref:O,style:{...L,width:s,height:n},"data-waniwani-chat":"","data-waniwani-layout":"card",...w?{"data-waniwani-dark":""}:{},className:T("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",F&&"ww:ring-2 ww:ring-blue-400/70 ww:ring-offset-2 ww:ring-offset-background",i),children:[qt("div",{className:"ww:shrink-0 ww:flex ww:items-center ww:gap-2 ww:px-6 ww:py-3",style:{backgroundColor:h.headerBackgroundColor,color:h.headerTextColor},children:[pe("div",{className:"ww:text-sm ww:font-semibold ww:truncate ww:flex-1 ww:min-w-0",children:r}),pe(Kr,{messages:y.messages,evalEnabled:b.eval,api:x}),I&&pe(Wa,{threads:y.threads,activeThreadId:y.activeThreadId,onNewThread:y.startNewThread,onSelectThread:_=>{y.switchThread(_)},onDeleteThread:_=>{y.deleteThread(_)}})]}),qt(Br,{className:"ww:flex-1 ww:min-h-0 ww:bg-background",children:[pe(Dr,{scrollClassName:B?"ww:!relative ww:!overflow-hidden":void 0,children:pe(Oa,{messages:y.messages,status:y.status,welcomeMessage:u,welcome:f,onSuggestionSelect:ee,resourceEndpoint:g,chatSessionId:y.sessionId,isDark:w,onFollowUp:q,onCallTool:D,fullscreenToolCallId:B,debug:P,showToolCalls:C,toolDefinitions:y.toolDefinitions,onWidgetDisplayModeChange:(_,J)=>{H(_==="fullscreen"?J.toolCallId:null)}})}),pe(Er,{})]}),pe("div",{style:B?{display:"none"}:void 0,children:pe(Ga,{suggestions:K.suggestions,isLoading:K.isLoading,onSelect:ee})}),pe("div",{style:B?{display:"none"}:void 0,children:pe(aa,{queuedMessages:y.queuedMessages,onRemove:y.removeQueuedMessage})}),pe("div",{style:B?{display:"none"}:void 0,children:pe("div",{className:"ww:shrink-0 ww:px-4 ww:pb-8 ww:pt-2 ww:bg-background",children:qt("div",{className:"ww:mx-auto ww:w-full ww:max-w-3xl",children:[pe(Zt,{onSubmit:y.handleSubmit,globalDrop:l,multiple:l,className:"ww:rounded-2xl ww:border-border ww:bg-input",children:qt("div",{className:"ww:flex ww:items-center ww:gap-1 ww:pl-4 ww:pr-3 ww:py-2.5",children:[l&&pe(ta,{}),pe(Yt,{onChange:y.handleTextChange,value:y.text,placeholder:v,className:"ww:min-h-0 ww:py-1 ww:px-0"}),pe(ea,{status:y.status,disabled:y.queueFull})]})}),pe(Ha,{})]})})})]})});import{forwardRef as Zc,useCallback as to,useEffect as Gt,useImperativeHandle as Yc,useRef as Wt,useState as Li}from"react";import{jsx as he,jsxs as et}from"react/jsx-runtime";var lr=Zc(function(t,a){let{theme:o,className:r,allowAttachments:s=!1,welcomeMessage:n,welcome:i,placeholder:l="Ask me anything...",triggerEvent:u="triggerDemoRequest",api:f,mcp:d,debug:c=!1,readOnly:p=!1,title:m,headerActions:I,enableThreadHistory:C=!1,showToolCalls:x=!0}=t,g=Ot(o),h=Ht(g),L=eo(g),w=Ka({...t,api:f}),b=za({...t,api:f,sessionId:w.sessionId,onCallTool:d?.onCallTool}),P=d?.resourceEndpoint??Ya(f,t.headers),y=Za(l,!w.text),[D,v]=Li(null),F=Wt(null),k=Wt(null),B=Wt(null),H=Wt(null),[O,ue]=Li(!0),ge=Wt(O);ge.current=O;let K=to(()=>{let A=F.current;if(!A)return;let R=A.querySelector("textarea");R&&R.focus()},[]),q=to((A="smooth")=>{let R=k.current;R&&R.scrollTo({top:R.scrollHeight,behavior:A})},[]);Gt(()=>{let A=H.current,R=k.current;if(!A||!R)return;let se=new IntersectionObserver(([j])=>ue(j.isIntersecting),{root:R,rootMargin:"0px 0px 200px 0px",threshold:0});return se.observe(A),()=>se.disconnect()},[]),Gt(()=>{(w.messages[w.messages.length-1]?.role==="user"||ge.current)&&q("smooth")},[w.messages.length,w.messages[w.messages.length-1]]),Gt(()=>{q("auto")},[q]),Gt(()=>{if(typeof ResizeObserver>"u")return;let A=k.current,R=B.current;if(!A&&!R)return;let se=A?.scrollHeight??0,j=A?.clientHeight??0,G=new ResizeObserver(()=>{let V=k.current;if(!V)return;let N=V.scrollTop+j>=se-5;se=V.scrollHeight,j=V.clientHeight,N&&q("auto")});return A&&G.observe(A),R&&G.observe(R),()=>G.disconnect()},[q]);let ee=Ja({messages:w.messages,status:w.status,config:t.suggestions}),_=to(A=>{let R=A.content.map(se=>se.text??"").join("").trim();R&&w.handleSubmit({text:R,files:[],modelContext:A.modelContext})},[w.handleSubmit]),J=to(A=>{ee.clear(),w.handleSubmit({text:A,files:[]})},[ee.clear,w.handleSubmit]);Yc(a,()=>({sendMessage:A=>{w.handleSubmit({text:A,files:[]}),K()},sendMessageAndWait:A=>w.sendMessageAndWait(A),reset:w.reset,focus:K,get messages(){return w.messages}}),[w.handleSubmit,w.sendMessageAndWait,w.reset,w.messages,K]),Gt(()=>{if(!u)return;let A=R=>{let se=R.detail,j=typeof se?.message=="string"?se.message:void 0;j&&w.handleSubmit({text:j,files:[]}),K()};return window.addEventListener(u,A),()=>window.removeEventListener(u,A)},[u,w.handleSubmit,K]);let re=!!(m||C||I);return et("div",{ref:F,style:{...h,maxHeight:"inherit"},"data-waniwani-chat":"","data-waniwani-layout":"embed",...L?{"data-waniwani-dark":""}:{},className:T("ww:relative ww:w-full ww:h-full ww:flex ww:flex-col ww:bg-background ww:text-foreground ww:font-[family-name:var(--ww-font)] ww:overflow-hidden",r),children:[re&&et("div",{className:"ww:shrink-0 ww:flex ww:items-center ww:gap-2 ww:px-6 ww:py-3 ww:bg-background ww:border-b ww:border-border",style:{backgroundColor:g.headerBackgroundColor,color:g.headerTextColor},children:[m&&he("div",{className:"ww:text-sm ww:font-semibold ww:truncate ww:flex-1 ww:min-w-0",children:m}),!m&&he("div",{className:"ww:flex-1"}),I,C&&he(Wa,{threads:w.threads,activeThreadId:w.activeThreadId,onNewThread:w.startNewThread,onSelectThread:A=>{w.switchThread(A)},onDeleteThread:A=>{w.deleteThread(A)}})]}),et("div",{ref:k,className:T("ww:relative ww:flex-1 ww:min-h-0",D?"ww:overflow-hidden":"ww:overflow-y-auto"),children:[et("div",{ref:B,className:T("ww:mx-auto ww:w-full ww:max-w-3xl ww:px-4 ww:py-6 ww:flex ww:flex-col ww:gap-6",D&&"ww:!py-0"),children:[he(Oa,{messages:w.messages,status:w.status,welcomeMessage:n,welcome:i,onSuggestionSelect:J,resourceEndpoint:P,chatSessionId:w.sessionId,isDark:L,onFollowUp:_,onCallTool:b,fullscreenToolCallId:D,debug:c,showToolCalls:x,toolDefinitions:w.toolDefinitions,onWidgetDisplayModeChange:(A,R)=>{v(A==="fullscreen"?R.toolCallId:null)}}),he("div",{ref:H,"aria-hidden":!0,style:{height:1}})]}),!O&&!D&&he("div",{className:"ww:sticky ww:bottom-2 ww:flex ww:justify-center ww:pointer-events-none",children:he(ke,{type:"button",onClick:()=>q("smooth"),size:"icon",variant:"outline",className:"ww:rounded-full ww:shadow ww:pointer-events-auto","aria-label":"Scroll to latest",children:he(ze,{className:"ww:size-4"})})})]}),!p&&et("div",{className:"ww:shrink-0 ww:bg-background",style:D?{display:"none"}:void 0,children:[he(Ga,{suggestions:ee.suggestions,isLoading:ee.isLoading,onSelect:J}),he(aa,{queuedMessages:w.queuedMessages,onRemove:w.removeQueuedMessage}),he("div",{className:"ww:px-4 ww:pb-2 ww:pt-2",children:et("div",{className:"ww:mx-auto ww:w-full ww:max-w-3xl",children:[he(Zt,{onSubmit:w.handleSubmit,globalDrop:s,multiple:s,className:"ww:rounded-2xl ww:border-border ww:bg-input",children:et("div",{className:"ww:flex ww:items-center ww:gap-1 ww:pl-4 ww:pr-3 ww:py-2.5",children:[s&&he(ta,{}),he(Yt,{onChange:w.handleTextChange,value:w.text,placeholder:y,className:"ww:min-h-0 ww:py-1 ww:px-0"}),he(ea,{status:w.status,disabled:w.queueFull})]})}),he(Ha,{})]})})]})]})});import{forwardRef as sp,useEffect as np,useMemo as Si,useState as ip}from"react";var ep="https://app.waniwani.ai/api/mcp/chat",tp={api:ep};function ap(){if(document.currentScript instanceof HTMLScriptElement)return document.currentScript;let e=document.querySelectorAll("script[src]");for(let t of e)if(t instanceof HTMLScriptElement&&/embed/i.test(t.src))return t;return null}function op(){let e=ap();if(!e)return{};let t=h=>e.getAttribute(h)??void 0,a=h=>{let L=e.getAttribute(h);if(L==null)return;let w=L.trim().toLowerCase();if(w==="true"||w==="1"||w==="")return!0;if(w==="false"||w==="0")return!1},o={},r=t("data-api");r&&(o.api=r);let s=t("data-token");s&&(o.token=s);let n=t("data-title");n&&(o.title=n);let i=t("data-welcome-message");i&&(o.welcomeMessage=i);let l=t("data-placeholder");l&&(o.placeholder=l);let u=t("data-mcp-server-url");u&&(o.mcpServerUrl=u);let f=t("data-channel-id");f&&(o.channelId=f);let d=a("data-show-tool-calls");d!==void 0&&(o.showToolCalls=d);let c=t("data-css");c&&(o.css=c);let p=t("data-suggestions");p&&(o.suggestions=p.split(",").map(h=>h.trim()).filter(Boolean));let m=a("data-enable-thread-history");m!==void 0&&(o.enableThreadHistory=m);let I=t("data-primary-color"),C=t("data-background-color"),x=t("data-text-color"),g=t("data-font-family");return(I||C||x||g)&&(o.theme={},I&&(o.theme.primaryColor=I),C&&(o.theme.backgroundColor=C),x&&(o.theme.textColor=x),g&&(o.theme.fontFamily=g)),o}function ur(e){if(!e)return{};let t={};for(let a in e)e[a]!==void 0&&(t[a]=e[a]);return t}function dr(e,t,a){let o=a??op(),r={token:"",...tp,...ur(t),...ur(o),...ur(e),theme:{...t?.theme??{},...o.theme,...e?.theme}};if(!r.token)throw new Error("[WaniWani] Missing required config: `token`. Set data-token on the script tag or pass it to WaniWani.chat.init().");return r}function Ci(e){if(!e.theme)return;let t=e.theme;return{...t.primaryColor?{primaryColor:t.primaryColor}:{},...t.backgroundColor?{backgroundColor:t.backgroundColor}:{},...t.textColor?{textColor:t.textColor}:{},...t.fontFamily?{fontFamily:t.fontFamily}:{}}}import{useEffect as rC,useState as sC}from"react";async function Ii(e,t,a){try{let o=`${e.replace(/\/$/,"")}/config`,r=await fetch(o,{method:"GET",headers:{Authorization:`Bearer ${t}`},signal:a});if(!r.ok)return{};let s=await r.json(),n=s&&typeof s=="object"&&"data"in s&&s.data?s.data:s;return n?rp(n):{}}catch{return{}}}function rp(e){let t={};return e.title!=null&&(t.title=e.title),e.welcomeMessage!=null&&(t.welcomeMessage=e.welcomeMessage),e.placeholder!=null&&(t.placeholder=e.placeholder),e.suggestions!=null&&e.suggestions.length>0&&(t.suggestions=e.suggestions),typeof e.enableThreadHistory=="boolean"&&(t.enableThreadHistory=e.enableThreadHistory),t}import{jsx as up}from"react/jsx-runtime";var yi="https://app.waniwani.ai/api/mcp/chat",lp=sp(function(t,a){let{token:o,channelId:r,className:s,overrides:n}=t,i=Si(()=>({token:o,channelId:r,api:n?.api,mcpServerUrl:n?.mcpServerUrl,title:n?.title,welcomeMessage:n?.welcomeMessage,placeholder:n?.placeholder,suggestions:n?.suggestions,enableThreadHistory:n?.enableThreadHistory,showToolCalls:n?.showToolCalls,theme:n?.theme}),[o,r,n?.api,n?.mcpServerUrl,n?.title,n?.welcomeMessage,n?.placeholder,n?.suggestions,n?.enableThreadHistory,n?.showToolCalls,n?.theme]),[l,u]=ip({});np(()=>{if(!o)return;let p=new AbortController,m=n?.api??yi;return Ii(m,o,p.signal).then(I=>{p.signal.aborted||u(I)}).catch(I=>{console.error("[WaniWani] Remote config fetch failed:",I)}),()=>p.abort()},[n?.api,o]);let f=Si(()=>dr(i,l,void 0),[i,l]),d=Ci(f),c={};return f.mcpServerUrl&&(c.mcpServerUrl=f.mcpServerUrl),f.channelId&&(c.channelId=f.channelId),up(lr,{ref:a,api:f.api??yi,headers:{Authorization:`Bearer ${f.token}`},skipRemoteConfig:!0,body:Object.keys(c).length>0?c:void 0,theme:d,title:f.title,welcomeMessage:f.welcomeMessage,welcome:n?.welcome,placeholder:f.placeholder,suggestions:f.suggestions?{initial:f.suggestions}:void 0,enableThreadHistory:f.enableThreadHistory,showToolCalls:f.showToolCalls,allowAttachments:n?.allowAttachments,className:s})});export{Jc as ChatCard,lr as ChatEmbed,Vc as DARK_THEME,gi as DEFAULT_THEME,Jo as McpAppFrame,lp as WaniwaniChat,Ot as mergeTheme,Ht as themeToCSSProperties};
17
17
  /*! Bundled license information:
18
18
 
19
19
  lucide-react/dist/esm/shared/src/utils/mergeClasses.js: