@waniwani/sdk 0.18.1 → 0.19.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,7 +1,7 @@
1
1
  "use client";
2
- import{a as gn,b as wn,c as xn,d as Ln,e as In,f as ha,g as Cn,h as Sn,i as yn,j as bn,k as Rr,l as kn,m as gt,n as wt,o as ga,p as xt,u as At}from"../chunk-F4UUXA3U.js";import"../chunk-V3ZDECK5.js";import{forwardRef as gh,useCallback as Ko,useEffect as wh,useImperativeHandle as xh,useRef as Ol,useState as Ul}from"react";import{forwardRef as Lu,createElement as Iu}from"react";var wa=(...e)=>e.filter((t,a,r)=>!!t&&t.trim()!==""&&r.indexOf(t)===a).join(" ").trim();var Tn=e=>e.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase();var vn=e=>e.replace(/^([A-Z])|[\s-_]+(\w)/g,(t,a,r)=>r?r.toUpperCase():a.toLowerCase());var Mr=e=>{let t=vn(e);return t.charAt(0).toUpperCase()+t.slice(1)};import{forwardRef as xu,createElement as Rn}from"react";var Pn={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 An=e=>{for(let t in e)if(t.startsWith("aria-")||t==="role"||t==="title")return!0;return!1};var Mn=xu(({color:e="currentColor",size:t=24,strokeWidth:a=2,absoluteStrokeWidth:r,className:o="",children:n,iconNode:s,...i},l)=>Rn("svg",{ref:l,...Pn,width:t,height:t,stroke:e,strokeWidth:r?Number(a)*24/Number(t):a,className:wa("lucide",o),...!n&&!An(i)&&{"aria-hidden":"true"},...i},[...s.map(([u,c])=>Rn(u,c)),...Array.isArray(n)?n:[n]]));var j=(e,t)=>{let a=Lu(({className:r,...o},n)=>Iu(Mn,{ref:n,iconNode:t,className:wa(`lucide-${Tn(Mr(e))}`,`lucide-${e}`,r),...o}));return a.displayName=Mr(e),a};var Cu=[["path",{d:"M12 5v14",key:"s699le"}],["path",{d:"m19 12-7 7-7-7",key:"1idqje"}]],at=j("arrow-down",Cu);var Su=[["path",{d:"m5 12 7-7 7 7",key:"hav0vg"}],["path",{d:"M12 19V5",key:"x0mq9r"}]],Rt=j("arrow-up",Su);var yu=[["path",{d:"M20 6 9 17l-5-5",key:"1gmf2c"}]],Mt=j("check",yu);var bu=[["path",{d:"m6 9 6 6 6-6",key:"qrunsl"}]],je=j("chevron-down",bu);var ku=[["path",{d:"m9 18 6-6-6-6",key:"mthhwq"}]],Ft=j("chevron-right",ku);var Tu=[["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"}]],Bt=j("clipboard-copy",Tu);var vu=[["path",{d:"M12 6v6l4 2",key:"mmk7yg"}],["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}]],We=j("clock",vu);var Pu=[["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"}]],Dt=j("file",Pu);var Au=[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M12 2a14.5 14.5 0 0 0 0 20 14.5 14.5 0 0 0 0-20",key:"13o1zl"}],["path",{d:"M2 12h20",key:"9i4pu4"}]],Et=j("globe",Au);var Ru=[["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"}]],_t=j("loader",Ru);var Mu=[["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"}]],Nt=j("paperclip",Mu);var Fu=[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}]],Ot=j("square",Fu);var Bu=[["path",{d:"M14.7 6.3a1 1 0 0 0 0 1.4l1.6 1.6a1 1 0 0 0 1.4 0l3.106-3.105c.32-.322.863-.22.983.218a6 6 0 0 1-8.259 7.057l-7.91 7.91a1 1 0 0 1-2.999-3l7.91-7.91a6 6 0 0 1 7.057-8.259c.438.12.54.662.219.984z",key:"1ngwbx"}]],rt=j("wrench",Bu);var Du=[["path",{d:"M18 6 6 18",key:"1bl5f8"}],["path",{d:"m6 6 12 12",key:"d8bk6v"}]],ot=j("x",Du);var Eu=[["path",{d:"M4 14a1 1 0 0 1-.78-1.63l9.9-10.2a.5.5 0 0 1 .86.46l-1.92 6.02A1 1 0 0 0 13 10h7a1 1 0 0 1 .78 1.63l-9.9 10.2a.5.5 0 0 1-.86-.46l1.92-6.02A1 1 0 0 0 11 14z",key:"1xq2db"}]],Ut=j("zap",Eu);import{useCallback as Yu}from"react";import{useCallback as $e,useMemo as _u,useRef as Nu,useState as Fr}from"react";var Ou={damping:.7,stiffness:.05,mass:1.25},Uu=70,Hu=1e3/60,qu=350,xa=!1;globalThis.document?.addEventListener("mousedown",()=>{xa=!0});globalThis.document?.addEventListener("mouseup",()=>{xa=!1});globalThis.document?.addEventListener("click",()=>{xa=!1});var Bn=(e={})=>{let[t,a]=Fr(!1),[r,o]=Fr(e.initial!==!1),[n,s]=Fr(!1),i=Nu(null);i.current=e;let l=$e(()=>{if(!xa)return!1;let g=window.getSelection();if(!g||!g.rangeCount)return!1;let h=g.getRangeAt(0);return h.commonAncestorContainer.contains(L.current)||L.current?.contains(h.commonAncestorContainer)},[]),u=$e(g=>{d.isAtBottom=g,o(g)},[]),c=$e(g=>{d.escapedFromLock=g,a(g)},[]),d=_u(()=>{let g;return{escapedFromLock:t,isAtBottom:r,resizeDifference:0,accumulated:0,velocity:0,listeners:new Set,get scrollTop(){return L.current?.scrollTop??0},set scrollTop(h){L.current&&(L.current.scrollTop=h,d.ignoreScrollToTop=L.current.scrollTop)},get targetScrollTop(){return!L.current||!w.current?0:L.current.scrollHeight-1-L.current.clientHeight},get calculatedTargetScrollTop(){if(!L.current||!w.current)return 0;let{targetScrollTop:h}=this;if(!e.targetScrollTop)return h;if(g?.targetScrollTop===h)return g.calculatedScrollTop;let x=Math.max(Math.min(e.targetScrollTop(h,{scrollElement:L.current,contentElement:w.current}),h),0);return g={targetScrollTop:h,calculatedScrollTop:x},requestAnimationFrame(()=>{g=void 0}),x},get scrollDifference(){return this.calculatedTargetScrollTop-this.scrollTop},get isNearBottom(){return this.scrollDifference<=Uu}}},[]),p=$e((g={})=>{typeof g=="string"&&(g={animation:g}),g.preserveScrollPosition||u(!0);let h=Date.now()+(Number(g.wait)||0),x=Dr(i.current,g.animation),{ignoreEscapes:y=!1}=g,T,v=d.calculatedTargetScrollTop;g.duration instanceof Promise?g.duration.finally(()=>{T=Date.now()}):T=h+(g.duration??0);let A=async()=>{let R=new Promise(requestAnimationFrame).then(()=>{if(!d.isAtBottom)return d.animation=void 0,!1;let{scrollTop:P}=d,F=performance.now(),b=(F-(d.lastTick??F))/Hu;if(d.animation||(d.animation={behavior:x,promise:R,ignoreEscapes:y}),d.animation.behavior===x&&(d.lastTick=F),l()||h>Date.now())return A();if(P<Math.min(v,d.calculatedTargetScrollTop)){if(d.animation?.behavior===x){if(x==="instant")return d.scrollTop=d.calculatedTargetScrollTop,A();d.velocity=(x.damping*d.velocity+x.stiffness*d.scrollDifference)/x.mass,d.accumulated+=d.velocity*b,d.scrollTop+=d.accumulated,d.scrollTop!==P&&(d.accumulated=0)}return A()}return T>Date.now()?(v=d.calculatedTargetScrollTop,A()):(d.animation=void 0,d.scrollTop<d.calculatedTargetScrollTop?p({animation:Dr(i.current,i.current.resize),ignoreEscapes:y,duration:Math.max(0,T-Date.now())||void 0}):d.isAtBottom)});return R.then(P=>(requestAnimationFrame(()=>{d.animation||(d.lastTick=void 0,d.velocity=0)}),P))};return g.wait!==!0&&(d.animation=void 0),d.animation?.behavior===x?d.animation.promise:A()},[u,l,d]),f=$e(()=>{c(!0),u(!1)},[c,u]),m=$e(({target:g})=>{if(g!==L.current)return;let{scrollTop:h,ignoreScrollToTop:x}=d,{lastScrollTop:y=h}=d;d.lastScrollTop=h,d.ignoreScrollToTop=void 0,x&&x>h&&(y=x),s(d.isNearBottom),setTimeout(()=>{if(d.resizeDifference||h===x)return;if(l()){c(!0),u(!1);return}let T=h>y,v=h<y;if(d.animation?.ignoreEscapes){d.scrollTop=y;return}v&&(c(!0),u(!1)),T&&c(!1),!d.escapedFromLock&&d.isNearBottom&&u(!0)},1)},[c,u,l,d]),I=$e(({target:g,deltaY:h})=>{let x=g;for(;!["scroll","auto"].includes(getComputedStyle(x).overflow);){if(!x.parentElement)return;x=x.parentElement}x===L.current&&h<0&&L.current.scrollHeight>L.current.clientHeight&&!d.animation?.ignoreEscapes&&(c(!0),u(!1))},[c,u,d]),L=Fn(g=>{L.current?.removeEventListener("scroll",m),L.current?.removeEventListener("wheel",I),g?.addEventListener("scroll",m,{passive:!0}),g?.addEventListener("wheel",I,{passive:!0})},[]),w=Fn(g=>{if(d.resizeObserver?.disconnect(),!g)return;let h;d.resizeObserver=new ResizeObserver(([x])=>{let{height:y}=x.contentRect,T=y-(h??y);if(d.resizeDifference=T,d.scrollTop>d.targetScrollTop&&(d.scrollTop=d.targetScrollTop),s(d.isNearBottom),T>=0){let v=Dr(i.current,h?i.current.resize:i.current.initial);p({animation:v,wait:!0,preserveScrollPosition:!0,duration:v==="instant"?void 0:qu})}else d.isNearBottom&&(c(!1),u(!0));h=y,requestAnimationFrame(()=>{setTimeout(()=>{d.resizeDifference===T&&(d.resizeDifference=0)},1)})}),d.resizeObserver?.observe(g)},[]);return{contentRef:w,scrollRef:L,scrollToBottom:p,stopScroll:f,isAtBottom:r||n,isNearBottom:n,escapedFromLock:t,state:d}};function Fn(e,t){let a=$e(r=>(a.current=r,e(r)),t);return a}var Br=new Map;function Dr(...e){let t={...Ou},a=!1;for(let o of e){if(o==="instant"){a=!0;continue}typeof o=="object"&&(a=!1,t.damping=o.damping??t.damping,t.stiffness=o.stiffness??t.stiffness,t.mass=o.mass??t.mass)}let r=JSON.stringify(t);return Br.has(r)||Br.set(r,Object.freeze(t)),a?"instant":Br.get(r)}import*as nt from"react";import{createContext as Wu,useContext as Gu,useEffect as Vu,useImperativeHandle as zu,useLayoutEffect as ju,useMemo as $u,useRef as Xu}from"react";var Dn=Wu(null),Ku=typeof window<"u"?ju:Vu;function Ht({instance:e,children:t,resize:a,initial:r,mass:o,damping:n,stiffness:s,targetScrollTop:i,contextRef:l,...u}){let c=Xu(null),d=nt.useCallback((y,T)=>(x?.targetScrollTop??i)?.(y,T)??y,[i]),p=Bn({mass:o,damping:n,stiffness:s,resize:a,initial:r,targetScrollTop:d}),{scrollRef:f,contentRef:m,scrollToBottom:I,stopScroll:L,isAtBottom:w,escapedFromLock:g,state:h}=e??p,x=$u(()=>({scrollToBottom:I,stopScroll:L,scrollRef:f,isAtBottom:w,escapedFromLock:g,contentRef:m,state:h,get targetScrollTop(){return c.current},set targetScrollTop(y){c.current=y}}),[I,w,m,f,L,g,h]);return zu(l,()=>x,[x]),Ku(()=>{f.current&&getComputedStyle(f.current).overflow==="visible"&&(f.current.style.overflow="auto")},[]),nt.createElement(Dn.Provider,{value:x},nt.createElement("div",{...u},typeof t=="function"?t(x):t))}(function(e){function t({children:a,scrollClassName:r,...o}){let n=Er();return nt.createElement("div",{ref:n.scrollRef,style:{height:"100%",width:"100%",scrollbarGutter:"stable both-edges"},className:r},nt.createElement("div",{...o,ref:n.contentRef},typeof a=="function"?a(n):a))}e.Content=t})(Ht||(Ht={}));function Er(){let e=Gu(Dn);if(!e)throw new Error("use-stick-to-bottom component context must be used within a StickToBottom component");return e}var Qu=wn({prefix:"ww"});function k(...e){return Qu(gn(e))}import{jsx as Ju}from"react/jsx-runtime";var Fe=({className:e,variant:t="default",size:a="default",type:r="button",...o})=>Ju("button",{type:r,className:k("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),...o});import{jsx as La}from"react/jsx-runtime";var En=({className:e,...t})=>La(Ht,{className:k("ww:relative ww:flex-1 ww:overflow-y-hidden",e),initial:"smooth",resize:"smooth",role:"log",...t}),_n=({className:e,...t})=>La(Ht.Content,{className:k("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}),Nn=({className:e,...t})=>{let{isAtBottom:a,scrollToBottom:r}=Er(),o=Yu(()=>{r()},[r]);return!a&&La(Fe,{className:k("ww:absolute ww:bottom-4 ww:left-[50%] ww:translate-x-[-50%] ww:rounded-full",e),onClick:o,size:"icon",variant:"outline",...t,children:La(at,{className:"ww:size-4"})})};import Un from"crypto";var On="useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict";var Zu=128,st,Lt,ed=e=>{!st||st.length<e?(st=Buffer.allocUnsafe(e*Zu),Un.randomFillSync(st),Lt=0):Lt+e>st.length&&(Un.randomFillSync(st),Lt=0),Lt+=e};var qt=(e=21)=>{ed(e|=0);let t="";for(let a=Lt-e;a<Lt;a++)t+=On[st[a]&63];return t};import{createContext as ld,useCallback as Ge,useContext as ud,useEffect as Hr,useMemo as dd,useRef as qr,useState as zn}from"react";import{createContext as td,useContext as ad,useEffect as rd,useMemo as od,useState as Gn}from"react";var Hn=["en","fr","es"];function It(e){return Hn.includes(e)}function _r(e){if(e&&It(e))return e;if(e){let a=e.split("-")[0]?.toLowerCase();if(a&&It(a))return a}let t=[];if(typeof navigator<"u"&&(navigator.language&&t.push(navigator.language),navigator.languages&&t.push(...navigator.languages)),typeof document<"u"){let a=document.documentElement.getAttribute("lang");a&&t.push(a)}for(let a of t){let r=a.toLowerCase();if(It(r))return r;let o=r.split("-")[0];if(o&&It(o))return o}return"en"}var Ia={promptInput:{placeholder:"What would you like to know?",uploadFiles:"Upload files",stop:"Stop",submit:"Submit",removeAttachments:"Remove all attachments"},workingIndicator:{default:"On it\u2026"},reasoning:{thinking:"Thinking\u2026",thoughtBrief:"Thought for a few seconds",thoughtForSeconds:e=>`Thought for ${e} second${e===1?"":"s"}`},chainOfThought:{working:"Working on it\u2026",done:"Thought process"},tool:{copy:"Copy",copied:"Copied",request:"Request",response:"Response",error:"Error"},attachments:{attachmentFallback:"attachment",fileFallback:"file"},threadMenu:{newChat:"New chat",threadHistory:"Thread history",deleteThread:"Delete thread",noPreviousChats:"No previous chats yet.",hiddenThreads:e=>`${e} older thread${e===1?"":"s"} hidden`},chatQueue:{attachmentFallback:"(attachment)",removeFromQueue:"Remove from queue",queued:e=>`${e} queued`},poweredBy:{label:"AI agent powered by"},aiDisclaimer:{default:"can make mistakes"},exportSession:{saving:"saving...",saved:"saved",error:"error",export:"export",tooltip:"Save scenario to Waniwani"},widgetErrorBoundary:{failedToLoad:"Widget failed to load",retry:"Retry"},launcher:{prompt:"Ask anything\u2026",open:"Open chat",close:"Close chat",minimize:"Minimize"}};var qn={promptInput:{placeholder:"\xBFQu\xE9 te gustar\xEDa saber?",uploadFiles:"Subir archivos",stop:"Detener",submit:"Enviar",removeAttachments:"Eliminar todos los archivos adjuntos"},workingIndicator:{default:"Un momento\u2026"},reasoning:{thinking:"Pensando\u2026",thoughtBrief:"Pensado durante unos segundos",thoughtForSeconds:e=>`Pensado durante ${e} segundo${e===1?"":"s"}`},chainOfThought:{working:"Estoy en ello\u2026",done:"Razonamiento"},tool:{copy:"Copiar",copied:"Copiado",request:"Solicitud",response:"Respuesta",error:"Error"},attachments:{attachmentFallback:"adjunto",fileFallback:"archivo"},threadMenu:{newChat:"Nueva conversaci\xF3n",threadHistory:"Historial",deleteThread:"Eliminar conversaci\xF3n",noPreviousChats:"A\xFAn no hay conversaciones anteriores.",hiddenThreads:e=>`${e} conversaci\xF3n${e===1?"":"es"} anterior${e===1?"":"es"} oculta${e===1?"":"s"}`},chatQueue:{attachmentFallback:"(adjunto)",removeFromQueue:"Quitar de la cola",queued:e=>`${e} en cola`},poweredBy:{label:"Agente IA con tecnolog\xEDa de"},aiDisclaimer:{default:"puede cometer errores"},exportSession:{saving:"guardando...",saved:"guardado",error:"error",export:"exportar",tooltip:"Guardar escenario en Waniwani"},widgetErrorBoundary:{failedToLoad:"No se pudo cargar el widget",retry:"Reintentar"},launcher:{prompt:"Pregunta lo que quieras\u2026",open:"Abrir chat",close:"Cerrar chat",minimize:"Minimizar"}};var Wn={promptInput:{placeholder:"Que souhaitez-vous savoir ?",uploadFiles:"Importer des fichiers",stop:"Arr\xEAter",submit:"Envoyer",removeAttachments:"Supprimer toutes les pi\xE8ces jointes"},workingIndicator:{default:"Un instant\u2026"},reasoning:{thinking:"R\xE9flexion\u2026",thoughtBrief:"R\xE9flexion pendant quelques secondes",thoughtForSeconds:e=>`R\xE9flexion pendant ${e} seconde${e===1?"":"s"}`},chainOfThought:{working:"Je m'en occupe\u2026",done:"Raisonnement"},tool:{copy:"Copier",copied:"Copi\xE9",request:"Requ\xEAte",response:"R\xE9ponse",error:"Erreur"},attachments:{attachmentFallback:"pi\xE8ce jointe",fileFallback:"fichier"},threadMenu:{newChat:"Nouvelle conversation",threadHistory:"Historique",deleteThread:"Supprimer la conversation",noPreviousChats:"Aucune conversation pr\xE9c\xE9dente.",hiddenThreads:e=>`${e} conversation${e===1?"":"s"} plus ancienne${e===1?"":"s"} masqu\xE9e${e===1?"":"s"}`},chatQueue:{attachmentFallback:"(pi\xE8ce jointe)",removeFromQueue:"Retirer de la file",queued:e=>`${e} en attente`},poweredBy:{label:"Agent IA propuls\xE9 par"},aiDisclaimer:{default:"peut faire des erreurs"},exportSession:{saving:"enregistrement...",saved:"enregistr\xE9",error:"erreur",export:"exporter",tooltip:"Enregistrer le sc\xE9nario dans Waniwani"},widgetErrorBoundary:{failedToLoad:"\xC9chec du chargement du widget",retry:"R\xE9essayer"},launcher:{prompt:"Posez votre question\u2026",open:"Ouvrir le chat",close:"Fermer le chat",minimize:"R\xE9duire"}};var Nr={en:Ia,fr:Wn,es:qn};import{jsx as id}from"react/jsx-runtime";var Vn=td(null);function nd(e,t){if(!t)return e;let a={...e};for(let r of Object.keys(e)){let o=e[r],n=t[r];n&&typeof o=="object"&&(a[r]={...o,...n})}return a}function Or({children:e,locale:t,messages:a}){let r=!!(t&&sd(t)),o=r?t:"en",[n,s]=Gn(o),[i,l]=Gn(r);rd(()=>{s(_r(t)),l(!0)},[t]);let u=od(()=>{let c=Nr[n]??Nr["en"];return{locale:n,t:nd(c,a),ready:i}},[n,a,i]);return id(Vn.Provider,{value:u,children:e})}function sd(e){return e==="en"||e==="fr"||e==="es"}function V(){let e=ad(Vn);return e||{locale:"en",t:Ia,ready:!0}}function Ur(e,t){let a=Date.now()-e;if(a<6e4)try{return new Intl.RelativeTimeFormat(t,{numeric:"auto",style:"narrow"}).format(0,"second")}catch{return"just now"}let r,o;a<60*6e4?(r=-Math.floor(a/6e4),o="minute"):a<1440*6e4?(r=-Math.floor(a/(60*6e4)),o="hour"):(r=-Math.floor(a/(1440*6e4)),o="day");try{return new Intl.RelativeTimeFormat(t,{numeric:"auto",style:"short"}).format(r,o)}catch{return`${Math.abs(r)}${o==="minute"?"m":o==="hour"?"h":"d"} ago`}}import{jsx as De,jsxs as Xn}from"react/jsx-runtime";var cd=async e=>{try{let a=await(await fetch(e)).blob();return new Promise(r=>{let o=new FileReader;o.onloadend=()=>r(o.result),o.onerror=()=>r(null),o.readAsDataURL(a)})}catch{return null}},jn=ld(null),$n=()=>{let e=ud(jn);if(!e)throw new Error("usePromptInputAttachments must be used within a PromptInput");return e},Ca=({className:e,accept:t,multiple:a,globalDrop:r,maxFiles:o,maxFileSize:n,onSubmit:s,children:i,...l})=>{let{t:u}=V(),c=qr(null),d=qr(null),[p,f]=zn([]),m=qr(p);Hr(()=>{m.current=p},[p]);let I=Ge(()=>{c.current?.click()},[]),L=Ge(T=>{let v=[...T];if(v.length===0)return;let A=P=>n?P.size<=n:!0,R=v.filter(A);f(P=>{let F=typeof o=="number"?Math.max(0,o-P.length):void 0,b=typeof F=="number"?R.slice(0,F):R;return[...P,...b.map(z=>({filename:z.name,id:qt(),mediaType:z.type,type:"file",url:URL.createObjectURL(z)}))]})},[o,n]),w=Ge(T=>{f(v=>{let A=v.find(R=>R.id===T);return A?.url&&URL.revokeObjectURL(A.url),v.filter(R=>R.id!==T)})},[]),g=Ge(()=>{f(T=>{for(let v of T)v.url&&URL.revokeObjectURL(v.url);return[]})},[]);Hr(()=>()=>{for(let T of m.current)T.url&&URL.revokeObjectURL(T.url)},[]);let h=Ge(T=>{T.currentTarget.files&&L(T.currentTarget.files),T.currentTarget.value=""},[L]);Hr(()=>{if(!r)return;let T=A=>{A.dataTransfer?.types?.includes("Files")&&A.preventDefault()},v=A=>{A.dataTransfer?.types?.includes("Files")&&A.preventDefault(),A.dataTransfer?.files&&A.dataTransfer.files.length>0&&L(A.dataTransfer.files)};return document.addEventListener("dragover",T),document.addEventListener("drop",v),()=>{document.removeEventListener("dragover",T),document.removeEventListener("drop",v)}},[L,r]);let x=Ge(async T=>{T.preventDefault();let v=T.currentTarget,R=new FormData(v).get("message")||"";v.reset();let P=await Promise.all(p.map(async({id:F,...b})=>{if(b.url?.startsWith("blob:")){let z=await cd(b.url);return{...b,url:z??b.url}}return b}));try{let F=s({files:P,text:R},T);F instanceof Promise&&await F,g()}catch{}},[p,s,g]),y=dd(()=>({add:L,clear:g,files:p,openFileDialog:I,remove:w}),[p,L,w,g,I]);return Xn(jn.Provider,{value:y,children:[De("input",{accept:t,"aria-label":u.promptInput.uploadFiles,className:"ww:hidden",multiple:a,onChange:h,ref:c,title:u.promptInput.uploadFiles,type:"file"}),De("form",{className:k("ww:flex ww:w-full ww:flex-col ww:rounded-lg ww:border ww:border-border ww:bg-background",e),onSubmit:x,ref:d,...l,children:i})]})};var Sa=({onChange:e,onKeyDown:t,className:a,placeholder:r,...o})=>{let{t:n}=V(),s=$n(),[i,l]=zn(!1),u=r??n.promptInput.placeholder,c=Ge(p=>{if(t?.(p),!p.defaultPrevented){if(p.key==="Enter"){if(i||p.nativeEvent.isComposing||p.shiftKey)return;p.preventDefault();let{form:f}=p.currentTarget;if(f?.querySelector('button[type="submit"]')?.disabled)return;f?.requestSubmit()}if(p.key==="Backspace"&&p.currentTarget.value===""&&s.files.length>0){p.preventDefault();let f=s.files.at(-1);f&&s.remove(f.id)}}},[t,i,s]),d=Ge(p=>{let f=p.clipboardData?.items;if(!f)return;let m=[];for(let I of f)if(I.kind==="file"){let L=I.getAsFile();L&&m.push(L)}m.length>0&&(p.preventDefault(),s.add(m))},[s]);return De("textarea",{className:k("ww:field-sizing-content ww:max-h-48 ww:min-h-0 ww:w-full ww:resize-none ww:border-0 ww:bg-transparent ww:px-3 ww:py-2 ww:text-base ww:sm:text-sm ww:outline-none ww:placeholder:text-muted-foreground",a),name:"message",onCompositionEnd:()=>l(!1),onCompositionStart:()=>l(!0),onKeyDown:c,onPaste:d,placeholder:u,onChange:e,...o})},ya=({className:e,status:t,onStop:a,onClick:r,children:o,...n})=>{let{t:s}=V(),i=t==="submitted"||t==="streaming",l=De(Rt,{className:"ww:size-4"});t==="submitted"?l=De(_t,{className:"ww:size-4 ww:animate-spin"}):t==="streaming"&&(l=De(Ot,{className:"ww:size-4"}));let u=Ge(c=>{if(i&&a){c.preventDefault(),a();return}r?.(c)},[i,a,r]);return De(Fe,{"aria-label":i?s.promptInput.stop:s.promptInput.submit,className:k("ww:bg-foreground ww:text-background ww:hover:bg-foreground ww:rounded-full",e),onClick:u,size:"icon-sm",type:i&&a?"button":"submit",variant:"ghost",...n,children:o??l})},ba=({className:e,children:t,...a})=>{let{t:r}=V(),o=$n();return o.files.length>0?Xn(Fe,{className:k("ww:group ww:relative",e),onClick:()=>o.clear(),size:"icon-sm",type:"button",variant:"ghost","aria-label":r.promptInput.removeAttachments,...a,children:[De("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}),De(ot,{className:"ww:absolute ww:size-4 ww:opacity-0 ww:transition-opacity ww:group-hover:opacity-100"})]}):De(Fe,{className:k(e),onClick:()=>o.openFileDialog(),size:"icon-sm",type:"button",variant:"ghost",...a,children:t??De(Nt,{className:"ww:size-4"})})};import{memo as fd,useCallback as pd}from"react";import{jsx as St}from"react/jsx-runtime";var Kn=({className:e,...t})=>St("div",{className:k("ww:flex ww:flex-col ww:gap-1 ww:px-3 ww:py-2",e),...t}),Qn=({className:e,...t})=>St("li",{className:k("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}),Jn=({className:e,...t})=>St("span",{className:k("ww:inline-block ww:size-2 ww:shrink-0 ww:rounded-full ww:border ww:border-muted-foreground/50",e),...t}),Yn=({className:e,...t})=>St("span",{className:k("ww:line-clamp-1 ww:grow ww:break-words ww:text-muted-foreground",e),...t}),Zn=({className:e,...t})=>St("div",{className:k("ww:flex ww:shrink-0 ww:gap-1 ww:opacity-0 ww:transition-opacity ww:group-hover:opacity-100",e),...t}),es=({className:e,...t})=>St(Fe,{className:k("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 as}from"react/jsx-runtime";var ts=fd(({message:e,onRemove:t})=>{let{t:a}=V(),r=pd(()=>t(e.id),[t,e.id]);return as(Qn,{children:[Xe(Jn,{}),Xe(Yn,{children:e.text||a.chatQueue.attachmentFallback}),Xe(Zn,{children:Xe(es,{"aria-label":a.chatQueue.removeFromQueue,onClick:r,children:Xe(ot,{className:"ww:size-3"})})})]})});ts.displayName="ChatQueueItem";function ka({queuedMessages:e,onRemove:t,className:a}){let{t:r}=V();return e.length===0?null:as(Kn,{className:k("ww:border-t ww:border-border",a),children:[Xe("div",{className:"ww:text-[11px] ww:font-medium ww:text-muted-foreground ww:px-2",children:r.chatQueue.queued(e.length)}),Xe("ul",{children:e.map(o=>Xe(ts,{message:o,onRemove:t},o.id))})]})}import{useState as rs}from"react";import{jsx as md}from"react/jsx-runtime";function os({messages:e,evalEnabled:t,api:a="/api/waniwani"}){let{t:r}=V(),[o,n]=rs(!1),[s,i]=rs(null),l=async()=>{let c={name:`session-${new Date().toISOString().slice(0,19)}`,type:"functional",messages:e,mode:"manual"};n(!0),i(null);try{let d=await fetch(`${a}/scenarios`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(c)});if(!d.ok)throw new Error(`${d.status}`);i("saved")}catch{i("error")}finally{n(!1),setTimeout(()=>i(null),2e3)}};if(!t||e.length===0)return null;let u=o?r.exportSession.saving:s==="saved"?r.exportSession.saved:s==="error"?r.exportSession.error:r.exportSession.export;return md("button",{type:"button",onClick:l,disabled:o,title:r.exportSession.tooltip,className:"ww:ml-auto ww:text-[10px] ww:font-mono ww:uppercase ww:tracking-wider ww:text-muted-foreground hover:ww:text-foreground ww:cursor-pointer ww:transition-colors ww:disabled:opacity-40",children:u})}import{jsx as Wt,jsxs as gd}from"react/jsx-runtime";var ns=({files:e,className:t,...a})=>e.length===0?null:Wt("div",{className:k("ww:flex ww:flex-wrap ww:gap-1.5",t),...a,children:e.map((r,o)=>Wt(hd,{file:r},o))});function hd({file:e}){let{t}=V();return e.mediaType?.startsWith("image/")&&e.url?Wt("img",{src:e.url,alt:e.filename??t.attachments.attachmentFallback,className:"ww:h-16 ww:max-w-32 ww:rounded ww:object-cover"}):gd("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:[Wt(Dt,{className:"ww:size-3 ww:shrink-0"}),Wt("span",{className:"ww:max-w-24 ww:truncate",children:e.filename??t.attachments.fileFallback})]})}import{createContext as Pd,useCallback as Ad,useContext as Rd,useEffect as Md,useMemo as Fd,useState as zr}from"react";import{createContext as Id,memo as Vr,useCallback as Cd,useContext as Sd,useEffect as Wr,useMemo as yd,useRef as ss,useState as Gr}from"react";import{memo as wd}from"react";import{jsx as Ld}from"react/jsx-runtime";var xd=({as:e="span",className:t,duration:a=2,style:r,children:o,...n})=>{let s={backgroundImage:"linear-gradient(90deg, var(--ww-color-muted-foreground) 0%, var(--ww-color-muted-foreground) 40%, var(--ww-color-foreground) 50%, var(--ww-color-muted-foreground) 60%, var(--ww-color-muted-foreground) 100%)",backgroundSize:"250% 100%",WebkitBackgroundClip:"text",backgroundClip:"text",color:"transparent",animation:`ww-shimmer ${a}s linear infinite`,...r};return Ld(e,{"data-waniwani-shimmer":"",className:k("ww:inline-block",t),style:s,...n,children:o})},Ee=wd(xd);Ee.displayName="Shimmer";import{Fragment as Td,jsx as _e,jsxs as vd}from"react/jsx-runtime";var is=Id(null);function ls(){let e=Sd(is);if(!e)throw new Error("Reasoning components must be used within <Reasoning>");return e}var bd=1e3,kd=1e3,Gt=Vr(({className:e,isStreaming:t=!1,open:a,defaultOpen:r,onOpenChange:o,duration:n,children:s,...i})=>{let l=r??t,u=r===!1,c=a!==void 0,[d,p]=Gr(l),f=c?a:d,m=Cd(v=>{c||p(v),o?.(v)},[c,o]),[I,L]=Gr(void 0),w=n??I,g=ss(t),[h,x]=Gr(!1),y=ss(null);Wr(()=>{t?(g.current=!0,y.current===null&&(y.current=Date.now())):y.current!==null&&(L(Math.ceil((Date.now()-y.current)/kd)),y.current=null)},[t]),Wr(()=>{t&&!f&&!u&&m(!0)},[t,f,u,m]),Wr(()=>{if(g.current&&!t&&f&&!h){let v=setTimeout(()=>{m(!1),x(!0)},bd);return()=>clearTimeout(v)}},[t,f,h,m]);let T=yd(()=>({isStreaming:t,isOpen:f,setIsOpen:m,duration:w}),[t,f,m,w]);return _e(is.Provider,{value:T,children:_e("div",{className:k("ww:mb-4 ww:flex ww:flex-col ww:gap-2",e),"data-state":f?"open":"closed",style:{animation:"ww-fade-in 0.2s ease-out"},...i,children:s})})});Gt.displayName="Reasoning";var Vt=Vr(({className:e,children:t,getThinkingMessage:a,hideIcon:r=!1,onClick:o,...n})=>{let{t:s}=V(),{isStreaming:i,isOpen:l,duration:u,setIsOpen:c}=ls(),p=a??((f,m)=>f||m===0?_e(Ee,{duration:1.6,children:s.reasoning.thinking}):m===void 0?_e("span",{children:s.reasoning.thoughtBrief}):_e("span",{children:s.reasoning.thoughtForSeconds(m)}));return _e("button",{type:"button","aria-expanded":l,onClick:f=>{c(!l),o?.(f)},className:k("ww:flex ww:w-full ww:items-center ww:gap-2 ww:text-sm ww:text-muted-foreground ww:transition-colors ww:hover:text-foreground",e),...n,children:t??vd(Td,{children:[!r&&_e(We,{className:"ww:size-4 ww:shrink-0"}),p(i,u)]})})});Vt.displayName="ReasoningTrigger";var zt=Vr(({className:e,children:t,...a})=>{let{isOpen:r}=ls();return _e("div",{className:k("ww:grid ww:transition-[grid-template-rows,opacity] ww:duration-200 ww:ease-out",r?"ww:grid-rows-[1fr] ww:opacity-100":"ww:grid-rows-[0fr] ww:opacity-0"),children:_e("div",{className:"ww:min-h-0 ww:overflow-hidden",children:_e("div",{className:k("ww:text-sm ww:text-muted-foreground",e),...a,children:_e(At,{children:t})})})})});zt.displayName="ReasoningContent";import{jsx as J,jsxs as Ke}from"react/jsx-runtime";var Bd=500,us=Pd(null);function ds(){let e=Rd(us);if(!e)throw new Error("ChainOfThought components must be used within <ChainOfThought>");return e}function cs({className:e,isWorking:t=!1,activeStep:a,open:r,defaultOpen:o=!1,onOpenChange:n,children:s,...i}){let l=r!==void 0,[u,c]=zr(o),d=l?r:u,p=Ad(L=>{l||c(L),n?.(L)},[l,n]),[f,m]=zr(!t);Md(()=>{if(t){m(!1);return}let L=setTimeout(()=>m(!0),Bd);return()=>clearTimeout(L)},[t]);let I=Fd(()=>({open:d,setOpen:p,isWorking:t,settled:f,activeStep:a}),[d,p,t,f,a]);return J(us.Provider,{value:I,children:J("div",{className:k("ww:mb-4 ww:flex ww:flex-col ww:gap-2",e),"data-state":d?"open":"closed",style:{animation:"ww-fade-in 0.2s ease-out"},...i,children:s})})}function fs({className:e,label:t,workingLabel:a,children:r,...o}){let{open:n,setOpen:s,isWorking:i,settled:l,activeStep:u}=ds();if(!l){let c=u?.icon,d=u?.label??a??t??"";return J("div",{className:k("ww:flex ww:min-h-5 ww:w-full ww:items-center ww:gap-1.5 ww:text-sm ww:text-muted-foreground",e),children:Ke("span",{className:"ww:flex ww:min-w-0 ww:items-center ww:gap-1.5",style:{animation:"ww-fade-in 0.25s ease-out"},children:[c&&J(c,{className:k("ww:size-4 ww:shrink-0",i&&"ww:animate-pulse")}),J("span",{className:"ww:truncate",children:i?J(Ee,{duration:2.6,children:d}):d})]},d)})}return Ke("button",{type:"button",onClick:()=>s(!n),"aria-expanded":n,className:k("ww:flex ww:min-h-5 ww:w-full ww:items-center ww:gap-1.5 ww:text-sm ww:text-muted-foreground ww:transition-colors ww:hover:text-foreground",e),style:{animation:"ww-fade-in 0.25s ease-out"},...o,children:[J("span",{className:"ww:truncate",children:r??t}),J(je,{className:k("ww:size-4 ww:shrink-0 ww:transition-transform ww:duration-200",n&&"ww:rotate-180")})]})}function ps({className:e,children:t,...a}){let{open:r}=ds();return J("div",{className:k("ww:grid ww:transition-[grid-template-rows,opacity] ww:duration-200 ww:ease-out",r?"ww:grid-rows-[1fr] ww:opacity-100":"ww:grid-rows-[0fr] ww:opacity-0"),children:J("div",{className:"ww:min-h-0 ww:overflow-hidden",children:J("div",{className:k("ww:flex ww:flex-col",e),...a,children:t})})})}function ms({icon:e,isLast:t,running:a,error:r}){return Ke("div",{className:"ww:flex ww:flex-col ww:items-center ww:self-stretch",children:[J("span",{className:"ww:flex ww:h-5 ww:items-center",children:J(e,{className:k("ww:size-4 ww:shrink-0",r?"ww:text-destructive":a?"ww:animate-pulse ww:text-foreground":"ww:text-muted-foreground")})}),!t&&J("span",{className:"ww:w-px ww:flex-1 ww:bg-border"})]})}function jr({className:e,icon:t,title:a,state:r,isLast:o=!1,children:n,...s}){let i=r==="input-available"||r==="input-streaming",l=r==="output-error",u=n!=null,[c,d]=zr(!1),p=a??"",f=i?J(Ee,{duration:1.6,children:p}):J("span",{className:"ww:truncate",children:p});return Ke("div",{className:k("ww:flex ww:gap-2",e),...s,children:[J(ms,{icon:t,isLast:o,running:i,error:l}),Ke("div",{className:k("ww:min-w-0 ww:flex-1",!o&&"ww:pb-3"),children:[u?Ke("button",{type:"button",onClick:()=>d(m=>!m),"aria-expanded":c,className:"ww:flex ww:w-full ww:items-center ww:gap-1.5 ww:text-left ww:text-sm ww:text-muted-foreground ww:transition-colors ww:hover:text-foreground",children:[f,J(je,{className:k("ww:size-3.5 ww:shrink-0 ww:transition-transform ww:duration-200",c&&"ww:rotate-180")})]}):J("div",{className:"ww:flex ww:items-center ww:text-sm ww:text-muted-foreground",children:f}),u&&J("div",{className:k("ww:grid ww:transition-[grid-template-rows,opacity] ww:duration-200 ww:ease-out",c?"ww:grid-rows-[1fr] ww:opacity-100":"ww:grid-rows-[0fr] ww:opacity-0"),children:J("div",{className:"ww:min-h-0 ww:overflow-hidden",children:J("div",{className:"ww:mt-2 ww:space-y-3 ww:rounded-lg ww:border ww:border-border ww:bg-background ww:p-3",children:n})})})]})]})}function hs({isStreaming:e=!1,isLast:t=!1,children:a}){return Ke("div",{className:"ww:flex ww:gap-2",children:[J(ms,{icon:We,isLast:t,running:e}),J("div",{className:k("ww:min-w-0 ww:flex-1",!t&&"ww:pb-3"),children:Ke(Gt,{isStreaming:e,className:"ww:mb-0",children:[J(Vt,{hideIcon:!0}),J(zt,{children:a})]})})]})}var Le={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 Ue={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 Pe={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 gs(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 ws(e){return e===12288||e>=65281&&e<=65376||e>=65504&&e<=65510}function xs(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 Ls(e){return gs(e)?"ambiguous":ws(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":xs(e)?"wide":"neutral"}function Dd(e){if(!Number.isSafeInteger(e))throw new TypeError(`Expected a code point, got \`${typeof e}\`.`)}function Is(e){return Dd(e),Ls(e)}var Ed=Object.defineProperty,_d=(e,t,a)=>t in e?Ed(e,t,{enumerable:!0,configurable:!0,writable:!0,value:a}):e[t]=a,Nd=(e,t,a)=>_d(e,typeof t!="symbol"?t+"":t,a);function Od(e){return/^\p{Emoji_Presentation}/u.test(String.fromCodePoint(e))}function Ud(e){if(!e||e<4352)return!1;switch(Is(e)){case"fullwidth":case"halfwidth":return!0;case"wide":return!Od(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 Hd(e,t){return t!==65025||!e||e<8216?!1:e===8216||e===8217||e===8220||e===8221}function qd(e){return e!==null&&e>=65024&&e<=65038}var Wd=Cs(/\p{P}|\p{S}/u),Gd=Cs(/\s/);function Cs(e){return t;function t(a){return a!==null&&a>-1&&e.test(String.fromCodePoint(a))}}var Ae;(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})(Ae||(Ae={}));function Qe(e){if(e===Le.eof||kn(e)||Gd(e))return Ue.characterGroupWhitespace;let t=0;if(e>=4352){if(qd(e))return Ae.nonEmojiGeneralUseVS;switch(Ud(e)){case null:return Ae.ivs;case!0:t|=Ae.cjk;break}}return Wd(e)&&(t|=Ue.characterGroupPunctuation),t}function Ta(e,t,a){if(!zd(e))return e;let r=t(),o=Qe(r);return!r||it(o)?e:Hd(r,a)?Ae.cjkPunctuation:Vd(o)}function Vd(e){return e&~Ae.ivs}function it(e){return!!(e&Ue.characterGroupWhitespace)}function yt(e){return(e&Ae.cjkPunctuation)===Ue.characterGroupPunctuation}function jt(e){return!!(e&Ae.cjk)}function Ss(e){return e===Ae.ivs}function ys(e){return!!(e&Ae.cjkOrIvs)}function zd(e){return e===Ae.nonEmojiGeneralUseVS}function $r(e){return!!(e&Ae.spaceOrPunctuation)}function va(e){return!!(e&&e>=55296&&e<=56319)}function Pa(e){return!!(e&&e>=56320&&e<=57343)}function Aa(e,t,a){if(t._bufferIndex<2)return e;let o=a({start:{...t,_bufferIndex:t._bufferIndex-2},end:t}).codePointAt(0);return o&&o>=65536?o:e}function jd(e,t,a){let r=e>=65536?2:1;if(t._bufferIndex<1+r)return null;let o=t._bufferIndex-r-2,n=a({start:{...t,_bufferIndex:o>=0?o:0},end:{...t,_bufferIndex:t._bufferIndex-r}}),s=n.charCodeAt(n.length-1);if(Number.isNaN(s))return null;if(n.length<2||s<56320||57343<s)return s;let i=n.codePointAt(0);return i&&i>=65536?i:s}var Ra=class{constructor(e,t,a){this.previousCode=e,this.nowPoint=t,this.sliceSerialize=a,Nd(this,"cachedValue")}value(){return this.cachedValue===void 0&&(this.cachedValue=jd(this.previousCode,this.nowPoint,this.sliceSerialize)),this.cachedValue}};function Ma(e,t,a){let r=a({start:t,end:{...t,_bufferIndex:t._bufferIndex+2}}).codePointAt(0);return r&&r>=65536?r:e}var Xr={name:"attention",resolveAll:$d,tokenize:Xd};function $d(e,t){let a=-1,r,o,n,s,i,l,u,c;for(;++a<e.length;)if(e[a][0]==="enter"&&e[a][1].type==="attentionSequence"&&e[a][1]._close){for(r=a;r--;)if(e[r][0]==="exit"&&e[r][1].type==="attentionSequence"&&e[r][1]._open&&t.sliceSerialize(e[r][1]).charCodeAt(0)===t.sliceSerialize(e[a][1]).charCodeAt(0)){if((e[r][1]._close||e[a][1]._open)&&(e[a][1].end.offset-e[a][1].start.offset)%3&&!((e[r][1].end.offset-e[r][1].start.offset+e[a][1].end.offset-e[a][1].start.offset)%3))continue;l=e[r][1].end.offset-e[r][1].start.offset>1&&e[a][1].end.offset-e[a][1].start.offset>1?2:1;let d={...e[r][1].end},p={...e[a][1].start};bs(d,-l),bs(p,l),s={type:l>1?Pe.strongSequence:Pe.emphasisSequence,start:d,end:{...e[r][1].end}},i={type:l>1?Pe.strongSequence:Pe.emphasisSequence,start:{...e[a][1].start},end:p},n={type:l>1?Pe.strongText:Pe.emphasisText,start:{...e[r][1].end},end:{...e[a][1].start}},o={type:l>1?Pe.strong:Pe.emphasis,start:{...s.start},end:{...i.end}},e[r][1].end={...s.start},e[a][1].start={...i.end},u=[],e[r][1].end.offset-e[r][1].start.offset&&(u=wt(u,[["enter",e[r][1],t],["exit",e[r][1],t]])),u=wt(u,[["enter",o,t],["enter",s,t],["exit",s,t],["enter",n,t]]),t.parser.constructs.insideSpan.null,u=wt(u,ga(t.parser.constructs.insideSpan.null,e.slice(r+1,a),t)),u=wt(u,[["exit",n,t],["enter",i,t],["exit",i,t],["exit",o,t]]),e[a][1].end.offset-e[a][1].start.offset?(c=2,u=wt(u,[["enter",e[a][1],t],["exit",e[a][1],t]])):c=0,gt(e,r-1,a-r+3,u),a=r+u.length-c-2;break}}for(a=-1;++a<e.length;)e[a][1].type==="attentionSequence"&&(e[a][1].type="data");return e}function Xd(e,t){let a=this.parser.constructs.attentionMarkers.null,{now:r,sliceSerialize:o,previous:n}=this,s=Pa(n)?Aa(n,r(),o):n,i=Qe(s),l=new Ra(s,r(),o),u=Ta(i,l.value.bind(l),s),c;return d;function d(f){return f===Le.asterisk||Le.underscore,c=f,e.enter("attentionSequence"),p(f)}function p(f){if(f===c)return e.consume(f),p;let m=e.exit("attentionSequence"),I=va(f)?Ma(f,r(),o):f,L=Qe(I);let w=yt(u),g=w||it(u),h=yt(L),x=h||it(L),y=ys(u),T=!x||h&&(g||y)||a.includes(f),v=!g||w&&(x||jt(L))||a.includes(s);return m._open=!!(c===Le.asterisk?T:T&&($r(u)||!v)),m._close=!!(c===Le.asterisk?v:v&&($r(L)||!T)),t(f)}}function bs(e,t){e.column+=t,e.offset+=t,e._bufferIndex+=t}function ks(){return{text:{[Le.asterisk]:Xr,[Le.underscore]:Xr},insideSpan:{null:[Xr]}}}function Ts(){let e=this.data();(e.micromarkExtensions||(e.micromarkExtensions=[])).push(ks())}function vs(e){let a=(e||{}).singleTilde,r={name:"strikethrough",tokenize:n,resolveAll:o};return a==null&&(a=!0),{text:{[Le.tilde]:r},insideSpan:{null:[r]},attentionMarkers:{null:[Le.tilde]}};function o(s,i){let l=-1;for(;++l<s.length;)if(s[l][0]==="enter"&&s[l][1].type==="strikethroughSequenceTemporary"&&s[l][1]._close){let u=l;for(;u--;)if(s[u][0]==="exit"&&s[u][1].type==="strikethroughSequenceTemporary"&&s[u][1]._open&&s[l][1].end.offset-s[l][1].start.offset===s[u][1].end.offset-s[u][1].start.offset){s[l][1].type="strikethroughSequence",s[u][1].type="strikethroughSequence";let c={type:"strikethrough",start:Object.assign({},s[u][1].start),end:Object.assign({},s[l][1].end)},d={type:"strikethroughText",start:Object.assign({},s[u][1].end),end:Object.assign({},s[l][1].start)},p=[["enter",c,i],["enter",s[u][1],i],["exit",s[u][1],i],["enter",d,i]],f=i.parser.constructs.insideSpan.null;f&&gt(p,p.length,0,ga(f,s.slice(u+1,l),i)),gt(p,p.length,0,[["exit",d,i],["enter",s[l][1],i],["exit",s[l][1],i],["exit",c,i]]),gt(s,u-1,l-u+3,p),l=u+p.length-2;break}}for(l=-1;++l<s.length;)s[l][1].type==="strikethroughSequenceTemporary"&&(s[l][1].type=Pe.data);return s}function n(s,i,l){let{now:u,sliceSerialize:c,previous:d}=this,p=Pa(d)?Aa(d,u(),c):d,f=Qe(p),m=new Ra(p,u(),c),I=Ta(f,m.value.bind(m),p),L=this.events,w=0;return g;function g(x){return Le.tilde,p===Le.tilde&&L[L.length-1][1].type!==Pe.characterEscape?l(x):(s.enter("strikethroughSequenceTemporary"),h(x))}function h(x){let y=Qe(p);if(x===Le.tilde)return w>1?l(x):(s.consume(x),w++,h);if(w<2&&!a)return l(x);let T=s.exit("strikethroughSequenceTemporary"),v=va(x)?Ma(x,u(),c):x,A=Qe(v),P=yt(I)||it(I),b=yt(A)||it(A),z=jt(I)||Ss(y);return T._open=!b||A===Ue.attentionSideAfter&&(P||z),T._close=!P||y===Ue.attentionSideAfter&&(b||jt(A)),i(x)}}}function Ps(e){let t=this.data();(t.micromarkExtensions||(t.micromarkExtensions=[])).push(vs(e))}var Kd=new Set(["\u3002","\uFF0E","\uFF0C","\u3001","\uFF1F","\uFF01","\uFF1A","\uFF1B","\uFF08","\uFF09","\u3010","\u3011","\u300C","\u300D","\u300E","\u300F","\u3008","\u3009","\u300A","\u300B"]),Qd=/^(https?:\/\/|mailto:|www\.)/i,Jd=e=>{if(e.children.length!==1)return!1;let t=e.children[0];return t.type==="text"&&t.value===e.url},Yd=e=>{let t=0;for(let a of e){if(Kd.has(a))return t;t+=a.length}return null},Zd=(e,t)=>({...t,url:e,children:[{type:"text",value:e}]}),ec=e=>({type:"text",value:e}),tc=()=>e=>{xn(e,"link",(t,a,r)=>{if(!r||typeof a!="number"||!Jd(t)||!Qd.test(t.url))return;let o=Yd(t.url);if(o===null||o===0)return;let n=t.url.slice(0,o),s=t.url.slice(o),i=Zd(n,t),l=ec(s);return r.children.splice(a,1,i,l),a+1})};function ac(){let e=[Ts],t=[tc,Ps],a=[...e,...t];return{name:"cjk",type:"cjk",remarkPluginsBefore:e,remarkPluginsAfter:t,remarkPlugins:a}}var Kr=ac();var ae=class extends Error{constructor(t){super(t),this.name="ShikiError"}};function rc(e){return no(e)}function no(e){return Array.isArray(e)?oc(e):e instanceof RegExp?e:typeof e=="object"?nc(e):e}function oc(e){let t=[];for(let a=0,r=e.length;a<r;a++)t[a]=no(e[a]);return t}function nc(e){let t={};for(let a in e)t[a]=no(e[a]);return t}function Ns(e,...t){return t.forEach(a=>{for(let r in a)e[r]=a[r]}),e}function Os(e){let t=~e.lastIndexOf("/")||~e.lastIndexOf("\\");return t===0?e:~t===e.length-1?Os(e.substring(0,e.length-1)):e.substr(~t+1)}var Qr=/\$(\d+)|\${(\d+):\/(downcase|upcase)}/g,Fa=class{static hasCaptures(e){return e===null?!1:(Qr.lastIndex=0,Qr.test(e))}static replaceCaptures(e,t,a){return e.replace(Qr,(r,o,n,s)=>{let i=a[parseInt(o||n,10)];if(i){let l=t.substring(i.start,i.end);for(;l[0]===".";)l=l.substring(1);switch(s){case"downcase":return l.toLowerCase();case"upcase":return l.toUpperCase();default:return l}}else return r})}};function Us(e,t){return e<t?-1:e>t?1:0}function Hs(e,t){if(e===null&&t===null)return 0;if(!e)return-1;if(!t)return 1;let a=e.length,r=t.length;if(a===r){for(let o=0;o<a;o++){let n=Us(e[o],t[o]);if(n!==0)return n}return 0}return a-r}function As(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 qs(e){return e.replace(/[\-\\\{\}\*\+\?\|\^\$\.\,\[\]\(\)\#\s]/g,"\\$&")}var Ws=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}},Kt=class{constructor(e,t,a){this._colorMap=e,this._defaults=t,this._root=a}static createFromRawTheme(e,t){return this.createFromParsedTheme(lc(e),t)}static createFromParsedTheme(e,t){return dc(e,t)}_cachedMatchRoot=new Ws(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,r=this._cachedMatchRoot.get(t).find(o=>sc(e.parent,o.parentScopes));return r?new Gs(r.fontStyle,r.foreground,r.background):null}},Jr=class Ba{constructor(t,a){this.parent=t,this.scopeName=a}static push(t,a){for(let r of a)t=new Ba(t,r);return t}static from(...t){let a=null;for(let r=0;r<t.length;r++)a=new Ba(a,t[r]);return a}push(t){return new Ba(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=[],r=this;for(;r&&r!==t;)a.push(r.scopeName),r=r.parent;return r===t?a.reverse():void 0}};function sc(e,t){if(t.length===0)return!0;for(let a=0;a<t.length;a++){let r=t[a],o=!1;if(r===">"){if(a===t.length-1)return!1;r=t[++a],o=!0}for(;e&&!ic(e.scopeName,r);){if(o)return!1;e=e.parent}if(!e)return!1;e=e.parent}return!0}function ic(e,t){return t===e||e.startsWith(t)&&e[t.length]==="."}var Gs=class{constructor(e,t,a){this.fontStyle=e,this.foregroundId=t,this.backgroundId=a}};function lc(e){if(!e)return[];if(!e.settings||!Array.isArray(e.settings))return[];let t=e.settings,a=[],r=0;for(let o=0,n=t.length;o<n;o++){let s=t[o];if(!s.settings)continue;let i;if(typeof s.scope=="string"){let d=s.scope;d=d.replace(/^[,]+/,""),d=d.replace(/[,]+$/,""),i=d.split(",")}else Array.isArray(s.scope)?i=s.scope:i=[""];let l=-1;if(typeof s.settings.fontStyle=="string"){l=0;let d=s.settings.fontStyle.split(" ");for(let p=0,f=d.length;p<f;p++)switch(d[p]){case"italic":l=l|1;break;case"bold":l=l|2;break;case"underline":l=l|4;break;case"strikethrough":l=l|8;break}}let u=null;typeof s.settings.foreground=="string"&&As(s.settings.foreground)&&(u=s.settings.foreground);let c=null;typeof s.settings.background=="string"&&As(s.settings.background)&&(c=s.settings.background);for(let d=0,p=i.length;d<p;d++){let m=i[d].trim().split(" "),I=m[m.length-1],L=null;m.length>1&&(L=m.slice(0,m.length-1),L.reverse()),a[r++]=new uc(I,L,o,l,u,c)}}return a}var uc=class{constructor(e,t,a,r,o,n){this.scope=e,this.parentScopes=t,this.index=a,this.fontStyle=r,this.foreground=o,this.background=n}},Ie=(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))(Ie||{});function dc(e,t){e.sort((l,u)=>{let c=Us(l.scope,u.scope);return c!==0||(c=Hs(l.parentScopes,u.parentScopes),c!==0)?c:l.index-u.index});let a=0,r="#000000",o="#ffffff";for(;e.length>=1&&e[0].scope==="";){let l=e.shift();l.fontStyle!==-1&&(a=l.fontStyle),l.foreground!==null&&(r=l.foreground),l.background!==null&&(o=l.background)}let n=new cc(t),s=new Gs(a,n.getId(r),n.getId(o)),i=new pc(new Zr(0,null,-1,0,0),[]);for(let l=0,u=e.length;l<u;l++){let c=e[l];i.insert(0,c.scope,c.parentScopes,c.fontStyle,n.getId(c.foreground),n.getId(c.background))}return new Kt(n,s,i)}var cc=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)}},fc=Object.freeze([]),Zr=class Vs{scopeDepth;parentScopes;fontStyle;foreground;background;constructor(t,a,r,o,n){this.scopeDepth=t,this.parentScopes=a||fc,this.fontStyle=r,this.foreground=o,this.background=n}clone(){return new Vs(this.scopeDepth,this.parentScopes,this.fontStyle,this.foreground,this.background)}static cloneArr(t){let a=[];for(let r=0,o=t.length;r<o;r++)a[r]=t[r].clone();return a}acceptOverwrite(t,a,r,o){this.scopeDepth>t?console.log("how did this happen?"):this.scopeDepth=t,a!==-1&&(this.fontStyle=a),r!==0&&(this.foreground=r),o!==0&&(this.background=o)}},pc=class eo{constructor(t,a=[],r={}){this._mainRule=t,this._children=r,this._rulesWithParentScopes=a}_rulesWithParentScopes;static _cmpBySpecificity(t,a){if(t.scopeDepth!==a.scopeDepth)return a.scopeDepth-t.scopeDepth;let r=0,o=0;for(;t.parentScopes[r]===">"&&r++,a.parentScopes[o]===">"&&o++,!(r>=t.parentScopes.length||o>=a.parentScopes.length);){let n=a.parentScopes[o].length-t.parentScopes[r].length;if(n!==0)return n;r++,o++}return a.parentScopes.length-t.parentScopes.length}match(t){if(t!==""){let r=t.indexOf("."),o,n;if(r===-1?(o=t,n=""):(o=t.substring(0,r),n=t.substring(r+1)),this._children.hasOwnProperty(o))return this._children[o].match(n)}let a=this._rulesWithParentScopes.concat(this._mainRule);return a.sort(eo._cmpBySpecificity),a}insert(t,a,r,o,n,s){if(a===""){this._doInsertHere(t,r,o,n,s);return}let i=a.indexOf("."),l,u;i===-1?(l=a,u=""):(l=a.substring(0,i),u=a.substring(i+1));let c;this._children.hasOwnProperty(l)?c=this._children[l]:(c=new eo(this._mainRule.clone(),Zr.cloneArr(this._rulesWithParentScopes)),this._children[l]=c),c.insert(t+1,u,r,o,n,s)}_doInsertHere(t,a,r,o,n){if(a===null){this._mainRule.acceptOverwrite(t,r,o,n);return}for(let s=0,i=this._rulesWithParentScopes.length;s<i;s++){let l=this._rulesWithParentScopes[s];if(Hs(l.parentScopes,a)===0){l.acceptOverwrite(t,r,o,n);return}}r===-1&&(r=this._mainRule.fontStyle),o===0&&(o=this._mainRule.foreground),n===0&&(n=this._mainRule.background),this._rulesWithParentScopes.push(new Zr(t,a,r,o,n))}},ut=class Be{static toBinaryStr(t){return t.toString(2).padStart(32,"0")}static print(t){let a=Be.getLanguageId(t),r=Be.getTokenType(t),o=Be.getFontStyle(t),n=Be.getForeground(t),s=Be.getBackground(t);console.log({languageId:a,tokenType:r,fontStyle:o,foreground:n,background:s})}static getLanguageId(t){return(t&255)>>>0}static getTokenType(t){return(t&768)>>>8}static containsBalancedBrackets(t){return(t&1024)!==0}static getFontStyle(t){return(t&30720)>>>11}static getForeground(t){return(t&16744448)>>>15}static getBackground(t){return(t&4278190080)>>>24}static set(t,a,r,o,n,s,i){let l=Be.getLanguageId(t),u=Be.getTokenType(t),c=Be.containsBalancedBrackets(t)?1:0,d=Be.getFontStyle(t),p=Be.getForeground(t),f=Be.getBackground(t);return a!==0&&(l=a),r!==8&&(u=r),o!==null&&(c=o?1:0),n!==-1&&(d=n),s!==0&&(p=s),i!==0&&(f=i),(l<<0|u<<8|c<<10|d<<11|p<<15|f<<24)>>>0}};function Ea(e,t){let a=[],r=mc(e),o=r.next();for(;o!==null;){let l=0;if(o.length===2&&o.charAt(1)===":"){switch(o.charAt(0)){case"R":l=1;break;case"L":l=-1;break;default:console.log(`Unknown priority ${o} in scope selector`)}o=r.next()}let u=s();if(a.push({matcher:u,priority:l}),o!==",")break;o=r.next()}return a;function n(){if(o==="-"){o=r.next();let l=n();return u=>!!l&&!l(u)}if(o==="("){o=r.next();let l=i();return o===")"&&(o=r.next()),l}if(Rs(o)){let l=[];do l.push(o),o=r.next();while(Rs(o));return u=>t(l,u)}return null}function s(){let l=[],u=n();for(;u;)l.push(u),u=n();return c=>l.every(d=>d(c))}function i(){let l=[],u=s();for(;u&&(l.push(u),o==="|"||o===",");){do o=r.next();while(o==="|"||o===",");u=s()}return c=>l.some(d=>d(c))}}function Rs(e){return!!e&&!!e.match(/[\w\.:]+/)}function mc(e){let t=/([LR]:|[\w\.:][\w\.:\-]*|[\,\|\-\(\)])/g,a=t.exec(e);return{next:()=>{if(!a)return null;let r=a[0];return a=t.exec(e),r}}}function zs(e){typeof e.dispose=="function"&&e.dispose()}var Qt=class{constructor(e){this.scopeName=e}toKey(){return this.scopeName}},hc=class{constructor(e,t){this.scopeName=e,this.ruleName=t}toKey(){return`${this.scopeName}#${this.ruleName}`}},gc=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))}},wc=class{constructor(e,t){this.repo=e,this.initialScopeName=t,this.seenFullScopeRequests.add(this.initialScopeName),this.Q=[new Qt(this.initialScopeName)]}seenFullScopeRequests=new Set;seenPartialScopeRequests=new Set;Q;processQueue(){let e=this.Q;this.Q=[];let t=new gc;for(let a of e)xc(a,this.initialScopeName,this.repo,t);for(let a of t.references)if(a instanceof Qt){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 xc(e,t,a,r){let o=a.lookup(e.scopeName);if(!o){if(e.scopeName===t)throw new Error(`No grammar provided for <${t}>`);return}let n=a.lookup(t);e instanceof Qt?Da({baseGrammar:n,selfGrammar:o},r):to(e.ruleName,{baseGrammar:n,selfGrammar:o,repository:o.repository},r);let s=a.injections(e.scopeName);if(s)for(let i of s)r.add(new Qt(i))}function to(e,t,a){if(t.repository&&t.repository[e]){let r=t.repository[e];_a([r],t,a)}}function Da(e,t){e.selfGrammar.patterns&&Array.isArray(e.selfGrammar.patterns)&&_a(e.selfGrammar.patterns,{...e,repository:e.selfGrammar.repository},t),e.selfGrammar.injections&&_a(Object.values(e.selfGrammar.injections),{...e,repository:e.selfGrammar.repository},t)}function _a(e,t,a){for(let r of e){if(a.visitedRule.has(r))continue;a.visitedRule.add(r);let o=r.repository?Ns({},t.repository,r.repository):t.repository;Array.isArray(r.patterns)&&_a(r.patterns,{...t,repository:o},a);let n=r.include;if(!n)continue;let s=js(n);switch(s.kind){case 0:Da({...t,selfGrammar:t.baseGrammar},a);break;case 1:Da(t,a);break;case 2:to(s.ruleName,{...t,repository:o},a);break;case 3:case 4:let i=s.scopeName===t.selfGrammar.scopeName?t.selfGrammar:s.scopeName===t.baseGrammar.scopeName?t.baseGrammar:void 0;if(i){let l={baseGrammar:t.baseGrammar,selfGrammar:i,repository:o};s.kind===4?to(s.ruleName,l,a):Da(l,a)}else s.kind===4?a.add(new hc(s.scopeName,s.ruleName)):a.add(new Qt(s.scopeName));break}}}var Lc=class{kind=0},Ic=class{kind=1},Cc=class{constructor(e){this.ruleName=e}kind=2},Sc=class{constructor(e){this.scopeName=e}kind=3},yc=class{constructor(e,t){this.scopeName=e,this.ruleName=t}kind=4};function js(e){if(e==="$base")return new Lc;if(e==="$self")return new Ic;let t=e.indexOf("#");if(t===-1)return new Sc(e);if(t===0)return new Cc(e.substring(1));{let a=e.substring(0,t),r=e.substring(t+1);return new yc(a,r)}}var bc=/\\(\d+)/,Ms=/\\(\d+)/g;var kc=-1,$s=-2;var Zt=class{$location;id;_nameIsCapturing;_name;_contentNameIsCapturing;_contentName;constructor(e,t,a,r){this.$location=e,this.id=t,this._name=a||null,this._nameIsCapturing=Fa.hasCaptures(this._name),this._contentName=r||null,this._contentNameIsCapturing=Fa.hasCaptures(this._contentName)}get debugName(){let e=this.$location?`${Os(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:Fa.replaceCaptures(this._name,e,t)}getContentName(e,t){return!this._contentNameIsCapturing||this._contentName===null?this._contentName:Fa.replaceCaptures(this._contentName,e,t)}},Tc=class extends Zt{retokenizeCapturedWithRuleId;constructor(e,t,a,r,o){super(e,t,a,r),this.retokenizeCapturedWithRuleId=o}dispose(){}collectPatterns(e,t){throw new Error("Not supported!")}compile(e,t){throw new Error("Not supported!")}compileAG(e,t,a,r){throw new Error("Not supported!")}},vc=class extends Zt{_match;captures;_cachedCompiledPatterns;constructor(e,t,a,r,o){super(e,t,a,null),this._match=new Jt(r,this.id),this.captures=o,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,r){return this._getCachedCompiledPatterns(e).compileAG(e,a,r)}_getCachedCompiledPatterns(e){return this._cachedCompiledPatterns||(this._cachedCompiledPatterns=new Yt,this.collectPatterns(e,this._cachedCompiledPatterns)),this._cachedCompiledPatterns}},Fs=class extends Zt{hasMissingPatterns;patterns;_cachedCompiledPatterns;constructor(e,t,a,r,o){super(e,t,a,r),this.patterns=o.patterns,this.hasMissingPatterns=o.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,r){return this._getCachedCompiledPatterns(e).compileAG(e,a,r)}_getCachedCompiledPatterns(e){return this._cachedCompiledPatterns||(this._cachedCompiledPatterns=new Yt,this.collectPatterns(e,this._cachedCompiledPatterns)),this._cachedCompiledPatterns}},ao=class extends Zt{_begin;beginCaptures;_end;endHasBackReferences;endCaptures;applyEndPatternLast;hasMissingPatterns;patterns;_cachedCompiledPatterns;constructor(e,t,a,r,o,n,s,i,l,u){super(e,t,a,r),this._begin=new Jt(o,this.id),this.beginCaptures=n,this._end=new Jt(s||"\uFFFF",-1),this.endHasBackReferences=this._end.hasBackReferences,this.endCaptures=i,this.applyEndPatternLast=l||!1,this.patterns=u.patterns,this.hasMissingPatterns=u.hasMissingPatterns,this._cachedCompiledPatterns=null}dispose(){this._cachedCompiledPatterns&&(this._cachedCompiledPatterns.dispose(),this._cachedCompiledPatterns=null)}get debugBeginRegExp(){return`${this._begin.source}`}get debugEndRegExp(){return`${this._end.source}`}getEndWithResolvedBackReferences(e,t){return this._end.resolveBackReferences(e,t)}collectPatterns(e,t){t.push(this._begin)}compile(e,t){return this._getCachedCompiledPatterns(e,t).compile(e)}compileAG(e,t,a,r){return this._getCachedCompiledPatterns(e,t).compileAG(e,a,r)}_getCachedCompiledPatterns(e,t){if(!this._cachedCompiledPatterns){this._cachedCompiledPatterns=new Yt;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}},Na=class extends Zt{_begin;beginCaptures;whileCaptures;_while;whileHasBackReferences;hasMissingPatterns;patterns;_cachedCompiledPatterns;_cachedCompiledWhilePatterns;constructor(e,t,a,r,o,n,s,i,l){super(e,t,a,r),this._begin=new Jt(o,this.id),this.beginCaptures=n,this.whileCaptures=i,this._while=new Jt(s,$s),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,r){return this._getCachedCompiledPatterns(e).compileAG(e,a,r)}_getCachedCompiledPatterns(e){if(!this._cachedCompiledPatterns){this._cachedCompiledPatterns=new Yt;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,r){return this._getCachedCompiledWhilePatterns(e,t).compileAG(e,a,r)}_getCachedCompiledWhilePatterns(e,t){return this._cachedCompiledWhilePatterns||(this._cachedCompiledWhilePatterns=new Yt,this._cachedCompiledWhilePatterns.push(this._while.hasBackReferences?this._while.clone():this._while)),this._while.hasBackReferences&&this._cachedCompiledWhilePatterns.setSource(0,t||"\uFFFF"),this._cachedCompiledWhilePatterns}},Xs=class be{static createCaptureRule(t,a,r,o,n){return t.registerRule(s=>new Tc(a,s,r,o,n))}static getCompiledRuleId(t,a,r){return t.id||a.registerRule(o=>{if(t.id=o,t.match)return new vc(t.$vscodeTextmateLocation,t.id,t.name,t.match,be._compileCaptures(t.captures,a,r));if(typeof t.begin>"u"){t.repository&&(r=Ns({},r,t.repository));let n=t.patterns;return typeof n>"u"&&t.include&&(n=[{include:t.include}]),new Fs(t.$vscodeTextmateLocation,t.id,t.name,t.contentName,be._compilePatterns(n,a,r))}return t.while?new Na(t.$vscodeTextmateLocation,t.id,t.name,t.contentName,t.begin,be._compileCaptures(t.beginCaptures||t.captures,a,r),t.while,be._compileCaptures(t.whileCaptures||t.captures,a,r),be._compilePatterns(t.patterns,a,r)):new ao(t.$vscodeTextmateLocation,t.id,t.name,t.contentName,t.begin,be._compileCaptures(t.beginCaptures||t.captures,a,r),t.end,be._compileCaptures(t.endCaptures||t.captures,a,r),t.applyEndPatternLast,be._compilePatterns(t.patterns,a,r))}),t.id}static _compileCaptures(t,a,r){let o=[];if(t){let n=0;for(let s in t){if(s==="$vscodeTextmateLocation")continue;let i=parseInt(s,10);i>n&&(n=i)}for(let s=0;s<=n;s++)o[s]=null;for(let s in t){if(s==="$vscodeTextmateLocation")continue;let i=parseInt(s,10),l=0;t[s].patterns&&(l=be.getCompiledRuleId(t[s],a,r)),o[i]=be.createCaptureRule(a,t[s].$vscodeTextmateLocation,t[s].name,t[s].contentName,l)}}return o}static _compilePatterns(t,a,r){let o=[];if(t)for(let n=0,s=t.length;n<s;n++){let i=t[n],l=-1;if(i.include){let u=js(i.include);switch(u.kind){case 0:case 1:l=be.getCompiledRuleId(r[i.include],a,r);break;case 2:let c=r[u.ruleName];c&&(l=be.getCompiledRuleId(c,a,r));break;case 3:case 4:let d=u.scopeName,p=u.kind===4?u.ruleName:null,f=a.getExternalGrammar(d,r);if(f)if(p){let m=f.repository[p];m&&(l=be.getCompiledRuleId(m,a,f.repository))}else l=be.getCompiledRuleId(f.repository.$self,a,f.repository);break}}else l=be.getCompiledRuleId(i,a,r);if(l!==-1){let u=a.getRule(l),c=!1;if((u instanceof Fs||u instanceof ao||u instanceof Na)&&u.hasMissingPatterns&&u.patterns.length===0&&(c=!0),c)continue;o.push(l)}}return{patterns:o,hasMissingPatterns:(t?t.length:0)!==o.length}}},Jt=class Ks{source;ruleId;hasAnchor;hasBackReferences;_anchorCache;constructor(t,a){if(t&&typeof t=="string"){let r=t.length,o=0,n=[],s=!1;for(let i=0;i<r;i++)if(t.charAt(i)==="\\"&&i+1<r){let u=t.charAt(i+1);u==="z"?(n.push(t.substring(o,i)),n.push("$(?!\\n)(?<!\\n)"),o=i+2):(u==="A"||u==="G")&&(s=!0),i++}this.hasAnchor=s,o===0?this.source=t:(n.push(t.substring(o,r)),this.source=n.join(""))}else this.hasAnchor=!1,this.source=t;this.hasAnchor?this._anchorCache=this._buildAnchorCache():this._anchorCache=null,this.ruleId=a,typeof this.source=="string"?this.hasBackReferences=bc.test(this.source):this.hasBackReferences=!1}clone(){return new Ks(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 r=a.map(o=>t.substring(o.start,o.end));return Ms.lastIndex=0,this.source.replace(Ms,(o,n)=>qs(r[parseInt(n,10)]||""))}_buildAnchorCache(){if(typeof this.source!="string")throw new Error("This method should only be called if the source is a string");let t=[],a=[],r=[],o=[],n,s,i,l;for(n=0,s=this.source.length;n<s;n++)i=this.source.charAt(n),t[n]=i,a[n]=i,r[n]=i,o[n]=i,i==="\\"&&n+1<s&&(l=this.source.charAt(n+1),l==="A"?(t[n+1]="\uFFFF",a[n+1]="\uFFFF",r[n+1]="A",o[n+1]="A"):l==="G"?(t[n+1]="\uFFFF",a[n+1]="G",r[n+1]="\uFFFF",o[n+1]="G"):(t[n+1]=l,a[n+1]=l,r[n+1]=l,o[n+1]=l),n++);return{A0_G0:t.join(""),A0_G1:a.join(""),A1_G0:r.join(""),A1_G1:o.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}},Yt=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 Bs(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 r=this._items.map(o=>o.resolveAnchors(t,a));return new Bs(e,r,this._items.map(o=>o.ruleId))}},Bs=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 r=this.scanner.findNextMatchSync(e,t,a);return r?{ruleId:this.rules[r.index],captureIndices:r.captureIndices}:null}},Yr=class{constructor(e,t){this.languageId=e,this.tokenType=t}},Pc=class ro{_defaultAttributes;_embeddedLanguagesMatcher;constructor(t,a){this._defaultAttributes=new Yr(t,8),this._embeddedLanguagesMatcher=new Ac(Object.entries(a||{}))}getDefaultAttributes(){return this._defaultAttributes}getBasicScopeAttributes(t){return t===null?ro._NULL_SCOPE_METADATA:this._getBasicScopeAttributes.get(t)}static _NULL_SCOPE_METADATA=new Yr(0,0);_getBasicScopeAttributes=new Ws(t=>{let a=this._scopeToLanguage(t),r=this._toStandardTokenType(t);return new Yr(a,r)});_scopeToLanguage(t){return this._embeddedLanguagesMatcher.match(t)||0}_toStandardTokenType(t){let a=t.match(ro.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/},Ac=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,r])=>qs(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])}},YL={InDebugMode:typeof process<"u"&&!!process.env.VSCODE_TEXTMATE_DEBUG},Qs=!1,Ds=class{constructor(e,t){this.stack=e,this.stoppedEarly=t}};function Js(e,t,a,r,o,n,s,i){let l=t.content.length,u=!1,c=-1;if(s){let f=Rc(e,t,a,r,o,n);o=f.stack,r=f.linePos,a=f.isFirstLine,c=f.anchorPosition}let d=Date.now();for(;!u;){if(i!==0&&Date.now()-d>i)return new Ds(o,!0);p()}return new Ds(o,!1);function p(){let f=Mc(e,t,a,r,o,c);if(!f){n.produce(o,l),u=!0;return}let m=f.captureIndices,I=f.matchedRuleId,L=m&&m.length>0?m[0].end>r:!1;if(I===kc){let w=o.getRule(e);n.produce(o,m[0].start),o=o.withContentNameScopesList(o.nameScopesList),$t(e,t,a,o,n,w.endCaptures,m),n.produce(o,m[0].end);let g=o;if(o=o.parent,c=g.getAnchorPos(),!L&&g.getEnterPos()===r){o=g,n.produce(o,l),u=!0;return}}else{let w=e.getRule(I);n.produce(o,m[0].start);let g=o,h=w.getName(t.content,m),x=o.contentNameScopesList.pushAttributed(h,e);if(o=o.push(I,r,c,m[0].end===l,null,x,x),w instanceof ao){let y=w;$t(e,t,a,o,n,y.beginCaptures,m),n.produce(o,m[0].end),c=m[0].end;let T=y.getContentName(t.content,m),v=x.pushAttributed(T,e);if(o=o.withContentNameScopesList(v),y.endHasBackReferences&&(o=o.withEndRule(y.getEndWithResolvedBackReferences(t.content,m))),!L&&g.hasSameRuleAs(o)){o=o.pop(),n.produce(o,l),u=!0;return}}else if(w instanceof Na){let y=w;$t(e,t,a,o,n,y.beginCaptures,m),n.produce(o,m[0].end),c=m[0].end;let T=y.getContentName(t.content,m),v=x.pushAttributed(T,e);if(o=o.withContentNameScopesList(v),y.whileHasBackReferences&&(o=o.withEndRule(y.getWhileWithResolvedBackReferences(t.content,m))),!L&&g.hasSameRuleAs(o)){o=o.pop(),n.produce(o,l),u=!0;return}}else if($t(e,t,a,o,n,w.captures,m),n.produce(o,m[0].end),o=o.pop(),!L){o=o.safePop(),n.produce(o,l),u=!0;return}}m[0].end>r&&(r=m[0].end,a=!1)}}function Rc(e,t,a,r,o,n){let s=o.beginRuleCapturedEOL?0:-1,i=[];for(let l=o;l;l=l.pop()){let u=l.getRule(e);u instanceof Na&&i.push({rule:u,stack:l})}for(let l=i.pop();l;l=i.pop()){let{ruleScanner:u,findOptions:c}=Dc(l.rule,e,l.stack.endRule,a,r===s),d=u.findNextMatchSync(t,r,c);if(d){if(d.ruleId!==$s){o=l.stack.pop();break}d.captureIndices&&d.captureIndices.length&&(n.produce(l.stack,d.captureIndices[0].start),$t(e,t,a,l.stack,n,l.rule.whileCaptures,d.captureIndices),n.produce(l.stack,d.captureIndices[0].end),s=d.captureIndices[0].end,d.captureIndices[0].end>r&&(r=d.captureIndices[0].end,a=!1))}else{o=l.stack.pop();break}}return{stack:o,linePos:r,anchorPosition:s,isFirstLine:a}}function Mc(e,t,a,r,o,n){let s=Fc(e,t,a,r,o,n),i=e.getInjections();if(i.length===0)return s;let l=Bc(i,e,t,a,r,o,n);if(!l)return s;if(!s)return l;let u=s.captureIndices[0].start,c=l.captureIndices[0].start;return c<u||l.priorityMatch&&c===u?l:s}function Fc(e,t,a,r,o,n){let s=o.getRule(e),{ruleScanner:i,findOptions:l}=Ys(s,e,o.endRule,a,r===n),u=i.findNextMatchSync(t,r,l);return u?{captureIndices:u.captureIndices,matchedRuleId:u.ruleId}:null}function Bc(e,t,a,r,o,n,s){let i=Number.MAX_VALUE,l=null,u,c=0,d=n.contentNameScopesList.getScopeNames();for(let p=0,f=e.length;p<f;p++){let m=e[p];if(!m.matcher(d))continue;let I=t.getRule(m.ruleId),{ruleScanner:L,findOptions:w}=Ys(I,t,null,r,o===s),g=L.findNextMatchSync(a,o,w);if(!g)continue;let h=g.captureIndices[0].start;if(!(h>=i)&&(i=h,l=g.captureIndices,u=g.ruleId,c=m.priority,i===o))break}return l?{priorityMatch:c===-1,captureIndices:l,matchedRuleId:u}:null}function Ys(e,t,a,r,o){if(Qs){let s=e.compile(t,a),i=Zs(r,o);return{ruleScanner:s,findOptions:i}}return{ruleScanner:e.compileAG(t,a,r,o),findOptions:0}}function Dc(e,t,a,r,o){if(Qs){let s=e.compileWhile(t,a),i=Zs(r,o);return{ruleScanner:s,findOptions:i}}return{ruleScanner:e.compileWhileAG(t,a,r,o),findOptions:0}}function Zs(e,t){let a=0;return e||(a|=1),t||(a|=4),a}function $t(e,t,a,r,o,n,s){if(n.length===0)return;let i=t.content,l=Math.min(n.length,s.length),u=[],c=s[0].end;for(let d=0;d<l;d++){let p=n[d];if(p===null)continue;let f=s[d];if(f.length===0)continue;if(f.start>c)break;for(;u.length>0&&u[u.length-1].endPos<=f.start;)o.produceFromScopes(u[u.length-1].scopes,u[u.length-1].endPos),u.pop();if(u.length>0?o.produceFromScopes(u[u.length-1].scopes,f.start):o.produce(r,f.start),p.retokenizeCapturedWithRuleId){let I=p.getName(i,s),L=r.contentNameScopesList.pushAttributed(I,e),w=p.getContentName(i,s),g=L.pushAttributed(w,e),h=r.push(p.retokenizeCapturedWithRuleId,f.start,-1,!1,null,L,g),x=e.createOnigString(i.substring(0,f.end));Js(e,x,a&&f.start===0,f.start,h,o,!1,0),zs(x);continue}let m=p.getName(i,s);if(m!==null){let L=(u.length>0?u[u.length-1].scopes:r.contentNameScopesList).pushAttributed(m,e);u.push(new Ec(L,f.end))}}for(;u.length>0;)o.produceFromScopes(u[u.length-1].scopes,u[u.length-1].endPos),u.pop()}var Ec=class{scopes;endPos;constructor(e,t){this.scopes=e,this.endPos=t}};function _c(e,t,a,r,o,n,s,i){return new Oc(e,t,a,r,o,n,s,i)}function Es(e,t,a,r,o){let n=Ea(t,Oa),s=Xs.getCompiledRuleId(a,r,o.repository);for(let i of n)e.push({debugSelector:t,matcher:i.matcher,ruleId:s,grammar:o,priority:i.priority})}function Oa(e,t){if(t.length<e.length)return!1;let a=0;return e.every(r=>{for(let o=a;o<t.length;o++)if(Nc(t[o],r))return a=o+1,!0;return!1})}function Nc(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 Oc=class{constructor(e,t,a,r,o,n,s,i){if(this._rootScopeName=e,this.balancedBracketSelectors=n,this._onigLib=i,this._basicScopeAttributesProvider=new Pc(a,r),this._rootId=-1,this._lastRuleId=0,this._ruleId2desc=[null],this._includedGrammars={},this._grammarRepository=s,this._grammar=_s(t,null),this._injections=null,this._tokenTypeMatchers=[],o)for(let l of Object.keys(o)){let u=Ea(l,Oa);for(let c of u)this._tokenTypeMatchers.push({matcher:c.matcher,type:o[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:o=>o===this._rootScopeName?this._grammar:this.getExternalGrammar(o),injections:o=>this._grammarRepository.injections(o)},t=[],a=this._rootScopeName,r=e.lookup(a);if(r){let o=r.injections;if(o)for(let s in o)Es(t,s,o[s],this,r);let n=this._grammarRepository.injections(a);n&&n.forEach(s=>{let i=this.getExternalGrammar(s);if(i){let l=i.injectionSelector;l&&Es(t,l,i,this,i)}})}return t.sort((o,n)=>o.priority-n.priority),t}getInjections(){return this._injections===null&&(this._injections=this._collectInjections()),this._injections}registerRule(e){let t=++this._lastRuleId,a=e(t);return this._ruleId2desc[t]=a,a}getRule(e){return this._ruleId2desc[e]}getExternalGrammar(e,t){if(this._includedGrammars[e])return this._includedGrammars[e];if(this._grammarRepository){let a=this._grammarRepository.lookup(e);if(a)return this._includedGrammars[e]=_s(a,t&&t.$base),this._includedGrammars[e]}}tokenizeLine(e,t,a=0){let r=this._tokenize(e,t,!1,a);return{tokens:r.lineTokens.getResult(r.ruleStack,r.lineLength),ruleStack:r.ruleStack,stoppedEarly:r.stoppedEarly}}tokenizeLine2(e,t,a=0){let r=this._tokenize(e,t,!0,a);return{tokens:r.lineTokens.getBinaryResult(r.ruleStack,r.lineLength),ruleStack:r.ruleStack,stoppedEarly:r.stoppedEarly}}_tokenize(e,t,a,r){this._rootId===-1&&(this._rootId=Xs.getCompiledRuleId(this._grammar.repository.$self,this,this._grammar.repository),this.getInjections());let o;if(!t||t===oo.NULL){o=!0;let u=this._basicScopeAttributesProvider.getDefaultAttributes(),c=this.themeProvider.getDefaults(),d=ut.set(0,u.languageId,u.tokenType,null,c.fontStyle,c.foregroundId,c.backgroundId),p=this.getRule(this._rootId).getName(null,null),f;p?f=Xt.createRootAndLookUpScopeName(p,d,this):f=Xt.createRoot("unknown",d),t=new oo(null,this._rootId,-1,-1,!1,null,f,f)}else o=!1,t.reset();e=e+`
4
- `;let n=this.createOnigString(e),s=n.content.length,i=new Hc(a,e,this._tokenTypeMatchers,this.balancedBracketSelectors),l=Js(this,n,o,0,t,i,!0,r);return zs(n),{lineLength:s,lineTokens:i,ruleStack:l.stack,stoppedEarly:l.stoppedEarly}}};function _s(e,t){return e=rc(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 Xt=class He{constructor(t,a,r){this.parent=t,this.scopePath=a,this.tokenAttributes=r}static fromExtension(t,a){let r=t,o=t?.scopePath??null;for(let n of a)o=Jr.push(o,n.scopeNames),r=new He(r,o,n.encodedTokenAttributes);return r}static createRoot(t,a){return new He(null,new Jr(null,t),a)}static createRootAndLookUpScopeName(t,a,r){let o=r.getMetadataForScope(t),n=new Jr(null,t),s=r.themeProvider.themeMatch(n),i=He.mergeAttributes(a,o,s);return new He(null,n,i)}get scopeName(){return this.scopePath.scopeName}toString(){return this.getScopeNames().join(" ")}equals(t){return He.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,r){let o=-1,n=0,s=0;return r!==null&&(o=r.fontStyle,n=r.foregroundId,s=r.backgroundId),ut.set(t,a.languageId,a.tokenType,null,o,n,s)}pushAttributed(t,a){if(t===null)return this;if(t.indexOf(" ")===-1)return He._pushAttributed(this,t,a);let r=t.split(/ /g),o=this;for(let n of r)o=He._pushAttributed(o,n,a);return o}static _pushAttributed(t,a,r){let o=r.getMetadataForScope(a),n=t.scopePath.push(a),s=r.themeProvider.themeMatch(n),i=He.mergeAttributes(t.tokenAttributes,o,s);return new He(t,n,i)}getScopeNames(){return this.scopePath.getSegments()}getExtensionIfDefined(t){let a=[],r=this;for(;r&&r!==t;)a.push({encodedTokenAttributes:r.tokenAttributes,scopeNames:r.scopePath.getExtensionIfDefined(r.parent?.scopePath??null)}),r=r.parent;return r===t?a.reverse():void 0}},oo=class lt{constructor(t,a,r,o,n,s,i,l){this.parent=t,this.ruleId=a,this.beginRuleCapturedEOL=n,this.endRule=s,this.nameScopesList=i,this.contentNameScopesList=l,this.depth=this.parent?this.parent.depth+1:1,this._enterPos=r,this._anchorPos=o}_stackElementBrand=void 0;static NULL=new lt(null,0,0,0,!1,null,null,null);_enterPos;_anchorPos;depth;equals(t){return t===null?!1:lt._equals(this,t)}static _equals(t,a){return t===a?!0:this._structuralEquals(t,a)?Xt.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(){lt._reset(this)}pop(){return this.parent}safePop(){return this.parent?this.parent:this}push(t,a,r,o,n,s,i){return new lt(this,t,a,r,o,n,s,i)}getEnterPos(){return this._enterPos}getAnchorPos(){return this._anchorPos}getRule(t){return t.getRule(this.ruleId)}toString(){let t=[];return this._writeString(t,0),"["+t.join(",")+"]"}_writeString(t,a){return this.parent&&(a=this.parent._writeString(t,a)),t[a++]=`(${this.ruleId}, ${this.nameScopesList?.toString()}, ${this.contentNameScopesList?.toString()})`,a}withContentNameScopesList(t){return this.contentNameScopesList===t?this:this.parent.push(this.ruleId,this._enterPos,this._anchorPos,this.beginRuleCapturedEOL,this.endRule,this.nameScopesList,t)}withEndRule(t){return this.endRule===t?this:new lt(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 r=Xt.fromExtension(t?.nameScopesList??null,a.nameScopesList);return new lt(t,a.ruleId,a.enterPos??-1,a.anchorPos??-1,a.beginRuleCapturedEOL,a.endRule,r,Xt.fromExtension(r,a.contentNameScopesList))}},Uc=class{balancedBracketScopes;unbalancedBracketScopes;allowAny=!1;constructor(e,t){this.balancedBracketScopes=e.flatMap(a=>a==="*"?(this.allowAny=!0,[]):Ea(a,Oa).map(r=>r.matcher)),this.unbalancedBracketScopes=t.flatMap(a=>Ea(a,Oa).map(r=>r.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}},Hc=class{constructor(e,t,a,r){this.balancedBracketSelectors=r,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 r=e?.tokenAttributes??0,o=!1;if(this.balancedBracketSelectors?.matchesAlways&&(o=!0),this._tokenTypeOverrides.length>0||this.balancedBracketSelectors&&!this.balancedBracketSelectors.matchesAlways&&!this.balancedBracketSelectors.matchesNever){let n=e?.getScopeNames()??[];for(let s of this._tokenTypeOverrides)s.matcher(n)&&(r=ut.set(r,0,s.type,null,-1,0,0));this.balancedBracketSelectors&&(o=this.balancedBracketSelectors.match(n))}if(o&&(r=ut.set(r,0,8,o,-1,0,0)),this._binaryTokens.length>0&&this._binaryTokens[this._binaryTokens.length-1]===r){this._lastTokenEndIndex=t;return}this._binaryTokens.push(this._lastTokenEndIndex),this._binaryTokens.push(r),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 r=0,o=this._binaryTokens.length;r<o;r++)a[r]=this._binaryTokens[r];return a}},qc=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,r,o){if(!this._grammars.has(e)){let n=this._rawGrammars.get(e);if(!n)return null;this._grammars.set(e,_c(e,n,t,a,r,o,this,this._onigLib))}return this._grammars.get(e)}},ei=class{_options;_syncRegistry;_ensureGrammarCache;constructor(e){this._options=e,this._syncRegistry=new qc(Kt.createFromRawTheme(e.theme,e.colorMap),e.onigLib),this._ensureGrammarCache=new Map}dispose(){this._syncRegistry.dispose()}setTheme(e,t){this._syncRegistry.setTheme(Kt.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 Uc(a.balancedBracketSelectors||[],a.unbalancedBracketSelectors||[]))}loadGrammar(e){return this._loadGrammar(e,0,null,null,null)}_loadGrammar(e,t,a,r,o){let n=new wc(this._syncRegistry,e);for(;n.Q.length>0;)n.Q.map(s=>this._loadSingleGrammar(s.scopeName)),n.processQueue();return this._grammarForScopeName(e,t,a,r,o)}_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,r=null){return this._syncRegistry.addGrammar(e,t),this._grammarForScopeName(e.scopeName,a,r)}_grammarForScopeName(e,t=0,a=null,r=null,o=null){return this._syncRegistry.grammarForScopeName(e,t,a,r,o)}},Ua=oo.NULL;var Wc=/["&'<>`]/g,Gc=/[\uD800-\uDBFF][\uDC00-\uDFFF]/g,Vc=/[\x01-\t\v\f\x0E-\x1F\x7F\x81\x8D\x8F\x90\x9D\xA0-\uFFFF]/g,zc=/[|\\{}()[\]^$+*?.]/g,ti=new WeakMap;function ai(e,t){if(e=e.replace(t.subset?jc(t.subset):Wc,r),t.subset||t.escapeOnly)return e;return e.replace(Gc,a).replace(Vc,r);function a(o,n,s){return t.format((o.charCodeAt(0)-55296)*1024+o.charCodeAt(1)-56320+65536,s.charCodeAt(n+2),t)}function r(o,n,s){return t.format(o.charCodeAt(0),s.charCodeAt(n+1),t)}}function jc(e){let t=ti.get(e);return t||(t=$c(e),ti.set(e,t)),t}function $c(e){let t=[],a=-1;for(;++a<e.length;)t.push(e[a].replace(zc,"\\$&"));return new RegExp("(?:"+t.join("|")+")","g")}var Xc=/[\dA-Fa-f]/;function ri(e,t,a){let r="&#x"+e.toString(16).toUpperCase();return a&&t&&!Xc.test(String.fromCharCode(t))?r:r+";"}var Kc=/\d/;function oi(e,t,a){let r="&#"+String(e);return a&&t&&!Kc.test(String.fromCharCode(t))?r:r+";"}var ni=["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 Ha={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 si=["cent","copy","divide","gt","lt","not","para","times"];var ii={}.hasOwnProperty,so={},qa;for(qa in Ha)ii.call(Ha,qa)&&(so[Ha[qa]]=qa);var Qc=/[^\dA-Za-z]/;function li(e,t,a,r){let o=String.fromCharCode(e);if(ii.call(so,o)){let n=so[o],s="&"+n;return a&&ni.includes(n)&&!si.includes(n)&&(!r||t&&t!==61&&Qc.test(String.fromCharCode(t)))?s:s+";"}return""}function ui(e,t,a){let r=ri(e,t,a.omitOptionalSemicolons),o;if((a.useNamedReferences||a.useShortestReferences)&&(o=li(e,t,a.omitOptionalSemicolons,a.attribute)),(a.useShortestReferences||!o)&&a.useShortestReferences){let n=oi(e,t,a.omitOptionalSemicolons);n.length<r.length&&(r=n)}return o&&(!a.useShortestReferences||o.length<r.length)?o:r}function Ve(e,t){return ai(e,Object.assign({format:ui},t))}var Jc=/^>|^->|<!--|-->|--!>|<!-$/g,Yc=[">"],Zc=["<",">"];function di(e,t,a,r){return r.settings.bogusComments?"<?"+Ve(e.value,Object.assign({},r.settings.characterReferences,{subset:Yc}))+">":"<!--"+e.value.replace(Jc,o)+"-->";function o(n){return Ve(n,Object.assign({},r.settings.characterReferences,{subset:Zc}))}}function ci(e,t,a,r){return"<!"+(r.settings.upperDoctype?"DOCTYPE":"doctype")+(r.settings.tightDoctype?"":" ")+"html>"}var ue=fi(1),io=fi(-1),ef=[];function fi(e){return t;function t(a,r,o){let n=a?a.children:ef,s=(r||0)+e,i=n[s];if(!o)for(;i&&xt(i);)s+=e,i=n[s];return i}}var tf={}.hasOwnProperty;function Wa(e){return t;function t(a,r,o){return tf.call(e,a.tagName)&&e[a.tagName](a,r,o)}}var ea=Wa({body:rf,caption:lo,colgroup:lo,dd:lf,dt:sf,head:lo,html:af,li:nf,optgroup:uf,option:df,p:of,rp:pi,rt:pi,tbody:ff,td:mi,tfoot:pf,th:mi,thead:cf,tr:mf});function lo(e,t,a){let r=ue(a,t,!0);return!r||r.type!=="comment"&&!(r.type==="text"&&xt(r.value.charAt(0)))}function af(e,t,a){let r=ue(a,t);return!r||r.type!=="comment"}function rf(e,t,a){let r=ue(a,t);return!r||r.type!=="comment"}function of(e,t,a){let r=ue(a,t);return r?r.type==="element"&&(r.tagName==="address"||r.tagName==="article"||r.tagName==="aside"||r.tagName==="blockquote"||r.tagName==="details"||r.tagName==="div"||r.tagName==="dl"||r.tagName==="fieldset"||r.tagName==="figcaption"||r.tagName==="figure"||r.tagName==="footer"||r.tagName==="form"||r.tagName==="h1"||r.tagName==="h2"||r.tagName==="h3"||r.tagName==="h4"||r.tagName==="h5"||r.tagName==="h6"||r.tagName==="header"||r.tagName==="hgroup"||r.tagName==="hr"||r.tagName==="main"||r.tagName==="menu"||r.tagName==="nav"||r.tagName==="ol"||r.tagName==="p"||r.tagName==="pre"||r.tagName==="section"||r.tagName==="table"||r.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 nf(e,t,a){let r=ue(a,t);return!r||r.type==="element"&&r.tagName==="li"}function sf(e,t,a){let r=ue(a,t);return!!(r&&r.type==="element"&&(r.tagName==="dt"||r.tagName==="dd"))}function lf(e,t,a){let r=ue(a,t);return!r||r.type==="element"&&(r.tagName==="dt"||r.tagName==="dd")}function pi(e,t,a){let r=ue(a,t);return!r||r.type==="element"&&(r.tagName==="rp"||r.tagName==="rt")}function uf(e,t,a){let r=ue(a,t);return!r||r.type==="element"&&r.tagName==="optgroup"}function df(e,t,a){let r=ue(a,t);return!r||r.type==="element"&&(r.tagName==="option"||r.tagName==="optgroup")}function cf(e,t,a){let r=ue(a,t);return!!(r&&r.type==="element"&&(r.tagName==="tbody"||r.tagName==="tfoot"))}function ff(e,t,a){let r=ue(a,t);return!r||r.type==="element"&&(r.tagName==="tbody"||r.tagName==="tfoot")}function pf(e,t,a){return!ue(a,t)}function mf(e,t,a){let r=ue(a,t);return!r||r.type==="element"&&r.tagName==="tr"}function mi(e,t,a){let r=ue(a,t);return!r||r.type==="element"&&(r.tagName==="td"||r.tagName==="th")}var hi=Wa({body:wf,colgroup:xf,head:gf,html:hf,tbody:Lf});function hf(e){let t=ue(e,-1);return!t||t.type!=="comment"}function gf(e){let t=new Set;for(let r of e.children)if(r.type==="element"&&(r.tagName==="base"||r.tagName==="title")){if(t.has(r.tagName))return!1;t.add(r.tagName)}let a=e.children[0];return!a||a.type==="element"}function wf(e){let t=ue(e,-1,!0);return!t||t.type!=="comment"&&!(t.type==="text"&&xt(t.value.charAt(0)))&&!(t.type==="element"&&(t.tagName==="meta"||t.tagName==="link"||t.tagName==="script"||t.tagName==="style"||t.tagName==="template"))}function xf(e,t,a){let r=io(a,t),o=ue(e,-1,!0);return a&&r&&r.type==="element"&&r.tagName==="colgroup"&&ea(r,a.children.indexOf(r),a)?!1:!!(o&&o.type==="element"&&o.tagName==="col")}function Lf(e,t,a){let r=io(a,t),o=ue(e,-1);return a&&r&&r.type==="element"&&(r.tagName==="thead"||r.tagName==="tbody")&&ea(r,a.children.indexOf(r),a)?!1:!!(o&&o.type==="element"&&o.tagName==="tr")}var Ga={name:[[`
2
+ import{a as In,b as Ln,c as Cn,d as Sn,e as yn,f as wa,g as bn,h as kn,i as Tn,j as vn,k as Br,l as Pn,m as gt,n as wt,o as xa,p as xt,u as Rt}from"../chunk-F4UUXA3U.js";import"../chunk-V3ZDECK5.js";import{forwardRef as Ph,useCallback as Zo,useEffect as Ah,useImperativeHandle as Rh,useRef as jl,useState as $l}from"react";import{forwardRef as Au,createElement as Ru}from"react";var Ia=(...e)=>e.filter((t,a,r)=>!!t&&t.trim()!==""&&r.indexOf(t)===a).join(" ").trim();var An=e=>e.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase();var Rn=e=>e.replace(/^([A-Z])|[\s-_]+(\w)/g,(t,a,r)=>r?r.toUpperCase():a.toLowerCase());var Er=e=>{let t=Rn(e);return t.charAt(0).toUpperCase()+t.slice(1)};import{forwardRef as Pu,createElement as Bn}from"react";var Mn={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 Fn=e=>{for(let t in e)if(t.startsWith("aria-")||t==="role"||t==="title")return!0;return!1};var En=Pu(({color:e="currentColor",size:t=24,strokeWidth:a=2,absoluteStrokeWidth:r,className:o="",children:n,iconNode:s,...i},l)=>Bn("svg",{ref:l,...Mn,width:t,height:t,stroke:e,strokeWidth:r?Number(a)*24/Number(t):a,className:Ia("lucide",o),...!n&&!Fn(i)&&{"aria-hidden":"true"},...i},[...s.map(([u,c])=>Bn(u,c)),...Array.isArray(n)?n:[n]]));var j=(e,t)=>{let a=Au(({className:r,...o},n)=>Ru(En,{ref:n,iconNode:t,className:Ia(`lucide-${An(Er(e))}`,`lucide-${e}`,r),...o}));return a.displayName=Er(e),a};var Mu=[["path",{d:"M12 5v14",key:"s699le"}],["path",{d:"m19 12-7 7-7-7",key:"1idqje"}]],at=j("arrow-down",Mu);var Fu=[["path",{d:"m5 12 7-7 7 7",key:"hav0vg"}],["path",{d:"M12 19V5",key:"x0mq9r"}]],Mt=j("arrow-up",Fu);var Bu=[["path",{d:"M20 6 9 17l-5-5",key:"1gmf2c"}]],Ft=j("check",Bu);var Eu=[["path",{d:"m6 9 6 6 6-6",key:"qrunsl"}]],je=j("chevron-down",Eu);var Du=[["path",{d:"m9 18 6-6-6-6",key:"mthhwq"}]],Bt=j("chevron-right",Du);var _u=[["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"}]],Et=j("clipboard-copy",_u);var Ou=[["path",{d:"M12 6v6l4 2",key:"mmk7yg"}],["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}]],Ge=j("clock",Ou);var Nu=[["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"}]],Dt=j("file",Nu);var Uu=[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M12 2a14.5 14.5 0 0 0 0 20 14.5 14.5 0 0 0 0-20",key:"13o1zl"}],["path",{d:"M2 12h20",key:"9i4pu4"}]],_t=j("globe",Uu);var Hu=[["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"}]],Ot=j("loader",Hu);var qu=[["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"}]],Nt=j("paperclip",qu);var Gu=[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}]],Ut=j("square",Gu);var Wu=[["path",{d:"M14.7 6.3a1 1 0 0 0 0 1.4l1.6 1.6a1 1 0 0 0 1.4 0l3.106-3.105c.32-.322.863-.22.983.218a6 6 0 0 1-8.259 7.057l-7.91 7.91a1 1 0 0 1-2.999-3l7.91-7.91a6 6 0 0 1 7.057-8.259c.438.12.54.662.219.984z",key:"1ngwbx"}]],rt=j("wrench",Wu);var Vu=[["path",{d:"M18 6 6 18",key:"1bl5f8"}],["path",{d:"m6 6 12 12",key:"d8bk6v"}]],ot=j("x",Vu);var zu=[["path",{d:"M4 14a1 1 0 0 1-.78-1.63l9.9-10.2a.5.5 0 0 1 .86.46l-1.92 6.02A1 1 0 0 0 13 10h7a1 1 0 0 1 .78 1.63l-9.9 10.2a.5.5 0 0 1-.86-.46l1.92-6.02A1 1 0 0 0 11 14z",key:"1xq2db"}]],Ht=j("zap",zu);import{useCallback as ld}from"react";import{useCallback as $e,useMemo as ju,useRef as $u,useState as Dr}from"react";var Xu={damping:.7,stiffness:.05,mass:1.25},Ku=70,Qu=1e3/60,Ju=350,La=!1;globalThis.document?.addEventListener("mousedown",()=>{La=!0});globalThis.document?.addEventListener("mouseup",()=>{La=!1});globalThis.document?.addEventListener("click",()=>{La=!1});var _n=(e={})=>{let[t,a]=Dr(!1),[r,o]=Dr(e.initial!==!1),[n,s]=Dr(!1),i=$u(null);i.current=e;let l=$e(()=>{if(!La)return!1;let g=window.getSelection();if(!g||!g.rangeCount)return!1;let h=g.getRangeAt(0);return h.commonAncestorContainer.contains(I.current)||I.current?.contains(h.commonAncestorContainer)},[]),u=$e(g=>{d.isAtBottom=g,o(g)},[]),c=$e(g=>{d.escapedFromLock=g,a(g)},[]),d=ju(()=>{let g;return{escapedFromLock:t,isAtBottom:r,resizeDifference:0,accumulated:0,velocity:0,listeners:new Set,get scrollTop(){return I.current?.scrollTop??0},set scrollTop(h){I.current&&(I.current.scrollTop=h,d.ignoreScrollToTop=I.current.scrollTop)},get targetScrollTop(){return!I.current||!w.current?0:I.current.scrollHeight-1-I.current.clientHeight},get calculatedTargetScrollTop(){if(!I.current||!w.current)return 0;let{targetScrollTop:h}=this;if(!e.targetScrollTop)return h;if(g?.targetScrollTop===h)return g.calculatedScrollTop;let x=Math.max(Math.min(e.targetScrollTop(h,{scrollElement:I.current,contentElement:w.current}),h),0);return g={targetScrollTop:h,calculatedScrollTop:x},requestAnimationFrame(()=>{g=void 0}),x},get scrollDifference(){return this.calculatedTargetScrollTop-this.scrollTop},get isNearBottom(){return this.scrollDifference<=Ku}}},[]),f=$e((g={})=>{typeof g=="string"&&(g={animation:g}),g.preserveScrollPosition||u(!0);let h=Date.now()+(Number(g.wait)||0),x=Or(i.current,g.animation),{ignoreEscapes:y=!1}=g,T,v=d.calculatedTargetScrollTop;g.duration instanceof Promise?g.duration.finally(()=>{T=Date.now()}):T=h+(g.duration??0);let A=async()=>{let R=new Promise(requestAnimationFrame).then(()=>{if(!d.isAtBottom)return d.animation=void 0,!1;let{scrollTop:F}=d,P=performance.now(),b=(P-(d.lastTick??P))/Qu;if(d.animation||(d.animation={behavior:x,promise:R,ignoreEscapes:y}),d.animation.behavior===x&&(d.lastTick=P),l()||h>Date.now())return A();if(F<Math.min(v,d.calculatedTargetScrollTop)){if(d.animation?.behavior===x){if(x==="instant")return d.scrollTop=d.calculatedTargetScrollTop,A();d.velocity=(x.damping*d.velocity+x.stiffness*d.scrollDifference)/x.mass,d.accumulated+=d.velocity*b,d.scrollTop+=d.accumulated,d.scrollTop!==F&&(d.accumulated=0)}return A()}return T>Date.now()?(v=d.calculatedTargetScrollTop,A()):(d.animation=void 0,d.scrollTop<d.calculatedTargetScrollTop?f({animation:Or(i.current,i.current.resize),ignoreEscapes:y,duration:Math.max(0,T-Date.now())||void 0}):d.isAtBottom)});return R.then(F=>(requestAnimationFrame(()=>{d.animation||(d.lastTick=void 0,d.velocity=0)}),F))};return g.wait!==!0&&(d.animation=void 0),d.animation?.behavior===x?d.animation.promise:A()},[u,l,d]),p=$e(()=>{c(!0),u(!1)},[c,u]),m=$e(({target:g})=>{if(g!==I.current)return;let{scrollTop:h,ignoreScrollToTop:x}=d,{lastScrollTop:y=h}=d;d.lastScrollTop=h,d.ignoreScrollToTop=void 0,x&&x>h&&(y=x),s(d.isNearBottom),setTimeout(()=>{if(d.resizeDifference||h===x)return;if(l()){c(!0),u(!1);return}let T=h>y,v=h<y;if(d.animation?.ignoreEscapes){d.scrollTop=y;return}v&&(c(!0),u(!1)),T&&c(!1),!d.escapedFromLock&&d.isNearBottom&&u(!0)},1)},[c,u,l,d]),L=$e(({target:g,deltaY:h})=>{let x=g;for(;!["scroll","auto"].includes(getComputedStyle(x).overflow);){if(!x.parentElement)return;x=x.parentElement}x===I.current&&h<0&&I.current.scrollHeight>I.current.clientHeight&&!d.animation?.ignoreEscapes&&(c(!0),u(!1))},[c,u,d]),I=Dn(g=>{I.current?.removeEventListener("scroll",m),I.current?.removeEventListener("wheel",L),g?.addEventListener("scroll",m,{passive:!0}),g?.addEventListener("wheel",L,{passive:!0})},[]),w=Dn(g=>{if(d.resizeObserver?.disconnect(),!g)return;let h;d.resizeObserver=new ResizeObserver(([x])=>{let{height:y}=x.contentRect,T=y-(h??y);if(d.resizeDifference=T,d.scrollTop>d.targetScrollTop&&(d.scrollTop=d.targetScrollTop),s(d.isNearBottom),T>=0){let v=Or(i.current,h?i.current.resize:i.current.initial);f({animation:v,wait:!0,preserveScrollPosition:!0,duration:v==="instant"?void 0:Ju})}else d.isNearBottom&&(c(!1),u(!0));h=y,requestAnimationFrame(()=>{setTimeout(()=>{d.resizeDifference===T&&(d.resizeDifference=0)},1)})}),d.resizeObserver?.observe(g)},[]);return{contentRef:w,scrollRef:I,scrollToBottom:f,stopScroll:p,isAtBottom:r||n,isNearBottom:n,escapedFromLock:t,state:d}};function Dn(e,t){let a=$e(r=>(a.current=r,e(r)),t);return a}var _r=new Map;function Or(...e){let t={...Xu},a=!1;for(let o of e){if(o==="instant"){a=!0;continue}typeof o=="object"&&(a=!1,t.damping=o.damping??t.damping,t.stiffness=o.stiffness??t.stiffness,t.mass=o.mass??t.mass)}let r=JSON.stringify(t);return _r.has(r)||_r.set(r,Object.freeze(t)),a?"instant":_r.get(r)}import*as nt from"react";import{createContext as Yu,useContext as Zu,useEffect as ed,useImperativeHandle as td,useLayoutEffect as ad,useMemo as rd,useRef as od}from"react";var On=Yu(null),nd=typeof window<"u"?ad:ed;function qt({instance:e,children:t,resize:a,initial:r,mass:o,damping:n,stiffness:s,targetScrollTop:i,contextRef:l,...u}){let c=od(null),d=nt.useCallback((y,T)=>(x?.targetScrollTop??i)?.(y,T)??y,[i]),f=_n({mass:o,damping:n,stiffness:s,resize:a,initial:r,targetScrollTop:d}),{scrollRef:p,contentRef:m,scrollToBottom:L,stopScroll:I,isAtBottom:w,escapedFromLock:g,state:h}=e??f,x=rd(()=>({scrollToBottom:L,stopScroll:I,scrollRef:p,isAtBottom:w,escapedFromLock:g,contentRef:m,state:h,get targetScrollTop(){return c.current},set targetScrollTop(y){c.current=y}}),[L,w,m,p,I,g,h]);return td(l,()=>x,[x]),nd(()=>{p.current&&getComputedStyle(p.current).overflow==="visible"&&(p.current.style.overflow="auto")},[]),nt.createElement(On.Provider,{value:x},nt.createElement("div",{...u},typeof t=="function"?t(x):t))}(function(e){function t({children:a,scrollClassName:r,...o}){let n=Nr();return nt.createElement("div",{ref:n.scrollRef,style:{height:"100%",width:"100%",scrollbarGutter:"stable both-edges"},className:r},nt.createElement("div",{...o,ref:n.contentRef},typeof a=="function"?a(n):a))}e.Content=t})(qt||(qt={}));function Nr(){let e=Zu(On);if(!e)throw new Error("use-stick-to-bottom component context must be used within a StickToBottom component");return e}var sd=Ln({prefix:"ww"});function k(...e){return sd(In(e))}import{jsx as id}from"react/jsx-runtime";var Be=({className:e,variant:t="default",size:a="default",type:r="button",...o})=>id("button",{type:r,className:k("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),...o});import{jsx as Ca}from"react/jsx-runtime";var Nn=({className:e,...t})=>Ca(qt,{className:k("ww:relative ww:flex-1 ww:overflow-y-hidden",e),initial:"smooth",resize:"smooth",role:"log",...t}),Un=({className:e,...t})=>Ca(qt.Content,{className:k("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}),Hn=({className:e,...t})=>{let{isAtBottom:a,scrollToBottom:r}=Nr(),o=ld(()=>{r()},[r]);return!a&&Ca(Be,{className:k("ww:absolute ww:bottom-4 ww:left-[50%] ww:translate-x-[-50%] ww:rounded-full",e),onClick:o,size:"icon",variant:"outline",...t,children:Ca(at,{className:"ww:size-4"})})};import Gn from"crypto";var qn="useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict";var ud=128,st,It,dd=e=>{!st||st.length<e?(st=Buffer.allocUnsafe(e*ud),Gn.randomFillSync(st),It=0):It+e>st.length&&(Gn.randomFillSync(st),It=0),It+=e};var Gt=(e=21)=>{dd(e|=0);let t="";for(let a=It-e;a<It;a++)t+=qn[st[a]&63];return t};import{createContext as xd,useCallback as We,useContext as Id,useEffect as Wr,useMemo as Ld,useRef as Vr,useState as Xn}from"react";import{createContext as cd,useContext as fd,useEffect as pd,useMemo as md,useState as jn}from"react";var Wn=["en","fr","es"];function Lt(e){return Wn.includes(e)}function Ur(e){if(e&&Lt(e))return e;if(e){let a=e.split("-")[0]?.toLowerCase();if(a&&Lt(a))return a}let t=[];if(typeof navigator<"u"&&(navigator.language&&t.push(navigator.language),navigator.languages&&t.push(...navigator.languages)),typeof document<"u"){let a=document.documentElement.getAttribute("lang");a&&t.push(a)}for(let a of t){let r=a.toLowerCase();if(Lt(r))return r;let o=r.split("-")[0];if(o&&Lt(o))return o}return"en"}var Sa={promptInput:{placeholder:"What would you like to know?",uploadFiles:"Upload files",stop:"Stop",submit:"Submit",removeAttachments:"Remove all attachments"},workingIndicator:{default:"On it\u2026"},reasoning:{thinking:"Thinking\u2026",thoughtBrief:"Thought for a few seconds",thoughtForSeconds:e=>`Thought for ${e} second${e===1?"":"s"}`},chainOfThought:{working:"Working on it\u2026",done:"Thought process"},tool:{copy:"Copy",copied:"Copied",request:"Request",response:"Response",error:"Error"},attachments:{attachmentFallback:"attachment",fileFallback:"file"},threadMenu:{newChat:"New chat",threadHistory:"Thread history",deleteThread:"Delete thread",noPreviousChats:"No previous chats yet.",hiddenThreads:e=>`${e} older thread${e===1?"":"s"} hidden`},chatQueue:{attachmentFallback:"(attachment)",removeFromQueue:"Remove from queue",queued:e=>`${e} queued`},poweredBy:{label:"AI agent powered by"},aiDisclaimer:{default:"can make mistakes"},exportSession:{saving:"saving...",saved:"saved",error:"error",export:"export",tooltip:"Save scenario to Waniwani"},widgetErrorBoundary:{failedToLoad:"Widget failed to load",retry:"Retry"},launcher:{prompt:"Ask anything\u2026",open:"Open chat",close:"Close chat",minimize:"Minimize"}};var Vn={promptInput:{placeholder:"\xBFQu\xE9 te gustar\xEDa saber?",uploadFiles:"Subir archivos",stop:"Detener",submit:"Enviar",removeAttachments:"Eliminar todos los archivos adjuntos"},workingIndicator:{default:"Un momento\u2026"},reasoning:{thinking:"Pensando\u2026",thoughtBrief:"Pensado durante unos segundos",thoughtForSeconds:e=>`Pensado durante ${e} segundo${e===1?"":"s"}`},chainOfThought:{working:"Estoy en ello\u2026",done:"Razonamiento"},tool:{copy:"Copiar",copied:"Copiado",request:"Solicitud",response:"Respuesta",error:"Error"},attachments:{attachmentFallback:"adjunto",fileFallback:"archivo"},threadMenu:{newChat:"Nueva conversaci\xF3n",threadHistory:"Historial",deleteThread:"Eliminar conversaci\xF3n",noPreviousChats:"A\xFAn no hay conversaciones anteriores.",hiddenThreads:e=>`${e} conversaci\xF3n${e===1?"":"es"} anterior${e===1?"":"es"} oculta${e===1?"":"s"}`},chatQueue:{attachmentFallback:"(adjunto)",removeFromQueue:"Quitar de la cola",queued:e=>`${e} en cola`},poweredBy:{label:"Agente IA con tecnolog\xEDa de"},aiDisclaimer:{default:"puede cometer errores"},exportSession:{saving:"guardando...",saved:"guardado",error:"error",export:"exportar",tooltip:"Guardar escenario en Waniwani"},widgetErrorBoundary:{failedToLoad:"No se pudo cargar el widget",retry:"Reintentar"},launcher:{prompt:"Pregunta lo que quieras\u2026",open:"Abrir chat",close:"Cerrar chat",minimize:"Minimizar"}};var zn={promptInput:{placeholder:"Que souhaitez-vous savoir ?",uploadFiles:"Importer des fichiers",stop:"Arr\xEAter",submit:"Envoyer",removeAttachments:"Supprimer toutes les pi\xE8ces jointes"},workingIndicator:{default:"Un instant\u2026"},reasoning:{thinking:"R\xE9flexion\u2026",thoughtBrief:"R\xE9flexion pendant quelques secondes",thoughtForSeconds:e=>`R\xE9flexion pendant ${e} seconde${e===1?"":"s"}`},chainOfThought:{working:"Je m'en occupe\u2026",done:"Raisonnement"},tool:{copy:"Copier",copied:"Copi\xE9",request:"Requ\xEAte",response:"R\xE9ponse",error:"Erreur"},attachments:{attachmentFallback:"pi\xE8ce jointe",fileFallback:"fichier"},threadMenu:{newChat:"Nouvelle conversation",threadHistory:"Historique",deleteThread:"Supprimer la conversation",noPreviousChats:"Aucune conversation pr\xE9c\xE9dente.",hiddenThreads:e=>`${e} conversation${e===1?"":"s"} plus ancienne${e===1?"":"s"} masqu\xE9e${e===1?"":"s"}`},chatQueue:{attachmentFallback:"(pi\xE8ce jointe)",removeFromQueue:"Retirer de la file",queued:e=>`${e} en attente`},poweredBy:{label:"Agent IA propuls\xE9 par"},aiDisclaimer:{default:"peut faire des erreurs"},exportSession:{saving:"enregistrement...",saved:"enregistr\xE9",error:"erreur",export:"exporter",tooltip:"Enregistrer le sc\xE9nario dans Waniwani"},widgetErrorBoundary:{failedToLoad:"\xC9chec du chargement du widget",retry:"R\xE9essayer"},launcher:{prompt:"Posez votre question\u2026",open:"Ouvrir le chat",close:"Fermer le chat",minimize:"R\xE9duire"}};var Hr={en:Sa,fr:zn,es:Vn};import{jsx as wd}from"react/jsx-runtime";var $n=cd(null);function hd(e,t){if(!t)return e;let a={...e};for(let r of Object.keys(e)){let o=e[r],n=t[r];n&&typeof o=="object"&&(a[r]={...o,...n})}return a}function qr({children:e,locale:t,messages:a}){let r=!!(t&&gd(t)),o=r?t:"en",[n,s]=jn(o),[i,l]=jn(r);pd(()=>{s(Ur(t)),l(!0)},[t]);let u=md(()=>{let c=Hr[n]??Hr["en"];return{locale:n,t:hd(c,a),ready:i}},[n,a,i]);return wd($n.Provider,{value:u,children:e})}function gd(e){return e==="en"||e==="fr"||e==="es"}function z(){let e=fd($n);return e||{locale:"en",t:Sa,ready:!0}}function Gr(e,t){let a=Date.now()-e;if(a<6e4)try{return new Intl.RelativeTimeFormat(t,{numeric:"auto",style:"narrow"}).format(0,"second")}catch{return"just now"}let r,o;a<60*6e4?(r=-Math.floor(a/6e4),o="minute"):a<1440*6e4?(r=-Math.floor(a/(60*6e4)),o="hour"):(r=-Math.floor(a/(1440*6e4)),o="day");try{return new Intl.RelativeTimeFormat(t,{numeric:"auto",style:"short"}).format(r,o)}catch{return`${Math.abs(r)}${o==="minute"?"m":o==="hour"?"h":"d"} ago`}}import{jsx as De,jsxs as Jn}from"react/jsx-runtime";var Cd=async e=>{try{let a=await(await fetch(e)).blob();return new Promise(r=>{let o=new FileReader;o.onloadend=()=>r(o.result),o.onerror=()=>r(null),o.readAsDataURL(a)})}catch{return null}},Kn=xd(null),Qn=()=>{let e=Id(Kn);if(!e)throw new Error("usePromptInputAttachments must be used within a PromptInput");return e},ya=({className:e,accept:t,multiple:a,globalDrop:r,maxFiles:o,maxFileSize:n,onSubmit:s,children:i,...l})=>{let{t:u}=z(),c=Vr(null),d=Vr(null),[f,p]=Xn([]),m=Vr(f);Wr(()=>{m.current=f},[f]);let L=We(()=>{c.current?.click()},[]),I=We(T=>{let v=[...T];if(v.length===0)return;let A=F=>n?F.size<=n:!0,R=v.filter(A);p(F=>{let P=typeof o=="number"?Math.max(0,o-F.length):void 0,b=typeof P=="number"?R.slice(0,P):R;return[...F,...b.map(H=>({filename:H.name,id:Gt(),mediaType:H.type,type:"file",url:URL.createObjectURL(H)}))]})},[o,n]),w=We(T=>{p(v=>{let A=v.find(R=>R.id===T);return A?.url&&URL.revokeObjectURL(A.url),v.filter(R=>R.id!==T)})},[]),g=We(()=>{p(T=>{for(let v of T)v.url&&URL.revokeObjectURL(v.url);return[]})},[]);Wr(()=>()=>{for(let T of m.current)T.url&&URL.revokeObjectURL(T.url)},[]);let h=We(T=>{T.currentTarget.files&&I(T.currentTarget.files),T.currentTarget.value=""},[I]);Wr(()=>{if(!r)return;let T=A=>{A.dataTransfer?.types?.includes("Files")&&A.preventDefault()},v=A=>{A.dataTransfer?.types?.includes("Files")&&A.preventDefault(),A.dataTransfer?.files&&A.dataTransfer.files.length>0&&I(A.dataTransfer.files)};return document.addEventListener("dragover",T),document.addEventListener("drop",v),()=>{document.removeEventListener("dragover",T),document.removeEventListener("drop",v)}},[I,r]);let x=We(async T=>{T.preventDefault();let v=T.currentTarget,R=new FormData(v).get("message")||"";v.reset();let F=await Promise.all(f.map(async({id:P,...b})=>{if(b.url?.startsWith("blob:")){let H=await Cd(b.url);return{...b,url:H??b.url}}return b}));try{let P=s({files:F,text:R},T);P instanceof Promise&&await P,g()}catch{}},[f,s,g]),y=Ld(()=>({add:I,clear:g,files:f,openFileDialog:L,remove:w}),[f,I,w,g,L]);return Jn(Kn.Provider,{value:y,children:[De("input",{accept:t,"aria-label":u.promptInput.uploadFiles,className:"ww:hidden",multiple:a,onChange:h,ref:c,title:u.promptInput.uploadFiles,type:"file"}),De("form",{className:k("ww:flex ww:w-full ww:flex-col ww:rounded-lg ww:border ww:border-border ww:bg-background",e),onSubmit:x,ref:d,...l,children:i})]})};var ba=({onChange:e,onKeyDown:t,className:a,placeholder:r,...o})=>{let{t:n}=z(),s=Qn(),[i,l]=Xn(!1),u=r??n.promptInput.placeholder,c=We(f=>{if(t?.(f),!f.defaultPrevented){if(f.key==="Enter"){if(i||f.nativeEvent.isComposing||f.shiftKey)return;f.preventDefault();let{form:p}=f.currentTarget;if(p?.querySelector('button[type="submit"]')?.disabled)return;p?.requestSubmit()}if(f.key==="Backspace"&&f.currentTarget.value===""&&s.files.length>0){f.preventDefault();let p=s.files.at(-1);p&&s.remove(p.id)}}},[t,i,s]),d=We(f=>{let p=f.clipboardData?.items;if(!p)return;let m=[];for(let L of p)if(L.kind==="file"){let I=L.getAsFile();I&&m.push(I)}m.length>0&&(f.preventDefault(),s.add(m))},[s]);return De("textarea",{className:k("ww:field-sizing-content ww:max-h-48 ww:min-h-0 ww:w-full ww:resize-none ww:border-0 ww:bg-transparent ww:px-3 ww:py-2 ww:text-base ww:sm:text-sm ww:outline-none ww:placeholder:text-muted-foreground",a),name:"message",onCompositionEnd:()=>l(!1),onCompositionStart:()=>l(!0),onKeyDown:c,onPaste:d,placeholder:u,onChange:e,...o})},ka=({className:e,status:t,onStop:a,onClick:r,children:o,...n})=>{let{t:s}=z(),i=t==="submitted"||t==="streaming",l=De(Mt,{className:"ww:size-4"});t==="submitted"?l=De(Ot,{className:"ww:size-4 ww:animate-spin"}):t==="streaming"&&(l=De(Ut,{className:"ww:size-4"}));let u=We(c=>{if(i&&a){c.preventDefault(),a();return}r?.(c)},[i,a,r]);return De(Be,{"aria-label":i?s.promptInput.stop:s.promptInput.submit,className:k("ww:bg-foreground ww:text-background ww:hover:bg-foreground ww:rounded-full",e),onClick:u,size:"icon-sm",type:i&&a?"button":"submit",variant:"ghost",...n,children:o??l})},Ta=({className:e,children:t,...a})=>{let{t:r}=z(),o=Qn();return o.files.length>0?Jn(Be,{className:k("ww:group ww:relative",e),onClick:()=>o.clear(),size:"icon-sm",type:"button",variant:"ghost","aria-label":r.promptInput.removeAttachments,...a,children:[De("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}),De(ot,{className:"ww:absolute ww:size-4 ww:opacity-0 ww:transition-opacity ww:group-hover:opacity-100"})]}):De(Be,{className:k(e),onClick:()=>o.openFileDialog(),size:"icon-sm",type:"button",variant:"ghost",...a,children:t??De(Nt,{className:"ww:size-4"})})};import{memo as Sd,useCallback as yd}from"react";import{jsx as St}from"react/jsx-runtime";var Yn=({className:e,...t})=>St("div",{className:k("ww:flex ww:flex-col ww:gap-1 ww:px-3 ww:py-2",e),...t}),Zn=({className:e,...t})=>St("li",{className:k("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}),es=({className:e,...t})=>St("span",{className:k("ww:inline-block ww:size-2 ww:shrink-0 ww:rounded-full ww:border ww:border-muted-foreground/50",e),...t}),ts=({className:e,...t})=>St("span",{className:k("ww:line-clamp-1 ww:grow ww:break-words ww:text-muted-foreground",e),...t}),as=({className:e,...t})=>St("div",{className:k("ww:flex ww:shrink-0 ww:gap-1 ww:opacity-0 ww:transition-opacity ww:group-hover:opacity-100",e),...t}),rs=({className:e,...t})=>St(Be,{className:k("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 ns}from"react/jsx-runtime";var os=Sd(({message:e,onRemove:t})=>{let{t:a}=z(),r=yd(()=>t(e.id),[t,e.id]);return ns(Zn,{children:[Xe(es,{}),Xe(ts,{children:e.text||a.chatQueue.attachmentFallback}),Xe(as,{children:Xe(rs,{"aria-label":a.chatQueue.removeFromQueue,onClick:r,children:Xe(ot,{className:"ww:size-3"})})})]})});os.displayName="ChatQueueItem";function va({queuedMessages:e,onRemove:t,className:a}){let{t:r}=z();return e.length===0?null:ns(Yn,{className:k("ww:border-t ww:border-border",a),children:[Xe("div",{className:"ww:text-[11px] ww:font-medium ww:text-muted-foreground ww:px-2",children:r.chatQueue.queued(e.length)}),Xe("ul",{children:e.map(o=>Xe(os,{message:o,onRemove:t},o.id))})]})}import{useState as ss}from"react";import{jsx as bd}from"react/jsx-runtime";function is({messages:e,evalEnabled:t,api:a="/api/waniwani"}){let{t:r}=z(),[o,n]=ss(!1),[s,i]=ss(null),l=async()=>{let c={name:`session-${new Date().toISOString().slice(0,19)}`,type:"functional",messages:e,mode:"manual"};n(!0),i(null);try{let d=await fetch(`${a}/scenarios`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(c)});if(!d.ok)throw new Error(`${d.status}`);i("saved")}catch{i("error")}finally{n(!1),setTimeout(()=>i(null),2e3)}};if(!t||e.length===0)return null;let u=o?r.exportSession.saving:s==="saved"?r.exportSession.saved:s==="error"?r.exportSession.error:r.exportSession.export;return bd("button",{type:"button",onClick:l,disabled:o,title:r.exportSession.tooltip,className:"ww:ml-auto ww:text-[10px] ww:font-mono ww:uppercase ww:tracking-wider ww:text-muted-foreground hover:ww:text-foreground ww:cursor-pointer ww:transition-colors ww:disabled:opacity-40",children:u})}import{jsx as Wt,jsxs as Td}from"react/jsx-runtime";var ls=({files:e,className:t,...a})=>e.length===0?null:Wt("div",{className:k("ww:flex ww:flex-wrap ww:gap-1.5",t),...a,children:e.map((r,o)=>Wt(kd,{file:r},o))});function kd({file:e}){let{t}=z();return e.mediaType?.startsWith("image/")&&e.url?Wt("img",{src:e.url,alt:e.filename??t.attachments.attachmentFallback,className:"ww:h-16 ww:max-w-32 ww:rounded ww:object-cover"}):Td("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:[Wt(Dt,{className:"ww:size-3 ww:shrink-0"}),Wt("span",{className:"ww:max-w-24 ww:truncate",children:e.filename??t.attachments.fileFallback})]})}import{createContext as Nd,useCallback as Ud,useContext as Hd,useEffect as qd,useMemo as Gd,useState as Xr}from"react";import{createContext as Rd,memo as $r,useCallback as Md,useContext as Fd,useEffect as zr,useMemo as Bd,useRef as us,useState as jr}from"react";import{memo as vd}from"react";import{jsx as Ad}from"react/jsx-runtime";var Pd=({as:e="span",className:t,duration:a=2,style:r,children:o,...n})=>{let s={backgroundImage:"linear-gradient(90deg, var(--ww-color-muted-foreground) 0%, var(--ww-color-muted-foreground) 40%, var(--ww-color-foreground) 50%, var(--ww-color-muted-foreground) 60%, var(--ww-color-muted-foreground) 100%)",backgroundSize:"250% 100%",WebkitBackgroundClip:"text",backgroundClip:"text",color:"transparent",animation:`ww-shimmer ${a}s linear infinite`,...r};return Ad(e,{"data-waniwani-shimmer":"",className:k("ww:inline-block",t),style:s,...n,children:o})},_e=vd(Pd);_e.displayName="Shimmer";import{Fragment as _d,jsx as Oe,jsxs as Od}from"react/jsx-runtime";var ds=Rd(null);function cs(){let e=Fd(ds);if(!e)throw new Error("Reasoning components must be used within <Reasoning>");return e}var Ed=1e3,Dd=1e3,Vt=$r(({className:e,isStreaming:t=!1,open:a,defaultOpen:r,onOpenChange:o,duration:n,children:s,...i})=>{let l=r??t,u=r===!1,c=a!==void 0,[d,f]=jr(l),p=c?a:d,m=Md(v=>{c||f(v),o?.(v)},[c,o]),[L,I]=jr(void 0),w=n??L,g=us(t),[h,x]=jr(!1),y=us(null);zr(()=>{t?(g.current=!0,y.current===null&&(y.current=Date.now())):y.current!==null&&(I(Math.ceil((Date.now()-y.current)/Dd)),y.current=null)},[t]),zr(()=>{t&&!p&&!u&&m(!0)},[t,p,u,m]),zr(()=>{if(g.current&&!t&&p&&!h){let v=setTimeout(()=>{m(!1),x(!0)},Ed);return()=>clearTimeout(v)}},[t,p,h,m]);let T=Bd(()=>({isStreaming:t,isOpen:p,setIsOpen:m,duration:w}),[t,p,m,w]);return Oe(ds.Provider,{value:T,children:Oe("div",{className:k("ww:mb-4 ww:flex ww:flex-col ww:gap-2",e),"data-state":p?"open":"closed",style:{animation:"ww-fade-in 0.2s ease-out"},...i,children:s})})});Vt.displayName="Reasoning";var zt=$r(({className:e,children:t,getThinkingMessage:a,hideIcon:r=!1,onClick:o,...n})=>{let{t:s}=z(),{isStreaming:i,isOpen:l,duration:u,setIsOpen:c}=cs(),f=a??((p,m)=>p||m===0?Oe(_e,{duration:1.6,children:s.reasoning.thinking}):m===void 0?Oe("span",{children:s.reasoning.thoughtBrief}):Oe("span",{children:s.reasoning.thoughtForSeconds(m)}));return Oe("button",{type:"button","aria-expanded":l,onClick:p=>{c(!l),o?.(p)},className:k("ww:flex ww:w-full ww:items-center ww:gap-2 ww:text-sm ww:text-muted-foreground ww:transition-colors ww:hover:text-foreground",e),...n,children:t??Od(_d,{children:[!r&&Oe(Ge,{className:"ww:size-4 ww:shrink-0"}),f(i,u)]})})});zt.displayName="ReasoningTrigger";var jt=$r(({className:e,children:t,...a})=>{let{isOpen:r}=cs();return Oe("div",{className:k("ww:grid ww:transition-[grid-template-rows,opacity] ww:duration-200 ww:ease-out",r?"ww:grid-rows-[1fr] ww:opacity-100":"ww:grid-rows-[0fr] ww:opacity-0"),children:Oe("div",{className:"ww:min-h-0 ww:overflow-hidden",children:Oe("div",{className:k("ww:text-sm ww:text-muted-foreground",e),...a,children:Oe(Rt,{children:t})})})})});jt.displayName="ReasoningContent";import{jsx as J,jsxs as Ke}from"react/jsx-runtime";var Wd=500,fs=Nd(null);function ps(){let e=Hd(fs);if(!e)throw new Error("ChainOfThought components must be used within <ChainOfThought>");return e}function ms({className:e,isWorking:t=!1,activeStep:a,open:r,defaultOpen:o=!1,onOpenChange:n,children:s,...i}){let l=r!==void 0,[u,c]=Xr(o),d=l?r:u,f=Ud(I=>{l||c(I),n?.(I)},[l,n]),[p,m]=Xr(!t);qd(()=>{if(t){m(!1);return}let I=setTimeout(()=>m(!0),Wd);return()=>clearTimeout(I)},[t]);let L=Gd(()=>({open:d,setOpen:f,isWorking:t,settled:p,activeStep:a}),[d,f,t,p,a]);return J(fs.Provider,{value:L,children:J("div",{className:k("ww:mb-4 ww:flex ww:flex-col ww:gap-2",e),"data-state":d?"open":"closed",style:{animation:"ww-fade-in 0.2s ease-out"},...i,children:s})})}function hs({className:e,label:t,workingLabel:a,children:r,...o}){let{open:n,setOpen:s,isWorking:i,settled:l,activeStep:u}=ps();if(!l){let c=u?.icon,d=u?.label??a??t??"";return J("div",{className:k("ww:flex ww:min-h-5 ww:w-full ww:items-center ww:gap-1.5 ww:text-sm ww:text-muted-foreground",e),children:Ke("span",{className:"ww:flex ww:min-w-0 ww:items-center ww:gap-1.5",style:{animation:"ww-fade-in 0.25s ease-out"},children:[c&&J(c,{className:k("ww:size-4 ww:shrink-0",i&&"ww:animate-pulse")}),J("span",{className:"ww:truncate",children:i?J(_e,{duration:2.6,children:d}):d})]},d)})}return Ke("button",{type:"button",onClick:()=>s(!n),"aria-expanded":n,className:k("ww:flex ww:min-h-5 ww:w-full ww:items-center ww:gap-1.5 ww:text-sm ww:text-muted-foreground ww:transition-colors ww:hover:text-foreground",e),style:{animation:"ww-fade-in 0.25s ease-out"},...o,children:[J("span",{className:"ww:truncate",children:r??t}),J(je,{className:k("ww:size-4 ww:shrink-0 ww:transition-transform ww:duration-200",n&&"ww:rotate-180")})]})}function gs({className:e,children:t,...a}){let{open:r}=ps();return J("div",{className:k("ww:grid ww:transition-[grid-template-rows,opacity] ww:duration-200 ww:ease-out",r?"ww:grid-rows-[1fr] ww:opacity-100":"ww:grid-rows-[0fr] ww:opacity-0"),children:J("div",{className:"ww:min-h-0 ww:overflow-hidden",children:J("div",{className:k("ww:flex ww:flex-col",e),...a,children:t})})})}function ws({icon:e,isLast:t,running:a,error:r}){return Ke("div",{className:"ww:flex ww:flex-col ww:items-center ww:self-stretch",children:[J("span",{className:"ww:flex ww:h-5 ww:items-center",children:J(e,{className:k("ww:size-4 ww:shrink-0",r?"ww:text-destructive":a?"ww:animate-pulse ww:text-foreground":"ww:text-muted-foreground")})}),!t&&J("span",{className:"ww:w-px ww:flex-1 ww:bg-border"})]})}function Kr({className:e,icon:t,title:a,state:r,isLast:o=!1,children:n,...s}){let i=r==="input-available"||r==="input-streaming",l=r==="output-error",u=n!=null,[c,d]=Xr(!1),f=a??"",p=i?J(_e,{duration:1.6,children:f}):J("span",{className:"ww:truncate",children:f});return Ke("div",{className:k("ww:flex ww:gap-2",e),...s,children:[J(ws,{icon:t,isLast:o,running:i,error:l}),Ke("div",{className:k("ww:min-w-0 ww:flex-1",!o&&"ww:pb-3"),children:[u?Ke("button",{type:"button",onClick:()=>d(m=>!m),"aria-expanded":c,className:"ww:flex ww:w-full ww:items-center ww:gap-1.5 ww:text-left ww:text-sm ww:text-muted-foreground ww:transition-colors ww:hover:text-foreground",children:[p,J(je,{className:k("ww:size-3.5 ww:shrink-0 ww:transition-transform ww:duration-200",c&&"ww:rotate-180")})]}):J("div",{className:"ww:flex ww:items-center ww:text-sm ww:text-muted-foreground",children:p}),u&&J("div",{className:k("ww:grid ww:transition-[grid-template-rows,opacity] ww:duration-200 ww:ease-out",c?"ww:grid-rows-[1fr] ww:opacity-100":"ww:grid-rows-[0fr] ww:opacity-0"),children:J("div",{className:"ww:min-h-0 ww:overflow-hidden",children:J("div",{className:"ww:mt-2 ww:space-y-3 ww:rounded-lg ww:border ww:border-border ww:bg-background ww:p-3",children:n})})})]})]})}function xs({isStreaming:e=!1,isLast:t=!1,children:a}){return Ke("div",{className:"ww:flex ww:gap-2",children:[J(ws,{icon:Ge,isLast:t,running:e}),J("div",{className:k("ww:min-w-0 ww:flex-1",!t&&"ww:pb-3"),children:Ke(Vt,{isStreaming:e,className:"ww:mb-0",children:[J(zt,{hideIcon:!0}),J(jt,{children:a})]})})]})}var Ie={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 Ue={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 Pe={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 Is(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 Ls(e){return e===12288||e>=65281&&e<=65376||e>=65504&&e<=65510}function Cs(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 Ss(e){return Is(e)?"ambiguous":Ls(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":Cs(e)?"wide":"neutral"}function Vd(e){if(!Number.isSafeInteger(e))throw new TypeError(`Expected a code point, got \`${typeof e}\`.`)}function ys(e){return Vd(e),Ss(e)}var zd=Object.defineProperty,jd=(e,t,a)=>t in e?zd(e,t,{enumerable:!0,configurable:!0,writable:!0,value:a}):e[t]=a,$d=(e,t,a)=>jd(e,typeof t!="symbol"?t+"":t,a);function Xd(e){return/^\p{Emoji_Presentation}/u.test(String.fromCodePoint(e))}function Kd(e){if(!e||e<4352)return!1;switch(ys(e)){case"fullwidth":case"halfwidth":return!0;case"wide":return!Xd(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 Qd(e,t){return t!==65025||!e||e<8216?!1:e===8216||e===8217||e===8220||e===8221}function Jd(e){return e!==null&&e>=65024&&e<=65038}var Yd=bs(/\p{P}|\p{S}/u),Zd=bs(/\s/);function bs(e){return t;function t(a){return a!==null&&a>-1&&e.test(String.fromCodePoint(a))}}var Ae;(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})(Ae||(Ae={}));function Qe(e){if(e===Ie.eof||Pn(e)||Zd(e))return Ue.characterGroupWhitespace;let t=0;if(e>=4352){if(Jd(e))return Ae.nonEmojiGeneralUseVS;switch(Kd(e)){case null:return Ae.ivs;case!0:t|=Ae.cjk;break}}return Yd(e)&&(t|=Ue.characterGroupPunctuation),t}function Pa(e,t,a){if(!tc(e))return e;let r=t(),o=Qe(r);return!r||it(o)?e:Qd(r,a)?Ae.cjkPunctuation:ec(o)}function ec(e){return e&~Ae.ivs}function it(e){return!!(e&Ue.characterGroupWhitespace)}function yt(e){return(e&Ae.cjkPunctuation)===Ue.characterGroupPunctuation}function $t(e){return!!(e&Ae.cjk)}function ks(e){return e===Ae.ivs}function Ts(e){return!!(e&Ae.cjkOrIvs)}function tc(e){return e===Ae.nonEmojiGeneralUseVS}function Qr(e){return!!(e&Ae.spaceOrPunctuation)}function Aa(e){return!!(e&&e>=55296&&e<=56319)}function Ra(e){return!!(e&&e>=56320&&e<=57343)}function Ma(e,t,a){if(t._bufferIndex<2)return e;let o=a({start:{...t,_bufferIndex:t._bufferIndex-2},end:t}).codePointAt(0);return o&&o>=65536?o:e}function ac(e,t,a){let r=e>=65536?2:1;if(t._bufferIndex<1+r)return null;let o=t._bufferIndex-r-2,n=a({start:{...t,_bufferIndex:o>=0?o:0},end:{...t,_bufferIndex:t._bufferIndex-r}}),s=n.charCodeAt(n.length-1);if(Number.isNaN(s))return null;if(n.length<2||s<56320||57343<s)return s;let i=n.codePointAt(0);return i&&i>=65536?i:s}var Fa=class{constructor(e,t,a){this.previousCode=e,this.nowPoint=t,this.sliceSerialize=a,$d(this,"cachedValue")}value(){return this.cachedValue===void 0&&(this.cachedValue=ac(this.previousCode,this.nowPoint,this.sliceSerialize)),this.cachedValue}};function Ba(e,t,a){let r=a({start:t,end:{...t,_bufferIndex:t._bufferIndex+2}}).codePointAt(0);return r&&r>=65536?r:e}var Jr={name:"attention",resolveAll:rc,tokenize:oc};function rc(e,t){let a=-1,r,o,n,s,i,l,u,c;for(;++a<e.length;)if(e[a][0]==="enter"&&e[a][1].type==="attentionSequence"&&e[a][1]._close){for(r=a;r--;)if(e[r][0]==="exit"&&e[r][1].type==="attentionSequence"&&e[r][1]._open&&t.sliceSerialize(e[r][1]).charCodeAt(0)===t.sliceSerialize(e[a][1]).charCodeAt(0)){if((e[r][1]._close||e[a][1]._open)&&(e[a][1].end.offset-e[a][1].start.offset)%3&&!((e[r][1].end.offset-e[r][1].start.offset+e[a][1].end.offset-e[a][1].start.offset)%3))continue;l=e[r][1].end.offset-e[r][1].start.offset>1&&e[a][1].end.offset-e[a][1].start.offset>1?2:1;let d={...e[r][1].end},f={...e[a][1].start};vs(d,-l),vs(f,l),s={type:l>1?Pe.strongSequence:Pe.emphasisSequence,start:d,end:{...e[r][1].end}},i={type:l>1?Pe.strongSequence:Pe.emphasisSequence,start:{...e[a][1].start},end:f},n={type:l>1?Pe.strongText:Pe.emphasisText,start:{...e[r][1].end},end:{...e[a][1].start}},o={type:l>1?Pe.strong:Pe.emphasis,start:{...s.start},end:{...i.end}},e[r][1].end={...s.start},e[a][1].start={...i.end},u=[],e[r][1].end.offset-e[r][1].start.offset&&(u=wt(u,[["enter",e[r][1],t],["exit",e[r][1],t]])),u=wt(u,[["enter",o,t],["enter",s,t],["exit",s,t],["enter",n,t]]),t.parser.constructs.insideSpan.null,u=wt(u,xa(t.parser.constructs.insideSpan.null,e.slice(r+1,a),t)),u=wt(u,[["exit",n,t],["enter",i,t],["exit",i,t],["exit",o,t]]),e[a][1].end.offset-e[a][1].start.offset?(c=2,u=wt(u,[["enter",e[a][1],t],["exit",e[a][1],t]])):c=0,gt(e,r-1,a-r+3,u),a=r+u.length-c-2;break}}for(a=-1;++a<e.length;)e[a][1].type==="attentionSequence"&&(e[a][1].type="data");return e}function oc(e,t){let a=this.parser.constructs.attentionMarkers.null,{now:r,sliceSerialize:o,previous:n}=this,s=Ra(n)?Ma(n,r(),o):n,i=Qe(s),l=new Fa(s,r(),o),u=Pa(i,l.value.bind(l),s),c;return d;function d(p){return p===Ie.asterisk||Ie.underscore,c=p,e.enter("attentionSequence"),f(p)}function f(p){if(p===c)return e.consume(p),f;let m=e.exit("attentionSequence"),L=Aa(p)?Ba(p,r(),o):p,I=Qe(L);let w=yt(u),g=w||it(u),h=yt(I),x=h||it(I),y=Ts(u),T=!x||h&&(g||y)||a.includes(p),v=!g||w&&(x||$t(I))||a.includes(s);return m._open=!!(c===Ie.asterisk?T:T&&(Qr(u)||!v)),m._close=!!(c===Ie.asterisk?v:v&&(Qr(I)||!T)),t(p)}}function vs(e,t){e.column+=t,e.offset+=t,e._bufferIndex+=t}function Ps(){return{text:{[Ie.asterisk]:Jr,[Ie.underscore]:Jr},insideSpan:{null:[Jr]}}}function As(){let e=this.data();(e.micromarkExtensions||(e.micromarkExtensions=[])).push(Ps())}function Rs(e){let a=(e||{}).singleTilde,r={name:"strikethrough",tokenize:n,resolveAll:o};return a==null&&(a=!0),{text:{[Ie.tilde]:r},insideSpan:{null:[r]},attentionMarkers:{null:[Ie.tilde]}};function o(s,i){let l=-1;for(;++l<s.length;)if(s[l][0]==="enter"&&s[l][1].type==="strikethroughSequenceTemporary"&&s[l][1]._close){let u=l;for(;u--;)if(s[u][0]==="exit"&&s[u][1].type==="strikethroughSequenceTemporary"&&s[u][1]._open&&s[l][1].end.offset-s[l][1].start.offset===s[u][1].end.offset-s[u][1].start.offset){s[l][1].type="strikethroughSequence",s[u][1].type="strikethroughSequence";let c={type:"strikethrough",start:Object.assign({},s[u][1].start),end:Object.assign({},s[l][1].end)},d={type:"strikethroughText",start:Object.assign({},s[u][1].end),end:Object.assign({},s[l][1].start)},f=[["enter",c,i],["enter",s[u][1],i],["exit",s[u][1],i],["enter",d,i]],p=i.parser.constructs.insideSpan.null;p&&gt(f,f.length,0,xa(p,s.slice(u+1,l),i)),gt(f,f.length,0,[["exit",d,i],["enter",s[l][1],i],["exit",s[l][1],i],["exit",c,i]]),gt(s,u-1,l-u+3,f),l=u+f.length-2;break}}for(l=-1;++l<s.length;)s[l][1].type==="strikethroughSequenceTemporary"&&(s[l][1].type=Pe.data);return s}function n(s,i,l){let{now:u,sliceSerialize:c,previous:d}=this,f=Ra(d)?Ma(d,u(),c):d,p=Qe(f),m=new Fa(f,u(),c),L=Pa(p,m.value.bind(m),f),I=this.events,w=0;return g;function g(x){return Ie.tilde,f===Ie.tilde&&I[I.length-1][1].type!==Pe.characterEscape?l(x):(s.enter("strikethroughSequenceTemporary"),h(x))}function h(x){let y=Qe(f);if(x===Ie.tilde)return w>1?l(x):(s.consume(x),w++,h);if(w<2&&!a)return l(x);let T=s.exit("strikethroughSequenceTemporary"),v=Aa(x)?Ba(x,u(),c):x,A=Qe(v),F=yt(L)||it(L),b=yt(A)||it(A),H=$t(L)||ks(y);return T._open=!b||A===Ue.attentionSideAfter&&(F||H),T._close=!F||y===Ue.attentionSideAfter&&(b||$t(A)),i(x)}}}function Ms(e){let t=this.data();(t.micromarkExtensions||(t.micromarkExtensions=[])).push(Rs(e))}var nc=new Set(["\u3002","\uFF0E","\uFF0C","\u3001","\uFF1F","\uFF01","\uFF1A","\uFF1B","\uFF08","\uFF09","\u3010","\u3011","\u300C","\u300D","\u300E","\u300F","\u3008","\u3009","\u300A","\u300B"]),sc=/^(https?:\/\/|mailto:|www\.)/i,ic=e=>{if(e.children.length!==1)return!1;let t=e.children[0];return t.type==="text"&&t.value===e.url},lc=e=>{let t=0;for(let a of e){if(nc.has(a))return t;t+=a.length}return null},uc=(e,t)=>({...t,url:e,children:[{type:"text",value:e}]}),dc=e=>({type:"text",value:e}),cc=()=>e=>{Cn(e,"link",(t,a,r)=>{if(!r||typeof a!="number"||!ic(t)||!sc.test(t.url))return;let o=lc(t.url);if(o===null||o===0)return;let n=t.url.slice(0,o),s=t.url.slice(o),i=uc(n,t),l=dc(s);return r.children.splice(a,1,i,l),a+1})};function fc(){let e=[As],t=[cc,Ms],a=[...e,...t];return{name:"cjk",type:"cjk",remarkPluginsBefore:e,remarkPluginsAfter:t,remarkPlugins:a}}var Yr=fc();var ae=class extends Error{constructor(t){super(t),this.name="ShikiError"}};function pc(e){return lo(e)}function lo(e){return Array.isArray(e)?mc(e):e instanceof RegExp?e:typeof e=="object"?hc(e):e}function mc(e){let t=[];for(let a=0,r=e.length;a<r;a++)t[a]=lo(e[a]);return t}function hc(e){let t={};for(let a in e)t[a]=lo(e[a]);return t}function Hs(e,...t){return t.forEach(a=>{for(let r in a)e[r]=a[r]}),e}function qs(e){let t=~e.lastIndexOf("/")||~e.lastIndexOf("\\");return t===0?e:~t===e.length-1?qs(e.substring(0,e.length-1)):e.substr(~t+1)}var Zr=/\$(\d+)|\${(\d+):\/(downcase|upcase)}/g,Ea=class{static hasCaptures(e){return e===null?!1:(Zr.lastIndex=0,Zr.test(e))}static replaceCaptures(e,t,a){return e.replace(Zr,(r,o,n,s)=>{let i=a[parseInt(o||n,10)];if(i){let l=t.substring(i.start,i.end);for(;l[0]===".";)l=l.substring(1);switch(s){case"downcase":return l.toLowerCase();case"upcase":return l.toUpperCase();default:return l}}else return r})}};function Gs(e,t){return e<t?-1:e>t?1:0}function Ws(e,t){if(e===null&&t===null)return 0;if(!e)return-1;if(!t)return 1;let a=e.length,r=t.length;if(a===r){for(let o=0;o<a;o++){let n=Gs(e[o],t[o]);if(n!==0)return n}return 0}return a-r}function Fs(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 Vs(e){return e.replace(/[\-\\\{\}\*\+\?\|\^\$\.\,\[\]\(\)\#\s]/g,"\\$&")}var zs=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}},Qt=class{constructor(e,t,a){this._colorMap=e,this._defaults=t,this._root=a}static createFromRawTheme(e,t){return this.createFromParsedTheme(xc(e),t)}static createFromParsedTheme(e,t){return Lc(e,t)}_cachedMatchRoot=new zs(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,r=this._cachedMatchRoot.get(t).find(o=>gc(e.parent,o.parentScopes));return r?new js(r.fontStyle,r.foreground,r.background):null}},eo=class Da{constructor(t,a){this.parent=t,this.scopeName=a}static push(t,a){for(let r of a)t=new Da(t,r);return t}static from(...t){let a=null;for(let r=0;r<t.length;r++)a=new Da(a,t[r]);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=[],r=this;for(;r&&r!==t;)a.push(r.scopeName),r=r.parent;return r===t?a.reverse():void 0}};function gc(e,t){if(t.length===0)return!0;for(let a=0;a<t.length;a++){let r=t[a],o=!1;if(r===">"){if(a===t.length-1)return!1;r=t[++a],o=!0}for(;e&&!wc(e.scopeName,r);){if(o)return!1;e=e.parent}if(!e)return!1;e=e.parent}return!0}function wc(e,t){return t===e||e.startsWith(t)&&e[t.length]==="."}var js=class{constructor(e,t,a){this.fontStyle=e,this.foregroundId=t,this.backgroundId=a}};function xc(e){if(!e)return[];if(!e.settings||!Array.isArray(e.settings))return[];let t=e.settings,a=[],r=0;for(let o=0,n=t.length;o<n;o++){let s=t[o];if(!s.settings)continue;let i;if(typeof s.scope=="string"){let d=s.scope;d=d.replace(/^[,]+/,""),d=d.replace(/[,]+$/,""),i=d.split(",")}else Array.isArray(s.scope)?i=s.scope:i=[""];let l=-1;if(typeof s.settings.fontStyle=="string"){l=0;let d=s.settings.fontStyle.split(" ");for(let f=0,p=d.length;f<p;f++)switch(d[f]){case"italic":l=l|1;break;case"bold":l=l|2;break;case"underline":l=l|4;break;case"strikethrough":l=l|8;break}}let u=null;typeof s.settings.foreground=="string"&&Fs(s.settings.foreground)&&(u=s.settings.foreground);let c=null;typeof s.settings.background=="string"&&Fs(s.settings.background)&&(c=s.settings.background);for(let d=0,f=i.length;d<f;d++){let m=i[d].trim().split(" "),L=m[m.length-1],I=null;m.length>1&&(I=m.slice(0,m.length-1),I.reverse()),a[r++]=new Ic(L,I,o,l,u,c)}}return a}var Ic=class{constructor(e,t,a,r,o,n){this.scope=e,this.parentScopes=t,this.index=a,this.fontStyle=r,this.foreground=o,this.background=n}},Le=(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))(Le||{});function Lc(e,t){e.sort((l,u)=>{let c=Gs(l.scope,u.scope);return c!==0||(c=Ws(l.parentScopes,u.parentScopes),c!==0)?c:l.index-u.index});let a=0,r="#000000",o="#ffffff";for(;e.length>=1&&e[0].scope==="";){let l=e.shift();l.fontStyle!==-1&&(a=l.fontStyle),l.foreground!==null&&(r=l.foreground),l.background!==null&&(o=l.background)}let n=new Cc(t),s=new js(a,n.getId(r),n.getId(o)),i=new yc(new ao(0,null,-1,0,0),[]);for(let l=0,u=e.length;l<u;l++){let c=e[l];i.insert(0,c.scope,c.parentScopes,c.fontStyle,n.getId(c.foreground),n.getId(c.background))}return new Qt(n,s,i)}var Cc=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)}},Sc=Object.freeze([]),ao=class $s{scopeDepth;parentScopes;fontStyle;foreground;background;constructor(t,a,r,o,n){this.scopeDepth=t,this.parentScopes=a||Sc,this.fontStyle=r,this.foreground=o,this.background=n}clone(){return new $s(this.scopeDepth,this.parentScopes,this.fontStyle,this.foreground,this.background)}static cloneArr(t){let a=[];for(let r=0,o=t.length;r<o;r++)a[r]=t[r].clone();return a}acceptOverwrite(t,a,r,o){this.scopeDepth>t?console.log("how did this happen?"):this.scopeDepth=t,a!==-1&&(this.fontStyle=a),r!==0&&(this.foreground=r),o!==0&&(this.background=o)}},yc=class ro{constructor(t,a=[],r={}){this._mainRule=t,this._children=r,this._rulesWithParentScopes=a}_rulesWithParentScopes;static _cmpBySpecificity(t,a){if(t.scopeDepth!==a.scopeDepth)return a.scopeDepth-t.scopeDepth;let r=0,o=0;for(;t.parentScopes[r]===">"&&r++,a.parentScopes[o]===">"&&o++,!(r>=t.parentScopes.length||o>=a.parentScopes.length);){let n=a.parentScopes[o].length-t.parentScopes[r].length;if(n!==0)return n;r++,o++}return a.parentScopes.length-t.parentScopes.length}match(t){if(t!==""){let r=t.indexOf("."),o,n;if(r===-1?(o=t,n=""):(o=t.substring(0,r),n=t.substring(r+1)),this._children.hasOwnProperty(o))return this._children[o].match(n)}let a=this._rulesWithParentScopes.concat(this._mainRule);return a.sort(ro._cmpBySpecificity),a}insert(t,a,r,o,n,s){if(a===""){this._doInsertHere(t,r,o,n,s);return}let i=a.indexOf("."),l,u;i===-1?(l=a,u=""):(l=a.substring(0,i),u=a.substring(i+1));let c;this._children.hasOwnProperty(l)?c=this._children[l]:(c=new ro(this._mainRule.clone(),ao.cloneArr(this._rulesWithParentScopes)),this._children[l]=c),c.insert(t+1,u,r,o,n,s)}_doInsertHere(t,a,r,o,n){if(a===null){this._mainRule.acceptOverwrite(t,r,o,n);return}for(let s=0,i=this._rulesWithParentScopes.length;s<i;s++){let l=this._rulesWithParentScopes[s];if(Ws(l.parentScopes,a)===0){l.acceptOverwrite(t,r,o,n);return}}r===-1&&(r=this._mainRule.fontStyle),o===0&&(o=this._mainRule.foreground),n===0&&(n=this._mainRule.background),this._rulesWithParentScopes.push(new ao(t,a,r,o,n))}},ut=class Ee{static toBinaryStr(t){return t.toString(2).padStart(32,"0")}static print(t){let a=Ee.getLanguageId(t),r=Ee.getTokenType(t),o=Ee.getFontStyle(t),n=Ee.getForeground(t),s=Ee.getBackground(t);console.log({languageId:a,tokenType:r,fontStyle:o,foreground:n,background:s})}static getLanguageId(t){return(t&255)>>>0}static getTokenType(t){return(t&768)>>>8}static containsBalancedBrackets(t){return(t&1024)!==0}static getFontStyle(t){return(t&30720)>>>11}static getForeground(t){return(t&16744448)>>>15}static getBackground(t){return(t&4278190080)>>>24}static set(t,a,r,o,n,s,i){let l=Ee.getLanguageId(t),u=Ee.getTokenType(t),c=Ee.containsBalancedBrackets(t)?1:0,d=Ee.getFontStyle(t),f=Ee.getForeground(t),p=Ee.getBackground(t);return a!==0&&(l=a),r!==8&&(u=r),o!==null&&(c=o?1:0),n!==-1&&(d=n),s!==0&&(f=s),i!==0&&(p=i),(l<<0|u<<8|c<<10|d<<11|f<<15|p<<24)>>>0}};function Oa(e,t){let a=[],r=bc(e),o=r.next();for(;o!==null;){let l=0;if(o.length===2&&o.charAt(1)===":"){switch(o.charAt(0)){case"R":l=1;break;case"L":l=-1;break;default:console.log(`Unknown priority ${o} in scope selector`)}o=r.next()}let u=s();if(a.push({matcher:u,priority:l}),o!==",")break;o=r.next()}return a;function n(){if(o==="-"){o=r.next();let l=n();return u=>!!l&&!l(u)}if(o==="("){o=r.next();let l=i();return o===")"&&(o=r.next()),l}if(Bs(o)){let l=[];do l.push(o),o=r.next();while(Bs(o));return u=>t(l,u)}return null}function s(){let l=[],u=n();for(;u;)l.push(u),u=n();return c=>l.every(d=>d(c))}function i(){let l=[],u=s();for(;u&&(l.push(u),o==="|"||o===",");){do o=r.next();while(o==="|"||o===",");u=s()}return c=>l.some(d=>d(c))}}function Bs(e){return!!e&&!!e.match(/[\w\.:]+/)}function bc(e){let t=/([LR]:|[\w\.:][\w\.:\-]*|[\,\|\-\(\)])/g,a=t.exec(e);return{next:()=>{if(!a)return null;let r=a[0];return a=t.exec(e),r}}}function Xs(e){typeof e.dispose=="function"&&e.dispose()}var Jt=class{constructor(e){this.scopeName=e}toKey(){return this.scopeName}},kc=class{constructor(e,t){this.scopeName=e,this.ruleName=t}toKey(){return`${this.scopeName}#${this.ruleName}`}},Tc=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))}},vc=class{constructor(e,t){this.repo=e,this.initialScopeName=t,this.seenFullScopeRequests.add(this.initialScopeName),this.Q=[new Jt(this.initialScopeName)]}seenFullScopeRequests=new Set;seenPartialScopeRequests=new Set;Q;processQueue(){let e=this.Q;this.Q=[];let t=new Tc;for(let a of e)Pc(a,this.initialScopeName,this.repo,t);for(let a of t.references)if(a instanceof Jt){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 Pc(e,t,a,r){let o=a.lookup(e.scopeName);if(!o){if(e.scopeName===t)throw new Error(`No grammar provided for <${t}>`);return}let n=a.lookup(t);e instanceof Jt?_a({baseGrammar:n,selfGrammar:o},r):oo(e.ruleName,{baseGrammar:n,selfGrammar:o,repository:o.repository},r);let s=a.injections(e.scopeName);if(s)for(let i of s)r.add(new Jt(i))}function oo(e,t,a){if(t.repository&&t.repository[e]){let r=t.repository[e];Na([r],t,a)}}function _a(e,t){e.selfGrammar.patterns&&Array.isArray(e.selfGrammar.patterns)&&Na(e.selfGrammar.patterns,{...e,repository:e.selfGrammar.repository},t),e.selfGrammar.injections&&Na(Object.values(e.selfGrammar.injections),{...e,repository:e.selfGrammar.repository},t)}function Na(e,t,a){for(let r of e){if(a.visitedRule.has(r))continue;a.visitedRule.add(r);let o=r.repository?Hs({},t.repository,r.repository):t.repository;Array.isArray(r.patterns)&&Na(r.patterns,{...t,repository:o},a);let n=r.include;if(!n)continue;let s=Ks(n);switch(s.kind){case 0:_a({...t,selfGrammar:t.baseGrammar},a);break;case 1:_a(t,a);break;case 2:oo(s.ruleName,{...t,repository:o},a);break;case 3:case 4:let i=s.scopeName===t.selfGrammar.scopeName?t.selfGrammar:s.scopeName===t.baseGrammar.scopeName?t.baseGrammar:void 0;if(i){let l={baseGrammar:t.baseGrammar,selfGrammar:i,repository:o};s.kind===4?oo(s.ruleName,l,a):_a(l,a)}else s.kind===4?a.add(new kc(s.scopeName,s.ruleName)):a.add(new Jt(s.scopeName));break}}}var Ac=class{kind=0},Rc=class{kind=1},Mc=class{constructor(e){this.ruleName=e}kind=2},Fc=class{constructor(e){this.scopeName=e}kind=3},Bc=class{constructor(e,t){this.scopeName=e,this.ruleName=t}kind=4};function Ks(e){if(e==="$base")return new Ac;if(e==="$self")return new Rc;let t=e.indexOf("#");if(t===-1)return new Fc(e);if(t===0)return new Mc(e.substring(1));{let a=e.substring(0,t),r=e.substring(t+1);return new Bc(a,r)}}var Ec=/\\(\d+)/,Es=/\\(\d+)/g;var Dc=-1,Qs=-2;var ea=class{$location;id;_nameIsCapturing;_name;_contentNameIsCapturing;_contentName;constructor(e,t,a,r){this.$location=e,this.id=t,this._name=a||null,this._nameIsCapturing=Ea.hasCaptures(this._name),this._contentName=r||null,this._contentNameIsCapturing=Ea.hasCaptures(this._contentName)}get debugName(){let e=this.$location?`${qs(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:Ea.replaceCaptures(this._name,e,t)}getContentName(e,t){return!this._contentNameIsCapturing||this._contentName===null?this._contentName:Ea.replaceCaptures(this._contentName,e,t)}},_c=class extends ea{retokenizeCapturedWithRuleId;constructor(e,t,a,r,o){super(e,t,a,r),this.retokenizeCapturedWithRuleId=o}dispose(){}collectPatterns(e,t){throw new Error("Not supported!")}compile(e,t){throw new Error("Not supported!")}compileAG(e,t,a,r){throw new Error("Not supported!")}},Oc=class extends ea{_match;captures;_cachedCompiledPatterns;constructor(e,t,a,r,o){super(e,t,a,null),this._match=new Yt(r,this.id),this.captures=o,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,r){return this._getCachedCompiledPatterns(e).compileAG(e,a,r)}_getCachedCompiledPatterns(e){return this._cachedCompiledPatterns||(this._cachedCompiledPatterns=new Zt,this.collectPatterns(e,this._cachedCompiledPatterns)),this._cachedCompiledPatterns}},Ds=class extends ea{hasMissingPatterns;patterns;_cachedCompiledPatterns;constructor(e,t,a,r,o){super(e,t,a,r),this.patterns=o.patterns,this.hasMissingPatterns=o.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,r){return this._getCachedCompiledPatterns(e).compileAG(e,a,r)}_getCachedCompiledPatterns(e){return this._cachedCompiledPatterns||(this._cachedCompiledPatterns=new Zt,this.collectPatterns(e,this._cachedCompiledPatterns)),this._cachedCompiledPatterns}},no=class extends ea{_begin;beginCaptures;_end;endHasBackReferences;endCaptures;applyEndPatternLast;hasMissingPatterns;patterns;_cachedCompiledPatterns;constructor(e,t,a,r,o,n,s,i,l,u){super(e,t,a,r),this._begin=new Yt(o,this.id),this.beginCaptures=n,this._end=new Yt(s||"\uFFFF",-1),this.endHasBackReferences=this._end.hasBackReferences,this.endCaptures=i,this.applyEndPatternLast=l||!1,this.patterns=u.patterns,this.hasMissingPatterns=u.hasMissingPatterns,this._cachedCompiledPatterns=null}dispose(){this._cachedCompiledPatterns&&(this._cachedCompiledPatterns.dispose(),this._cachedCompiledPatterns=null)}get debugBeginRegExp(){return`${this._begin.source}`}get debugEndRegExp(){return`${this._end.source}`}getEndWithResolvedBackReferences(e,t){return this._end.resolveBackReferences(e,t)}collectPatterns(e,t){t.push(this._begin)}compile(e,t){return this._getCachedCompiledPatterns(e,t).compile(e)}compileAG(e,t,a,r){return this._getCachedCompiledPatterns(e,t).compileAG(e,a,r)}_getCachedCompiledPatterns(e,t){if(!this._cachedCompiledPatterns){this._cachedCompiledPatterns=new Zt;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}},Ua=class extends ea{_begin;beginCaptures;whileCaptures;_while;whileHasBackReferences;hasMissingPatterns;patterns;_cachedCompiledPatterns;_cachedCompiledWhilePatterns;constructor(e,t,a,r,o,n,s,i,l){super(e,t,a,r),this._begin=new Yt(o,this.id),this.beginCaptures=n,this.whileCaptures=i,this._while=new Yt(s,Qs),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,r){return this._getCachedCompiledPatterns(e).compileAG(e,a,r)}_getCachedCompiledPatterns(e){if(!this._cachedCompiledPatterns){this._cachedCompiledPatterns=new Zt;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,r){return this._getCachedCompiledWhilePatterns(e,t).compileAG(e,a,r)}_getCachedCompiledWhilePatterns(e,t){return this._cachedCompiledWhilePatterns||(this._cachedCompiledWhilePatterns=new Zt,this._cachedCompiledWhilePatterns.push(this._while.hasBackReferences?this._while.clone():this._while)),this._while.hasBackReferences&&this._cachedCompiledWhilePatterns.setSource(0,t||"\uFFFF"),this._cachedCompiledWhilePatterns}},Js=class be{static createCaptureRule(t,a,r,o,n){return t.registerRule(s=>new _c(a,s,r,o,n))}static getCompiledRuleId(t,a,r){return t.id||a.registerRule(o=>{if(t.id=o,t.match)return new Oc(t.$vscodeTextmateLocation,t.id,t.name,t.match,be._compileCaptures(t.captures,a,r));if(typeof t.begin>"u"){t.repository&&(r=Hs({},r,t.repository));let n=t.patterns;return typeof n>"u"&&t.include&&(n=[{include:t.include}]),new Ds(t.$vscodeTextmateLocation,t.id,t.name,t.contentName,be._compilePatterns(n,a,r))}return t.while?new Ua(t.$vscodeTextmateLocation,t.id,t.name,t.contentName,t.begin,be._compileCaptures(t.beginCaptures||t.captures,a,r),t.while,be._compileCaptures(t.whileCaptures||t.captures,a,r),be._compilePatterns(t.patterns,a,r)):new no(t.$vscodeTextmateLocation,t.id,t.name,t.contentName,t.begin,be._compileCaptures(t.beginCaptures||t.captures,a,r),t.end,be._compileCaptures(t.endCaptures||t.captures,a,r),t.applyEndPatternLast,be._compilePatterns(t.patterns,a,r))}),t.id}static _compileCaptures(t,a,r){let o=[];if(t){let n=0;for(let s in t){if(s==="$vscodeTextmateLocation")continue;let i=parseInt(s,10);i>n&&(n=i)}for(let s=0;s<=n;s++)o[s]=null;for(let s in t){if(s==="$vscodeTextmateLocation")continue;let i=parseInt(s,10),l=0;t[s].patterns&&(l=be.getCompiledRuleId(t[s],a,r)),o[i]=be.createCaptureRule(a,t[s].$vscodeTextmateLocation,t[s].name,t[s].contentName,l)}}return o}static _compilePatterns(t,a,r){let o=[];if(t)for(let n=0,s=t.length;n<s;n++){let i=t[n],l=-1;if(i.include){let u=Ks(i.include);switch(u.kind){case 0:case 1:l=be.getCompiledRuleId(r[i.include],a,r);break;case 2:let c=r[u.ruleName];c&&(l=be.getCompiledRuleId(c,a,r));break;case 3:case 4:let d=u.scopeName,f=u.kind===4?u.ruleName:null,p=a.getExternalGrammar(d,r);if(p)if(f){let m=p.repository[f];m&&(l=be.getCompiledRuleId(m,a,p.repository))}else l=be.getCompiledRuleId(p.repository.$self,a,p.repository);break}}else l=be.getCompiledRuleId(i,a,r);if(l!==-1){let u=a.getRule(l),c=!1;if((u instanceof Ds||u instanceof no||u instanceof Ua)&&u.hasMissingPatterns&&u.patterns.length===0&&(c=!0),c)continue;o.push(l)}}return{patterns:o,hasMissingPatterns:(t?t.length:0)!==o.length}}},Yt=class Ys{source;ruleId;hasAnchor;hasBackReferences;_anchorCache;constructor(t,a){if(t&&typeof t=="string"){let r=t.length,o=0,n=[],s=!1;for(let i=0;i<r;i++)if(t.charAt(i)==="\\"&&i+1<r){let u=t.charAt(i+1);u==="z"?(n.push(t.substring(o,i)),n.push("$(?!\\n)(?<!\\n)"),o=i+2):(u==="A"||u==="G")&&(s=!0),i++}this.hasAnchor=s,o===0?this.source=t:(n.push(t.substring(o,r)),this.source=n.join(""))}else this.hasAnchor=!1,this.source=t;this.hasAnchor?this._anchorCache=this._buildAnchorCache():this._anchorCache=null,this.ruleId=a,typeof this.source=="string"?this.hasBackReferences=Ec.test(this.source):this.hasBackReferences=!1}clone(){return new Ys(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 r=a.map(o=>t.substring(o.start,o.end));return Es.lastIndex=0,this.source.replace(Es,(o,n)=>Vs(r[parseInt(n,10)]||""))}_buildAnchorCache(){if(typeof this.source!="string")throw new Error("This method should only be called if the source is a string");let t=[],a=[],r=[],o=[],n,s,i,l;for(n=0,s=this.source.length;n<s;n++)i=this.source.charAt(n),t[n]=i,a[n]=i,r[n]=i,o[n]=i,i==="\\"&&n+1<s&&(l=this.source.charAt(n+1),l==="A"?(t[n+1]="\uFFFF",a[n+1]="\uFFFF",r[n+1]="A",o[n+1]="A"):l==="G"?(t[n+1]="\uFFFF",a[n+1]="G",r[n+1]="\uFFFF",o[n+1]="G"):(t[n+1]=l,a[n+1]=l,r[n+1]=l,o[n+1]=l),n++);return{A0_G0:t.join(""),A0_G1:a.join(""),A1_G0:r.join(""),A1_G1:o.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}},Zt=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 _s(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 r=this._items.map(o=>o.resolveAnchors(t,a));return new _s(e,r,this._items.map(o=>o.ruleId))}},_s=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 r=this.scanner.findNextMatchSync(e,t,a);return r?{ruleId:this.rules[r.index],captureIndices:r.captureIndices}:null}},to=class{constructor(e,t){this.languageId=e,this.tokenType=t}},Nc=class so{_defaultAttributes;_embeddedLanguagesMatcher;constructor(t,a){this._defaultAttributes=new to(t,8),this._embeddedLanguagesMatcher=new Uc(Object.entries(a||{}))}getDefaultAttributes(){return this._defaultAttributes}getBasicScopeAttributes(t){return t===null?so._NULL_SCOPE_METADATA:this._getBasicScopeAttributes.get(t)}static _NULL_SCOPE_METADATA=new to(0,0);_getBasicScopeAttributes=new zs(t=>{let a=this._scopeToLanguage(t),r=this._toStandardTokenType(t);return new to(a,r)});_scopeToLanguage(t){return this._embeddedLanguagesMatcher.match(t)||0}_toStandardTokenType(t){let a=t.match(so.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/},Uc=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,r])=>Vs(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])}},uL={InDebugMode:typeof process<"u"&&!!process.env.VSCODE_TEXTMATE_DEBUG},Zs=!1,Os=class{constructor(e,t){this.stack=e,this.stoppedEarly=t}};function ei(e,t,a,r,o,n,s,i){let l=t.content.length,u=!1,c=-1;if(s){let p=Hc(e,t,a,r,o,n);o=p.stack,r=p.linePos,a=p.isFirstLine,c=p.anchorPosition}let d=Date.now();for(;!u;){if(i!==0&&Date.now()-d>i)return new Os(o,!0);f()}return new Os(o,!1);function f(){let p=qc(e,t,a,r,o,c);if(!p){n.produce(o,l),u=!0;return}let m=p.captureIndices,L=p.matchedRuleId,I=m&&m.length>0?m[0].end>r:!1;if(L===Dc){let w=o.getRule(e);n.produce(o,m[0].start),o=o.withContentNameScopesList(o.nameScopesList),Xt(e,t,a,o,n,w.endCaptures,m),n.produce(o,m[0].end);let g=o;if(o=o.parent,c=g.getAnchorPos(),!I&&g.getEnterPos()===r){o=g,n.produce(o,l),u=!0;return}}else{let w=e.getRule(L);n.produce(o,m[0].start);let g=o,h=w.getName(t.content,m),x=o.contentNameScopesList.pushAttributed(h,e);if(o=o.push(L,r,c,m[0].end===l,null,x,x),w instanceof no){let y=w;Xt(e,t,a,o,n,y.beginCaptures,m),n.produce(o,m[0].end),c=m[0].end;let T=y.getContentName(t.content,m),v=x.pushAttributed(T,e);if(o=o.withContentNameScopesList(v),y.endHasBackReferences&&(o=o.withEndRule(y.getEndWithResolvedBackReferences(t.content,m))),!I&&g.hasSameRuleAs(o)){o=o.pop(),n.produce(o,l),u=!0;return}}else if(w instanceof Ua){let y=w;Xt(e,t,a,o,n,y.beginCaptures,m),n.produce(o,m[0].end),c=m[0].end;let T=y.getContentName(t.content,m),v=x.pushAttributed(T,e);if(o=o.withContentNameScopesList(v),y.whileHasBackReferences&&(o=o.withEndRule(y.getWhileWithResolvedBackReferences(t.content,m))),!I&&g.hasSameRuleAs(o)){o=o.pop(),n.produce(o,l),u=!0;return}}else if(Xt(e,t,a,o,n,w.captures,m),n.produce(o,m[0].end),o=o.pop(),!I){o=o.safePop(),n.produce(o,l),u=!0;return}}m[0].end>r&&(r=m[0].end,a=!1)}}function Hc(e,t,a,r,o,n){let s=o.beginRuleCapturedEOL?0:-1,i=[];for(let l=o;l;l=l.pop()){let u=l.getRule(e);u instanceof Ua&&i.push({rule:u,stack:l})}for(let l=i.pop();l;l=i.pop()){let{ruleScanner:u,findOptions:c}=Vc(l.rule,e,l.stack.endRule,a,r===s),d=u.findNextMatchSync(t,r,c);if(d){if(d.ruleId!==Qs){o=l.stack.pop();break}d.captureIndices&&d.captureIndices.length&&(n.produce(l.stack,d.captureIndices[0].start),Xt(e,t,a,l.stack,n,l.rule.whileCaptures,d.captureIndices),n.produce(l.stack,d.captureIndices[0].end),s=d.captureIndices[0].end,d.captureIndices[0].end>r&&(r=d.captureIndices[0].end,a=!1))}else{o=l.stack.pop();break}}return{stack:o,linePos:r,anchorPosition:s,isFirstLine:a}}function qc(e,t,a,r,o,n){let s=Gc(e,t,a,r,o,n),i=e.getInjections();if(i.length===0)return s;let l=Wc(i,e,t,a,r,o,n);if(!l)return s;if(!s)return l;let u=s.captureIndices[0].start,c=l.captureIndices[0].start;return c<u||l.priorityMatch&&c===u?l:s}function Gc(e,t,a,r,o,n){let s=o.getRule(e),{ruleScanner:i,findOptions:l}=ti(s,e,o.endRule,a,r===n),u=i.findNextMatchSync(t,r,l);return u?{captureIndices:u.captureIndices,matchedRuleId:u.ruleId}:null}function Wc(e,t,a,r,o,n,s){let i=Number.MAX_VALUE,l=null,u,c=0,d=n.contentNameScopesList.getScopeNames();for(let f=0,p=e.length;f<p;f++){let m=e[f];if(!m.matcher(d))continue;let L=t.getRule(m.ruleId),{ruleScanner:I,findOptions:w}=ti(L,t,null,r,o===s),g=I.findNextMatchSync(a,o,w);if(!g)continue;let h=g.captureIndices[0].start;if(!(h>=i)&&(i=h,l=g.captureIndices,u=g.ruleId,c=m.priority,i===o))break}return l?{priorityMatch:c===-1,captureIndices:l,matchedRuleId:u}:null}function ti(e,t,a,r,o){if(Zs){let s=e.compile(t,a),i=ai(r,o);return{ruleScanner:s,findOptions:i}}return{ruleScanner:e.compileAG(t,a,r,o),findOptions:0}}function Vc(e,t,a,r,o){if(Zs){let s=e.compileWhile(t,a),i=ai(r,o);return{ruleScanner:s,findOptions:i}}return{ruleScanner:e.compileWhileAG(t,a,r,o),findOptions:0}}function ai(e,t){let a=0;return e||(a|=1),t||(a|=4),a}function Xt(e,t,a,r,o,n,s){if(n.length===0)return;let i=t.content,l=Math.min(n.length,s.length),u=[],c=s[0].end;for(let d=0;d<l;d++){let f=n[d];if(f===null)continue;let p=s[d];if(p.length===0)continue;if(p.start>c)break;for(;u.length>0&&u[u.length-1].endPos<=p.start;)o.produceFromScopes(u[u.length-1].scopes,u[u.length-1].endPos),u.pop();if(u.length>0?o.produceFromScopes(u[u.length-1].scopes,p.start):o.produce(r,p.start),f.retokenizeCapturedWithRuleId){let L=f.getName(i,s),I=r.contentNameScopesList.pushAttributed(L,e),w=f.getContentName(i,s),g=I.pushAttributed(w,e),h=r.push(f.retokenizeCapturedWithRuleId,p.start,-1,!1,null,I,g),x=e.createOnigString(i.substring(0,p.end));ei(e,x,a&&p.start===0,p.start,h,o,!1,0),Xs(x);continue}let m=f.getName(i,s);if(m!==null){let I=(u.length>0?u[u.length-1].scopes:r.contentNameScopesList).pushAttributed(m,e);u.push(new zc(I,p.end))}}for(;u.length>0;)o.produceFromScopes(u[u.length-1].scopes,u[u.length-1].endPos),u.pop()}var zc=class{scopes;endPos;constructor(e,t){this.scopes=e,this.endPos=t}};function jc(e,t,a,r,o,n,s,i){return new Xc(e,t,a,r,o,n,s,i)}function Ns(e,t,a,r,o){let n=Oa(t,Ha),s=Js.getCompiledRuleId(a,r,o.repository);for(let i of n)e.push({debugSelector:t,matcher:i.matcher,ruleId:s,grammar:o,priority:i.priority})}function Ha(e,t){if(t.length<e.length)return!1;let a=0;return e.every(r=>{for(let o=a;o<t.length;o++)if($c(t[o],r))return a=o+1,!0;return!1})}function $c(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 Xc=class{constructor(e,t,a,r,o,n,s,i){if(this._rootScopeName=e,this.balancedBracketSelectors=n,this._onigLib=i,this._basicScopeAttributesProvider=new Nc(a,r),this._rootId=-1,this._lastRuleId=0,this._ruleId2desc=[null],this._includedGrammars={},this._grammarRepository=s,this._grammar=Us(t,null),this._injections=null,this._tokenTypeMatchers=[],o)for(let l of Object.keys(o)){let u=Oa(l,Ha);for(let c of u)this._tokenTypeMatchers.push({matcher:c.matcher,type:o[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:o=>o===this._rootScopeName?this._grammar:this.getExternalGrammar(o),injections:o=>this._grammarRepository.injections(o)},t=[],a=this._rootScopeName,r=e.lookup(a);if(r){let o=r.injections;if(o)for(let s in o)Ns(t,s,o[s],this,r);let n=this._grammarRepository.injections(a);n&&n.forEach(s=>{let i=this.getExternalGrammar(s);if(i){let l=i.injectionSelector;l&&Ns(t,l,i,this,i)}})}return t.sort((o,n)=>o.priority-n.priority),t}getInjections(){return this._injections===null&&(this._injections=this._collectInjections()),this._injections}registerRule(e){let t=++this._lastRuleId,a=e(t);return this._ruleId2desc[t]=a,a}getRule(e){return this._ruleId2desc[e]}getExternalGrammar(e,t){if(this._includedGrammars[e])return this._includedGrammars[e];if(this._grammarRepository){let a=this._grammarRepository.lookup(e);if(a)return this._includedGrammars[e]=Us(a,t&&t.$base),this._includedGrammars[e]}}tokenizeLine(e,t,a=0){let r=this._tokenize(e,t,!1,a);return{tokens:r.lineTokens.getResult(r.ruleStack,r.lineLength),ruleStack:r.ruleStack,stoppedEarly:r.stoppedEarly}}tokenizeLine2(e,t,a=0){let r=this._tokenize(e,t,!0,a);return{tokens:r.lineTokens.getBinaryResult(r.ruleStack,r.lineLength),ruleStack:r.ruleStack,stoppedEarly:r.stoppedEarly}}_tokenize(e,t,a,r){this._rootId===-1&&(this._rootId=Js.getCompiledRuleId(this._grammar.repository.$self,this,this._grammar.repository),this.getInjections());let o;if(!t||t===io.NULL){o=!0;let u=this._basicScopeAttributesProvider.getDefaultAttributes(),c=this.themeProvider.getDefaults(),d=ut.set(0,u.languageId,u.tokenType,null,c.fontStyle,c.foregroundId,c.backgroundId),f=this.getRule(this._rootId).getName(null,null),p;f?p=Kt.createRootAndLookUpScopeName(f,d,this):p=Kt.createRoot("unknown",d),t=new io(null,this._rootId,-1,-1,!1,null,p,p)}else o=!1,t.reset();e=e+`
4
+ `;let n=this.createOnigString(e),s=n.content.length,i=new Qc(a,e,this._tokenTypeMatchers,this.balancedBracketSelectors),l=ei(this,n,o,0,t,i,!0,r);return Xs(n),{lineLength:s,lineTokens:i,ruleStack:l.stack,stoppedEarly:l.stoppedEarly}}};function Us(e,t){return e=pc(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 Kt=class He{constructor(t,a,r){this.parent=t,this.scopePath=a,this.tokenAttributes=r}static fromExtension(t,a){let r=t,o=t?.scopePath??null;for(let n of a)o=eo.push(o,n.scopeNames),r=new He(r,o,n.encodedTokenAttributes);return r}static createRoot(t,a){return new He(null,new eo(null,t),a)}static createRootAndLookUpScopeName(t,a,r){let o=r.getMetadataForScope(t),n=new eo(null,t),s=r.themeProvider.themeMatch(n),i=He.mergeAttributes(a,o,s);return new He(null,n,i)}get scopeName(){return this.scopePath.scopeName}toString(){return this.getScopeNames().join(" ")}equals(t){return He.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,r){let o=-1,n=0,s=0;return r!==null&&(o=r.fontStyle,n=r.foregroundId,s=r.backgroundId),ut.set(t,a.languageId,a.tokenType,null,o,n,s)}pushAttributed(t,a){if(t===null)return this;if(t.indexOf(" ")===-1)return He._pushAttributed(this,t,a);let r=t.split(/ /g),o=this;for(let n of r)o=He._pushAttributed(o,n,a);return o}static _pushAttributed(t,a,r){let o=r.getMetadataForScope(a),n=t.scopePath.push(a),s=r.themeProvider.themeMatch(n),i=He.mergeAttributes(t.tokenAttributes,o,s);return new He(t,n,i)}getScopeNames(){return this.scopePath.getSegments()}getExtensionIfDefined(t){let a=[],r=this;for(;r&&r!==t;)a.push({encodedTokenAttributes:r.tokenAttributes,scopeNames:r.scopePath.getExtensionIfDefined(r.parent?.scopePath??null)}),r=r.parent;return r===t?a.reverse():void 0}},io=class lt{constructor(t,a,r,o,n,s,i,l){this.parent=t,this.ruleId=a,this.beginRuleCapturedEOL=n,this.endRule=s,this.nameScopesList=i,this.contentNameScopesList=l,this.depth=this.parent?this.parent.depth+1:1,this._enterPos=r,this._anchorPos=o}_stackElementBrand=void 0;static NULL=new lt(null,0,0,0,!1,null,null,null);_enterPos;_anchorPos;depth;equals(t){return t===null?!1:lt._equals(this,t)}static _equals(t,a){return t===a?!0:this._structuralEquals(t,a)?Kt.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(){lt._reset(this)}pop(){return this.parent}safePop(){return this.parent?this.parent:this}push(t,a,r,o,n,s,i){return new lt(this,t,a,r,o,n,s,i)}getEnterPos(){return this._enterPos}getAnchorPos(){return this._anchorPos}getRule(t){return t.getRule(this.ruleId)}toString(){let t=[];return this._writeString(t,0),"["+t.join(",")+"]"}_writeString(t,a){return this.parent&&(a=this.parent._writeString(t,a)),t[a++]=`(${this.ruleId}, ${this.nameScopesList?.toString()}, ${this.contentNameScopesList?.toString()})`,a}withContentNameScopesList(t){return this.contentNameScopesList===t?this:this.parent.push(this.ruleId,this._enterPos,this._anchorPos,this.beginRuleCapturedEOL,this.endRule,this.nameScopesList,t)}withEndRule(t){return this.endRule===t?this:new lt(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 r=Kt.fromExtension(t?.nameScopesList??null,a.nameScopesList);return new lt(t,a.ruleId,a.enterPos??-1,a.anchorPos??-1,a.beginRuleCapturedEOL,a.endRule,r,Kt.fromExtension(r,a.contentNameScopesList))}},Kc=class{balancedBracketScopes;unbalancedBracketScopes;allowAny=!1;constructor(e,t){this.balancedBracketScopes=e.flatMap(a=>a==="*"?(this.allowAny=!0,[]):Oa(a,Ha).map(r=>r.matcher)),this.unbalancedBracketScopes=t.flatMap(a=>Oa(a,Ha).map(r=>r.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}},Qc=class{constructor(e,t,a,r){this.balancedBracketSelectors=r,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 r=e?.tokenAttributes??0,o=!1;if(this.balancedBracketSelectors?.matchesAlways&&(o=!0),this._tokenTypeOverrides.length>0||this.balancedBracketSelectors&&!this.balancedBracketSelectors.matchesAlways&&!this.balancedBracketSelectors.matchesNever){let n=e?.getScopeNames()??[];for(let s of this._tokenTypeOverrides)s.matcher(n)&&(r=ut.set(r,0,s.type,null,-1,0,0));this.balancedBracketSelectors&&(o=this.balancedBracketSelectors.match(n))}if(o&&(r=ut.set(r,0,8,o,-1,0,0)),this._binaryTokens.length>0&&this._binaryTokens[this._binaryTokens.length-1]===r){this._lastTokenEndIndex=t;return}this._binaryTokens.push(this._lastTokenEndIndex),this._binaryTokens.push(r),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 r=0,o=this._binaryTokens.length;r<o;r++)a[r]=this._binaryTokens[r];return a}},Jc=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,r,o){if(!this._grammars.has(e)){let n=this._rawGrammars.get(e);if(!n)return null;this._grammars.set(e,jc(e,n,t,a,r,o,this,this._onigLib))}return this._grammars.get(e)}},ri=class{_options;_syncRegistry;_ensureGrammarCache;constructor(e){this._options=e,this._syncRegistry=new Jc(Qt.createFromRawTheme(e.theme,e.colorMap),e.onigLib),this._ensureGrammarCache=new Map}dispose(){this._syncRegistry.dispose()}setTheme(e,t){this._syncRegistry.setTheme(Qt.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 Kc(a.balancedBracketSelectors||[],a.unbalancedBracketSelectors||[]))}loadGrammar(e){return this._loadGrammar(e,0,null,null,null)}_loadGrammar(e,t,a,r,o){let n=new vc(this._syncRegistry,e);for(;n.Q.length>0;)n.Q.map(s=>this._loadSingleGrammar(s.scopeName)),n.processQueue();return this._grammarForScopeName(e,t,a,r,o)}_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,r=null){return this._syncRegistry.addGrammar(e,t),this._grammarForScopeName(e.scopeName,a,r)}_grammarForScopeName(e,t=0,a=null,r=null,o=null){return this._syncRegistry.grammarForScopeName(e,t,a,r,o)}},qa=io.NULL;var Yc=/["&'<>`]/g,Zc=/[\uD800-\uDBFF][\uDC00-\uDFFF]/g,ef=/[\x01-\t\v\f\x0E-\x1F\x7F\x81\x8D\x8F\x90\x9D\xA0-\uFFFF]/g,tf=/[|\\{}()[\]^$+*?.]/g,oi=new WeakMap;function ni(e,t){if(e=e.replace(t.subset?af(t.subset):Yc,r),t.subset||t.escapeOnly)return e;return e.replace(Zc,a).replace(ef,r);function a(o,n,s){return t.format((o.charCodeAt(0)-55296)*1024+o.charCodeAt(1)-56320+65536,s.charCodeAt(n+2),t)}function r(o,n,s){return t.format(o.charCodeAt(0),s.charCodeAt(n+1),t)}}function af(e){let t=oi.get(e);return t||(t=rf(e),oi.set(e,t)),t}function rf(e){let t=[],a=-1;for(;++a<e.length;)t.push(e[a].replace(tf,"\\$&"));return new RegExp("(?:"+t.join("|")+")","g")}var of=/[\dA-Fa-f]/;function si(e,t,a){let r="&#x"+e.toString(16).toUpperCase();return a&&t&&!of.test(String.fromCharCode(t))?r:r+";"}var nf=/\d/;function ii(e,t,a){let r="&#"+String(e);return a&&t&&!nf.test(String.fromCharCode(t))?r:r+";"}var li=["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 Ga={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 ui=["cent","copy","divide","gt","lt","not","para","times"];var di={}.hasOwnProperty,uo={},Wa;for(Wa in Ga)di.call(Ga,Wa)&&(uo[Ga[Wa]]=Wa);var sf=/[^\dA-Za-z]/;function ci(e,t,a,r){let o=String.fromCharCode(e);if(di.call(uo,o)){let n=uo[o],s="&"+n;return a&&li.includes(n)&&!ui.includes(n)&&(!r||t&&t!==61&&sf.test(String.fromCharCode(t)))?s:s+";"}return""}function fi(e,t,a){let r=si(e,t,a.omitOptionalSemicolons),o;if((a.useNamedReferences||a.useShortestReferences)&&(o=ci(e,t,a.omitOptionalSemicolons,a.attribute)),(a.useShortestReferences||!o)&&a.useShortestReferences){let n=ii(e,t,a.omitOptionalSemicolons);n.length<r.length&&(r=n)}return o&&(!a.useShortestReferences||o.length<r.length)?o:r}function Ve(e,t){return ni(e,Object.assign({format:fi},t))}var lf=/^>|^->|<!--|-->|--!>|<!-$/g,uf=[">"],df=["<",">"];function pi(e,t,a,r){return r.settings.bogusComments?"<?"+Ve(e.value,Object.assign({},r.settings.characterReferences,{subset:uf}))+">":"<!--"+e.value.replace(lf,o)+"-->";function o(n){return Ve(n,Object.assign({},r.settings.characterReferences,{subset:df}))}}function mi(e,t,a,r){return"<!"+(r.settings.upperDoctype?"DOCTYPE":"doctype")+(r.settings.tightDoctype?"":" ")+"html>"}var ue=hi(1),co=hi(-1),cf=[];function hi(e){return t;function t(a,r,o){let n=a?a.children:cf,s=(r||0)+e,i=n[s];if(!o)for(;i&&xt(i);)s+=e,i=n[s];return i}}var ff={}.hasOwnProperty;function Va(e){return t;function t(a,r,o){return ff.call(e,a.tagName)&&e[a.tagName](a,r,o)}}var ta=Va({body:mf,caption:fo,colgroup:fo,dd:xf,dt:wf,head:fo,html:pf,li:gf,optgroup:If,option:Lf,p:hf,rp:gi,rt:gi,tbody:Sf,td:wi,tfoot:yf,th:wi,thead:Cf,tr:bf});function fo(e,t,a){let r=ue(a,t,!0);return!r||r.type!=="comment"&&!(r.type==="text"&&xt(r.value.charAt(0)))}function pf(e,t,a){let r=ue(a,t);return!r||r.type!=="comment"}function mf(e,t,a){let r=ue(a,t);return!r||r.type!=="comment"}function hf(e,t,a){let r=ue(a,t);return r?r.type==="element"&&(r.tagName==="address"||r.tagName==="article"||r.tagName==="aside"||r.tagName==="blockquote"||r.tagName==="details"||r.tagName==="div"||r.tagName==="dl"||r.tagName==="fieldset"||r.tagName==="figcaption"||r.tagName==="figure"||r.tagName==="footer"||r.tagName==="form"||r.tagName==="h1"||r.tagName==="h2"||r.tagName==="h3"||r.tagName==="h4"||r.tagName==="h5"||r.tagName==="h6"||r.tagName==="header"||r.tagName==="hgroup"||r.tagName==="hr"||r.tagName==="main"||r.tagName==="menu"||r.tagName==="nav"||r.tagName==="ol"||r.tagName==="p"||r.tagName==="pre"||r.tagName==="section"||r.tagName==="table"||r.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 gf(e,t,a){let r=ue(a,t);return!r||r.type==="element"&&r.tagName==="li"}function wf(e,t,a){let r=ue(a,t);return!!(r&&r.type==="element"&&(r.tagName==="dt"||r.tagName==="dd"))}function xf(e,t,a){let r=ue(a,t);return!r||r.type==="element"&&(r.tagName==="dt"||r.tagName==="dd")}function gi(e,t,a){let r=ue(a,t);return!r||r.type==="element"&&(r.tagName==="rp"||r.tagName==="rt")}function If(e,t,a){let r=ue(a,t);return!r||r.type==="element"&&r.tagName==="optgroup"}function Lf(e,t,a){let r=ue(a,t);return!r||r.type==="element"&&(r.tagName==="option"||r.tagName==="optgroup")}function Cf(e,t,a){let r=ue(a,t);return!!(r&&r.type==="element"&&(r.tagName==="tbody"||r.tagName==="tfoot"))}function Sf(e,t,a){let r=ue(a,t);return!r||r.type==="element"&&(r.tagName==="tbody"||r.tagName==="tfoot")}function yf(e,t,a){return!ue(a,t)}function bf(e,t,a){let r=ue(a,t);return!r||r.type==="element"&&r.tagName==="tr"}function wi(e,t,a){let r=ue(a,t);return!r||r.type==="element"&&(r.tagName==="td"||r.tagName==="th")}var xi=Va({body:vf,colgroup:Pf,head:Tf,html:kf,tbody:Af});function kf(e){let t=ue(e,-1);return!t||t.type!=="comment"}function Tf(e){let t=new Set;for(let r of e.children)if(r.type==="element"&&(r.tagName==="base"||r.tagName==="title")){if(t.has(r.tagName))return!1;t.add(r.tagName)}let a=e.children[0];return!a||a.type==="element"}function vf(e){let t=ue(e,-1,!0);return!t||t.type!=="comment"&&!(t.type==="text"&&xt(t.value.charAt(0)))&&!(t.type==="element"&&(t.tagName==="meta"||t.tagName==="link"||t.tagName==="script"||t.tagName==="style"||t.tagName==="template"))}function Pf(e,t,a){let r=co(a,t),o=ue(e,-1,!0);return a&&r&&r.type==="element"&&r.tagName==="colgroup"&&ta(r,a.children.indexOf(r),a)?!1:!!(o&&o.type==="element"&&o.tagName==="col")}function Af(e,t,a){let r=co(a,t),o=ue(e,-1);return a&&r&&r.type==="element"&&(r.tagName==="thead"||r.tagName==="tbody")&&ta(r,a.children.indexOf(r),a)?!1:!!(o&&o.type==="element"&&o.tagName==="tr")}var za={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 gn,b as wn,c as xn,d as Ln,e as In,f as ha,g as Cn,h as Sn,i as yn,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 gi(e,t,a,r){let o=r.schema,n=o.space==="svg"?!1:r.settings.omitOptionalTags,s=o.space==="svg"?r.settings.closeEmptyElements:r.settings.voids.includes(e.tagName.toLowerCase()),i=[],l;o.space==="html"&&e.tagName==="svg"&&(r.schema=ha);let u=If(r,e.properties),c=r.all(o.space==="html"&&e.tagName==="template"?e.content:e);return r.schema=o,c&&(s=!1),(u||!n||!hi(e,t,a))&&(i.push("<",e.tagName,u?" "+u:""),s&&(o.space==="svg"||r.settings.closeSelfClosing)&&(l=u.charAt(u.length-1),(!r.settings.tightSelfClosing||l==="/"||l&&l!=='"'&&l!=="'")&&i.push(" "),i.push("/")),i.push(">")),i.push(c),!s&&(!n||!ea(e,t,a))&&i.push("</"+e.tagName+">"),i.join("")}function If(e,t){let a=[],r=-1,o;if(t){for(o in t)if(t[o]!==null&&t[o]!==void 0){let n=Cf(e,o,t[o]);n&&a.push(n)}}for(;++r<a.length;){let n=e.settings.tightAttributes?a[r].charAt(a[r].length-1):void 0;r!==a.length-1&&n!=='"'&&n!=="'"&&(a[r]+=" ")}return a.join("")}function Cf(e,t,a){let r=Ln(e.schema,t),o=e.settings.allowParseErrors&&e.schema.space==="html"?0:1,n=e.settings.allowDangerousCharacters?0:1,s=e.quote,i;if(r.overloadedBoolean&&(a===r.attribute||a==="")?a=!0:(r.boolean||r.overloadedBoolean)&&(typeof a!="string"||a===r.attribute||a==="")&&(a=!!a),a==null||a===!1||typeof a=="number"&&Number.isNaN(a))return"";let l=Ve(r.attribute,Object.assign({},e.settings.characterReferences,{subset:Ga.name[o][n]}));return a===!0||(a=Array.isArray(a)?(r.commaSeparated?Cn:Sn)(a,{padLeft:!e.settings.tightCommaSeparatedLists}):String(a),e.settings.collapseEmptyAttributes&&!a)?l:(e.settings.preferUnquoted&&(i=Ve(a,Object.assign({},e.settings.characterReferences,{attribute:!0,subset:Ga.unquoted[o][n]}))),i!==a&&(e.settings.quoteSmart&&Rr(a,s)>Rr(a,e.alternative)&&(s=e.alternative),i=s+Ve(a,Object.assign({},e.settings.characterReferences,{subset:(s==="'"?Ga.single:Ga.double)[o][n],attribute:!0}))+s),l+(i&&"="+i))}var Sf=["<","&"];function Va(e,t,a,r){return a&&a.type==="element"&&(a.tagName==="script"||a.tagName==="style")?e.value:Ve(e.value,Object.assign({},r.settings.characterReferences,{subset:Sf}))}function wi(e,t,a,r){return r.settings.allowDangerousHtml?e.value:Va(e,t,a,r)}function xi(e,t,a,r){return r.all(e)}var Li=yn("type",{invalid:yf,unknown:bf,handlers:{comment:di,doctype:ci,element:gi,raw:wi,root:xi,text:Va}});function yf(e){throw new Error("Expected node, not `"+e+"`")}function bf(e){let t=e;throw new Error("Cannot compile unknown node `"+t.type+"`")}var kf={},Tf={},vf=[];function uo(e,t){let a=t||kf,r=a.quote||'"',o=r==='"'?"'":'"';if(r!=='"'&&r!=="'")throw new Error("Invalid quote `"+r+"`, expected `'` or `\"`");return{one:Pf,all:Af,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||bn,characterReferences:a.characterReferences||Tf,closeSelfClosing:a.closeSelfClosing||!1,closeEmptyElements:a.closeEmptyElements||!1},schema:a.space==="svg"?ha:In,quote:r,alternative:o}.one(Array.isArray(e)?{type:"root",children:e}:e,void 0,void 0)}function Pf(e,t,a){return Li(e,t,a,this)}function Af(e){let t=[],a=e&&e.children||vf,r=-1;for(;++r<a.length;)t[r]=this.one(a[r],r,e);return t.join("")}function za(e,t){let a=typeof e=="string"?{}:{...e.colorReplacements},r=typeof e=="string"?e:e.name;for(let[o,n]of Object.entries(t?.colorReplacements||{}))typeof n=="string"?a[o]=n:o===r&&Object.assign(a,n);return a}function Ye(e,t){return e&&(t?.[e?.toLowerCase()]||e)}function Rf(e){return Array.isArray(e)?e:[e]}async function Ti(e){return Promise.resolve(typeof e=="function"?e():e).then(t=>t.default||t)}function go(e){return!e||["plaintext","txt","text","plain"].includes(e)}function vi(e){return e==="ansi"||go(e)}function wo(e){return e==="none"}function Pi(e){return wo(e)}function Ai(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 r of a)r&&!e.properties.class.includes(r)&&e.properties.class.push(r);return e}function Qa(e,t=!1){if(e.length===0)return[["",0]];let a=e.split(/(\r?\n)/g),r=0,o=[];for(let n=0;n<a.length;n+=2){let s=t?a[n]+(a[n+1]||""):a[n];o.push([s,r]),r+=a[n].length,r+=a[n+1]?.length||0}return o}function Mf(e){let t=Qa(e,!0).map(([o])=>o);function a(o){if(o===e.length)return{line:t.length-1,character:t[t.length-1].length};let n=o,s=0;for(let i of t){if(n<i.length)break;n-=i.length,s++}return{line:s,character:n}}function r(o,n){let s=0;for(let i=0;i<o;i++)s+=t[i].length;return s+=n,s}return{lines:t,indexToPos:a,posToIndex:r}}function Ri(e,t,a){let r=new Set;for(let n of e.matchAll(/:?lang=["']([^"']+)["']/g)){let s=n[1].toLowerCase().trim();s&&r.add(s)}for(let n of e.matchAll(/(?:```|~~~)([\w-]+)/g)){let s=n[1].toLowerCase().trim();s&&r.add(s)}for(let n of e.matchAll(/\\begin\{([\w-]+)\}/g)){let s=n[1].toLowerCase().trim();s&&r.add(s)}for(let n of e.matchAll(/<script\s+(?:type|lang)=["']([^"']+)["']/gi)){let s=n[1].toLowerCase().trim(),i=s.includes("/")?s.split("/").pop():s;i&&r.add(i)}if(!a)return Array.from(r);let o=a.getBundledLanguages();return Array.from(r).filter(n=>n&&o[n])}var xo="light-dark()",Ff=["color","background-color"];function Bf(e,t){let a=0,r=[];for(let o of t)o>a&&r.push({...e,content:e.content.slice(a,o),offset:e.offset+a}),a=o;return a<e.content.length&&r.push({...e,content:e.content.slice(a),offset:e.offset+a}),r}function Df(e,t){let a=Array.from(t instanceof Set?t:new Set(t)).sort((r,o)=>r-o);return a.length?e.map(r=>r.flatMap(o=>{let n=a.filter(s=>o.offset<s&&s<o.offset+o.content.length).map(s=>s-o.offset).sort((s,i)=>s-i);return n.length?Bf(o,n):o})):e}function Ef(e,t,a,r,o="css-vars"){let n={content:e.content,explanation:e.explanation,offset:e.offset},s=t.map(c=>ja(e.variants[c])),i=new Set(s.flatMap(c=>Object.keys(c))),l={},u=(c,d)=>{let p=d==="color"?"":d==="background-color"?"-bg":`-${d}`;return a+t[c]+(d==="color"?"":p)};return s.forEach((c,d)=>{for(let p of i){let f=c[p]||"inherit";if(d===0&&r&&Ff.includes(p))if(r===xo&&s.length>1){let m=t.findIndex(g=>g==="light"),I=t.findIndex(g=>g==="dark");if(m===-1||I===-1)throw new ae('When using `defaultColor: "light-dark()"`, you must provide both `light` and `dark` themes');let L=s[m][p]||"inherit",w=s[I][p]||"inherit";l[p]=`light-dark(${L}, ${w})`,o==="css-vars"&&(l[u(d,p)]=f)}else l[p]=f;else o==="css-vars"&&(l[u(d,p)]=f)}}),n.htmlStyle=l,n}function ja(e){let t={};if(e.color&&(t.color=e.color),e.bgColor&&(t["background-color"]=e.bgColor),e.fontStyle){e.fontStyle&Ie.Italic&&(t["font-style"]="italic"),e.fontStyle&Ie.Bold&&(t["font-weight"]="bold");let a=[];e.fontStyle&Ie.Underline&&a.push("underline"),e.fontStyle&Ie.Strikethrough&&a.push("line-through"),a.length&&(t["text-decoration"]=a.join(" "))}return t}function po(e){return typeof e=="string"?e:Object.entries(e).map(([t,a])=>`${t}:${a}`).join(";")}var Mi=new WeakMap;function Ja(e,t){Mi.set(e,t)}function aa(e){return Mi.get(e)}var bt=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(Rf(a).map(r=>[r,Ua])),t)}constructor(...t){if(t.length===2){let[a,r]=t;this.lang=r,this._stacks=a}else{let[a,r,o]=t;this.lang=r,this._stacks={[o]:a}}}getInternalStack(t=this.theme){return this._stacks[t]}getScopes(t=this.theme){return _f(this._stacks[t])}toJSON(){return{lang:this.lang,theme:this.theme,themes:this.themes,scopes:this.getScopes()}}};function _f(e){let t=[],a=new Set;function r(o){if(a.has(o))return;a.add(o);let n=o?.nameScopesList?.scopeName;n&&t.push(n),o.parent&&r(o.parent)}return r(e),t}function Nf(e,t){if(!(e instanceof bt))throw new ae("Invalid grammar state");return e.getInternalStack(t)}function Of(){let e=new WeakMap;function t(a){if(!e.has(a.meta)){let r=function(s){if(typeof s=="number"){if(s<0||s>a.source.length)throw new ae(`Invalid decoration offset: ${s}. Code length: ${a.source.length}`);return{...o.indexToPos(s),offset:s}}else{let i=o.lines[s.line];if(i===void 0)throw new ae(`Invalid decoration position ${JSON.stringify(s)}. Lines length: ${o.lines.length}`);let l=s.character;if(l<0&&(l=i.length+l),l<0||l>i.length)throw new ae(`Invalid decoration position ${JSON.stringify(s)}. Line ${s.line} length: ${i.length}`);return{...s,character:l,offset:o.posToIndex(s.line,l)}}},o=Mf(a.source),n=(a.options.decorations||[]).map(s=>({...s,start:r(s.start),end:r(s.end)}));Uf(n),e.set(a.meta,{decorations:n,converter:o,source:a.source})}return e.get(a.meta)}return{name:"shiki:decorations",tokens(a){if(!this.options.decorations?.length)return;let o=t(this).decorations.flatMap(s=>[s.start.offset,s.end.offset]);return Df(a,o)},code(a){if(!this.options.decorations?.length)return;let r=t(this),o=Array.from(a.children).filter(c=>c.type==="element"&&c.tagName==="span");if(o.length!==r.converter.lines.length)throw new ae(`Number of lines in code element (${o.length}) does not match the number of lines in the source (${r.converter.lines.length}). Failed to apply decorations.`);function n(c,d,p,f){let m=o[c],I="",L=-1,w=-1;if(d===0&&(L=0),p===0&&(w=0),p===Number.POSITIVE_INFINITY&&(w=m.children.length),L===-1||w===-1)for(let h=0;h<m.children.length;h++)I+=Fi(m.children[h]),L===-1&&I.length===d&&(L=h+1),w===-1&&I.length===p&&(w=h+1);if(L===-1)throw new ae(`Failed to find start index for decoration ${JSON.stringify(f.start)}`);if(w===-1)throw new ae(`Failed to find end index for decoration ${JSON.stringify(f.end)}`);let g=m.children.slice(L,w);if(!f.alwaysWrap&&g.length===m.children.length)i(m,f,"line");else if(!f.alwaysWrap&&g.length===1&&g[0].type==="element")i(g[0],f,"token");else{let h={type:"element",tagName:"span",properties:{},children:g};i(h,f,"wrapper"),m.children.splice(L,g.length,h)}}function s(c,d){o[c]=i(o[c],d,"line")}function i(c,d,p){let f=d.properties||{},m=d.transform||(I=>I);return c.tagName=d.tagName||"span",c.properties={...c.properties,...f,class:c.properties.class},d.properties?.class&&Ai(c,d.properties.class),c=m(c,p)||c,c}let l=[],u=r.decorations.sort((c,d)=>d.start.offset-c.start.offset||c.end.offset-d.end.offset);for(let c of u){let{start:d,end:p}=c;if(d.line===p.line)n(d.line,d.character,p.character,c);else if(d.line<p.line){n(d.line,d.character,Number.POSITIVE_INFINITY,c);for(let f=d.line+1;f<p.line;f++)l.unshift(()=>s(f,c));n(p.line,0,p.character,c)}}l.forEach(c=>c())}}}function Uf(e){for(let t=0;t<e.length;t++){let a=e[t];if(a.start.offset>a.end.offset)throw new ae(`Invalid decoration range: ${JSON.stringify(a.start)} - ${JSON.stringify(a.end)}`);for(let r=t+1;r<e.length;r++){let o=e[r],n=a.start.offset<=o.start.offset&&o.start.offset<a.end.offset,s=a.start.offset<o.end.offset&&o.end.offset<=a.end.offset,i=o.start.offset<=a.start.offset&&a.start.offset<o.end.offset,l=o.start.offset<a.end.offset&&a.end.offset<=o.end.offset;if(n||s||i||l){if(n&&s||i&&l||i&&a.start.offset===a.end.offset||s&&o.start.offset===o.end.offset)continue;throw new ae(`Decorations ${JSON.stringify(a.start)} and ${JSON.stringify(o.start)} intersect.`)}}}}function Fi(e){return e.type==="text"?e.value:e.type==="element"?e.children.map(Fi).join(""):""}var Hf=[Of()];function $a(e){let t=qf(e.transformers||[]);return[...t.pre,...t.normal,...t.post,...Hf]}function qf(e){let t=[],a=[],r=[];for(let o of e)switch(o.enforce){case"pre":t.push(o);break;case"post":a.push(o);break;default:r.push(o)}return{pre:t,post:a,normal:r}}var dt=["black","red","green","yellow","blue","magenta","cyan","white","brightBlack","brightRed","brightGreen","brightYellow","brightBlue","brightMagenta","brightCyan","brightWhite"],co={1:"bold",2:"dim",3:"italic",4:"underline",7:"reverse",8:"hidden",9:"strikethrough"};function Wf(e,t){let a=e.indexOf("\x1B",t);if(a!==-1&&e[a+1]==="["){let r=e.indexOf("m",a);if(r!==-1)return{sequence:e.substring(a+2,r).split(";"),startPosition:a,position:r+1}}return{position:e.length}}function Ii(e){let t=e.shift();if(t==="2"){let a=e.splice(0,3).map(r=>Number.parseInt(r));return a.length!==3||a.some(r=>Number.isNaN(r))?void 0:{type:"rgb",rgb:a}}else if(t==="5"){let a=e.shift();if(a)return{type:"table",index:Number(a)}}}function Gf(e){let t=[];for(;e.length>0;){let a=e.shift();if(!a)continue;let r=Number.parseInt(a);if(!Number.isNaN(r))if(r===0)t.push({type:"resetAll"});else if(r<=9)co[r]&&t.push({type:"setDecoration",value:co[r]});else if(r<=29){let o=co[r-20];o&&(t.push({type:"resetDecoration",value:o}),o==="dim"&&t.push({type:"resetDecoration",value:"bold"}))}else if(r<=37)t.push({type:"setForegroundColor",value:{type:"named",name:dt[r-30]}});else if(r===38){let o=Ii(e);o&&t.push({type:"setForegroundColor",value:o})}else if(r===39)t.push({type:"resetForegroundColor"});else if(r<=47)t.push({type:"setBackgroundColor",value:{type:"named",name:dt[r-40]}});else if(r===48){let o=Ii(e);o&&t.push({type:"setBackgroundColor",value:o})}else r===49?t.push({type:"resetBackgroundColor"}):r===53?t.push({type:"setDecoration",value:"overline"}):r===55?t.push({type:"resetDecoration",value:"overline"}):r>=90&&r<=97?t.push({type:"setForegroundColor",value:{type:"named",name:dt[r-90+8]}}):r>=100&&r<=107&&t.push({type:"setBackgroundColor",value:{type:"named",name:dt[r-100+8]}})}return t}function Vf(){let e=null,t=null,a=new Set;return{parse(r){let o=[],n=0;do{let s=Wf(r,n),i=s.sequence?r.substring(n,s.startPosition):r.substring(n);if(i.length>0&&o.push({value:i,foreground:e,background:t,decorations:new Set(a)}),s.sequence){let l=Gf(s.sequence);for(let u of l)u.type==="resetAll"?(e=null,t=null,a.clear()):u.type==="resetForegroundColor"?e=null:u.type==="resetBackgroundColor"?t=null:u.type==="resetDecoration"&&a.delete(u.value);for(let u of l)u.type==="setForegroundColor"?e=u.value:u.type==="setBackgroundColor"?t=u.value:u.type==="setDecoration"&&a.add(u.value)}n=s.position}while(n<r.length);return o}}}var zf={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 jf(e=zf){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 r;function o(){if(r)return r;r=[];for(let u=0;u<dt.length;u++)r.push(t(dt[u]));let i=[0,95,135,175,215,255];for(let u=0;u<6;u++)for(let c=0;c<6;c++)for(let d=0;d<6;d++)r.push(a([i[u],i[c],i[d]]));let l=8;for(let u=0;u<24;u++,l+=10)r.push(a([l,l,l]));return r}function n(i){return o()[i]}function s(i){switch(i.type){case"named":return t(i.name);case"rgb":return a(i.rgb);case"table":return n(i.index)}}return{value:s}}var $f={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 Xf(e,t,a){let r=za(e,a),o=Qa(t),n=Object.fromEntries(dt.map(l=>{let u=`terminal.ansi${l[0].toUpperCase()}${l.substring(1)}`,c=e.colors?.[u];return[l,c||$f[l]]})),s=jf(n),i=Vf();return o.map(l=>i.parse(l[0]).map(u=>{let c,d;u.decorations.has("reverse")?(c=u.background?s.value(u.background):e.bg,d=u.foreground?s.value(u.foreground):e.fg):(c=u.foreground?s.value(u.foreground):e.fg,d=u.background?s.value(u.background):void 0),c=Ye(c,r),d=Ye(d,r),u.decorations.has("dim")&&(c=Kf(c));let p=Ie.None;return u.decorations.has("bold")&&(p|=Ie.Bold),u.decorations.has("italic")&&(p|=Ie.Italic),u.decorations.has("underline")&&(p|=Ie.Underline),u.decorations.has("strikethrough")&&(p|=Ie.Strikethrough),{content:u.value,offset:l[1],color:c,bgColor:d,fontStyle:p}}))}function Kf(e){let t=e.match(/#([0-9a-f]{3,8})/i);if(t){let r=t[1];if(r.length===8){let o=Math.round(Number.parseInt(r.slice(6,8),16)/2).toString(16).padStart(2,"0");return`#${r.slice(0,6)}${o}`}else{if(r.length===6)return`#${r}80`;if(r.length===4){let o=r[0],n=r[1],s=r[2],i=r[3],l=Math.round(Number.parseInt(`${i}${i}`,16)/2).toString(16).padStart(2,"0");return`#${o}${o}${n}${n}${s}${s}${l}`}else if(r.length===3){let o=r[0],n=r[1],s=r[2];return`#${o}${o}${n}${n}${s}${s}80`}}}let a=e.match(/var\((--[\w-]+-ansi-[\w-]+)\)/);return a?`var(${a[1]}-dim)`:e}function Lo(e,t,a={}){let{theme:r=e.getLoadedThemes()[0]}=a,o=e.resolveLangAlias(a.lang||"text");if(go(o)||wo(r))return Qa(t).map(l=>[{content:l[0],offset:l[1]}]);let{theme:n,colorMap:s}=e.setTheme(r);if(o==="ansi")return Xf(n,t,a);let i=e.getLanguage(a.lang||"text");if(a.grammarState){if(a.grammarState.lang!==i.name)throw new ae(`Grammar state language "${a.grammarState.lang}" does not match highlight language "${i.name}"`);if(!a.grammarState.themes.includes(n.name))throw new ae(`Grammar state themes "${a.grammarState.themes}" do not contain highlight theme "${n.name}"`)}return Jf(t,i,n,s,a)}function Qf(...e){if(e.length===2)return aa(e[1]);let[t,a,r={}]=e,{lang:o="text",theme:n=t.getLoadedThemes()[0]}=r;if(go(o)||wo(n))throw new ae("Plain language does not have grammar state");if(o==="ansi")throw new ae("ANSI language does not have grammar state");let{theme:s,colorMap:i}=t.setTheme(n),l=t.getLanguage(o);return new bt(Io(a,l,s,i,r).stateStack,l.name,s.name)}function Jf(e,t,a,r,o){let n=Io(e,t,a,r,o),s=new bt(n.stateStack,t.name,a.name);return Ja(n.tokens,s),n.tokens}function Io(e,t,a,r,o){let n=za(a,o),{tokenizeMaxLineLength:s=0,tokenizeTimeLimit:i=500}=o,l=Qa(e),u=o.grammarState?Nf(o.grammarState,a.name)??Ua:o.grammarContextCode!=null?Io(o.grammarContextCode,t,a,r,{...o,grammarState:void 0,grammarContextCode:void 0}).stateStack:Ua,c=[],d=[];for(let p=0,f=l.length;p<f;p++){let[m,I]=l[p];if(m===""){c=[],d.push([]);continue}if(s>0&&m.length>=s){c=[],d.push([{content:m,offset:I,color:"",fontStyle:0}]);continue}let L,w,g;o.includeExplanation&&(L=t.tokenizeLine(m,u,i),w=L.tokens,g=0);let h=t.tokenizeLine2(m,u,i),x=h.tokens.length/2;for(let y=0;y<x;y++){let T=h.tokens[2*y],v=y+1<x?h.tokens[2*y+2]:m.length;if(T===v)continue;let A=h.tokens[2*y+1],R=Ye(r[ut.getForeground(A)],n),P=ut.getFontStyle(A),F={content:m.substring(T,v),offset:I+T,color:R,fontStyle:P};if(o.includeExplanation){let b=[];if(o.includeExplanation!=="scopeName")for(let H of a.settings){let S;switch(typeof H.scope){case"string":S=H.scope.split(/,/).map(E=>E.trim());break;case"object":S=H.scope;break;default:continue}b.push({settings:H,selectors:S.map(E=>E.split(/ /))})}F.explanation=[];let z=0;for(;T+z<v;){let H=w[g],S=m.substring(H.startIndex,H.endIndex);z+=S.length,F.explanation.push({content:S,scopes:o.includeExplanation==="scopeName"?Yf(H.scopes):Zf(b,H.scopes)}),g+=1}}c.push(F)}d.push(c),c=[],u=h.ruleStack}return{tokens:d,stateStack:u}}function Yf(e){return e.map(t=>({scopeName:t}))}function Zf(e,t){let a=[];for(let r=0,o=t.length;r<o;r++){let n=t[r];a[r]={scopeName:n,themeMatches:tp(e,n,t.slice(0,r))}}return a}function Ci(e,t){return e===t||t.substring(0,e.length)===e&&t[e.length]==="."}function ep(e,t,a){if(!Ci(e[e.length-1],t))return!1;let r=e.length-2,o=a.length-1;for(;r>=0&&o>=0;)Ci(e[r],a[o])&&(r-=1),o-=1;return r===-1}function tp(e,t,a){let r=[];for(let{selectors:o,settings:n}of e)for(let s of o)if(ep(s,t,a)){r.push(n);break}return r}function Bi(e,t,a){let r=Object.entries(a.themes).filter(l=>l[1]).map(l=>({color:l[0],theme:l[1]})),o=r.map(l=>{let u=Lo(e,t,{...a,theme:l.theme}),c=aa(u),d=typeof l.theme=="string"?l.theme:l.theme.name;return{tokens:u,state:c,theme:d}}),n=ap(...o.map(l=>l.tokens)),s=n[0].map((l,u)=>l.map((c,d)=>{let p={content:c.content,variants:{},offset:c.offset};return"includeExplanation"in a&&a.includeExplanation&&(p.explanation=c.explanation),n.forEach((f,m)=>{let{content:I,explanation:L,offset:w,...g}=f[u][d];p.variants[r[m].color]=g}),p})),i=o[0].state?new bt(Object.fromEntries(o.map(l=>[l.theme,l.state?.getInternalStack(l.theme)])),o[0].state.lang):void 0;return i&&Ja(s,i),s}function ap(...e){let t=e.map(()=>[]),a=e.length;for(let r=0;r<e[0].length;r++){let o=e.map(l=>l[r]),n=t.map(()=>[]);t.forEach((l,u)=>l.push(n[u]));let s=o.map(()=>0),i=o.map(l=>l[0]);for(;i.every(l=>l);){let l=Math.min(...i.map(u=>u.content.length));for(let u=0;u<a;u++){let c=i[u];c.content.length===l?(n[u].push(c),s[u]+=1,i[u]=o[u][s[u]]):(n[u].push({...c,content:c.content.slice(0,l)}),i[u]={...c,content:c.content.slice(l),offset:c.offset+l})}}}return t}function Xa(e,t,a){let r,o,n,s,i,l;if("themes"in a){let{defaultColor:u="light",cssVariablePrefix:c="--shiki-",colorsRendering:d="css-vars"}=a,p=Object.entries(a.themes).filter(w=>w[1]).map(w=>({color:w[0],theme:w[1]})).sort((w,g)=>w.color===u?-1:g.color===u?1:0);if(p.length===0)throw new ae("`themes` option must not be empty");let f=Bi(e,t,a);if(l=aa(f),u&&xo!==u&&!p.find(w=>w.color===u))throw new ae(`\`themes\` option must contain the defaultColor key \`${u}\``);let m=p.map(w=>e.getTheme(w.theme)),I=p.map(w=>w.color);n=f.map(w=>w.map(g=>Ef(g,I,c,u,d))),l&&Ja(n,l);let L=p.map(w=>za(w.theme,a));o=Si(p,m,L,c,u,"fg",d),r=Si(p,m,L,c,u,"bg",d),s=`shiki-themes ${m.map(w=>w.name).join(" ")}`,i=u?void 0:[o,r].join(";")}else if("theme"in a){let u=za(a.theme,a);n=Lo(e,t,a);let c=e.getTheme(a.theme);r=Ye(c.bg,u),o=Ye(c.fg,u),s=c.name,l=aa(n)}else throw new ae("Invalid options, either `theme` or `themes` must be provided");return{tokens:n,fg:o,bg:r,themeName:s,rootStyle:i,grammarState:l}}function Si(e,t,a,r,o,n,s){return e.map((i,l)=>{let u=Ye(t[l][n],a[l])||"inherit",c=`${r+i.color}${n==="bg"?"-bg":""}:${u}`;if(l===0&&o){if(o===xo&&e.length>1){let d=e.findIndex(I=>I.color==="light"),p=e.findIndex(I=>I.color==="dark");if(d===-1||p===-1)throw new ae('When using `defaultColor: "light-dark()"`, you must provide both `light` and `dark` themes');let f=Ye(t[d][n],a[d])||"inherit",m=Ye(t[p][n],a[p])||"inherit";return`light-dark(${f}, ${m});${c}`}return u}return s==="css-vars"?c:null}).filter(i=>!!i).join(";")}function Ka(e,t,a,r={meta:{},options:a,codeToHast:(o,n)=>Ka(e,o,n),codeToTokens:(o,n)=>Xa(e,o,n)}){let o=t;for(let m of $a(a))o=m.preprocess?.call(r,o,a)||o;let{tokens:n,fg:s,bg:i,themeName:l,rootStyle:u,grammarState:c}=Xa(e,o,a),{mergeWhitespaces:d=!0,mergeSameStyleTokens:p=!1}=a;d===!0?n=op(n):d==="never"&&(n=np(n)),p&&(n=sp(n));let f={...r,get source(){return o}};for(let m of $a(a))n=m.tokens?.call(f,n)||n;return rp(n,{...a,fg:s,bg:i,themeName:l,rootStyle:a.rootStyle===!1?!1:a.rootStyle??u},f,c)}function rp(e,t,a,r=aa(e)){let o=$a(t),n=[],s={type:"root",children:[]},{structure:i="classic",tabindex:l="0"}=t,u={class:`shiki ${t.themeName||""}`};t.rootStyle!==!1&&(t.rootStyle!=null?u.style=t.rootStyle:u.style=`background-color:${t.bg};color:${t.fg}`),l!==!1&&l!=null&&(u.tabindex=l.toString());for(let[I,L]of Object.entries(t.meta||{}))I.startsWith("_")||(u[I]=L);let c={type:"element",tagName:"pre",properties:u,children:[],data:t.data},d={type:"element",tagName:"code",properties:{},children:n},p=[],f={...a,structure:i,addClassToHast:Ai,get source(){return a.source},get tokens(){return e},get options(){return t},get root(){return s},get pre(){return c},get code(){return d},get lines(){return p}};if(e.forEach((I,L)=>{L&&(i==="inline"?s.children.push({type:"element",tagName:"br",properties:{},children:[]}):i==="classic"&&n.push({type:"text",value:`
13
- `}));let w={type:"element",tagName:"span",properties:{class:"line"},children:[]},g=0;for(let h of I){let x={type:"element",tagName:"span",properties:{...h.htmlAttrs},children:[{type:"text",value:h.content}]},y=po(h.htmlStyle||ja(h));y&&(x.properties.style=y);for(let T of o)x=T?.span?.call(f,x,L+1,g,w,h)||x;i==="inline"?s.children.push(x):i==="classic"&&w.children.push(x),g+=h.content.length}if(i==="classic"){for(let h of o)w=h?.line?.call(f,w,L+1)||w;p.push(w),n.push(w)}else i==="inline"&&p.push(w)}),i==="classic"){for(let I of o)d=I?.code?.call(f,d)||d;c.children.push(d);for(let I of o)c=I?.pre?.call(f,c)||c;s.children.push(c)}else if(i==="inline"){let I=[],L={type:"element",tagName:"span",properties:{class:"line"},children:[]};for(let h of s.children)h.type==="element"&&h.tagName==="br"?(I.push(L),L={type:"element",tagName:"span",properties:{class:"line"},children:[]}):(h.type==="element"||h.type==="text")&&L.children.push(h);I.push(L);let g={type:"element",tagName:"code",properties:{},children:I};for(let h of o)g=h?.code?.call(f,g)||g;s.children=[];for(let h=0;h<g.children.length;h++){h>0&&s.children.push({type:"element",tagName:"br",properties:{},children:[]});let x=g.children[h];x.type==="element"&&s.children.push(...x.children)}}let m=s;for(let I of o)m=I?.root?.call(f,m)||m;return r&&Ja(m,r),m}function op(e){return e.map(t=>{let a=[],r="",o;return t.forEach((n,s)=>{let l=!(n.fontStyle&&(n.fontStyle&Ie.Underline||n.fontStyle&Ie.Strikethrough));l&&n.content.match(/^\s+$/)&&t[s+1]?(o===void 0&&(o=n.offset),r+=n.content):r?(l?a.push({...n,offset:o,content:r+n.content}):a.push({content:r,offset:o},n),o=void 0,r=""):a.push(n)}),a})}function np(e){return e.map(t=>t.flatMap(a=>{if(a.content.match(/^\s+$/))return a;let r=a.content.match(/^(\s*)(.*?)(\s*)$/);if(!r)return a;let[,o,n,s]=r;if(!o&&!s)return a;let i=[{...a,offset:a.offset+o.length,content:n}];return o&&i.unshift({content:o,offset:a.offset}),s&&i.push({content:s,offset:a.offset+o.length+n.length}),i}))}function sp(e){return e.map(t=>{let a=[];for(let r of t){if(a.length===0){a.push({...r});continue}let o=a[a.length-1],n=po(o.htmlStyle||ja(o)),s=po(r.htmlStyle||ja(r)),i=o.fontStyle&&(o.fontStyle&Ie.Underline||o.fontStyle&Ie.Strikethrough),l=r.fontStyle&&(r.fontStyle&Ie.Underline||r.fontStyle&Ie.Strikethrough);!i&&!l&&n===s?o.content+=r.content:a.push({...r})}return a})}var ip=uo;function lp(e,t,a){let r={meta:{},options:a,codeToHast:(n,s)=>Ka(e,n,s),codeToTokens:(n,s)=>Xa(e,n,s)},o=ip(Ka(e,t,a,r));for(let n of $a(a))o=n.postprocess?.call(r,o,a)||o;return o}var yi={light:"#333333",dark:"#bbbbbb"},bi={light:"#fffffe",dark:"#1e1e1e"},ki="__shiki_resolved";function Co(e){if(e?.[ki])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:r}=t;if(!a||!r){let i=t.settings?t.settings.find(l=>!l.name&&!l.scope):void 0;i?.settings?.foreground&&(r=i.settings.foreground),i?.settings?.background&&(a=i.settings.background),!r&&t?.colors?.["editor.foreground"]&&(r=t.colors["editor.foreground"]),!a&&t?.colors?.["editor.background"]&&(a=t.colors["editor.background"]),r||(r=t.type==="light"?yi.light:yi.dark),a||(a=t.type==="light"?bi.light:bi.dark),t.fg=r,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 o=0,n=new Map;function s(i){if(n.has(i))return n.get(i);o+=1;let l=`#${o.toString(16).padStart(8,"0").toLowerCase()}`;return t.colorReplacements?.[`#${l}`]?s(i):(n.set(i,l),l)}t.settings=t.settings.map(i=>{let l=i.settings?.foreground&&!i.settings.foreground.startsWith("#"),u=i.settings?.background&&!i.settings.background.startsWith("#");if(!l&&!u)return i;let c={...i,settings:{...i.settings}};if(l){let d=s(i.settings.foreground);t.colorReplacements[d]=i.settings.foreground,c.settings.foreground=d}if(u){let d=s(i.settings.background);t.colorReplacements[d]=i.settings.background,c.settings.background=d}return c});for(let i of Object.keys(t.colors||{}))if((i==="editor.foreground"||i==="editor.background"||i.startsWith("terminal.ansi"))&&!t.colors[i]?.startsWith("#")){let l=s(t.colors[i]);t.colorReplacements[l]=t.colors[i],t.colors[i]=l}return Object.defineProperty(t,ki,{enumerable:!1,writable:!1,value:!0}),t}async function Di(e){return Array.from(new Set((await Promise.all(e.filter(t=>!vi(t)).map(async t=>await Ti(t).then(a=>Array.isArray(a)?a:[a])))).flat()))}async function Ei(e){return(await Promise.all(e.map(async a=>Pi(a)?null:Co(await Ti(a))))).filter(a=>!!a)}var fo=3,up=!1;function dp(e,t=3){if(fo&&!(typeof fo=="number"&&t>fo)){if(up)throw new Error(`[SHIKI DEPRECATE]: ${e}`);console.trace(`[SHIKI DEPRECATE]: ${e}`)}}var Je=class extends Error{constructor(t){super(t),this.name="ShikiError"}};function _i(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 Je(`Circular alias \`${Array.from(a).join(" -> ")} -> ${e}\``);a.add(e)}}return e}var mo=class extends ei{constructor(t,a,r,o={}){super(t),this._resolver=t,this._themes=a,this._langs=r,this._alias=o,this._themes.map(n=>this.loadTheme(n)),this.loadLanguages(this._langs)}_resolvedThemes=new Map;_resolvedGrammars=new Map;_langMap=new Map;_langGraph=new Map;_textmateThemeCache=new WeakMap;_loadedThemesCache=null;_loadedLanguagesCache=null;getTheme(t){return typeof t=="string"?this._resolvedThemes.get(t):this.loadTheme(t)}loadTheme(t){let a=Co(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=Kt.createFromRawTheme(t),this._textmateThemeCache.set(t,a)),this._syncRegistry.setTheme(a)}getGrammar(t){return t=_i(t,this._alias),this._resolvedGrammars.get(t)}loadLanguage(t){if(this.getGrammar(t.name))return;let a=new Set([...this._langMap.values()].filter(n=>n.embeddedLangsLazy?.includes(t.name)));this._resolver.addLanguage(t);let r={balancedBracketSelectors:t.balancedBracketSelectors||["*"],unbalancedBracketSelectors:t.unbalancedBracketSelectors||[]};this._syncRegistry._rawGrammars.set(t.scopeName,t);let o=this.loadGrammarWithConfiguration(t.scopeName,1,r);if(o.name=t.name,this._resolvedGrammars.set(t.name,o),t.aliases&&t.aliases.forEach(n=>{this._alias[n]=t.name}),this._loadedLanguagesCache=null,a.size)for(let n of a)this._resolvedGrammars.delete(n.name),this._loadedLanguagesCache=null,this._syncRegistry?._injectionGrammars?.delete(n.scopeName),this._syncRegistry?._grammars?.delete(n.scopeName),this.loadLanguage(this._langMap.get(n.name))}dispose(){super.dispose(),this._resolvedThemes.clear(),this._resolvedGrammars.clear(),this._langMap.clear(),this._langGraph.clear(),this._loadedThemesCache=null}loadLanguages(t){for(let o of t)this.resolveEmbeddedLanguages(o);let a=Array.from(this._langGraph.entries()),r=a.filter(([o,n])=>!n);if(r.length){let o=a.filter(([n,s])=>s?(s.embeddedLanguages||s.embeddedLangs)?.some(l=>r.map(([u])=>u).includes(l)):!1).filter(n=>!r.includes(n));throw new Je(`Missing languages ${r.map(([n])=>`\`${n}\``).join(", ")}, required by ${o.map(([n])=>`\`${n}\``).join(", ")}`)}for(let[o,n]of a)this._resolver.addLanguage(n);for(let[o,n]of a)this.loadLanguage(n)}getLoadedLanguages(){return this._loadedLanguagesCache||(this._loadedLanguagesCache=[...new Set([...this._resolvedGrammars.keys(),...Object.keys(this._alias)])]),this._loadedLanguagesCache}resolveEmbeddedLanguages(t){this._langMap.set(t.name,t),this._langGraph.set(t.name,t);let a=t.embeddedLanguages??t.embeddedLangs;if(a)for(let r of a)this._langGraph.set(r,this._langMap.get(r))}},ho=class{_langs=new Map;_scopeToLang=new Map;_injections=new Map;_onigLib;constructor(t,a){this._onigLib={createOnigScanner:r=>t.createScanner(r),createOnigString:r=>t.createString(r)},a.forEach(r=>this.addLanguage(r))}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("."),r=[];for(let o=1;o<=a.length;o++){let n=a.slice(0,o).join(".");r=[...r,...this._injections.get(n)||[]]}return r}},ta=0;function cp(e){ta+=1,e.warnings!==!1&&ta>=10&&ta%10===0&&console.warn(`[Shiki] ${ta} 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 Je("`engine` option is required for synchronous mode");let a=(e.langs||[]).flat(1),r=(e.themes||[]).flat(1).map(Co),o=new ho(e.engine,a),n=new mo(o,r,a,e.langAlias),s;function i(h){return _i(h,e.langAlias)}function l(h){w();let x=n.getGrammar(typeof h=="string"?h:h.name);if(!x)throw new Je(`Language \`${h}\` not found, you may need to load it first`);return x}function u(h){if(h==="none")return{bg:"",fg:"",name:"none",settings:[],type:"dark"};w();let x=n.getTheme(h);if(!x)throw new Je(`Theme \`${h}\` not found, you may need to load it first`);return x}function c(h){w();let x=u(h);s!==h&&(n.setTheme(x),s=h);let y=n.getColorMap();return{theme:x,colorMap:y}}function d(){return w(),n.getLoadedThemes()}function p(){return w(),n.getLoadedLanguages()}function f(...h){w(),n.loadLanguages(h.flat(1))}async function m(...h){return f(await Di(h))}function I(...h){w();for(let x of h.flat(1))n.loadTheme(x)}async function L(...h){return w(),I(await Ei(h))}function w(){if(t)throw new Je("Shiki instance has been disposed")}function g(){t||(t=!0,n.dispose(),ta-=1)}return{setTheme:c,getTheme:u,getLanguage:l,getLoadedThemes:d,getLoadedLanguages:p,resolveLangAlias:i,loadLanguage:m,loadLanguageSync:f,loadTheme:L,loadThemeSync:I,dispose:g,[Symbol.dispose]:g}}async function fp(e){e.engine||dp("`engine` option is required. Use `createOnigurumaEngine` or `createJavaScriptRegexEngine` to create an engine.");let[t,a,r]=await Promise.all([Ei(e.themes||[]),Di(e.langs||[]),e.engine]);return cp({...e,themes:t,langs:a,engine:r})}async function pp(e){let t=await fp(e);return{getLastGrammarState:(...a)=>Qf(t,...a),codeToTokensBase:(a,r)=>Lo(t,a,r),codeToTokensWithThemes:(a,r)=>Bi(t,a,r),codeToTokens:(a,r)=>Xa(t,a,r),codeToHast:(a,r)=>Ka(t,a,r),codeToHtml:(a,r)=>lp(t,a,r),getBundledLanguages:()=>({}),getBundledThemes:()=>({}),...t,getInternalContext:()=>t}}function Ni(e){let t=e.langs,a=e.themes,r=e.engine;async function o(n){function s(d){if(typeof d=="string"){if(d=n.langAlias?.[d]||d,vi(d))return[];let p=t[d];if(!p)throw new ae(`Language \`${d}\` is not included in this bundle. You may want to load it from external source.`);return p}return d}function i(d){if(Pi(d))return"none";if(typeof d=="string"){let p=a[d];if(!p)throw new ae(`Theme \`${d}\` is not included in this bundle. You may want to load it from external source.`);return p}return d}let l=(n.themes??[]).map(d=>i(d)),u=(n.langs??[]).map(d=>s(d)),c=await pp({engine:n.engine??r(),...n,themes:l,langs:u});return{...c,loadLanguage(...d){return c.loadLanguage(...d.map(s))},loadTheme(...d){return c.loadTheme(...d.map(i))},getBundledLanguages(){return t},getBundledThemes(){return a}}}return o}function mp(e){let t;async function a(r={}){if(t){let o=await t;return await Promise.all([o.loadTheme(...r.themes||[]),o.loadLanguage(...r.langs||[])]),o}else{t=e({...r,themes:[],langs:[]});let o=await t;return await Promise.all([o.loadTheme(...r.themes||[]),o.loadLanguage(...r.langs||[])]),o}}return a}function Oi(e,t){let a=mp(e);async function r(o,n){let s=await a({langs:[n.lang],themes:"theme"in n?[n.theme]:Object.values(n.themes)}),i=await t?.guessEmbeddedLanguages?.(o,n.lang,s);return i&&await s.loadLanguage(...i),s}return{getSingletonHighlighter(o){return a(o)},async codeToHtml(o,n){return(await r(o,n)).codeToHtml(o,n)},async codeToHast(o,n){return(await r(o,n)).codeToHast(o,n)},async codeToTokens(o,n){return(await r(o,n)).codeToTokens(o,n)},async codeToTokensBase(o,n){return(await r(o,n)).codeToTokensBase(o,n)},async codeToTokensWithThemes(o,n){return(await r(o,n)).codeToTokensWithThemes(o,n)},async getLastGrammarState(o,n){return(await a({langs:[n.lang],themes:[n.theme]})).getLastGrammarState(o,n)}}}var So=[{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-DFS2FCNO.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-FBR445XW.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-BMSTTQT4.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-OHP5YUT7.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-LJNKRWP5.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-KUYJX32Q.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-NLMAEKLI.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-7ZVVH3VM.js"))},{id:"hurl",name:"Hurl",import:(()=>import("../hurl-B6WXEN45.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-CPV3A4MM.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-XWCHWP6B.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-U57UBFBS.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-IZHDGBO6.js"))},{id:"php",name:"PHP",import:(()=>import("../php-MNP62HWP.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-6KQSGP2V.js"))},{id:"ruby",name:"Ruby",aliases:["rb"],import:(()=>import("../ruby-OWE2HOOR.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-XNK5N5RZ.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-OEIJ72KK.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-FIH2DYBE.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"))}],Ui=Object.fromEntries(So.map(e=>[e.id,e.import])),Hi=Object.fromEntries(So.flatMap(e=>e.aliases?.map(t=>[t,e.import])||[])),ra={...Ui,...Hi};var hp=[{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"))}],qi=Object.fromEntries(hp.map(e=>[e.id,e.import]));var oa=class extends Error{constructor(t){super(t),this.name="ShikiError"}};function gp(){return 2147483648}function wp(){return typeof performance<"u"?performance.now():Date.now()}var xp=(e,t)=>e+(t-e%t)%t;async function Lp(e){let t,a,r={};function o(f){a=f,r.HEAPU8=new Uint8Array(f),r.HEAPU32=new Uint32Array(f)}function n(f,m,I){r.HEAPU8.copyWithin(f,m,m+I)}function s(f){try{return t.grow(f-a.byteLength+65535>>>16),o(t.buffer),1}catch{}}function i(f){let m=r.HEAPU8.length;f=f>>>0;let I=gp();if(f>I)return!1;for(let L=1;L<=4;L*=2){let w=m*(1+.2/L);w=Math.min(w,f+100663296);let g=Math.min(I,xp(Math.max(f,w),65536));if(s(g))return!0}return!1}let l=typeof TextDecoder<"u"?new TextDecoder("utf8"):void 0;function u(f,m,I=1024){let L=m+I,w=m;for(;f[w]&&!(w>=L);)++w;if(w-m>16&&f.buffer&&l)return l.decode(f.subarray(m,w));let g="";for(;m<w;){let h=f[m++];if(!(h&128)){g+=String.fromCharCode(h);continue}let x=f[m++]&63;if((h&224)===192){g+=String.fromCharCode((h&31)<<6|x);continue}let y=f[m++]&63;if((h&240)===224?h=(h&15)<<12|x<<6|y:h=(h&7)<<18|x<<12|y<<6|f[m++]&63,h<65536)g+=String.fromCharCode(h);else{let T=h-65536;g+=String.fromCharCode(55296|T>>10,56320|T&1023)}}return g}function c(f,m){return f?u(r.HEAPU8,f,m):""}let d={emscripten_get_now:wp,emscripten_memcpy_big:n,emscripten_resize_heap:i,fd_write:()=>0};async function p(){let m=await e({env:d,wasi_snapshot_preview1:d});t=m.memory,o(t.buffer),Object.assign(r,m),r.UTF8ToString=c}return await p(),r}var Ip=Object.defineProperty,Cp=(e,t,a)=>t in e?Ip(e,t,{enumerable:!0,configurable:!0,writable:!0,value:a}):e[t]=a,ce=(e,t,a)=>Cp(e,typeof t!="symbol"?t+"":t,a),ge=null;function Sp(e){throw new oa(e.UTF8ToString(e.getLastOnigError()))}var Za=class e{constructor(t){ce(this,"utf16Length"),ce(this,"utf8Length"),ce(this,"utf16Value"),ce(this,"utf8Value"),ce(this,"utf16OffsetToUtf8"),ce(this,"utf8OffsetToUtf16");let a=t.length,r=e._utf8ByteLength(t),o=r!==a,n=o?new Uint32Array(a+1):null;o&&(n[a]=r);let s=o?new Uint32Array(r+1):null;o&&(s[r]=a);let i=new Uint8Array(r),l=0;for(let u=0;u<a;u++){let c=t.charCodeAt(u),d=c,p=!1;if(c>=55296&&c<=56319&&u+1<a){let f=t.charCodeAt(u+1);f>=56320&&f<=57343&&(d=(c-55296<<10)+65536|f-56320,p=!0)}o&&(n[u]=l,p&&(n[u+1]=l),d<=127?s[l+0]=u:d<=2047?(s[l+0]=u,s[l+1]=u):d<=65535?(s[l+0]=u,s[l+1]=u,s[l+2]=u):(s[l+0]=u,s[l+1]=u,s[l+2]=u,s[l+3]=u)),d<=127?i[l++]=d:d<=2047?(i[l++]=192|(d&1984)>>>6,i[l++]=128|(d&63)>>>0):d<=65535?(i[l++]=224|(d&61440)>>>12,i[l++]=128|(d&4032)>>>6,i[l++]=128|(d&63)>>>0):(i[l++]=240|(d&1835008)>>>18,i[l++]=128|(d&258048)>>>12,i[l++]=128|(d&4032)>>>6,i[l++]=128|(d&63)>>>0),p&&u++}this.utf16Length=a,this.utf8Length=r,this.utf16Value=t,this.utf8Value=i,this.utf16OffsetToUtf8=n,this.utf8OffsetToUtf16=s}static _utf8ByteLength(t){let a=0;for(let r=0,o=t.length;r<o;r++){let n=t.charCodeAt(r),s=n,i=!1;if(n>=55296&&n<=56319&&r+1<o){let l=t.charCodeAt(r+1);l>=56320&&l<=57343&&(s=(n-55296<<10)+65536|l-56320,i=!0)}s<=127?a+=1:s<=2047?a+=2:s<=65535?a+=3:a+=4,i&&r++}return a}createString(t){let a=t.omalloc(this.utf8Length);return t.HEAPU8.set(this.utf8Value,a),a}},er=class qe{constructor(t){if(ce(this,"id",++qe.LAST_ID),ce(this,"_onigBinding"),ce(this,"content"),ce(this,"utf16Length"),ce(this,"utf8Length"),ce(this,"utf16OffsetToUtf8"),ce(this,"utf8OffsetToUtf16"),ce(this,"ptr"),!ge)throw new oa("Must invoke loadWasm first.");this._onigBinding=ge,this.content=t;let a=new Za(t);this.utf16Length=a.utf16Length,this.utf8Length=a.utf8Length,this.utf16OffsetToUtf8=a.utf16OffsetToUtf8,this.utf8OffsetToUtf16=a.utf8OffsetToUtf16,this.utf8Length<1e4&&!qe._sharedPtrInUse?(qe._sharedPtr||(qe._sharedPtr=ge.omalloc(1e4)),qe._sharedPtrInUse=!0,ge.HEAPU8.set(a.utf8Value,qe._sharedPtr),this.ptr=qe._sharedPtr):this.ptr=a.createString(ge)}convertUtf8OffsetToUtf16(t){return this.utf8OffsetToUtf16?t<0?0:t>this.utf8Length?this.utf16Length:this.utf8OffsetToUtf16[t]:t}convertUtf16OffsetToUtf8(t){return this.utf16OffsetToUtf8?t<0?0:t>this.utf16Length?this.utf8Length:this.utf16OffsetToUtf8[t]:t}dispose(){this.ptr===qe._sharedPtr?qe._sharedPtrInUse=!1:this._onigBinding.ofree(this.ptr)}};ce(er,"LAST_ID",0);ce(er,"_sharedPtr",0);ce(er,"_sharedPtrInUse",!1);var Wi=er,bo=class{constructor(t){if(ce(this,"_onigBinding"),ce(this,"_ptr"),!ge)throw new oa("Must invoke loadWasm first.");let a=[],r=[];for(let i=0,l=t.length;i<l;i++){let u=new Za(t[i]);a[i]=u.createString(ge),r[i]=u.utf8Length}let o=ge.omalloc(4*t.length);ge.HEAPU32.set(a,o/4);let n=ge.omalloc(4*t.length);ge.HEAPU32.set(r,n/4);let s=ge.createOnigScanner(o,n,t.length);for(let i=0,l=t.length;i<l;i++)ge.ofree(a[i]);ge.ofree(n),ge.ofree(o),s===0&&Sp(ge),this._onigBinding=ge,this._ptr=s}dispose(){this._onigBinding.freeOnigScanner(this._ptr)}findNextMatchSync(t,a,r){let o=0;if(typeof r=="number"&&(o=r),typeof t=="string"){t=new Wi(t);let n=this._findNextMatchSync(t,a,!1,o);return t.dispose(),n}return this._findNextMatchSync(t,a,!1,o)}_findNextMatchSync(t,a,r,o){let n=this._onigBinding,s=n.findNextOnigScannerMatch(this._ptr,t.id,t.ptr,t.utf8Length,t.convertUtf16OffsetToUtf8(a),o);if(s===0)return null;let i=n.HEAPU32,l=s/4,u=i[l++],c=i[l++],d=[];for(let p=0;p<c;p++){let f=t.convertUtf8OffsetToUtf16(i[l++]),m=t.convertUtf8OffsetToUtf16(i[l++]);d[p]={start:f,end:m,length:m-f}}return{index:u,captureIndices:d}}};function yp(e){return typeof e.instantiator=="function"}function bp(e){return typeof e.default=="function"}function kp(e){return typeof e.data<"u"}function Tp(e){return typeof Response<"u"&&e instanceof Response}function vp(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 Ya;function Pp(e){if(Ya)return Ya;async function t(){ge=await Lp(async a=>{let r=e;return r=await r,typeof r=="function"&&(r=await r(a)),typeof r=="function"&&(r=await r(a)),yp(r)?r=await r.instantiator(a):bp(r)?r=await r.default(a):(kp(r)&&(r=r.data),Tp(r)?typeof WebAssembly.instantiateStreaming=="function"?r=await Ap(r)(a):r=await Rp(r)(a):vp(r)?r=await yo(r)(a):r instanceof WebAssembly.Module?r=await yo(r)(a):"default"in r&&r.default instanceof WebAssembly.Module&&(r=await yo(r.default)(a))),"instance"in r&&(r=r.instance),"exports"in r&&(r=r.exports),r})}return Ya=t(),Ya}function yo(e){return t=>WebAssembly.instantiate(e,t)}function Ap(e){return t=>WebAssembly.instantiateStreaming(e,t)}function Rp(e){return async t=>{let a=await e.arrayBuffer();return WebAssembly.instantiate(a,t)}}async function Gi(e){return e&&await Pp(e),{createScanner(t){return new bo(t.map(a=>typeof a=="string"?a:a.source))},createString(t){return new Wi(t)}}}var tr=Ni({langs:ra,themes:qi,engine:()=>Gi(import("../wasm-EOPKAILK.js"))}),{codeToHtml:Mp,codeToHast:Fp,codeToTokens:Bp,codeToTokensBase:Dp,codeToTokensWithThemes:Ep,getSingletonHighlighter:_p,getLastGrammarState:Np}=Oi(tr,{guessEmbeddedLanguages:Ri});var Vi=new Set(Object.keys(ra)),ko=new Map,To=new Map,kt=new Map,Op=(e,t)=>`${e}-${t[0]}-${t[1]}`,Up=(e,t,a)=>{let r=e.slice(0,100),o=e.length>100?e.slice(-100):"";return`${t}:${a[0]}:${a[1]}:${e.length}:${r}:${o}`},Hp=(e,t)=>{let a=Op(e,t);if(ko.has(a))return ko.get(a);let r=tr({themes:t,langs:[e]});return ko.set(a,r),r};function qp(e={}){var t;let a=(t=e.themes)!=null?t:["github-light","github-dark"];return{name:"shiki",type:"code-highlighter",supportsLanguage(r){return Vi.has(r)},getSupportedLanguages(){return Array.from(Vi)},getThemes(){return a},highlight({code:r,language:o,themes:n},s){let i=Up(r,o,n);return To.has(i)?To.get(i):(s&&(kt.has(i)||kt.set(i,new Set),kt.get(i).add(s)),Hp(o,n).then(l=>{let u=l.getLoadedLanguages().includes(o)?o:"text",c=l.codeToTokens(r,{lang:u,themes:{light:n[0],dark:n[1]}});To.set(i,c);let d=kt.get(i);if(d){for(let p of d)p(c);kt.delete(i)}}).catch(l=>{console.error("[Streamdown Code] Failed to highlight code:",l),kt.delete(i)}),null)}}}var zi=qp();import{memo as zp}from"react";import{useEffect as Wp,useRef as ar,useState as Gp}from"react";var Vp=5,ji=400;function $i(e,t,a={}){let{msPerChar:r=Vp}=a,[o,n]=Gp(t?"":e),s=ar(e),i=ar(t?0:e.length),l=ar(0),u=ar(null);return(e.length<i.current||!e.startsWith(o.slice(0,i.current)))&&(i.current=t?0:e.length),s.current=e,Wp(()=>{if(!t){u.current!==null&&(cancelAnimationFrame(u.current),u.current=null),i.current=e.length,n(e);return}if(s.current.length-i.current>ji&&(i.current=s.current.length-ji),u.current!==null)return;let d=p=>{let f=s.current;if(i.current>=f.length){u.current=null;return}l.current===0&&(l.current=p);let m=p-l.current;if(m>=r){let I=Math.min(Math.floor(m/r),f.length-i.current);i.current+=I,n(f.slice(0,i.current)),l.current=p}u.current=requestAnimationFrame(d)};return u.current=requestAnimationFrame(d),()=>{u.current!==null&&(cancelAnimationFrame(u.current),u.current=null)}},[e,t,r]),o}import{jsx as rr}from"react/jsx-runtime";var vo=({className:e,from:t,children:a,...r})=>rr("div",{className:k("ww-message ww:group ww:flex ww:w-full",t==="user"?"ww-message-user is-user ww:ml-auto ww:flex-col ww:items-end ww:[max-width:var(--ww-msg-max-width,80%)]":"ww-message-assistant is-assistant ww:flex-col",e),...r,children:rr("div",{className:k("ww:flex ww:min-w-0 ww:flex-col ww:gap-2","ww:w-full"),children:a})}),Po=({children:e,className:t,...a})=>rr("div",{className:k("ww-bubble ww:flex ww:w-fit ww:min-w-0 ww:max-w-full ww:flex-col ww:gap-2 ww:overflow-hidden","ww:[font-size:var(--ww-font-size,1rem)] ww:[line-height:var(--ww-line-height,1.5)]","ww:group-[.is-user]:ml-auto ww:group-[.is-user]:bg-user-bubble ww:group-[.is-user]:[color:var(--ww-color-user-bubble-text)] ww:group-[.is-user]:[border-radius:var(--ww-msg-radius,8px)] ww:group-[.is-user]:[padding:var(--ww-msg-pad-y,12px)_var(--ww-msg-pad-x,16px)]","ww:group-[.is-assistant]:text-foreground",t),...a,children:e}),jp={cjk:Kr,code:zi},$p={cjk:Kr},Xp={enabled:!1};function Kp({className:e,linkSafety:t,isStreaming:a,children:r,...o}){let s=$i(typeof r=="string"?r:"",!!a),i=typeof r=="string"?s:r;return rr(At,{className:k("ww:size-full ww:[&>*:first-child]:mt-0 ww:[&>*:last-child]:mb-0",e),linkSafety:t??Xp,plugins:a?$p:jp,...o,children:i})}var or=zp(Kp,(e,t)=>e.children===t.children&&e.isStreaming===t.isStreaming);or.displayName="MessageResponse";import{createContext as Qp,useCallback as Jp,useContext as Ji,useEffect as Yp,useMemo as Ro,useRef as Zp,useState as Mo}from"react";import{Fragment as Qi,jsx as X,jsxs as ct}from"react/jsx-runtime";function em(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 r=Object.entries(e),o=[],n=t-2;for(let[s,i]of r){if(n<=8)break;let l=s.length>4?`${s.slice(0,4)}\u2026`:s,u;typeof i=="string"?u=i.length>2?`'${i.slice(0,1)}\u2026`:`'${i}'`:Array.isArray(i)?u=`Array(${i.length})`:typeof i=="object"&&i!==null?u="{\u2026}":u=String(i);let c=`${l}\u2009${u}`;o.push(c),n-=c.length+3}return`{${o.join(", ")}}`}function tm({text:e,className:t}){let{t:a}=V(),[r,o]=Mo(!1),n=Zp(null);Yp(()=>()=>{n.current&&clearTimeout(n.current)},[]);let s=Jp(async i=>{i.stopPropagation();try{await navigator.clipboard.writeText(e),o(!0),n.current&&clearTimeout(n.current),n.current=setTimeout(()=>o(!1),2e3)}catch{}},[e]);return X(Fe,{variant:"ghost",size:"sm",onClick:s,className:k("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:r?ct(Qi,{children:[X(Mt,{className:"ww:size-3.5"}),X("span",{children:a.tool.copied})]}):ct(Qi,{children:[X(Bt,{className:"ww:size-3.5"}),X("span",{children:a.tool.copy})]})})}function Yi({data:e,label:t,className:a,...r}){let[o,n]=Mo(!1),s=Ro(()=>JSON.stringify(e,null,2),[e]),i=em(e);return ct("div",{className:k("ww:rounded-lg ww:bg-tool-card",a),...r,children:[ct("div",{className:"ww:flex ww:items-center ww:justify-between ww:px-3 ww:pt-2.5 ww:pb-1.5",children:[X("span",{className:"ww:text-xs ww:font-medium ww:text-muted-foreground",children:t}),X(tm,{text:s})]}),ct("button",{type:"button",onClick:()=>n(l=>!l),className:"ww:flex ww:w-full ww:items-start ww:gap-2 ww:px-3 ww:pb-3 ww:text-left",children:[X(Ft,{className:k("ww:mt-0.5 ww:size-3.5 ww:shrink-0 ww:text-muted-foreground ww:transition-transform ww:duration-150",o&&"ww:rotate-90")}),o?X("pre",{className:"ww:overflow-x-auto ww:text-xs ww:font-mono ww:text-foreground ww:whitespace-pre-wrap ww:break-all",children:X("code",{children:s})}):X("span",{className:"ww:truncate ww:text-xs ww:font-mono ww:text-foreground/80",children:i})]})]})}var Fo=Qp({open:!1,toggle:()=>{}});function Zi({className:e,defaultOpen:t=!1,children:a,...r}){let[o,n]=Mo(t);return X(Fo.Provider,{value:{open:o,toggle:()=>n(s=>!s)},children:X("div",{className:k("ww:mb-4 ww:w-full",e),"data-state":o?"open":"closed",style:{animation:"ww-fade-in 0.2s ease-out"},...r,children:a})})}function el({className:e,title:t,state:a,...r}){let{open:o,toggle:n}=Ji(Fo),s=a==="input-available"||a==="input-streaming",i=t??"";return ct("button",{type:"button",onClick:n,className:k("ww:flex ww:w-full ww:items-center ww:gap-2 ww:text-sm ww:text-muted-foreground ww:transition-colors ww:hover:text-foreground",e),"aria-expanded":o,...r,children:[X(rt,{className:"ww:size-4 ww:shrink-0"}),X("span",{className:"ww:truncate",children:s?X(Ee,{duration:1.6,children:i}):i}),X(je,{className:k("ww:size-4 ww:shrink-0 ww:transition-transform ww:duration-200",o&&"ww:rotate-180")})]})}function tl({className:e,title:t,state:a,...r}){let o=a==="input-available"||a==="input-streaming",n=t??"";return X("div",{className:k("ww:mb-4 ww:flex ww:items-center ww:gap-2 ww:text-sm ww:text-muted-foreground",e),style:{animation:"ww-fade-in 0.2s ease-out"},...r,children:X("span",{className:"ww:truncate",children:o?X(Ee,{duration:1.6,children:n}):n})})}function al({className:e,children:t,...a}){let{open:r}=Ji(Fo);return X("div",{className:k("ww:grid ww:transition-[grid-template-rows,opacity] ww:duration-200 ww:ease-out",r?"ww:grid-rows-[1fr] ww:opacity-100":"ww:grid-rows-[0fr] ww:opacity-0"),children:X("div",{className:"ww:min-h-0 ww:overflow-hidden",children:X("div",{className:k("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 Bo({className:e,input:t,debug:a,...r}){let{t:o}=V(),n=Ro(()=>{if(!a&&typeof t=="object"&&t!==null&&!Array.isArray(t)){let{_meta:s,...i}=t;return i}return t},[t,a]);return X(Yi,{data:n,label:o.tool.request,className:e,...r})}function Ao(e){if(!(typeof e!="object"||e===null))return e}function rl(e){return Ao(e?.ui)}function ol(e){return Ao(Ao(e)?._meta)}function Xi(e){if(!e)return;let t=rl(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 r=e["openai/outputTemplate"];if(typeof r=="string"&&r.length>0)return r}function Ki(e){return rl(e)?.autoHeight===!0}function na(e,t,a){if(e){let r=Xi(a?.[e]?._meta);if(r)return r}return Xi(ol(t))}function nl(e,t,a){return e&&Ki(a?.[e]?._meta)?!0:Ki(ol(t))}function Do({className:e,output:t,errorText:a,debug:r,...o}){let{t:n}=V(),s=Ro(()=>{if(!r&&typeof t=="object"&&t!==null&&!Array.isArray(t)){let{_meta:i,...l}=t;return l}return t},[t,r]);return t||a?a?ct("div",{className:k("ww:space-y-2",e),...o,children:[X("h4",{className:"ww:text-xs ww:font-medium ww:uppercase ww:tracking-wide ww:text-muted-foreground",children:n.tool.error}),X("div",{className:"ww:rounded-lg ww:bg-destructive/10 ww:p-3 ww:text-xs ww:text-destructive",children:a})]}):X(Yi,{data:s,label:n.tool.response,className:e,...o}):null}import{jsx as sl,jsxs as am}from"react/jsx-runtime";function il(e){return e.type==="text"||e.type==="reasoning"||e.type==="file"||"toolCallId"in e}function ll(e){return e.parts.some(il)}function ul(e,t,a){if(t!=="submitted"&&t!=="streaming")return!1;let r=e[e.length-1];return!r||r.role!=="assistant"?!0:!r.parts.some(n=>!(!il(n)||a?.ignoreToolParts&&"toolCallId"in n||a?.ignoreReasoningParts&&n.type==="reasoning"))}function dl({className:e,...t}){let{t:a}=V();return am("div",{"aria-live":"polite",className:k("ww:mb-4 ww:flex ww:w-full ww:items-center ww:gap-2 ww:text-sm ww:text-muted-foreground",e),style:{animation:"ww-fade-in 0.2s ease-out"},...t,children:[sl(Ut,{className:"ww:size-4 ww:shrink-0"}),sl(Ee,{duration:1.6,children:a.workingIndicator.default})]})}import{useCallback as rm,useEffect as Eo,useMemo as om,useRef as ke,useState as fl}from"react";function Tt(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 cl(e,t){return!Tt(e)&&!Tt(t)?null:Tt(e)?Tt(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 hm}from"react/jsx-runtime";var nm="/api/mcp/resource",sm=500,im=0,lm=16,um="2026-01-26",dm=300,cm=3e3,fm=3;function pm(e){if(typeof e!="string")return;let t=e.trim();return t.length>0?t:void 0}function mm(e,t,a){return na(e,t,a)?!1:t._meta?.["waniwani/autoInjectResultText"]!==!1}function _o({resourceUri:e,toolInput:t,toolResult:a,resourceEndpoint:r=nm,chatSessionId:o,isDark:n=!1,className:s,autoHeight:i=!1,onOpenLink:l,onFollowUp:u,onCallTool:c,onDisplayModeChange:d,isFullscreen:p=!1,toolDefinitions:f}){let m=ke(null),I=ke(t),L=ke(a),w=ke({width:0,height:0}),g=ke(null),h=ke(!1),x=ke(0),y=ke("inline"),[T,v]=fl(im),[A,R]=fl(void 0),P=ke(l),F=ke(u),b=ke(c),z=ke(d),H=ke(o),S=ke(f);I.current=t,L.current=a,P.current=l,F.current=u,b.current=c,z.current=d,H.current=o,S.current=f;let E=rm(_=>i?Math.max(_+lm,0):Math.min(Math.max(_,50),sm),[i]),B=om(()=>{let _=r.includes("?")?"&":"?";return`${r}${_}uri=${encodeURIComponent(e)}`},[r,e]),Te=ke(n);Te.current=n;let we=ke(p);return Eo(()=>{we.current=p,w.current.height=-1,g.current&&(g.current.cancel(),g.current=null)},[p]),Eo(()=>{if(!h.current)return;let _=m.current;_?.contentWindow&&_.contentWindow.postMessage({jsonrpc:"2.0",method:"ui/notifications/host-context-changed",params:{theme:n?"dark":"light"}},"*")},[n]),Eo(()=>{let _=m.current;if(!_)return;let me=!1,oe=!1,ye=null,ne=null,G=setTimeout(()=>{if(me||oe||x.current>=fm)return;x.current+=1;let de=new URL(_.src);de.searchParams.set("_retry",String(x.current)),_.src=de.toString()},cm),$=de=>{_.contentWindow?.postMessage(de,"*")},ve=de=>{if(me||de.source!==_.contentWindow)return;let K=de.data;if(!K||typeof K!="object"||K.jsonrpc!=="2.0")return;let se=K.method,q=K.id;if(se==="ui/initialize"&&q!=null){oe=!0,clearTimeout(G),$({jsonrpc:"2.0",id:q,result:{protocolVersion:K.params?.protocolVersion??um,hostInfo:{name:"Waniwani Chat",version:"1.0.0"},hostCapabilities:{openLinks:{},message:{text:{}},tools:{},updateModelContext:{text:{},structuredContent:{}}},hostContext:{theme:Te.current?"dark":"light",displayMode:y.current}}});return}if(se==="ui/notifications/initialized"){h.current=!0;let N=I.current,W=L.current,Q=W._meta&&typeof W._meta=="object"?W._meta:null,ie=pm(H.current),te=Q&&typeof Q.waniwani=="object"&&Q.waniwani!==null?Q.waniwani:null,xe=te||ie?{...te??{},...ie?{sessionId:ie}:{}}:void 0,M=Q||xe?{...Q??{},...xe?{waniwani:xe}:{}}:void 0;$({jsonrpc:"2.0",method:"ui/notifications/tool-input",params:{arguments:N}});let U=W.content??[{type:"text",text:JSON.stringify(W)}];$({jsonrpc:"2.0",method:"ui/notifications/tool-result",params:{content:U,structuredContent:W.structuredContent,_meta:M,meta:M}});return}if(se==="ui/notifications/size-changed"){let N=K.params,W=typeof N?.height=="number"?N.height:void 0,Q=typeof N?.width=="number"?N.width:void 0,ie=w.current,te=W!==void 0&&W!==ie.height,xe=Q!==void 0&&Q!==ie.width;if(!te&&!xe)return;if(te&&W!==void 0){if(ie.height=W,we.current)return;let M=E(W),U=_.getBoundingClientRect().height;if(g.current&&(g.current.cancel(),g.current=null),v(M),_.animate&&Math.abs(U-M)>2){let Z=_.animate([{height:`${U}px`},{height:`${M}px`}],{duration:dm,easing:"ease-out",fill:"forwards"});g.current=Z,Z.onfinish=()=>{g.current===Z&&(Z.cancel(),g.current=null)}}}xe&&i&&Q!==void 0&&(ie.width=Q,R(Q));return}if(se==="ui/open-link"&&q!=null){let N=K.params?.url;typeof N=="string"&&(P.current?P.current(N):window.open(N,"_blank","noopener,noreferrer")),$({jsonrpc:"2.0",id:q,result:{}});return}if(se==="ui/message"&&q!=null){if(F.current&&K.params){let N=K.params,W=ye;if(ye=null,ne){clearTimeout(ne.timer);let Q=ne.text;ne=null;let ie=(N.content??[]).map(te=>te.text??"").join("").trim();N={...N,content:[{type:"text",text:`${ie}
12
+ \f\r "&'<=>\``.split("")]],single:[["&'".split(""),"\"&'`".split("")],["\0&'".split(""),"\0\"&'`".split("")]],double:[['"&'.split(""),"\"&'`".split("")],['\0"&'.split(""),"\0\"&'`".split("")]]};function Ii(e,t,a,r){let o=r.schema,n=o.space==="svg"?!1:r.settings.omitOptionalTags,s=o.space==="svg"?r.settings.closeEmptyElements:r.settings.voids.includes(e.tagName.toLowerCase()),i=[],l;o.space==="html"&&e.tagName==="svg"&&(r.schema=wa);let u=Rf(r,e.properties),c=r.all(o.space==="html"&&e.tagName==="template"?e.content:e);return r.schema=o,c&&(s=!1),(u||!n||!xi(e,t,a))&&(i.push("<",e.tagName,u?" "+u:""),s&&(o.space==="svg"||r.settings.closeSelfClosing)&&(l=u.charAt(u.length-1),(!r.settings.tightSelfClosing||l==="/"||l&&l!=='"'&&l!=="'")&&i.push(" "),i.push("/")),i.push(">")),i.push(c),!s&&(!n||!ta(e,t,a))&&i.push("</"+e.tagName+">"),i.join("")}function Rf(e,t){let a=[],r=-1,o;if(t){for(o in t)if(t[o]!==null&&t[o]!==void 0){let n=Mf(e,o,t[o]);n&&a.push(n)}}for(;++r<a.length;){let n=e.settings.tightAttributes?a[r].charAt(a[r].length-1):void 0;r!==a.length-1&&n!=='"'&&n!=="'"&&(a[r]+=" ")}return a.join("")}function Mf(e,t,a){let r=Sn(e.schema,t),o=e.settings.allowParseErrors&&e.schema.space==="html"?0:1,n=e.settings.allowDangerousCharacters?0:1,s=e.quote,i;if(r.overloadedBoolean&&(a===r.attribute||a==="")?a=!0:(r.boolean||r.overloadedBoolean)&&(typeof a!="string"||a===r.attribute||a==="")&&(a=!!a),a==null||a===!1||typeof a=="number"&&Number.isNaN(a))return"";let l=Ve(r.attribute,Object.assign({},e.settings.characterReferences,{subset:za.name[o][n]}));return a===!0||(a=Array.isArray(a)?(r.commaSeparated?bn:kn)(a,{padLeft:!e.settings.tightCommaSeparatedLists}):String(a),e.settings.collapseEmptyAttributes&&!a)?l:(e.settings.preferUnquoted&&(i=Ve(a,Object.assign({},e.settings.characterReferences,{attribute:!0,subset:za.unquoted[o][n]}))),i!==a&&(e.settings.quoteSmart&&Br(a,s)>Br(a,e.alternative)&&(s=e.alternative),i=s+Ve(a,Object.assign({},e.settings.characterReferences,{subset:(s==="'"?za.single:za.double)[o][n],attribute:!0}))+s),l+(i&&"="+i))}var Ff=["<","&"];function ja(e,t,a,r){return a&&a.type==="element"&&(a.tagName==="script"||a.tagName==="style")?e.value:Ve(e.value,Object.assign({},r.settings.characterReferences,{subset:Ff}))}function Li(e,t,a,r){return r.settings.allowDangerousHtml?e.value:ja(e,t,a,r)}function Ci(e,t,a,r){return r.all(e)}var Si=Tn("type",{invalid:Bf,unknown:Ef,handlers:{comment:pi,doctype:mi,element:Ii,raw:Li,root:Ci,text:ja}});function Bf(e){throw new Error("Expected node, not `"+e+"`")}function Ef(e){let t=e;throw new Error("Cannot compile unknown node `"+t.type+"`")}var Df={},_f={},Of=[];function po(e,t){let a=t||Df,r=a.quote||'"',o=r==='"'?"'":'"';if(r!=='"'&&r!=="'")throw new Error("Invalid quote `"+r+"`, expected `'` or `\"`");return{one:Nf,all:Uf,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||vn,characterReferences:a.characterReferences||_f,closeSelfClosing:a.closeSelfClosing||!1,closeEmptyElements:a.closeEmptyElements||!1},schema:a.space==="svg"?wa:yn,quote:r,alternative:o}.one(Array.isArray(e)?{type:"root",children:e}:e,void 0,void 0)}function Nf(e,t,a){return Si(e,t,a,this)}function Uf(e){let t=[],a=e&&e.children||Of,r=-1;for(;++r<a.length;)t[r]=this.one(a[r],r,e);return t.join("")}function $a(e,t){let a=typeof e=="string"?{}:{...e.colorReplacements},r=typeof e=="string"?e:e.name;for(let[o,n]of Object.entries(t?.colorReplacements||{}))typeof n=="string"?a[o]=n:o===r&&Object.assign(a,n);return a}function Ye(e,t){return e&&(t?.[e?.toLowerCase()]||e)}function Hf(e){return Array.isArray(e)?e:[e]}async function Ai(e){return Promise.resolve(typeof e=="function"?e():e).then(t=>t.default||t)}function Io(e){return!e||["plaintext","txt","text","plain"].includes(e)}function Ri(e){return e==="ansi"||Io(e)}function Lo(e){return e==="none"}function Mi(e){return Lo(e)}function Fi(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 r of a)r&&!e.properties.class.includes(r)&&e.properties.class.push(r);return e}function Ya(e,t=!1){if(e.length===0)return[["",0]];let a=e.split(/(\r?\n)/g),r=0,o=[];for(let n=0;n<a.length;n+=2){let s=t?a[n]+(a[n+1]||""):a[n];o.push([s,r]),r+=a[n].length,r+=a[n+1]?.length||0}return o}function qf(e){let t=Ya(e,!0).map(([o])=>o);function a(o){if(o===e.length)return{line:t.length-1,character:t[t.length-1].length};let n=o,s=0;for(let i of t){if(n<i.length)break;n-=i.length,s++}return{line:s,character:n}}function r(o,n){let s=0;for(let i=0;i<o;i++)s+=t[i].length;return s+=n,s}return{lines:t,indexToPos:a,posToIndex:r}}function Bi(e,t,a){let r=new Set;for(let n of e.matchAll(/:?lang=["']([^"']+)["']/g)){let s=n[1].toLowerCase().trim();s&&r.add(s)}for(let n of e.matchAll(/(?:```|~~~)([\w-]+)/g)){let s=n[1].toLowerCase().trim();s&&r.add(s)}for(let n of e.matchAll(/\\begin\{([\w-]+)\}/g)){let s=n[1].toLowerCase().trim();s&&r.add(s)}for(let n of e.matchAll(/<script\s+(?:type|lang)=["']([^"']+)["']/gi)){let s=n[1].toLowerCase().trim(),i=s.includes("/")?s.split("/").pop():s;i&&r.add(i)}if(!a)return Array.from(r);let o=a.getBundledLanguages();return Array.from(r).filter(n=>n&&o[n])}var Co="light-dark()",Gf=["color","background-color"];function Wf(e,t){let a=0,r=[];for(let o of t)o>a&&r.push({...e,content:e.content.slice(a,o),offset:e.offset+a}),a=o;return a<e.content.length&&r.push({...e,content:e.content.slice(a),offset:e.offset+a}),r}function Vf(e,t){let a=Array.from(t instanceof Set?t:new Set(t)).sort((r,o)=>r-o);return a.length?e.map(r=>r.flatMap(o=>{let n=a.filter(s=>o.offset<s&&s<o.offset+o.content.length).map(s=>s-o.offset).sort((s,i)=>s-i);return n.length?Wf(o,n):o})):e}function zf(e,t,a,r,o="css-vars"){let n={content:e.content,explanation:e.explanation,offset:e.offset},s=t.map(c=>Xa(e.variants[c])),i=new Set(s.flatMap(c=>Object.keys(c))),l={},u=(c,d)=>{let f=d==="color"?"":d==="background-color"?"-bg":`-${d}`;return a+t[c]+(d==="color"?"":f)};return s.forEach((c,d)=>{for(let f of i){let p=c[f]||"inherit";if(d===0&&r&&Gf.includes(f))if(r===Co&&s.length>1){let m=t.findIndex(g=>g==="light"),L=t.findIndex(g=>g==="dark");if(m===-1||L===-1)throw new ae('When using `defaultColor: "light-dark()"`, you must provide both `light` and `dark` themes');let I=s[m][f]||"inherit",w=s[L][f]||"inherit";l[f]=`light-dark(${I}, ${w})`,o==="css-vars"&&(l[u(d,f)]=p)}else l[f]=p;else o==="css-vars"&&(l[u(d,f)]=p)}}),n.htmlStyle=l,n}function Xa(e){let t={};if(e.color&&(t.color=e.color),e.bgColor&&(t["background-color"]=e.bgColor),e.fontStyle){e.fontStyle&Le.Italic&&(t["font-style"]="italic"),e.fontStyle&Le.Bold&&(t["font-weight"]="bold");let a=[];e.fontStyle&Le.Underline&&a.push("underline"),e.fontStyle&Le.Strikethrough&&a.push("line-through"),a.length&&(t["text-decoration"]=a.join(" "))}return t}function go(e){return typeof e=="string"?e:Object.entries(e).map(([t,a])=>`${t}:${a}`).join(";")}var Ei=new WeakMap;function Za(e,t){Ei.set(e,t)}function ra(e){return Ei.get(e)}var bt=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(Hf(a).map(r=>[r,qa])),t)}constructor(...t){if(t.length===2){let[a,r]=t;this.lang=r,this._stacks=a}else{let[a,r,o]=t;this.lang=r,this._stacks={[o]:a}}}getInternalStack(t=this.theme){return this._stacks[t]}getScopes(t=this.theme){return jf(this._stacks[t])}toJSON(){return{lang:this.lang,theme:this.theme,themes:this.themes,scopes:this.getScopes()}}};function jf(e){let t=[],a=new Set;function r(o){if(a.has(o))return;a.add(o);let n=o?.nameScopesList?.scopeName;n&&t.push(n),o.parent&&r(o.parent)}return r(e),t}function $f(e,t){if(!(e instanceof bt))throw new ae("Invalid grammar state");return e.getInternalStack(t)}function Xf(){let e=new WeakMap;function t(a){if(!e.has(a.meta)){let r=function(s){if(typeof s=="number"){if(s<0||s>a.source.length)throw new ae(`Invalid decoration offset: ${s}. Code length: ${a.source.length}`);return{...o.indexToPos(s),offset:s}}else{let i=o.lines[s.line];if(i===void 0)throw new ae(`Invalid decoration position ${JSON.stringify(s)}. Lines length: ${o.lines.length}`);let l=s.character;if(l<0&&(l=i.length+l),l<0||l>i.length)throw new ae(`Invalid decoration position ${JSON.stringify(s)}. Line ${s.line} length: ${i.length}`);return{...s,character:l,offset:o.posToIndex(s.line,l)}}},o=qf(a.source),n=(a.options.decorations||[]).map(s=>({...s,start:r(s.start),end:r(s.end)}));Kf(n),e.set(a.meta,{decorations:n,converter:o,source:a.source})}return e.get(a.meta)}return{name:"shiki:decorations",tokens(a){if(!this.options.decorations?.length)return;let o=t(this).decorations.flatMap(s=>[s.start.offset,s.end.offset]);return Vf(a,o)},code(a){if(!this.options.decorations?.length)return;let r=t(this),o=Array.from(a.children).filter(c=>c.type==="element"&&c.tagName==="span");if(o.length!==r.converter.lines.length)throw new ae(`Number of lines in code element (${o.length}) does not match the number of lines in the source (${r.converter.lines.length}). Failed to apply decorations.`);function n(c,d,f,p){let m=o[c],L="",I=-1,w=-1;if(d===0&&(I=0),f===0&&(w=0),f===Number.POSITIVE_INFINITY&&(w=m.children.length),I===-1||w===-1)for(let h=0;h<m.children.length;h++)L+=Di(m.children[h]),I===-1&&L.length===d&&(I=h+1),w===-1&&L.length===f&&(w=h+1);if(I===-1)throw new ae(`Failed to find start index for decoration ${JSON.stringify(p.start)}`);if(w===-1)throw new ae(`Failed to find end index for decoration ${JSON.stringify(p.end)}`);let g=m.children.slice(I,w);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(I,g.length,h)}}function s(c,d){o[c]=i(o[c],d,"line")}function i(c,d,f){let p=d.properties||{},m=d.transform||(L=>L);return c.tagName=d.tagName||"span",c.properties={...c.properties,...p,class:c.properties.class},d.properties?.class&&Fi(c,d.properties.class),c=m(c,f)||c,c}let l=[],u=r.decorations.sort((c,d)=>d.start.offset-c.start.offset||c.end.offset-d.end.offset);for(let c of u){let{start:d,end:f}=c;if(d.line===f.line)n(d.line,d.character,f.character,c);else if(d.line<f.line){n(d.line,d.character,Number.POSITIVE_INFINITY,c);for(let p=d.line+1;p<f.line;p++)l.unshift(()=>s(p,c));n(f.line,0,f.character,c)}}l.forEach(c=>c())}}}function Kf(e){for(let t=0;t<e.length;t++){let a=e[t];if(a.start.offset>a.end.offset)throw new ae(`Invalid decoration range: ${JSON.stringify(a.start)} - ${JSON.stringify(a.end)}`);for(let r=t+1;r<e.length;r++){let o=e[r],n=a.start.offset<=o.start.offset&&o.start.offset<a.end.offset,s=a.start.offset<o.end.offset&&o.end.offset<=a.end.offset,i=o.start.offset<=a.start.offset&&a.start.offset<o.end.offset,l=o.start.offset<a.end.offset&&a.end.offset<=o.end.offset;if(n||s||i||l){if(n&&s||i&&l||i&&a.start.offset===a.end.offset||s&&o.start.offset===o.end.offset)continue;throw new ae(`Decorations ${JSON.stringify(a.start)} and ${JSON.stringify(o.start)} intersect.`)}}}}function Di(e){return e.type==="text"?e.value:e.type==="element"?e.children.map(Di).join(""):""}var Qf=[Xf()];function Ka(e){let t=Jf(e.transformers||[]);return[...t.pre,...t.normal,...t.post,...Qf]}function Jf(e){let t=[],a=[],r=[];for(let o of e)switch(o.enforce){case"pre":t.push(o);break;case"post":a.push(o);break;default:r.push(o)}return{pre:t,post:a,normal:r}}var dt=["black","red","green","yellow","blue","magenta","cyan","white","brightBlack","brightRed","brightGreen","brightYellow","brightBlue","brightMagenta","brightCyan","brightWhite"],mo={1:"bold",2:"dim",3:"italic",4:"underline",7:"reverse",8:"hidden",9:"strikethrough"};function Yf(e,t){let a=e.indexOf("\x1B",t);if(a!==-1&&e[a+1]==="["){let r=e.indexOf("m",a);if(r!==-1)return{sequence:e.substring(a+2,r).split(";"),startPosition:a,position:r+1}}return{position:e.length}}function yi(e){let t=e.shift();if(t==="2"){let a=e.splice(0,3).map(r=>Number.parseInt(r));return a.length!==3||a.some(r=>Number.isNaN(r))?void 0:{type:"rgb",rgb:a}}else if(t==="5"){let a=e.shift();if(a)return{type:"table",index:Number(a)}}}function Zf(e){let t=[];for(;e.length>0;){let a=e.shift();if(!a)continue;let r=Number.parseInt(a);if(!Number.isNaN(r))if(r===0)t.push({type:"resetAll"});else if(r<=9)mo[r]&&t.push({type:"setDecoration",value:mo[r]});else if(r<=29){let o=mo[r-20];o&&(t.push({type:"resetDecoration",value:o}),o==="dim"&&t.push({type:"resetDecoration",value:"bold"}))}else if(r<=37)t.push({type:"setForegroundColor",value:{type:"named",name:dt[r-30]}});else if(r===38){let o=yi(e);o&&t.push({type:"setForegroundColor",value:o})}else if(r===39)t.push({type:"resetForegroundColor"});else if(r<=47)t.push({type:"setBackgroundColor",value:{type:"named",name:dt[r-40]}});else if(r===48){let o=yi(e);o&&t.push({type:"setBackgroundColor",value:o})}else r===49?t.push({type:"resetBackgroundColor"}):r===53?t.push({type:"setDecoration",value:"overline"}):r===55?t.push({type:"resetDecoration",value:"overline"}):r>=90&&r<=97?t.push({type:"setForegroundColor",value:{type:"named",name:dt[r-90+8]}}):r>=100&&r<=107&&t.push({type:"setBackgroundColor",value:{type:"named",name:dt[r-100+8]}})}return t}function ep(){let e=null,t=null,a=new Set;return{parse(r){let o=[],n=0;do{let s=Yf(r,n),i=s.sequence?r.substring(n,s.startPosition):r.substring(n);if(i.length>0&&o.push({value:i,foreground:e,background:t,decorations:new Set(a)}),s.sequence){let l=Zf(s.sequence);for(let u of l)u.type==="resetAll"?(e=null,t=null,a.clear()):u.type==="resetForegroundColor"?e=null:u.type==="resetBackgroundColor"?t=null:u.type==="resetDecoration"&&a.delete(u.value);for(let u of l)u.type==="setForegroundColor"?e=u.value:u.type==="setBackgroundColor"?t=u.value:u.type==="setDecoration"&&a.add(u.value)}n=s.position}while(n<r.length);return o}}}var tp={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 ap(e=tp){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 r;function o(){if(r)return r;r=[];for(let u=0;u<dt.length;u++)r.push(t(dt[u]));let i=[0,95,135,175,215,255];for(let u=0;u<6;u++)for(let c=0;c<6;c++)for(let d=0;d<6;d++)r.push(a([i[u],i[c],i[d]]));let l=8;for(let u=0;u<24;u++,l+=10)r.push(a([l,l,l]));return r}function n(i){return o()[i]}function s(i){switch(i.type){case"named":return t(i.name);case"rgb":return a(i.rgb);case"table":return n(i.index)}}return{value:s}}var rp={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 op(e,t,a){let r=$a(e,a),o=Ya(t),n=Object.fromEntries(dt.map(l=>{let u=`terminal.ansi${l[0].toUpperCase()}${l.substring(1)}`,c=e.colors?.[u];return[l,c||rp[l]]})),s=ap(n),i=ep();return o.map(l=>i.parse(l[0]).map(u=>{let c,d;u.decorations.has("reverse")?(c=u.background?s.value(u.background):e.bg,d=u.foreground?s.value(u.foreground):e.fg):(c=u.foreground?s.value(u.foreground):e.fg,d=u.background?s.value(u.background):void 0),c=Ye(c,r),d=Ye(d,r),u.decorations.has("dim")&&(c=np(c));let f=Le.None;return u.decorations.has("bold")&&(f|=Le.Bold),u.decorations.has("italic")&&(f|=Le.Italic),u.decorations.has("underline")&&(f|=Le.Underline),u.decorations.has("strikethrough")&&(f|=Le.Strikethrough),{content:u.value,offset:l[1],color:c,bgColor:d,fontStyle:f}}))}function np(e){let t=e.match(/#([0-9a-f]{3,8})/i);if(t){let r=t[1];if(r.length===8){let o=Math.round(Number.parseInt(r.slice(6,8),16)/2).toString(16).padStart(2,"0");return`#${r.slice(0,6)}${o}`}else{if(r.length===6)return`#${r}80`;if(r.length===4){let o=r[0],n=r[1],s=r[2],i=r[3],l=Math.round(Number.parseInt(`${i}${i}`,16)/2).toString(16).padStart(2,"0");return`#${o}${o}${n}${n}${s}${s}${l}`}else if(r.length===3){let o=r[0],n=r[1],s=r[2];return`#${o}${o}${n}${n}${s}${s}80`}}}let a=e.match(/var\((--[\w-]+-ansi-[\w-]+)\)/);return a?`var(${a[1]}-dim)`:e}function So(e,t,a={}){let{theme:r=e.getLoadedThemes()[0]}=a,o=e.resolveLangAlias(a.lang||"text");if(Io(o)||Lo(r))return Ya(t).map(l=>[{content:l[0],offset:l[1]}]);let{theme:n,colorMap:s}=e.setTheme(r);if(o==="ansi")return op(n,t,a);let i=e.getLanguage(a.lang||"text");if(a.grammarState){if(a.grammarState.lang!==i.name)throw new ae(`Grammar state language "${a.grammarState.lang}" does not match highlight language "${i.name}"`);if(!a.grammarState.themes.includes(n.name))throw new ae(`Grammar state themes "${a.grammarState.themes}" do not contain highlight theme "${n.name}"`)}return ip(t,i,n,s,a)}function sp(...e){if(e.length===2)return ra(e[1]);let[t,a,r={}]=e,{lang:o="text",theme:n=t.getLoadedThemes()[0]}=r;if(Io(o)||Lo(n))throw new ae("Plain language does not have grammar state");if(o==="ansi")throw new ae("ANSI language does not have grammar state");let{theme:s,colorMap:i}=t.setTheme(n),l=t.getLanguage(o);return new bt(yo(a,l,s,i,r).stateStack,l.name,s.name)}function ip(e,t,a,r,o){let n=yo(e,t,a,r,o),s=new bt(n.stateStack,t.name,a.name);return Za(n.tokens,s),n.tokens}function yo(e,t,a,r,o){let n=$a(a,o),{tokenizeMaxLineLength:s=0,tokenizeTimeLimit:i=500}=o,l=Ya(e),u=o.grammarState?$f(o.grammarState,a.name)??qa:o.grammarContextCode!=null?yo(o.grammarContextCode,t,a,r,{...o,grammarState:void 0,grammarContextCode:void 0}).stateStack:qa,c=[],d=[];for(let f=0,p=l.length;f<p;f++){let[m,L]=l[f];if(m===""){c=[],d.push([]);continue}if(s>0&&m.length>=s){c=[],d.push([{content:m,offset:L,color:"",fontStyle:0}]);continue}let I,w,g;o.includeExplanation&&(I=t.tokenizeLine(m,u,i),w=I.tokens,g=0);let h=t.tokenizeLine2(m,u,i),x=h.tokens.length/2;for(let y=0;y<x;y++){let T=h.tokens[2*y],v=y+1<x?h.tokens[2*y+2]:m.length;if(T===v)continue;let A=h.tokens[2*y+1],R=Ye(r[ut.getForeground(A)],n),F=ut.getFontStyle(A),P={content:m.substring(T,v),offset:L+T,color:R,fontStyle:F};if(o.includeExplanation){let b=[];if(o.includeExplanation!=="scopeName")for(let G of a.settings){let S;switch(typeof G.scope){case"string":S=G.scope.split(/,/).map(D=>D.trim());break;case"object":S=G.scope;break;default:continue}b.push({settings:G,selectors:S.map(D=>D.split(/ /))})}P.explanation=[];let H=0;for(;T+H<v;){let G=w[g],S=m.substring(G.startIndex,G.endIndex);H+=S.length,P.explanation.push({content:S,scopes:o.includeExplanation==="scopeName"?lp(G.scopes):up(b,G.scopes)}),g+=1}}c.push(P)}d.push(c),c=[],u=h.ruleStack}return{tokens:d,stateStack:u}}function lp(e){return e.map(t=>({scopeName:t}))}function up(e,t){let a=[];for(let r=0,o=t.length;r<o;r++){let n=t[r];a[r]={scopeName:n,themeMatches:cp(e,n,t.slice(0,r))}}return a}function bi(e,t){return e===t||t.substring(0,e.length)===e&&t[e.length]==="."}function dp(e,t,a){if(!bi(e[e.length-1],t))return!1;let r=e.length-2,o=a.length-1;for(;r>=0&&o>=0;)bi(e[r],a[o])&&(r-=1),o-=1;return r===-1}function cp(e,t,a){let r=[];for(let{selectors:o,settings:n}of e)for(let s of o)if(dp(s,t,a)){r.push(n);break}return r}function _i(e,t,a){let r=Object.entries(a.themes).filter(l=>l[1]).map(l=>({color:l[0],theme:l[1]})),o=r.map(l=>{let u=So(e,t,{...a,theme:l.theme}),c=ra(u),d=typeof l.theme=="string"?l.theme:l.theme.name;return{tokens:u,state:c,theme:d}}),n=fp(...o.map(l=>l.tokens)),s=n[0].map((l,u)=>l.map((c,d)=>{let f={content:c.content,variants:{},offset:c.offset};return"includeExplanation"in a&&a.includeExplanation&&(f.explanation=c.explanation),n.forEach((p,m)=>{let{content:L,explanation:I,offset:w,...g}=p[u][d];f.variants[r[m].color]=g}),f})),i=o[0].state?new bt(Object.fromEntries(o.map(l=>[l.theme,l.state?.getInternalStack(l.theme)])),o[0].state.lang):void 0;return i&&Za(s,i),s}function fp(...e){let t=e.map(()=>[]),a=e.length;for(let r=0;r<e[0].length;r++){let o=e.map(l=>l[r]),n=t.map(()=>[]);t.forEach((l,u)=>l.push(n[u]));let s=o.map(()=>0),i=o.map(l=>l[0]);for(;i.every(l=>l);){let l=Math.min(...i.map(u=>u.content.length));for(let u=0;u<a;u++){let c=i[u];c.content.length===l?(n[u].push(c),s[u]+=1,i[u]=o[u][s[u]]):(n[u].push({...c,content:c.content.slice(0,l)}),i[u]={...c,content:c.content.slice(l),offset:c.offset+l})}}}return t}function Qa(e,t,a){let r,o,n,s,i,l;if("themes"in a){let{defaultColor:u="light",cssVariablePrefix:c="--shiki-",colorsRendering:d="css-vars"}=a,f=Object.entries(a.themes).filter(w=>w[1]).map(w=>({color:w[0],theme:w[1]})).sort((w,g)=>w.color===u?-1:g.color===u?1:0);if(f.length===0)throw new ae("`themes` option must not be empty");let p=_i(e,t,a);if(l=ra(p),u&&Co!==u&&!f.find(w=>w.color===u))throw new ae(`\`themes\` option must contain the defaultColor key \`${u}\``);let m=f.map(w=>e.getTheme(w.theme)),L=f.map(w=>w.color);n=p.map(w=>w.map(g=>zf(g,L,c,u,d))),l&&Za(n,l);let I=f.map(w=>$a(w.theme,a));o=ki(f,m,I,c,u,"fg",d),r=ki(f,m,I,c,u,"bg",d),s=`shiki-themes ${m.map(w=>w.name).join(" ")}`,i=u?void 0:[o,r].join(";")}else if("theme"in a){let u=$a(a.theme,a);n=So(e,t,a);let c=e.getTheme(a.theme);r=Ye(c.bg,u),o=Ye(c.fg,u),s=c.name,l=ra(n)}else throw new ae("Invalid options, either `theme` or `themes` must be provided");return{tokens:n,fg:o,bg:r,themeName:s,rootStyle:i,grammarState:l}}function ki(e,t,a,r,o,n,s){return e.map((i,l)=>{let u=Ye(t[l][n],a[l])||"inherit",c=`${r+i.color}${n==="bg"?"-bg":""}:${u}`;if(l===0&&o){if(o===Co&&e.length>1){let d=e.findIndex(L=>L.color==="light"),f=e.findIndex(L=>L.color==="dark");if(d===-1||f===-1)throw new ae('When using `defaultColor: "light-dark()"`, you must provide both `light` and `dark` themes');let p=Ye(t[d][n],a[d])||"inherit",m=Ye(t[f][n],a[f])||"inherit";return`light-dark(${p}, ${m});${c}`}return u}return s==="css-vars"?c:null}).filter(i=>!!i).join(";")}function Ja(e,t,a,r={meta:{},options:a,codeToHast:(o,n)=>Ja(e,o,n),codeToTokens:(o,n)=>Qa(e,o,n)}){let o=t;for(let m of Ka(a))o=m.preprocess?.call(r,o,a)||o;let{tokens:n,fg:s,bg:i,themeName:l,rootStyle:u,grammarState:c}=Qa(e,o,a),{mergeWhitespaces:d=!0,mergeSameStyleTokens:f=!1}=a;d===!0?n=mp(n):d==="never"&&(n=hp(n)),f&&(n=gp(n));let p={...r,get source(){return o}};for(let m of Ka(a))n=m.tokens?.call(p,n)||n;return pp(n,{...a,fg:s,bg:i,themeName:l,rootStyle:a.rootStyle===!1?!1:a.rootStyle??u},p,c)}function pp(e,t,a,r=ra(e)){let o=Ka(t),n=[],s={type:"root",children:[]},{structure:i="classic",tabindex:l="0"}=t,u={class:`shiki ${t.themeName||""}`};t.rootStyle!==!1&&(t.rootStyle!=null?u.style=t.rootStyle:u.style=`background-color:${t.bg};color:${t.fg}`),l!==!1&&l!=null&&(u.tabindex=l.toString());for(let[L,I]of Object.entries(t.meta||{}))L.startsWith("_")||(u[L]=I);let c={type:"element",tagName:"pre",properties:u,children:[],data:t.data},d={type:"element",tagName:"code",properties:{},children:n},f=[],p={...a,structure:i,addClassToHast:Fi,get source(){return a.source},get tokens(){return e},get options(){return t},get root(){return s},get pre(){return c},get code(){return d},get lines(){return f}};if(e.forEach((L,I)=>{I&&(i==="inline"?s.children.push({type:"element",tagName:"br",properties:{},children:[]}):i==="classic"&&n.push({type:"text",value:`
13
+ `}));let w={type:"element",tagName:"span",properties:{class:"line"},children:[]},g=0;for(let h of L){let x={type:"element",tagName:"span",properties:{...h.htmlAttrs},children:[{type:"text",value:h.content}]},y=go(h.htmlStyle||Xa(h));y&&(x.properties.style=y);for(let T of o)x=T?.span?.call(p,x,I+1,g,w,h)||x;i==="inline"?s.children.push(x):i==="classic"&&w.children.push(x),g+=h.content.length}if(i==="classic"){for(let h of o)w=h?.line?.call(p,w,I+1)||w;f.push(w),n.push(w)}else i==="inline"&&f.push(w)}),i==="classic"){for(let L of o)d=L?.code?.call(p,d)||d;c.children.push(d);for(let L of o)c=L?.pre?.call(p,c)||c;s.children.push(c)}else if(i==="inline"){let L=[],I={type:"element",tagName:"span",properties:{class:"line"},children:[]};for(let h of s.children)h.type==="element"&&h.tagName==="br"?(L.push(I),I={type:"element",tagName:"span",properties:{class:"line"},children:[]}):(h.type==="element"||h.type==="text")&&I.children.push(h);L.push(I);let g={type:"element",tagName:"code",properties:{},children:L};for(let h of o)g=h?.code?.call(p,g)||g;s.children=[];for(let h=0;h<g.children.length;h++){h>0&&s.children.push({type:"element",tagName:"br",properties:{},children:[]});let x=g.children[h];x.type==="element"&&s.children.push(...x.children)}}let m=s;for(let L of o)m=L?.root?.call(p,m)||m;return r&&Za(m,r),m}function mp(e){return e.map(t=>{let a=[],r="",o;return t.forEach((n,s)=>{let l=!(n.fontStyle&&(n.fontStyle&Le.Underline||n.fontStyle&Le.Strikethrough));l&&n.content.match(/^\s+$/)&&t[s+1]?(o===void 0&&(o=n.offset),r+=n.content):r?(l?a.push({...n,offset:o,content:r+n.content}):a.push({content:r,offset:o},n),o=void 0,r=""):a.push(n)}),a})}function hp(e){return e.map(t=>t.flatMap(a=>{if(a.content.match(/^\s+$/))return a;let r=a.content.match(/^(\s*)(.*?)(\s*)$/);if(!r)return a;let[,o,n,s]=r;if(!o&&!s)return a;let i=[{...a,offset:a.offset+o.length,content:n}];return o&&i.unshift({content:o,offset:a.offset}),s&&i.push({content:s,offset:a.offset+o.length+n.length}),i}))}function gp(e){return e.map(t=>{let a=[];for(let r of t){if(a.length===0){a.push({...r});continue}let o=a[a.length-1],n=go(o.htmlStyle||Xa(o)),s=go(r.htmlStyle||Xa(r)),i=o.fontStyle&&(o.fontStyle&Le.Underline||o.fontStyle&Le.Strikethrough),l=r.fontStyle&&(r.fontStyle&Le.Underline||r.fontStyle&Le.Strikethrough);!i&&!l&&n===s?o.content+=r.content:a.push({...r})}return a})}var wp=po;function xp(e,t,a){let r={meta:{},options:a,codeToHast:(n,s)=>Ja(e,n,s),codeToTokens:(n,s)=>Qa(e,n,s)},o=wp(Ja(e,t,a,r));for(let n of Ka(a))o=n.postprocess?.call(r,o,a)||o;return o}var Ti={light:"#333333",dark:"#bbbbbb"},vi={light:"#fffffe",dark:"#1e1e1e"},Pi="__shiki_resolved";function bo(e){if(e?.[Pi])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:r}=t;if(!a||!r){let i=t.settings?t.settings.find(l=>!l.name&&!l.scope):void 0;i?.settings?.foreground&&(r=i.settings.foreground),i?.settings?.background&&(a=i.settings.background),!r&&t?.colors?.["editor.foreground"]&&(r=t.colors["editor.foreground"]),!a&&t?.colors?.["editor.background"]&&(a=t.colors["editor.background"]),r||(r=t.type==="light"?Ti.light:Ti.dark),a||(a=t.type==="light"?vi.light:vi.dark),t.fg=r,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 o=0,n=new Map;function s(i){if(n.has(i))return n.get(i);o+=1;let l=`#${o.toString(16).padStart(8,"0").toLowerCase()}`;return t.colorReplacements?.[`#${l}`]?s(i):(n.set(i,l),l)}t.settings=t.settings.map(i=>{let l=i.settings?.foreground&&!i.settings.foreground.startsWith("#"),u=i.settings?.background&&!i.settings.background.startsWith("#");if(!l&&!u)return i;let c={...i,settings:{...i.settings}};if(l){let d=s(i.settings.foreground);t.colorReplacements[d]=i.settings.foreground,c.settings.foreground=d}if(u){let d=s(i.settings.background);t.colorReplacements[d]=i.settings.background,c.settings.background=d}return c});for(let i of Object.keys(t.colors||{}))if((i==="editor.foreground"||i==="editor.background"||i.startsWith("terminal.ansi"))&&!t.colors[i]?.startsWith("#")){let l=s(t.colors[i]);t.colorReplacements[l]=t.colors[i],t.colors[i]=l}return Object.defineProperty(t,Pi,{enumerable:!1,writable:!1,value:!0}),t}async function Oi(e){return Array.from(new Set((await Promise.all(e.filter(t=>!Ri(t)).map(async t=>await Ai(t).then(a=>Array.isArray(a)?a:[a])))).flat()))}async function Ni(e){return(await Promise.all(e.map(async a=>Mi(a)?null:bo(await Ai(a))))).filter(a=>!!a)}var ho=3,Ip=!1;function Lp(e,t=3){if(ho&&!(typeof ho=="number"&&t>ho)){if(Ip)throw new Error(`[SHIKI DEPRECATE]: ${e}`);console.trace(`[SHIKI DEPRECATE]: ${e}`)}}var Je=class extends Error{constructor(t){super(t),this.name="ShikiError"}};function Ui(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 Je(`Circular alias \`${Array.from(a).join(" -> ")} -> ${e}\``);a.add(e)}}return e}var wo=class extends ri{constructor(t,a,r,o={}){super(t),this._resolver=t,this._themes=a,this._langs=r,this._alias=o,this._themes.map(n=>this.loadTheme(n)),this.loadLanguages(this._langs)}_resolvedThemes=new Map;_resolvedGrammars=new Map;_langMap=new Map;_langGraph=new Map;_textmateThemeCache=new WeakMap;_loadedThemesCache=null;_loadedLanguagesCache=null;getTheme(t){return typeof t=="string"?this._resolvedThemes.get(t):this.loadTheme(t)}loadTheme(t){let a=bo(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=Qt.createFromRawTheme(t),this._textmateThemeCache.set(t,a)),this._syncRegistry.setTheme(a)}getGrammar(t){return t=Ui(t,this._alias),this._resolvedGrammars.get(t)}loadLanguage(t){if(this.getGrammar(t.name))return;let a=new Set([...this._langMap.values()].filter(n=>n.embeddedLangsLazy?.includes(t.name)));this._resolver.addLanguage(t);let r={balancedBracketSelectors:t.balancedBracketSelectors||["*"],unbalancedBracketSelectors:t.unbalancedBracketSelectors||[]};this._syncRegistry._rawGrammars.set(t.scopeName,t);let o=this.loadGrammarWithConfiguration(t.scopeName,1,r);if(o.name=t.name,this._resolvedGrammars.set(t.name,o),t.aliases&&t.aliases.forEach(n=>{this._alias[n]=t.name}),this._loadedLanguagesCache=null,a.size)for(let n of a)this._resolvedGrammars.delete(n.name),this._loadedLanguagesCache=null,this._syncRegistry?._injectionGrammars?.delete(n.scopeName),this._syncRegistry?._grammars?.delete(n.scopeName),this.loadLanguage(this._langMap.get(n.name))}dispose(){super.dispose(),this._resolvedThemes.clear(),this._resolvedGrammars.clear(),this._langMap.clear(),this._langGraph.clear(),this._loadedThemesCache=null}loadLanguages(t){for(let o of t)this.resolveEmbeddedLanguages(o);let a=Array.from(this._langGraph.entries()),r=a.filter(([o,n])=>!n);if(r.length){let o=a.filter(([n,s])=>s?(s.embeddedLanguages||s.embeddedLangs)?.some(l=>r.map(([u])=>u).includes(l)):!1).filter(n=>!r.includes(n));throw new Je(`Missing languages ${r.map(([n])=>`\`${n}\``).join(", ")}, required by ${o.map(([n])=>`\`${n}\``).join(", ")}`)}for(let[o,n]of a)this._resolver.addLanguage(n);for(let[o,n]of a)this.loadLanguage(n)}getLoadedLanguages(){return this._loadedLanguagesCache||(this._loadedLanguagesCache=[...new Set([...this._resolvedGrammars.keys(),...Object.keys(this._alias)])]),this._loadedLanguagesCache}resolveEmbeddedLanguages(t){this._langMap.set(t.name,t),this._langGraph.set(t.name,t);let a=t.embeddedLanguages??t.embeddedLangs;if(a)for(let r of a)this._langGraph.set(r,this._langMap.get(r))}},xo=class{_langs=new Map;_scopeToLang=new Map;_injections=new Map;_onigLib;constructor(t,a){this._onigLib={createOnigScanner:r=>t.createScanner(r),createOnigString:r=>t.createString(r)},a.forEach(r=>this.addLanguage(r))}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("."),r=[];for(let o=1;o<=a.length;o++){let n=a.slice(0,o).join(".");r=[...r,...this._injections.get(n)||[]]}return r}},aa=0;function Cp(e){aa+=1,e.warnings!==!1&&aa>=10&&aa%10===0&&console.warn(`[Shiki] ${aa} 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 Je("`engine` option is required for synchronous mode");let a=(e.langs||[]).flat(1),r=(e.themes||[]).flat(1).map(bo),o=new xo(e.engine,a),n=new wo(o,r,a,e.langAlias),s;function i(h){return Ui(h,e.langAlias)}function l(h){w();let x=n.getGrammar(typeof h=="string"?h:h.name);if(!x)throw new Je(`Language \`${h}\` not found, you may need to load it first`);return x}function u(h){if(h==="none")return{bg:"",fg:"",name:"none",settings:[],type:"dark"};w();let x=n.getTheme(h);if(!x)throw new Je(`Theme \`${h}\` not found, you may need to load it first`);return x}function c(h){w();let x=u(h);s!==h&&(n.setTheme(x),s=h);let y=n.getColorMap();return{theme:x,colorMap:y}}function d(){return w(),n.getLoadedThemes()}function f(){return w(),n.getLoadedLanguages()}function p(...h){w(),n.loadLanguages(h.flat(1))}async function m(...h){return p(await Oi(h))}function L(...h){w();for(let x of h.flat(1))n.loadTheme(x)}async function I(...h){return w(),L(await Ni(h))}function w(){if(t)throw new Je("Shiki instance has been disposed")}function g(){t||(t=!0,n.dispose(),aa-=1)}return{setTheme:c,getTheme:u,getLanguage:l,getLoadedThemes:d,getLoadedLanguages:f,resolveLangAlias:i,loadLanguage:m,loadLanguageSync:p,loadTheme:I,loadThemeSync:L,dispose:g,[Symbol.dispose]:g}}async function Sp(e){e.engine||Lp("`engine` option is required. Use `createOnigurumaEngine` or `createJavaScriptRegexEngine` to create an engine.");let[t,a,r]=await Promise.all([Ni(e.themes||[]),Oi(e.langs||[]),e.engine]);return Cp({...e,themes:t,langs:a,engine:r})}async function yp(e){let t=await Sp(e);return{getLastGrammarState:(...a)=>sp(t,...a),codeToTokensBase:(a,r)=>So(t,a,r),codeToTokensWithThemes:(a,r)=>_i(t,a,r),codeToTokens:(a,r)=>Qa(t,a,r),codeToHast:(a,r)=>Ja(t,a,r),codeToHtml:(a,r)=>xp(t,a,r),getBundledLanguages:()=>({}),getBundledThemes:()=>({}),...t,getInternalContext:()=>t}}function Hi(e){let t=e.langs,a=e.themes,r=e.engine;async function o(n){function s(d){if(typeof d=="string"){if(d=n.langAlias?.[d]||d,Ri(d))return[];let f=t[d];if(!f)throw new ae(`Language \`${d}\` is not included in this bundle. You may want to load it from external source.`);return f}return d}function i(d){if(Mi(d))return"none";if(typeof d=="string"){let f=a[d];if(!f)throw new ae(`Theme \`${d}\` is not included in this bundle. You may want to load it from external source.`);return f}return d}let l=(n.themes??[]).map(d=>i(d)),u=(n.langs??[]).map(d=>s(d)),c=await yp({engine:n.engine??r(),...n,themes:l,langs:u});return{...c,loadLanguage(...d){return c.loadLanguage(...d.map(s))},loadTheme(...d){return c.loadTheme(...d.map(i))},getBundledLanguages(){return t},getBundledThemes(){return a}}}return o}function bp(e){let t;async function a(r={}){if(t){let o=await t;return await Promise.all([o.loadTheme(...r.themes||[]),o.loadLanguage(...r.langs||[])]),o}else{t=e({...r,themes:[],langs:[]});let o=await t;return await Promise.all([o.loadTheme(...r.themes||[]),o.loadLanguage(...r.langs||[])]),o}}return a}function qi(e,t){let a=bp(e);async function r(o,n){let s=await a({langs:[n.lang],themes:"theme"in n?[n.theme]:Object.values(n.themes)}),i=await t?.guessEmbeddedLanguages?.(o,n.lang,s);return i&&await s.loadLanguage(...i),s}return{getSingletonHighlighter(o){return a(o)},async codeToHtml(o,n){return(await r(o,n)).codeToHtml(o,n)},async codeToHast(o,n){return(await r(o,n)).codeToHast(o,n)},async codeToTokens(o,n){return(await r(o,n)).codeToTokens(o,n)},async codeToTokensBase(o,n){return(await r(o,n)).codeToTokensBase(o,n)},async codeToTokensWithThemes(o,n){return(await r(o,n)).codeToTokensWithThemes(o,n)},async getLastGrammarState(o,n){return(await a({langs:[n.lang],themes:[n.theme]})).getLastGrammarState(o,n)}}}var ko=[{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-DFS2FCNO.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-FBR445XW.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-BMSTTQT4.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-OHP5YUT7.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-LJNKRWP5.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-KUYJX32Q.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-NLMAEKLI.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-7ZVVH3VM.js"))},{id:"hurl",name:"Hurl",import:(()=>import("../hurl-B6WXEN45.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-CPV3A4MM.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-XWCHWP6B.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-U57UBFBS.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-IZHDGBO6.js"))},{id:"php",name:"PHP",import:(()=>import("../php-MNP62HWP.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-6KQSGP2V.js"))},{id:"ruby",name:"Ruby",aliases:["rb"],import:(()=>import("../ruby-OWE2HOOR.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-XNK5N5RZ.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-OEIJ72KK.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-FIH2DYBE.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"))}],Gi=Object.fromEntries(ko.map(e=>[e.id,e.import])),Wi=Object.fromEntries(ko.flatMap(e=>e.aliases?.map(t=>[t,e.import])||[])),oa={...Gi,...Wi};var kp=[{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"))}],Vi=Object.fromEntries(kp.map(e=>[e.id,e.import]));var na=class extends Error{constructor(t){super(t),this.name="ShikiError"}};function Tp(){return 2147483648}function vp(){return typeof performance<"u"?performance.now():Date.now()}var Pp=(e,t)=>e+(t-e%t)%t;async function Ap(e){let t,a,r={};function o(p){a=p,r.HEAPU8=new Uint8Array(p),r.HEAPU32=new Uint32Array(p)}function n(p,m,L){r.HEAPU8.copyWithin(p,m,m+L)}function s(p){try{return t.grow(p-a.byteLength+65535>>>16),o(t.buffer),1}catch{}}function i(p){let m=r.HEAPU8.length;p=p>>>0;let L=Tp();if(p>L)return!1;for(let I=1;I<=4;I*=2){let w=m*(1+.2/I);w=Math.min(w,p+100663296);let g=Math.min(L,Pp(Math.max(p,w),65536));if(s(g))return!0}return!1}let l=typeof TextDecoder<"u"?new TextDecoder("utf8"):void 0;function u(p,m,L=1024){let I=m+L,w=m;for(;p[w]&&!(w>=I);)++w;if(w-m>16&&p.buffer&&l)return l.decode(p.subarray(m,w));let g="";for(;m<w;){let h=p[m++];if(!(h&128)){g+=String.fromCharCode(h);continue}let x=p[m++]&63;if((h&224)===192){g+=String.fromCharCode((h&31)<<6|x);continue}let y=p[m++]&63;if((h&240)===224?h=(h&15)<<12|x<<6|y:h=(h&7)<<18|x<<12|y<<6|p[m++]&63,h<65536)g+=String.fromCharCode(h);else{let T=h-65536;g+=String.fromCharCode(55296|T>>10,56320|T&1023)}}return g}function c(p,m){return p?u(r.HEAPU8,p,m):""}let d={emscripten_get_now:vp,emscripten_memcpy_big:n,emscripten_resize_heap:i,fd_write:()=>0};async function f(){let m=await e({env:d,wasi_snapshot_preview1:d});t=m.memory,o(t.buffer),Object.assign(r,m),r.UTF8ToString=c}return await f(),r}var Rp=Object.defineProperty,Mp=(e,t,a)=>t in e?Rp(e,t,{enumerable:!0,configurable:!0,writable:!0,value:a}):e[t]=a,ce=(e,t,a)=>Mp(e,typeof t!="symbol"?t+"":t,a),ge=null;function Fp(e){throw new na(e.UTF8ToString(e.getLastOnigError()))}var tr=class e{constructor(t){ce(this,"utf16Length"),ce(this,"utf8Length"),ce(this,"utf16Value"),ce(this,"utf8Value"),ce(this,"utf16OffsetToUtf8"),ce(this,"utf8OffsetToUtf16");let a=t.length,r=e._utf8ByteLength(t),o=r!==a,n=o?new Uint32Array(a+1):null;o&&(n[a]=r);let s=o?new Uint32Array(r+1):null;o&&(s[r]=a);let i=new Uint8Array(r),l=0;for(let u=0;u<a;u++){let c=t.charCodeAt(u),d=c,f=!1;if(c>=55296&&c<=56319&&u+1<a){let p=t.charCodeAt(u+1);p>=56320&&p<=57343&&(d=(c-55296<<10)+65536|p-56320,f=!0)}o&&(n[u]=l,f&&(n[u+1]=l),d<=127?s[l+0]=u:d<=2047?(s[l+0]=u,s[l+1]=u):d<=65535?(s[l+0]=u,s[l+1]=u,s[l+2]=u):(s[l+0]=u,s[l+1]=u,s[l+2]=u,s[l+3]=u)),d<=127?i[l++]=d:d<=2047?(i[l++]=192|(d&1984)>>>6,i[l++]=128|(d&63)>>>0):d<=65535?(i[l++]=224|(d&61440)>>>12,i[l++]=128|(d&4032)>>>6,i[l++]=128|(d&63)>>>0):(i[l++]=240|(d&1835008)>>>18,i[l++]=128|(d&258048)>>>12,i[l++]=128|(d&4032)>>>6,i[l++]=128|(d&63)>>>0),f&&u++}this.utf16Length=a,this.utf8Length=r,this.utf16Value=t,this.utf8Value=i,this.utf16OffsetToUtf8=n,this.utf8OffsetToUtf16=s}static _utf8ByteLength(t){let a=0;for(let r=0,o=t.length;r<o;r++){let n=t.charCodeAt(r),s=n,i=!1;if(n>=55296&&n<=56319&&r+1<o){let l=t.charCodeAt(r+1);l>=56320&&l<=57343&&(s=(n-55296<<10)+65536|l-56320,i=!0)}s<=127?a+=1:s<=2047?a+=2:s<=65535?a+=3:a+=4,i&&r++}return a}createString(t){let a=t.omalloc(this.utf8Length);return t.HEAPU8.set(this.utf8Value,a),a}},ar=class qe{constructor(t){if(ce(this,"id",++qe.LAST_ID),ce(this,"_onigBinding"),ce(this,"content"),ce(this,"utf16Length"),ce(this,"utf8Length"),ce(this,"utf16OffsetToUtf8"),ce(this,"utf8OffsetToUtf16"),ce(this,"ptr"),!ge)throw new na("Must invoke loadWasm first.");this._onigBinding=ge,this.content=t;let a=new tr(t);this.utf16Length=a.utf16Length,this.utf8Length=a.utf8Length,this.utf16OffsetToUtf8=a.utf16OffsetToUtf8,this.utf8OffsetToUtf16=a.utf8OffsetToUtf16,this.utf8Length<1e4&&!qe._sharedPtrInUse?(qe._sharedPtr||(qe._sharedPtr=ge.omalloc(1e4)),qe._sharedPtrInUse=!0,ge.HEAPU8.set(a.utf8Value,qe._sharedPtr),this.ptr=qe._sharedPtr):this.ptr=a.createString(ge)}convertUtf8OffsetToUtf16(t){return this.utf8OffsetToUtf16?t<0?0:t>this.utf8Length?this.utf16Length:this.utf8OffsetToUtf16[t]:t}convertUtf16OffsetToUtf8(t){return this.utf16OffsetToUtf8?t<0?0:t>this.utf16Length?this.utf8Length:this.utf16OffsetToUtf8[t]:t}dispose(){this.ptr===qe._sharedPtr?qe._sharedPtrInUse=!1:this._onigBinding.ofree(this.ptr)}};ce(ar,"LAST_ID",0);ce(ar,"_sharedPtr",0);ce(ar,"_sharedPtrInUse",!1);var zi=ar,vo=class{constructor(t){if(ce(this,"_onigBinding"),ce(this,"_ptr"),!ge)throw new na("Must invoke loadWasm first.");let a=[],r=[];for(let i=0,l=t.length;i<l;i++){let u=new tr(t[i]);a[i]=u.createString(ge),r[i]=u.utf8Length}let o=ge.omalloc(4*t.length);ge.HEAPU32.set(a,o/4);let n=ge.omalloc(4*t.length);ge.HEAPU32.set(r,n/4);let s=ge.createOnigScanner(o,n,t.length);for(let i=0,l=t.length;i<l;i++)ge.ofree(a[i]);ge.ofree(n),ge.ofree(o),s===0&&Fp(ge),this._onigBinding=ge,this._ptr=s}dispose(){this._onigBinding.freeOnigScanner(this._ptr)}findNextMatchSync(t,a,r){let o=0;if(typeof r=="number"&&(o=r),typeof t=="string"){t=new zi(t);let n=this._findNextMatchSync(t,a,!1,o);return t.dispose(),n}return this._findNextMatchSync(t,a,!1,o)}_findNextMatchSync(t,a,r,o){let n=this._onigBinding,s=n.findNextOnigScannerMatch(this._ptr,t.id,t.ptr,t.utf8Length,t.convertUtf16OffsetToUtf8(a),o);if(s===0)return null;let i=n.HEAPU32,l=s/4,u=i[l++],c=i[l++],d=[];for(let f=0;f<c;f++){let p=t.convertUtf8OffsetToUtf16(i[l++]),m=t.convertUtf8OffsetToUtf16(i[l++]);d[f]={start:p,end:m,length:m-p}}return{index:u,captureIndices:d}}};function Bp(e){return typeof e.instantiator=="function"}function Ep(e){return typeof e.default=="function"}function Dp(e){return typeof e.data<"u"}function _p(e){return typeof Response<"u"&&e instanceof Response}function Op(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 er;function Np(e){if(er)return er;async function t(){ge=await Ap(async a=>{let r=e;return r=await r,typeof r=="function"&&(r=await r(a)),typeof r=="function"&&(r=await r(a)),Bp(r)?r=await r.instantiator(a):Ep(r)?r=await r.default(a):(Dp(r)&&(r=r.data),_p(r)?typeof WebAssembly.instantiateStreaming=="function"?r=await Up(r)(a):r=await Hp(r)(a):Op(r)?r=await To(r)(a):r instanceof WebAssembly.Module?r=await To(r)(a):"default"in r&&r.default instanceof WebAssembly.Module&&(r=await To(r.default)(a))),"instance"in r&&(r=r.instance),"exports"in r&&(r=r.exports),r})}return er=t(),er}function To(e){return t=>WebAssembly.instantiate(e,t)}function Up(e){return t=>WebAssembly.instantiateStreaming(e,t)}function Hp(e){return async t=>{let a=await e.arrayBuffer();return WebAssembly.instantiate(a,t)}}async function ji(e){return e&&await Np(e),{createScanner(t){return new vo(t.map(a=>typeof a=="string"?a:a.source))},createString(t){return new zi(t)}}}var rr=Hi({langs:oa,themes:Vi,engine:()=>ji(import("../wasm-EOPKAILK.js"))}),{codeToHtml:qp,codeToHast:Gp,codeToTokens:Wp,codeToTokensBase:Vp,codeToTokensWithThemes:zp,getSingletonHighlighter:jp,getLastGrammarState:$p}=qi(rr,{guessEmbeddedLanguages:Bi});var $i=new Set(Object.keys(oa)),Po=new Map,Ao=new Map,kt=new Map,Xp=(e,t)=>`${e}-${t[0]}-${t[1]}`,Kp=(e,t,a)=>{let r=e.slice(0,100),o=e.length>100?e.slice(-100):"";return`${t}:${a[0]}:${a[1]}:${e.length}:${r}:${o}`},Qp=(e,t)=>{let a=Xp(e,t);if(Po.has(a))return Po.get(a);let r=rr({themes:t,langs:[e]});return Po.set(a,r),r};function Jp(e={}){var t;let a=(t=e.themes)!=null?t:["github-light","github-dark"];return{name:"shiki",type:"code-highlighter",supportsLanguage(r){return $i.has(r)},getSupportedLanguages(){return Array.from($i)},getThemes(){return a},highlight({code:r,language:o,themes:n},s){let i=Kp(r,o,n);return Ao.has(i)?Ao.get(i):(s&&(kt.has(i)||kt.set(i,new Set),kt.get(i).add(s)),Qp(o,n).then(l=>{let u=l.getLoadedLanguages().includes(o)?o:"text",c=l.codeToTokens(r,{lang:u,themes:{light:n[0],dark:n[1]}});Ao.set(i,c);let d=kt.get(i);if(d){for(let f of d)f(c);kt.delete(i)}}).catch(l=>{console.error("[Streamdown Code] Failed to highlight code:",l),kt.delete(i)}),null)}}}var Xi=Jp();import{memo as tm}from"react";import{useEffect as Yp,useRef as or,useState as Zp}from"react";var em=5,Ki=400;function Qi(e,t,a={}){let{msPerChar:r=em}=a,[o,n]=Zp(t?"":e),s=or(e),i=or(t?0:e.length),l=or(0),u=or(null);return(e.length<i.current||!e.startsWith(o.slice(0,i.current)))&&(i.current=t?0:e.length),s.current=e,Yp(()=>{if(!t){u.current!==null&&(cancelAnimationFrame(u.current),u.current=null),i.current=e.length,n(e);return}if(s.current.length-i.current>Ki&&(i.current=s.current.length-Ki),u.current!==null)return;let d=f=>{let p=s.current;if(i.current>=p.length){u.current=null;return}l.current===0&&(l.current=f);let m=f-l.current;if(m>=r){let L=Math.min(Math.floor(m/r),p.length-i.current);i.current+=L,n(p.slice(0,i.current)),l.current=f}u.current=requestAnimationFrame(d)};return u.current=requestAnimationFrame(d),()=>{u.current!==null&&(cancelAnimationFrame(u.current),u.current=null)}},[e,t,r]),o}import{jsx as nr}from"react/jsx-runtime";var Ro=({className:e,from:t,children:a,...r})=>nr("div",{className:k("ww-message ww:group ww:flex ww:w-full",t==="user"?"ww-message-user is-user ww:ml-auto ww:flex-col ww:items-end ww:[max-width:var(--ww-msg-max-width,80%)]":"ww-message-assistant is-assistant ww:flex-col",e),...r,children:nr("div",{className:k("ww:flex ww:min-w-0 ww:flex-col ww:gap-2","ww:w-full"),children:a})}),Mo=({children:e,className:t,...a})=>nr("div",{className:k("ww-bubble ww:flex ww:w-fit ww:min-w-0 ww:max-w-full ww:flex-col ww:gap-2 ww:overflow-hidden","ww:[font-size:var(--ww-font-size,1rem)] ww:[line-height:var(--ww-line-height,1.5)]","ww:group-[.is-user]:ml-auto ww:group-[.is-user]:bg-user-bubble ww:group-[.is-user]:[color:var(--ww-color-user-bubble-text)] ww:group-[.is-user]:[border-radius:var(--ww-msg-radius,8px)] ww:group-[.is-user]:[padding:var(--ww-msg-pad-y,12px)_var(--ww-msg-pad-x,16px)]","ww:group-[.is-assistant]:text-foreground",t),...a,children:e}),am={cjk:Yr,code:Xi},rm={cjk:Yr},om={enabled:!1};function nm({className:e,linkSafety:t,isStreaming:a,children:r,...o}){let s=Qi(typeof r=="string"?r:"",!!a),i=typeof r=="string"?s:r;return nr(Rt,{className:k("ww:size-full ww:[&>*:first-child]:mt-0 ww:[&>*:last-child]:mb-0",e),linkSafety:t??om,plugins:a?rm:am,...o,children:i})}var sr=tm(nm,(e,t)=>e.children===t.children&&e.isStreaming===t.isStreaming);sr.displayName="MessageResponse";import{createContext as sm,useCallback as im,useContext as el,useEffect as lm,useMemo as Bo,useRef as um,useState as Eo}from"react";import{Fragment as Zi,jsx as X,jsxs as ct}from"react/jsx-runtime";function dm(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 r=Object.entries(e),o=[],n=t-2;for(let[s,i]of r){if(n<=8)break;let l=s.length>4?`${s.slice(0,4)}\u2026`:s,u;typeof i=="string"?u=i.length>2?`'${i.slice(0,1)}\u2026`:`'${i}'`:Array.isArray(i)?u=`Array(${i.length})`:typeof i=="object"&&i!==null?u="{\u2026}":u=String(i);let c=`${l}\u2009${u}`;o.push(c),n-=c.length+3}return`{${o.join(", ")}}`}function cm({text:e,className:t}){let{t:a}=z(),[r,o]=Eo(!1),n=um(null);lm(()=>()=>{n.current&&clearTimeout(n.current)},[]);let s=im(async i=>{i.stopPropagation();try{await navigator.clipboard.writeText(e),o(!0),n.current&&clearTimeout(n.current),n.current=setTimeout(()=>o(!1),2e3)}catch{}},[e]);return X(Be,{variant:"ghost",size:"sm",onClick:s,className:k("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:r?ct(Zi,{children:[X(Ft,{className:"ww:size-3.5"}),X("span",{children:a.tool.copied})]}):ct(Zi,{children:[X(Et,{className:"ww:size-3.5"}),X("span",{children:a.tool.copy})]})})}function tl({data:e,label:t,className:a,...r}){let[o,n]=Eo(!1),s=Bo(()=>JSON.stringify(e,null,2),[e]),i=dm(e);return ct("div",{className:k("ww:rounded-lg ww:bg-tool-card",a),...r,children:[ct("div",{className:"ww:flex ww:items-center ww:justify-between ww:px-3 ww:pt-2.5 ww:pb-1.5",children:[X("span",{className:"ww:text-xs ww:font-medium ww:text-muted-foreground",children:t}),X(cm,{text:s})]}),ct("button",{type:"button",onClick:()=>n(l=>!l),className:"ww:flex ww:w-full ww:items-start ww:gap-2 ww:px-3 ww:pb-3 ww:text-left",children:[X(Bt,{className:k("ww:mt-0.5 ww:size-3.5 ww:shrink-0 ww:text-muted-foreground ww:transition-transform ww:duration-150",o&&"ww:rotate-90")}),o?X("pre",{className:"ww:overflow-x-auto ww:text-xs ww:font-mono ww:text-foreground ww:whitespace-pre-wrap ww:break-all",children:X("code",{children:s})}):X("span",{className:"ww:truncate ww:text-xs ww:font-mono ww:text-foreground/80",children:i})]})]})}var Do=sm({open:!1,toggle:()=>{}});function al({className:e,defaultOpen:t=!1,children:a,...r}){let[o,n]=Eo(t);return X(Do.Provider,{value:{open:o,toggle:()=>n(s=>!s)},children:X("div",{className:k("ww:mb-4 ww:w-full",e),"data-state":o?"open":"closed",style:{animation:"ww-fade-in 0.2s ease-out"},...r,children:a})})}function rl({className:e,title:t,state:a,...r}){let{open:o,toggle:n}=el(Do),s=a==="input-available"||a==="input-streaming",i=t??"";return ct("button",{type:"button",onClick:n,className:k("ww:flex ww:w-full ww:items-center ww:gap-2 ww:text-sm ww:text-muted-foreground ww:transition-colors ww:hover:text-foreground",e),"aria-expanded":o,...r,children:[X(rt,{className:"ww:size-4 ww:shrink-0"}),X("span",{className:"ww:truncate",children:s?X(_e,{duration:1.6,children:i}):i}),X(je,{className:k("ww:size-4 ww:shrink-0 ww:transition-transform ww:duration-200",o&&"ww:rotate-180")})]})}function ol({className:e,title:t,state:a,...r}){let o=a==="input-available"||a==="input-streaming",n=t??"";return X("div",{className:k("ww:mb-4 ww:flex ww:items-center ww:gap-2 ww:text-sm ww:text-muted-foreground",e),style:{animation:"ww-fade-in 0.2s ease-out"},...r,children:X("span",{className:"ww:truncate",children:o?X(_e,{duration:1.6,children:n}):n})})}function nl({className:e,children:t,...a}){let{open:r}=el(Do);return X("div",{className:k("ww:grid ww:transition-[grid-template-rows,opacity] ww:duration-200 ww:ease-out",r?"ww:grid-rows-[1fr] ww:opacity-100":"ww:grid-rows-[0fr] ww:opacity-0"),children:X("div",{className:"ww:min-h-0 ww:overflow-hidden",children:X("div",{className:k("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 _o({className:e,input:t,debug:a,...r}){let{t:o}=z(),n=Bo(()=>{if(!a&&typeof t=="object"&&t!==null&&!Array.isArray(t)){let{_meta:s,...i}=t;return i}return t},[t,a]);return X(tl,{data:n,label:o.tool.request,className:e,...r})}function Fo(e){if(!(typeof e!="object"||e===null))return e}function sl(e){return Fo(e?.ui)}function il(e){return Fo(Fo(e)?._meta)}function Ji(e){if(!e)return;let t=sl(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 r=e["openai/outputTemplate"];if(typeof r=="string"&&r.length>0)return r}function Yi(e){return sl(e)?.autoHeight===!0}function sa(e,t,a){if(e){let r=Ji(a?.[e]?._meta);if(r)return r}return Ji(il(t))}function ll(e,t,a){return e&&Yi(a?.[e]?._meta)?!0:Yi(il(t))}function Oo({className:e,output:t,errorText:a,debug:r,...o}){let{t:n}=z(),s=Bo(()=>{if(!r&&typeof t=="object"&&t!==null&&!Array.isArray(t)){let{_meta:i,...l}=t;return l}return t},[t,r]);return t||a?a?ct("div",{className:k("ww:space-y-2",e),...o,children:[X("h4",{className:"ww:text-xs ww:font-medium ww:uppercase ww:tracking-wide ww:text-muted-foreground",children:n.tool.error}),X("div",{className:"ww:rounded-lg ww:bg-destructive/10 ww:p-3 ww:text-xs ww:text-destructive",children:a})]}):X(tl,{data:s,label:n.tool.response,className:e,...o}):null}import{jsx as ul,jsxs as fm}from"react/jsx-runtime";function dl(e){return e.type==="text"||e.type==="reasoning"||e.type==="file"||"toolCallId"in e}function cl(e){return e.parts.some(dl)}function fl(e,t,a){if(t!=="submitted"&&t!=="streaming")return!1;let r=e[e.length-1];return!r||r.role!=="assistant"?!0:!r.parts.some(n=>!(!dl(n)||a?.ignoreToolParts&&"toolCallId"in n||a?.ignoreReasoningParts&&n.type==="reasoning"))}function pl({className:e,...t}){let{t:a}=z();return fm("div",{"aria-live":"polite",className:k("ww:mb-4 ww:flex ww:w-full ww:items-center ww:gap-2 ww:text-sm ww:text-muted-foreground",e),style:{animation:"ww-fade-in 0.2s ease-out"},...t,children:[ul(Ht,{className:"ww:size-4 ww:shrink-0"}),ul(_e,{duration:1.6,children:a.workingIndicator.default})]})}import{useCallback as pm,useEffect as No,useMemo as mm,useRef as ke,useState as hl}from"react";function Tt(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 ml(e,t){return!Tt(e)&&!Tt(t)?null:Tt(e)?Tt(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 km}from"react/jsx-runtime";var hm="/api/mcp/resource",gm=500,wm=0,xm=16,Im="2026-01-26",Lm=300,Cm=3e3,Sm=3;function ym(e){if(typeof e!="string")return;let t=e.trim();return t.length>0?t:void 0}function bm(e,t,a){return sa(e,t,a)?!1:t._meta?.["waniwani/autoInjectResultText"]!==!1}function Uo({resourceUri:e,toolInput:t,toolResult:a,resourceEndpoint:r=hm,chatSessionId:o,isDark:n=!1,className:s,autoHeight:i=!1,onOpenLink:l,onFollowUp:u,onCallTool:c,onDisplayModeChange:d,isFullscreen:f=!1,toolDefinitions:p}){let m=ke(null),L=ke(t),I=ke(a),w=ke({width:0,height:0}),g=ke(null),h=ke(!1),x=ke(0),y=ke("inline"),[T,v]=hl(wm),[A,R]=hl(void 0),F=ke(l),P=ke(u),b=ke(c),H=ke(d),G=ke(o),S=ke(p);L.current=t,I.current=a,F.current=l,P.current=u,b.current=c,H.current=d,G.current=o,S.current=p;let D=pm(_=>i?Math.max(_+xm,0):Math.min(Math.max(_,50),gm),[i]),B=mm(()=>{let _=r.includes("?")?"&":"?";return`${r}${_}uri=${encodeURIComponent(e)}`},[r,e]),Te=ke(n);Te.current=n;let we=ke(f);return No(()=>{we.current=f,w.current.height=-1,g.current&&(g.current.cancel(),g.current=null)},[f]),No(()=>{if(!h.current)return;let _=m.current;_?.contentWindow&&_.contentWindow.postMessage({jsonrpc:"2.0",method:"ui/notifications/host-context-changed",params:{theme:n?"dark":"light"}},"*")},[n]),No(()=>{let _=m.current;if(!_)return;let me=!1,oe=!1,ye=null,ne=null,V=setTimeout(()=>{if(me||oe||x.current>=Sm)return;x.current+=1;let de=new URL(_.src);de.searchParams.set("_retry",String(x.current)),_.src=de.toString()},Cm),$=de=>{_.contentWindow?.postMessage(de,"*")},ve=de=>{if(me||de.source!==_.contentWindow)return;let K=de.data;if(!K||typeof K!="object"||K.jsonrpc!=="2.0")return;let se=K.method,W=K.id;if(se==="ui/initialize"&&W!=null){oe=!0,clearTimeout(V),$({jsonrpc:"2.0",id:W,result:{protocolVersion:K.params?.protocolVersion??Im,hostInfo:{name:"Waniwani Chat",version:"1.0.0"},hostCapabilities:{openLinks:{},message:{text:{}},tools:{},updateModelContext:{text:{},structuredContent:{}}},hostContext:{theme:Te.current?"dark":"light",displayMode:y.current}}});return}if(se==="ui/notifications/initialized"){h.current=!0;let O=L.current,q=I.current,Q=q._meta&&typeof q._meta=="object"?q._meta:null,ie=ym(G.current),te=Q&&typeof Q.waniwani=="object"&&Q.waniwani!==null?Q.waniwani:null,xe=te||ie?{...te??{},...ie?{sessionId:ie}:{}}:void 0,M=Q||xe?{...Q??{},...xe?{waniwani:xe}:{}}:void 0;$({jsonrpc:"2.0",method:"ui/notifications/tool-input",params:{arguments:O}});let N=q.content??[{type:"text",text:JSON.stringify(q)}];$({jsonrpc:"2.0",method:"ui/notifications/tool-result",params:{content:N,structuredContent:q.structuredContent,_meta:M,meta:M}});return}if(se==="ui/notifications/size-changed"){let O=K.params,q=typeof O?.height=="number"?O.height:void 0,Q=typeof O?.width=="number"?O.width:void 0,ie=w.current,te=q!==void 0&&q!==ie.height,xe=Q!==void 0&&Q!==ie.width;if(!te&&!xe)return;if(te&&q!==void 0){if(ie.height=q,we.current)return;let M=D(q),N=_.getBoundingClientRect().height;if(g.current&&(g.current.cancel(),g.current=null),v(M),_.animate&&Math.abs(N-M)>2){let Z=_.animate([{height:`${N}px`},{height:`${M}px`}],{duration:Lm,easing:"ease-out",fill:"forwards"});g.current=Z,Z.onfinish=()=>{g.current===Z&&(Z.cancel(),g.current=null)}}}xe&&i&&Q!==void 0&&(ie.width=Q,R(Q));return}if(se==="ui/open-link"&&W!=null){let O=K.params?.url;typeof O=="string"&&(F.current?F.current(O):window.open(O,"_blank","noopener,noreferrer")),$({jsonrpc:"2.0",id:W,result:{}});return}if(se==="ui/message"&&W!=null){if(P.current&&K.params){let O=K.params,q=ye;if(ye=null,ne){clearTimeout(ne.timer);let Q=ne.text;ne=null;let ie=(O.content??[]).map(te=>te.text??"").join("").trim();O={...O,content:[{type:"text",text:`${ie}
14
14
 
15
- ${Q}`}]}}F.current({...N,...W?{modelContext:W}:{}})}$({jsonrpc:"2.0",id:q,result:{}});return}if(se==="ui/update-model-context"&&q!=null){ye=cl(ye,K.params),$({jsonrpc:"2.0",id:q,result:{}});return}if(se==="tools/call"&&q!=null){let N=b.current;if(!N){$({jsonrpc:"2.0",id:q,error:{code:-32601,message:"tools/call not supported"}});return}let W=K.params?.name;N({name:W,arguments:K.params?.arguments??{}}).then(Q=>{$({jsonrpc:"2.0",id:q,result:Q});let ie=Q.content?.map(te=>te.text??"").join("").trim();ie&&mm(W,Q,S.current)&&(ne&&clearTimeout(ne.timer),ne={text:ie,timer:setTimeout(()=>{if(me)return;let te=ye;ye=null,ne=null,F.current?.({role:"user",content:[{type:"text",text:ie}],...te?{modelContext:te}:{}})},500)})}).catch(Q=>{let ie=Q instanceof Error?Q.message:"Tool call failed";$({jsonrpc:"2.0",id:q,error:{code:-32e3,message:ie}})});return}if(se==="ui/request-display-mode"&&q!=null){let N=K.params?.mode,W=N==="fullscreen"||N==="inline"||N==="pip"?N:"inline";y.current=W,$({jsonrpc:"2.0",id:q,result:{mode:W}}),$({jsonrpc:"2.0",method:"ui/notifications/host-context-changed",params:{displayMode:W}}),z.current?.(W);return}if(se==="ui/resource-teardown"&&q!=null){$({jsonrpc:"2.0",id:q,result:{}});return}se==="ping"&&q!=null&&$({jsonrpc:"2.0",id:q,result:{}})};return window.addEventListener("message",ve),()=>{me=!0,clearTimeout(G),ne&&clearTimeout(ne.timer),window.removeEventListener("message",ve)}},[i,E]),hm("iframe",{ref:m,src:B,sandbox:"allow-scripts allow-forms allow-same-origin allow-popups allow-popups-to-escape-sandbox",className:k(!p&&"ww:rounded-md ww:border ww:border-border",s),style:{height:p?"100%":T,minWidth:p||!A?void 0:`min(${A}px, 100%)`,width:"100%",border:"none",colorScheme:n?"dark":"auto"},title:"MCP App"})}import{jsx as sa,jsxs as gm}from"react/jsx-runtime";function pl({icon:e,title:t,description:a,suggestions:r,onSuggestionSelect:o}){return gm("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&&sa("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}),sa("h2",{className:"ww:text-lg ww:font-semibold ww:text-foreground",children:t}),a&&sa("p",{className:"ww:mt-1 ww:text-sm ww:text-muted-foreground ww:max-w-sm",children:a}),r&&r.length>0&&sa("div",{className:"ww:mt-6 ww:w-full ww:max-w-md ww:flex ww:flex-col ww:gap-2",children:r.map((n,s)=>sa("button",{type:"button",onClick:()=>o?.(n),className:k("ww:w-full ww:text-left ww:rounded-xl ww:border ww:border-border ww:bg-background ww:px-4 ww:py-3 ww:text-sm","ww:text-foreground ww:hover:bg-accent ww:hover:border-primary/30","ww:transition-all ww:duration-200 ww:ease-out ww:cursor-pointer","ww:animate-[ww-fade-in_0.2s_ease-out_both]"),style:{animationDelay:`${s*50}ms`},children:n},n))})]})}import{Component as wm}from"react";import{jsx as No,jsxs as Lm}from"react/jsx-runtime";function xm({onRetry:e}){let{t}=V();return Lm("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:[No("span",{children:t.widgetErrorBoundary.failedToLoad}),No("button",{type:"button",onClick:e,className:"ww:text-xs ww:font-medium ww:text-primary ww:hover:underline",children:t.widgetErrorBoundary.retry})]})}var nr=class extends wm{state={hasError:!1};static getDerivedStateFromError(){return{hasError:!0}}componentDidCatch(t){console.warn("[Waniwani] Widget failed to render:",t.message)}render(){return this.state.hasError?No(xm,{onRetry:()=>this.setState({hasError:!1})}):this.props.children}};import{Fragment as Im,jsx as Y,jsxs as Ze}from"react/jsx-runtime";function Oo(e){return e?e.replace(/[-_]/g," ").replace(/^\w/,t=>t.toUpperCase()):"Tool"}function ml(e){return e&&/search|find|lookup|query|web|browse|google/i.test(e)?Et:rt}function sr({messages:e,status:t,welcomeMessage:a,welcome:r,onSuggestionSelect:o,resourceEndpoint:n,chatSessionId:s,isDark:i,onFollowUp:l,onCallTool:u,onWidgetDisplayModeChange:c,fullscreenToolCallId:d,debug:p,showToolCalls:f=!0,toolDefinitions:m,messageClassNames:I}){let{t:L}=V(),w=e[e.length-1],g=e.length>0,h=d!=null,x=!h&&ul(e,t,{ignoreToolParts:f===!1,ignoreReasoningParts:f===!1});return Ze(Im,{children:[!h&&(!g&&r?Y(pl,{...r,onSuggestionSelect:o}):a&&Y(vo,{from:"assistant",children:Y(Po,{children:Y(or,{children:a})})})),e.map(y=>{let T=y.parts.filter(S=>S.type==="text"),v=y.parts.filter(S=>S.type==="reasoning"),A=y.parts.filter(S=>S.type==="file"),R=y.parts.filter(S=>"toolCallId"in S),P=y.parts.filter(S=>S.type==="reasoning"||"toolCallId"in S),F=y===w&&y.role==="assistant",b=T.length>0,z=h?R.some(S=>S.toolCallId===d):!1,H=f!==!1&&!z&&P.length>=2;return h&&!z?Y("div",{style:{display:"none"}},y.id):y.role==="assistant"&&!ll(y)?Y("div",{style:{display:"none"}},y.id):f===!1&&y.role==="assistant"&&!b&&A.length===0&&R.every(S=>{let E="output"in S?S.output:void 0;return E===void 0||!n||!na(S.toolName,E,m)})?Y("div",{style:{display:"none"}},y.id):Ze(vo,{from:y.role,className:I?.message,children:[f!==!1&&!z&&!H&&v.map((S,E)=>Ze(Gt,{isStreaming:S.state==="streaming",children:[Y(Vt,{}),Y(zt,{children:S.text})]},`reasoning-${y.id}-${E}`)),H&&(()=>{let S=P[P.length-1],E=S.type==="reasoning"?{icon:We,label:L.reasoning.thinking}:{icon:ml(S.toolName),label:S.title??Oo(S.toolName)};return Ze(cs,{isWorking:F&&(t==="streaming"||t==="submitted"),activeStep:E,children:[Y(fs,{workingLabel:L.chainOfThought.working,label:L.chainOfThought.done}),Y(ps,{children:P.map((B,Te)=>{let we=Te===P.length-1;if(B.type==="reasoning")return Y(hs,{isStreaming:B.state==="streaming",isLast:we,children:B.text},`reasoning-${y.id}-${Te}`);let _=B.title??Oo(B.toolName),me=ml(B.toolName);if(f==="titles-only")return Y(jr,{icon:me,title:_,state:B.state,isLast:we},B.toolCallId);let oe="output"in B?B.output:void 0;return Ze(jr,{icon:me,title:_,state:B.state,isLast:we,children:[Y(Bo,{input:B.input,debug:p}),oe!==void 0&&Y(Do,{output:oe,errorText:"errorText"in B?B.errorText:void 0,debug:p})]},B.toolCallId)})})]})})(),f!==!1&&!z&&!H&&R.length===1&&(()=>{let S=R[0],E=S.title??Oo(S.toolName);if(f==="titles-only")return Y(tl,{title:E,state:S.state});let B="output"in S?S.output:void 0;return Ze(Zi,{children:[Y(el,{title:E,state:S.state}),Ze(al,{children:[Y(Bo,{input:S.input,debug:p}),B!==void 0&&Y(Do,{output:B,errorText:"errorText"in S?S.errorText:void 0,debug:p})]})]})})(),R.map(S=>{let E="output"in S?S.output:void 0,B=na(S.toolName,E,m),Te=nl(S.toolName,E,m),we=S.toolCallId===d;return B&&n&&E!==void 0?Y("div",{style:we?{position:"absolute",inset:0,zIndex:10,display:"flex",flexDirection:"column",overflow:"hidden",background:"var(--ww-color-background)"}:void 0,children:B&&n&&E!==void 0&&Y(nr,{children:Y(_o,{isFullscreen:we,resourceUri:B,toolInput:S.input??{},toolResult:{content:E.content,structuredContent:E.structuredContent,_meta:E._meta},resourceEndpoint:n,chatSessionId:s,isDark:i,autoHeight:Te,toolDefinitions:m,onFollowUp:l,onCallTool:u,onDisplayModeChange:c?_=>c(_,{toolCallId:S.toolCallId,resourceUri:B,toolInput:S.input??{},toolResult:{content:E.content,structuredContent:E.structuredContent,_meta:E._meta},autoHeight:Te}):void 0})})},S.toolCallId):null}),!z&&Y("div",{children:Ze(Po,{className:k(y.role==="user"?I?.userBubble:I?.assistantBubble),children:[A.length>0&&Y(ns,{files:A}),b?T.map((S,E)=>{let B=F&&t==="streaming"&&E===T.length-1;return Y(or,{isStreaming:B,children:S.type==="text"?S.text:""},`${y.id}-${E}`)}):null]})})]},y.id)}),x&&Y(dl,{})]})}import{jsx as hl,jsxs as ym}from"react/jsx-runtime";var Cm="https://app.waniwani.ai/assets/waniwani-logo.svg",Sm="https://waniwani.ai";function ir(){let{t:e}=V();return ym("a",{href:Sm,target:"_blank",rel:"noopener noreferrer",className:"ww:flex ww:items-center ww:gap-1.5 ww:whitespace-nowrap ww:text-[10px] ww:sm:text-[11px] ww:text-muted-foreground ww:opacity-70 hover:ww:opacity-100 ww:transition-opacity",children:[hl("span",{children:e.poweredBy.label}),hl("img",{src:Cm,alt:"Waniwani",width:72,height:10,"data-waniwani-logo":"",className:"ww:h-2.5 ww:w-auto"})]})}import{jsx as lr}from"react/jsx-runtime";function ur({suggestions:e,isLoading:t,onSelect:a,className:r,...o}){return e.length===0&&!t?null:lr("div",{className:k("ww:px-4 ww:py-2",r),...o,children:lr("div",{className:"ww:mx-auto ww:w-full ww:max-w-3xl ww:flex ww:flex-wrap ww:gap-2",children:t?[0,1,2].map(n=>lr("div",{className:"ww:h-8 ww:rounded-full ww:bg-accent ww:animate-pulse",style:{width:`${60+n*20}px`}},n)):e.map((n,s)=>lr("button",{type:"button",onClick:()=>a(n),className:k("ww:rounded-full ww:border ww:border-border ww:bg-background ww:px-3.5 ww:py-1.5 ww:text-sm","ww:text-foreground ww:hover:bg-accent ww:hover:border-primary/30","ww:transition-all ww:duration-200 ww:ease-out ww:cursor-pointer","ww:animate-[ww-fade-in_0.2s_ease-out_both]"),style:{animationDelay:`${s*50}ms`},children:n},n))})})}import{useEffect as bm,useRef as km,useState as Tm}from"react";import{jsx as re,jsxs as ft}from"react/jsx-runtime";var gl=20;function vm({label:e}){return ft("svg",{xmlns:"http://www.w3.org/2000/svg",width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",role:"img","aria-label":e,children:[re("title",{children:e}),re("line",{x1:"12",y1:"5",x2:"12",y2:"19"}),re("line",{x1:"5",y1:"12",x2:"19",y2:"12"})]})}function Pm({label:e}){return ft("svg",{xmlns:"http://www.w3.org/2000/svg",width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",role:"img","aria-label":e,children:[re("title",{children:e}),re("path",{d:"M3 12a9 9 0 1 0 3-6.7"}),re("polyline",{points:"3 4 3 9 8 9"}),re("line",{x1:"12",y1:"7",x2:"12",y2:"12"}),re("line",{x1:"12",y1:"12",x2:"15",y2:"14"})]})}function Am({label:e}){return ft("svg",{xmlns:"http://www.w3.org/2000/svg",width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",role:"img","aria-label":e,children:[re("title",{children:e}),re("polyline",{points:"3 6 5 6 21 6"}),re("path",{d:"M19 6l-2 14a2 2 0 0 1-2 2H9a2 2 0 0 1-2-2L5 6"}),re("path",{d:"M10 11v6"}),re("path",{d:"M14 11v6"})]})}function dr({threads:e,activeThreadId:t,onNewThread:a,onSelectThread:r,onDeleteThread:o}){let{locale:n,t:s}=V(),[i,l]=Tm(!1),u=km(null);bm(()=>{if(!i)return;let p=f=>{let m=u.current;m&&(f.composedPath().includes(m)||l(!1))};return document.addEventListener("mousedown",p),()=>document.removeEventListener("mousedown",p)},[i]);let c=e.slice(0,gl),d=Math.max(0,e.length-gl);return ft("div",{ref:u,className:"ww:relative ww:flex ww:items-center ww:gap-1",children:[re("button",{type:"button",onClick:a,title:s.threadMenu.newChat,"aria-label":s.threadMenu.newChat,className:"ww:p-1.5 ww:rounded-md ww:text-muted-foreground hover:ww:text-foreground hover:ww:bg-foreground/5 ww:transition-colors ww:cursor-pointer",children:re(vm,{label:s.threadMenu.newChat})}),re("button",{type:"button",onClick:()=>l(p=>!p),title:s.threadMenu.threadHistory,"aria-label":s.threadMenu.threadHistory,"aria-expanded":i,className:"ww:p-1.5 ww:rounded-md ww:text-muted-foreground hover:ww:text-foreground hover:ww:bg-foreground/5 ww:transition-colors ww:cursor-pointer",children:re(Pm,{label:s.threadMenu.threadHistory})}),i&&ft("div",{role:"menu",className:"ww:absolute ww:right-0 ww:top-full ww:mt-1 ww:w-72 ww:max-h-80 ww:overflow-y-auto ww:rounded-lg ww:border ww:border-border ww:bg-background ww:shadow-lg ww:z-50",children:[c.length===0&&re("div",{className:"ww:px-3 ww:py-3 ww:text-xs ww:text-muted-foreground",children:s.threadMenu.noPreviousChats}),c.map(p=>{let f=p.threadId===t,m=Date.parse(p.updatedAt);return ft("div",{className:`ww:flex ww:items-center ww:gap-2 ww:px-3 ww:py-2 ww:text-xs hover:ww:bg-foreground/5 ${f?"ww:bg-foreground/5":""}`,children:[ft("button",{type:"button",onClick:()=>{r(p.threadId),l(!1)},className:"ww:flex-1 ww:min-w-0 ww:text-left ww:cursor-pointer",children:[re("div",{className:"ww:truncate ww:text-foreground ww:font-medium",children:p.title}),re("div",{className:"ww:text-[10px] ww:text-muted-foreground",children:Number.isNaN(m)?"":Ur(m,n)})]}),re("button",{type:"button",onClick:I=>{I.stopPropagation(),o(p.threadId)},title:s.threadMenu.deleteThread,"aria-label":s.threadMenu.deleteThread,className:"ww:p-1 ww:rounded ww:text-muted-foreground hover:ww:text-foreground hover:ww:bg-foreground/10 ww:transition-colors ww:cursor-pointer",children:re(Am,{label:s.threadMenu.deleteThread})})]},p.threadId)}),d>0&&re("div",{className:"ww:px-3 ww:py-2 ww:text-[10px] ww:text-muted-foreground ww:border-t ww:border-border",children:s.threadMenu.hiddenThreads(d)})]})]})}import{useCallback as Rm,useRef as Mm}from"react";function cr(e){let t=Mm(e);return t.current=e,Rm(async a=>{let{api:r,headers:o,onCallTool:n,sessionId:s}=t.current;if(n)return n(a);let i=`${r??"/api/waniwani"}/tool`,l=typeof s=="string"&&s.trim().length>0?s.trim():void 0,u=await fetch(i,{method:"POST",headers:{"Content-Type":"application/json",...l?{"X-Session-Id":l}:{},...o},body:JSON.stringify(a)});if(!u.ok)throw new Error(`Tool call failed: ${u.status} ${u.statusText}`);return u.json()},[])}import{useChat as Qm}from"@ai-sdk/react";import{useCallback as Ce,useEffect as Me,useRef as fe,useState as pt}from"react";import{createContext as Fm,useContext as Bm}from"react";function wl(e){let t=new Set;return{subscribe(a){return t.add(a),()=>{t.delete(a)}},emit(a){let{sessionId:r,...o}=a,n=a.name==="session.started"?a.properties.sessionId:void 0,s={...o,mode:e.mode,sessionId:Object.hasOwn(a,"sessionId")?r:n??e.getSessionId?.(),timestamp:Date.now()};for(let i of[...t])try{i(s)}catch(l){console.warn("[Waniwani] onEvent subscriber threw:",l)}}}}function xl(){return{subscribe(){return()=>{}},emit(){}}}var Ll=Fm(xl());function fr(){return Bm(Ll)}var Il=Ll.Provider;function et(e,t,a){let[r,o=""]=e.split("?"),n=r.replace(/\/$/,""),s=new URLSearchParams(o);if(a)for(let[l,u]of Object.entries(a))s.set(l,u);let i=s.toString();return`${n}${t}${i?`?${i}`:""}`}import{DefaultChatTransport as Dm,uiMessageChunkSchema as Em}from"ai";function _m(e){let t=e?.cause,a=t?.issues??t?.errors;if(!Array.isArray(a))return null;let r=a.find(o=>o.code==="invalid_union");if(!r?.errors)return null;for(let o of r.errors){if(!Array.isArray(o)||o.some(i=>(i.code==="invalid_value"||i.code==="invalid_literal")&&i.path?.[0]==="type"))continue;let s=o.filter(i=>i.code==="unrecognized_keys").flatMap(i=>i.keys??[]);if(s.length>0)return s}return null}var pr=class extends Dm{processResponseStream(t){let a="",r=Em(),o=r.validate?.bind(r);return t.pipeThrough(new TextDecoderStream).pipeThrough(new TransformStream({async transform(n,s){a+=n;let i=a.split(`
16
- `);a=i.pop()??"";for(let l of i){let u=l.trim();if(!u.startsWith("data:"))continue;let c=u.slice(5).trim();if(c!=="[DONE]")try{let d=JSON.parse(c);if(!o){s.enqueue(d);continue}let p=await o(d);if(p.success){s.enqueue(p.value);continue}let f=_m(p.error);if(f?.length){let m={...d};for(let L of f)delete m[L];let I=await o(m);I.success&&s.enqueue(I.value)}}catch{}}}}))}};var Nm="waniwani-memory";var Re="threads",mr="by_memoryUserId",Om="by_updatedAt";var Sl="memoryUserId",Cl="waniwani-memory-user-id",Uo=null;function Ho(){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 Um(e,t){if(t<1&&(e.objectStoreNames.contains("ids")||e.createObjectStore("ids")),t<2&&!e.objectStoreNames.contains(Re)){let a=e.createObjectStore(Re,{keyPath:"threadId"});a.createIndex(mr,"memoryUserId",{unique:!1}),a.createIndex(Om,"updatedAt",{unique:!1})}}async function qo(){return new Promise((e,t)=>{let a=indexedDB.open(Nm,2);a.onupgradeneeded=r=>{Um(a.result,r.oldVersion)},a.onsuccess=()=>e(a.result),a.onerror=()=>t(a.error)})}async function Hm(){return qo()}async function qm(e){return new Promise((t,a)=>{let n=e.transaction("ids","readonly").objectStore("ids").get(Sl);n.onsuccess=()=>t(typeof n.result=="string"?n.result:null),n.onerror=()=>a(n.error)})}async function Wm(e,t){return new Promise((a,r)=>{let s=e.transaction("ids","readwrite").objectStore("ids").put(t,Sl);s.onsuccess=()=>a(),s.onerror=()=>r(s.error)})}async function Gm(){if(typeof indexedDB>"u")return null;try{let e=await Hm();try{let t=await qm(e);if(t)return t;let a=Ho();return await Wm(e,a),a}finally{e.close()}}catch{return null}}function Vm(){try{let e=localStorage.getItem(Cl);if(e)return e;let t=Ho();return localStorage.setItem(Cl,t),t}catch{return null}}async function yl(){let e=await Gm();if(e)return e;let t=Vm();return t||(Uo||(Uo=Ho()),Uo)}var bl=50,kl=1e3;function hr(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 gr(e){if(typeof indexedDB>"u")return null;let t=null;try{return t=await qo(),await e(t)}catch{return null}finally{try{t?.close()}catch{}}}function Wo(e){return new Promise((t,a)=>{e.onsuccess=()=>t(e.result),e.onerror=()=>a(e.error)})}async function Go(e){return await gr(async a=>{let n=a.transaction(Re,"readonly").objectStore(Re).index(mr),i=(await Wo(n.getAll(e))??[]).filter(hr);return i.sort((l,u)=>l.updatedAt<u.updatedAt?1:-1),i})??[]}async function wr(e){return await gr(async a=>{let o=a.transaction(Re,"readonly").objectStore(Re),n=await Wo(o.get(e));return hr(n)?n:null})??null}async function Vo(e){if(!hr(e))return;let t=e.messages.length>kl?{...e,messages:e.messages.slice(e.messages.length-kl)}:e;await gr(async a=>{await new Promise((l,u)=>{let c=a.transaction(Re,"readwrite");c.oncomplete=()=>l(),c.onerror=()=>u(c.error),c.onabort=()=>u(c.error),c.objectStore(Re).put(t)});let r=a.transaction(Re,"readwrite"),o=r.objectStore(Re),n=o.index(mr),i=(await Wo(n.getAll(t.memoryUserId))??[]).filter(hr);if(i.length>bl){i.sort((u,c)=>u.updatedAt<c.updatedAt?-1:1);let l=i.slice(0,i.length-bl);for(let u of l)o.delete(u.threadId)}return await new Promise((l,u)=>{r.oncomplete=()=>l(),r.onerror=()=>u(r.error),r.onabort=()=>u(r.error)}),null})}async function Tl(e){await gr(async t=>(await new Promise((a,r)=>{let o=t.transaction(Re,"readwrite");o.oncomplete=()=>a(),o.onerror=()=>r(o.error),o.onabort=()=>r(o.error),o.objectStore(Re).delete(e)}),null))}async function zo(e){return(await Go(e))[0]?.threadId??null}function vl(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 jo="waniwani-visitor-id";function Al(e,t){return e.match(t)?.[1]??null}function zm(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,r]of t){let o=Al(e,r);if(o)return{name:a,version:o}}return null}function jm(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,r]of t){let o=Al(e,r);if(o)return{name:a,version:o.replace(/_/g,".")};if(a==="Linux"&&r.test(e))return{name:a,version:""}}return null}function $m(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"}function Xm(){try{if(typeof crypto<"u"){if(typeof crypto.randomUUID=="function")return crypto.randomUUID();if(typeof crypto.getRandomValues=="function"){let e=crypto.getRandomValues(new Uint8Array(16));e[6]=e[6]&15|64,e[8]=e[8]&63|128;let t=Array.from(e,a=>a.toString(16).padStart(2,"0")).join("");return`${t.slice(0,8)}-${t.slice(8,12)}-${t.slice(12,16)}-${t.slice(16,20)}-${t.slice(20)}`}}}catch{}return`v-${Date.now().toString(36)}-${Math.random().toString(36).slice(2,10)}`}function vt(){try{let t=localStorage.getItem(jo);if(t)return t}catch{}let e=Xm();try{localStorage.setItem(jo,e)}catch{}return e}function Pl(e){let t=typeof e=="string"?e.trim():"";if(!t)return vt();try{localStorage.setItem(jo,t)}catch{}return t}function Km(e){return e!=null&&typeof e.then=="function"}function Rl(e){let t=!1,a=()=>{t=!0};if(e==null)return a;let r;try{r=typeof e=="function"?e():e}catch{return a}return Km(r)?r.then(o=>{t||Pl(o??"")},()=>{}):Pl(r??""),a}async function ia(){let e=navigator.userAgent,t=vt(),a=await yl();return{userAgent:e,browser:zm(e),os:jm(e),deviceType:$m(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 Jm="x-session-id",Ym=250,Zm=200;function Ml(){return typeof crypto<"u"&&typeof crypto.randomUUID=="function"?crypto.randomUUID():qt()}function xr(){return new Date().toISOString()}function Fl(e){if(typeof e!="string")return;let t=e.trim();return t.length>0?t:void 0}async function eh(e,t){let a=et(e,"/tools"),r=await fetch(a,{method:"GET",headers:t?{...t}:void 0});if(!r.ok)throw new Error(`[Waniwani] Failed to fetch /tools: ${r.status} ${r.statusText}`);let o=await r.json();if(!o||!Array.isArray(o.tools))return{};let n={};for(let s of o.tools)s&&typeof s.name=="string"&&(n[s.name]=s);return n}function Lr(e){let{api:t="/api/waniwani",headers:a,body:r,onMessageSent:o,onResponseReceived:n,enableThreadHistory:s=!1,activeThreadId:i,onThreadChange:l}=e,u=e.visitorId;Me(()=>Rl(u),[u]);let c=fr(),d=fe(a),p=fe(r),f=fe(s);Me(()=>{f.current=s},[s]);let m=fe(void 0),I=fe(null),[L,w]=pt(void 0),g=fe(L),[h,x]=pt(i),y=fe(h),[T,v]=pt([]),[A,R]=pt(!s),P=fe(void 0),F=fe(void 0),b=fe(void 0),z=fe(void 0),H=fe(0),S=fe(l);Me(()=>{S.current=l},[l]);let E=Ce(C=>{y.current=C,x(C),C&&(S.current?.(C),c.emit({name:"thread.changed",sessionId:g.current,properties:{threadId:C}}))},[c]),B=Ce(async()=>{if(!s)return;let C=I.current?.memoryUserId;if(!C)return;let D=await Go(C);v(D)},[s]),Te=Ce(()=>g.current,[]),we=Ce(C=>{let D=Fl(C);if(!D||g.current===D)return;let O=g.current===void 0;g.current=D,w(D),O&&c.emit({name:"session.started",properties:{sessionId:D}})},[c]),_=Ce(()=>{g.current=void 0,w(void 0)},[]);Me(()=>{d.current=a},[a]),Me(()=>{p.current=r},[r]),Me(()=>{let C=!1,D=H.current;return(async()=>{try{let ee=await ia();if(C)return;I.current=ee}catch{}if(!s)return;let O=I.current?.memoryUserId;if(!O){R(!0);return}try{let ee=i??await zo(O);if(C||D!==H.current)return;if(ee){let he=await wr(ee);if(C||D!==H.current)return;he&&he.memoryUserId===O&&(y.current=he.threadId,x(he.threadId),P.current=he.createdAt,F.current=he.title,he.sessionId&&(g.current=he.sessionId,w(he.sessionId)),q(he.messages))}await B()}finally{C||R(!0)}})(),()=>{C=!0}},[]);let me=fe(new pr({api:t,headers:()=>({...d.current}),body:()=>{let C={...p.current??{}},D=Object.hasOwn(C,"sessionId"),O=Fl(C.sessionId);if(O)we(O),C.sessionId=O;else if(D)_(),delete C.sessionId;else{let Ar=Te();Ar&&(C.sessionId=Ar)}Tt(m.current)&&(C.modelContext=m.current);let ee=I.current,he=vt();ee&&(C.visitorContext={timezone:ee.timezone,language:ee.language,languages:ee.languages,deviceType:ee.deviceType,referrer:ee.referrer,visitorId:he});let le=typeof C.visitor=="object"&&C.visitor!==null?C.visitor:{},wu=typeof le.client=="object"&&le.client!==null?le.client:{};C.visitor={...le,id:he,client:{...wu,...ee&&{memoryUserId:ee.memoryUserId}}};let pn=typeof C.extra=="object"&&C.extra!==null&&!Array.isArray(C.extra)?C.extra:void 0,mn=I.current?.memoryUserId,hn=I.current?.language,pa={};if(mn&&(pa.memoryUserId=mn),hn&&(pa.locale=hn),(Object.keys(pa).length>0||pn)&&(C.extra={...pa,...pn??{}}),f.current)if(Object.hasOwn(C,"threadId"))typeof C.threadId=="string"&&(y.current=C.threadId);else{let ma=y.current;ma||(ma=Ml(),P.current=xr(),F.current=void 0,E(ma)),C.threadId=ma}return C},fetch:(async(C,D)=>{let O=await fetch(C,D);return m.current=void 0,we(O.headers.get(Jm)),O})})),oe=fe(null),ye=fe(null),ne=fe({}),[G,$]=pt(0),ve=e.skipRemoteConfig===!0,de=Ce(async()=>{if(!ve)try{let C=await eh(t,d.current);ne.current=C,$(D=>D+1)}catch(C){console.warn("[Waniwani] Failed to fetch tool definitions:",C instanceof Error?C.message:C)}},[t,ve]);Me(()=>{de()},[de]);let{messages:K,sendMessage:se,setMessages:q,status:N}=Qm({messages:e.initialMessages,transport:me.current,onFinish({message:C,isAbort:D,isDisconnect:O,isError:ee}){n?.(),!D&&!O&&!ee&&c.emit({name:"message.received"}),oe.current&&(ye.current=C)},onError(C){console.warn("[Waniwani] Chat error:",C.message),c.emit({name:"chat.error",properties:{message:C.message.slice(0,Zm)}}),oe.current&&(oe.current.reject(C),oe.current=null)}}),W=fe(K);Me(()=>{W.current=K},[K]);let Q=fe(s);Me(()=>{if(!s||Q.current||(Q.current=!0,W.current.length>0))return;let C=!1,D=H.current;return R(!1),(async()=>{try{let O=I.current;if(!O)try{O=await ia(),I.current=O}catch{}let ee=O?.memoryUserId;if(!ee||C||D!==H.current){C||R(!0);return}let he=i??await zo(ee);if(C||D!==H.current)return;if(he){let le=await wr(he);if(C||D!==H.current)return;le&&le.memoryUserId===ee&&(y.current=le.threadId,x(le.threadId),P.current=le.createdAt,F.current=le.title,le.sessionId&&(g.current=le.sessionId,w(le.sessionId)),q(le.messages))}await B()}finally{C||R(!0)}})(),()=>{C=!0}},[s]),Me(()=>{if(N==="ready"&&oe.current&&ye.current){let C=oe.current,D=ye.current;oe.current=null,ye.current=null,C.resolve(D)}},[N]);let[ie,te]=pt(""),[xe,M]=pt([]),U=N==="submitted"||N==="streaming",Z=Ce(C=>{M(D=>D.filter(O=>O.id!==C))},[]),Oe=U&&xe.length>0,ze=Ce(C=>{let D=!!C.text?.trim(),O=!!C.files?.length;if(D||O){if(U){if(xe.length>0)return;M(ee=>[...ee,{id:qt(),text:C.text||"",files:C.files??[],modelContext:C.modelContext}]),te("");return}m.current=C.modelContext,se({text:C.text||"",files:C.files}),o?.(C.text||""),c.emit({name:"message.sent"}),te("")}},[se,o,U,xe.length,c]),ht=Ce(C=>new Promise((D,O)=>{oe.current={resolve:D,reject:O},se({text:C}),o?.(C),c.emit({name:"message.sent"})}),[se,o,c]);Me(()=>{if(N!=="ready"||xe.length===0)return;let[C,...D]=xe;M(D),m.current=C.modelContext,se({text:C.text,files:C.files.length>0?C.files:void 0}),o?.(C.text),c.emit({name:"message.sent"})},[N,se,o,xe,c]);let vr=Ce(()=>{q([]),M([]),_(),te(""),ne.current={},$(C=>C+1),de()},[q,_,de]),ca=Ce(()=>{if(!f.current)return;let C=I.current?.memoryUserId,D=y.current,O=W.current;if(!(!C||!D||O.length===0)){if(P.current||(P.current=xr()),!F.current){let ee=O.find(le=>le.role==="user"),he=ee?ee.parts.map(le=>"text"in le&&typeof le.text=="string"?le.text:"").join(" "):"";F.current=vl(he)}return{threadId:D,memoryUserId:C,title:F.current,messages:O,sessionId:g.current,createdAt:P.current,updatedAt:xr()}}},[]),dn=Ce(async()=>{let C=ca();C&&(await Vo(C),await B())},[ca,B]);Me(()=>{if(s&&A&&!(N==="submitted"||N==="streaming")&&K.length!==0)return b.current&&clearTimeout(b.current),b.current=setTimeout(()=>{b.current=void 0;let C=dn().finally(()=>{z.current===C&&(z.current=void 0)});z.current=C},Ym),()=>{b.current&&clearTimeout(b.current)}},[s,A,K,N,dn]);let fa=Ce(()=>{let C=z.current,D=b.current,O=D?ca():void 0;return D&&(clearTimeout(D),b.current=void 0),(async()=>{C&&await C,O&&(await Vo(O),await B())})()},[ca,B]),fu=Ce(()=>{H.current+=1,fa(),q([]),M([]),_(),te("");let C=Ml();return P.current=xr(),F.current=void 0,E(C),B(),C},[q,_,E,B,fa]),Pr=Ce(async C=>{H.current+=1;let D=H.current;if(await fa(),D!==H.current)return;let O=await wr(C);D===H.current&&O&&(O.sessionId?(g.current=O.sessionId,w(O.sessionId)):_(),E(O.threadId),P.current=O.createdAt,F.current=O.title,q(O.messages),M([]),te(""))},[q,_,E,fa]),pu=Ce(async C=>{if(y.current===C){H.current+=1,b.current&&(clearTimeout(b.current),b.current=void 0);let D=z.current;D&&await D}await Tl(C),await B(),y.current===C&&(q([]),M([]),_(),te(""),y.current=void 0,x(void 0),P.current=void 0,F.current=void 0)},[q,_,B]);Me(()=>{s&&A&&i!==void 0&&i!==y.current&&Pr(i)},[i,s,A,Pr]);let mu=Ce(C=>{te(C.target.value)},[]),cn=K[K.length-1],fn=K.length>0,hu=U&&(!fn||cn.role==="user"),gu=ne.current;return{messages:K,status:N,text:ie,setText:te,handleSubmit:ze,handleTextChange:mu,isLoading:U,showLoaderBubble:hu,lastMessage:cn,hasMessages:fn,sendMessage:se,sendMessageAndWait:ht,reset:vr,queuedMessages:xe,queueFull:Oe,removeQueuedMessage:Z,sessionId:L,toolDefinitions:gu,refreshToolDefinitions:de,threads:T,activeThreadId:h,isThreadHistoryReady:A,startNewThread:fu,switchThread:Pr,deleteThread:pu}}import{useEffect as Bl,useRef as th,useState as ah}from"react";var rh={debug:!1,eval:!1};function Dl(e="/api/waniwani",t,a=!1){let[r,o]=ah(rh),n=th(t);return Bl(()=>{n.current=t},[t]),Bl(()=>{a||(async()=>{try{let s=n.current,l=await(await fetch(et(e,"/config"),{headers:s?{...s}:void 0})).json();o({debug:l.debug===!0,eval:l.eval===!0})}catch{}})()},[e,a]),r}import{useCallback as oh,useEffect as $o,useRef as nh,useState as sh}from"react";function ih(e){for(let t of e.parts){let a=t;if(a.type==="data"||a.type==="data-suggestions"){let r=a.data;if(r&&Array.isArray(r.suggestions))return r.suggestions}}return null}function El(e){return typeof e=="object"&&e!==null&&"initial"in e}function Ir(e){let{messages:t,status:a,config:r}=e,o=El(r)&&r.initial?r.initial:void 0,[n,s]=sh(o??[]),i=nh(a),l=r===!0||El(r)&&r.dynamic!==!1,u=oh(()=>{s([])},[]),c=t.length>0;$o(()=>{!c&&o&&o.length>0&&s(o)},[o,c]);let d=t[t.length-1];return $o(()=>{d?.role==="user"&&u()},[d,u]),$o(()=>{let p=i.current;if(i.current=a,p==="streaming"&&a==="ready"&&l){let f=[...t].reverse().find(I=>I.role==="assistant");if(!f)return;let m=ih(f);m&&s(m)}},[a,l,t]),{suggestions:n,isLoading:!1,clear:u}}import{useEffect as lh,useRef as uh,useState as dh}from"react";var ch=80,fh=50,ph=15e3,_l=500;function Cr(e,t=!0){let[a,r]=dh(""),o=uh(void 0);return lh(()=>{if(!t){r("");return}let n=0,s=!1,i=!1,l=()=>{i||(s?(n--,r(e.slice(0,n)),n<=0?(s=!1,o.current=setTimeout(l,_l)):o.current=setTimeout(l,fh)):(n++,r(e.slice(0,n)),n>=e.length?(s=!0,o.current=setTimeout(l,ph)):o.current=setTimeout(l,ch)))};return o.current=setTimeout(l,_l),()=>{i=!0,clearTimeout(o.current)}},[e,t]),a}function Sr(e,t){let a=t?.Authorization,r=typeof a=="string"&&a.startsWith("Bearer ")?a.slice(7):null;return et(e,"/resource",r?{token:r}:void 0)}var Nl={primaryColor:"#6366f1",primaryForeground:"#1f2937",backgroundColor:"#ffffff",textColor:"#1f2937",mutedColor:"#6b7280",borderColor:"#e5e7eb",borderWidth:0,boxShadow:"none",assistantBubbleColor:"#f3f4f6",userBubbleColor:"#f4f4f4",inputBackgroundColor:"#f9fafb",borderRadius:16,messageBorderRadius:8,fontFamily:"system-ui, -apple-system, 'Segoe UI', sans-serif",headerBackgroundColor:"#ffffff",headerTextColor:"#1f2937",statusColor:"#22c55e",toolCardColor:"#f4f4f5",userBubbleTextColor:"#1f2937",assistantBubbleTextColor:"#1f2937",messagePaddingX:16,messagePaddingY:12,messageMaxWidth:"80%",fontSize:16,lineHeight:"1.5"},mh={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",userBubbleTextColor:"#ffffff",assistantBubbleTextColor:"#ececec"},hh={primaryColor:["--ww-primary","--ww-color-primary"],primaryForeground:["--ww-primary-fg","--ww-color-primary-foreground"],backgroundColor:["--ww-bg","--ww-color-background"],textColor:["--ww-text","--ww-color-foreground","--ww-color-accent-foreground"],mutedColor:["--ww-muted","--ww-color-muted-foreground"],borderColor:["--ww-border","--ww-color-border"],borderWidth:["--ww-border-width"],boxShadow:["--ww-shadow"],assistantBubbleColor:["--ww-assistant-bubble","--ww-color-accent"],userBubbleColor:["--ww-user-bubble"],inputBackgroundColor:["--ww-input-bg","--ww-color-input"],borderRadius:["--ww-radius"],messageBorderRadius:["--ww-msg-radius"],fontFamily:["--ww-font"],headerBackgroundColor:["--ww-header-bg"],headerTextColor:["--ww-header-text"],statusColor:["--ww-status"],toolCardColor:["--ww-tool-card","--ww-color-tool-card"],userBubbleTextColor:["--ww-user-bubble-text"],assistantBubbleTextColor:["--ww-assistant-bubble-text"],messagePaddingX:["--ww-msg-pad-x"],messagePaddingY:["--ww-msg-pad-y"],messageMaxWidth:["--ww-msg-max-width"],fontSize:["--ww-font-size"],lineHeight:["--ww-line-height"]};function Xo(e){return{...Nl,...e}}function la(e){let t={};for(let[a,r]of Object.entries(hh)){let o=e[a];if(o===void 0)continue;let n=typeof o=="number"?`${o}px`:String(o);for(let s of r)t[s]=n}return t}import{jsx as Se,jsxs as ua}from"react/jsx-runtime";var Lh=gh(function(t,a){let{theme:r,title:o="Assistant",width:n,height:s,className:i,allowAttachments:l=!1,welcomeMessage:u,welcome:c,placeholder:d="Ask me anything...",triggerEvent:p="triggerDemoRequest",api:f,debug:m,enableThreadHistory:I=!1,showToolCalls:L=!0}=t,w=f??"/api/waniwani",g=Sr(w,t.headers),h=Xo(r),x=la(r??{}),y=h.backgroundColor.replace("#",""),T=parseInt(y.substring(0,2),16),v=parseInt(y.substring(2,4),16),A=parseInt(y.substring(4,6),16),R=(T*299+v*587+A*114)/1e3<128,P=Dl(w,t.headers,t.skipRemoteConfig),F=m??P.debug,b=Lr({...t,api:w}),z=cr({...t,api:w,sessionId:b.sessionId}),H=Cr(d,!b.text),[S,E]=Ul(!1),[B,Te]=Ul(null),we=Ol(null),_=Ol(void 0),me=Ko(()=>{let G=we.current;if(!G)return;G.scrollIntoView({behavior:"smooth",block:"center"});let $=G.querySelector("textarea");$&&setTimeout(()=>$.focus(),300),E(!0),clearTimeout(_.current),_.current=setTimeout(()=>E(!1),2e3)},[]),oe=Ir({messages:b.messages,status:b.status,config:t.suggestions}),ye=Ko(G=>{let $=G.content.map(ve=>ve.text??"").join("").trim();$&&b.handleSubmit({text:$,files:[],modelContext:G.modelContext})},[b.handleSubmit]),ne=Ko(G=>{oe.clear(),b.handleSubmit({text:G,files:[]})},[oe.clear,b.handleSubmit]);return xh(a,()=>({sendMessage:G=>{b.handleSubmit({text:G,files:[]}),me()},sendMessageAndWait:G=>b.sendMessageAndWait(G),reset:b.reset,focus:me,get messages(){return b.messages},get sessionId(){return b.sessionId}}),[b.handleSubmit,b.sendMessageAndWait,b.reset,b.messages,b.sessionId,me]),wh(()=>{if(!p)return;let G=$=>{let ve=$.detail,de=typeof ve?.message=="string"?ve.message:void 0;de&&b.handleSubmit({text:de,files:[]}),me()};return window.addEventListener(p,G),()=>window.removeEventListener(p,G)},[p,b.handleSubmit,me]),ua("div",{ref:we,style:{...x,width:n,height:s},"data-waniwani-chat":"","data-waniwani-layout":"card",...R?{"data-waniwani-dark":""}:{},className:k("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",S&&"ww:ring-2 ww:ring-blue-400/70 ww:ring-offset-2 ww:ring-offset-background",i),children:[ua("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:[Se("div",{className:"ww:text-sm ww:font-semibold ww:truncate ww:flex-1 ww:min-w-0",children:o}),Se(os,{messages:b.messages,evalEnabled:P.eval,api:w}),I&&Se(dr,{threads:b.threads,activeThreadId:b.activeThreadId,onNewThread:b.startNewThread,onSelectThread:G=>{b.switchThread(G)},onDeleteThread:G=>{b.deleteThread(G)}})]}),ua(En,{className:"ww:flex-1 ww:min-h-0 ww:bg-background",children:[Se(_n,{scrollClassName:B?"ww:!relative ww:!overflow-hidden":void 0,children:Se(sr,{messages:b.messages,status:b.status,welcomeMessage:u,welcome:c,onSuggestionSelect:ne,resourceEndpoint:g,chatSessionId:b.sessionId,isDark:R,onFollowUp:ye,onCallTool:z,fullscreenToolCallId:B,debug:F,showToolCalls:L,toolDefinitions:b.toolDefinitions,onWidgetDisplayModeChange:(G,$)=>{Te(G==="fullscreen"?$.toolCallId:null)}})}),Se(Nn,{})]}),Se("div",{style:B?{display:"none"}:void 0,children:Se(ur,{suggestions:oe.suggestions,isLoading:oe.isLoading,onSelect:ne})}),Se("div",{style:B?{display:"none"}:void 0,children:Se(ka,{queuedMessages:b.queuedMessages,onRemove:b.removeQueuedMessage})}),Se("div",{style:B?{display:"none"}:void 0,children:Se("div",{className:"ww:shrink-0 ww:px-4 ww:pb-8 ww:pt-2 ww:bg-background",children:ua("div",{className:"ww:mx-auto ww:w-full ww:max-w-3xl",children:[Se(Ca,{onSubmit:b.handleSubmit,globalDrop:l,multiple:l,className:"ww:rounded-2xl ww:border-border ww:bg-input",children:ua("div",{className:"ww:flex ww:items-center ww:gap-1 ww:pl-4 ww:pr-3 ww:py-2.5",children:[l&&Se(ba,{}),Se(Sa,{onChange:b.handleTextChange,value:b.text,placeholder:H,className:"ww:min-h-0 ww:py-1 ww:px-0"}),Se(ya,{status:b.status,disabled:b.queueFull})]})}),Se(ir,{})]})})})]})});import{forwardRef as ql,useCallback as yr,useEffect as mt,useImperativeHandle as Ch,useRef as da,useState as br}from"react";import{jsx as Ih}from"react/jsx-runtime";function Hl({text:e}){let{t}=V();return e===!1?null:Ih("span",{className:"ww:whitespace-nowrap ww:text-[10px] ww:sm:text-[11px] ww:text-muted-foreground ww:opacity-70",children:e||t.aiDisclaimer.default})}import{jsx as pe,jsxs as tt}from"react/jsx-runtime";var Qo=ql(function(t,a){let{locale:r,messages:o}=t;return pe(Or,{locale:r,messages:o,children:pe(Sh,{...t,ref:a})})}),Sh=ql(function(t,a){let{t:r,ready:o}=V(),{appearance:n,className:s,classNames:i,allowAttachments:l=!1,welcomeMessage:u,welcome:c,placeholder:d=r.promptInput.placeholder,triggerEvent:p="triggerDemoRequest",api:f,mcp:m,debug:I=!1,readOnly:L=!1,title:w,headerActions:g,hideHeader:h=!1,enableThreadHistory:x=!1,showToolCalls:y=!0,initializing:T=!1,disclaimer:v}=t,A=n?.theme,R=n?.variables,P=n?.assistantBubble??!1,F=R?la(R):{},[b,z]=br(!1);mt(()=>{if(A!=="auto"||typeof window>"u")return;let M=window.matchMedia("(prefers-color-scheme: dark)");z(M.matches);let U=()=>z(M.matches);return M.addEventListener("change",U),()=>M.removeEventListener("change",U)},[A]);let H=A==="dark"||A==="auto"&&b,S=Lr({...t,api:f}),E=fr(),B=cr({...t,api:f,sessionId:S.sessionId,onCallTool:m?.onCallTool}),Te=m?.resourceEndpoint??Sr(f,t.headers),we=Cr(d,!S.text),[_,me]=br(null),[oe,ye]=br(null),ne=da(null),G=da(null),$=da(null),ve=da(null),[de,K]=br(!0),se=da(de);se.current=de;let q=yr(()=>{let M=ne.current;if(!M)return;let U=M.querySelector("textarea");U&&U.focus()},[]),N=yr((M="smooth")=>{let U=G.current;U&&U.scrollTo({top:U.scrollHeight,behavior:M})},[]);mt(()=>{let M=ve.current,U=G.current;if(!M||!U)return;let Z=new IntersectionObserver(([Oe])=>K(Oe.isIntersecting),{root:U,rootMargin:"0px 0px 200px 0px",threshold:0});return Z.observe(M),()=>Z.disconnect()},[]),mt(()=>{let M=G.current;if(!M)return;let U=Z=>{let ze=(Z.target instanceof Element?Z.target:null)?.closest("a");ze?.href&&E.emit({name:"link.clicked",properties:{url:ze.href}})};return M.addEventListener("click",U),()=>M.removeEventListener("click",U)},[E]),mt(()=>{(S.messages[S.messages.length-1]?.role==="user"||se.current)&&N("smooth")},[S.messages.length,S.messages[S.messages.length-1]]),mt(()=>{N("auto")},[N]),mt(()=>{if(typeof ResizeObserver>"u")return;let M=G.current,U=$.current;if(!M&&!U)return;let Z=M?.scrollHeight??0,Oe=M?.clientHeight??0,ze=new ResizeObserver(()=>{let ht=G.current;if(!ht)return;let vr=ht.scrollTop+Oe>=Z-5;Z=ht.scrollHeight,Oe=ht.clientHeight,vr&&N("auto")});return M&&ze.observe(M),U&&ze.observe(U),()=>ze.disconnect()},[N]);let W=Ir({messages:S.messages,status:S.status,config:t.suggestions}),Q=yr(M=>{let U=M.content.map(Z=>Z.text??"").join("").trim();U&&S.handleSubmit({text:U,files:[],modelContext:M.modelContext})},[S.handleSubmit]),ie=yr(M=>{let U=W.suggestions.indexOf(M),Z=U>=0?U:c?.suggestions?.indexOf(M)??-1;E.emit({name:"suggestion.clicked",properties:{text:M,index:Z}}),W.clear(),S.handleSubmit({text:M,files:[]})},[W.suggestions,W.clear,S.handleSubmit,c,E]);Ch(a,()=>({sendMessage:M=>{S.handleSubmit({text:M,files:[]}),q()},sendMessageAndWait:M=>S.sendMessageAndWait(M),reset:S.reset,focus:q,get messages(){return S.messages},get sessionId(){return S.sessionId}}),[S.handleSubmit,S.sendMessageAndWait,S.reset,S.messages,S.sessionId,q]),mt(()=>{if(!p)return;let M=U=>{let Z=U.detail,Oe=typeof Z?.message=="string"?Z.message:void 0;Oe&&S.handleSubmit({text:Oe,files:[]}),q()};return window.addEventListener(p,M),()=>window.removeEventListener(p,M)},[p,S.handleSubmit,q]);let te=!h&&!!(w||x||g),xe=T||!o;return tt("div",{ref:ne,style:{...F,maxHeight:"inherit",..._&&oe?{height:oe}:{},opacity:xe?0:1,transition:"opacity 220ms ease-out"},"data-waniwani-chat":"","data-waniwani-layout":"embed","data-assistant-bubble":P?"true":void 0,"data-color-scheme":A==="auto"?"auto":void 0,...xe?{"data-waniwani-initializing":""}:{},...H?{"data-waniwani-dark":""}:{},className:k("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",A==="dark"&&"dark",s,i?.root),children:[te&&tt("div",{className:k("ww-header ww:shrink-0 ww:flex ww:items-center ww:gap-2 ww:pl-4 ww:pr-3 ww:py-3 ww:border-b ww:border-border",i?.header),style:{backgroundColor:"var(--ww-color-card-header)",color:"var(--ww-color-card-header-foreground)"},children:[w&&pe("div",{className:"ww:text-sm ww:font-semibold ww:truncate ww:flex-1 ww:min-w-0",children:w}),!w&&pe("div",{className:"ww:flex-1"}),x&&pe(dr,{threads:S.threads,activeThreadId:S.activeThreadId,onNewThread:S.startNewThread,onSelectThread:M=>{S.switchThread(M)},onDeleteThread:M=>{S.deleteThread(M)}}),g]}),tt("div",{ref:G,className:k("ww:relative ww:flex-1 ww:min-h-0",_?"ww:overflow-hidden":"ww:overflow-y-auto"),children:[tt("div",{ref:$,className:k("ww:mx-auto ww:w-full ww:max-w-3xl ww:px-4 ww:py-6 ww:flex ww:flex-col ww:gap-6",_&&"ww:!py-0"),children:[pe(sr,{messages:S.messages,status:S.status,welcomeMessage:u,welcome:c,onSuggestionSelect:ie,resourceEndpoint:Te,chatSessionId:S.sessionId,isDark:H,onFollowUp:Q,onCallTool:B,fullscreenToolCallId:_,debug:I,showToolCalls:y,toolDefinitions:S.toolDefinitions,messageClassNames:{message:i?.message,userBubble:i?.userBubble,assistantBubble:i?.assistantBubble},onWidgetDisplayModeChange:(M,U)=>{if(M==="fullscreen"){let Z=ne.current?.getBoundingClientRect().height??0;ye(Z>0?Z:null),me(U.toolCallId)}else ye(null),me(null)}}),pe("div",{ref:ve,"aria-hidden":!0,style:{height:1}})]}),!de&&!_&&pe("div",{className:"ww:sticky ww:bottom-2 ww:flex ww:justify-center ww:pointer-events-none",children:pe(Fe,{type:"button",onClick:()=>N("smooth"),size:"icon",variant:"outline",className:"ww:rounded-full ww:shadow ww:pointer-events-auto","aria-label":"Scroll to latest",children:pe(at,{className:"ww:size-4"})})})]}),!L&&tt("div",{className:"ww:shrink-0 ww:bg-background",style:_?{display:"none"}:void 0,children:[pe(ur,{suggestions:W.suggestions,isLoading:W.isLoading,onSelect:ie}),pe(ka,{queuedMessages:S.queuedMessages,onRemove:S.removeQueuedMessage}),pe("div",{className:"ww:px-4 ww:pb-2 ww:pt-2",children:tt("div",{className:"ww:mx-auto ww:w-full ww:max-w-3xl",children:[pe(Ca,{onSubmit:S.handleSubmit,globalDrop:l,multiple:l,className:k("ww-input ww:rounded-2xl ww:border-border ww:bg-input",i?.input),children:tt("div",{className:"ww:flex ww:items-center ww:gap-1 ww:pl-4 ww:pr-3 ww:py-2.5",children:[l&&pe(ba,{}),pe(Sa,{onChange:S.handleTextChange,value:S.text,placeholder:we,className:"ww:min-h-0 ww:py-1 ww:px-0"}),pe(ya,{status:S.status,disabled:S.queueFull})]})}),tt("div",{className:"ww:pt-2 ww:pb-1 ww:flex ww:flex-nowrap ww:justify-center ww:items-center ww:gap-1.5",children:[pe(ir,{}),pe(Hl,{text:v})]})]})})]})]})});import{forwardRef as cg,useEffect as Tr,useImperativeHandle as fg,useMemo as ln,useRef as un,useState as uu}from"react";var yh="https://app.waniwani.ai/api/mcp/chat",bh={api:yh};function kh(){if(typeof document>"u")return null;if(document.currentScript instanceof HTMLScriptElement)return document.currentScript;let e=document.querySelector("script[src][data-token]");if(e instanceof HTMLScriptElement)return e;let t=document.querySelectorAll("script[src]");for(let a of t)if(a instanceof HTMLScriptElement&&/embed/i.test(a.src))return a;return null}function Th(){let e=kh();if(!e)return{};let t=P=>e.getAttribute(P)??void 0,a=P=>{let F=e.getAttribute(P);if(F==null)return;let b=F.trim().toLowerCase();if(b==="true"||b==="1"||b==="")return!0;if(b==="false"||b==="0")return!1},r={},o=t("data-api");o&&(r.api=o);let n=t("data-token");n&&(r.token=n);let s=t("data-visitor-id");s&&(r.visitorId=s);let i=t("data-title");i&&(r.title=i);let l=t("data-welcome-message");l&&(r.welcomeMessage=l);let u=t("data-placeholder");u&&(r.placeholder=u);let c=t("data-mcp-server-url");c&&(r.mcpServerUrl=c);let d=t("data-channel-id");if(d&&(r.channelId=d),t("data-show-tool-calls")?.trim().toLowerCase()==="titles-only")r.showToolCalls="titles-only";else{let P=a("data-show-tool-calls");P!==void 0&&(r.showToolCalls=P)}let f=t("data-css");f&&(r.css=f);let m=t("data-suggestions");m&&(r.suggestions=m.split(",").map(P=>P.trim()).filter(Boolean));let I=a("data-enable-thread-history");I!==void 0&&(r.enableThreadHistory=I);let L=a("data-disable-page-view");L!==void 0&&(r.disablePageView=L);let w=a("data-hide-header");w!==void 0&&(r.hideHeader=w);let g=t("data-theme");(g==="light"||g==="dark"||g==="auto")&&(r.appearance={...r.appearance,theme:g});let h=a("data-assistant-bubble");h!==void 0&&(r.appearance={...r.appearance,assistantBubble:h});let x=t("data-locale");(x==="en"||x==="fr"||x==="es")&&(r.locale=x);let y=t("data-mode");(y==="inline"||y==="floating")&&(r.mode=y);let T=t("data-height");T&&(r.height=T);let v=t("data-launcher-text");v&&(r.launcherText=v);let A=t("data-appear-delay");if(A!==void 0){let P=Number.parseInt(A.trim(),10);Number.isFinite(P)&&P>=0&&(r.appearDelay=P)}let R=t("data-disclaimer");if(R!==void 0){let P=R.trim(),F=P.toLowerCase();F==="false"||F==="0"?r.disclaimer=!1:P&&(r.disclaimer=P)}return r}function Jo(e){if(!e)return{};let t={};for(let a in e)e[a]!==void 0&&(t[a]=e[a]);return t}function Yo(e,t,a){let r=a??Th(),o=vh(t,r,e),n={token:"",...bh,...Jo(t),...Jo(r),...Jo(e),...o?{appearance:o}:{}};if(!n.token)throw new Error("[Waniwani] Missing required config: `token`. Set data-token on the script tag or pass it to Waniwani.chat.init().");return n}function vh(e,t,a){let r=a?.appearance?.theme??t.appearance?.theme??e?.appearance?.theme,o={...e?.appearance?.variables??{},...t.appearance?.variables??{},...a?.appearance?.variables??{}},n=Object.keys(o).length>0,s=a?.appearance?.assistantBubble??t.appearance?.assistantBubble??e?.appearance?.assistantBubble;if(!r&&!n&&s===void 0)return;let i={};return r&&(i.theme=r),n&&(i.variables=o),s!==void 0&&(i.assistantBubble=s),i}import{useEffect as Hb,useState as qb}from"react";function Ph(){if(typeof window>"u")return!1;try{return window.WANIWANI_DEBUG?!0:!!window.localStorage?.getItem("WANIWANI_DEBUG")}catch{return!1}}function Zo(...e){Ph()&&console.log("[Waniwani]",...e)}var en=new Set;function Ah(e,t,a){return`${e}|${t}|${a??""}`}function tn(e){try{return`${new URL(e).origin}/api/mcp/events/v2/batch`}catch{return e.replace(/\/$/,"").replace(/\/chat$/,"/events/v2/batch")}}async function an(e){let{api:t,token:a,channelId:r,mode:o,source:n}=e;if(typeof window>"u"||!t||!a)return;let s=Ah(t,a,r);if(!en.has(s)){en.add(s);try{let i=await ia(),l=new Date().toISOString(),u=JSON.stringify({sentAt:l,source:{sdk:"@waniwani/sdk",version:"0.1.0"},events:[{id:crypto.randomUUID(),type:"mcp.event",name:"page.viewed",source:n,timestamp:l,correlation:{visitorId:i.visitorId},properties:{channelId:r,mode:o,url:window.location.href,referrer:i.referrer,deviceType:i.deviceType,language:i.language,timezone:i.timezone},metadata:{}}]});await fetch(tn(t),{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${a}`},body:u,keepalive:!0})}catch{en.delete(s)}}}var Rh="waniwani:config:";function Wl(e,t,a){return`${Rh}${e}|${t}|${a??""}`}function rn(e,t,a){if(typeof window>"u")return null;try{let r=window.sessionStorage.getItem(Wl(e,t,a));if(!r)return null;let o=JSON.parse(r);return o&&typeof o=="object"?o:null}catch{return null}}function Gl(e,t,a,r){if(!(typeof window>"u"))try{window.sessionStorage.setItem(Wl(e,t,a),JSON.stringify(r))}catch{}}async function Vl(e,t,a,r){try{let o=et(e,"/config",r?{channel:r}:void 0),n=await fetch(o,{method:"GET",headers:{Authorization:`Bearer ${t}`},signal:a});if(!n.ok)return{};let s=await n.json(),i=s&&typeof s=="object"&&"data"in s&&s.data?s.data:s;return i?Mh(i):{}}catch{return{}}}function Mh(e){let t={};return e.source!=null&&(t.source=e.source),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),e.toolCallDisplay==="full"?t.showToolCalls=!0:e.toolCallDisplay==="titles-only"?t.showToolCalls="titles-only":e.toolCallDisplay==="hidden"&&(t.showToolCalls=!1),e.visibility&&(t.visibility=e.visibility),t}import{useEffect as Eh,useSyncExternalStore as _h}from"react";function Fh(e){return e?.patterns??e?.rules??[]}var zl="\0\0";function Bh(e){let a=e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&").replace(/\\\*\\\*/g,zl).replace(/\\\*/g,"[^/]*").split(zl).join(".*");return new RegExp(`^${a}$`)}function Dh(e,t){try{return Bh(e).test(t)}catch{return!1}}function jl(e,t){if(!e)return!0;let a=!1;for(let r of Fh(e))if(Dh(r.glob,t)){if(r.action==="hide")return!1;a=!0}return a?!0:(e.default??"show")!=="hide"}var on="waniwani:locationchange",$l=!1;function Nh(){if(!($l||typeof history>"u")){$l=!0;for(let e of["pushState","replaceState"]){let t=history[e];history[e]=function(...r){let o=t.apply(this,r);return window.dispatchEvent(new Event(on)),o}}}}function Oh(e){return Nh(),window.addEventListener(on,e),window.addEventListener("popstate",e),()=>{window.removeEventListener(on,e),window.removeEventListener("popstate",e)}}function Uh(){return window.location.pathname}function Hh(){return"/"}function qh(){return _h(Oh,Uh,Hh)}function Xl(e,t){let a=qh(),r=t&&jl(e,a);return Eh(()=>{Zo("visibility gate",{pathname:a,ready:t,visible:r,rules:e})},[a,t,r]),r}function Pt(e,t){for(let a of t){let r=e[a];if(typeof r=="string"&&r.length>0)return r}}var Wh=["waniwani/sessionId","openai/sessionId","openai/session","sessionId","conversationId","mcp-session-id"],Gh=["waniwani/requestId","openai/requestId","requestId","mcp/requestId"],Vh=["waniwani/traceId","openai/traceId","traceId","mcp/traceId","openai/requestId","requestId"],zh=["waniwani/userId","openai/userId","externalUserId","userId","actorId"],jh=["waniwani/visitorId","visitorId"],$h=["correlationId","openai/requestId"];function Kl(e){return e?Pt(e,Wh):void 0}function Ql(e){return e?Pt(e,Gh):void 0}function Jl(e){return e?Pt(e,Vh):void 0}function Yl(e){return e?Pt(e,zh):void 0}function Zl(e){return e?Pt(e,jh):void 0}function eu(e){return e?Pt(e,$h):void 0}var Xh=[{key:"openai/sessionId",source:"chatgpt"},{key:"openai/session",source:"chatgpt"}],Kh=[{needle:"claude",source:"claude"},{needle:"chatgpt",source:"chatgpt"},{needle:"openai",source:"chatgpt"},{needle:"gemini",source:"gemini"}];function tu(e,t){if(e){let r=e["waniwani/source"];if(typeof r=="string"&&r.length>0)return r;for(let{key:o,source:n}of Xh){let s=e[o];if(typeof s=="string"&&s.length>0)return n}}let a=t?.name;if(typeof a=="string"&&a.length>0){let r=a.toLowerCase();for(let{needle:o,source:n}of Kh)if(r.includes(o))return n}}var Qh="@waniwani/sdk";function au(e,t={}){let a=t.now??(()=>new Date),r=t.generateId??Jh,o=eg(e),n=kr(e.meta),s=kr(e.metadata),i=tg(e,n),l=Ne(e.eventId)??r(),u=ag(e.timestamp,a),c=Ne(e.source)??tu(n)??t.source??Qh,d=nn(e)?{...e}:void 0,p={...s};return Object.keys(n).length>0&&(p.meta=n),d&&(p.rawLegacy=d),{id:l,type:"mcp.event",name:o,source:c,timestamp:u,correlation:i,properties:Yh(e,o),metadata:p,rawLegacy:d}}function Jh(){return typeof crypto<"u"&&typeof crypto.randomUUID=="function"?`evt_${crypto.randomUUID()}`:`evt_${Math.random().toString(36).slice(2,10)}_${Date.now().toString(36)}`}function Yh(e,t){if(!nn(e))return kr(e.properties);let a=Zh(e,t),r=kr(e.properties);return{...a,...r}}function Zh(e,t){switch(t){case"tool.called":{let a={};return Ne(e.toolName)&&(a.name=e.toolName),Ne(e.toolType)&&(a.type=e.toolType),a}case"link.clicked":{let a={};return Ne(e.linkUrl)&&(a.url=e.linkUrl),a}default:return{}}}function eg(e){return nn(e)?e.eventType:e.event}function tg(e,t){let a=Ne(e.requestId)??Ql(t),r=Ne(e.sessionId)??Kl(t),o=Ne(e.traceId)??Jl(t),n=Ne(e.externalUserId)??Yl(t),s=Ne(e.visitorId)??Zl(t),i=Ne(e.correlationId)??eu(t)??a,l={};return r&&(l.sessionId=r),o&&(l.traceId=o),a&&(l.requestId=a),i&&(l.correlationId=i),n&&(l.externalUserId=n),s&&(l.visitorId=s),l}function ag(e,t){if(e instanceof Date)return e.toISOString();if(typeof e=="string"){let a=new Date(e);if(!Number.isNaN(a.getTime()))return a.toISOString()}return t().toISOString()}function kr(e){return!e||typeof e!="object"||Array.isArray(e)?{}:e}function Ne(e){if(typeof e=="string"&&e.trim().length!==0)return e}function nn(e){return"eventType"in e}function ru(e){return{priceShown:({amount:t,currency:a,itemId:r,label:o,...n})=>e({event:"price_shown",properties:{amount:t,currency:a,itemId:r,label:o},...n}),pricesCompared:({options:t,...a})=>e({event:"prices_compared",properties:{options:t},...a}),optionSelected:({id:t,amount:a,currency:r,...o})=>e({event:"option_selected",properties:{id:t,amount:a,currency:r},...o}),leadQualified:t=>{let{externalId:a,email:r,name:o,...n}=t??{};return e({event:"lead_qualified",properties:{externalId:a,email:r,name:o},...n})},converted:({amount:t,currency:a,occurredAt:r,...o})=>e({event:"converted",properties:{amount:t,currency:a,occurredAt:r},...o})}}var rg="/api/mcp/events/v2/batch";var ou="@waniwani/sdk";var og=new Set([401,403]),ng=new Set([408,425,429,500,502,503,504]);function nu(e){return new sn(e)}var sn=class{endpointUrl;flushIntervalMs;maxBatchSize;maxBufferSize;maxRetries;retryBaseDelayMs;retryMaxDelayMs;shutdownTimeoutMs;sdkVersion;fetchFn;logger;now;sleep;apiKey;buffer=[];flushTimer;flushScheduled=!1;flushScheduledTimer;flushInFlight;inFlightCount=0;isStopped=!1;isShuttingDown=!1;constructor(t){this.endpointUrl=lg(t.apiUrl,t.endpointPath??rg),this.flushIntervalMs=t.flushIntervalMs??1e3,this.maxBatchSize=t.maxBatchSize??20,this.maxBufferSize=t.maxBufferSize??1e3,this.maxRetries=t.maxRetries??3,this.retryBaseDelayMs=t.retryBaseDelayMs??200,this.retryMaxDelayMs=t.retryMaxDelayMs??2e3,this.shutdownTimeoutMs=t.shutdownTimeoutMs??2e3,this.fetchFn=t.fetchFn??fetch,this.logger=t.logger??console,this.now=t.now??(()=>new Date),this.sleep=t.sleep??(a=>new Promise(r=>setTimeout(r,a))),this.apiKey=t.apiKey,this.sdkVersion=t.sdkVersion,this.flushIntervalMs>0&&(this.flushTimer=setInterval(()=>{this.flush()},this.flushIntervalMs)),this.registerBrowserTeardown()}enqueue(t){if(this.isStopped||this.isShuttingDown){this.logger.warn("[Waniwani] Tracking transport is stopped, dropping event %s",t.id);return}if(this.buffer.length>=this.maxBufferSize){let a=this.buffer.length-this.maxBufferSize+1;this.buffer.splice(0,a),this.logger.warn("[Waniwani] Tracking buffer overflow, dropped %d oldest event(s)",a)}if(this.buffer.push(t),this.buffer.length>=this.maxBatchSize){this.flush();return}this.scheduleMicroFlush()}pendingEvents(){return this.buffer.length+this.inFlightCount}async flush(){return this.flushInFlight?this.flushInFlight:(this.flushInFlight=this.flushLoop().finally(()=>{this.flushInFlight=void 0}),this.flushInFlight)}async shutdown(t){this.isShuttingDown=!0,this.flushTimer&&(clearInterval(this.flushTimer),this.flushTimer=void 0),this.flushScheduledTimer&&(clearTimeout(this.flushScheduledTimer),this.flushScheduledTimer=void 0,this.flushScheduled=!1);let a=t?.timeoutMs??this.shutdownTimeoutMs,r=this.flush();if(!Number.isFinite(a)||a<=0)return await r,this.isStopped=!0,{timedOut:!1,pendingEvents:this.pendingEvents()};let o=Symbol("shutdown-timeout");return await Promise.race([r.then(()=>"flushed"),this.sleep(a).then(()=>o)])===o?(this.isStopped=!0,{timedOut:!0,pendingEvents:this.pendingEvents()}):(this.isStopped=!0,{timedOut:!1,pendingEvents:this.pendingEvents()})}registerBrowserTeardown(){if(typeof document>"u"||typeof window>"u")return;let t=()=>{document.visibilityState==="hidden"&&this.keepaliveFlush()};document.addEventListener("visibilitychange",t),window.addEventListener("pagehide",()=>this.keepaliveFlush())}keepaliveFlush(){if(this.isStopped||this.buffer.length===0)return;let t=this.buffer.splice(0,this.buffer.length);this.sendKeepaliveChunk(t)}sendKeepaliveChunk(t){let a=JSON.stringify(this.makeBatchRequest(t));if(a.length>6e4&&t.length>1){let r=Math.ceil(t.length/2);this.sendKeepaliveChunk(t.slice(0,r)),this.sendKeepaliveChunk(t.slice(r));return}try{this.fetchFn(this.endpointUrl,{method:"POST",headers:this.requestHeaders(),body:a,keepalive:!0}).catch(()=>{})}catch{}}requestHeaders(){let t={"Content-Type":"application/json","X-WaniWani-SDK":ou};return this.apiKey&&(t.Authorization=`Bearer ${this.apiKey}`),t}scheduleMicroFlush(){this.flushScheduled||(this.flushScheduled=!0,this.flushScheduledTimer=setTimeout(()=>{this.flushScheduledTimer=void 0,this.flushScheduled=!1,this.flush()},0))}async flushLoop(){for(;this.buffer.length>0&&!this.isStopped;){let t=this.buffer.splice(0,this.maxBatchSize);await this.sendBatchWithRetry(t)}}async sendBatchWithRetry(t){let a=0,r=t;for(;r.length>0&&!this.isStopped;){this.inFlightCount=r.length;let o=await this.sendBatchOnce(r);switch(this.inFlightCount=0,o.kind){case"success":return;case"auth":this.stopTransportForAuthFailure(o.status,r.length);return;case"permanent":this.logger.error("[Waniwani] Dropping %d event(s) after permanent failure: %s",r.length,o.reason);return;case"retryable":if(a>=this.maxRetries){this.logger.error("[Waniwani] Dropping %d event(s) after retry exhaustion: %s",r.length,o.reason);return}await this.sleep(this.backoffDelayMs(a)),a+=1;continue;case"partial":if(o.permanent.length>0&&this.logger.error("[Waniwani] Dropping %d event(s) rejected as permanent",o.permanent.length),o.retryable.length===0)return;if(a>=this.maxRetries){this.logger.error("[Waniwani] Dropping %d retryable event(s) after retry exhaustion",o.retryable.length);return}r=o.retryable,await this.sleep(this.backoffDelayMs(a)),a+=1;continue}}}async sendBatchOnce(t){let a;try{a=await this.fetchFn(this.endpointUrl,{method:"POST",headers:this.requestHeaders(),body:JSON.stringify(this.makeBatchRequest(t))})}catch(n){return{kind:"retryable",reason:ug(n)}}if(og.has(a.status))return{kind:"auth",status:a.status};if(ng.has(a.status))return{kind:"retryable",reason:`HTTP ${a.status}`};if(!a.ok)return{kind:"permanent",reason:`HTTP ${a.status}`};let r=await ig(a);if(!r?.rejected||r.rejected.length===0)return{kind:"success"};let o=this.classifyRejectedEvents(t,r.rejected);return o.retryable.length===0&&o.permanent.length===0?{kind:"success"}:{kind:"partial",retryable:o.retryable,permanent:o.permanent}}makeBatchRequest(t){return{sentAt:this.now().toISOString(),source:{sdk:ou,version:this.sdkVersion??"0.0.0"},events:t}}classifyRejectedEvents(t,a){let r=new Map(t.map(s=>[s.id,s])),o=[],n=[];for(let s of a){let i=r.get(s.eventId);if(i){if(sg(s)){o.push(i);continue}n.push(i)}}return{retryable:o,permanent:n}}backoffDelayMs(t){let a=this.retryBaseDelayMs*2**t;return Math.min(a,this.retryMaxDelayMs)}stopTransportForAuthFailure(t,a){this.isStopped=!0;let r=this.buffer.length;this.buffer.splice(0,r),this.logger.error("[Waniwani] Auth failure (HTTP %d). Stopping tracking transport and dropping %d queued event(s)",t,a+r)}};function sg(e){if(e.retryable===!0)return!0;let t=e.code.toLowerCase();return t.includes("timeout")||t.includes("temporary")||t.includes("unavailable")||t.includes("rate_limit")||t.includes("transient")||t.includes("server")}async function ig(e){let t=await e.text();if(t)try{return JSON.parse(t)}catch{return}}function lg(e,t){let a=e.endsWith("/")?e:`${e}/`,r=t.startsWith("/")?t.slice(1):t;return`${a}${r}`}function ug(e){return e instanceof Error?e.message:String(e)}function su(e){let{apiUrl:t,endpointPath:a}=dg(e.endpoint),r=nu({apiUrl:t,apiKey:e.token,endpointPath:a,flushIntervalMs:e.flushIntervalMs}),o,n=i=>typeof i=="function"?i():i,s=async i=>{let l=e.identity?.()??{},u=n(e.channelId),c=u===void 0?i.properties:{channelId:u,...i.properties},d=au({sessionId:l.sessionId,visitorId:l.visitorId,externalUserId:l.externalUserId??o,traceId:l.traceId,...i,properties:c,metadata:{...e.metadata,...i.metadata}},{source:n(e.source)});return r.enqueue(d),{eventId:d.id}};return{track:Object.assign(s,ru(s)),identify(i,l){return o=i,s({event:"user.identified",externalUserId:i,properties:l})},flush:()=>r.flush(),shutdown:i=>r.shutdown(i)}}function dg(e){let t=new URL(e);return{apiUrl:t.origin,endpointPath:`${t.pathname}${t.search}`}}function iu(e){return su({endpoint:tn(e.api),token:e.token,channelId:e.channelId,source:e.getSource,identity:()=>({sessionId:e.getSessionId(),visitorId:vt()})})}function lu(e){let t=!1,a=async()=>(t||(t=!0,console.warn(`[Waniwani] track() is disabled: ${e}`)),{eventId:""});return{track:Object.assign(a,{priceShown:a,pricesCompared:a,optionSelected:a,leadQualified:a,converted:a}),identify:a,flush:async()=>{},shutdown:async()=>({timedOut:!1,pendingEvents:0})}}import{jsx as cu}from"react/jsx-runtime";var pg=600,du="https://app.waniwani.ai/api/mcp/chat",mg=cg(function(t,a){let{token:r,channelId:o,className:n,visitorId:s,overrides:i,onEvent:l}=t,u=un(null),c=un(null),d=ln(()=>wl({mode:"inline",getSessionId:()=>u.current?.sessionId}),[]);Tr(()=>{if(l)return d.subscribe(l)},[l,d]);let p=ln(()=>({token:r,channelId:o,api:i?.api,mcpServerUrl:i?.mcpServerUrl,title:i?.title,hideHeader:i?.hideHeader,welcomeMessage:i?.welcomeMessage,placeholder:i?.placeholder,suggestions:i?.suggestions,enableThreadHistory:i?.enableThreadHistory,showToolCalls:i?.showToolCalls,appearance:i?.appearance,disclaimer:i?.disclaimer,locale:i?.locale}),[r,o,i?.api,i?.mcpServerUrl,i?.title,i?.hideHeader,i?.welcomeMessage,i?.placeholder,i?.suggestions,i?.enableThreadHistory,i?.showToolCalls,i?.appearance,i?.disclaimer,i?.locale]),f=i?.api??du,[m,I]=uu({}),[L,w]=uu(!1),g=un(!1);Tr(()=>{L&&!g.current&&(g.current=!0,d.emit({name:"chat.ready"}))},[L,d]);let h=i?.disablePageView;Tr(()=>{if(!r){w(!0);return}let v=F=>{h||an({api:f,token:r,channelId:o,mode:"inline",source:F})},A=rn(f,r,o);A&&(I(A),w(!0),v(A.source));let R=new AbortController,P=setTimeout(()=>w(!0),pg);return Vl(f,r,R.signal,o).then(F=>{R.signal.aborted||(Object.keys(F).length>0&&(Gl(f,r,o,F),I(F)),w(!0),v(F.source))}).catch(F=>{console.error("[Waniwani] Remote config fetch failed:",F),w(!0)}).finally(()=>clearTimeout(P)),()=>{R.abort(),clearTimeout(P)}},[f,r,o,h]);let x=ln(()=>Yo(p,m,void 0),[p,m]);Tr(()=>{if(!r)return;let v=iu({api:f,token:r,channelId:o,getSource:()=>rn(f,r,o)?.source??void 0,getSessionId:()=>u.current?.sessionId});return c.current=v,()=>{c.current=null,v.shutdown()}},[f,r,o]),fg(a,()=>{let v=()=>c.current??lu("no public token configured"),A=Object.assign(R=>v().track(R),{priceShown:R=>v().track.priceShown(R),pricesCompared:R=>v().track.pricesCompared(R),optionSelected:R=>v().track.optionSelected(R),leadQualified:R=>v().track.leadQualified(R),converted:R=>v().track.converted(R)});return{sendMessage:R=>u.current?.sendMessage(R),sendMessageAndWait:R=>u.current?u.current.sendMessageAndWait(R):Promise.resolve(void 0),reset:()=>u.current?.reset(),focus:()=>u.current?.focus(),get messages(){return u.current?.messages??[]},get sessionId(){return u.current?.sessionId},track:A,identify:(R,P)=>v().identify(R,P)}},[]);let y=Xl(x.visibility,L),T={mode:"inline"};return x.mcpServerUrl&&(T.mcpServerUrl=x.mcpServerUrl),x.channelId&&(T.channelId=x.channelId),y?cu(Il,{value:d,children:cu(Qo,{ref:u,api:x.api??du,headers:{Authorization:`Bearer ${x.token}`},visitorId:s,skipRemoteConfig:!0,body:T,appearance:x.appearance,classNames:i?.classNames,title:x.title,hideHeader:x.hideHeader,welcomeMessage:x.welcomeMessage,welcome:i?.welcome,placeholder:x.placeholder,suggestions:x.suggestions?{initial:x.suggestions}:void 0,enableThreadHistory:x.enableThreadHistory,showToolCalls:x.showToolCalls,disclaimer:x.disclaimer,allowAttachments:i?.allowAttachments,locale:x.locale,messages:i?.messages,className:n,initializing:!L})}):null});export{Lh as ChatCard,Qo as ChatEmbed,mh as DARK_THEME,Nl as DEFAULT_THEME,_o as McpAppFrame,mg as WaniwaniChat,Xo as mergeTheme,la as themeToCSSProperties};
15
+ ${Q}`}]}}P.current({...O,...q?{modelContext:q}:{}})}$({jsonrpc:"2.0",id:W,result:{}});return}if(se==="ui/update-model-context"&&W!=null){ye=ml(ye,K.params),$({jsonrpc:"2.0",id:W,result:{}});return}if(se==="tools/call"&&W!=null){let O=b.current;if(!O){$({jsonrpc:"2.0",id:W,error:{code:-32601,message:"tools/call not supported"}});return}let q=K.params?.name;O({name:q,arguments:K.params?.arguments??{}}).then(Q=>{$({jsonrpc:"2.0",id:W,result:Q});let ie=Q.content?.map(te=>te.text??"").join("").trim();ie&&bm(q,Q,S.current)&&(ne&&clearTimeout(ne.timer),ne={text:ie,timer:setTimeout(()=>{if(me)return;let te=ye;ye=null,ne=null,P.current?.({role:"user",content:[{type:"text",text:ie}],...te?{modelContext:te}:{}})},500)})}).catch(Q=>{let ie=Q instanceof Error?Q.message:"Tool call failed";$({jsonrpc:"2.0",id:W,error:{code:-32e3,message:ie}})});return}if(se==="ui/request-display-mode"&&W!=null){let O=K.params?.mode,q=O==="fullscreen"||O==="inline"||O==="pip"?O:"inline";y.current=q,$({jsonrpc:"2.0",id:W,result:{mode:q}}),$({jsonrpc:"2.0",method:"ui/notifications/host-context-changed",params:{displayMode:q}}),H.current?.(q);return}if(se==="ui/resource-teardown"&&W!=null){$({jsonrpc:"2.0",id:W,result:{}});return}se==="ping"&&W!=null&&$({jsonrpc:"2.0",id:W,result:{}})};return window.addEventListener("message",ve),()=>{me=!0,clearTimeout(V),ne&&clearTimeout(ne.timer),window.removeEventListener("message",ve)}},[i,D]),km("iframe",{ref:m,src:B,sandbox:"allow-scripts allow-forms allow-same-origin allow-popups allow-popups-to-escape-sandbox",className:k(!f&&"ww:rounded-md ww:border ww:border-border",s),style:{height:f?"100%":T,minWidth:f||!A?void 0:`min(${A}px, 100%)`,width:"100%",border:"none",colorScheme:n?"dark":"auto"},title:"MCP App"})}import{jsx as ia,jsxs as Tm}from"react/jsx-runtime";function gl({icon:e,title:t,description:a,suggestions:r,onSuggestionSelect:o}){return Tm("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&&ia("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}),ia("h2",{className:"ww:text-lg ww:font-semibold ww:text-foreground",children:t}),a&&ia("p",{className:"ww:mt-1 ww:text-sm ww:text-muted-foreground ww:max-w-sm",children:a}),r&&r.length>0&&ia("div",{className:"ww:mt-6 ww:w-full ww:max-w-md ww:flex ww:flex-col ww:gap-2",children:r.map((n,s)=>ia("button",{type:"button",onClick:()=>o?.(n),className:k("ww:w-full ww:text-left ww:rounded-xl ww:border ww:border-border ww:bg-background ww:px-4 ww:py-3 ww:text-sm","ww:text-foreground ww:hover:bg-accent ww:hover:border-primary/30","ww:transition-all ww:duration-200 ww:ease-out ww:cursor-pointer","ww:animate-[ww-fade-in_0.2s_ease-out_both]"),style:{animationDelay:`${s*50}ms`},children:n},n))})]})}import{Component as vm}from"react";import{jsx as Ho,jsxs as Am}from"react/jsx-runtime";function Pm({onRetry:e}){let{t}=z();return Am("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:[Ho("span",{children:t.widgetErrorBoundary.failedToLoad}),Ho("button",{type:"button",onClick:e,className:"ww:text-xs ww:font-medium ww:text-primary ww:hover:underline",children:t.widgetErrorBoundary.retry})]})}var ir=class extends vm{state={hasError:!1};static getDerivedStateFromError(){return{hasError:!0}}componentDidCatch(t){console.warn("[Waniwani] Widget failed to render:",t.message)}render(){return this.state.hasError?Ho(Pm,{onRetry:()=>this.setState({hasError:!1})}):this.props.children}};import{Fragment as Rm,jsx as Y,jsxs as Ze}from"react/jsx-runtime";function qo(e){return e?e.replace(/[-_]/g," ").replace(/^\w/,t=>t.toUpperCase()):"Tool"}function wl(e){return e&&/search|find|lookup|query|web|browse|google/i.test(e)?_t:rt}function lr({messages:e,status:t,welcomeMessage:a,welcome:r,onSuggestionSelect:o,resourceEndpoint:n,chatSessionId:s,isDark:i,onFollowUp:l,onCallTool:u,onWidgetDisplayModeChange:c,fullscreenToolCallId:d,debug:f,showToolCalls:p=!0,toolDefinitions:m,messageClassNames:L}){let{t:I}=z(),w=e[e.length-1],g=e.length>0,h=d!=null,x=!h&&fl(e,t,{ignoreToolParts:p===!1,ignoreReasoningParts:p===!1});return Ze(Rm,{children:[!h&&(!g&&r?Y(gl,{...r,onSuggestionSelect:o}):a&&Y(Ro,{from:"assistant",children:Y(Mo,{children:Y(sr,{children:a})})})),e.map(y=>{let T=y.parts.filter(S=>S.type==="text"),v=y.parts.filter(S=>S.type==="reasoning"),A=y.parts.filter(S=>S.type==="file"),R=y.parts.filter(S=>"toolCallId"in S),F=y.parts.filter(S=>S.type==="reasoning"||"toolCallId"in S),P=y===w&&y.role==="assistant",b=T.length>0,H=h?R.some(S=>S.toolCallId===d):!1,G=p!==!1&&!H&&F.length>=2;return h&&!H?Y("div",{style:{display:"none"}},y.id):y.role==="assistant"&&!cl(y)?Y("div",{style:{display:"none"}},y.id):p===!1&&y.role==="assistant"&&!b&&A.length===0&&R.every(S=>{let D="output"in S?S.output:void 0;return D===void 0||!n||!sa(S.toolName,D,m)})?Y("div",{style:{display:"none"}},y.id):Ze(Ro,{from:y.role,className:L?.message,children:[p!==!1&&!H&&!G&&v.map((S,D)=>Ze(Vt,{isStreaming:S.state==="streaming",children:[Y(zt,{}),Y(jt,{children:S.text})]},`reasoning-${y.id}-${D}`)),G&&(()=>{let S=F[F.length-1],D=S.type==="reasoning"?{icon:Ge,label:I.reasoning.thinking}:{icon:wl(S.toolName),label:S.title??qo(S.toolName)};return Ze(ms,{isWorking:P&&(t==="streaming"||t==="submitted"),activeStep:D,children:[Y(hs,{workingLabel:I.chainOfThought.working,label:I.chainOfThought.done}),Y(gs,{children:F.map((B,Te)=>{let we=Te===F.length-1;if(B.type==="reasoning")return Y(xs,{isStreaming:B.state==="streaming",isLast:we,children:B.text},`reasoning-${y.id}-${Te}`);let _=B.title??qo(B.toolName),me=wl(B.toolName);if(p==="titles-only")return Y(Kr,{icon:me,title:_,state:B.state,isLast:we},B.toolCallId);let oe="output"in B?B.output:void 0;return Ze(Kr,{icon:me,title:_,state:B.state,isLast:we,children:[Y(_o,{input:B.input,debug:f}),oe!==void 0&&Y(Oo,{output:oe,errorText:"errorText"in B?B.errorText:void 0,debug:f})]},B.toolCallId)})})]})})(),p!==!1&&!H&&!G&&R.length===1&&(()=>{let S=R[0],D=S.title??qo(S.toolName);if(p==="titles-only")return Y(ol,{title:D,state:S.state});let B="output"in S?S.output:void 0;return Ze(al,{children:[Y(rl,{title:D,state:S.state}),Ze(nl,{children:[Y(_o,{input:S.input,debug:f}),B!==void 0&&Y(Oo,{output:B,errorText:"errorText"in S?S.errorText:void 0,debug:f})]})]})})(),R.map(S=>{let D="output"in S?S.output:void 0,B=sa(S.toolName,D,m),Te=ll(S.toolName,D,m),we=S.toolCallId===d;return B&&n&&D!==void 0?Y("div",{style:we?{position:"absolute",inset:0,zIndex:10,display:"flex",flexDirection:"column",overflow:"hidden",background:"var(--ww-color-background)"}:void 0,children:B&&n&&D!==void 0&&Y(ir,{children:Y(Uo,{isFullscreen:we,resourceUri:B,toolInput:S.input??{},toolResult:{content:D.content,structuredContent:D.structuredContent,_meta:D._meta},resourceEndpoint:n,chatSessionId:s,isDark:i,autoHeight:Te,toolDefinitions:m,onFollowUp:l,onCallTool:u,onDisplayModeChange:c?_=>c(_,{toolCallId:S.toolCallId,resourceUri:B,toolInput:S.input??{},toolResult:{content:D.content,structuredContent:D.structuredContent,_meta:D._meta},autoHeight:Te}):void 0})})},S.toolCallId):null}),!H&&Y("div",{children:Ze(Mo,{className:k(y.role==="user"?L?.userBubble:L?.assistantBubble),children:[A.length>0&&Y(ls,{files:A}),b?T.map((S,D)=>{let B=P&&t==="streaming"&&D===T.length-1;return Y(sr,{isStreaming:B,children:S.type==="text"?S.text:""},`${y.id}-${D}`)}):null]})})]},y.id)}),x&&Y(pl,{})]})}import{jsx as xl,jsxs as Bm}from"react/jsx-runtime";var Mm="https://app.waniwani.ai/assets/waniwani-logo.svg",Fm="https://waniwani.ai";function ur(){let{t:e}=z();return Bm("a",{href:Fm,target:"_blank",rel:"noopener noreferrer",className:"ww:flex ww:items-center ww:gap-1.5 ww:whitespace-nowrap ww:text-[10px] ww:sm:text-[11px] ww:text-muted-foreground ww:opacity-70 hover:ww:opacity-100 ww:transition-opacity",children:[xl("span",{children:e.poweredBy.label}),xl("img",{src:Mm,alt:"Waniwani",width:72,height:10,"data-waniwani-logo":"",className:"ww:h-2.5 ww:w-auto"})]})}import{jsx as dr}from"react/jsx-runtime";function cr({suggestions:e,isLoading:t,onSelect:a,className:r,...o}){return e.length===0&&!t?null:dr("div",{className:k("ww:px-4 ww:py-2",r),...o,children:dr("div",{className:"ww:mx-auto ww:w-full ww:max-w-3xl ww:flex ww:flex-wrap ww:gap-2",children:t?[0,1,2].map(n=>dr("div",{className:"ww:h-8 ww:rounded-full ww:bg-accent ww:animate-pulse",style:{width:`${60+n*20}px`}},n)):e.map((n,s)=>dr("button",{type:"button",onClick:()=>a(n),className:k("ww:rounded-full ww:border ww:border-border ww:bg-background ww:px-3.5 ww:py-1.5 ww:text-sm","ww:text-foreground ww:hover:bg-accent ww:hover:border-primary/30","ww:transition-all ww:duration-200 ww:ease-out ww:cursor-pointer","ww:animate-[ww-fade-in_0.2s_ease-out_both]"),style:{animationDelay:`${s*50}ms`},children:n},n))})})}import{useEffect as Em,useRef as Dm,useState as _m}from"react";import{jsx as re,jsxs as ft}from"react/jsx-runtime";var Il=20;function Om({label:e}){return ft("svg",{xmlns:"http://www.w3.org/2000/svg",width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",role:"img","aria-label":e,children:[re("title",{children:e}),re("line",{x1:"12",y1:"5",x2:"12",y2:"19"}),re("line",{x1:"5",y1:"12",x2:"19",y2:"12"})]})}function Nm({label:e}){return ft("svg",{xmlns:"http://www.w3.org/2000/svg",width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",role:"img","aria-label":e,children:[re("title",{children:e}),re("path",{d:"M3 12a9 9 0 1 0 3-6.7"}),re("polyline",{points:"3 4 3 9 8 9"}),re("line",{x1:"12",y1:"7",x2:"12",y2:"12"}),re("line",{x1:"12",y1:"12",x2:"15",y2:"14"})]})}function Um({label:e}){return ft("svg",{xmlns:"http://www.w3.org/2000/svg",width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",role:"img","aria-label":e,children:[re("title",{children:e}),re("polyline",{points:"3 6 5 6 21 6"}),re("path",{d:"M19 6l-2 14a2 2 0 0 1-2 2H9a2 2 0 0 1-2-2L5 6"}),re("path",{d:"M10 11v6"}),re("path",{d:"M14 11v6"})]})}function fr({threads:e,activeThreadId:t,onNewThread:a,onSelectThread:r,onDeleteThread:o}){let{locale:n,t:s}=z(),[i,l]=_m(!1),u=Dm(null);Em(()=>{if(!i)return;let f=p=>{let m=u.current;m&&(p.composedPath().includes(m)||l(!1))};return document.addEventListener("mousedown",f),()=>document.removeEventListener("mousedown",f)},[i]);let c=e.slice(0,Il),d=Math.max(0,e.length-Il);return ft("div",{ref:u,className:"ww:relative ww:flex ww:items-center ww:gap-1",children:[re("button",{type:"button",onClick:a,title:s.threadMenu.newChat,"aria-label":s.threadMenu.newChat,className:"ww:p-1.5 ww:rounded-md ww:text-muted-foreground hover:ww:text-foreground hover:ww:bg-foreground/5 ww:transition-colors ww:cursor-pointer",children:re(Om,{label:s.threadMenu.newChat})}),re("button",{type:"button",onClick:()=>l(f=>!f),title:s.threadMenu.threadHistory,"aria-label":s.threadMenu.threadHistory,"aria-expanded":i,className:"ww:p-1.5 ww:rounded-md ww:text-muted-foreground hover:ww:text-foreground hover:ww:bg-foreground/5 ww:transition-colors ww:cursor-pointer",children:re(Nm,{label:s.threadMenu.threadHistory})}),i&&ft("div",{role:"menu",className:"ww:absolute ww:right-0 ww:top-full ww:mt-1 ww:w-72 ww:max-h-80 ww:overflow-y-auto ww:rounded-lg ww:border ww:border-border ww:bg-background ww:shadow-lg ww:z-50",children:[c.length===0&&re("div",{className:"ww:px-3 ww:py-3 ww:text-xs ww:text-muted-foreground",children:s.threadMenu.noPreviousChats}),c.map(f=>{let p=f.threadId===t,m=Date.parse(f.updatedAt);return ft("div",{className:`ww:flex ww:items-center ww:gap-2 ww:px-3 ww:py-2 ww:text-xs hover:ww:bg-foreground/5 ${p?"ww:bg-foreground/5":""}`,children:[ft("button",{type:"button",onClick:()=>{r(f.threadId),l(!1)},className:"ww:flex-1 ww:min-w-0 ww:text-left ww:cursor-pointer",children:[re("div",{className:"ww:truncate ww:text-foreground ww:font-medium",children:f.title}),re("div",{className:"ww:text-[10px] ww:text-muted-foreground",children:Number.isNaN(m)?"":Gr(m,n)})]}),re("button",{type:"button",onClick:L=>{L.stopPropagation(),o(f.threadId)},title:s.threadMenu.deleteThread,"aria-label":s.threadMenu.deleteThread,className:"ww:p-1 ww:rounded ww:text-muted-foreground hover:ww:text-foreground hover:ww:bg-foreground/10 ww:transition-colors ww:cursor-pointer",children:re(Um,{label:s.threadMenu.deleteThread})})]},f.threadId)}),d>0&&re("div",{className:"ww:px-3 ww:py-2 ww:text-[10px] ww:text-muted-foreground ww:border-t ww:border-border",children:s.threadMenu.hiddenThreads(d)})]})]})}import{useCallback as Hm,useRef as qm}from"react";function pr(e){let t=qm(e);return t.current=e,Hm(async a=>{let{api:r,headers:o,onCallTool:n,sessionId:s}=t.current;if(n)return n(a);let i=`${r??"/api/waniwani"}/tool`,l=typeof s=="string"&&s.trim().length>0?s.trim():void 0,u=await fetch(i,{method:"POST",headers:{"Content-Type":"application/json",...l?{"X-Session-Id":l}:{},...o},body:JSON.stringify(a)});if(!u.ok)throw new Error(`Tool call failed: ${u.status} ${u.statusText}`);return u.json()},[])}import{useChat as sh}from"@ai-sdk/react";import{useCallback as Ce,useEffect as Me,useRef as fe,useState as pt}from"react";import{createContext as Gm,useContext as Wm}from"react";function Ll(e){let t=new Set;return{subscribe(a){return t.add(a),()=>{t.delete(a)}},emit(a){let{sessionId:r,...o}=a,n=a.name==="session.started"?a.properties.sessionId:void 0,s={...o,mode:e.mode,sessionId:Object.hasOwn(a,"sessionId")?r:n??e.getSessionId?.(),timestamp:Date.now()};for(let i of[...t])try{i(s)}catch(l){console.warn("[Waniwani] onEvent subscriber threw:",l)}}}}function Cl(){return{subscribe(){return()=>{}},emit(){}}}var Sl=Gm(Cl());function mr(){return Wm(Sl)}var yl=Sl.Provider;function et(e,t,a){let[r,o=""]=e.split("?"),n=r.replace(/\/$/,""),s=new URLSearchParams(o);if(a)for(let[l,u]of Object.entries(a))s.set(l,u);let i=s.toString();return`${n}${t}${i?`?${i}`:""}`}import{DefaultChatTransport as Vm,uiMessageChunkSchema as zm}from"ai";function jm(e){let t=e?.cause,a=t?.issues??t?.errors;if(!Array.isArray(a))return null;let r=a.find(o=>o.code==="invalid_union");if(!r?.errors)return null;for(let o of r.errors){if(!Array.isArray(o)||o.some(i=>(i.code==="invalid_value"||i.code==="invalid_literal")&&i.path?.[0]==="type"))continue;let s=o.filter(i=>i.code==="unrecognized_keys").flatMap(i=>i.keys??[]);if(s.length>0)return s}return null}var hr=class extends Vm{processResponseStream(t){let a="",r=zm(),o=r.validate?.bind(r);return t.pipeThrough(new TextDecoderStream).pipeThrough(new TransformStream({async transform(n,s){a+=n;let i=a.split(`
16
+ `);a=i.pop()??"";for(let l of i){let u=l.trim();if(!u.startsWith("data:"))continue;let c=u.slice(5).trim();if(c!=="[DONE]")try{let d=JSON.parse(c);if(!o){s.enqueue(d);continue}let f=await o(d);if(f.success){s.enqueue(f.value);continue}let p=jm(f.error);if(p?.length){let m={...d};for(let I of p)delete m[I];let L=await o(m);L.success&&s.enqueue(L.value)}}catch{}}}}))}};var $m="waniwani-memory";var Re="threads",gr="by_memoryUserId",Xm="by_updatedAt";var kl="memoryUserId",bl="waniwani-memory-user-id",Go=null;function Wo(){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 Km(e,t){if(t<1&&(e.objectStoreNames.contains("ids")||e.createObjectStore("ids")),t<2&&!e.objectStoreNames.contains(Re)){let a=e.createObjectStore(Re,{keyPath:"threadId"});a.createIndex(gr,"memoryUserId",{unique:!1}),a.createIndex(Xm,"updatedAt",{unique:!1})}}async function Vo(){return new Promise((e,t)=>{let a=indexedDB.open($m,2);a.onupgradeneeded=r=>{Km(a.result,r.oldVersion)},a.onsuccess=()=>e(a.result),a.onerror=()=>t(a.error)})}async function Qm(){return Vo()}async function Jm(e){return new Promise((t,a)=>{let n=e.transaction("ids","readonly").objectStore("ids").get(kl);n.onsuccess=()=>t(typeof n.result=="string"?n.result:null),n.onerror=()=>a(n.error)})}async function Ym(e,t){return new Promise((a,r)=>{let s=e.transaction("ids","readwrite").objectStore("ids").put(t,kl);s.onsuccess=()=>a(),s.onerror=()=>r(s.error)})}async function Zm(){if(typeof indexedDB>"u")return null;try{let e=await Qm();try{let t=await Jm(e);if(t)return t;let a=Wo();return await Ym(e,a),a}finally{e.close()}}catch{return null}}function eh(){try{let e=localStorage.getItem(bl);if(e)return e;let t=Wo();return localStorage.setItem(bl,t),t}catch{return null}}async function Tl(){let e=await Zm();if(e)return e;let t=eh();return t||(Go||(Go=Wo()),Go)}var vl=50,Pl=1e3;function wr(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 xr(e){if(typeof indexedDB>"u")return null;let t=null;try{return t=await Vo(),await e(t)}catch{return null}finally{try{t?.close()}catch{}}}function zo(e){return new Promise((t,a)=>{e.onsuccess=()=>t(e.result),e.onerror=()=>a(e.error)})}async function jo(e){return await xr(async a=>{let n=a.transaction(Re,"readonly").objectStore(Re).index(gr),i=(await zo(n.getAll(e))??[]).filter(wr);return i.sort((l,u)=>l.updatedAt<u.updatedAt?1:-1),i})??[]}async function Ir(e){return await xr(async a=>{let o=a.transaction(Re,"readonly").objectStore(Re),n=await zo(o.get(e));return wr(n)?n:null})??null}async function $o(e){if(!wr(e))return;let t=e.messages.length>Pl?{...e,messages:e.messages.slice(e.messages.length-Pl)}:e;await xr(async a=>{await new Promise((l,u)=>{let c=a.transaction(Re,"readwrite");c.oncomplete=()=>l(),c.onerror=()=>u(c.error),c.onabort=()=>u(c.error),c.objectStore(Re).put(t)});let r=a.transaction(Re,"readwrite"),o=r.objectStore(Re),n=o.index(gr),i=(await zo(n.getAll(t.memoryUserId))??[]).filter(wr);if(i.length>vl){i.sort((u,c)=>u.updatedAt<c.updatedAt?-1:1);let l=i.slice(0,i.length-vl);for(let u of l)o.delete(u.threadId)}return await new Promise((l,u)=>{r.oncomplete=()=>l(),r.onerror=()=>u(r.error),r.onabort=()=>u(r.error)}),null})}async function Al(e){await xr(async t=>(await new Promise((a,r)=>{let o=t.transaction(Re,"readwrite");o.oncomplete=()=>a(),o.onerror=()=>r(o.error),o.onabort=()=>r(o.error),o.objectStore(Re).delete(e)}),null))}async function Xo(e){return(await jo(e))[0]?.threadId??null}function Rl(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 Ko="waniwani-visitor-id";function Fl(e,t){return e.match(t)?.[1]??null}function th(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,r]of t){let o=Fl(e,r);if(o)return{name:a,version:o}}return null}function ah(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,r]of t){let o=Fl(e,r);if(o)return{name:a,version:o.replace(/_/g,".")};if(a==="Linux"&&r.test(e))return{name:a,version:""}}return null}function rh(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"}function oh(){try{if(typeof crypto<"u"){if(typeof crypto.randomUUID=="function")return crypto.randomUUID();if(typeof crypto.getRandomValues=="function"){let e=crypto.getRandomValues(new Uint8Array(16));e[6]=e[6]&15|64,e[8]=e[8]&63|128;let t=Array.from(e,a=>a.toString(16).padStart(2,"0")).join("");return`${t.slice(0,8)}-${t.slice(8,12)}-${t.slice(12,16)}-${t.slice(16,20)}-${t.slice(20)}`}}}catch{}return`v-${Date.now().toString(36)}-${Math.random().toString(36).slice(2,10)}`}function vt(){try{let t=localStorage.getItem(Ko);if(t)return t}catch{}let e=oh();try{localStorage.setItem(Ko,e)}catch{}return e}function Ml(e){let t=typeof e=="string"?e.trim():"";if(!t)return vt();try{localStorage.setItem(Ko,t)}catch{}return t}function nh(e){return e!=null&&typeof e.then=="function"}function Bl(e){let t=!1,a=()=>{t=!0};if(e==null)return a;let r;try{r=typeof e=="function"?e():e}catch{return a}return nh(r)?r.then(o=>{t||Ml(o??"")},()=>{}):Ml(r??""),a}async function la(){let e=navigator.userAgent,t=vt(),a=await Tl();return{userAgent:e,browser:th(e),os:ah(e),deviceType:rh(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 ih="x-session-id",lh=250,uh=200;function El(){return typeof crypto<"u"&&typeof crypto.randomUUID=="function"?crypto.randomUUID():Gt()}function Lr(){return new Date().toISOString()}function Dl(e){if(typeof e!="string")return;let t=e.trim();return t.length>0?t:void 0}async function dh(e,t){let a=et(e,"/tools"),r=await fetch(a,{method:"GET",headers:t?{...t}:void 0});if(!r.ok)throw new Error(`[Waniwani] Failed to fetch /tools: ${r.status} ${r.statusText}`);let o=await r.json();if(!o||!Array.isArray(o.tools))return{};let n={};for(let s of o.tools)s&&typeof s.name=="string"&&(n[s.name]=s);return n}function Cr(e){let{api:t="/api/waniwani",headers:a,body:r,onMessageSent:o,onResponseReceived:n,enableThreadHistory:s=!1,activeThreadId:i,onThreadChange:l}=e,u=e.visitorId;Me(()=>Bl(u),[u]);let c=mr(),d=fe(a),f=fe(r),p=fe(s);Me(()=>{p.current=s},[s]);let m=fe(void 0),L=fe(null),[I,w]=pt(void 0),g=fe(I),[h,x]=pt(i),y=fe(h),[T,v]=pt([]),[A,R]=pt(!s),F=fe(void 0),P=fe(void 0),b=fe(void 0),H=fe(void 0),G=fe(0),S=fe(l);Me(()=>{S.current=l},[l]);let D=Ce(C=>{y.current=C,x(C),C&&(S.current?.(C),c.emit({name:"thread.changed",sessionId:g.current,properties:{threadId:C}}))},[c]),B=Ce(async()=>{if(!s)return;let C=L.current?.memoryUserId;if(!C)return;let E=await jo(C);v(E)},[s]),Te=Ce(()=>g.current,[]),we=Ce(C=>{let E=Dl(C);if(!E||g.current===E)return;let U=g.current===void 0;g.current=E,w(E),U&&c.emit({name:"session.started",properties:{sessionId:E}})},[c]),_=Ce(()=>{g.current=void 0,w(void 0)},[]);Me(()=>{d.current=a},[a]),Me(()=>{f.current=r},[r]),Me(()=>{let C=!1,E=G.current;return(async()=>{try{let ee=await la();if(C)return;L.current=ee}catch{}if(!s)return;let U=L.current?.memoryUserId;if(!U){R(!0);return}try{let ee=i??await Xo(U);if(C||E!==G.current)return;if(ee){let he=await Ir(ee);if(C||E!==G.current)return;he&&he.memoryUserId===U&&(y.current=he.threadId,x(he.threadId),F.current=he.createdAt,P.current=he.title,he.sessionId&&(g.current=he.sessionId,w(he.sessionId)),W(he.messages))}await B()}finally{C||R(!0)}})(),()=>{C=!0}},[]);let me=fe(new hr({api:t,headers:()=>({...d.current}),body:()=>{let C={...f.current??{}},E=Object.hasOwn(C,"sessionId"),U=Dl(C.sessionId);if(U)we(U),C.sessionId=U;else if(E)_(),delete C.sessionId;else{let Fr=Te();Fr&&(C.sessionId=Fr)}Tt(m.current)&&(C.modelContext=m.current);let ee=L.current,he=vt();ee&&(C.visitorContext={timezone:ee.timezone,language:ee.language,languages:ee.languages,deviceType:ee.deviceType,referrer:ee.referrer,visitorId:he});let le=typeof C.visitor=="object"&&C.visitor!==null?C.visitor:{},vu=typeof le.client=="object"&&le.client!==null?le.client:{};C.visitor={...le,id:he,client:{...vu,...ee&&{memoryUserId:ee.memoryUserId}}};let gn=typeof C.extra=="object"&&C.extra!==null&&!Array.isArray(C.extra)?C.extra:void 0,wn=L.current?.memoryUserId,xn=L.current?.language,ha={};if(wn&&(ha.memoryUserId=wn),xn&&(ha.locale=xn),(Object.keys(ha).length>0||gn)&&(C.extra={...ha,...gn??{}}),p.current)if(Object.hasOwn(C,"threadId"))typeof C.threadId=="string"&&(y.current=C.threadId);else{let ga=y.current;ga||(ga=El(),F.current=Lr(),P.current=void 0,D(ga)),C.threadId=ga}return C},fetch:(async(C,E)=>{let U=await fetch(C,E);return m.current=void 0,we(U.headers.get(ih)),U})})),oe=fe(null),ye=fe(null),ne=fe({}),[V,$]=pt(0),ve=e.skipRemoteConfig===!0,de=Ce(async()=>{if(!ve)try{let C=await dh(t,d.current);ne.current=C,$(E=>E+1)}catch(C){console.warn("[Waniwani] Failed to fetch tool definitions:",C instanceof Error?C.message:C)}},[t,ve]);Me(()=>{de()},[de]);let{messages:K,sendMessage:se,setMessages:W,status:O}=sh({messages:e.initialMessages,transport:me.current,onFinish({message:C,isAbort:E,isDisconnect:U,isError:ee}){n?.(),!E&&!U&&!ee&&c.emit({name:"message.received"}),oe.current&&(ye.current=C)},onError(C){console.warn("[Waniwani] Chat error:",C.message),c.emit({name:"chat.error",properties:{message:C.message.slice(0,uh)}}),oe.current&&(oe.current.reject(C),oe.current=null)}}),q=fe(K);Me(()=>{q.current=K},[K]);let Q=fe(s);Me(()=>{if(!s||Q.current||(Q.current=!0,q.current.length>0))return;let C=!1,E=G.current;return R(!1),(async()=>{try{let U=L.current;if(!U)try{U=await la(),L.current=U}catch{}let ee=U?.memoryUserId;if(!ee||C||E!==G.current){C||R(!0);return}let he=i??await Xo(ee);if(C||E!==G.current)return;if(he){let le=await Ir(he);if(C||E!==G.current)return;le&&le.memoryUserId===ee&&(y.current=le.threadId,x(le.threadId),F.current=le.createdAt,P.current=le.title,le.sessionId&&(g.current=le.sessionId,w(le.sessionId)),W(le.messages))}await B()}finally{C||R(!0)}})(),()=>{C=!0}},[s]),Me(()=>{if(O==="ready"&&oe.current&&ye.current){let C=oe.current,E=ye.current;oe.current=null,ye.current=null,C.resolve(E)}},[O]);let[ie,te]=pt(""),[xe,M]=pt([]),N=O==="submitted"||O==="streaming",Z=Ce(C=>{M(E=>E.filter(U=>U.id!==C))},[]),Fe=N&&xe.length>0,ze=Ce(C=>{let E=!!C.text?.trim(),U=!!C.files?.length;if(E||U){if(N){if(xe.length>0)return;M(ee=>[...ee,{id:Gt(),text:C.text||"",files:C.files??[],modelContext:C.modelContext}]),te("");return}m.current=C.modelContext,se({text:C.text||"",files:C.files}),o?.(C.text||""),c.emit({name:"message.sent"}),te("")}},[se,o,N,xe.length,c]),ht=Ce(C=>new Promise((E,U)=>{oe.current={resolve:E,reject:U},se({text:C}),o?.(C),c.emit({name:"message.sent"})}),[se,o,c]);Me(()=>{if(O!=="ready"||xe.length===0)return;let[C,...E]=xe;M(E),m.current=C.modelContext,se({text:C.text,files:C.files.length>0?C.files:void 0}),o?.(C.text),c.emit({name:"message.sent"})},[O,se,o,xe,c]);let Rr=Ce(()=>{W([]),M([]),_(),te(""),ne.current={},$(C=>C+1),de()},[W,_,de]),pa=Ce(()=>{if(!p.current)return;let C=L.current?.memoryUserId,E=y.current,U=q.current;if(!(!C||!E||U.length===0)){if(F.current||(F.current=Lr()),!P.current){let ee=U.find(le=>le.role==="user"),he=ee?ee.parts.map(le=>"text"in le&&typeof le.text=="string"?le.text:"").join(" "):"";P.current=Rl(he)}return{threadId:E,memoryUserId:C,title:P.current,messages:U,sessionId:g.current,createdAt:F.current,updatedAt:Lr()}}},[]),pn=Ce(async()=>{let C=pa();C&&(await $o(C),await B())},[pa,B]);Me(()=>{if(s&&A&&!(O==="submitted"||O==="streaming")&&K.length!==0)return b.current&&clearTimeout(b.current),b.current=setTimeout(()=>{b.current=void 0;let C=pn().finally(()=>{H.current===C&&(H.current=void 0)});H.current=C},lh),()=>{b.current&&clearTimeout(b.current)}},[s,A,K,O,pn]);let ma=Ce(()=>{let C=H.current,E=b.current,U=E?pa():void 0;return E&&(clearTimeout(E),b.current=void 0),(async()=>{C&&await C,U&&(await $o(U),await B())})()},[pa,B]),Su=Ce(()=>{G.current+=1,ma(),W([]),M([]),_(),te("");let C=El();return F.current=Lr(),P.current=void 0,D(C),B(),C},[W,_,D,B,ma]),Mr=Ce(async C=>{G.current+=1;let E=G.current;if(await ma(),E!==G.current)return;let U=await Ir(C);E===G.current&&U&&(U.sessionId?(g.current=U.sessionId,w(U.sessionId)):_(),D(U.threadId),F.current=U.createdAt,P.current=U.title,W(U.messages),M([]),te(""))},[W,_,D,ma]),yu=Ce(async C=>{if(y.current===C){G.current+=1,b.current&&(clearTimeout(b.current),b.current=void 0);let E=H.current;E&&await E}await Al(C),await B(),y.current===C&&(W([]),M([]),_(),te(""),y.current=void 0,x(void 0),F.current=void 0,P.current=void 0)},[W,_,B]);Me(()=>{s&&A&&i!==void 0&&i!==y.current&&Mr(i)},[i,s,A,Mr]);let bu=Ce(C=>{te(C.target.value)},[]),mn=K[K.length-1],hn=K.length>0,ku=N&&(!hn||mn.role==="user"),Tu=ne.current;return{messages:K,status:O,text:ie,setText:te,handleSubmit:ze,handleTextChange:bu,isLoading:N,showLoaderBubble:ku,lastMessage:mn,hasMessages:hn,sendMessage:se,sendMessageAndWait:ht,reset:Rr,queuedMessages:xe,queueFull:Fe,removeQueuedMessage:Z,sessionId:I,toolDefinitions:Tu,refreshToolDefinitions:de,threads:T,activeThreadId:h,isThreadHistoryReady:A,startNewThread:Su,switchThread:Mr,deleteThread:yu}}import{useEffect as _l,useRef as ch,useState as fh}from"react";var ph={debug:!1,eval:!1};function Ol(e="/api/waniwani",t,a=!1){let[r,o]=fh(ph),n=ch(t);return _l(()=>{n.current=t},[t]),_l(()=>{a||(async()=>{try{let s=n.current,l=await(await fetch(et(e,"/config"),{headers:s?{...s}:void 0})).json();o({debug:l.debug===!0,eval:l.eval===!0})}catch{}})()},[e,a]),r}import{useCallback as wh,useEffect as Jo,useRef as xh,useState as Hl}from"react";var ua=["channel","page","flow","followup"];var Qo="waniwani/suggestions";function Pt(e){return typeof e=="object"&&e!==null}function Nl(e){return Array.isArray(e)&&e.every(t=>typeof t=="string")}function mh(e){if(!Pt(e)||!("toolCallId"in e)||!("output"in e))return null;let t=e.output;if(!Pt(t)||!Pt(t._meta))return null;let a=t._meta[Qo];return!Pt(a)||!Nl(a.suggestions)?null:a.suggestions}function hh(e){let t=null;for(let a of e.parts){let r=mh(a);r!==null&&(t=r.length>0?r:null)}return t}function gh(e){for(let t of e.parts){if(!Pt(t)||t.type!=="data-suggestions")continue;let a=t.data;if(Pt(a)&&Nl(a.suggestions)&&a.suggestions.length>0)return a.suggestions}return null}function Ul(e,t={}){let{includeFlow:a=!0}=t,r=a?hh(e):null;if(r)return{suggestions:r,source:"flow"};let o=gh(e);return o?{suggestions:o,source:"followup"}:null}function ql(e){return typeof e=="object"&&e!==null}var Gl=["channel","page","followup"];function Ih(e){if(e===!1)return[];if(e===!0)return[...ua];if(ql(e)){if(e.origins!==void 0)return e.origins;if(e.dynamic===!0)return[...ua];if(e.dynamic===!1)return[]}return[...Gl]}function Wl(e){let{suggestions:t,suggestionOrigins:a}=e;if(!(!t&&a===void 0))return{initial:t,origins:a}}function Sr(e){let{messages:t,status:a,config:r}=e,o=ql(r)&&r.initial?r.initial:void 0,[n,s]=Hl(o??[]),[i,l]=Hl("channel"),u=xh(a),c=Ih(r),d=c.includes("flow"),f=c.includes("followup"),p=wh(()=>{s([])},[]),m=t.length>0;Jo(()=>{m||(s(o??[]),l("channel"))},[o,m]);let L=t[t.length-1];return Jo(()=>{L?.role==="user"&&p()},[L,p]),Jo(()=>{let I=u.current;if(u.current=a,I==="streaming"&&a==="ready"&&(d||f)){let w=[...t].reverse().find(x=>x.role==="assistant");if(!w)return;let g=Ul(w,{includeFlow:d}),h=g&&(g.source==="flow"&&d||g.source==="followup"&&f);s(h?g.suggestions:[]),l(h?g.source:"channel")}},[a,d,f,t]),{suggestions:n,source:i,isLoading:!1,clear:p}}import{useEffect as Lh,useRef as Ch,useState as Sh}from"react";var yh=80,bh=50,kh=15e3,Vl=500;function yr(e,t=!0){let[a,r]=Sh(""),o=Ch(void 0);return Lh(()=>{if(!t){r("");return}let n=0,s=!1,i=!1,l=()=>{i||(s?(n--,r(e.slice(0,n)),n<=0?(s=!1,o.current=setTimeout(l,Vl)):o.current=setTimeout(l,bh)):(n++,r(e.slice(0,n)),n>=e.length?(s=!0,o.current=setTimeout(l,kh)):o.current=setTimeout(l,yh)))};return o.current=setTimeout(l,Vl),()=>{i=!0,clearTimeout(o.current)}},[e,t]),a}function br(e,t){let a=t?.Authorization,r=typeof a=="string"&&a.startsWith("Bearer ")?a.slice(7):null;return et(e,"/resource",r?{token:r}:void 0)}var zl={primaryColor:"#6366f1",primaryForeground:"#1f2937",backgroundColor:"#ffffff",textColor:"#1f2937",mutedColor:"#6b7280",borderColor:"#e5e7eb",borderWidth:0,boxShadow:"none",assistantBubbleColor:"#f3f4f6",userBubbleColor:"#f4f4f4",inputBackgroundColor:"#f9fafb",borderRadius:16,messageBorderRadius:8,fontFamily:"system-ui, -apple-system, 'Segoe UI', sans-serif",headerBackgroundColor:"#ffffff",headerTextColor:"#1f2937",statusColor:"#22c55e",toolCardColor:"#f4f4f5",userBubbleTextColor:"#1f2937",assistantBubbleTextColor:"#1f2937",messagePaddingX:16,messagePaddingY:12,messageMaxWidth:"80%",fontSize:16,lineHeight:"1.5"},Th={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",userBubbleTextColor:"#ffffff",assistantBubbleTextColor:"#ececec"},vh={primaryColor:["--ww-primary","--ww-color-primary"],primaryForeground:["--ww-primary-fg","--ww-color-primary-foreground"],backgroundColor:["--ww-bg","--ww-color-background"],textColor:["--ww-text","--ww-color-foreground","--ww-color-accent-foreground"],mutedColor:["--ww-muted","--ww-color-muted-foreground"],borderColor:["--ww-border","--ww-color-border"],borderWidth:["--ww-border-width"],boxShadow:["--ww-shadow"],assistantBubbleColor:["--ww-assistant-bubble","--ww-color-accent"],userBubbleColor:["--ww-user-bubble"],inputBackgroundColor:["--ww-input-bg","--ww-color-input"],borderRadius:["--ww-radius"],messageBorderRadius:["--ww-msg-radius"],fontFamily:["--ww-font"],headerBackgroundColor:["--ww-header-bg"],headerTextColor:["--ww-header-text"],statusColor:["--ww-status"],toolCardColor:["--ww-tool-card","--ww-color-tool-card"],userBubbleTextColor:["--ww-user-bubble-text"],assistantBubbleTextColor:["--ww-assistant-bubble-text"],messagePaddingX:["--ww-msg-pad-x"],messagePaddingY:["--ww-msg-pad-y"],messageMaxWidth:["--ww-msg-max-width"],fontSize:["--ww-font-size"],lineHeight:["--ww-line-height"]};function Yo(e){return{...zl,...e}}function da(e){let t={};for(let[a,r]of Object.entries(vh)){let o=e[a];if(o===void 0)continue;let n=typeof o=="number"?`${o}px`:String(o);for(let s of r)t[s]=n}return t}import{jsx as Se,jsxs as ca}from"react/jsx-runtime";var Mh=Ph(function(t,a){let{theme:r,title:o="Assistant",width:n,height:s,className:i,allowAttachments:l=!1,welcomeMessage:u,welcome:c,placeholder:d="Ask me anything...",triggerEvent:f="triggerDemoRequest",api:p,debug:m,enableThreadHistory:L=!1,showToolCalls:I=!0}=t,w=p??"/api/waniwani",g=br(w,t.headers),h=Yo(r),x=da(r??{}),y=h.backgroundColor.replace("#",""),T=parseInt(y.substring(0,2),16),v=parseInt(y.substring(2,4),16),A=parseInt(y.substring(4,6),16),R=(T*299+v*587+A*114)/1e3<128,F=Ol(w,t.headers,t.skipRemoteConfig),P=m??F.debug,b=Cr({...t,api:w}),H=pr({...t,api:w,sessionId:b.sessionId}),G=yr(d,!b.text),[S,D]=$l(!1),[B,Te]=$l(null),we=jl(null),_=jl(void 0),me=Zo(()=>{let V=we.current;if(!V)return;V.scrollIntoView({behavior:"smooth",block:"center"});let $=V.querySelector("textarea");$&&setTimeout(()=>$.focus(),300),D(!0),clearTimeout(_.current),_.current=setTimeout(()=>D(!1),2e3)},[]),oe=Sr({messages:b.messages,status:b.status,config:t.suggestions}),ye=Zo(V=>{let $=V.content.map(ve=>ve.text??"").join("").trim();$&&b.handleSubmit({text:$,files:[],modelContext:V.modelContext})},[b.handleSubmit]),ne=Zo(V=>{oe.clear(),b.handleSubmit({text:V,files:[]})},[oe.clear,b.handleSubmit]);return Rh(a,()=>({sendMessage:V=>{b.handleSubmit({text:V,files:[]}),me()},sendMessageAndWait:V=>b.sendMessageAndWait(V),reset:b.reset,focus:me,get messages(){return b.messages},get sessionId(){return b.sessionId}}),[b.handleSubmit,b.sendMessageAndWait,b.reset,b.messages,b.sessionId,me]),Ah(()=>{if(!f)return;let V=$=>{let ve=$.detail,de=typeof ve?.message=="string"?ve.message:void 0;de&&b.handleSubmit({text:de,files:[]}),me()};return window.addEventListener(f,V),()=>window.removeEventListener(f,V)},[f,b.handleSubmit,me]),ca("div",{ref:we,style:{...x,width:n,height:s},"data-waniwani-chat":"","data-waniwani-layout":"card",...R?{"data-waniwani-dark":""}:{},className:k("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",S&&"ww:ring-2 ww:ring-blue-400/70 ww:ring-offset-2 ww:ring-offset-background",i),children:[ca("div",{className:"ww:shrink-0 ww:flex ww:items-center ww:gap-2 ww:px-6 ww:py-3",style:{backgroundColor:h.headerBackgroundColor,color:h.headerTextColor},children:[Se("div",{className:"ww:text-sm ww:font-semibold ww:truncate ww:flex-1 ww:min-w-0",children:o}),Se(is,{messages:b.messages,evalEnabled:F.eval,api:w}),L&&Se(fr,{threads:b.threads,activeThreadId:b.activeThreadId,onNewThread:b.startNewThread,onSelectThread:V=>{b.switchThread(V)},onDeleteThread:V=>{b.deleteThread(V)}})]}),ca(Nn,{className:"ww:flex-1 ww:min-h-0 ww:bg-background",children:[Se(Un,{scrollClassName:B?"ww:!relative ww:!overflow-hidden":void 0,children:Se(lr,{messages:b.messages,status:b.status,welcomeMessage:u,welcome:c,onSuggestionSelect:ne,resourceEndpoint:g,chatSessionId:b.sessionId,isDark:R,onFollowUp:ye,onCallTool:H,fullscreenToolCallId:B,debug:P,showToolCalls:I,toolDefinitions:b.toolDefinitions,onWidgetDisplayModeChange:(V,$)=>{Te(V==="fullscreen"?$.toolCallId:null)}})}),Se(Hn,{})]}),Se("div",{style:B?{display:"none"}:void 0,children:Se(cr,{suggestions:oe.suggestions,isLoading:oe.isLoading,onSelect:ne})}),Se("div",{style:B?{display:"none"}:void 0,children:Se(va,{queuedMessages:b.queuedMessages,onRemove:b.removeQueuedMessage})}),Se("div",{style:B?{display:"none"}:void 0,children:Se("div",{className:"ww:shrink-0 ww:px-4 ww:pb-8 ww:pt-2 ww:bg-background",children:ca("div",{className:"ww:mx-auto ww:w-full ww:max-w-3xl",children:[Se(ya,{onSubmit:b.handleSubmit,globalDrop:l,multiple:l,className:"ww:rounded-2xl ww:border-border ww:bg-input",children:ca("div",{className:"ww:flex ww:items-center ww:gap-1 ww:pl-4 ww:pr-3 ww:py-2.5",children:[l&&Se(Ta,{}),Se(ba,{onChange:b.handleTextChange,value:b.text,placeholder:G,className:"ww:min-h-0 ww:py-1 ww:px-0"}),Se(ka,{status:b.status,disabled:b.queueFull})]})}),Se(ur,{})]})})})]})});import{forwardRef as Kl,useCallback as kr,useEffect as mt,useImperativeHandle as Bh,useRef as fa,useState as Tr}from"react";import{jsx as Fh}from"react/jsx-runtime";function Xl({text:e}){let{t}=z();return e===!1?null:Fh("span",{className:"ww:whitespace-nowrap ww:text-[10px] ww:sm:text-[11px] ww:text-muted-foreground ww:opacity-70",children:e||t.aiDisclaimer.default})}import{jsx as pe,jsxs as tt}from"react/jsx-runtime";var en=Kl(function(t,a){let{locale:r,messages:o}=t;return pe(qr,{locale:r,messages:o,children:pe(Eh,{...t,ref:a})})}),Eh=Kl(function(t,a){let{t:r,ready:o}=z(),{appearance:n,className:s,classNames:i,allowAttachments:l=!1,welcomeMessage:u,welcome:c,placeholder:d=r.promptInput.placeholder,triggerEvent:f="triggerDemoRequest",api:p,mcp:m,debug:L=!1,readOnly:I=!1,title:w,headerActions:g,hideHeader:h=!1,enableThreadHistory:x=!1,showToolCalls:y=!0,initializing:T=!1,disclaimer:v}=t,A=n?.theme,R=n?.variables,F=n?.assistantBubble??!1,P=R?da(R):{},[b,H]=Tr(!1);mt(()=>{if(A!=="auto"||typeof window>"u")return;let M=window.matchMedia("(prefers-color-scheme: dark)");H(M.matches);let N=()=>H(M.matches);return M.addEventListener("change",N),()=>M.removeEventListener("change",N)},[A]);let G=A==="dark"||A==="auto"&&b,S=Cr({...t,api:p}),D=mr(),B=pr({...t,api:p,sessionId:S.sessionId,onCallTool:m?.onCallTool}),Te=m?.resourceEndpoint??br(p,t.headers),we=yr(d,!S.text),[_,me]=Tr(null),[oe,ye]=Tr(null),ne=fa(null),V=fa(null),$=fa(null),ve=fa(null),[de,K]=Tr(!0),se=fa(de);se.current=de;let W=kr(()=>{let M=ne.current;if(!M)return;let N=M.querySelector("textarea");N&&N.focus()},[]),O=kr((M="smooth")=>{let N=V.current;N&&N.scrollTo({top:N.scrollHeight,behavior:M})},[]);mt(()=>{let M=ve.current,N=V.current;if(!M||!N)return;let Z=new IntersectionObserver(([Fe])=>K(Fe.isIntersecting),{root:N,rootMargin:"0px 0px 200px 0px",threshold:0});return Z.observe(M),()=>Z.disconnect()},[]),mt(()=>{let M=V.current;if(!M)return;let N=Z=>{let ze=(Z.target instanceof Element?Z.target:null)?.closest("a");ze?.href&&D.emit({name:"link.clicked",properties:{url:ze.href}})};return M.addEventListener("click",N),()=>M.removeEventListener("click",N)},[D]),mt(()=>{(S.messages[S.messages.length-1]?.role==="user"||se.current)&&O("smooth")},[S.messages.length,S.messages[S.messages.length-1]]),mt(()=>{O("auto")},[O]),mt(()=>{if(typeof ResizeObserver>"u")return;let M=V.current,N=$.current;if(!M&&!N)return;let Z=M?.scrollHeight??0,Fe=M?.clientHeight??0,ze=new ResizeObserver(()=>{let ht=V.current;if(!ht)return;let Rr=ht.scrollTop+Fe>=Z-5;Z=ht.scrollHeight,Fe=ht.clientHeight,Rr&&O("auto")});return M&&ze.observe(M),N&&ze.observe(N),()=>ze.disconnect()},[O]);let q=Sr({messages:S.messages,status:S.status,config:t.suggestions}),Q=kr(M=>{let N=M.content.map(Z=>Z.text??"").join("").trim();N&&S.handleSubmit({text:N,files:[],modelContext:M.modelContext})},[S.handleSubmit]),ie=kr(M=>{let N=q.suggestions.indexOf(M),Z=N>=0?N:c?.suggestions?.indexOf(M)??-1,Fe=N>=0?q.source:"channel";D.emit({name:"suggestion.clicked",properties:{text:M,index:Z,origin:Fe}}),q.clear(),S.handleSubmit({text:M,files:[]})},[q.suggestions,q.source,q.clear,S.handleSubmit,c,D]);Bh(a,()=>({sendMessage:M=>{S.handleSubmit({text:M,files:[]}),W()},sendMessageAndWait:M=>S.sendMessageAndWait(M),reset:S.reset,focus:W,get messages(){return S.messages},get sessionId(){return S.sessionId}}),[S.handleSubmit,S.sendMessageAndWait,S.reset,S.messages,S.sessionId,W]),mt(()=>{if(!f)return;let M=N=>{let Z=N.detail,Fe=typeof Z?.message=="string"?Z.message:void 0;Fe&&S.handleSubmit({text:Fe,files:[]}),W()};return window.addEventListener(f,M),()=>window.removeEventListener(f,M)},[f,S.handleSubmit,W]);let te=!h&&!!(w||x||g),xe=T||!o;return tt("div",{ref:ne,style:{...P,maxHeight:"inherit",..._&&oe?{height:oe}:{},opacity:xe?0:1,transition:"opacity 220ms ease-out"},"data-waniwani-chat":"","data-waniwani-layout":"embed","data-assistant-bubble":F?"true":void 0,"data-color-scheme":A==="auto"?"auto":void 0,...xe?{"data-waniwani-initializing":""}:{},...G?{"data-waniwani-dark":""}:{},className:k("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",A==="dark"&&"dark",s,i?.root),children:[te&&tt("div",{className:k("ww-header ww:shrink-0 ww:flex ww:items-center ww:gap-2 ww:pl-4 ww:pr-3 ww:py-3 ww:border-b ww:border-border",i?.header),style:{backgroundColor:"var(--ww-color-card-header)",color:"var(--ww-color-card-header-foreground)"},children:[w&&pe("div",{className:"ww:text-sm ww:font-semibold ww:truncate ww:flex-1 ww:min-w-0",children:w}),!w&&pe("div",{className:"ww:flex-1"}),x&&pe(fr,{threads:S.threads,activeThreadId:S.activeThreadId,onNewThread:S.startNewThread,onSelectThread:M=>{S.switchThread(M)},onDeleteThread:M=>{S.deleteThread(M)}}),g]}),tt("div",{ref:V,className:k("ww:relative ww:flex-1 ww:min-h-0",_?"ww:overflow-hidden":"ww:overflow-y-auto"),children:[tt("div",{ref:$,className:k("ww:mx-auto ww:w-full ww:max-w-3xl ww:px-4 ww:py-6 ww:flex ww:flex-col ww:gap-6",_&&"ww:!py-0"),children:[pe(lr,{messages:S.messages,status:S.status,welcomeMessage:u,welcome:c,onSuggestionSelect:ie,resourceEndpoint:Te,chatSessionId:S.sessionId,isDark:G,onFollowUp:Q,onCallTool:B,fullscreenToolCallId:_,debug:L,showToolCalls:y,toolDefinitions:S.toolDefinitions,messageClassNames:{message:i?.message,userBubble:i?.userBubble,assistantBubble:i?.assistantBubble},onWidgetDisplayModeChange:(M,N)=>{if(M==="fullscreen"){let Z=ne.current?.getBoundingClientRect().height??0;ye(Z>0?Z:null),me(N.toolCallId)}else ye(null),me(null)}}),pe("div",{ref:ve,"aria-hidden":!0,style:{height:1}})]}),!de&&!_&&pe("div",{className:"ww:sticky ww:bottom-2 ww:flex ww:justify-center ww:pointer-events-none",children:pe(Be,{type:"button",onClick:()=>O("smooth"),size:"icon",variant:"outline",className:"ww:rounded-full ww:shadow ww:pointer-events-auto","aria-label":"Scroll to latest",children:pe(at,{className:"ww:size-4"})})})]}),!I&&tt("div",{className:"ww:shrink-0 ww:bg-background",style:_?{display:"none"}:void 0,children:[pe(cr,{suggestions:q.suggestions,isLoading:q.isLoading,onSelect:ie}),pe(va,{queuedMessages:S.queuedMessages,onRemove:S.removeQueuedMessage}),pe("div",{className:"ww:px-4 ww:pb-2 ww:pt-2",children:tt("div",{className:"ww:mx-auto ww:w-full ww:max-w-3xl",children:[pe(ya,{onSubmit:S.handleSubmit,globalDrop:l,multiple:l,className:k("ww-input ww:rounded-2xl ww:border-border ww:bg-input",i?.input),children:tt("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(ba,{onChange:S.handleTextChange,value:S.text,placeholder:we,className:"ww:min-h-0 ww:py-1 ww:px-0"}),pe(ka,{status:S.status,disabled:S.queueFull})]})}),tt("div",{className:"ww:pt-2 ww:pb-1 ww:flex ww:flex-nowrap ww:justify-center ww:items-center ww:gap-1.5",children:[pe(ur,{}),pe(Xl,{text:v})]})]})})]})]})});import{forwardRef as Sg,useEffect as Ar,useImperativeHandle as yg,useMemo as cn,useRef as fn,useState as Iu}from"react";var Dh="https://app.waniwani.ai/api/mcp/chat",_h={api:Dh};function Oh(){if(typeof document>"u")return null;if(document.currentScript instanceof HTMLScriptElement)return document.currentScript;let e=document.querySelector("script[src][data-token]");if(e instanceof HTMLScriptElement)return e;let t=document.querySelectorAll("script[src]");for(let a of t)if(a instanceof HTMLScriptElement&&/embed/i.test(a.src))return a;return null}function Nh(){let e=Oh();if(!e)return{};let t=P=>e.getAttribute(P)??void 0,a=P=>{let b=e.getAttribute(P);if(b==null)return;let H=b.trim().toLowerCase();if(H==="true"||H==="1"||H==="")return!0;if(H==="false"||H==="0")return!1},r={},o=t("data-api");o&&(r.api=o);let n=t("data-token");n&&(r.token=n);let s=t("data-visitor-id");s&&(r.visitorId=s);let i=t("data-title");i&&(r.title=i);let l=t("data-welcome-message");l&&(r.welcomeMessage=l);let u=t("data-placeholder");u&&(r.placeholder=u);let c=t("data-mcp-server-url");c&&(r.mcpServerUrl=c);let d=t("data-channel-id");if(d&&(r.channelId=d),t("data-show-tool-calls")?.trim().toLowerCase()==="titles-only")r.showToolCalls="titles-only";else{let P=a("data-show-tool-calls");P!==void 0&&(r.showToolCalls=P)}let p=t("data-css");p&&(r.css=p);let m=t("data-suggestions");m&&(r.suggestions=m.split(",").map(P=>P.trim()).filter(Boolean));let L=a("data-enable-thread-history");L!==void 0&&(r.enableThreadHistory=L);let I=e.getAttribute("data-suggestion-origins");I!==null&&(r.suggestionOrigins=I.split(",").map(P=>P.trim()).filter(P=>ua.includes(P)));let w=a("data-disable-page-view");w!==void 0&&(r.disablePageView=w);let g=a("data-hide-header");g!==void 0&&(r.hideHeader=g);let h=t("data-theme");(h==="light"||h==="dark"||h==="auto")&&(r.appearance={...r.appearance,theme:h});let x=a("data-assistant-bubble");x!==void 0&&(r.appearance={...r.appearance,assistantBubble:x});let y=t("data-locale");(y==="en"||y==="fr"||y==="es")&&(r.locale=y);let T=t("data-mode");(T==="inline"||T==="floating")&&(r.mode=T);let v=t("data-height");v&&(r.height=v);let A=t("data-launcher-text");A&&(r.launcherText=A);let R=t("data-appear-delay");if(R!==void 0){let P=Number.parseInt(R.trim(),10);Number.isFinite(P)&&P>=0&&(r.appearDelay=P)}let F=t("data-disclaimer");if(F!==void 0){let P=F.trim(),b=P.toLowerCase();b==="false"||b==="0"?r.disclaimer=!1:P&&(r.disclaimer=P)}return r}function tn(e){if(!e)return{};let t={};for(let a in e)e[a]!==void 0&&(t[a]=e[a]);return t}function an(e,t,a){let r=a??Nh(),o=Uh(t,r,e),n={token:"",..._h,...tn(t),...tn(r),...tn(e),...o?{appearance:o}:{}};if(!n.token)throw new Error("[Waniwani] Missing required config: `token`. Set data-token on the script tag or pass it to Waniwani.chat.init().");return n}function Uh(e,t,a){let r=a?.appearance?.theme??t.appearance?.theme??e?.appearance?.theme,o={...e?.appearance?.variables??{},...t.appearance?.variables??{},...a?.appearance?.variables??{}},n=Object.keys(o).length>0,s=a?.appearance?.assistantBubble??t.appearance?.assistantBubble??e?.appearance?.assistantBubble;if(!r&&!n&&s===void 0)return;let i={};return r&&(i.theme=r),n&&(i.variables=o),s!==void 0&&(i.assistantBubble=s),i}import{useEffect as hk,useState as gk}from"react";function Hh(){if(typeof window>"u")return!1;try{return window.WANIWANI_DEBUG?!0:!!window.localStorage?.getItem("WANIWANI_DEBUG")}catch{return!1}}function vr(...e){Hh()&&console.log("[Waniwani]",...e)}var rn=new Set;function qh(e,t,a){return`${e}|${t}|${a??""}`}function on(e){try{return`${new URL(e).origin}/api/mcp/events/v2/batch`}catch{return e.replace(/\/$/,"").replace(/\/chat$/,"/events/v2/batch")}}async function nn(e){let{api:t,token:a,channelId:r,mode:o,source:n}=e;if(typeof window>"u"||!t||!a)return;let s=qh(t,a,r);if(!rn.has(s)){rn.add(s);try{let i=await la(),l=new Date().toISOString(),u=JSON.stringify({sentAt:l,source:{sdk:"@waniwani/sdk",version:"0.1.0"},events:[{id:crypto.randomUUID(),type:"mcp.event",name:"page.viewed",source:n,timestamp:l,correlation:{visitorId:i.visitorId},properties:{channelId:r,mode:o,url:window.location.href,referrer:i.referrer,deviceType:i.deviceType,language:i.language,timezone:i.timezone},metadata:{}}]});await fetch(on(t),{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${a}`},body:u,keepalive:!0})}catch{rn.delete(s)}}}import{useMemo as uk}from"react";import{useEffect as zh,useSyncExternalStore as jh}from"react";function Gh(e){return e?.patterns??e?.rules??[]}var Ql="\0\0";function Wh(e){let a=e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&").replace(/\\\*\\\*/g,Ql).replace(/\\\*/g,"[^/]*").split(Ql).join(".*");return new RegExp(`^${a}$`)}function Vh(e,t){try{return Wh(e).test(t)}catch{return!1}}function Jl(e,t){if(!e)return!0;let a=!1;for(let r of Gh(e))if(Vh(r.glob,t)){if(r.action==="hide")return!1;a=!0}return a?!0:(e.default??"show")!=="hide"}var sn="waniwani:locationchange",Yl=!1;function $h(){if(!(Yl||typeof history>"u")){Yl=!0;for(let e of["pushState","replaceState"]){let t=history[e];history[e]=function(...r){let o=t.apply(this,r);return window.dispatchEvent(new Event(sn)),o}}}}function Xh(e){return $h(),window.addEventListener(sn,e),window.addEventListener("popstate",e),()=>{window.removeEventListener(sn,e),window.removeEventListener("popstate",e)}}function Kh(){return window.location.pathname}function Qh(){return"/"}function Zl(){return jh(Xh,Kh,Qh)}function eu(e,t){let a=Zl(),r=t&&Jl(e,a);return zh(()=>{vr("visibility gate",{pathname:a,ready:t,visible:r,rules:e})},[a,t,r]),r}function tu(e){return Array.isArray(e)?e.flatMap(t=>{let a=t;if(typeof a?.url!="string"||a.url.length===0||!Array.isArray(a.prompts))return[];let r=a.prompts.flatMap(o=>{let n=o;return typeof n?.text!="string"||n.text.length===0?[]:[{id:typeof n.id=="string"?n.id:null,text:n.text,tier:n.tier==="low"||n.tier==="medium"||n.tier==="high"?n.tier:void 0}]});return r.length>0?[{url:a.url,prompts:r}]:[]}):[]}var Jh="waniwani:config:";function au(e,t,a){return`${Jh}${e}|${t}|${a??""}`}function ln(e,t,a){if(typeof window>"u")return null;try{let r=window.sessionStorage.getItem(au(e,t,a));if(!r)return null;let o=JSON.parse(r);return o&&typeof o=="object"?o:null}catch{return null}}function ru(e,t,a,r){if(!(typeof window>"u"))try{window.sessionStorage.setItem(au(e,t,a),JSON.stringify(r))}catch{}}async function ou(e,t,a,r){try{let o=et(e,"/config",r?{channel:r}:void 0),n=await fetch(o,{method:"GET",headers:{Authorization:`Bearer ${t}`},signal:a});if(!n.ok)return{};let s=await n.json(),i=s&&typeof s=="object"&&"data"in s&&s.data?s.data:s;return i?Yh(i):{}}catch{return{}}}function Yh(e){let t={};e.source!=null&&(t.source=e.source),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);let a=tu(e.pageSuggestions);return a.length>0&&(t.pageSuggestions=a),typeof e.enableThreadHistory=="boolean"&&(t.enableThreadHistory=e.enableThreadHistory),e.toolCallDisplay==="full"?t.showToolCalls=!0:e.toolCallDisplay==="titles-only"?t.showToolCalls="titles-only":e.toolCallDisplay==="hidden"&&(t.showToolCalls=!1),e.visibility&&(t.visibility=e.visibility),t}function At(e,t){for(let a of t){let r=e[a];if(typeof r=="string"&&r.length>0)return r}}var Zh=["waniwani/sessionId","openai/sessionId","openai/session","sessionId","conversationId","mcp-session-id"],eg=["waniwani/requestId","openai/requestId","requestId","mcp/requestId"],tg=["waniwani/traceId","openai/traceId","traceId","mcp/traceId","openai/requestId","requestId"],ag=["waniwani/userId","openai/userId","externalUserId","userId","actorId"],rg=["waniwani/visitorId","visitorId"],og=["correlationId","openai/requestId"];function nu(e){return e?At(e,Zh):void 0}function su(e){return e?At(e,eg):void 0}function iu(e){return e?At(e,tg):void 0}function lu(e){return e?At(e,ag):void 0}function uu(e){return e?At(e,rg):void 0}function du(e){return e?At(e,og):void 0}var ng=[{key:"openai/sessionId",source:"chatgpt"},{key:"openai/session",source:"chatgpt"}],sg=[{needle:"claude",source:"claude"},{needle:"chatgpt",source:"chatgpt"},{needle:"openai",source:"chatgpt"},{needle:"gemini",source:"gemini"}];function cu(e,t){if(e){let r=e["waniwani/source"];if(typeof r=="string"&&r.length>0)return r;for(let{key:o,source:n}of ng){let s=e[o];if(typeof s=="string"&&s.length>0)return n}}let a=t?.name;if(typeof a=="string"&&a.length>0){let r=a.toLowerCase();for(let{needle:o,source:n}of sg)if(r.includes(o))return n}}var ig="@waniwani/sdk";function fu(e,t={}){let a=t.now??(()=>new Date),r=t.generateId??lg,o=cg(e),n=Pr(e.meta),s=Pr(e.metadata),i=fg(e,n),l=Ne(e.eventId)??r(),u=pg(e.timestamp,a),c=Ne(e.source)??cu(n)??t.source??ig,d=un(e)?{...e}:void 0,f={...s};return Object.keys(n).length>0&&(f.meta=n),d&&(f.rawLegacy=d),{id:l,type:"mcp.event",name:o,source:c,timestamp:u,correlation:i,properties:ug(e,o),metadata:f,rawLegacy:d}}function lg(){return typeof crypto<"u"&&typeof crypto.randomUUID=="function"?`evt_${crypto.randomUUID()}`:`evt_${Math.random().toString(36).slice(2,10)}_${Date.now().toString(36)}`}function ug(e,t){if(!un(e))return Pr(e.properties);let a=dg(e,t),r=Pr(e.properties);return{...a,...r}}function dg(e,t){switch(t){case"tool.called":{let a={};return Ne(e.toolName)&&(a.name=e.toolName),Ne(e.toolType)&&(a.type=e.toolType),a}case"link.clicked":{let a={};return Ne(e.linkUrl)&&(a.url=e.linkUrl),a}default:return{}}}function cg(e){return un(e)?e.eventType:e.event}function fg(e,t){let a=Ne(e.requestId)??su(t),r=Ne(e.sessionId)??nu(t),o=Ne(e.traceId)??iu(t),n=Ne(e.externalUserId)??lu(t),s=Ne(e.visitorId)??uu(t),i=Ne(e.correlationId)??du(t)??a,l={};return r&&(l.sessionId=r),o&&(l.traceId=o),a&&(l.requestId=a),i&&(l.correlationId=i),n&&(l.externalUserId=n),s&&(l.visitorId=s),l}function pg(e,t){if(e instanceof Date)return e.toISOString();if(typeof e=="string"){let a=new Date(e);if(!Number.isNaN(a.getTime()))return a.toISOString()}return t().toISOString()}function Pr(e){return!e||typeof e!="object"||Array.isArray(e)?{}:e}function Ne(e){if(typeof e=="string"&&e.trim().length!==0)return e}function un(e){return"eventType"in e}function pu(e){return{priceShown:({amount:t,currency:a,itemId:r,label:o,...n})=>e({event:"price_shown",properties:{amount:t,currency:a,itemId:r,label:o},...n}),pricesCompared:({options:t,...a})=>e({event:"prices_compared",properties:{options:t},...a}),optionSelected:({id:t,amount:a,currency:r,...o})=>e({event:"option_selected",properties:{id:t,amount:a,currency:r},...o}),leadQualified:t=>{let{externalId:a,email:r,name:o,...n}=t??{};return e({event:"lead_qualified",properties:{externalId:a,email:r,name:o},...n})},converted:({amount:t,currency:a,occurredAt:r,...o})=>e({event:"converted",properties:{amount:t,currency:a,occurredAt:r},...o})}}var mg="/api/mcp/events/v2/batch";var mu="@waniwani/sdk";var hg=new Set([401,403]),gg=new Set([408,425,429,500,502,503,504]);function hu(e){return new dn(e)}var dn=class{endpointUrl;flushIntervalMs;maxBatchSize;maxBufferSize;maxRetries;retryBaseDelayMs;retryMaxDelayMs;shutdownTimeoutMs;sdkVersion;fetchFn;logger;now;sleep;apiKey;buffer=[];flushTimer;flushScheduled=!1;flushScheduledTimer;flushInFlight;inFlightCount=0;isStopped=!1;isShuttingDown=!1;constructor(t){this.endpointUrl=Ig(t.apiUrl,t.endpointPath??mg),this.flushIntervalMs=t.flushIntervalMs??1e3,this.maxBatchSize=t.maxBatchSize??20,this.maxBufferSize=t.maxBufferSize??1e3,this.maxRetries=t.maxRetries??3,this.retryBaseDelayMs=t.retryBaseDelayMs??200,this.retryMaxDelayMs=t.retryMaxDelayMs??2e3,this.shutdownTimeoutMs=t.shutdownTimeoutMs??2e3,this.fetchFn=t.fetchFn??fetch,this.logger=t.logger??console,this.now=t.now??(()=>new Date),this.sleep=t.sleep??(a=>new Promise(r=>setTimeout(r,a))),this.apiKey=t.apiKey,this.sdkVersion=t.sdkVersion,this.flushIntervalMs>0&&(this.flushTimer=setInterval(()=>{this.flush()},this.flushIntervalMs)),this.registerBrowserTeardown()}enqueue(t){if(this.isStopped||this.isShuttingDown){this.logger.warn("[Waniwani] Tracking transport is stopped, dropping event %s",t.id);return}if(this.buffer.length>=this.maxBufferSize){let a=this.buffer.length-this.maxBufferSize+1;this.buffer.splice(0,a),this.logger.warn("[Waniwani] Tracking buffer overflow, dropped %d oldest event(s)",a)}if(this.buffer.push(t),this.buffer.length>=this.maxBatchSize){this.flush();return}this.scheduleMicroFlush()}pendingEvents(){return this.buffer.length+this.inFlightCount}async flush(){return this.flushInFlight?this.flushInFlight:(this.flushInFlight=this.flushLoop().finally(()=>{this.flushInFlight=void 0}),this.flushInFlight)}async shutdown(t){this.isShuttingDown=!0,this.flushTimer&&(clearInterval(this.flushTimer),this.flushTimer=void 0),this.flushScheduledTimer&&(clearTimeout(this.flushScheduledTimer),this.flushScheduledTimer=void 0,this.flushScheduled=!1);let a=t?.timeoutMs??this.shutdownTimeoutMs,r=this.flush();if(!Number.isFinite(a)||a<=0)return await r,this.isStopped=!0,{timedOut:!1,pendingEvents:this.pendingEvents()};let o=Symbol("shutdown-timeout");return await Promise.race([r.then(()=>"flushed"),this.sleep(a).then(()=>o)])===o?(this.isStopped=!0,{timedOut:!0,pendingEvents:this.pendingEvents()}):(this.isStopped=!0,{timedOut:!1,pendingEvents:this.pendingEvents()})}registerBrowserTeardown(){if(typeof document>"u"||typeof window>"u")return;let t=()=>{document.visibilityState==="hidden"&&this.keepaliveFlush()};document.addEventListener("visibilitychange",t),window.addEventListener("pagehide",()=>this.keepaliveFlush())}keepaliveFlush(){if(this.isStopped||this.buffer.length===0)return;let t=this.buffer.splice(0,this.buffer.length);this.sendKeepaliveChunk(t)}sendKeepaliveChunk(t){let a=JSON.stringify(this.makeBatchRequest(t));if(a.length>6e4&&t.length>1){let r=Math.ceil(t.length/2);this.sendKeepaliveChunk(t.slice(0,r)),this.sendKeepaliveChunk(t.slice(r));return}try{this.fetchFn(this.endpointUrl,{method:"POST",headers:this.requestHeaders(),body:a,keepalive:!0}).catch(()=>{})}catch{}}requestHeaders(){let t={"Content-Type":"application/json","X-WaniWani-SDK":mu};return this.apiKey&&(t.Authorization=`Bearer ${this.apiKey}`),t}scheduleMicroFlush(){this.flushScheduled||(this.flushScheduled=!0,this.flushScheduledTimer=setTimeout(()=>{this.flushScheduledTimer=void 0,this.flushScheduled=!1,this.flush()},0))}async flushLoop(){for(;this.buffer.length>0&&!this.isStopped;){let t=this.buffer.splice(0,this.maxBatchSize);await this.sendBatchWithRetry(t)}}async sendBatchWithRetry(t){let a=0,r=t;for(;r.length>0&&!this.isStopped;){this.inFlightCount=r.length;let o=await this.sendBatchOnce(r);switch(this.inFlightCount=0,o.kind){case"success":return;case"auth":this.stopTransportForAuthFailure(o.status,r.length);return;case"permanent":this.logger.error("[Waniwani] Dropping %d event(s) after permanent failure: %s",r.length,o.reason);return;case"retryable":if(a>=this.maxRetries){this.logger.error("[Waniwani] Dropping %d event(s) after retry exhaustion: %s",r.length,o.reason);return}await this.sleep(this.backoffDelayMs(a)),a+=1;continue;case"partial":if(o.permanent.length>0&&this.logger.error("[Waniwani] Dropping %d event(s) rejected as permanent",o.permanent.length),o.retryable.length===0)return;if(a>=this.maxRetries){this.logger.error("[Waniwani] Dropping %d retryable event(s) after retry exhaustion",o.retryable.length);return}r=o.retryable,await this.sleep(this.backoffDelayMs(a)),a+=1;continue}}}async sendBatchOnce(t){let a;try{a=await this.fetchFn(this.endpointUrl,{method:"POST",headers:this.requestHeaders(),body:JSON.stringify(this.makeBatchRequest(t))})}catch(n){return{kind:"retryable",reason:Lg(n)}}if(hg.has(a.status))return{kind:"auth",status:a.status};if(gg.has(a.status))return{kind:"retryable",reason:`HTTP ${a.status}`};if(!a.ok)return{kind:"permanent",reason:`HTTP ${a.status}`};let r=await xg(a);if(!r?.rejected||r.rejected.length===0)return{kind:"success"};let o=this.classifyRejectedEvents(t,r.rejected);return o.retryable.length===0&&o.permanent.length===0?{kind:"success"}:{kind:"partial",retryable:o.retryable,permanent:o.permanent}}makeBatchRequest(t){return{sentAt:this.now().toISOString(),source:{sdk:mu,version:this.sdkVersion??"0.0.0"},events:t}}classifyRejectedEvents(t,a){let r=new Map(t.map(s=>[s.id,s])),o=[],n=[];for(let s of a){let i=r.get(s.eventId);if(i){if(wg(s)){o.push(i);continue}n.push(i)}}return{retryable:o,permanent:n}}backoffDelayMs(t){let a=this.retryBaseDelayMs*2**t;return Math.min(a,this.retryMaxDelayMs)}stopTransportForAuthFailure(t,a){this.isStopped=!0;let r=this.buffer.length;this.buffer.splice(0,r),this.logger.error("[Waniwani] Auth failure (HTTP %d). Stopping tracking transport and dropping %d queued event(s)",t,a+r)}};function wg(e){if(e.retryable===!0)return!0;let t=e.code.toLowerCase();return t.includes("timeout")||t.includes("temporary")||t.includes("unavailable")||t.includes("rate_limit")||t.includes("transient")||t.includes("server")}async function xg(e){let t=await e.text();if(t)try{return JSON.parse(t)}catch{return}}function Ig(e,t){let a=e.endsWith("/")?e:`${e}/`,r=t.startsWith("/")?t.slice(1):t;return`${a}${r}`}function Lg(e){return e instanceof Error?e.message:String(e)}function gu(e){let{apiUrl:t,endpointPath:a}=Cg(e.endpoint),r=hu({apiUrl:t,apiKey:e.token,endpointPath:a,flushIntervalMs:e.flushIntervalMs}),o,n=i=>typeof i=="function"?i():i,s=async i=>{let l=e.identity?.()??{},u=n(e.channelId),c=u===void 0?i.properties:{channelId:u,...i.properties},d=fu({sessionId:l.sessionId,visitorId:l.visitorId,externalUserId:l.externalUserId??o,traceId:l.traceId,...i,properties:c,metadata:{...e.metadata,...i.metadata}},{source:n(e.source)});return r.enqueue(d),{eventId:d.id}};return{track:Object.assign(s,pu(s)),identify(i,l){return o=i,s({event:"user.identified",externalUserId:i,properties:l})},flush:()=>r.flush(),shutdown:i=>r.shutdown(i)}}function Cg(e){let t=new URL(e);return{apiUrl:t.origin,endpointPath:`${t.pathname}${t.search}`}}function wu(e){return gu({endpoint:on(e.api),token:e.token,channelId:e.channelId,source:e.getSource,identity:()=>({sessionId:e.getSessionId(),visitorId:vt()})})}function xu(e){let t=!1,a=async()=>(t||(t=!0,console.warn(`[Waniwani] track() is disabled: ${e}`)),{eventId:""});return{track:Object.assign(a,{priceShown:a,pricesCompared:a,optionSelected:a,leadQualified:a,converted:a}),identify:a,flush:async()=>{},shutdown:async()=>({timedOut:!1,pendingEvents:0})}}import{jsx as Cu}from"react/jsx-runtime";var bg=600,Lu="https://app.waniwani.ai/api/mcp/chat",kg=Sg(function(t,a){let{token:r,channelId:o,className:n,visitorId:s,overrides:i,onEvent:l}=t,u=fn(null),c=fn(null),d=cn(()=>Ll({mode:"inline",getSessionId:()=>u.current?.sessionId}),[]);Ar(()=>{if(l)return d.subscribe(l)},[l,d]);let f=cn(()=>({token:r,channelId:o,api:i?.api,mcpServerUrl:i?.mcpServerUrl,title:i?.title,hideHeader:i?.hideHeader,welcomeMessage:i?.welcomeMessage,placeholder:i?.placeholder,suggestions:i?.suggestions,suggestionOrigins:i?.suggestionOrigins,enableThreadHistory:i?.enableThreadHistory,showToolCalls:i?.showToolCalls,appearance:i?.appearance,disclaimer:i?.disclaimer,locale:i?.locale}),[r,o,i?.api,i?.mcpServerUrl,i?.title,i?.hideHeader,i?.welcomeMessage,i?.placeholder,i?.suggestions,i?.suggestionOrigins,i?.enableThreadHistory,i?.showToolCalls,i?.appearance,i?.disclaimer,i?.locale]),p=i?.api??Lu,[m,L]=Iu({}),[I,w]=Iu(!1),g=fn(!1);Ar(()=>{I&&!g.current&&(g.current=!0,d.emit({name:"chat.ready"}))},[I,d]);let h=i?.disablePageView;Ar(()=>{if(!r){w(!0);return}let v=P=>{h||nn({api:p,token:r,channelId:o,mode:"inline",source:P})},A=ln(p,r,o);A&&(L(A),w(!0),v(A.source));let R=new AbortController,F=setTimeout(()=>w(!0),bg);return ou(p,r,R.signal,o).then(P=>{R.signal.aborted||(Object.keys(P).length>0&&(ru(p,r,o,P),L(P)),w(!0),v(P.source))}).catch(P=>{console.error("[Waniwani] Remote config fetch failed:",P),w(!0)}).finally(()=>clearTimeout(F)),()=>{R.abort(),clearTimeout(F)}},[p,r,o,h]);let x=cn(()=>an(f,m,void 0),[f,m]);Ar(()=>{if(!r)return;let v=wu({api:p,token:r,channelId:o,getSource:()=>ln(p,r,o)?.source??void 0,getSessionId:()=>u.current?.sessionId});return c.current=v,()=>{c.current=null,v.shutdown()}},[p,r,o]),yg(a,()=>{let v=()=>c.current??xu("no public token configured"),A=Object.assign(R=>v().track(R),{priceShown:R=>v().track.priceShown(R),pricesCompared:R=>v().track.pricesCompared(R),optionSelected:R=>v().track.optionSelected(R),leadQualified:R=>v().track.leadQualified(R),converted:R=>v().track.converted(R)});return{sendMessage:R=>u.current?.sendMessage(R),sendMessageAndWait:R=>u.current?u.current.sendMessageAndWait(R):Promise.resolve(void 0),reset:()=>u.current?.reset(),focus:()=>u.current?.focus(),get messages(){return u.current?.messages??[]},get sessionId(){return u.current?.sessionId},track:A,identify:(R,F)=>v().identify(R,F)}},[]);let y=eu(x.visibility,I),T={mode:"inline"};return x.mcpServerUrl&&(T.mcpServerUrl=x.mcpServerUrl),x.channelId&&(T.channelId=x.channelId),y?Cu(yl,{value:d,children:Cu(en,{ref:u,api:x.api??Lu,headers:{Authorization:`Bearer ${x.token}`},visitorId:s,skipRemoteConfig:!0,body:T,appearance:x.appearance,classNames:i?.classNames,title:x.title,hideHeader:x.hideHeader,welcomeMessage:x.welcomeMessage,welcome:i?.welcome,placeholder:x.placeholder,suggestions:Wl({suggestions:x.suggestions,suggestionOrigins:x.suggestionOrigins}),enableThreadHistory:x.enableThreadHistory,showToolCalls:x.showToolCalls,disclaimer:x.disclaimer,allowAttachments:i?.allowAttachments,locale:x.locale,messages:i?.messages,className:n,initializing:!I})}):null});export{Mh as ChatCard,en as ChatEmbed,Th as DARK_THEME,zl as DEFAULT_THEME,Uo as McpAppFrame,kg as WaniwaniChat,Yo as mergeTheme,da as themeToCSSProperties};
17
17
  /*! Bundled license information:
18
18
 
19
19
  lucide-react/dist/esm/shared/src/utils/mergeClasses.js: